jb… a weblog by Jonathan Buys

Build Something Better

December 19, 2008

What would it take to change computers? What would it take to build something truly revolutionary in a time where most of the design philosophy of a computer is taken for granted?

I spend an inordinate amount of time thinking about ways to make computers better. Much of that thought is dedicated to software, but an equal amount of daydreaming is allocated to hardware. In my mind, the two go together like peas and carrots, ying and yang. A couple of years ago I wrote a college paper that talked about the UMPC market, which has now evolved into netbooks. I couldn’t stand the UMPC interface or hardware, but something about the idea of a very small, very portable computer appealed to me. Massive amounts of information, instantly available, wherever you are. I took the ideas of tablet PCs and UMPCs and designed something I called the FarmDog.

FarmDog was a tablet PC with an OS that ran off of a removable flash drive. The OS ran off of that drive, but all applications and user data resided on a hard drive, which was also removable. The idea was that you could keep your OS and your data completely separate, and also make it very, very easy to back up your system. Upgrading to a new operating system would involve buying a new chip from the store, shutting down the PC, putting in the new chip, and restarting the PC. You could switch between OS’s whenever you like, so if one is giving you problems you could go back to a previous revision.

A second part of the FarmDog was the dock. Normally, when you were running around with your PC, it acted as a tablet. However, when you put FarmDog in the dock (vertically, I didn’t imagine it being docked as a widescreen.) you had the setup of a regular desktop computer. Keyboard, mouse, etc… the main difference with the FarmDog dock was the automatic drive duplication. Now, we would probably want to implement something like Apple’s Time Machine, but at the time, I was thinking of duplicating the entire data drive to an external disk every time the PC was docked. This would keep a good backup of your applications and data, just in case.

I believe that the secret to a great consumer computer is a tight bond [between] software and hardware, coupled with great design in both. Apple has this just about nailed with their new MacBooks, but I’m still left wondering, how could we build something better, something different. I think FarmDog could be the start of something, I just wish I had the funds to build it.


Account Pruning

December 19, 2008

I’m a geek. Understanding that little fact puts me a little closer to being in touch with myself, and understanding that I’ve got a habit of trying out every new service or technology that comes along. That’s fun, but in the case of online services, I wind up with accounts all over the place. So, the past few days I’ve been pruning my online accounts down to what I really need.

email

I started out with AOL in the ’90s, and quickly learned that AOL masked the rest of the Internet, and that all I needed was a connection and a real browser. From there, I went to Hotmail, and stuck with Hotmail for several years, up until the time I bought my first Mac. Since getting an iBook in ‘03 I’ve had a .Mac account, but it hasn’t always been the best email service. I also tried Yahoo mail, but I’ve never liked any of the Yahoo services… too gaudy for my taste. Then came Gmail, which is an excellent service, and one that I’ve stuck with for quite a while now. However, there’s also the new MobileMe, which promises to synchronize everything everywhere, and since MobileMe offers a ton of other features, and integrates seamlessly into my MacBook, I’m sold on it. I’ve actually gone back and forth between MobileMe and GMail quite a bit. Since Gmail can download pop3 mail and send mail as my MobileMe account, it makes it easy to switch over to it. However, I’m not a big fan of the Gmail design, or any of the skins that I’ve seen, and I really like to use Mail.app for my email. I could use pop with Gmail, which works great, or I could use IMAP, which doesn’t work so great with Gmail but works perfectly with MobileMe. I also really love the visual design of MobileMe. I think it’s uncluttered and smooth. No ads (since it’s a paid service).

So, anyway… I wind up with five or six email accounts spread out across the interwebs. I’ve been closing them one at a time, and it’s not always easy. A lot of companies, like Microsoft and Yahoo, will not just close your account straight off. You have to request that it be closed and then not attempt to log back in under that user name for three or four months.

social

I’ve had accounts on MySpace, Facebook, LinkedIN, Friendster, Orkut, Del.icio.us, Flickr, Twitter, Pounce… and probably a few more that I cannot think of right now. I thought all of them were fun, but of limited functionality. Over the past couple weeks I’ve pruned them down to Twitter and Flickr, and I think I’ll keep it at that. Twitter is fun, and it’s got some additional services that I use every day. I follow CNN Breaking News, and get a text message as soon as some important news story develops. It’s not too frequent, only really big stuff. Some of the people I follow also point out some really cool stuff on twitter that they don’t mention anywhere else. Flickr is a great photography site, and I’ve had a pro account in the past, but not now. One reason I’m really not happy with Flickr is that I have to have a Yahoo account to use it. I’ve already said that I don’t like Yahoo that much, and would much rather close the account all together. Also, MobileMe has a photo sharing service that integrates right into iPhoto, although that service is not nearly as “social” as Flickr, it’s still a way to get my pictures out there. If I can find a way to integrate the MobileMe galleries into Wordpress we’ll be in business. I consider the relationship between Flickr and myself “Under Review”. Del,icio.us = same story… great service… bought by Yahoo… I don’t want a Yahoo account.

storage

When I was looking at a replacement for MobileMe, I needed a replacement for iDisk. The best I could find was Box.net, but I could never get the webdav mount working properly in Linux. iDisk works great, pretty much every time, I rarely have a problem with it. Also, I can sync my iDisk locally to my Mac, which means I still get off line access. If, that is, I were ever off line. I also looked at Microsoft’s Live services, but I don’t think I ever actually used the online storage for anything.

elsewheres

I wind up trying out all kinds of beta services and startup companies web sites. I’ve loved all the new Web2.0 design that’s been so big lately. To be honest, I can’t even begin to count all the services I’ve signed up for. I’m hoping that eventually the accounts that I’ve signed up for but no longer use will expire. I think what I really need to do is come up with a fake online identity and use that to sign up for all the accounts that I’m just trying, verses the accounts that I actually use on a daily basis. On the other hand, why should I even bother with shutting them down? Well, to answer that, I’ve got to go back to my opening sentence: I’m a geek. Being a geek also means that I really like to keep things organized, and if it’s not, it drives me nuts. I need to prune, or I can’t concentrate, it’s an open loop, and open loops need to be closed.


Nagios Check Scheduling

November 5, 2008

Or, maybe a better title for this would be “They rebooted the server, why didn’t I get a page?” I’ve had that question asked of me a few times, and I’ve never had a good answer, so I thought I’d take a closer look at Nagios and see what is going on.

Inside of nagios.conf are six values that are important to consider. The first is the Service Inter-Check Delay Method. This is the method that Nagios should use initially.

spreading out service checks when it starts monitoring. The default is to use smart delay calculation, which will try to space all service checks out evenly to minimize CPU load. Using the dumb setting will cause all checks to be scheduled at the same time (with no delay between them)! This is not a good thing for production, but is useful when testing the parallelization functionality.

  • n = None - don’t use any delay between checks
  • d = Use a “dumb” delay of 1 second between checks
  • s = Use “smart” inter-check delay calculation
  • x.xx = Use an inter-check delay of x.xx seconds

The next setting to look at is the Service Check Interleave Factor.

This variable determines how service checks are interleaved. Interleaving the service checks allows for a more even distribution of service checks and reduced load on remote hosts. Setting this value to 1 is equivalent to how versions of Nagios previous to 0.0.5 did service checks. Set this value to s (smart) for automatic calculation of the interleave factor unless you have a specific reason to change it.

  • s = Use “smart” interleave factor calculation
  • x = Use an interleave factor of x, where x is a number greater than or equal to 1.

I love it when there is good documentation in the config files. So, there are several checks running at once, and they are spaced out how the Nagios application thinks is best, but how many are running at once? This is determined by the next variable, Maximum Concurrent Service Checks.

This option allows you to specify the maximum number of service checks that can be run in parallel at any given time. Specifying a value of 1 for this variable essentially prevents any service checks from being parallelized. A value of 0 will not restrict the number of concurrent checks that are being executed.

Our variable here is set to 0, unrestricted.

The third item that caught my eye is the Service Reaper Frequency variable.

This is the frequency (in seconds!) that Nagios will process the results of services that have been checked.

Our variable here is set to 10, so every 10 seconds Nagios processes the results of the checks.

The last value is actually a group of values collectively known as Timeout Values.

These options control how much time Nagios will allow various types of commands to execute before killing them off. Options are available for controlling maximum time allotted for service checks, host checks, event handlers, notifications, the ocsp command, and performance data commands. All values are in seconds.

Our values are:

  • service_check_timeout=60
  • host_check_timeout=30
  • event_handler_timeout=30
  • notification_timeout=30
  • ocsp_timeout=5
  • perfdata_timeout=5

Knowing the theory is good, but it is also good to know the exact times between checks. In the Nagios web interface there is a page for each service that is monitored with the label “Service State Information”. On this page I found the timestamp for the “Last Check Time” and the “Next Scheduled Check”. Looking at several of these I found that each service check is five minutes apart… down to the second.

One last item to consider is that Nagios gives each check three chances to correct itself. This means that if Nagios finds an error, it immediately schedules the next check of the service. (Ping also being considered a “service”)

So, what all this means is a very long-winded explanation of what I thought was happening. The server was rebooted right after a service check, and it came back up before the next service check was executed.


Essentials

November 4, 2008

Inspired by Mark Pilgrim’s Essentials post, I thought I’d come up with my own list of essential software.

  1. Mac OS X. Closed source or open source, I lean towards the system that performs the best. Simplicity, security, and reliability have made me a Mac fan for years. I’ve tried to love Linux, I really have, but the love is just never returned.

  2. Safari: I don’t think Safari is really “The world’s best browser”, but I do think its the best browser on OSX.

  3. Adium: Adium beats out iChat in just about everything. I could care less about video chat, and I type just fine. If I want to talk to someone, I’ll call them. Also, since $WORK uses Lotus Notes and Sametime, Adium supports getting on the chat network from home when I’m on the VPN.

  4. Shimo: Speaking of the VPN, Shimo is amazing. A major leap forward from the ridiculous Cisco VPN client on the Mac. It’s awesome, and I can’t live without it.

  5. iTunes: iTunes is not the most lightweight media player on the market, but it’s certainly the best at what it does on the Mac. It’s a mix of music, movies, tv shows, and even applications for the iPhone or iPod touch. And, if you are smart and shop at Amazon MP3, you get cheaper music, better quality, and none of the DRM that you get from the ITMS.

  6. iCal + Google Calendar: I don’t really know why I haven’t moved my calendar over to gCal completely, I really do like the UI of iCal, so maybe that’s it. Or, maybe its the desktop integration. Whatever it is, I’ve moved past Mail.app in favor of Gmail, but I’m still using iCal for my calendars.

  7. iPhoto: There’s really no better alternative available to iPhoto on the Mac. It’s either that, or using the Finder to manage my photos, and since I’ve got several years invested in iPhoto, I really don’t feel like switching to anything else.

  8. Preview: Preview is far faster than Adobe Reader for viewing PDFs, but more than that, it works great as a simple image editor as well. You can edit icons, crop and resize screenshots for the web, and annotate PDFs. Preview is one of the apps that I miss when I’m away from my Mac.

  9. MarsEdit: I dispise typing in any online, web based text editor, so Mars Edit is a life saver. Always under active development, MarsEdit has great support for Wordpress, which is all I really need. Another must have.

  10. OmniGraffle: Every now and again I need to make a graph, or a chart, or a mind map, and when I do, OmniGraffle has me covered. It’s sometimes touted as Visio for the Mac, but I think OmniGraffle is in a class all its own.

  11. TextMate: Because I can’t get my .exrc file from vi working exactly the way I want it just yet. For writing, its either TextMate or vi, and really, it’s a bit of a toss-up. I use vi for just about everything at $WORK, and I may begin using it at home, but till then, TextMate is the next best thing.

  12. Yojimbo: I collect random bits of information from all kinds of places… pictures, web pages, passwords, serial numbers, bookmarks… everything gets dumped into Yojimbo.

  13. Time Machine: I loves me some backups, and its good to know that Apple has me covered with the Time Machine. All I have to do is remember to plug in my MyBook and I’m backed up. That, and the GUI to restore files is way more fun than TSM.

  14. Xcode: I’ve dabbled in development, and I’m planning on returning soon. If you want to develop on the Mac, you have to use Xcode.

  15. Spotlight: Spotlight is an amazing technology, far more advanced than other desktop search applications. Spotlight does not rely on periodic indexing of the hard drive. Instead, Spotlight indexes the system once, and from then on, every time a file is changed, the change is written to both the file, and to the Spotlight index. Keeping the spotlight index up to date, instantly, all the time. Introduced in Tiger, Spotlight has really matured in Leopard. Its so fast that I now use it for everything that I used to use Quicksilver for.


End of an Era

October 27, 2008

The hard thing about keeping a job in the technology field is that it is constantly changing. Just this past summer $WORK fired several mainframe workers who could not keep up. They got stuck on one technology that they knew how to operate, and failed to evolve when the field did. Now I think its clear that another sector of the job market is on its way out, the one that I, and thousands of others occupy, the job title of systems administrator.

There are three technologies that I believe will bring a major change to the sysadmin field.

  1. Virtual Appliances. Small, single-purpose virtual machines that provide a simple web interface to configure the hostname and IP address are called virtual appliances. They are normally bundled to provide a specific service, like running a Wordpress install, which requires a web server, php, and a database. Just a few years ago, building a LAMP stack to run this took at least a passing knowledge of the technology, but with a virtual appliance, no knowledge of the underlying applications or operating system is needed. The developers simply build the operating system the way they like and hide the complexity behind some clever web interface. I do not believe it will be long before the application vendors themselves are selling their applications as virtual appliances. IBM could sell DB2 and WebSphere appliances, Oracle could sell their own appliance for their database, maybe a SAP virtual appliance. The idea is that the operating system will no longer be of consequence, thanks to the availability of Linux and other open source tools. If the licensing issues with Linux becomes a problem, there’s always BSD. With Darwin powering everything from hand held phones (iPhone) to powerful super computers with the Xserve, Darwin may well be the base of choice for building commercial virtual appliances. Of course, if neither of those options work out, I’m sure Microsoft would be more than happy to license their OS… for a nominal fee, of course. The point is, the OS will not matter any more.

  2. Amazon EC2. Cloud computing is a big buzz word these days, but I think the smart thing to do is to stay away from the buzz word and take a look at the technology behind it. As it turns out, the virtual appliances I mention above are only half the story. The other half is, and always will be, hardware. If you need hardware, you need someone to take care of the hardware, and therefore, you need a sysadmin. However, with Amazon’s Elastic Cloud Computing (EC2), a small to medium sized business no longer needs to invest thousands in infrastructure to build a world class data center. They simply use Amazon’s data center, and pay for what they use. Amazon has put a lot of thought, time, and money into their data center, more than any but the largest of businesses. What they are building is disruptive technology, and the traditional datacenter is being displaced. I wonder how long it will be before someone starts offering small to medium sized businesses the option to run their entire data center on Amazon EC2, with virtual appliances running in the background supplying the desired services. I also wonder how long after that business starts that it will explode.

  3. Google App Engine. The App Engine is a little different from the combination of EC2 and virtual appliances, but still just as disruptive. Imagine a business offering a particular service over the Internet, they want to be able to scale when needed, and they want very little cost at the beginning. If they write their application in python, they have it made. The App Engine will host the application on Google’s infrastructure, giving it the speed, redundancy, and ability to scale that it needs to compete. With the App Engine, the college student in his dorm has just as much ability to build the next great thing as the multi-billion dollar business investing hundreds of thousands into its own infrastructure. Any web accessible service could be written in the App Engine, and be instantly available to scale as needed. This means that the company only needs programmers… no hardware, no operating systems, no fault tolerant highly available network infrastructure, not even a few web pages to set up IP addresses. No need for a sysadmin at all.

Many of the issues that companies have with the technology mentioned above now has to do with trust. I think that over the course of the next five to ten years, the technology will mature, and the trust will be earned. For a business, hooking up their infrastructure will come as easy as filling out a form online saying what they want. It will come as second nature as hooking up phones and Internet access. I think everything could come as a virtual appliance. From common needs like email and file sharing to more complex needs like Content Management On-Demand, everything could be run from a virtual appliance. The vendor installs the OS, makes sure it is configured just right, installs the application, does the same for it, packages it up, and makes millions.

This makes the career field of systems administrator much smaller, but it also opens up new opportunities in designing these appliances and being a part of the transformation. I see a new field emerging for virtual appliance designers and integrators, a field that could operate more like independent software vendors do now. I’m considering it myself. Of course, I still have a book to write, and possible grad school to go to, and a family to raise, but hey… life is short!


Poor Web Apps

October 16, 2008

I just spent the past 10 minutes trying to get this article I wrote for BrightHub posted using their online writers application. I’m not sure what language they are using, or what platform the site is running on, but I tried Chrome, Firefox, and finally, out of desperation, Internet Explorer 7, all with the same results. Almost every time I would try to preview the article before submitting it, the application would wipe out everything I just typed. Everything.

That means that I’d have to copy and paste the article into the app again, and screw around with formatting and making sure the links were there. When the app did not wipe everything out when I previewed it, it would wipe it out when I tried to add meta information or assign it to a category.

This was driving me nuts. Thankfully I had pasted the article into Gmail before hand to spell check it properly. So, Gmail automatically saved the article as a draft and it was very easy to copy it back out of there and back into BrightHub.

I know that they are probably making improvements all the time to the system, but I certainly hope that I don’t run into this particular bug again. Good grief… move to wordpress.


New Apple Hardware

October 14, 2008

There’s a lot to think about in the new MacBook line. The aluminum MacBooks are unquestionably what I wanted in the white MacBook that I have now: sturdy construction, fast graphics, and a sleek powerbook look to them. Apple has further blurred the line between their professional and consumer line, something they started with the aluminum iMac, continued with the MacBook Air, and now have completed with the MacBook.

Photobucket

Wow, nothing makes me want to max out my credit card like a Stevenote with some really great stuff.

The one thing that I would say I question about the new MacBook line is the glass trackpad. Apple has finally gotten rid of their one-button mouse… now there is no mouse at all! There is no button to press for either right or left click. Now, the entire trackpad is a button, and you can use multi-touch gestures and press down on the trackpad to click. I told my wife about this, she rolled her eyes and walked off. She, my ideal “everyuser”, decided to get a PC last month, and the lack of two buttons on the current MacBooks was one of the reasons. I believe that will take some getting used to.

It is interesting to note that Apple, after pioneering the mouse and the GUI back in the 80’s is now pioneering moving away from the mouse by integrating multi-touch devices into their product line. I wonder how long it will be till they release a multi-touch USB trackpad for their desktop line.

Well, I could blather on about this all night, but I’ve got work to do…


System P

October 9, 2008

The more I learn about IBM’s P-Series UNIX systems, the more impressed I am. I’ve been a very harsh critic of them in the past, but that may have just been my ignorance of the platform. The P is, no doubt, expensive… however, when you look at what it can do, and at how many x86 systems you’d need to do the same thing, the P begins to justify its cost.

As an example, we are looking at building a new web hosting environment off of WebSphere. To accomplish this, we are looking at four database servers (DB2), and between six and eight application servers. The total cost for the project, not including the F5 switch, I’d imagine to be somewhere around $100,000. With that money, we could purchase one P-Series that would do everything we need one one box. That equates to less cabling, less administration, less network overhead, and a smaller footprint for the PCI auditors. One box, maybe four Logical Partitions (LPARs), and that’s it.

AIX, IBM’s version of UNIX, is another big win for the P-Series. Creating a m ksysb creates a bootable DVD clone from a running system. So, you can clone an LPAR and install it along with all the applications you have installed on a new P-Series. Very impressive, and I wish more systems had this feature built in. AIX has is peculiarities. SMITTY, the administration interface, is confusing and difficult to navigate, and expanding a logical volume on the fly requires more steps than I think should be necessary. Many of the shortcomings of AIX can be solved by installing the AIX Toolbox for Linux, which includes a lot of the basic Linux tools compiled for AIX. Like bash… I can’t live without my tab- completion and vi keyboard bindings! On the whole, AIX is an extremely stable operating system. Configuration is more complex than other systems, but once it’s set up, you can let it run for years without intervention.

I’ll be getting more in-depth with the a P550, P561, P570, and one more I’m not sure of the model number of. The next couple of months should be interesting.


Goodbye Cocoa

September 19, 2008

Some times, things come easy to me. I’d like to think that I’m somewhat blessed in that way, especially when it comes to various forms of technology. Back in the Navy, I found I had a knack for telecommunications, and I found that I could grasp the flow of the circuits through various media easily. I nurtured this technological edge, and turned it into a career as a systems administrator. It meant lots of long nights and many mistakes along the way, but it was fun, I enjoyed it. Like I said, some things come easy… but some things just don’t. For example, I have no mental capacity for sports. I enjoy playing every now and again, but I can’t keep track of who’s who and what’s what in this professional team or that college team. It just doesn’t come easy to me.

Four months ago I decided to learn how to program using the Cocoa language and XCode development environment on the Mac. I dived in, buying the preeminent book on the subject, Hillegass’ Cocoa Programming, and poured through each page, and completed every challenge before moving forward. I even tweeted my progress. I would get up at 5AM and program for an hour before having to get ready for work. Then, at night, when the kids were in bed, I’d go back and program for at least another hour, mostly more like two or three. I really wanted to be good at it. For a while, I thought I was going to be. I finished the book, and started on the “Chapter 35 Challenge”, which, in a nutshell, is to develop an application and let someone else use it. I had an application in mind, I had drawn out everything that I wanted it to do, I had each panel, sheet, and window planned out. It was going to be a core data application for managing servers, kind of a nagios, webmin, and cfengine all rolled into one. It was ambitious, but, I reasoned, attainable. It turns out that I was wrong.

Programming in any language is both a learned skill and an art form. Over the years I’ve become fairly good with shell scripts, and can automate a Linux or UNIX box to get it to reliably perform how I want. This skill with shell scripting was not so much something I set out to learn like I did with Cocoa, but it was something that I’ve acquired over time. Cocoa, I have found, is similar. After finishing the Hillegass book, you can indeed create an application in Xcode… but, for it to be of any use, or for it to be good, you need lots and lots of time. I’m talking years. Now that I’m a family man with a job, a mortgage, and kids… I just don’t have the time necessary to dedicate to learning how to program, or I should say that I cannot give the craft the attention that it deserves.

Having delved into programming, I can say that I found new respect for developers. The time and attention that it takes to create a quality application is monumental. Looking at MarsEdit now, I can recognize an NSTable there, and a NSTextField here, and I can almost see how the application is put together. However, under the gloss of the Apple provided interface objects, the code that it takes to get this wonderful application to do what it does takes the time and patience of a zen master to produce. Every function, every button, every menu item… how the app posts my writing to the web… everything must be carefully thought out. Well done.. programmers certainly are a different breed.

It seems that programmers are also all too aware of how different they are. I went to a local CocoaHeads meeting, hoping to find some help with my application. Unfortunately, it seems I misinterpreted the purpose of the meetings, and I was told in no uncertain terms that, were I to ask a documented question, I would be told to “Go read the fucking documentation”. I did try anyway, but I didn’t get very far. Now don’t get me wrong, the CocoaHeads were all very personable and approachable, but they are not going to help you write any code. They simply want you to learn the same way that they did… slowly, over time, and possibly a four year degree in computer science. If you already know how to program in one language or another, and I’m not talking scripting languages, then the CocoaHeads might be for you. If you are learning, like I was, then my suggestion would be to either stay home and read some more, or to go to a meeting with no expectations, and simply take in what is presented.

I should mention that the attitude at the CocoaHeads meeting mirrors many mailing lists. It’s not uncommon at all.

The CocoaHeads meeting was a real turning point for me. It was the first time since I started that I grasped the immensity of the task I was undertaking. I found myself taking stock again, and looking at what was important to me, looking at what I enjoyed doing. One thing I enjoy doing is writing, and that suffered during my personal summer of code. Looking at how much I did not write over the summer, and how much more time I would have to spend to acquire some small level of competency in Cocoa programming, I made the decision to return to writing. I gave it my best shot, I spent four months working on code night and day, but it seems like programming for me is much like sports. I can follow along, but I really don’t have the mind for it.

I’m glad that I spent the time to learn what I have, and I feel that I’m a better person for it. If I had not tried programming, I would always have wondered, but now, having tried it, I can say with certainty that it is not for me. At least, not right now anyway. I may, at some point in time, fire up Xcode again… I do have a couple of books on the subject. For right now however, I think those books will fit comfortably on the shelf.


Moving to Ubuntu - F-Spot

September 16, 2008

I mentioned in my last post that I was giving up my MacBook so my wife could go to college, and (until I can justify the cost of another Mac) that leaves me with her Linux PC. After the first few days of using Linux at home,as opposed to managing Linux servers at work, here are my initial impressions.

My wife’s PC is a gigantic Acer laptop, with a 1.6 Ghz centrino processor and a one gig of RAM. Hooked up to my external monitor, keyboard, and mouse, the PC runs Ubuntu surprisingly well. I can’t enable the desktop effects, but since Gnome has built in compositing support now that’s not a problem. The install went smooth, all the hardware was properly detected, wireless, sound, monitors… everything worked.

So far, my favorite application in Ubuntu is F-Spot. F-Spot is the Gnome desktop’s answer to iPhoto in OS X, and in a lot of ways, I think F-Spot has iPhoto beat on some very basic levels. Over the years my iPhoto library has grown to thousands of photographs. Pictures of the kids, our travels, friends, family, nature, and other random things. Unfortunatly, I have never been all that good at organizing the pictures so they were easy to find. F-Spot uses a tag-based system to organize your library, allowing you to tag a photo multiple times simply by dragging the photo, or a group of photos, to the tag on the left hand side of the screen. This is great. It’s super easy (and fun!) to create a tag for ever member of the family, and then drag photos over to those tags. For example, if a photo has a picture of me and my wife, I’ll drag it to the “Me” tag, and then over to the “Wife’s Name” tag. Its surprising how fast you can do this. Each tag is given a picture, and tags can be nested under other tags.

When compared to iPhoto’s forced “Events” organizing system, F-Spot wins hands down. I was never too fond of the Events system in iPhoto, and felt it an awkward way to group photographs, especially since I would take photos of events, like a trip to the in-laws, over multiple days, which iPhoto would assume were multiple events. It never melded with my mental flow or organization, not the way F-Spot’s tags do anyway. iPhoto does support tagging, but not in the same way as F-Spot, and it just doesn’t seem to flow as well either.

Metadata is read by F-Spot, and the photos are automatically placed in a scrolling timeline at the top of the window. The timeline gives you a graph of how many pictures were taken at any given time period, and it easy to scroll through. Also, Gnome recognized my digital camera (a Kodak Z712 IS), and asked if I’d like for F-Spot to automatically import photos from it when I plugged it in.

After thinking about it, I realize that this is a first for me. Here’s a Linux application that edges out an Apple application in usability. Apple prides itself in ease of use and intuative interfaces, but I’d like to see a few features removed from iPhoto and a simpler tagging system (or keywords, if you must) put in place to organize our ever growing digital libraries. One more note, F-Spot doesn’t do movies of any kind, I’m still looking for an application to handle that. I haven’t delved too deeply into photo editing with F-Spot, I’m not sure I really want to. The “remove red-eye” feature works as advertised, but that’s as far as I’ve gone so far.

Overall, I’ve really liked what I’ve seen with F-Spot, and I’m looking forward to learning more about the applications capabilities.