F-Spot, Server Monitoring, ASP.NET, and Crazy Dancing

Published on Friday, May 13, 2005

Today I relaxed a little bit and decided to organize ~/Photos, which has been an all purpose photo dumping grounds for the last year or so. I don't take many photos, mainly because I have a horrible 2MP camera with awful focus and lighting, so I only had about 400 photos to organize. I built F-Spot for the first time today, and am extremely impressed. However, I did this after manually cropping and rotating about 80 photos using The Gimp. I am extremely impressed with F-Spot - it makes me even more inclined to finally purchase a nice camera.

I love the simple photo touch up tools and the fact that it doesn't overwrite the original, and of course tagging photos like "Favorites." The timeline widget is amazing - too bad only a few of my images have EXIF information, because about 90% of my photos, as reported by F-Spot, were taken today, when I copied many of them to a new location. Not much can be done about that I guess.

Anywhoo, I started writing a simple standalone HTTP server in C# today to serve status information regarding the health of my server and its applications and services. It is made up of a simple multi-threaded HTTP server that sends XML "ResponsePackets" containing status information (like uptime, system load, process listings, whether a given service is actually running, memory usage, etc). Each ResponsePacket is handled in code by extending a base ResponseHandler class. These extended classes are then registered with the server at startup in a Hashtable. When a client sends a GET request in the form of "/a:b:c", "a", "b", "c" are parsed out and used to look up the proper ResponseHandler to execute. It's kinda nifty. I'll write a simple front end client for it that can email and text message my phone if/when a service goes down.

Of course I'll release the whole thing in a few weeks when it actually becomes useful.

I also finally managed to build Mono 1.1.7 under my Linode UML server. Before today, Mono would segfault and/or throw a NullReferenceException during compile of mcs. I found out today that it was TLS that was causing the problem, as it's not well supported under UML. All is well, and I now have mod_mono setup and working, and I look forward to learning ASP.NET (I never thought I would say that!)