Simplicity is beautiful

I saw a great post yesterday from CodeBetter that had a great quote…

in general, the .NET crowd overthinks and over-engineers just about everything

No matter how bad that sounds – you have to admit it’s probably true (though, im sure its not just a .net thing – it’s a developer thing). Over thinking and overdoing isn’t always wrong – that extra step may be ‘the next big thing’ or pushing the boundaries of what’s already been done. But in most day to day work, sometimes we could just be wasting our time.

His post actually references a post made before it – about jumping the 20% fence. While I didn’t feel that this was pushed in the article, I feel that a good chunk of the ‘bugs’ every developer faces can be from over thinking the actual problem. The more complex your project (as a programer, or any other profession really), the more complex the bugs can be, and the more difficult it can be to get to the root of the problem.

That’s not saying you have complex problems to solve. When solving thee problems, its amazing to look back and say ‘wow, I really did that, and it works!’. But one thing that has always helped me is to break everything down and look at it piece by piece. Develop each piece, and link everything together. Then This not only helps simplify the problem, but helps you to refractor your code as well. Once you know each of these pieces, refactoring is much easier, and helps you see the problem solved as a whole in the end. Finally, if even a ‘little piece’ is to complicated, theres a chance that it can be broken down even more.

I have found that focusing on each of these pieces, getting them done, and moving on – it really adds up. Taking a break isnt bad either – plenty of times I have felt ‘stuck’ on a problem, got up to get something to drink, and came back to easily solve something I thought was near impossible just moments before.

Personally though, I think this may be one of my favorite quotes:

Simplicity is beautiful.

Advertisements

WWDC 2009

As like years past, I wanted to recap some of my thoughts on today’s WWDC keynote. This time more than ever im actually becoming an Apple developer (again) by starting to learn a lot of Cocoa this year. But with Apple using this time to announce new products and services, WWDC keynotes are like any other Apple keynote now.

What was announced:

  • New MacBookPros: My wife and I recently (about 3 months ago) purchased the base Aluminum MacBook, the one that was upgraded today to a MacBookPro. Im honestly not as upset as I thought I was once going to be about this. While its nice to have more power, some new features, and possibly a new display, our MacBook is still much closer to a MacBookPro that previous MacBooks. I always considered it to be closer to the 12” PowerBook it replaced. I am curious to find out though if the new 13” has a new “Pro” display as well at the new price point ($1199)
  • Snow Leopard: As I mentioned last year, I felt Snow Leopard was one of the biggest announcements. I still don’t think many Mac users really understand how awesome of a change this is. And only for $29. This is going to breathe a new life into all Macs, which makes up for the ‘loss’ of my recent MacBook purchase already being bumped today. Snow Leopard covers SO much, but were going to see a faster, more stable OS. With Apple’s close Hardware/Software tie, I’m sure were going to see a new breed of machines next year as well.
  • iPhone OS 3: I actually felt that this was probably the most boring part of the keynote. Honestly, everything they covered was recently covered in March at the small developer keynote they had. This time around we saw a few apps that have been made for it, and honestly nothing else. I was honestly expecting a few last minute features to be thrown in to 3.0, but it didn’t happen.
  • iPhone 3GS: Not as show-stopping as the original iPhone to iPhone 3G, but still pretty awesome. You get a better camera, video capture, TONS more speed, voice recognition, double the space, and a compass. This time though, 3G owners do not get a cheap upgrade, you only get to upgrade if it’s the end of your service (which many original iPhone owners should be nearing now). Honestly while this is cool, not really worth it to any current iPhone owner. While I would love the speed bump (while OS 3.0 will knock off about half the time loading a large webpage, the 3GS will knock that in half again), I can’t justify the $500 upgrade.

I was hoping to upgrade to the ‘new iPhone’ if they were going to have a plan, but now really don’t feel like its worth it. I would love to get the new features, but not at that price. Also, with the iPhone OS update coming out next Wednesday, its like getting a new iPhone anyways!

Some of the flops from today’s announcements:

  • AT&T Sucks. Not supporting MMS and Tethering at launch is borderline unacceptable. They had as much time as all the other carriers (probably even more) to get their act together. And you want to bet whats holding it up – WHAT AT&T WANTS TO CHARGE YOU FOR IT. Yes, it may be more load on their network as well, but I think it relies more on how much fatter we need to make their pockets.
  • Not allowing an upgrade plan like before. You have millions of users that gave you $200-300 last year for an iPhone 3G. Many of us would love to give you another $200-300 this year for a iPhone 3GS. Hell, I would even trade in my old iPhone to do this. While they don’t ‘need’ to offer this, it would have been nice if they did. Gizmodo had a post earlier (that they have now pulled) making it sound like there was a prorated upgrade plan available, so something may show up eventually.
  • No real announcement on the AppStore issues. While Apps now have a parental rating – can nearly everything go into the store now? This honestly doesn’t affect me at all – im just tired of hearing so many people complaining about it.
  • Not including more features into the iPhone OS 3.0 software. I wonder why the Voice Commands and Accessibility items are iPhone 3GS only. Both of those new features seem very software related, and no reason they shouldn’t work on iPhone 3G and be part of OS 3.0. They also don’t really seem to be major selling points of the new hardware either. Oh, and Voice Commands should have been in OS 1.0. My very first cell phone had this feature.

Finally, I think a lot of people are going to complain that we still haven’t seen an Apple tablet yet. I have two questions about that:

  1. Have any of these people WANTING a Mac tablet ever used a PC tablet? Its honestly not that awesome.
  2. Do people not already realize they already own an Apple tablet and/or Netbook? Seriously, think about that. Other than a bigger screen – theres not much more you would get.

I will be posting more on Jon’s Tech Talk later on, especially after the iPhone OS 3.0 release. My first things to cover will be what I am thinking about the new iPhone OS, as well as some points on why Mac OS X 10.6 is going to be so cool.

Photos from Butterflies LIVE!

This past Saturday we decided to get out and enjoy some of the amazing weather we have been having in Richmond (except for right now – as I write this, its nearly pitch black and downpours and lightning everywhere).

It was great to see all these butterflies on top of the amazing blooms already at the garden. I was able to get quite a few great shots and really work on some macro shots with my XTi.

You can see entire set on Flickr here.

Been neglecting this a bit recently…

Its been over a month since I posted to this blog, which is actually very hard to believe. First of all – lets catch up:

  • Work has been rather busy as of late, mainly due to everything going on. We are getting closer and closer to finishing this project, with so many others right around the corner too. But i’m not complaining – i’m loving every minute of it.
  • While I prefer Winter, Summer is now here, and im very happy. I love cold weather, but eventually it gets boring sitting in the house and its so great to be outside now.
  • With the crazy amounts of rain in Richmond, our yard has never looked better. Aerating, planting, and fertilizing last fall made me have an awesome looking yard right now.  But it has an amazing amount of upkeep, which in some sick and twisted way, I love.
  • I started a garden, and kept most of it living. We already have some green beans sprouting and a ton of tomato plants. Pictures and more soon, especially when we get to actually eat some!
  • I started, and finished, Mirrors Edge. A great game, and got it for a great price ($10). Its trade in value is $12 still, so I actually made money playing a game :). I am trying to finish single player mode in Left 4 Dead now – just one more campaign.
  • I have a secret project I have been working on in my free time I hope to release this month. Im doing it to learn some web API’s as well as ASP.net MVC, but also to really make a cool product from start to finish – alone.
  • I dropped one of my side projects for various reasons. While it was fun, I wasn’t feeling it much more and felt that it was keeping me too pinned down to something. But its ok, I didn’t loose anything either. I have started helping out a few old friends with various projects, one which I’m about to start that is REALLY cool.
  • Ive been teaching myself more and more Cocoa, and started lining up some ideas for possible apps for the iPhone and Mac.
  • All in all, I have just been having a great time, and just too much to actually sit down and document all of it.

I have started setting some goals for the next month:

  • Get new super secret project out the door and it least into the hands of a few.
  • Get new REALLY cool project started, or at least discussed in detail.
  • Blog more here, especially with the way I see this site going – as in, more mobile or photo posts.
  • More posts over at my other blog.
  • Continue to enjoy life and having a great time.