Changing Piwik delimeters

If you wish to change the Piwik delimiters to break away from any treeing of your pages on the action and titles reports, you can use the method described on, but that method doesn’t describe both of the delimiter tags you may wish to apply.

There are two delimiter settings that you may wish to change, which get added to your config.ini.php file under [General]

action_title_category_delimiter = "::"
action_url_category_delimiter = "::"

Leave a comment

Installing Munin on Linux

I read several articles on how to install the Munin monitoring tool for Linux, and they all seem to over-complicate the install, or end up with an install that doesn’t work.

This article will walk you through installing Munin for a local monitor/node setup on Debian 8 64-bit. Tweak it to your liking. This also assumes that you are running as root. Prefix commands with sudo where appropriate.

Start by making sure your system is up to date:

apt-get update
apt-get upgrade

Next, install apache, munin, munin-node, munin-plugins-extra and dependencies.

apt-get install apache2 apache2-utils libcgi-fast-perl libapache2-mod-fcgid munin munin-node munin-plugins-extra

Now, edit the munin config file /etc/munin/apache24.conf

nano /etc/munin/apache24.conf

Change the section as follows:

Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch

Do the same with the section, adding the Options line if it’s not preset.

Now restart both apache and munin-node.

/etc/init.d/apache2 restart
/etc/init.d/munin-node restart

You can now view Munin data at (your-ip)/munin


Leave a comment

Sound not working in Java apps in Ubuntu Linux

I tested Ubuntu 14.04 LTS in VMware. I started with a clean install. I made sure sound was working in the VM, then updated everything using this command:

sudo apt-get update && sudo apt-get upgrade

I then checked Software Updater and found a few more packages that didn’t get updated, and updated them.

I then made a backup of the VM to have a good baseline. I then installed OpenJDK 7 and the icedtea-7-plugin, using the following command:

sudo apt-get install openjdk-7-jre icedtea-7-plugin

I did not have openjdk-6, icedtea 6, or Oracle Java installed. If you do have any of those installed, try removing them to prevent any conflicts.

You can test your Java sound output any trying any Java applet that produces sound, such as this SoundApplet demo. If you don’t hear sound from it, you have an issue. If you have more than 1 sound device, check the other sound device for the sound output. In my case I only had 1 device (through virtualization), but it worked fine.

I also tried AllStar and was able to hear audio from the node announcements just fine, albeit with occasional crackle, perhaps due to the limited resources of the VM. I tried transmitting but did not get a reply from the few nodes I tried.

1 2 3 4 56

If you have something to add, please feel free to comment below.

, , , ,

Leave a comment

Weather Underground forecast data in text display

One of the uses I found for my Raspberry Pi was using it to display weather data. I retrieved the weather data from Weather Underground using their API, parsed it, and displayed it on my RPi’s small LCD. This gave me an always-on view of the weather, which was nifty, and it was done all in bash scripting with a few external programs to parse the data.

This script is very customizable and extensible. You could use it to do any number of weather-related tasks.

I reduced the font size on the LCD to Terminus 6×12 using the following command:

sudo dpkg-reconfigure console-setup

This helped make room for all the forecast data on the tiny LCD. If you are running this on a PC, it’s not necessary.

For the smoothest updates, I have found it ideal to run the script under ‘watch’, as so:

watch ./

I tired doing a ‘while true; do… clear… done’ loop, but the refresh rate was too low and the updates were not smooth.

Here is the script:

UPDATE : This has moved to github, here.

Last updated: 11-21-2015

, , , , ,

Leave a comment

Installing and configuring Samba on Raspberry Pi

If you want your Raspberry Pi to share its files and folders over the network, you want to install and configure Samba.

Start off by installing the basic Samba requirements:

sudo apt-get install samba samba-common-bin

Edit the samba config file

sudo nano /etc/samba/smb.conf

edit the workgroup= line to match your network. workgroup=WORKGROUP is the default and usually fine. It needs to match what your Windows PCs are set to.

only guest=no
create mask=0777
directory mask=0777

Add the pi user to samba. Use the same password for the pi user:

sudo smbpasswd -a pi

It takes about 2 minutes for the changes to take effect, but after this you should have no problem exploring files over the network. Note that some may be owned by root and you may have an issue writing to them.

If you have trouble logging in under Windows (password errors), try using “raspberrypi\pi” (raspberrypi-backslash-pi) as your username (without the quotes)


Leave a comment

Disable screen blanking on Raspberry Pi

sudo nano /boot/cmdline.txt

add the following to the end of the line:



Leave a comment

Setting up the SainSmart WaveShare SpotPear 3.2 inch Raspberry Pi LCD (V3)

I picked this inexpensive LCD up at MicroCenter for my Raspberry Pi, but getting it to work was a bit of a chore.

I wanted to install it onto a Raspberry Pi 2 which is already set up and running some software of mine. Therefore, I wanted to install it in as few steps as possible. Fortunately, WaveShare provides some drivers (but they don’t clearly document the setup process).

Here’s now to set it up:

Do the normal update/upgrade procedure:

sudo apt-get update && sudo apt-get upgrade

Download the correct “LCD-show-*” driver for your version of Raspbian Jessie from the Drivers section of the product page on WaveShare, and transfer it to your Pi, or use the following example commands from your Pi to download it directly:

tar xvzf LCD-show-151020.tar.gz
cd LCD-show/

and run this command to set up the 3.2″ screen. :


Note: You may need to have the SPI interface already turned up via raspi-config before this will work.

Important note: The LCD32-show and LCD-hdmi scripts will overwrite several system files. If you have customized them, or have concerns, you are strongly advised to read through the scripts before running, and consider merging the changes in manually. Here is the list of touched files:

  • /boot/overlays/waveshare*-overlay.dtb
  • /etc/X11/xorg.conf.d/99-calibration.conf
  • /usr/share/X11/xorg.conf.d/99-fbturbo.conf
  • /boot/cmdline.txt
  • /etc/inittab
  • /boot/config.txt

After a few seconds, you Pi will reboot, and the screen should be active. You can refer back to the WaveShare page to see documentation on how to switch to HDMI and back to the LCD.

Follow these steps to download and install xinput_calibrator to calibrate the touchscreen. I noticed that on my panel, the touchscreen does not respond well to input; I suspect I have a defective panel.

sudo apt-get install libx11-dev libxext-dev libxi-dev x11proto-input-dev
sudo make install

Now, following the directions from WaveShare, you can run this command to calibrate the touchscreen:

DISPLAY=:0.0 xinput_calibrator

Refer to WaveShare’s page on how to edit 99-calibration.conf to save the calibration data so it persists over reboots.

Comments are welcome.

Leave a comment

Raspberry Pi heartbeat LED

The Raspberry Pi has two LEDs on the front: One hardwired as a power indicator, and the other is (by default) an SD card activity indicator. This second LED can be changed via software to anything (even a GPIO), but for this, I’m going to show you how to set it as a heartbeat indicator.

sudo su
modprobe ledtrig_heartbeat
echo heartbeat > /sys/class/leds/led0/trigger

The Pi’s led should now start blinking as a heartbeat indicator. If you want to restore the default behavior, you can do so:

echo mmc0 > /sys/class/leds/led0/trigger

That’s all there is to it.

Leave a comment

Synology Antivirus Essential detects PHP.Exploit.CVE_2015_2331-3

Today my DiskStation emailed me about detecting malware in the system files. When I looked at the log, I saw this:

Antivirus Essential detects Php.Exploit.CVE_2015_2331-3 in zip

Antivirus Essential detects Php.Exploit.CVE_2015_2331-3 in zip

It appears this is a false positive in the ClamAV database.

Further reading:

If your Synology reports the same, simply restore the quarantined file, update virus definitions, and re-scan. It should come up clean. If you had configured Antivirus Essential to automatically delete files, you may have to restore the DSM OS to get the file back.


Leave a comment

Plex Media Server not starting on boot on Synology NAS

My Synology NAS would not successfully start Plex Media Server at bootup. I had to go into Package Center after each boot and run it manually.

I reached out to the Plex forums and didn’t get much help. I did eventaully find a fix.

I assumed that the script was failing on boot as it was waiting for some not-yet-ready resource, and would only run after the whatever-resource was ready. It just needed more time to be ready.

copy the “/var/packages/Plex Media Server/scripts/start-stop-status” file somewhere else on your NAS where you can edit it, and make the following edit:

start_plex ()
+  sleep 7
PLEX_PATH=$(/usr/syno/sbin/synoshare --get Plex | grep Path | awk -F[ '{print $2}' | awk -F] '{print $1}')

Save the file, and then copy it back to it’s original location. Reboot.

Plex Media Server should now run on boot successfully.


Leave a comment