Monthly Archives: December 2009

The traits of modern web developers

One of my favorite blogs on software development is Jeff Atwood’s Coding Horrors. Jeff is a programmer turned blogger that has a unique (and real) perspective on the psyche of developers. His blog posts are based on a topic that he’s researching for work or fun, which is something that I also do regularly.

In a recent search, I came across a blog posts from 2006 on “modern software development” (source) where Jeff he explains that development really hasn’t changed much in the past ten years. Based on my experience of working with developers both on client and agency side, I think that he’s spot on. Looking at his list, I came up with only a single addition (which appears in red/bold) for traits of modern developers:

  • Store code in a source control repository. The beauty of using source control solutions, such as SVN/subversion, Git, or Visual Source Safe (VSS), is that a team of developers can develop code without overwriting each the changes made by each other.
  • Deploy code using scripts. With a script, developers can automate the launch of a website, this ensuring that nothing is missed in the process.
  • Develop using TDD or Test-driven development. Instead of writing code first, developers focus on writing tests for their code. This provides a solution to limit the number of bugs as a unit test can also serve as a low-level regression test as new code is introduced.
  • Reuses code when possible. Modern developers know that they don’t need to re-invent the wheel. Instead of rewriting code, they tend to reuse code that’s already working. This translates to saving development time, plus it allows developers to focus their energy on learning something new.
  • Apply the Model–View–Controller (MVC) architectural pattern. Since code is logically separated into 3 tiers (data layer, presentation layer, and business layer which connects the other two), developers can more easily maintain their code.

The good news is that the barrier to become a modern developer is low. Old school developers only need to adopt the MVC pattern to be new again.

Stonehenge

NOTE: Stonehenge photo was provided by Danny Sullivan.

Ignore Everybody: The 3 Important Life Lessons

I just finished up the book Ignore Everybody: and 39 Other Keys to Creativity by Hugh MacLeod. The book is actually a collection of entries from Hugh’s blog where he talks about his hobby of drawing cartoons on the back of business cards. It was a short read — but it was packed with great life lessons, especially if you’re a product manager. Like a product manager, Hugh had to produce and promote his product (art on business cards) while facing plenty of criticism. This book reminds us that there are no such things as shortcut — the road to success is a long one. The three big lessons that struck a chord with me included:

Stay Focused. Once you find a direction, you have to stick with it. People may try to sway you with their opinion but you can’t let that get in your way of success.

Work Hard. You have to keep plugging away at your dream even if there’s no immediate reward. Theodore Roosevelt actually said the same thing: “Nothing in the world is worth having or worth doing unless it means effort, pain, difficulty… I have never in my life envied a human being who led an easy life. I have envied a great many people who led diffcult lives and led them well.”

Keep Practicing. If you want to get better at your craft, you have to do it again and again. There are no shortcuts. (NOTE: Jeff Atwood seems to repeat this message in his blog on development; see here).

Hope that you get to enjoy this book as much as I did.

Back up your DVD’s on Mac OS X – A simple solution

I am a proud parent of two young boys. My boys aren’t gentle — (virtually) everything that they touch breaks. While it’s totally unintentional, it is still frustrating, especially when my youngest (who likes to play DJ) places a DVD into a player and the disc gets scratched to the point that it skips.

The boys recently received three They Might Be Giants CD/DVD sets so I decided to first back up the originals. I produced copies in case one was damaged by Mr DJ. If one became too damaged, I could easily burn another copy in a jiffy.

When I searched for a solution to duplicate the DVD’s on Mac OS X (Snow Leopard), I found that most options required that I pay $25 – $30 for software. While I’m happy to support the software development community, I knew that I could use the hdiutil application to convert the DVD’s into an appropriate format. But I wanted an inexpensive solution that had a simple interface that anyone could use. After completing a thorough search, I came up with a solution.

NOTE: I am not advocating that you burn copyright materials. That’s illegal so beware! The instructions below are only for backing up DVD’s that you’ve purchased and intend to use for personal/non-commercial purposes.

The Software

To back up your DVD’s on a Mac, you need two pieces of software: MacTheRipper (v2.6.6) and Burn (v2.3).

The Process

Step #1
Using MacTheRipper, rip the DVD onto your hard drive. This process generates the VIDEO_TS and AUDIO_TS files that you’ll need in the next step.

Step #2
Using Burn, simply:

  1. Click on the Video tab
  2. Add a title for your DVD
  3. Change the Video option to DVD-Video
  4. And add the VIDEO_TS folder

Once you insert a blank DVD into your superdrive, click the Burn button and then wait for the process to complete (see user interface below). If you’re lost, watch the video on burning the VIDEO_TS folder.

burn-osx-maarten-foukhar

Any gotcha’s?

In Snow Leopard, I kept getting a “There was a problem authoring the DVD” error. This can be fixed by updating the general setting for the temporary folder (just pick an existing location). Any other problems should be referred to the support forums on SourceForge. Hope that this helps other geeky dads trying to save your DVD’s from getting scratched.