Gameduino2 test game

Hello internet, I recently received my Gameduino2 via kickstarter and dreamt up a quick demo – tilting the screen moves the ball around (with realistic-ish physics), and keeping it on the “path” longer earns more points:

This demo doesn’t even touch the Gameduino2’s capabilities – just a fun proof of concept.  Maybe someone can build off of it?

Anyways, code is available at https://github.com/trdenton/gameduino2-ballgame, including a pre-compiled .elf file for the arduino Uno.  I am using the Eclipse Arduino plugin from http://baeyens.it/eclipse, and have included the project files.  It should still work in the arduino IDE if you remove the eclipse project files – Enjoy!

 

Using web browser on one interface when multiple are available

In some cases, you need to connect to a VPN to do remote work. Typically this sets the VPN interface to be the default gateway – and so, all your web traffic/etc will route through your VPN connection. This becomes troublesome if your VPN endpoint wont route out to the web.

For example, I’m ssh-ed into some work servers right now, and need the internet to write this awesome blog post. My VPN endpoint at the office does not route any traffic to the web, by design.

To get around this, first add a static route for the subnet associated with your VPN interface

sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.1

Then, remove the default route that is trying to shove all your http traffic onto the VPN

sudo route del default

Finally, re-create your default interface to specifically route out your LAN’s gateway

sudo route add default gw 192.168.0.0.1

There are probably better ways to configure this – likely, there exists a way to keep the VPN interface from becoming the default gateway – but this is quick and easy 🙂

Mounting a CD from the Linux command line

This is more for my own records than anything else – this is how you mount a CD (or .iso image) from the command line:


mount -t iso9660 /dev/sr0 /mnt #mount a CD/DVD from optical drive
mount -t iso9660 /path/to/file.iso /mnt #mount an .iso file

that is all! Depending on your system, you’ll likely need to use sudo/be root.

Edit: On some distributions (Ubuntu 12.04 server for example), the cdrom device is known as /dev/cdrom instead of /dev/sr0

Rejuvinating an old laptop… with electrical tape

What do you do with a busted laptop?  Many people are quick to throw them away.  Others turn them into FreeNAS boxes, or other useful servers.  For the machine I inherited today, I decided to turn it into an all-in-one style desktop PC.  The screen still worked, it was able to boot windows – the only trouble being that it was in physically rough shape.

 

100_1217
Ouch…

Basically, the screen had become detached from the rest of the machine – but all the cables were still in place for it to function.  After some light tweaking, I was able to get the screen to flip around the body of the laptop and sit flat on the reverse side:

100_1221

But how to keep it in place?  Being impatient and lazy (usually a dangerous combination), I tried my lucking using an entire roll of electrical tape to keep it all together.  Because why not?

100_1225
Partway through the taping

Being that this thing is going to mount against something on the reverse, I removed the keyboard as well.  So it’s not bumping its keys into stuff all the time.

As luck would have it, I had an old monitor stand kicking around – works as a nice little kickstand. Not perfectly stable, but still more solid than I was expecting:

100_1230
Starting to take form…

Now all that’s left is to wipe the old Vista install and put on a fresh OS…

100_1232
Tape starting to lift in the top-right corner, this was later fixed. The answer, of course, was more tape.

A few hours of tinkering, an old laptop, some electrical tape, and a fresh Xubuntu install made for a perfectly good bedroom workstation.  Not bad for one night!

Don’t try this at home

My little Samsung netbook’s power supply died, so I thought I would see if it was an easy fix. Turns out the components are too tightly packed and coated with silicone adhesive-y stuff to easily find what is broken, but I did manage to shoot a video of a 150VDC capacitor discharge:

And that’s why you shouldn’t tinker with power supplies!

Bash aliases for productivity and memorability

A very quick hack that I’ve found very useful over the years – an alias lets you rename a command, a set of commands, etc.

For example, the ALSA command-line volume control interface, alsamixer, is much more memorable as salsamixer:

alias salsamixer='alsamixer'

Just stick that in your ~/.bashrc file, run a source ~/.bashrc (or log out and back in) and you can run the command salsamixer.  Neat, no?

 

Another super handy one for debian/ubuntu/mint users:

alias sagi='sudo apt-get install'

Again, append that to your ~/.bashrc file.  Now, you can install software with 16 less keystrokes:

sagi python-mysqldb

 

Neat, hey?