This week, I dipped my toes into the NoSQL world. Currently, I’m evaluating MongoDB for a project. It’s amazing that people are thinking this is new and revolutionary. I was doing this stuff in the late 80s with PICK, Universe, UniData, Revelation and a number of other “post-relational” databases. Back then, it was all green (or amber) VT100 screens. That, I don’t miss one bit. With Mongo, I can use a native Java client, which is a huge plus. I’m hoping to have a prototype done in the next couple of weeks. I’ll let you know how it turns out.

One of the biggest pieces of news from the iPhone front this week was Apple is now allowing in-app purchases inside of free applications. To me, this is probably one of the biggest pieces of news for the year. After building free and paid versions of an app for a client, I see how much of a pain it is to do. However, I think there will still be legitimate cases where you want free and paid versions of an app. Looking forward to trying this one out soon as well.

I’ve spent the past couple of weeks localizing an iPhone app into French.ย  Through that process, I’ve decided that my new process for writing applications will be to localize in the initial stages of development. It doesn’t take an extra time and it actually makes my code look a lot cleaner by extracting all the app copy to a file. Why didn’t I think of this before? Forest for the trees.

This weekend, I’m putting the finishing touches on the talk I’m giving at the Charlotte JUG on Wednesday night on iPhone Development with RESTful Java Web services. If you are in the Charlotte area, please come on down to CPCC downtown and check out the presentation. As an added incentive, there’s free food as well ๐Ÿ™‚

A number of people have asked me what tools I use to do my work on a day to day basis. I’ve listed them below in no certain order.

Mac:

Windows:

Both:

I’m sure I have a handful of other programs that I do use, but these are the core. If you have any suggestions of any apps I should be using, post a comment below.

Thanks for dropping by today. Now, back to polishing the presentation. Have a great day!

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

Thank You and Good Night

darin —  September 27, 2009 — Leave a comment

This is going to be a really short one. We had a big web site go live for a client this weekend. I’ve been up for 36 hours, but I did sneak in a 2 hour nap and the caffeine is beginning to run out…

Here are the highlights leading up to and through the launch, in no particular order:

  • migrated from a Windows based environment to 64 bit Linux. As an aside, one word on increased performance: wow
  • setup Nagios, NagiosGraph and Monit for the entire farm from scratch
  • create numerous Subversion repos to manage ongoing deployment and disaster recovery scenarios for the complete farm
  • implemented UseLargePage for both Tomcat and Terracotta. There will be another blog post and maybe a screencast over at the corporate blog explaining all the gory details. Gory getting there, but now I can save you a lot of time. (I sound like a late night infomercial.)
  • coordinated launch with website, Facebook application and multiple mobile applications
  • fallen deeply in love with pssh and it’s sister utilities

There were a handful of other items knocked out, but you may notice that Chef and Capistrano didn’t make the list. I’m not giving up on them, but due to the short amount of time to get this farm up and rolling (~ 14 days), I felt it was safer to use the tools we were more used to working with (scripts, Subversion, etc) than to throw anything else on the fire.

This week is the turnover to train ops on the new environment. It’s going to be a lot of fun. I always love teaching people that system administration doesn’t have to be hard.

I don’t read everything that Joel Spolsky writes, but the post on The Duct Tape Programmer has applied to me and the client team that I work with over this launch cycle on trying to keep it simple. Another way to look at it is take Larry the Cable Guy’s mantra: Git-ir-done (not to be confused with the version control system)

As evidenced in this video, it’s not necessarily going to be the prettiest thing in the world, but when the deadline is coming, all the extra junk is thrown out the window and you deliver a kick butt product. Yeah, sometimes you have to come back and do cleanup, but that’s just part of the job. Remember, your employer is not your mommy, so stop your whining ๐Ÿ™‚

I’m headed to Dallas, TX next weekend to meet with some of the guys working on Broadleaf Commerce. I’ve been helping out a little on that project and I’m wanting to to see how I can get better plugged in.

Also, be on the lookout for a talk on Using Java based Web Services with the iPhone (and other smartphones) at the Charlotte JUG in October. I’m putting the talk together now and hopefully will have time on the flight this week to knock out a lot of the details.

And with that, I bid you a good night with help from my friends at Lawrence Welk:

Darin Pope

PS. Just to put it in perspective, when I was growing up, the Saturday night ritual at our house was watching Hee Haw at 7pm and Lawrence Welk at 8pm. For some of you, that might help put a lot of things into perspective…

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

This past Monday, I attended SocialFresh in Charlotte. I typically don’t spend a lot of time in the social media space, but a number of my clients are wanting to “get started” in the social media space. For me and my company, it makes sense to learn the basics and then pull in the smart people when I need them.

There were a number of very good sessions, but there was one on Twitter (how can you have a social media conference without making verbal love to Twitter? ) and there was a statement made that transcends all aspects of life:

Experience does not equate to expertise

How true is that statement in your surroundings? I’ve known a number of good people that have been writing code for years but could not code their way out of a paper bag that was used to hold a fresh hot Philly cheesesteak.

Why is that? In my opinion, it’s the hero complex.

You know the type of person. Everyone in upper management loves this person. These people can never do any wrong. They are considered indispensable. They are consistently pulling all-nighters and fixing things right up until the last second before a major release, but they always pull it out, even if it take a couple of weeks of another team cleaning up after this person.

Why is this?

Because they have a lot of experience, but not a lot of expertise. They know enough to not be very dangerous but not enough to do a competent job without causing a lot of stress to themselves and the others around them.

As my friend Davon would say, “Don’t shout me down because I’m preaching good!”

Many of the speakers at NFJS Raleigh also echoed this sentiment. Is this a harsh statement? Yeah, it probably is. However, if this person is allowed to continue in this manner, this will affect the productivity of the team and in return damage the bottom line. People will get grumpy. How do I know this?

I’ve played the hero role a few times during my career.

In retrospect, it’s probably one of the most detrimental things that can be done to a team. Hopefully I’ll never go back down that road again. If I do and you’re on a team with me, please let me know so I can jerk the slack out of myself.

Onto the NFJS wrapup, one word…wow. I’ve never been to a NFJS event before. It was really nice to be at a conference where there wasn’t verbal vomit from vendors. There were a few speakers there that were from vendors, but that’s not why they were there. They were really giving out some serious content that was worth much more than I paid.

Here are a number of takeaways that I have for myself:

  • Setup a Github account
  • Setup a blog for my corporate site
  • Create an account for Google App Engine
  • Start using FindBugs, PMD and Crap4J again on a regular basis
  • Reviewย http://agilemanifesto.org/
  • Investigate Capistrano
  • Investigate Chef

This should keep me busy this week along with all the other client work that has to be completed. I’m also starting work with an open source project this week and hopefully I’ll be able to give you more info on it later in the week.

As always, I’m looking for any questions that you have about iPhone development. I’ll be starting the video production later this week and the videos will be posted over at the corporate blog.

I’m going to try to make this blog a little more personal and the corporate blog really technical. If you want to read both, you’ll get a very interesting insight into who I really am.

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

Happy Anniversary to me! In the past week, I’ve had 2 major anniversaries in my life:

  1. 20 years of marriage
  2. 1 year since purchasing my first MacBook Pro

I love my Mac, I love my wife more. (and the small voice in my head says, “right answer”)

Speaking of the MBP, OS X 10.5.8 was released this week. It’s the last expected major release before Snow Leopard comes out in September. I installed it on Wednesday and everything has been fine with no hiccups. Hopefully it will stay that way.

When I purchased my 17″ MBP last year, it was just a few weeks before the unibody models were released. I’ve had the opportunity to play with some unibody models and I’m tossed on whether I will upgrade or not. I like them, but primarily for the memory capacity (8GB vs 4GB that I have now) and not really for anything else. 4GB has served me well and I’ll probably hold out for at least another year before upgrading hardware.

The other thing I don’t like about the unibody is no full size DVI out. I live on 2 monitors, but if I had to use a dongle, I would.

Snow Leopard is a whole other story. I’m tossed right now whether or not I’m going to upgrade. For $29, it’s a no brainer. However, my MBP is my business (minus my accounting software and screen capture/editing software which still runs on Windows), so I really can’t afford any downtime.

I’m considering upgrading my harddrive (currently I have a 250GB 5400rpm) and then doing a clean install of Snow Leopard. To me, that seems to be the best option right now and would be an “easy” weekend project and I could still pop the old drive back in if there are any issues. I’ll just have to wait and see. Question is will it void my warranty? That’s what I need to find out at my local Apple store.

<bunnytrail>

But not this weekend.

Why?

It’s sale tax free weekend in North Carolina. Last year, I went to the Apple store in Charlotte and the lines were nuts. Fortunately, one of the Apple folks gave me a heads up that I could just order through their online store and they would take care of the sales tax adjustment. Since I was custom building my MBP anyway, I went with a friend down the food court and enjoyed lunch instead of standing in line for nothing.

I’ll put in writing what I’ve told people. The *only* reason I switched to a Mac was to do iPhone development. I was already using Cygwin and mostly open source software for development on the PC platform, so I had a good and robust toolset configured.

Honestly, I still do all my audio and video editing on the PC because that’s the software that I have. iMovie is a pain, but it works in a pinch. I’ve got Audacity on the MBP and it’s been fine, but it’s rare that I use it. I guess at some point, I’ll need to cut all that stuff over to the MBP, but until I have to, there’s no reason to. I turned my old Dell 810 into a rocking A/V machine, so for now, it does all the heavy A/V work and my MBP all about development.

</bunnytrail>

Along with OS X 10.5.8 coming out this week, Apple also release iPhone OS 3.0.1 which fixes a SMS vulnerability. I was holding off on upgrading from 2.2.1 because I wanted a device with the old OS for development purposes (Cut, Copy and Paste just aren’t that cool to me). However, once I read some of the coverage from Black Hat/DEFCON this week on how quickly a reporter’s phone was pwned, I decided to go ahead and upgrade. So far, everything is working good, but a few of my apps are showing some issues that I’m trying to figure how to fix. Hopefully those will be buttoned up next week.

If you are doing iPhone development and have already installed 3.0.1 like I have, you will have some issues building to the device. Login to your Apple developer account and look at the documented titled “iPhone OS 3.0.1 Advisory.” That will give you the instructions on how to get around this issue.

The last big patch of the week that caused extra work for me this week is WordPress 2.8.3. I had just finished patching to 2.8.1 and 2.8.2 and then 2.8.3 came out right after that. I don’t have that many WordPress installations that I maintain, but just enough to keep me busy for a while to get everything upgraded. I typically install using the Subversion method, but I’ve been doing the upgrades inside the app. I think I need to write a script on every server that I’m on to do the upgrades using Subversion as well. That would probably save me a lot of time. I’ll just have to test it and see.

One other CMS I’ve been maintaining is Joomla. They have been coming out fast and furious with security releases recently. I’ve recently picked up the maintenance gig of a Joomla site that was hacked. I’ve played with Joomla in the past, but now I see that’s it’s a cool piece of software. It’s not typically the type of work that I do, but it does help me be versed in multiple options when people ask me what they should do.

One of the first things that I did was to download the OWASP Joomla Vulnerability Scanner. It helped me find a couple of other issues I was able to lock down. I love OWASP. I use a lot of their products and methodologies on a daily basis for client work.

I wish I had more time in the day to devote to penetration and vulnerability testing. That’s fun work to do.

On the lighter side, I’ve put in my order for the Blu-ray edition of Battlestar Galactica. I didn’t watch the series when it was in production, so having ~20 Blu-ray discs to watch should keep me busy for a while. In the meantime, I’m really into Warehouse 13 on Syfy.

If only Chuck and Warehouse 13 would do a crossover episode. They are part of the same family of companies. It could happen. (One could only hope.)

As I’ve talked about in the past few weeks, one of my client’s iPhone apps went live this week. It’s called KeyMABA and it’s little brother KeyMABA Lite. If you have an iPhone or iPod Touch, check it out.

Finally, Twitter was down after a DoS attack on Thursday without even a failwhale in sight.

Did your life continue while Twitter was down?

Mine did.

I’m still putting together my iPhone development course, so if you have anything you would like to see in it, send me a note.

Darin Pope

What a difference a week makes

darin —  July 31, 2009 — 1 Comment

Last week, I took a few days off and went to Creation Northwest to hang out with a few friends. Stepping away from the desk and getting out into the … gasp … sun, has made a *huge* difference in my focus and creativity. I was able to come up with a few different options to a problem that I had been eluding me for a few weeks.

Also, during the flight times I was able to finish up a proof of concept for a new iPhone game that I’ve been working on with a friend. If I wouldn’t have had the time on the plane and in the hotel in Seattle, I don’t know that I would have completed that part of the project. As it stands, once the graphics are complete, the game will almost be ready to submit to Apple. That would be very cool.

Lesson learned: I’ve got to get away a little more often. Maybe not to the other side of the country (jet lag is a pain), but maybe run to the mountains or the beach for a day or two. That’s the beauty of living in North Carolina.

It’s the end of the month, which means accounting tasks on Saturday. Fortunately, my accounting processes only take a couple of hours a month, primarily because I outsource my payroll to a payroll service. People have asked me why I pay $20 per month to write a check to myself. I respond with “I’m not paying $20/month to write a check, I’m paying $60/qtr to have someone else manage all my payments and filings.” That $20/month is the best money I spend each and every month.

If you are still writing and managing your own payroll…stop it…right now…yes, you…stop…right…now.

I use the payroll service through my bank, but there are plenty of good services that offer reasonably priced solutions. Spend the time and find the one that works for you and stop doing manually yourself. There are some cases where it makes sense, but I can’t think of one unless the total cost of doing it in house is cheaper than outsourcing it. To me, total cost includes making sure your payroll person is staying on top of all the tax rate changes that have been coming out this year. That alone would drive me batty.

At some point, I’ll probably outsource my bookkeeping as well, but I’ve been doing bookkeeping for over 20 years, so it’s second nature to me and I enjoy it. It’s a nice diversion from solving problems. I like it when 1+1 actually does equal 2.

Finally, the application that I wrote for one of my clients is scheduled to go live in the app store on August 1. I still can’t reveal the app until it goes live, but next week I will be able to. I’m excited to see how it does.

For anyone that is submitting apps to Apple, don’t forget you can set the date on the pricing tab to way out in the future. I think that is a good thing so you can coordinate your marketing materials to launch on a specific date.

That’s one of the nuggets that will be included in the iPhone development course that I’m putting together right now. If you have anything specific that you would like to see in the course, fill out the form on the Contact section of the website.

Darin Pope