March 2005 Archives
March 27, 2005

Creating JNI libraries on MacOS X

Apple | Linux

Building JNI libraries is a bit of black magic, especially when you're dealing with different platforms like Linux and MacOS X. I found the following two references very helpful in understanding of how to build and run a JNI library on MacOS X:

Now that I figured out the MacOS X part, I hope the Linux part to be very similar.

Posted by ovidiu at 11:37 PM | Comments (1) |
March 26, 2005

Apple mini as print server

Apple | Cool gadgets

I just got an Apple Mini, it's simply adorable! Installing it was a breeze: I just copied my files and settings from a Powerbook via Firewire. I got the machine to have it act as a server for the printers, to replace an aging HP JetDirect 500x server. But it's so small that I'll probably leave it hooked up to the LCD screen, for my young boy to play games from time to time.

I need to figure out how to make the printers visible to an old Redhat 6.2 laptop, running LPRng. So far I tried the regular LPR settings, but the CUPS server on the mini complains that there's no file being posted for printing. I've also investigated Samba printing, for which I had to enable sharing the printers on samba. I cannot find the exact instructions I followed, but I had to add few lines in /etc/smb.conf, like below:

In the [global] section, add these lines:

  load printers = yes
  printing = cups
  printcap name = cups

Then add a new section, reading like this:

  path = /var/spool/samba
  printable = yes
  public = yes
  guest ok = yes
  writeable = no
  printer admin = root, @admin, @staff

I found these instructions to also be quite helpful in how to set things up so that older Linux systems can access the printers on the server.

Posted by ovidiu at 11:50 PM | Comments (1) |
March 21, 2005

Playing AAC files on slimserver: faad2 problems

Cool gadgets | Linux

The Seagate Barracuda 200Gb hard-disk of my music system decided to die about a week ago. I'm going to send it out to the manufacturer for an exchange, but in the meantime I went out got a Maxtor 250Gb hard-disk instead.

As if this was not painful enough, reinstalling the slimserver software was not as easy as I had expected. After getting Linux and the slimserver software installed, playing AAC files would produce nothing but a disturbing hiss in the speakers. Searching on google for a fix revealed that there might be a problem with different endianess of the bytes being outputted by faad2, the AAC decoding software.

The proposed solution was not pretty: pipe faad2's wav output to lame, which would correctly re-encode the file as mp3. The problem with this solution is that the machine I'm using to serve the music is not beefy, it has only a meager 600MHz Via processor. So I wrote instead a very simple program to swap the order of bytes from stdin and print them out in the correct order at stdout.

Get the program from here, and compile it like this on your machine:

cc -o swab swab.c

Copy the resulting swab binary in /usr/local/bin, or some other location in your path. If you're on linux where mov123 does not exist, carefully comment out all the lines that refer to it in your slimserver's convert.conf file. Then add the following at the end of the file:

mov wav squeezebox *
    [faad] -w -f 2 $FILE$ | swab

The above did the trick for me, and I'm again a happy squeezebox user!

Posted by ovidiu at 06:44 PM | Comments (5) |
March 05, 2005

Motorola DCT 6412 from Comcast


Yesterday I received the Motorola DCT 6412 DVR from Comcast. I decided to wait few months until the fix the numerous problems people reported with them. Up until firmware version 9.15, people were complaining about numerous lock-ups while the box was recording.

This particular model has dual tuners, so you can watch a TV show while another one is recording, or you can record two TV shows at once. The recordings don't skip commercials, but I don't find this to be a major problem. It has 120Gb of hard-disk space, DVI and component video output, and digital optical audio output, plus USB and Firewire ports, and an Ethernet port which is apparently not used in the current box.

To determine the technical characteristics of the box, you have to tune the two tuners on the same channel, turn off the box, and immediately press the SELECT button on the box. On the TV connected to the box you'll see a menu with a lot of details for the box.

Posted by ovidiu at 02:20 PM | Comments (0) |
March 01, 2005

iTunes music server on Linux

Linux box serving music to iTunes

I've been very happy with the squeezebox and small computer setup I put together to store and listen to all my music. I ripped all the CDs I had and all the new ones I buy on my Powerbook, and then rsync them across the network to the computer, which stores them on its large 200Gb hard-disk.

The music is served to the squeezebox using SlimServer, using an HTTP-based protocol especially designed for serving music. While this works fine for squeezebox, another Mac machines in my house are not able to see the music stored on this computer. Ideally, this whole collection should be accessible to iTunes, which has a very nice interface.

Last night I did find a way to make that music collection accessible to iTunes. The program is called daapd, and is really amazing. I now have my dedicated music computer serve the same music collection to my squeezebox and to other iTunes applications running on macs around the house!

Setting up daapd on my computer running Knoppix was a bit more complicated than I had expected. However I got it up and running in three hours, after compiling all the necessary packages from source:

Compiling all the packages, except for Apple's mDNSResponder, was fairly standard. All of these free software packages use autoconf, so getting them to compile is a matter of running ./configure, make, and make install. Apple's package had to be compiled using make os=linux, after cd-ing in the mDNSPosix directory. Most of the time I spent was hunting down the packages and figuring the right order in which to compile and install them (the order above is the one you should follow).

The latest version of daapd was supposed to use howl to implement Apple's Rendezvous. I could not get it working, so I had to use Apple's mDNSResponder to do that piece. It's not a big deal, but I just thought I'd mention it here.

Posted by ovidiu at 08:49 PM | Comments (2) |
Cool stuff
  Arduino TinyWebServer: part 3 and part 2
More from me
Picture gallery
Copyright © 2002-2016 Ovidiu Predescu.