Skip to content

Firewire Networking in Linux

Every time I copy data between my desktop and laptop, I think about how it would be faster if my laptop had gigabit ethernet. I have a gigabit switch and an onboard gigabit NIC on my desktop, but the laptop is slow old 100BaseT. However I do this rarely enough that shelling out 30 bucks for a gigabit PC card would be a waste of money (I could buy a NDS game for $30!).

Then it occurs to me that both computers have firewire, and I have a firewire cable. I know you can do networking over firewire, but does it require a special cable? Out of mainline kernel drivers? Nope and nope. It’s this easy:

Continue reading ‘Firewire Networking in Linux’ »

The Joy of C Programming

The assignment was simple – take our implementation of a toy cipher called baby rijndael, and adapt it to do CBC mode. Basically all the hard work was already done.

For some reason I felt the need to do the original assignment in C, which always inspires me to do all sorts of pre-mature optimization. Anyway I decided that my updated program would take arbitrary length inputs from the command line, so I had to start doing string processing – the original program just spit out encryptions and decryptions of some hex numbers. String processing in C is… much more of a pain than in Perl/Python/Ruby/everything except for assembly.

After spending way too much time getting it to work, I had a working program and went on to do the rest of the assignment. This was all done on my 64-bit desktop at home. When I tried running the program on my 32-bit laptop at my office, I got a segfault. To add to the joy of debugging, this is one hour before the assignment is due and during my lunch hour.

Continue reading ‘The Joy of C Programming’ »

Jordan Form

This is happening to thousands of Math graduate students all over the country:

You are taking a Linear Algebra class, and you are expected to be able to find the Jordan form of a matrix on the exams (and probably the qualifier). Your textbook (perhaps “Matrix Analysis” by Horn and Johnson?) describes the form, proves that every complex matrix is similar to a matrix in Jordan form, describes what can be extrapolated about a matrix given its Jordan form, all with detailed proofs. Then it goes on to hand wave about how to find the Jordan form of a matrix, and extrapolating the algorithm from the description takes a degree in re-constructive surgery. Your algebra textbook (Dummit & Foote?) has an even more confusing description.

Continue reading ‘Jordan Form’ »

Recipe Hybridization Experiment #1: Mock Thai Butternut Squash + Lentil Soup

Two great recipes, one pot. Yes, I am a genius.

Mock Thai Butternut Squash

  • 2/3 butternut squash
  • curry powder (I use vata churna)
  • 1 can coconut milk
  • fresh ginger chopped (optional)
  • panir (or tofu)
  • fresh basil chopped (or parsley or cilantro)
  • salt & pepper to taste

Continue reading ‘Recipe Hybridization Experiment #1: Mock Thai Butternut Squash + Lentil Soup’ »

Middle mouse button paste in Firefox

While searching for a “clear location bar” button add-on for Firefox (like in Konqueror) I stumpled upon this thread.

Summary: If you click the middle mouse button in the body of either firefox or konqueror, it will paste whatever is in the x clipboard into the location bar and go there. This really eliminates the need for the clear location bar button. Very useful.

robotfindskittenDS input fix

See Projects page for details, source, and binaries.

Downloading and extracting album art

Album Cover Art Downloader
I use this to download cover art for CDs I’ve ripped. It displays a list of covers that match and let’s you choose the right one. It took a while to find this, as everyone links to the old defunct site which has no link/redirect to the new site.

Note: I have python2.5 installed as the default on my kubuntu feisty box, and this script won’t run under 2.5. If you run into this problem, install python2.4-minimal and run the program with “python2.4 /usr/bin/albumart-qt”.
This is a simple perl script to extract album art embedded in the id3v2 tags of an mp3 file. It’s short and easy to customize for your own needs.

I just downloaded some albums off of Amazon’s MP3 store (using windows xp under kvm – no linux version of the downloader yet), and they don’t provide album art in a separate file. lets me extract the embedded jpeg, and then I run another script to convert it to a small bmp for use with aa rockbox builds.

Kmail Imap delete immediately


This deletes a message immediately (after confirmation) without sending it to the trash.

This is very useful if you have a spam folder that you like to scan for false positives, and then delete everything. It took a good 30 seconds to move a few days of spam messages to the trash. Ctrl+A, Shift+Delete is much better.

Nintendo DS Homebrew

Q: What is DS Homebrew?

A: Read Wikipedia article.

DS Homebrew does not require any modding – just a flash cart where you put custom software and which fits into the DS. It is also perfectly legal – there is some great software, including games, developed by hobbyists and available for free.

Continue reading ‘Nintendo DS Homebrew’ »

HOWTO: Install skype on 64-bit ubuntu

From the ubuntu forums. Worked like a charm with skype 1.4 for feisty, downloaded from Includes instructions for dapper and feisty, both 32 bit and 64 bit.

Now if only changing my sound card capture input to microphone didn’t steal sound from MythTV