Skip to content

Recent Articles

20
Aug

History of the World

One of my favorite movies is Mel Brook’s History of the World, Part I. There is a classic scene where Mel’s character, Comicus, is about to be thrown in with the lions and the clerk asks him his profession. Comicus says he’s a Stand-up Philosopher, to which the clerk responds “Oh, a bullshit artist”. That phrase pretty much summarizes the state of America today. We have become a nation of Bullshit Artists.

I read two very interesting articles recently which synergized nicely with one of the books of I’ve been reading. The book is Seth Godin’s Linchpin, which preaches creating a career that is a race to the top rather than a race to the bottom. The two articles are Forbe’s Why Amazon Can’t Make a Kindle in the USA and Mark Cuban’s blog post What Business is Wall Street In?

The relationship between these three became apparent when HP announced they were ditching PC’s and becoming a “services company”. That’s a nice way of saying “we failed in our race to the bottom and are going to become bullshit artists”. With the exception of a few awesome cases, most publicly traded-companies have slavishly pursued quarterly earnings at the expense of long term viability. A few rich bastards have essentially screwed over several future generations to line their own pockets today.

The key is to make things, which is what we are rapidly losing the ability to do. I was shocked to learn from the Forbes article that we can’t make numerous electronic devices or even rechargeable batteries without China. Given the next world war will be the USA + World vs China (or China + World vs USA), it is ludicrous from a national security standpoint to have eliminated such basic competence from our repertoire.

Germany is the anchor of Europe, and it is because they kept the ability to create things. There are still excellent manufacturers in this county making things, but they tend to be niche and expensive products. Some of my favorites include Goruck, Wilson Combat, Harley-Davidson, Lum-Tec, Bark River Knives, Randolph Engineering and Timbuk2. The Goruck blog is a pretty entertaining read on the pursuit of made-in-America excellence. But none of these together can come close to counterbalancing America’s lost ability to produce stuff. Your typical American CEO would happily whore out their own wives and daughters to improve quarterly earnings, and care even less about the long-term viability of our country.

We need to get back to making things. And the way to make it happen is to vote with your wallet. Look at that label the next time you make a non-trivial purchase. Why aren’t you buying that watch, or sun glasses, or anything, that wasn’t made in the USA? We didn’t win two world wars being a service economy, and your spending will decide whether we become a nation that creates things, or a nation of Bullshit Artists.

5
Jul

We Are Rich

One of my objectives this year has been to read up more leadership and career oriented books. I’ve owned way too many technical books that didn’t end up doing much for me other than take up shelf space, so I shifted styles to reading up on improving myself.

I read The 4-Hour Work Week last year, and in spite of the slacker title, it was pretty good on ideas to improve your work/life balance. It also kicked off my interest in reading this genre of book.

I started the year with Tribal Leadership. One of my ExtJS Twitter friends spoke pretty highly of it, so I gave it a read. I followed it up with Tony Hsieh’s book, Delivering Happiness, about the Zappos culture. I found the sequencing of my reading ironic in that Tribal Leadership talks about the stages of an organization and Delivering Happiness covers what an organization working at the top of its game looks like.

The third book was one I just stumbled upon. I’ve started going to the Social Media Club of Dallas meetings to expand my horizons. I’ve always been interested in social media, and this club allows me to meet the people who make a living at it. Last month’s presentation was by Tim Sanders, who wrote a book called Today We Are Rich.

I really didn’t know what to expect from the presentation, but Tim turned out to be an incredibly talented speaker. The book is mostly about his grandmother, who raised him, intertwined with some rules on living better. His presentation was a mix of excerpts from the book with additional commentary. I liked the presentation enough that I bought the book for my Kindle that night.

The book was fast read, but a powerful read. Tim lays out seven essential principles for a better life:

  1. Feed Your Mind Good Stuff: learn how to identify and filter out the negativity that surrounds us
  2. Move The Conversation Forward: learn to break free from the negative thought cycle and communicate positivity and confidence
  3. Exercise Your Gratitude Muscle: learn to practice thankfulness to build a positive outlook
  4. Give To Be Rich: learn how generosity of self can combat feelings of inadequacy
  5. Prepare Your Self: learn how to fully commit yourself to your goals and be ready for anything
  6. Balance Your Confidence: learn to temper your self-confidence by trusting in others and believing in something greater than yourself
  7. Promise Made, Promise Kept: learn the value of integrity by being accountable for your promises

Each chapter digs in to these in greater depth. Whereas Tribal Leadership and Delivering Happiness started to get a bit too repetitive halfway through, this book stayed fresh to the end. The book’s only fault is that Tim would occasionally drift in too spiritual a direction for my taste.

I’ve started trying to apply a few of these and I can honestly say I’ve felt an improvement in my attitude and perspective. I would have never intentionally read this book if I hadn’t seen Tim speak, yet it has turned out to be one of the best books I’ve read this year. I can wholeheartedly recommend it to anyone.

Tim’s first principle is to feed you mind good stuff. I’ve embraced this and am using it as encouragement to get through a lot more books. My current reading list is:

All are loaded up on my trusty Kindle and I want to finish at least one a month.

So checkout Today We Are Rich, and if you have any other suggestions on books I might like, please leave a comment.

4
Jul

4th of July in Plano

We’ve been living in Plan now for nearly seven years, and like most suburbanites, we don’t get involved much with the city. This year, my wife noticed they have a 4th of July parade. Since my daughter has never seen a parade, and it was right around the corner from the house, we headed over.

The parade was a great time. I was really surprised to see the streets so packed. It was a small town parade; nothing fancy. But everyone was having a great time and I learned straight-laced Plano even hosts a bunch of Boba Fett bounty hunters. I wish the city would put them to use for the red light runners.

So everyone had fun and my daughter was thrilled. We’ll definitely add this to the agenda, and it even gives me a desire to get more involved with Plano.

2
Jul

In the Pocket

I was cleaning out my closet the other day and came across one of my old friends from a decade ago, a Palm IIIx PDA. I popped in a fresh set of batteries, turned it on, and was pleasantly surprised to see it still worked perfectly. The IIIx was the cutting edge when I picked it up in 1999.

As a basis of comparison, I put it next to my iPhone 3gs which I purchased two years ago. That puts these two devices a decade apart:

So what has a decade bought us? And did Moore’s Law carry over to the pocket space? In ten years, that would imply a 32x improvement.

Feature Palm IIIx iPhone 3gs
CPU 16mhz 600mhz
Memory 4mb 256mb
Storage Memory 32gb
Screen 160×160 Grayscale 320×480 16M color



From both the CPU and memory standpoints, the iPhone surpassed Moore’s Law. Screen pixel density doesn’t come close to a 32x improvement, but a iPhone 4 with a Retina Display would be hit 16x, so not too shabby.

The only area that hasn’t kept up is the one I’m sure most smartphone users are painfully aware of: battery life. The Palm IIIx could go for weeks with a pair of AAA batteries. My iPhone needs charger love every other day. This is going to become an even bigger problem as devices get even more powerful. The typical smartphone is mostly battery already.

It’s pretty exciting to think where we’ll be in another 10 years. The PDA/Smartphone is really going to evolve into a “personal” computer. I bet we’ll see:

  • 8 Core, 2ghz CPUs
  • 32GB of RAM
  • 1TB of Storage
  • Built-in projectors that can display HD+ video in excellent quality over 1M
  • Virtual keyboards projected by the device via laser onto the desk for typing
  • Integration with an embedded sensor in the user for health monitoring
  • Earphone patches you stick to the inside of the earlobe for audio
  • Screen navigation through eye movement detection

Of course, the battery is only going to last 30 minutes, and your head will explode from the RF energy if you get it too close, but it will definitely be a sight to behold.

30
Jun

He Chose Poorly…

Some of you may remember the title of this post as the famous last words in the epic Indiana Jones and the Last Crusade. The wise, aged Crusader dead-panned this line right after the evil villain crumbled to dust after drinking from the wrong grail. This post is about Grails, and that scene came to mind when I was writing it.

Turn back the clock four weeks. The president of our company decided we needed to add a new sales channel to our system, and we had to do it quickly to stay competitive. The deadline was set before we even saw the requirements and we just needed to “back in to it.” Ignore for a minute how insane this sounds. My larger concern was the impact to our system. My predecessors designed the entire application around two sales channels. Worse, it was handled via an infinite number of ‘if’ statements along the lines of if not (channel A) assume (channel B). We had just been asked to add Channel C.

Based on the compressed timelime, it would have taken us the entire schedule just to go through the code and unwind the “A or B” logic, nevermind actually adding the new functionality. So based on the narrow set of requirements, we decided to build a whole new application on the side. It was to be an 8-10 page website with a big form, web service calls, database access and some AJAX. Our currently application is a Java/Struts/Hibernate webapp deployed to Tomcat, so I wanted to stay in that comfort zone, but I saw this as a chance to test out something new.

The obvious choice for us was to try Grails. The five developers working on the project were all senior, with 5+ years of experience pounding Java code. We toyed with using Rails, but I didn’t want to introduce too dramatic a technology shift. We figured the project was going to take the team of five about three weeks to get to a testable state. Allowing for some ramp-up, that worked out to around 500 hours of effort for the team.

The team was excited about Grails from the get-go. Most of us had run through the basic tutorials, and were enticed by the prospect of increased productivity. We’re coming up on the end of our development this week, so I discussed our choice to use Grails with the whole team, and factored in my own impressions.

The general consensus of the team, now that they had used Grails in the real world, is that it really wasn’t worth it. Most would use it again, but the real-world productivity increase was more an illusion. The boost Grails gives is setting a clean project structure. Once it comes time to pound real code, that head start evaporates quickly.

One of the biggest gripes is poor tooling support. My team used a combination of Eclipse and STS. To a person, they all said the tools were very weak in helping them out when things went sideways in Grails. We ended up spending extra time trying to debug issues that would have been caught quicker in straight Java.

The dynamic nature of Grails is both a blessing and a curse. It can tighten up the code, but can lead to some difficult-to-troubleshoot errors. My favorite error was when someone used contraints {} instead of constraint {} in a domain class. That stopped us dead for half a day until someone finally noticed the error which the compiler was more than happy to digest.

The one part of Grails everyone appreciated was the web tier with GSPs. That piece works extremely well and really does make life easier. But one of my guys commented that we could pretty much get the same thing using FreeMarker with Spring MVC.

From a management perspective, I was disappointed with how quickly the productivity with Grails plateaus. I’m satisfied we completed the project on time, but I can’t credit it to Grails so much as our drive to limit scope and maintain focus. I believe we could have also reached the finish line using a straight Java/Spring/JPA stack and it would have been easier to work with.

For me, Grails fits in to the “conceptually cool” bucket. For “lone genius” coding, it can probably be very productive. But if I were doing the lone genius thing, I would just use Rails instead of Grails. The spot Grails is trying to fill is the “I want Rails but can’t” space. It is a way of introducing almost-Rails into an enterprise already using Java. Unfortunately, in a team development situation, I didn’t see almost-Rails buy us anything.

The one unintended side-effect of this project was that it piqued my interest in Spring Roo. I wasn’t convinced it was useful, but I’m thinking I could see the same quick start of Grails while keeping the project closer to the known quantity of Java. I’m going to have the team attempt to port this project to Roo when things calm down just to get a more educated impression of it.

If Grails floats your boat, more power to you. A lot of work has gone in to it by a lot of very smart people, and I won’t knock that. Dedication like that keeps the programming field interesting. But in the same way I don’t see a use for JRuby, I don’t see me using Grails again. If you’re good with Java, I would recommend continuing to master your tool over chasing the holy grail. We know how that can end up.