ubuntu

Getting festival to work with PulseAudio in Ubuntu, etc.

Start up festival and enter the following commands, if it works open up /etc/festival.scm and append to the end of that. Works well enough for we me with other audio playing.

(Parameter.set 'Audio_Command "paplay $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Required_Format 'snd)

Gnome Tray Services for Ubuntu and Debian

Gnome Tray Services for Ubuntu and Debian is a simple application written in Python using PyGTK for the Gnome Desktop. GTS simply allows you to start and stop init.d services on demand from your desktop system tray.

It was written in-house because our Linux development environment requires that we run daemons like Apache and MySQL, but only if we are developing. Therefore, it makes sense to be able to start and stop the services with the least amount of hassle. GTS does just that, it will prompt you for the root password using gksudo, and then start or stop the service.

Language: Python
Platform: Ubuntu / Debian (Linux)
License: GPL Version 3

Hacking Alexandria to Support E-books

I love books, I have thousands of them! One big problem for me has been in managing my book collection. Until recently there did not seem to be any efficient solutions for managing my e-book collection. I have played with all the usual solutions, but everything seemed overly complicated, difficult, or large. Nothing native to Linux, or to Gnome which is my window manager of choice. All I wanted was a simple browser for my books that would allow me to quickly find the one I was interested in reading so I could read it.

So looking over things I found Alexandria, a book manager for Gnome. It's a neat book manager with interesting features, however it lacks support for e-books. It also seems the author is developing a fork so can't be bothered to add support to the existing application. So I decided to put my ruby skills to the test and hack the application to add support for attaching files to books and it worked -- great!

How to get Novatel Merlin 950d to work with Ubuntu 9.04 Jaunty or 9.10 Karmic

I have been struggling with this for some time since I installed the latest Ubuntu on a new Dell laptop. In the previous version of Ubuntu things simply worked, you would plug it in, it would show up as a CDROM and then you would umount that and the modem would show up. In the recent version that did not seem to be the case and I could not figure out how to get usb_storage to let this damn cdrom drive go, but finally after a long series of failed attempts I pieced together how to get this damn thing working.

There are a few different problems to contend with. First Ubuntu 9.04 removed the usbserial as a module and instead compiled it as a part of the kernel. Therefore in certain cases usbserial will not recognize your device.

In the latest version of 9.04 with the current revision of the kernel, this does not seem to be a problem, simply eject the cdrom device and it should see your card; i.e. "eject /dev/sr1". Look at dmesg to see where it is creating the drive, i.e. "/dev/sr1" or something as such in the /dev folder.

If this is the case you need to tell it to do so by adding a line to the kernel... This is messy and not for the inexperienced or the faint of heart. You have to edit your grub menu list and add:

usbserial.vendor=0x1410 usbserial.product=0x1450

So it looks like this:

/boot/vmlinuz-2.6.28-xx-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro quiet splash usbserial.vendor=0x1410 usbserial.product=0x1450

Next you have to reboot your computer.

Then insert your card, it will still not detect it, and that's because the damn thing needs to be ejected. So to eject it type:

eject /dev/sr1

Now the system should recognize the modem and you should be able to connect to the internet. There I saved you days of work in figuring out how to get this to work and contemplating downgrading to intrepid. You should hire me!

Operating Systems

One major constraint for desktop development is the target operating system on which the application is expected to be deployed. We support all major operating systems as well as cross-platform development in which more than one operating system is targeted. However, each additional operating system adds additional burden to the development process including compatibility issues, maintaince, and therefore cost. The target operating system should be closely considered as a part of planning phase, before any development begins.

Browser as a platform