Tuesday, May 27, 2008

Hello World

I have held off long enough but I feel it is time to start blogging about some of the small things I am doing around the free software/open source community and in my spare time.

I spent this past week learning C# so I could play around with monodevelop and I have been impressed every step along the way. C# itself seems to be a ok language but the biggest surprise was the amazing integration monodevelop provides.
  • Stetic: The glade like UI designer is so integrated into the IDE that it will connect signals to methods or creates new methods with the click of a button. It also features seamless menu and toolbar creation.
  • Code Completion: The code completion implementation is amazing, and they are a step above my prevous favorite WingIDE. Admittedly I have not used things like Code Blocks and Eclipse beyond pydev.
  • Project Management: Monodevelop handles anything, from version control to build systems. I really could not ask for more.
  • Monodoc: [While not part of monodevelop] it is like devhelp but awesomer.
Dumb patent talk aside I think the level of integration the mono{develop} project has put together is top notch. The same level of love around another framework/language would have provided me with the same feelings.

There have been some exciting things coming out of the awn(-extras) community lately. Some of the things I have been working on are
  • A rewrite of aRSS. I have been struggling to make this thing usable. It seems to be going well but I have suffered some recent set backs with feeds not using any type of publication date tags, but I worked that out(kinda). Other issues exist with SQLAlchemy+SQLite and its loathing for random shutdowns and imediate restarts. Hopefully I can find some way around this
  • a Banshee 1.0 extension this week that replicates the rhythmbox, exaile, and banshee0.13.x plugins that replace the applications icon with the currently playing album. Since the new banshee code base is drastically different from 0.13.x none of the plugin creation guides and tips were applicable. Using some of the sample extensions in found in the banshee svn I was able to get a decent extension ready for the repository.
  • Awn-sharp bindings are also on my list of things I want to complete, but I have had nothing but trouble. Gapi is a fine tool but it is not nearly verbose enough for my liking. I am currently dealing with some errors involving cnames not following the GNOME coding style and references to callbacks. I want to note that some of the mono guys have been more then helpful during this process. Anyway I want to make more entries about this topic later.