I just got back from a trip to QCon San Francisco 2009. A few guys at work had been to previous QCons and the con came with a pretty good recommendation. A total of six people from my company went, and two of them I didn’t expect to find there but was instead pleasantly surprised to meet up.
The official tagline for QCOn is well-explained on the infoq web page, so go there and read it. I divided the post into three parts because one long post would keep me up all night. This way, I can spit this out and finish it tomorrow.
I0f you were wondering why I would write about my trip in such detail, well, these posts are going to serve as notes for myself so I’m just being selfish.
While @ #qcon, I attended three grueling days of sessions. I say grueling because I hit all three days and attended all time slots save one on Friday when I took a short trip to get some Dim Sum (playing hookie ROCKS). There were some AMAZING sessions and some FANTASTICALLY DULL sessions. All in all, I would highly recommend the con to anyone looking for a good place to hear about the latest developments in our field.
I was a tweet-monster on this trip. I mean srsly, a monster. In fact, I knew I was going to tweet a lot so I created a new id, nickcoding. Not to be confused with my other twitter id, NickCody. I try to be serious and clever with nickcoding whereas NickCody is stupid and immature without trying. By doing this, I seem to have inspired one of my pals to create a new id as well. In contrast to my creating a smarter account, he created a stupider one.
Here is a list of the sessions I attended. After this boring list, I’ll point out some of the highlights from my trip.
- Keynote: Techie VC’s Talk about Trends & Opportunities by Salil Deshpande and Kevin Efrusy
- Patterns in Architecture by Joseph Yoder
- Lessons Learned from Architectural Reviews by Rebecca Wirfs-Brock
- Adventures of an Agile Architect by Dan North
- Roadmap to Continuous Deployment by Nathan Dye
- Strategic Design: Avoiding Responsibility Traps by Eric Evans
- Keynote: Data and Programs: Rethinking the Fundamentals by Don Box
- Better Architecture Management Made Easy by Alex Zitzewitz
- Programming on the Right Side of the Brain by Michael Feathers
- Software Architecture for Cloud Computing by Michael T. Nygard
- Architecting for the Cloud by Adam Wiggins
- Pragmatic F# in Action by Josh Graham and Amanda Laucher
- Keynote: Next Generation Service Orientation: The Grid, the Cloud, and the Bus by David Chappel
- Sustainable Design for Agile Teams by Eric Evans
- M – Dynamic Language Grammar by Amanda Laucher and Don Box
- Skeptical View of Language Workbenches by Glenn Vanderburg
- Amazon S3: Architecting for Resiliency in the Face of Failures by Jason McHugh
In my next post, I’ll talk about my experience in these sessions. It will really be fun, I promise!
Apple Time Capsule
I’ve been wanting to get an Apple Time Capsule for a while now. Time Capsule is a backup drive for your network, plus an Airport Extreme Base Station all rolled into one. From here on out, I’ll call the Time Capsule itself “TC” and the Airport Express Base Station component, “AEBS.” I mean, every good blog post needs a few cryptic acronyms for credibility, right?
My goal in all of this was to get a machine-neutral backup solution for all my home PC’s, plus a better wireless router. By machine-neutral, I mean a backup solution that wasn’t just for one machine, like a locally-connected USB device. TC does both of these functions very well. I installed it today and so far it’s been working as advertised.
While there may be other devices out there that can do the same job and perhaps do it cheaper, TC addressed three main needs in one simple package that just works:
- A network-attached backup device for all of my macs
- A wireless router that covered my whole house
- A Gigabit Ethernet switch
Time Capsule as a Backup Device
As a network device, TC has a single 2TB drive for storage, which is more than enough to backup the drives on my Mac Pro, MacBook and my two iMacs. The TC volume is available as a Time Machine backup target to all machines in your network. You can also hook up an external drive to the TC and it will show up as a drive you can target for Time Machine or just a shared volume you can share files with. This works with everything from a USB thumb drive to a multi-terabyte TB Lacie Drive.
I’ll describe how backups work briefly here. This applies to all Time Machine backups, not just TC ones. If you’re not interested, skip this paragraph. Through Time Machine, hourly snapshots are taken of your data and differences are stored on the Time Machine target volume. Using a straightforward system of following hard links, OS X can reconstruct your drive contents at any time a snapshot was taken. If you browsed the data store, you’d see your entire file system replicated each time a snapshot is taken in a directory denoted by the snapshot date and time. Files aren’t duplicated, though. If a file hasn’t changed in a snapshot, the on-disk file is just a “link” to the latest real file, a pointer in coding parlance.
Using Time Machine on a locally-connected USB drive is trivial in Leopard, but you can’t share this with other Macs on your network. That is, not unless your brave enough to follow some black magic. Pre-release versions of Leopard originally allowed you to attach any old drive to your machine and expose it to other machines on your network as a Time Machine target. This effectively made one of your Mac’s a Time Capsule for other Macs in your network. This feature was removed just before the Time Capsule product was introduced and before Leopard code was finalized, upsetting many of the folks who had their hands on this feature before it was removed.
It should also be mentioned that the backups made by Time Machine can be used to fully restore your computer. Leopard/Snow Leopard installation can detect a Time Machine backup and automatically restore your machine to it’s previous state.
Time Capsule as an Airport Extreme Base Station
As a wireless router, Apple’s wireless devices get high marks. Even their piddly Airport Express—which is no larger than my MacBook’s transformer—can cover nearly my entire house and it does that with no clunky external antennas. What’s nice about the Airport Express is that you can hook up an audio cable to it and pipe music to a stereo receiver or other music device. iTunes sees the Airport Express on the network and treats it like a remote speaker that you can turn on and off. The Airport Express also lets you connect a printer and share it via Bonjour to all computers on your network. Bonjour works just fine for Windows PC’s, too, but you need to download Bonjour for Windows. I think this comes with iTunes.
You might be wondering why I’m talking about the Airport Express. The reason is that AEBS does all of that, but is an even more powerful wireless router. In addition to being powerful enough to cover my whole property (not just my house), it supports Wireless-N (802.11n) which boasts speeds of up to 50-600Mbps. Now, the iMacs have dramatically improved networking performance. I didn’t record any objective measurements. The increased range comes in handy when I have a party and people connect to my Music Library and vote o n songs with their iPods and iPhones. Before the AEBS, these devices would sometimes go out of range.
The Wireless-N can be configured to show up as a new SSID, I call mine CodyN. I just realized that I have four wireless networks in my house: CodyV (for Verizon’s router), CodyA (for my Airport Express), CodyC (for the AEBS’s 802.11b/g network), and now CodyN (for the 5Ghz 802.11n network). I think I’ll go and turn off CodyV since it’s useless and will probably just wind up causing interference. Done. The AEBS also supports setting up a “guest” network, one that allows guests to get Internet access, but which is isolated from the rest of the machines on your regular network. All of these networks can have individual passwords set up.
Time Capsule as a Gigabit Ethernet Switch
The last feature which I found useful was the 4 Gig-E wired ports on the back of the device. In my living room, I have three devices that need an Internet connection: TiVo, Apple TV, and my Blu-Ray player. The Blu-Ray doesn’t really need an Ethernet connection for day-to-day use but it’s required for updates as it doesn’t support wireless. From my wall, I have a single cable installed by my electrician when had construction done a few years ago. This cable is connected to one of these devices at a time. While the Apple TV supports wireless, it doesn’t perform well for large media files. While this would likely changes with the addition of a Wireless-N network, you still can’t beat Gig-E. Since the AEBS is situated very close to all of these devices, everyone has Gig-E now and I no longer have to manually switch the cable back and forth.
Amazon S3 & Jungle Disk
Until now, my backups have been to my Amazon S3 account via the excellent Jungle Disk client program. Jungle Disk works on Macs, PC’s, and Linux. Storage charges are pretty cheap, but I was backing up about 100-150GB of data continuously. This wound up costing me upwards of $35 a month. Now that the TC is in place, I have dropped to about 10GB of data I truly don’t want to lose and the cost is under $5 per month. This gives me geographic backup in case of water/fire damage and theft.
If I was a fanatic, I would buy a 2TB external drive and periodically archive the entire Time Capsule disk (which, by the way, is a TC feature) and bring it in to work every month. That’s more expensive, labor intensive, and I’m surely too lazy to make that work properly. The way I have things set up now, everything is automatic.
No doubt the price is high. You can get 2TB of storage much cheaper on NewEgg, but then you have the network sharing problem that Apple invented and has exploited by not making any drive a sharable Time Machine target. Still, when you consider the presence of the fantastically capable AEBS, the $499 price tag starts seeming less of a rip off and more akin to simply buying Apple quality and ease of use. For me, so far so good.