reverse engineered

Dual Boot, Dual MAC

My desktop machine runs a Linux/Windows dual boot. It runs Linux 90% of the time, with Windows only used for playing games. Rather than have to remember which operating system is running at the time, I decided to forcibly make Windows use a different MAC address. This means that I can now assign each machine a different hostname in DNS. Checking which operating system is running is now as simple as pinging the hostname corresponding to the operating system. Read more →

Monitor Sleep on Screen Lock

I lock my screen when I know I’m popping away from the computer for a few minutes. It therefore makes sense to place the screen(s) in sleep mode while I’m away. On Linux, I use this handy script from a fellow called Marco. I’ve packaged it up for Debian and Ubuntu users to make it easier to install, and can be downloaded from here. On Windows, I use this little program from a fellow called Kevin. Read more →

USBasp Windows 7 x64

USBasp is an open source USB in-circuit programmer for Atmel AVR microcontrollers. The last time the USBasp website was updated, no support was available in Windows 7 x64. This was due to Windows 7 x64 requiring a digital signature for all drivers. Things have since changed, and the most recent build of libusb-win32 runs flawlessly on Windows 7 x64. This enables the USBasp to communicate with the computer. avrdude is the software used to communicate with the AVR microcontroller. Read more →

Interfacing foobar2000 with LCD Smartie

If you use a LCD display on Windows, you are probably using LCD Smartie to control it. Unfortunately, LCD Smartie currently provides no easy way to interface with the latest versions of foobar2000. There were a few tricks you could do in the past which worked well, but most of these have died as versions changed and plugins were no longer updated. However, what does still work is emulating a Winamp API by using foo_vis_shpeck. Read more →


SSH is a method of connecting two computers securely. The protocol also supports tunneling of traffic inside the SSH connection. This enables us to setup a secure mini VPN in seconds. I run a SSH server on my router at home, which I use when I’m using internet connections I do not trust, or when I want to access devices behind my firewall. user@client:~$ ssh server-D 1080 Now set your SOCKS proxy to localhost:1080 in your browser: Read more →


I’ve been using Redshift on my Linux machine for a while, and find it great. It reduces the strain on your eyes by adjusting the colour temperature of the screen depending on the time of day. A higher temperature is used during the day when there is natural light, and a lower temperature is used at night when you are using indoor lighting. Redshift calculates when to adjust the temperatures based on your co-ordinates. Read more →

Logitech MX5500 24 Hour LCD Clock

If you have the MX5500 keyboard/mouse set, you will most likely have noticed that you cannot change the time format on the LCD from 12 hour to 24 hour. No option exists in the SetPoint software either. You can however change the clock to 24 hour by editing some config files. Close setpoint.exe and open C:\ProgramData\Logishrd\SetPointP\Devices\Display\400000A\MX5500.xml in a text editor with Administrator Privileges. Edit the lines (line 145 onwards in my version of MX5500. Read more →

NTFS Junction Points

When I moved my boot drive over to a 64GB SSD, I knew I was going to have to keep most of the larger files on my mechanical drive, but I didn’t really want to have some applications running from C:\Program Files and others running from E:\Program Files. I wanted to keep my new SSD setup as close to my previous mechanical primary drive setup. My initial reaction was to try to mount the mechanical drive as a folder within the SSD drive, but this was rather limited. Read more →

Cygwin Ping

If you use Cygwin, you may notice that when you try to use the ping command, you get an error. This is because typing ping in a Cygwin terminal window executes the *nix version of ping rather than the Windows ping. The *nix ping requires low level socket access that is only available when running as an Administrator. Because there is no sudo command in Cygwin, the only way to acquire administrator privileges is to quit your current terminal window and restart it with the privileges. Read more →