Showing posts from April, 2007

And now, for something completely different

I've launched another Python* open source program called mm2notes.
I can sure pick those product names can't I: I've launched mm2s5, xml2ddl, wxOptParse maybe I should work for HP so I can name their products like the "HP xw9300". In my defense, at least my names are easy to google.
Anyway, the idea is to take notes during a meeting using the excellent FreeMind program, and my software will convert those notes into a nicely formatted "meeting minutes". The cool part is that even if you fill the nodes of the mind-map under different locations at different times, the program will unroll these nodes based on the time the node was created.
I guess a picture will help out. Look at the FreeMind document which is a little hard to understand and the meeting notes, which is organized by time.

MyZones launched

I've posted another open source Python program called MyZones.

I basically had the desire to know what time it is in another timezone and feel confident that the answer is true. By using pytz, I feel much more confidant that I will always have the correct time for the various timezones. The program is simple and simply works, but I have some additional things I'd like to add.
Right now you can change the time in any timezone shown and the clock will stop updating and all the other zones will be synchronized correctly. But changing the time is a little clumzy, maybe a dropdown of hours in 30 minute increments might be nicer.
The program is a little plain, could use some sprucing up and wxPython has analog clocks and "digital" displays that I can use for that purpose.
I think I've caught an OpenSource bug, I keep writing these little programs.

First time upgrading Ubuntu successfully

The last two time I upgrade Ubuntu I had a lot of problems. After rebooting, my X windows was usually messed up and I had additional problems with the last upgrade.
However, this last upgrade was relatively painless, but it did fail the upgrade and then leave the Update Manager without any hint what to do. Of course, now I'm pretty experienced and know all the apt commands by heart. I ran "sudo apt-get -f install" to find the problem then "sudo apt-get remove python-setuptools" which seemed to be the problem package. Then I ran the Update Manager again and it went on it's way.
For some reason, after installing everything the Update Manager said it was finished and never asked me if I wanted to reboot so I was a little extra hesitant the first time I rebooted. I crossed my fingers and rebooted and a new Ubuntu came out without any errors.
I'd say the nicest thing I've seen so far with the new Feisty Fawn is running "python" and seeing vers…

Another reason I like working at Google

Another great post from Peter Norvig makes me proud to be a googler. In this article (which he wrote most of the code on a plane ride) he shows in 20 lines how to write a spell corrector similar to the "Did you mean: ....?" spelling corrector in the Google search page. Just like his Sudoku solver earlier, his code is both clear and concise (without being overly cryptic). By the end of the article you feel like you would have been able to write the code yourself. One thing I like about his articles is I often learn something new about Python like the: collections.defaultdict(lambda:1)
snippet in this article. Also, he goes into some of the theory, like the Bayesian theory in this case. His links were useful too, like the Spelling Error Corpus, and Google's trillion word N-gram corpus. Peter is the director of research so you might expect him to be smarter than the average bear, but there are an amazing number of very bright lights here at Google who I have the honor t…


The other day I was going through some of my files and noticed that some files had the DOS style CR/LF lines, ugh. I couldn't remember what the standard tool in linux is to convert this, turns out it's dos2unix which is linked to fromdos command.
The package is called, forgettably, tofromdos, i.e. to install it you need to call:
sudo apt-get install tofromdosFor such a simple utility it doesn't provide very much, there's no man page and only -h works and not the more common --help, but it does work as advertised. I was surprised that it isn't included in the standard Linux install.

Released Clipboard Modifier

I released another open source program called Clipboard Modifier. I guess I'm amortizing all the effort it takes to open source a program my doing them back-to-back, when all the details are still fresh in my mind.
This little utility uses wxPython and modifies your clipboard using plugins that you provide.
I needed this at work to copy and paste a spreadsheet into a Wiki. Wiki's aren't very good at making tables and this little program leverages the capabilities of a spreadsheet to insert columns rows, etc.. Basically, I create the spreadsheet in OpenOffice and then using Clipboard Modifier copy and paste a wiki style table into the Wiki.
To make the program a little more complete, I've also added some other plugins. For example, there is one that takes some text and converts it into something that Java or Python would like (in double quotes, etc.).
I have more ideas of this type. Looks like I'm going for quantity, instead of quality.