Wednesday, January 26, 2005
Monday, January 24, 2005
Basically, I've hooked up a series of colored lights to our CruiseControl.NET build. Via X10 automation, I turn on red, green, and/or yellow lights based on the status of the build. It looks like this:
Since I put them up on top of my cube, the lights are visible across most of the part of the floor where my team sits. I already find myself looking up to check the status whenever I arrive in the morning.
The reason that two lights are on in this picture has to do with the semantics I attached to the signals. The red and green lights indicate whether the last build was successful or not. The yellow light indicates that a build is in progress. I could have shut off the red or green light while a build was running, but I thought this way added a little more information while still being very easy to understand at a glance.
It was actually pretty impressive how easy this setup was to get going. After ordering an automation kit ($99 from http://www.x10.com), downloading the free SDK, and stopping off at Target for some cheap lamps and some bulbs (about $25), some simple perusal of the samples showed that it's basically one line of very easy-to-understand code to turn each light on or off. Monitoring the build was only slightly harder: I just used cctraylib.dll from the CruiseControl distribution to poll the build state. That was maybe 20 more lines of code. Rolling it all up into a service (so it will continue to work when I'm not logged on) took me about 90 minutes total.
The kit came with a bunch of other stuff that I'm not using, like remote controls and a motion sensor, so I probably could have gotten off a little cheaper. But when I finish my gig here, I'll take the whole thing home and find a use for it around the house. Hopefully something equally nerdy. :)
Friday, January 14, 2005
Wednesday, January 12, 2005
Courtesy of the clever Shawn Van Ness, my new command-line prompt is now
Which, when I set it via either the prompt command or the PROMPT environment variable, gives me a command line that looks like this:
The plusses indicate that I'm two levels deep in pushd, and I like that the working directory appears on the line before, obliterating the problem of long paths making commands linewrap. Nice!
Wednesday, January 5, 2005
Monday, January 3, 2005
With a new baby, my wife in school full-time, and some major rennovations going on in the basement, it's going to be hard to find free time to hack unless my current client gives me the boot and I can't find anything else. (Knock wood that doesn't happen.) Nevertheless, I have in mind what I want to do software-wise in 2005.
First, foremost, and solely, I would like to get FlexWikiPad to at least 1.0 status. I've been working on it for over a year in my spare time, but my vision for where I want to get it has changed little. Right now that means working on a decent text editor control that I can use for it. That'll probably take me a few months just to finish that, but I'm guessing when I'm done it'll be even more widely used than FlexWikiPad itself. Stay tuned. After that, I can finish up the last few major features I want to get into the thing, and then go on a bug-smashing tear.
And that's actually it. I have enough other non-coding projects in my personal life that I think I need to hang up the spare-time software gig for a bit when I get FlexWikiPad to a satisfactory doneness state.
Saturday, January 1, 2005
2004 has come and gone. It was a huge year for me, both personally and professionally; I hope yours was as good as mine.
The end of the year (or in this case, the beginning of the next) is traditionally a time to look back at what happened through the lens of hindsight. Who am I to resist jumping on the bandwagon? Herewith, a tour of the highlights of my year as seen via CraigBlog.
In January, I started up at MSDN again. Focusing on writing production software was a huge theme for me in 2004: while I've done it before a little, my career has long been focused more on research and troubleshooting than on the ruthlessly practical world of getting software out the door. It was enormously educational, and really fun. And I'm still not done learning how to do it better.
In February, I wrote the last Direct3D tutorial of the year. At the time, I didn't think it was going to be the last one, but things just kept getting busier and busier, and I haven't yet found the time to get back to the series. I do still plan to write more, but I don't know when I'm going to get there.
In March, I bid GotDotNet adieu permanently. As a workspace environment, I find it lacking in several regards. My discontent in part led to the migration of FlexWiki to SourceForge, a journey which took a large part of the rest of 2004 to complete.
In April, I got the FwContrib project set up on SourceForge. FwContrib contains the project to which I have devoted over a year of my spare time now: FlexWikiPad. Oh, and April was also the month where I found a three-foot snake in the basement.
In May, I shipped version 1.0 of FwSync. Finishing something and getting it “out there” was quite a milestone for me. Hopefully 2005 will see the same goal met for FlexWikiPad. May was also the month where my wife was accepted into the Executive MBA program at Wharton, something which negatively impacts my free time now, and (hopefully) positively impacts my income later. :)
In July, Peter Provost and I released the dasblog2dottext importer tool (he wrote it, I did the build script). I also launched the Pluralsight Wiki, a fairly obvious thing for a wikihead like me to do.
In August, I released another version of FlexWikiPad, and then almost immediately had to patch it...I was definitely starting to feel like I was doing “real“ software. :) I also discovered Beatallica, a band that still amuses me months later.
September was a momentous month for me. Not only did the alpha version of MSDN2 ship, but FlexWiki went open source (only the third Microsoft project to do so). I also saw FoamHenge and finally ditched EIF for log4net - a move I still don't regret.
For all the other great stuff that happened to me this year, October is clearly the absolute highlight. And no, I'm not talking about the fact that I released RichTextEditor. The big event was that on October 28th, my daughter Ellen was born.
November was (understandably, I think), a slow blogging month. But I did manage to ship an update to RichTextEditor. Of course, right after that I realized that I was going to have to start over with my own text editor control. Sigh.
I was planning to talk about what I want to get done in 2005 too, but I think I'll wait and make that my next post.