Skip to content

Recent Articles

22
Jan

New Photography

One of my life-long hobbies has been photography. I was always the yearbook photographer, spending a lot of my spare time during high school in the darkroom. I wanted to be a photojournalist, and was the photographer for the campus newspaper. Once out of school, I took a lot less pictures, but never lost the interest. I’ve taken a lot of family portraits for friends, and even shot a few weddings.

I was a dyed-in-the-wool film user for a long time. My favorite camera was the Nikon FM3A, an all-manual classic. I had the suite of Nikon glass to go with it. That all changed around 2003 with the introduction of the Canon 10D. I was floored by the quality, and being a computer geek, I was blown away by what was possible in the retouching world with Photoshop. I sold my entire Nikon kit and picked up a Canon 10D with good zoom lens and never looked back at film.

My photography, and photography in general, are going through another revolution now. But rather than film-to-digital, the new transformation is camera-to-smartphone. I picked up an iPhone 4S in October last year. While only an incremental overall jump from my 3GS, the integrated camera was an incredible leap. In a world of Facebook, Instagram and blogs, the 4S is capable of taking better pictures than a dedicated pocket digital camera from a few years ago.

This has really had a huge impact on me as a photographer. I’m taking more pictures now, because my phone is always in my pocket. And while I still use Photoshop for some things, there is now a whole suite of easy-to-use image improvement tools available that produce outstanding results. The experience is as revolutionary as my jump to digital eight years ago.

Here are a few recent pictures with my 4S. The first is a shot of my daughter at Starbucks.

This is from an event at the Park Place Jaguar dealer this month.

Here’s a low-light shot from our company “Vegas Night” party.

And finally here is one from today at the Shops at Willow Bend.

None of these were retouched in Photoshop. While a bit soft compared to “pro” standards, they are all more than acceptable for any online use. The iPhone 4S is an extremely capable camera, even in low light conditions.

So instead of lugging around a DSLR with a big honking zoom lens, my kit now consists of an iPhone 4S and a Olloclip clip-on lens. This gives me everything from the relatively normal perspective of the stock iPhone 4S all the way to a Fisheye view.

For image manipulation on the iPhone, I use Instagram, which not only allows me to apply good lookinging effects to my photos, it is also an excellent way to share my pictures with the world.

Thanks to Photostream in iOS 5, I can also easily edit pictures on my Mac and iPad. On the iPad, Snapseed is my preferred tool. And on my Mac, I use Aperture 3 and Flare. Snapseed was just released for Mac, so I’ll be checking that out too.

None of these have the sophistication of Photoshop, but they are all very easy to use and make it possible for the casual photographer to produce outstanding results.

Photography is going through another major transformation. I expect the market for point-and-shoot digital cameras to evaporate as the cameras in smartphones continue to improve. DSLRs will still have their niche, and I’ll still lust for a Nikon D800, but few people need 20MP+ images to satisfy their photography requirements. The biggest transformation for me is the fun factor. I haven’t had this much fun with my photography in years, and I’m taking more pictures than ever.

18
Jan

GORM Recipes

As I’ve been diving into Grails, one of the most frustrating parts I’ve had to deal with has been GORM. It is deceptively easy to do the simple stuff with GORM. But as soon as I got to the point of wanting to do aggregate functions, grouping, or other more sophisticated queries, I ran in to wall.

Rather than diving in to SQL, I opted work through the documentation and various blog posts to find the “GORM Way” of doing things. I also documented what I found. The result is this rather extensive article on GitHub called GORM Recipes.

The text was way too large for this blog, so I opted to put it on GitHub. This thread is for feedback and questions about the GitHub article.

8
Jan

The Technical Resume

One of the “celebrities” I follow on Twitter is Guy Kawasaki. I read his book Rules For Revolutionaries many years ago and a lot of the concepts stuck with me. The book dates from the first dot-com boom, but is as applicable as ever.

A couple weeks ago, Guy posted a link to an infographic from RezScore showing how to create the perfect one page resume. I thought the concept was pretty cool, and my resume was sitting at around four pages, so I decided to put it on a diet.

After some effort, I managed to get it down to a single page, following the format from the infographic. I even fished it a bit on Dice to see what happened. In early December I fished my four-page resume on Dice for one day and had to turn off my phone and delete the resume to keep the phone from ringing. I had eight calls in a matter of hours.

So how did the one-pager do? Crickets. While the one-page resume is great, conceptually, it is not sufficient for a programmer. The one-pager will only work for two groups of people.

The first group is people without any experience, i.e. new college graduates or people with less than a couple years of experience. Their resumes shouldn’t be filling more than a page, and if it does, it is probably indicative of a job hopping problem.

The second group is people who don’t need resumes and can get work based on reputation alone. DHH, Paul Irish and James Gosling all probably have one-page resumes, if that. For them, a Moo MiniCard with a QR Code to their LinkedIn profile is more than enough.

For a technical person with years of experience, a one-page resume won’t cut it. After I compared my one-page resume to my four-page resume, it was obvious I needed to put the larger document on a diet. I ended up with a sharp two-page resume that adequately demonstrates the breadth and depth of my experience without writing a novel or leaving a recruiter guessing.

I validated my newfound ideas on resume length against the technical recruiter at my company. Her response was interesting: she said it didn’t matter, since everything was driven by keyword searches via enterprise “suckware” like Taleo. But her resume was a two-pager.

So my recommendation for a seasoned software professional is to try for a two-page resume, with three pages being the most. But the resume has to solve two objectives. You need to ensure it has all the right keywords to get you past the first automated filter, but it has to be concise and interesting enough that a hiring manager will want to read it. Two pages fits the bill.

24
Dec

Coding in to 2012

Instead of predictions, last year I made a wish list for Santa of things I wanted to have happen in 2011. Looking back at the list, I guess I must have been pretty naughty last year, because the stocking ended up pretty empty. Here was the list, and what I actually got:

  • Google to kick Oracle’s ass over Android: this turned in to a total stalemate, although I could say Google “won” based on the number of Android activations and the butt-kicking Oracle’s stock is getting. I’m actually pretty ambivalent a year later over who wins. I don’t foresee ever buying a Android device, so the whole battle is orthogonal to my interests.
  • Someone to finally build a good Windows notebook: nothing but a lump of coal for me. Lenovo is probably the closest, but none of the PC makers have hit on a Windows 7 equivalent of the Macbook Pro.
  • ActiveState to push out ActiveRuby: another lump of coal. I’m not too disappointed though. I was expecting Ruby to go more mainstream, but instead it had all the thunder sucked out of it by NodeJS. Ruby is becoming the new Java, without the Java part.
  • Google to buy Sencha (ExtJS): more coal. I’ve actually given up on someone buying Sencha. I’m suspecting they have bigger plans than a simple exit. Unfortunately, the market is getting a lot tougher and they may have missed their sweet spot. Sencha Touch is the best tool going in the mobile JavaScript widget space, but it is only a matter of time before JQuery Mobile, Dojo and KendoUI catch up.
  • World Peace: a whole truckload of coal, along with a story that would take more than a few beers to cover.

In spite of a garage full of coal based on my visions of geek sugarplums for last year, I’ll brave speculating on a few things I would like to see happen this year.

  • Grails will get hot: yes, I bashed the crap out of Grails earlier this year when I let my team give it a try on a project. But since then, Grails 2.0 has gone final, and excellent tooling support has arrived in the form of IntelliJ IDEA 11. I’ve been rocking the world doing some Grails work using Bootstrap and KendoUI, and I really appreciate Grails for providing a bit more structure than Rails without having to jump into the rigid world of Java/Spring. I’ll be doing all my personal projects in Grails this year.
  • Kendo UI sneaks in: I originally wrote off Kendo UI as just an attempt by Telerik to clone ExtJS. It shares the same dual licensing model of ExtJS and plays in the same space. In reality, Kendo UI sits somewhere between JQuery UI and ExtJS. Kendo UI provides a good looking library which is easy to implement since it is based on JQuery. While ExtJS is much richer, it is also much harder to work with — there is no such thing as a casual ExtJS developer. Kendo UI also has excellent theming support, and I expect them to evolve it pretty rapidly throughout the year. Kendo UI is what JQuery UI should have been, and this will the framework to watch.
  • NodeJS jumps the shark: NodeJS busted onto the scene this year and got a lot of people very excited about it. Like a new puppy, it was fast, light and a lot of fun to play with. But now that puppy is taking on weight and the peeing on the carpet is starting to get old. Things will only get worse now that NodeJS has sold their souls to Microsoft. I expect NodeJS to enjoy a record short 15 minutes of fame, at the expense of Ruby on Rails.
  • Evil is the new Black: everyone should realize by now that every large technology company is evil. From Facebook and Google stealing your lives to pitch you advertising, to Apple and their walled garden, all these major companies are running with their own evil agendas and we’re just along for the ride. Even Twitter is jumping on the Evil bandwagon. 2012 will be the year you learn to get over it, and there will be good money to be made riding on Darth Vader’s cloak tails. Evil will be the new black.
1
Dec

Winning versus Not Losing

This week, one of the big names in the DFW area, AMR, filed for bankruptcy. AMR is the parent company of American Airlines. The management team is trying to spin this as a business decision, but ultimately this is a major failure of leadership, and the wrong people are going to pay the price for it.

Adam Hartung has an excellent write-up over at Forbes outlining how this is a major failure on the part of the AMR management team. I can sum up the failure in even fewer words: AMR was not playing to win, they were playing not to lose.

Playing not to lose is, unfortunately, the typical death spiral today of our corporate giants. Instead of wow’ing customers and delivering outstanding products customer want to pay for, they hunker down and try to squeeze as much cost savings as they can out of their current, failed strategies. They think they can survive until better times if they just save a few more pennies. Unfortunately, this doesn’t happen. Cost cutting without innovation is a race to the bottom. You can’t out cost-cut your competitors, so you’re just racing to see who fails last. The game becomes about not losing, even though you really do lose.

Top companies play to win. I’m sure Apple controls costs, but their first priority is to delight their customers. You don’t see Apple trying to undercut Samsung and Dell to stay relavent. They build a product people want to buy, and as a consequence, can set the price point where they want, and not worry about the competitors.

Being in IT, it is incredibly easy to tell when a company isn’t playing to win. The first sign is usually having a bean counter in the IT management chain. Bean counters are usually 100% about not losing, instead of winning. Robert Crandall at AMR was a bean counter. He was proud he saved $700K for the company by not putting olives in the salad. Yet he was completely oblivious to how all those small cuts affected his company’s brand and destroyed customer loyalty, costing him 100x what he thought he saved.

The second sign you’re company is only playing not to lose is when you hear IT management start talking about “running IT like a business”. This means your senior managers failed to run the business like a business, and now they’re just looking to trim corners to stay alive. Unless you’re in the IT business, you can’t run IT like a business. IT is cost center. Can IT implement a chargeback model and increase billable hours to the business? Or increase rates? Maybe even increase production support costs and start charging per deployment to create extra revenue? Of course not! You would only be a paper profit center, robbing from Peter to pay Paul while having a zero-sum impact on the company’s bottom line.

So “running IT like a business,” when IT is a cost center, is a fancy way of saying “we’re going to cut costs in IT to try and hide our inability to run the business like a business.” It means they’re playing not to lose. But you can’t win by playing not to lose.