Archive for April, 2010

OpenWrt gets Qt SQL Support

Sunday, April 18th, 2010

On US tax day 2010, OpenWrt’s “qt4″ feed got support for MySQL and SQLite. And there was much rejoicing among Qt developers.

A big thanks to Mirko Vogt for porting the build system to OpenWrt and letting me help out with the SQL stuff.

Using scp between Linux and Mac OS X

Sunday, April 11th, 2010

For a while, I haven’t been able to get scp to work between Linux and Mac OS X. This only happened when I used the scp command on my Linux box, with Mac OS X acting as the ssh server. Here’s the symptom:

On Linux:

$ scp user@192.168.1.5:~/Documents/Some/File.txt /tmp/.
Password:
$

It disconnected me after entering my password without transferring the file. In the Gnome File Browser (nautilus), if I tried to connect to the Mac OS X box using ssh:// in the address bar, the gvfsd-sftp process would consume 100% of the CPU until I killed it.

Here’s the solution:

On the Mac OS X computer, in my ~/.bashrc file, I was echo‘ing some text just to say that my .bashrc had been sourced. Removing that echo line fixed the problem and now both the scp command and the Gnome File Browser work just fine.

Maiden Flight of ParkZone Habu

Saturday, April 10th, 2010

After a stress-free build, the ParkZone Habu gave me two stress-free maiden flights. I’ll let the video do all the talking:

Reminder: Don’t Hard Code It

Tuesday, April 6th, 2010

Today’s reminder comes from the “magic number” department, where we remind you to never hard-code a magic number in your software. For example, the value for ETIMEDOUT on Linux can vary depending on your C library. glibc, for example, defines it as 110, but uClibc defines it as 145. This tends to matter when you are using a return value from, for example, libusb, at an important branching point in your software. Of course, this whole exercise is hypothetical. I would never hard code a number like that, of course not.

The upside:
The libusb source code is available for the world to see.

The downside:
The libusb documentation makes no mention of ETIMEDOUT.