Wednesday, July 27, 2005

Cross Platform GUI with C#

At work we're building a product that will run on both Windows and Linux using C#. Over the last few days I've been reading up on Mono and what it delivers. I found Gtk# and QT# as the two main toolkits used across platforms. There have been an attempts to port System.Windows.Form as a layer on top of Gtk and another that runs on top of Wine. I'm not sure if either would work well for us.

Another project that's quite appealing is Managed Windows.Forms or MWF. MWF is an implementation of System.Windows.Forms that's all rendered using System.Drawing and uses drivers to translate the WndProc calls.

I was able to build a few tests where a .NEt assembly that was complied using VS.NET displayed a form on my Fedora Core box. They are about 98% complete with the port so a few of my tests broke depending on which components were used. But overall the project is on a promising track.

Tuesday, July 26, 2005

So Much Drama in the PhD

Your mom circulates like a public key,
Servicing more requests than HTTP.
She keeps all her ports open like Windows ME,
Oh, there's so much drama in the PhD.

So Much Drama in the PhD


Oh God, this is sooo funny...we were rolling at work today listening to it!

Monday, July 25, 2005

Satisfying Software Career?

"Internal, in-house software is rarely important enough to justify hiring rock stars. Nobody hires Dolly Parton to sing at weddings. That's why the most satisfying careers, if you're a software developer, are at actual software companies, not doing IT for some bank." [High Notes]

Switching from an IT team to a software product team, one of the first things I noticed was, "Wow! You mean we've been designed for that long...and will be for this much longer?" I'm very excited about how my team is focused on building a great product, one that will do very well in the market, by tuning in to the design and architecture.

I'll miss the high action and close customer support of the IT world. However, I won't miss the constant task and context switching that made it challenging to spend quality time on a product.