Noise Boundary Demo at UNT

Ed and I did a demo of our Noise Boundary music ensemble at UNT Thursday morning for a kinetic arts class taught by David Van Ness and David Hanson. For those who aren’t familiar with the project, we’re developing a collection of autonomous robot instruments that collaborate among themselves to improvise music. At the current stage, the instruments are being controlled via MIDI from a single laptop running GNU/Linux and autonomous music generation algorithms we’ve written in the ChucK programming language.

The two instruments used in Thursday’s demo include our autonomous 2.5 octave Glockenspiel and the sound generation chamber of a circa 1890 manual pump reed organ that has been converted to operate from an industrial vacuum motor. Both instruments are controlled by onboard Arduino boards (the Glockenspiel uses an ArduinoMega). Development of this project has slowed down the last couple of months since the DPRG lost it’s space and the weather has made working in my garage difficult. Once we get the new hackerspace online, this is one of the projects we’ll be working on regularly there. We have a China cymbal and Snare drum that will become part of a soon to be built percussion pod. And crazier stuff like a pentatonic Rijke resonator organ has been discussed.

For more, see my Noise Boundary photo galleryThe video above is the equipment test I did in my garage the night before the demo. David Hanson captured a few seconds of the event on iphone video.

Random Free Software Stuff

Subversion

One of my longer term ToDo items made it to the top of the list this week. I’ve been setting up a Subversion repository for the Dallas Personal Robotics Group. The DPRG has a number of programming projects in various stages of completion ranging from working code to idle talk. Having a repository like Subversion will make project development easier, particularly for projects with multiple programmers. All projects hosted in the new Subversion repository will be Free Software and/or Open Source.

I used Subversion v1.3.2 for the initial setup. ViewVC v1.0.3 was added to provide a web-based interface to the repository. Last, I added Highlight v2.4 to provide some nice code highlighting for the ViewVC code browser. Everything is running on a CentOS Enterprise Linux box that also hosts the DPRG website.

At this point, everything seems to be working but I still need to customize the ViewVC templates to tie the look-and-feel in with the main DPRG site.

In addition to DPRG projects, I’m going to keep the mod_virgule codebase there too. Mod_virgule is the code used on robots.net and Advogato. Getting mod_virgule into Subversion was a good learning experience. I used the trunk, branches, tags layout recommended by the GPL’d O’Reilly Book, Version Control with Subversion. I used the last 2004 release of Raph’s codebase, version 1.41 as the initial commit. I created a separate branch for Raph’s code and also tagged it as release 1.41. Then for each of my releases since 2004, I committed them and tagged them as a release.

Ubuntu and Proprietary Drivers

Seems like everyone has been talking about Ubuntu’s decision to start including proprietary graphics drivers in the Distro to support flashier eye candy on the desktop. There’s been a lot of discussion and some flame wars over the issue. Rather than joining in flame wars, how about an an alternative? Why not put that energy into making sure there are free drivers for ATI and nVidia?

There are currently free ATI drivers with DRI support for 3D acceleration. Maybe someone could find out why the free driver is not suitable for the Ubuntu folks? Not fast enough? Missing a critical feature? Maybe it can be improved enough that the Ubuntu developers would reconsider their decision.

The free nVidia driver doesn’t support DRI so there is no free alternative yet for nVidia cards. The nouveau project is working on the problem. They’re making fast progress but they could use your help. They’ve developed a tool called called REnouveau to assist with reverse engineering the nVidia hardware without violating the license on the proprietary driver. If you have an nVidia card, you can help by downloading the proprietary driver and using this tool to generate dumps of test data for your card.

For a few more ideas on how you can improve Free Software support for 3D accelerated graphic cards in general, visit the Free 3D wiki.

My mobile phone saga

I’ve used ATT for mobile service since 1995. In 2004, Cingular acquired the ATT wireless network and it’s been downhill ever since. My office is in downtown Dallas, where you’d think even the worst wireless company would have cell towers. At times over the last week my phone said “no service” while at best it might show two bars and “extended area” or “roaming” on the display.

A call to Cingular’s customer support revealed the reason. To encourage ATT users to pay for new Cingular phones and contracts, Cingluar has been progressively turning off and dismantling the network of ATT cell towers. I was also told I needed to “upgrade” right away or face an additional $4.99/month fee for continued use of the ATT network. They also insisted that I couldn’t go to another carrier without paying a $175 early termination fee. This was odd since my last ATT contract expired in 2004, prior to the Cingular takeover. I’d been on month-to-month since then. The Cingular customer support rep insisted I had a current, unexpired contract. After double-checking my files, I called back and asked for details about the contract. Strangely, they said they couldn’t tell me when the contract was signed. I finally asked them fax me a copy of the alleged contract. After putting me on hold for a long time, they finally admitted there was no contract.

Turns out I’m not the only one with these problems. The Foundation for Taxpayer & Consumer Rights (FTRC) has filed a class action lawsuit against Cingular (PDF format) for false advertising, breached contracts, and assorted other things. They have a summary of the lawsuit on their website.

I always dread shopping for phones. While there are lots of choices, they all suck. I’d like to get a Linux-based phone. Most are only available in Asia and of the ones available in the US, none of the major carriers offer them yet. The most obtainable ones are Motorola’s but they use some kind of hardware Digital Restrictions Management to defeat the GPL protected right to modify the software. You can modify the software all you want but the phone won’t run the modified software (RMS hopes to fix this sort of thing with the GPLv3 but Linus hopes to avoid fixing it by retaining the GPLv2 on the Linux kernel). There’s a lot of hype about Trolltech’s mobile phone called the Green Phone but a) they’re not easy to get b) no major carrier is going to offer them and c) if you check Trolltech’s site, they say the Green Phone isn’t really intended for use as phone. They are strictly intended as development hardware. The FAQ says “inserting a SIM card obtained from a GSM network operator should safely enable basic phone functionality.” “Should” and “basic” being the operative words. Aside from those problems, I’m going to be really tempted to get one of the Green Phones if they turn into something real. A fully hackable Linux phone would über cool.

So no Linux phone. I’d prefer to avoid a Windows based phone, so that lets out most of the Smart Phones. LG has some phones that look good on paper but every one that I’ve tried so far has horrible voice quality. The non-Linux Motorola phones look cool but I keep reading user complaints about them.

I want bluetooth, Linux support, and reasonable battery life. I want a time / caller ID display on the outside of the phone that’s visible at all times without having to press buttons (this turns out to be suprisingly rare on the lastest generation of phones). A camera is nice but not a requirement. Initially I thought it would be nice to have iPod-like music capabilities. But…

It turns out the term “MP3” no longer refers to a file format. An “MP3 phone”, is simply any phone that can play a music file of some unspecified file format. Almost every alleged “MP3 phone” I looked at was not able to play MP3 files. In most cases they can only play DRM’d WMA files. The Nokia N91 is supposed to but, suprise, it’s not available from any major carrier. If the N91 were available, I expect it would be my first choice right now. I looked at the LG Chocolate but it has the same crappy voice quality as the other LG phones (and doesn’t play MP3s, only WMAs). I found a few Nokia and Samsung phones that could play actual MP3 files but most were only available through Verizon, who deactivates features like that in order force customers to purchase DRM’d music and ringtones through their VCAST service. In the end, I decided to just ignore the MP3 feature since it was evident none of the phones provide anything useful here (yet).

So, what did I end up with? I narrowed it down to the Samsung SCH-A930. The voice quality is better than most of the phones I tried. It has a very bright, high contrast blue OLED panel on the outside of the phone with the time on it (always on). It has bluetooth, a reasonably good 1.3MP camera, decent battery life. It can play the usual WMA audio files (I’ve heard there’s a hack out there to turn MP3 support back on). It has GPS support (which Verizon has deactivated of course, except to deliver your coords on 911 calls). It also looks different and better, I think, than most of the other of phones I saw. I picked up a USB cable on eBay and Bitpim (GPL) works great for shuffling data to and from my Linux box. I also stuffed a 1GB Micro-SD in it.

Fedora Core 5, the Good and the Bad

Since the Dell laptop I started using a year or so ago has Nvidia graphic hardware, I’ve been following the status of xorg nv driver a bit more than I used to. At present, no 3D acceleration support for Nvidia hardware is available for free software users. I learned today that there’s now a project working on DRI support for Nvidia hardware. It’s called project nouveau. The feature matrix is a bit sparse but it’s good to see some work being done here. It would be great to finally have 3D support for Nvidia cards in xorg.

That’s the good Nvidia news. The bad news is that there seems to be an nv driver bug in the version that shipped with Fedora Core 5. It’s causing problems for a number of folks (including me). Hopefully some fixes will be coming along soon.

In my previous blog entry I was complaining about the horrible Linux CD writing software called X-CD Roast. I was pleased to find it wasn’t needed in Fedora Core 5. All I have to do to burn a CD of an ISO image now is right click on the CD and select “Write to Disc”.

Random Complaints

Does anybody else miss the O’Reilly Meerkat aggregator? It was nice because you could subscribe to the results of arbitrary keyword filters rather just specific blogs. Anybody know of another aggregator like that? There are plenty of places that allow keyword searches of blogs but I’m not aware of any that allow one to subscribe to the results of those searches.

I downloaded the Fedora Core 5 ISO images this morning and burned them using X-CD Roast. That program wins the prize for worst, most non-intuitive user interface of the week. I’ve used several Windows CD burning programs that take just a few clicks to get from ISO image file to burning the CD; something like “create CD from image”, “select an image file”, “burn the CD”. on X-CD Roast I spent a half hour trying to figure out how to get it to burn anything at all. I eventually gave up and Googled for the website. Helpful hint to the developers: when your interface is so bad that “how do I burn a CD from an image file?” is a FAQ, it’s time for a redesign.

For the curious, the steps are: click “setup”, “HD settings”, type the path to your ISO images and click “Add”, “OK”, “Create CD”, “Write Tracks”, select the image file, click “Add”, click the tab labelled “Write Tracks” (not the nearby button labelled “Write Tracks”!), click the new button that just appeared, also labelled “Write Tracks” (yes, at this point there are two buttons and one tab that all say “Write Tracks” – all three do different things), insert the blank CD, click “OK”, grumble, and blog about bad user interfaces while you wait.

Fujifilm FinePix S5200 First Impressions

I picked up a new gadget last week; a Fujifilm FinePix S5200 digital camera. It’s very cool. It’s almost as good as my trusty Canon T90 35mm film camera (not quite) but still small and inexpensive. I’m hoping it will work out well as an interim camera until the next generation or two of digital SLRs come out. The S5200 is almost like a mini-SLR. It has full manual control so you can do time exposures, control depth of field (the aperture only varies between 3.2f and 8f though), and it has a 10x optical zoom that’s about the same as the 300mm telephoto I use on my real camera. I’ll post some photos soon.

It was interesting how easily it works with Linux compared to Windows. I plugged the included USB cable into my laptop which runs Fedora Core 3 and a little dialog box immediately popped up asking if I wanted to download the photos. The gThumb photo viewer automatically started and allowed me to view the photos and park them anywhere on disk I wanted. I didn’t have to install anything or configure anything. It just worked.

It took me about half an hour to get to that point on Susan’s Windows box. I plugged in the cable and nothing happened. So I stuck the included Fuji CD in the drive and waited while it installed a USB driver, a photo viewer, and about 40MB of other apps which turned out to be worthless and eventually had to be uninstalled. When it finally finished I had to reboot, of course, since this is Windows. After the reboot, I plugged in the camera again and got a USB error message, followed by several cryptic dialogs complaining about missing drivers. Finally the Fuji photo viewer started. It’s very non-intuitive and it took a while to even figure out how to download the photos. After it downloaded the images, it popped up a dialog claiming it was “safe to disconnect the camera”. So I unplugged the USB cable. This immediately resulted in another string of error dialogs complaining that I had “unsafely” removed a USB device. We get the same series of errors before and after each use of the clumsy photo viewer, but it does work, sorta. It’s amazing how much easier it was on Linux though.

Robots seem to be occupying what little free time I’ve had lately. I’ve done a little more writing for Servo magazine that should show up in the March issue. I’ve instigated a group robot project at the DPRG – I’m not actually doing much of the work on it though. I’m leaving that to the folks with more time. I’m also still working on a C library for the MRM board with another DPRG member. We hope to release the library in the relatively near future (under the GNU GPL, of course).