Archives For Personal

This week, I signed up for the upcoming Big Nerd Ranch Android bootcamp near Atlanta. I attended the iPhone bootcamp last year and it was great. I’m expecting great things out of the class. It is taught by Mark Murphy, the founder of CommonsWare and the author of Busy Coder’s Guide to Android Development. I’ve got a subscription to the Warescription so I’ve had access to Mark’s books for a few months. I really like his writing style. I just need more hours in the day to work through all the examples.

On the Android front, the Android 2.1 SDK dropped this week. At this point, the only device running 2.1 is the Nexus One. I imagine a number of other devices will be showing up with 2.1, but for now, there are still a lot of devices that are running sub-2.x SDKs. The Platform Versions page at the Android developers site gives you a ballpark of the number of devices running a specific version of the Android platform. Again, it’s a ballpark, but definitely let’s you know that over 70% of all devices accessing the Android Market are still running sub-2.x versions of the SDK.

What does that really mean? As a developer, I have to make a decision when writing applications on how many devices I really want to support. With iPhone, I recently dropped support for any devices that are not running at least 3.0. I think with as fast as the Android updates have been dropping, I may have to do the same with Android.

I think it will boil down to what devices are really using my applications. If 95% of my users are using devices supporting the 2.0.1 and higher platform, you can bet your bottom dollar that I’ll drop support for anyone that is running anything less than 2.0.1 as quickly as I can. Sure, that might upset some users, but the reality is it is not worth my time to support less than 5% of an installed user base.

Also this past week, Terracotta released version 3.2.0. As I have said in the past, I really like what Terracotta can do for developers. All of people that I follow on Twitter that also use Terracotta really like what they are seeing in 3.2.0. My initial impression is also very good. It was a drop in upgrade from 3.1.1. The changes they have made for locking are pretty amazing. I was working through an issue while taking thread dumps between 3.1.1 and 3.2.0, I saw some amazing differences in how things work.

If you are considering building a scalable website where you need web sessions and Ehcache clustered, it is an absolute no-brainer to use Terracotta. If you have any questions on how to do it, send me a message through the contact form and I’ll be glad to talk with you about how I have used Terracotta to do just that.

Finally, the Charlotte Startup Weekend is currently scheduled for May 14-16. I’m looking forward to attending. I’ve never attended a Startup Weekend before, but based on what I’ve heard from people that have and the videos on the site, it looks like a lot of fun and a place where I would be both deeply inside and outside my comfort zone.

As always, if you have any questions, please let me know by sending me a message in the contact form

Darin Pope

This past week, Sean Cribbs presented “Story-Driven Development with Cucumber” at the Charlotte Ruby User Group. I’m still trying to get the hang of Ruby, but I have to admit, there are a lot of cool tools around the Ruby community, and Cucumber is no different.

Here are a couple of items that I gleaned from the talk:

  • miscommunication == waste
  • focus of SDD is stay lean and create value
  • if you haven’t reached the answer in 5 whys, there’s no value in the process

I’m looking forward to spending some time with Cucumber. I think it will help with some upcoming projects.

One of the tools that Sean talked about is called Lowdown, an online app to create, edit and discuss feature stories. Based on a demo that he gave of Lowdown, I’m looking forward to trying it out to write some of the stories.

One of the other apps I’ve been reviewing is Plone. I’m trying to find an open source content management system to replace an existing system for a client. However, there are a couple of requirements:

  • you must be able to bundle together assets and publish them in a bucket, not just a one-by-one edit and deploy
  • there needs to be a workflow to publish from a development environment to a QA environment to a staging environment to finally a production environment

I had looked at Lenya, but it doesn’t appear to cover these 2 requirements. So far, I think I can make Plone work, but I can tell it’s going to take some work to get the workflow setup the way that I need it. There is an extension call EnSimpleStaging, but it’s still not exactly what I need. I hope to spend some more time with it this week. If anyone has any suggestions on how to implement my requirements with Plone or with any other CMS, please contact me.

Finally on the tech side, I signed up with a developer (free) edition with RightScale. I haven’t had time to really start working with it yet, but that’s on the list for this week. I’ve got a couple of projects that I want to try out, so I think RightScale is going to help me build out a couple of cloud options with both Amazon and Rackspace. That’s where it appears that RightScale really makes it easy to mitigate your risk with just one cloud provider. Yeah, I know. I need to feel the pain of setting up some EC2 instances by hand. However, I’ve got too many other things going on, so RightScale is going to be my shortcut for now.

Here are a handful of tweets that I rung my bell recently:

Jeff Atwood
“it’s better to be safe than sorry” is such crap. You know what’s better than being safe? Being AWESOME.

Shane Duffy
“My irresponsibility eventually becomes someone else’s responsibility.”

Debbie Allen (in response to Shane Duffey)
and “Your lack of planning will not become my emergency”

As a followup from my rant last week, I invite you to visit the Punk Rock Employee Handbook. WARNING…some of my readers may be offended…but don’t start me ranting again πŸ™‚

According to releases from both companies on 12/23, Pinch Media and Flurry are merging. I’m using both providers and have been pleased with both of them. I’m really looking forward to combined company and the new products that they will bring to market over the next year.

I still haven’t tried out Google Analytics for mobile yet. I’ve got a small project that I’m going to do soon, so I’ll use GA for that one to see how it works.

I’m anxiously awaiting the next GA release of Terracotta. Based on the buzz I’ve been seeing from the Terracotta big dogs on 3.2, the performance is greatly improved over previous versions. As a user of Terracotta for over a year, it’s only gotten better with every release. I’m not expecting any less in this upcoming release.

Speaking of Terracotta, there is a new NoSQL-ish like product using Terracotta at it’s core called Terrastore. There was a really good writeup on it this week at High Scalability. The project is being run by Sergio Bossa (@sbtourist). I’ve been looking at MongoDB for some solutions, but I’m seeing Terrastore as a potential solution for a number of other situations.

Sergio made a great tweet earlier this week:

Everything has its use cases: redis, mongo, distributed databases …. that’s the beauty of polyglot persistence πŸ˜‰

Sergio is right on track. Over the years, I have had clients ask me, “should we use tool A or tool B to solve this problem?” My answer has always been “it’s not either-or, it’s probably both or neither.” I know this answer can drive people crazy, but honestly, pick the right tool for the the problem you are trying to solve. If you only know Java, you are going to gravitate towards Java to solve your problem even though the same problem could be solved with a piece of hardware or a 1-line PHP program.

<rant>
What’s does it boil down to? Basically, grow up and take responsibility for yourself and your career. If you are unwilling to step back and think for yourself and even potentially (gasp) learn a new language or skill on your own without your boss telling you to, GET OUT OF THIS BUSINESS!!! You’ll be doing yourself (and the rest of us) a huge favor. Find out what you are really meant to do and go do that and quit taking up space for the people that are willing to think for themselves, not be whiners and to do whatever it takes to get the job done.
</rant>

ok…that’s out of my system…for now

I finally finished reading Ship It and also read Confessions of a Public Speaker. Now, I need to go back and re-read Career 2.0 this weekend while my rant is fresh on my mind.

You thought I was ranting at you? Ok, maybe partially, but I was really ranting at myself. Career 2.0 is a great book to kick you square in the butt and the new year is a great time to take that kicking.

I still have to get to Algorithms of the Intelligent Web, but right now I’m in the middle of The Art of Scalability. So far, it been a really good read so far and I want to get through it this week.

I’m still working on putting together some iPhone training videos soon. Once I take care of a couple of things on Friday, I’m going to lock myself away and map out what I want to get done in my business in the first couple of months of 2010, and the iPhone videos are near the top of that list. (First on the list, closing out the 2009 tax year. Gotta keep my CPA happy!)

I’m waffling right now on what platform/language I want to really tackle this year. I was leaning towards Clojure, but with a lot of uncertainty in that space, I’m considering sticking with my mobile slant and really stepping up my iPhone dev skills along with my Android skills. I’m still trying to shake out the details, but I’m really wanting to go to the Android bootcamp at Big Nerd Ranch in February. I’ve been doing some Android development and I feel comfortable, but now is the time for me to get some formal training and unlearn some bad habits before they become too deeply ingrained. This is the way I learned iPhone development and I’ve found it’s the best way for me to learn.

As I sit here on New Year’s Eve, we have a house full of teenagers to ring in the new year. I’m sitting here with my Roku box watching some random TWiT and Revision3 shows. I’m finishing up this post and I’m thinking about where this year has gone. It seems like it just started. I’m really looking forward to 2010.

For all of you that read this blog, thank you. That’s something I don’t say enough. If you haven’t told your family, friends and co-workers thank you, make that one new year resolution that you really try to keep. Trust me, it will go a long way.

If you at my last post, you’ll see I was whining a bit about Google Checkout and Google Adwords. Fortunately, that was resolved this week. Google re-opened my Adwords account (yay!, even though I’m not using it right now) which then allowed my credit card to work with Google Checkout. Lesson learned…Google’s left hand doesn’t always meet with Google’s right hand in a quick and responsive manner.

If you are looking at purchasing some books from the Pragmatic Bookshelf before the end of the year, now is the time to do it. From now until 11/25, they have a 40% off sale off of most everything in their bookstore. Here’s a link to the most recent newsletter with the information:

40% off PragSale

Thanks to help from some of the Terracotta guys this week, I finished upgrading a client’s Spring based web application to be able to support TC 3.1.1. Prior to 3.1.1, there was a <spring> element that made configuring a Spring based app really simple. From 3.1.1 and forward, that support has been dropped. There were a number of code changes that I had to make this upgrade happen, but now, thankfully, that is behind us. Now I can get back to some heads down iPhone development.

Finally, I’ve held off on posting some extremely personal stuff for quite a while. The rest of this post is going to be real personal, so if you are here for the nerdly stuff, you can jump out and I’ll get you up to date on more development news next week.

If you are still here, thanks for hanging around.

Since I was running behind in posting this week, I just read that Pastor Billy Joe Daugherty passed away this morning from Non-Hodgkin’s lymphoma. Some of you know, but probably most don’t, that my wife was diagnosed and treated for a form of NHL a few years ago. She’s been clear for 2 years. When she was diagnosed, it knocked the breath out of our family for a couple of days. Once we got our heads back on square, we knew beyond a shadow of a doubt that 2000 years ago Jesus died for Val’s healing. We had (and continue to have) great people that kept us reminded of that without beating us over the head with it.

So, why is my wife still hanging out here on planet Earth and Pastor Billy Joe isn’t? I can’t answer that. Medically, there are almost as many forms of NHL as there are stars in the sky. (ok, slight exaggeration, but not by much) I don’t know the exact form that Pastor Billy Joe had, but based on how quickly it appeared to progress, I don’t believe that it was the same form as my wife had.

Here’s what I do know: Pastor Billy Joe was the real deal. He loved God and loved people. I never had the honor to meet him, but over the years I’ve known numbers of people that have called him their pastor. Consistently, people have said what you see is what you get. Even when a guy came in and punched him out during a service, he didn’t punch back, he still showed love to that guy. (The redneck in me probably would not not have. I would hope I’ve grown up more by now.)

Today, we lost from our day to day lives one of the greatest examples of Jesus on the planet. To Pastor Billy Joe’s family: you are in our prayers. To the family at Victory Christian: keep loving people.

See, I told you that was going to be personal. With this week being Thanksgiving, go hang out with as much family as you can, blood or otherwise. Enjoy football (if you enjoy that kind of thing πŸ™‚ ) But mostly, be thankful.

Darin Pope

I’m waiting in DFW for a connection back to Charlotte. I was in College Station the past couple of days attending a conference put on by my friends Steve and Kerry Beck, the owners of FamilyEbiz. I’ve known Steve and Kerry for the past few years and it was good to hang out with them for a couple of days. If you are wondering how you can start a business on the internet without dealing with all the slimeballs that exist out there, Steve and Kerry are the people that you want to work with.

This week was extreme productive. I submitted an update to one of client’s iPhone apps to Apple’s AppStore. Now we wait. It’s been taking about 2 weeks recently to get approvals or rejections. Hopefully this one will go smooth.

I also took some time this week to install and play with the latest and greatest from Terracotta including Ehcache. The demo was really straightforward, but now I get to have the fun task of upgrading an existing installation to the latest version and also doing an initial implementation with an open source ecommerce solution. These should be a fun few next weeks πŸ™‚

I also gave a presentation at the Charlotte JUG on iPhone development and simple and easy integration with RESTful Java services. If you were there, thanks for showing up and hopefully you got a lot out of the presentation. Here’s the links to my GitHub account with the presentation and sample application that we built in the presentation:

http://github.com/darinpope/iphoneandjavawebservices

If you find anything that I messed up, please let me know and I’ll fix it.

Finally, I’ve started working on a couple of Android projects. My first action was to go and look at the Upcoming Big Nerd Ranch Classes and see if they were offering the Android class they have any time soon. Unfortunately, the class isn’t until February and it has 2 strikes against it for me to attend:

  • my daughter’s 17th birthday is that week
  • the Super Bowl is on Sunday before the Monday the class starts. Just in case you didn’t know, we celebrate 3 major holidays around our house; Christmas, Easter and the Super Bowl.

Notice I didn’t mention price. Yes, the class is $3500, but your lodging and food are included in that price. And the food…oh…the food… If you haven’t taken a course with Big Nerd Ranch at Banning Mills in Georgia, you need to at some point in your career. I think you will really enjoy it.

Back to Android…I clicked through to the instructor’s (Mark Murphy) website for Android Development. As soon as I saw I could purchase all his books in digital form (including Kindle!) for $35/year, I quickly went and signed up for the subscription. I haven’t been disappointed. I wish I would have had books like Mark’s when I was starting out doing iPhone development.

The books are not a beginner’s guide to programming, but they are a very good hands on newbie guide to Android development. The tutorial book takes you through step-by-step of exactly how to do development from the command line and giving you challenges on how to do the same in Eclipse. If you are considering dabbling in Android development, I would not purchase any other books except for Mark’s.Β  I’m still working my way through them, but I feel like I’m going from zero to 60 in a really short time.

Well, it’s about time to board so I better wrap this up. As always, if you have any questions or comments, leave them in the comments section below.

Darin Pope

Fortunately for me, it’s been a very quiet week. We’ve had minimal issues from the client launch last weekend. We’ve found a couple of things to cleanup, but nothing major. It made my trip to Dallas for the weekend a lot more sane not always having to constantly look over my shoulder, or in this case, looking at the Nagios Tactical Overview, to make sure everything was going ok.

When I arrived into DFW on Thursday to start the meetings, I was on my way over to the hotel when I saw a black cloudwall. I tweeted later:

***************************

Thoughts on returning to DFW: I really miss being able to turn on @powerfm on the radio; I don’t miss storms that turn day into night

***************************

But like all Texas weather, all you have to do is wait 5 minutes and it will change. This storm was no different. Again, I don’t miss that kind of weather.

My meeting with the Broadleaf Commerce team went really well on Thursday and Friday. I’ve got a few things to do to help contribute to the project now. I’m going to be creating some screencasts discussing installation and configuration along with doing some code review.

One of the other things I’m going to add (at least in isolation for now) is some RESTful web services so I can use BLC as my web service layer for the upcoming Charlotte JUG presentation titled iPhone Development with RESTful Java Web Services. If you are in the Charlotte area on October 21st, please be sure to drop by for the presentation.

One of the other tasks for me is to integrate BLC with Terracotta. As you know, I really love what Terracotta provides. For websites, you can start as simple as session failover all the way through fully clustering Hibernate. I think for the first pass, applying the KISS principle, I’ll get session failover working. Once that works, I’ll let the core team let me know which way to go from there. I think that it is going to be a fun project to work with and will stretch my thinking in a number of areas.

I’m looking forward to a couple more client meetings from now through Monday along with seeing friends I haven’t seen in about a year. Then, back to the airport late Monday to return to CLT. I really do love what I do.

I’m still on the search for the language or product to learn this year. I was initially leaning toward Ruby, but now I’m not so sure. I’ve got some other people telling me Sharepoint. Not sure if I’m ready to go back to a Microsoft platform or not πŸ™‚ Either way, you have a suggestion of what my next language/product is that I should learn, leave it in the comments section below.

Darin Pope

Do as I say, not as I do

darin —  September 19, 2009 — Leave a comment

“Proper planning will keep things from turning into emergencies. Lack of planning makes everything an emergency.” – @scottjallen

I broke one of my cardinal rules over Labor Day weekend and I meant to blog about it last week, but I was too ashamed to admit what I did. I jumped the gun and upgraded the trusty MBP to Snow Leopard. Boy, was that ever a HUGE mistake, at least for me.

Now, mind you, the upgrade was flawless. Dropped in the DVD and let it run for an hour and there was my shiny Leopard-upgraded-to-Snow-Leopard install. That’s where the problems began. I ran into a few pieces of software that I use on a daily basis that were not playing nicely with Snow Leopard. Then came my favorite IDE right now, Xcode. What I didn’t read and realize what that once you upgrade to Snow Leopard, you have to upgrade Xcode to the version that was on the DVD and then apply the iPhone SDK extension. At the time, that version of Xcode did not build for any OSes below 3.0. For me, that was the showstopper. I had 2 apps that are built to 2.1 that I was in the middle of making some maintenance changes.

Of course, I did a full clone of my drive using Carbon Copy Cloner before I started the upgrade.

Oh, wait.

No, I didn’t.

Sigh.

After the upgrade is *NOT* the time to do a clone. So, I ran out to OfficeMax and used a coupon I had and purchased a new WD 500GB drive for ~$100. I formatted the drive HFS and then cloned the upgraded Snow Leopard drive off to the new 500GB drive. A few hours later, I had Snow Leopard running on the external USB drive. Now mind you, it didn’t run fast, but I had all my data and everything worked well enough for me to format my internal drive and do a clean Leopard install on the internal drive.

I’m still trying to get everything right, but I’m really pretty productive right now. One of the biggest issues I had was I had cloned my old Dell laptop to a VMware image. That image was almost 100GB. Since my internal drive is only 250GB, I was always pushing the capacity of my drive. Now, whenever I need to access my old Dell image, I run it from the external drive. Again, not the fastest solution, but it works good enough for what I need it to do.

I’m sure at some point I will do a clean install of Snow Leopard on the MBP, but I will *NEVER* do without cloning what I have first again. A $100 drive is cheap insurance.

On the bright side, my daughter’s MBP and all of her software play very nicely with Snow Leopard. With apologies to Meat Loaf, I guess that one of two ain’t bad.

I’ve recently started doing more Android development along with all my iPhone development. Up until recently, there was only one device, the G1, and it was only offered on T-Mobile. Now, there is another device (The T-Mobile myTouch 3G). This is now old news, but on 9/10 (a little after press time for me), Motorola announced their upcoming Android based devices. I’m not really sure what’s going to happen. In my opinion, none of those devices come close to putting a dent in the iPhone. However, the more I develop for Android, the better I like it. I don’t think I’ll be abandoning iPhone anytime soon, but Android is *so* much more fun to develop for than Blackberry. My gut feel is iPhone will get leap frogged by someone else, or even possibly themselves. However, I don’t think that will happen within the next 24 months. I could be wrong, but time will tell.

Recently, I purchased Parallels and have been real happy with it. I’m also using VMware Fusion, but Parallels has been a better choice for some of the VMs that I’ve been using.

That’s when some other strangeness began on my beloved MBP.

One of my client’s uses Cisco VPN. When I was at the hotel the other night, the hotel internet was flaky at best. I took out my trusty AT&T Mercury USB modem and attempted to connect. After about 5 seconds, the Cisco VPN client would disconnect. I then went off on the great Google search to solve my problem. After a number of search phrases, I finally found a post titled “Cisco VPN client used over 3G modem incompatible with Parallels”. Hold up, wait a minute, put a little love in it! (I’ve been listening to Business Up Front, Party in the Back from Family Force 5 a lot recently.) As soon as I disabled IPv4 and IPv6 for *both* of the Parallels network adapters, my 3G modem started working great. That kept me going for at least another hour before I the hotel internet came back online.

Now I need to check and see how much data I pumped through the modem in that hour. I don’t think I came anywhere near the 5GB monthly limit, but you never know. Next test is to take the modem to the McDonald’s and Starbucks and see if I can get the WiFi to work with the MBP finally. That’s fodder for a later blog post.

This past week, I’ve spent quite a bit of time installing and configuring Capistrano and Chef. I’m still not ready to write about my adventures, but suffice it to say that it hasn’t been the best of times. However, I’m liking where I’m headed with both products and I should have a short writeup here within a couple of weeks along with a more detailed adventure over at the corporate blog at the PlanetPope blog.

Also on the short term radar is Appcelerator Titanium. I’ve got it downloaded and have my mobile account setup. I met Chris Beck at the Charlotte Ruby Meetup. He recently tweeted “Just finished up one of the new iPhone apps I had planned. Knocked it out in two days with Appcelerator Titanium.”Β  I’m trying to think of a few quick applications to run through Appcelerator Titanium to see how good it is. I will definitely be going into greater detail on the PlanetPope blog about this venture.

Finally, many of you know that I am a huge fanboy of Terracotta. One of my clients is in the process of building out a new production infrastructure and they are moving to 64 bit Linux. The Terracotta server is a nice, fat box and the clients (in this case, Tomcat 6) are running on some tasty VMware ESX boxes. VMware produces some really nice documentation on how to configure ESX servers for an optimal setup to support Java. One of the items is using large pages. However, VMware’s supporting documentation specifically about large pages left a lot to be desired. Then I found a post by Andrig Miller titled JVM Performance Tuning. He gave a great step by step of how to configure the box. I’ve followed all the steps, but for some reason, I’m still getting the message:

Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve shared memory (errno = 12)

on startup. Everything seems to be setup correctly, so I guess I still have some more work to do to get it right. Once I do, I’ll post it up at the PlanetPope blog.

I’m looking forward to a really busy weekend prepping for a massively huge release next weekend. I’ve spoken with some friends at other shops and it seems this is the time of big releases. I noticed yesterday that US Airways had a new site. Today, they were back to providing their old site. I’m guessing it didn’t go so well. There’s a lot to be learned from watching large sites do rollbacks. It would be great if someone would provide the insight into these launches. Oh, wait…that’s exactly what I’ll be doing next couple of weeks. Hopefully it will be all happy and not sad news.

Darin Pope

This has been a very interesting past few weeks. For the people that follow me, you may notice that I didn’t post last week and my tweets have been sparse. The short story is I ended up having to go the doctor unexpectedly last week, but everything is all good, so thanks for asking.

I have not been able to make as much progress as I wanted yet on the iPhone development course due to client commitments and the doctor visit, but I’m going to be mind-mapping it out this weekend. I’ve received a few good suggestions and I’ll be rolling those into the course as well.

For those of you that know, I’m a huge Panhead (Skillet fan). I picked up their latest project, Awake, the other day at Target. I have not been disappointed. Then, to top it off, Skillet was featured on Yahoo on Thursday for the video premiere of Hero. Very tasty pyro. I saw them at the last show of the Comatose tour with Disciple and Decyfer Down in Greenville, SC and again at Creation West when hanging out with Creation MC extraordinaire Mark Warfel. Neither time was disappointing.

If I was 10..20…I better stop…years younger, I would love to go back out on the road for a tour. Not a long one, but maybe a month or two. The five years I was on the road (1988-1993) were some of the best years of my life:

  • I met and married my wife
  • We had our first and only child
  • I got my CDL and could drive anything but tankers, haz mat or motorcycles (I still keep it current. I spent too much time getting it to let it lapse πŸ™‚ )
  • I worked with some really cutting edge lighting fixtures from High End Systems
  • I rode and drove around in one of the coolest busses of all time
  • Got to play DisneyWorld not once, but twice
  • I started hardcore programming in PICK/Unidata/Universe on Wyse 50 terminals (amber, not green, thank you very much) connected to a 286 tower with 128K of memory

Even though I grew up around TRS-80s and PDP-11s, it was during those years on the road that I really got the bug for software development. For some of you youngsters, forget about not having Google, we didn’t have the internet. Getting a subscription to magazines or dialing into bulletin boards on 300 baud acoustic coupler modems was about as far as you could go to get information. Compuserve was in its infancy. A new startup called AOL was trying to make it easy to exchange information and play games.

Fortunately for us, there was a Micro Center right around the corner in Marietta, GA. To this day, that store is still open. I dropped by the last time we were through Atlanta. It was like a small homecoming. I could probably buy a small country for the money I spent there during 88-93.

Fast forward 16 years. Today we have the internet not only on our computers, but on our phones. We can constantly broadcast where we are. We can communicate with friends around the world at no cost via Skype.

How did we make it without this technology? The same way our forefathers did before Henry Ford invented the automobile…we got by, but boy, it is easier now.

Embrace technology, but remember it’s just a tool. But even tools fail, leading me to…

Today is 9/11. I thought I would write down what my day was like back in 2001. It will always help me remember.

Tuesday, 9/11/2001…I was in Trenton, NJ at a client’s office around my normal time of 7:30am. My day was going along pretty much like normal when suddenly, someone ran in and said that a plane had crashed into one of the Twin Towers. Immediately, we tried pulling up CNN or any other website to figure out what was going on. No news websites were responding. Finally, someone was able to get a feed from a TV station in Russia rebroadcasting what I think was a CNN feed…just in time to see the second tower get hit.

A few minutes later, the client’s campus became a ghost town. I headed back to my apartment, thinking of the what ifs.

What if my family had been in town?

My family had just flown back home on Saturday after spending a couple of weeks with me in NJ. They were in the city on Friday. My wife gave our daughter the choice of going to a restaurant at the top of one of the towers or going to McDonalds. Of course, she choose…McDonalds. (BTW, they also saw P.O.D. at Battery Park that day at a MTV shoot. I really wish I would have skipped work that day πŸ™‚ )

What if I can’t get home for a few weeks?

I was flying in and out of Philly every week. On Tuesday, no one knew when planes would go up again. I was scheduled for Thursday night, but they rescheduled me for a Friday morning flight. I wasn’t holding my breath. I arrived 3 hours early in Philly. There were military forces *everywhere* fully armed. I had never seen anything like it before in my life nor had any of the military ever done anything like this on US soil. Except for the very long wait times, most everyone played nice and didn’t do anything stupid. Some of my extended family didn’t get off as easy. My uncle and aunt were stuck in Vegas and it was going to be a couple of weeks before they got out. They were able to rent a car (thankfully) and drove straight through from Vegas to North Carolina.

What if…?

Don’t let another week/day/hour/minute go by without letting the people you love know that you love them. Do I get this right all the time? Ask my family. I still have a way to go.

Don’t put off doing something from your bucket list because tomorrow may blindside you and that something is no longer an option.

I just read a blog post entitled “Time is abundant, you’re just wasting it“. Do yourself a favor and go read it right now and then come back.

Really…I mean go read it now and then come back.

Now that you have read it, what do you think? How can you reclaim wasted time in your life to accomplish the What Ifs from your bucket list or to pick up the phone and tell someone that you love them?

This week’s post has been a little more somber than normal. I’ll try to get back to my more jovial self next week. (That’s a joke, BTW)

I’m also going to be tackling Capistrano and Chef this week with a client, so if anyone has shortcuts they can pass along, it would be greatly appreciated.

Darin Pope

As I write, I’m cruising at 27,000 feet from Miami to Charlotte after spending part of the week on site with a client. Very productive, but the week flew by way too fast.

This week had some fairly major announcements in the Java arena. Terracotta acquired Ehcache. That’s probably the best news I’ve had all year. I am a huge proponent for Terracotta and our client uses Ehcache extensively. Even though I’m a Terracotta fanboy, I will admit I did have some questions on why they were building their own cache to support the greatly expanded Hibernate support in 3.1 versus spending time to improve on Ehcache. But I figured, “well, they are really smart guys, so I guess it makes better sense for them to roll their own.” As soon as I saw the Ehcache announcement, I was really happy. IMHO, it’s a great deal for both Terracotta and Greg. I’m looking forward to seeing how both products will improve by leaps and bounds.

One of the other big announcements for the week was SpringSource acquired Cloud Foundry. Honestly, I’d never heard of Cloud Foundry because most of my work is heavily driven by PCI and PII compliance, the “public” cloud was never really an option. However, I’m starting on some other projects that are not in the PCI/PII arena, so this is something that I will definitely be digging through.

The whole cloud space is very intriguing, but since I approach development from a sysadmin/ops/app support angle, I’m always thinking about the platform the solution is going to launch on from Day 0 of a project. I really like only paying for what I need when I need it. Which leads me into my next thought…

I’ve had the privilege to speak with Frank Cohen and Troy Amyett at PushToTest over the past few weeks. One of our clients is looking at their testing solution. The client currently uses one of the larger hosted load testing solutions, but as I told Frank the other day, “it’s cheaper to pay for a funeral than it is to load test my site.” I really like what I’m seeing with PushToTest. It’s as easy or hard as you want it to be. One of the largest differences between their Community and Enterprise versions is the Enterprise version allows you to spin up load test instances on a number of the popular cloud providers (Amazon, etc). To me, this is a developer’s and tester’s dream. No more having to have a third-party to write your test only to find out that the test is correct and you have to start the whole cycle over again. With PTT, I can use Selenium to “write” (record) the click tests and then use that test for functional, load and business monitoring, all with little or no changes. Then, if I need to write a JUnit test to do some other testing, I can do that as well. My only beef with PTT is their GUI. I guess I’ve been spoiled with the likes of Eclipse and IntelliJ. But for the amount of power I get with PTT, I can deal with the lack of eye candy.

One of the other amazing products that I saw this week was the mobile platform from Kony Solutions. Since I’ve been doing quite a bit of iPhone development this past year along with some Blackberry development, I was quickly seeing that hand-coding thick clients for every new device and updates to the mobile OSes is a losing battle.

Kony provides a very tricked out solution that allows you to “write once, run everywhere”. When I first heard that, I said, Yeah, right. However, based on what I have seen so far, it really seems to bring the goods. The basics is you use the Kony IDE to do all your development. It’s not WYSIWIG, but more of a layout tool. Then you can tweak the layout for specific devices (iPhone, Blackberry, etc). The other thing that is cool is that it will also create multiple mobile compliant websites that are optimized for non-smart phones, but also optimized for the iPhone Safari browser. Kony doesn’t generate code to the lowest common denominator, it generates it to the highest. For example, the iPhone ships with a native tab controller, but the Blackberry doesn’t. With Kony, they have their own tab controller. Under the hood for the iPhone code, it uses the native iPhone tab controller, but the Blackberry has a custom control written. That kind of feature alone is well worth the money.

Even though the development tools are cool, the server component is much cooler. With the exception of the iPhone, all your deployments are managed by the Kony server. There is a built in ad server (semi-cool), but there are a lot of real time management tools that make life really nice.

If you tried to roll your own solution, it would take you probably a number of months if not years to come close to what Kony can provide you today.

You may ask yourself, “how much does Kony cost”? Well, what I can say it’s more than the $99 iPhone developer fee and less than the US National Debt. This really is an enterprise product with a price tag to prove it.

Here’s the bottom line with Kony: they are targeting the enterprise level clients, not the shadetree (how can I make $1MM overnight with an iPhone app) developers. Do I think what they are charging is reasonable? Absolutely. Will most people have sticker shock? More than likely, yes. However, if you step back and look at the value of what Kony provides in their development tools and processes along with the server portion, I consider it a very reasonable deal. If you are seriously looking at a mobile solution for your company without having to really increase your staff, you really should give Kony Solutions a long hard look.

Also this week, I went old school. I mean, really old new school. I saw a tweet from someone about the new Tron soundtrack from AmazonMP3 for $1.99. Yep, you read it right, $1.99. (It was the Daily Deal for 8/19) When I went to purchase it, I noticed it was the London Philharmonic. Epic Win. It’s been playing almost non-stop in my iPod. The two songs from Journey that are on there are pretty good as well, but they are no Don’t Stop Believin’. I will admit, I’m not sure that I will go see the movie, but the soundtrack is really, really good.

Next week has some interesting items in store.

On Monday, I’m headed to the preeminent social media conference in Charlotte called SocialFresh. Now, even though I blog, have a Facebook page and tweet some, I don’t consider myself a “social media guru.” (Every time I hear that term, I grimace.) I’m not looking at getting into that space as part of our core business, but I really like to see how the presenting companies are using social media today so I can try to stay up on the information for my clients when they have questions pertaining to social media. The event is sold out, but there are networking opportunities that people can attend. If you are in the Charlotte area on Monday and you have any interest in social media, you should try to get by one of the social events.

On Tuesday, I’m breaking out the credit card and purchasing Camtasia for Mac. I’m not expecting it to be as feature rich as the Windows version (it is a v1 product), but I am looking forward to a more familiar environment to work in. I absolutely love Camtasia and I think this might be one of the best $99 that I spend this year.

I’m also headed to the rescheduled Research Triangle Software Symposium in Raleigh on Friday. I was sort of bummed it was rescheduled from earlier in the summer, but it’s actually worked out a lot better because I get to go hang with my sister and her family some while I’m there. I’m really looking forward to hearing from Mr. Career 2.0 himself, Jared Richardson, along with few of the other speakers. If you are in the RTP area or within a reasonable driving distance, you need to be at that conference.

To wrap up this week, I want to send you over to a blog post from one of my best friends and mentors for over 20 years, Scott Allen. Before there was coding, there was being a roadie; a lighting tech to be specific. Yep, mullet, ponytail and all. Scott was one of the guitar players. Scott has been writing a series on creative myths and this week’s installment is titled Creative people get paid to play. Even though the post is written primarily to musicians and production people, it really applies as well to developers. If you like it, be sure to leave a comment.

Next week, be on the lookout for information on SocialFresh recap, a new open source ecommerce platform named Broadleaf Commerce, Mobilecamp Charlotte, ProductCampRTP2 and how I’m dealing with being the surrogate father of a college freshman.

If you have any questions, leave them below or you can contact me directly.

Darin Pope

Lines, nerds and bears…oh, my

darin —  August 14, 2009 — 1 Comment

Ok…that’s not really an original line, but stick with me. Hopefully it will make sense as I move through this.

Here’s the attempt at “Lines”

Remember last week I was whining about all the WordPress upgrades I had to do the previous week? There was yet another one this week (2.8.4) and it was an interesting one. If this is going to keep up, I’m going to have to spend some time automating my upgrades to save more time. Here to hoping that this week is WordPress upgrade free.

On to the “nerds”

Big Nerds, that is.

I attended the Big Nerd Ranch iPhone Bootcamp earlier this year. (As a side note, if you want quality training on anything Mac, go with these guys. Plus, if you take the class in Atlanta, you’ll thank me for it. It’s a great location and the food is freaking amazing.) Joe Conway was my instructor. Recently, Joe posted on the BNR blog about dot-notation syntax. That post has set off a a firestorm of posts across the web. His boss/co-worker Aaron Hillegass, shocked by the reaction to Joe’s post, has started a series of “Real iPhone Crap.” Here are links to the latest posts:

It’s going to be interesting to see how all this plays out. I will admit, BNR was my first exposure to Mac/iPhone training, so I am a bit biased. No matter what anyone says, I’m grateful to the BNR crew for helping me move ahead in my iPhone development.

And now on to the bears…Smart Bear Software

I was listening to the new episode of techZING! entitled Smarter Than Your Average Bear. This episode was an interview with Jason Cohen of Smart Bear Software fame about bootstrapping your business. Being a small business owner myself, I always enjoy hearing how other people solved their business problems. If you own your own business, no matter what kind of business it is, you owe it to yourself (and your family and your employees) to listen to and apply the lessons that Jason shares throughout the podcast.

One of the items that Jason brought up was in marketing your business. In his case, he really did write the book on code reviews.

Best Kept Secrets of Code Review

Until I listened to the podcast, I forgot that I already had a copy of the book. At the time I ordered the book, I was looking at implementing a formal code review process with a client, so when I saw the book and that it was free, I got a copy and read it. Once I got to the end of the book, Jason (rightfully so) gave a small pitch for the Smart Bear solutions. Did I think that the pitch was too much? Absolutely not. In fact, for as much information as Jason had put into the book, I would have been totally ok with a harder pitch.

What’s the lesson I’ve learned? I’ve got to “write the book” in order to stand out in my chosen field. Whether I literally write the book doesn’t really matter to me. However, I really have to start promoting my solutions and services and I can’t think of a better way that the way that Smart Bear has done it. It fits my personality a lot better.

One of the things I’m really looking forward to is on 8/25, Techsmith is releasing Camtasia for the Mac. I don’t know how many features this version will have out of the gate, but I’m not expecting to see the same feature set as is on the Windows version. I just don’t think that is realistic for version 1. With that said, they’ll definitely be getting my $99 on 8/25 and I’m looking forward to putting it through it’s paces as quickly as possible. I’ve got ScreenFlow for the Mac, but I’m really comfortable with Camtasia on Windows. If Techsmith even gets it close, I will be saying sayanora to ScreenFlow for my Mac captures.

One of the best articles that I read this week was 13 scalability best practices. As someone who spends the majority of my time trying to architect the most scalable solutions for his clients that don’t have unlimited budgets, this list really helped put in order everything that I’ve been doing as second nature for so long. When I read it, it was one of those duh moments and I asked myself “why didn’t I write this myself?”

For all you mobile developers or anyone interested in mobile development that are anywhere near the Charlotte area, there is going to be a MobileBarCamp in Charlotte in October. It is still in the early planning stages and I should have more information next week and I’ll post it as soon as I do.

Finally, I’m heading up to Raleigh in a couple of weeks for the Research Triangle Software Symposium put on by NFJS. This is the first NFJS conference that I’ve been to so I’m really looking forward to it.

The other thing I’m looking forward to is seeing my sister and her family. They live about 20 minutes from the conference. We don’t get to see each other nearly enough. I’ve gotta work on that. Sometimes you just have to step away from the code.

Darin Pope