All hail the super earth!


A new planet has been discovered, and it turns out that "these icy super-Earths are pretty common. Roughly 35 percent of all stars have them."

Wow! 1/3 of all stars have super earths. I still remember the utter amazement when in high school the first extra solar planet was found, even though it was around a pulsar, so any life would have been blasted off of it long ago. Now we're over 170 extra solar planets found.

Just awesome.

Yet more fun with RSS, rssbot

More and more IRC has has basically become a dashboard for me. Most of what I need to know goes on in it, and most of the technical conversations I have are based in there. Especially given that the 2 main tools I use, mercurial and moinmoin, have rss feeds, it becomes even more sensible to have that information feed right into IRC as well.

So after spending a couple hours understanding POE (which is an event model for Perl much like Twisted is for Python), and the IRC and RSS sample code that goes along with it, I created a simple rssbot for the mhvlug IRC channel. It's mostly working at this point, though I'm going to clean it up a bit and add a config file over the next few days before publishing it.

POE is definitely a much better place to start experimenting with IRC bits that I was thinking about before. And it was fun to write an IRC bot from scratch in 3 hours. 🙂

Gnome Sort

While search the NIST Algorithms Dictionary for a simple sort algorithm that would be easy to write in CUSP asm, I came across gnome sort, which I'd never seen before.

Gnome Sort is based on the technique used by the standard Dutch Garden Gnome (Du.: tuinkabouter). Here is how a garden gnome sorts a line of flower pots. Basically, he looks at the flower pot next to him and the previous one; if they are in the right order he steps one pot forward, otherwise he swaps them and steps one pot backwards. Boundary conditions: if there is no previous pot, he steps forwards; if there is no pot next to him, he is done.

Awesome! The implementation is 23 instructions in CUSP asm for an arbitrary segment of continous memory.

Friends Abroad

One of the great things about going to school at a place like Wesleyan, is that your friends end up in very interesting, very different parts of the world. For instance, Jehan randomly IMed me this morning with news of his sold out show in the UK. Unfortunately the site is just one big flash application, so links within it aren't very useful, but here is a review.

Where do you see yourself in 5 years?

Ben posted about this over the weekend, and it made me think a bit. When I was just graduating college, and was asked the question, I had a few answers I thought I could give to that.

In 5 years I

  • Would not be working for IBM (false)
  • Would hopefully have gotten to the Olympics (true)
  • Would be married to my then girl friend (false)
  • Would have moved out of the Hudson Valley (false)
  • Would never consider going back to grad school (false)

The most surprising things that happened in that same 5 years were

  • Getting the job in the Linux Technology Center at IBM (the reason I stayed)
  • Starting the LUG, and meeting lots of friends through it
  • Meeting Susan, and all that has happened since
  • Learning to Sail
  • That the Olympics thing actually panned out 🙂

MoinMoin, what a wonderful wiki application

I recently upgraded the MHVLUG website to MoinMoin version 1.5.2, after a long evening of redoing my Moin MHVLUG Theme (requiring some python hacking as well as css changes). The new version features a GUI Editor, which, while not perfect, is really impressive. It is a piece of JavaScript code that formats graphically in the edit buffer when you edit the wiki page. The most impressive part of this is the table support, which has full key bindings that you'd expect from a spreadsheet application. Again, there are still bugs (I reported one today), but what an amazing lowering of the barrier to entry in using Wikis this is.

from trac to moin

I finally decided that I had enough of Trac, the integrated wiki / tracker / scm site, after it appears there are no longer any working versions in svn that support mercurial as the back end source management system. That wasn't the only reason that I decided to leave trac behind, it was just the straw that broke the camel's back. I know if I pinged the developers, it would probably be fixed in a short while, but after a month of Trac at work testing things out, I've decided that I just like MoinMoin better for a wiki, and the other benefits weren't something I was really using.

There are a bunch of reasons for this:

  • MoinMoin supports Templates for pages, this makes creating similar content pages (like interview forms for interns) much easier. In Trac I had to cut and past a lot.
  • While it shouldn't be a big deal, the double click page to edit preference is so nice from a usability point of view
  • I was doing other MoinMoin work on an official wiki where it was convenient to have my own test wiki to toy with, write new Parsers and Macros
  • The benefits of the RSS feed for Trac is heavily mitigated by Mercurial having it's own RSS feed built in. I also found the RSS that Trac generated to be less than useful, and will probably even make some enhancements to the Mercurial feed as well.
  • There were just enough format differences from Trac to MoinMoin, that it was frustrating me in moving from one to the other.
  • I'm already maintaining MoinMoin for MHVLUG, so one less app to maintain myself is much better.
  • MoinMoin 1.5 just feels slick. The built in styles get everything you don't need out of the way, and the GUI editor is a good addition to get new people using the wiki.

So trac.dague.org has been retired, and wiki.dague.org is where I'll be putting all my bits now.

Convenient Linux Printing

One of the reasons I really like Mandriva Linux is that it sets up a lot of Linux applications very nicely out of the box. One of the stellar examples is the way that it sets up CUPS for printing. For instance, when I roam between, home, work, and space, the moment I attach to the network, I knows which printers are there, and those are the ones it tries to print to. I've got CUPS servers in all 3 places that server up a sane default, so I never have to pick a printer, and lpr does it all for me.

One of my nits with Mandiva, is I often can't figure out exactly how it does these things. I figured out that it was using slp for subnet based broadcast (all cups servers with Broadcast enabled send these multicast packets around periodically to self configure with each other), which works fine at home, and at work if I'm wired, but doesn't solve the whole story. The last bit of the puzzle is the use of BrowsePoll in your /etc/cups/cupsd.conf.

BrowsePoll specifies an IP:PORT that cups should try to poll for printers at the same interval as it is sending these slp packets on the network. Adding a couple of entries there, and I never have to think about printer configuration again. 🙂

More fun with RSS, rpm2rss

I just pushed out version 0.2 of rpm2rss, which I need to announce on FreshMeat still.

This is an idea I came up with last month, as I maintain a number of Mandriva RPMs in a number of locations. Honestly, most of the time I just push them out there, and hope other people figure out what I pushed, but that's a bad solution.

All this program does is take a couple of well known CPAN modules, RPM2, XML::RSS, and AppConfig (for config file parsing), and brings them all together, with a nice interface and man page. However, it means I can now run this under cron control on my systems, and not have to think about it any more. An example output feed can be found here. Given that I already have 65 URL hits, and 4 subscriptions to the project on FreshMeat, it seems like other people are interested in it as well.

I still need to get up the website listed in the man page of the package, and remerge in my tuxplus stuff to that, but that should be done today.

Getting things done... one six month old project at a time

Over the weekend I finally got around to actually finishing the openwrt install on my Linksys wrt54gs that I first modified back in June. This means I finally have both 802.11g in the house, and I have traffic shaping on my outbound connection.

While not all the kinks are worked out yet, but moving the router from the living room to the office, and actually putting it in line with my upstream provider, was a huge step forward. Let's see what my next long overdue project is to accomplish...

Exploring and discovering how things are more complicated, with a focus on climate and software