dereenigne.org

reverse engineered

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 →

Twitter Geolocation Search

Twitter is a pretty useful tool for finding out about things happening in real time. It turns out that it is also a powerful tool for finding out about things around you. You can use search operators to search for tweets that have been geotagged with location information. For example, to search for tweets within a kilometre of Dublin Airport, use the following search commands in the search box. geocode:53.427392,-6.243681,1km Read more →

Arduino Modbus RTU ADC

Modbus is an industry standard communications protocol for electronic devices. Given that most industrial sensors and meters provide their output by varying the voltage of the output pin between 0-10 Volts, Modbus compatible analog to digital converters are popular devices. Modbus is surprisingly resilient to interference. This is because it is based around the RS-485 standard. RS-485 is essentially a multi-point, balanced, version of RS-232 (which people might recognise as the serial port protocol), which is point-to-point, and unbalanced. Read more →

AppleTV Linux Broadcom BCM4328 Wireless

I have an AppleTV 1.0 running Ubuntu 8.04 Server with an XBMC front end as a HTPC/media streamer. The Broadcom BCM4328 wireless card in the AppleTV is not supported according to the supported devices list of the Broadcom propriety driver, but I’ve managed to get it to work. SSH to your AppleTV and download the 32-bit driver from Broadcom: wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_38.tar.gz Extract that tarball to the current directory: tar -xvzf hybrid-portsrc*. Read more →

VLC CACA ASCII Output

If you are logged into a remote terminal and wish to quickly view the contents of video files, you can use the CACA output module of VLC to view an ASCII version of the video through the terminal. This is handy if you haven’t set up X forwarding, or if X isn’t available. vlc -V caca fileToOpen I’d even recommend doing it just for fun on your local machine. The results are surprisingly good! Read more →

/dev/mem grep

Often it is useful to be able to search the contents of system memory, for example to check if a program you are running stores your password unencrypted in memory. The following command combines dd, strings and grep to search the system memory for character strings, and searches those results for those matching SearchString. Because /dev/mem does not have public read permissions, you must run the command from a root terminal. 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 Bouncing

SSH bouncing is a method of getting end to end encrypted access to hosts behind restrictive firewalls. ssh hostA ‘ssh hostB’ isn’t much good, because it doesn’t provide end to end encryption. All it really does is login to the second host automatically. SSH bouncing tunnels one SSH connection inside the other to create a full connection to the firewalled host. It could also be done with local SSH port forwards, but this method is simpler, and doesn’t require two terminals - one to set up the forward, and the other to SSH to the firewalled host. Read more →

sudo !!

sudo is a method of executing programs on a Linux/Unix machine with the permissions of a different user (usually root). sudo enabled systems generally have the root account disabled, which means it is easy to forget to elevate the privileges of root programs. sudo !! solves this by executing the previous command with root privileges. This doesn’t make much difference for short commands such as shutdown, but for longer commands, this can save a few seconds. Read more →

SSH SOCKS Proxy

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 →