Current Project(s)

Buzzbird

Buzzbird is an open-source, MIT licensed Twitter client built on the Mozilla XUL framework. It does not use Adobe AIR, and runs on Mac, Linux, and Windows.  Most of the code is written in Javascript.  The source is freely available on GitHub.

Buzzbird Screenshot on Mac

Stuff I No Longer Support

Avant Window Navigator Weather Applet

This is an applet for the Avant Window Navigator that displays the current weather conditions for any city covered by weather.com. It also displays the current five-day forecast when clicked, and a regional satellite map when middle-clicked, if available. It has been translated to several languages.

Weather Applet Screenshot 1 Weather Applet Screenshot 1

This applet is written in Python. You can find more information about this applet in the Applet Gallery on the AWN Wiki, here.

Avant Window Navigator Clock/Calendar Applet

This is an applet for the Avant Window Navigator that displays the current date and time. It was inspired by the original NeXTSTEP/OPENSTEP dock‘s clock in that it displays the date on a day-calendar graphic, with the clock above it. The display-style of the clock is configurable, the default “Classic LCD” theme is shown in the screenshot below.

Clock Calendar Screenshot

One cool feature of the applet is that can integrate with GNOME EvolutionGoogle Calendar, and Microsoft Exchange via Outlook Web Access. When enabled, the integration feature allows you to view your daily appointments right from the applet. This applet is written in Python. You can find more information about this applet in the Applet Gallery on the AWN Wiki, here.

My C++ Date Class

I wrote this class for manipulating dates in C++. It’s inspired by the Java’s Date and SimpleDateFormat classes. Boost has their own date class. Boost’s has a heck of a lot more features, but it’s also comprised of a lot more files and (IMHO) more complicated. Part of it
reeks of what I don’t like about C++ (who the heck wants date iterators, anyway? Why represent a range of time with a pair of dates? Ech.) Anyway, this was a labor of love. Use it however you see fit… it’s licensed under the super-permissive Boost license.

Features of my date class include:

  • Locale-sensitive, flexible formatting of dates and times
  • Works well beyond the UNIX 2038 barrier without requiring 64 bit longs
  • Intuitive interaction between durations and calendar date/time
  • Capable of working w/ extremely short intervals of time

Stuff my date class can’t do:

  • It doesn’t deal with that weird time in October of 1582, when
    the calendar “lost” ten days by decree of Pope Gregory XIII. So
    any date difference operations that you do around those days
    won’t take the missing days into account. (Learn more than you
    ever wanted to know about this stuff
    here.)
  • It doesn’t do leap seconds.
  • It thinks that Jan 1, 0 A.D. is a valid date. In fact, this is
    the “epoch” begining of time to this class. Purists will note that
    the year 0 A.D. not valid.
  • It might not do dates before the theoretical 0 A.D. It might work,
    but I haven’t really tested it. Caveat Emptor.

You can download the source here: ZIP or gzip’d tarball.

I’ve only compiled it with GCC so far. I had bigger hopes for this thing (doxygen documentation, compiling on a bunch of compilers, more unit tests), but I ran out of time and ambition, and I don’t do a lot with C++ lately. So here it is. If anyone shows interest in it, I might work on it more.


© 2012 Mike Desjardins. All Rights Reserved.