Archive for the ‘Uncategorized’ Category

Independence Day

Saturday, July 4th, 2009
This Fourth of July marks the 233rd year since the adoption of the Declaration of Independence by the US Continental
Congress. In honor of this declaration of freedom I’ve come up with a list of five things that you should consider
declaring independence from yourself. This is just a starter list, write your own Declaration of Independence and change
the rest of 2009 today.
1. Time Drains i.e. email and meetings – as Tim Ferriss says less is more when it comes to email and meetings.  Matt
Waite, a new technologist, says “meetings suck” and even has a game to play during meetings.  Seth Godin just attacks the
issue head on with a nine step process.

This Fourth of July marks the 233rd year since the adoption of the Declaration of Independence by the United States Continental Congress. This is usually celebrated with fireworks, picnics, political speeches, etc. This year I was reflecting a little on enormity of that step 233 years ago. To declare independence from something not only takes courage but also provides a rallying cry.

In honor of this declaration of freedom I’ve come up with a list of five things that you should consider declaring independence from in your business. This is just a starter list, write your own Declaration of Independence and change the rest of 2009 today.

  1. Time Drains (email and meetings) – as Tim Ferriss says less is more when it comes to email and meetings.  Matt Waite, a news technologist, says “meetings suck” and even has a game to play during meetings that will hopefully get you to reconsider scheduling another one without a good reason.  Seth Godin just attacks the issue head on with a nine step process.
  2. Scaling – If you have struggled with your application or database scaling for the first half of 2009, start putting an end to it today. Figure out what is not working (SPOF, synchronous calls, inability to rollback, etc) and stop those behaviors.  We all know the well quoted saying about doing the same thing over and expecting different results. Learn or teach your team how to scale applications and databases. Go even further and declare your freedom from relational databases and get rid of it.
  3. Unhappiness – Life is way too short to be unhappy where you spend the majority of your time. Start your search for happiness by reading about this longitudinal study that is trying to answer, among others, the question of “Is there a formula – some mix of love, work, and psychological adaptation – for a good life?” If you work at a j-o-b and not a career or a calling consider making a change. If you have longed to start your own business the folks at 37Signals has some advice for you to evolve your idea from a side project to full time. If you think its a terrible time to start a business, reconsider, there are a lot of reasons that might make now the perfect time. And once you’ve take the leap consider Paul Graham’s 13 sentence advice to startups.
  4. Product Delivery Nightmares – Many of our clients complain about not being able to get products and new features out the door as fast as they would like. Usually the first, an in our opinion, incorrect attempt at fixing this is to start changing the SDLC to/from Agile, Extreme Programming, Waterfall, etc. The software development methodology is almost never the problem. The first step towards correcting this is to make sure you have realistic expectations and then work on developing detailed plans that incorporate feedback from each previous cycle for continuous improvement. Measuring is difficult and often controversial but it is essential in order to incent success and reward people appropriately. Not blaming the methodology is not an excuse for poor coding practices. As Jeff Atwood explains in his “The Bathroom Wall of Code” post, cutting and pasting flawed code from the internet can lead to disastrous results. We are all probably guilty of “cut and paste coding” but if the code gets checked in it becomes our code for better or worse. Code reviews are one such required engineering practice that will produce quality products and better engineers.
  5. People Problems – If you are leading a team there are almost always personnel issues to deal with. Some problems are unforeseeable and just take time and energy to resolve but others can and should be screened. We came up with a three part series on how to interview engineers in order to avoid some of these pitfalls after the hire. If you already have your team, put a plan in place to seed, feed, and weed. Continuing with the plant analogy, people like plants will seek the path of least resistance, meaning that we prefer to perform tasks that we are good at. Without a development plan in place helping push your team members to practice their weaknesses, they will not get better and you will continue to suffer for it.

Declare your independence from these or other problems that have plagued you for the first half of 2009 and end the year on an upswing.

New Look

Tuesday, June 30th, 2009
In the event that you are reading this via RSS, we updated our site last night with a new look. A couple things are worth mentioning. First is the “All Posts” page. One thing that annoys me about most blogs is the lack of a way to see all the posts on one page. We now have a drop down menu  as well as a link on the right sidebar of the blog for “All Posts”. This page list by topic all of our blog posts. It is a very simple way to find an article or post that you might be interested in.
The second thing is the “Best of Posts” page. I wanted a way for our readers to be able to select what posts they liked the best, as ranked by the number of views, comments, pingbacks (links to the post), etc. The “Best of Posts” page on the right sidebar of the blog is a dynamically generated list of posts that through our readers interaction has ranked them the most popular. If you self-host a wordpress blog and like this idea of a reader selected “best of” list, you can get the plugin here.
As none of us are very good graphic artists we outsourced the desgin of our new logo. We used 99designs.com to host an auction and thought it was a great experience. You get to establish the price you are willing to pay, provide requirements, and give feedback to designers who sbumit entries. Our auction ran for 1 week and generated over 200 entries.
If you have any questions or comments about the site feel free to let us know.

In the event that you are reading this via RSS, we updated our site last night with a new look. A couple things are worth mentioning. First is the “All Posts” page. One thing that annoys me about most blogs is the lack of a way to see all the posts on one page. We now have a drop down menu  as well as a link on the right sidebar of the blog for “All Posts”. This page list by topic all of our blog posts. It is a very simple way to find an article or post that you might be interested in.

The second thing is the “Best of Posts” page. I wanted a way for our readers to be able to select what posts they liked the best, as ranked by the number of views, comments, pingbacks (links to the post), etc. The “Best of Posts” page on the right sidebar of the blog is a dynamically generated list of posts that through our readers interaction has ranked them the most popular. If you self-host a WordPress blog and like this idea of a reader selected “best of” list, you can get the plugin here.

As none of us are very good graphic artists we outsourced the design of our new logo. We used 99designs.com to host an auction and thought it was a great experience. You get to establish the price you are willing to pay, provide requirements, and give feedback to designers who submit entries. Our auction ran for 1 week and generated over 200 entries.

If you have any questions or comments about the site feel free to let us know.

Twitter Posts

Thursday, June 25th, 2009

If you are like me you probably read hundreds of articles and posts each week. I often come across an interesting article related to scalabiltiy and share it on Twitter. For those of our blog readers who don’t follow us on Twitter I thought I’d share some linksthat I’ve recently posted:

If you have any favorite articles you’ve read in the last month share them with us in the comments.

The Problem With Food and Technology

Monday, June 1st, 2009

If you are curious about the food that you eat a couple of books that I’d recommend are The Omnivore’s Dilemma and In Defense of Food both by Michael Pollan. One of the key pieces of advice to his readers is “Eat food. Not too much. Mostly plants.” Admittedly, I don’t follow that advice but it sounds reasonable. The other interesting point in his books is how we have arrived at so much highly processed food. As Michael explains it this is because the food chain wants to grow more than the 1% per year population growth and therefore by processing the food more they can charge more and achieve faster growth. The result is not only higher prices but food with much higher caloric values. This “value add” by the members of the food chain reminded me of technology vendors.

A product (hardware or software) perhaps starts out as a unique technology that is innovative and sells because of this. Over time this product becomes less unique and eventually commoditized, everyone sells essentially the same product only differentiated by price. High tech companies generally don’t like selling commodity products because the profit margins continue to get squeezed each year. The way to prevent this is to add features to the product, sort of like making highly processed food products. The more “value” the vendor adds the more they can keep the price high. What we as the consumers are left with is highly processed products that are not what they were originally designed for.

What’s the problem you say? What’s the harm in a piece of network gear that does it all?  It routes, load balances, firewalls, manages sessions, and even can have business logic. The problem is that it was more than likely designed to do one of those things and when the vendor sells it to us as a “do everything” panacea we’re setting ourselves up for problems. This is not to say that it’s never okay to dual use hardware or software or that you can’t use added features of a vendor’s product. What we do say is that the more you rely on these the more you are tied to this vendor and the more likely you are to have problems with that product.

We have a term that we use with our customers to explain this, we call it “purpose driven hardware/software”. The general principle is to use the hardware or software for its original purpose, a load balancer as a load balancer and a database as a database. Use an X, Y, or Z axis split to scale your database, don’t rely on a vendor for scale. Following this principle will 1) allow you to remain vendor agnostic, achieving the best pricing 2) rely on yourself for scaling not a vendor who may or may not release the next version/bug fix when you need to scale and 3) simplify your architecture which leads to less human error when everyone understands how the system works.

Architecture and Work

Monday, May 25th, 2009

Want to think big, abstract thoughts? Try sitting in a building that has high ceilings. Have to focus on detailed work? Maybe you should be in an office with lower ceilings. That is according to Joan Meyers-Levy, a professor of marketing at the University of Minnesota. Her concepts are part of an article How Room Design Affect Your Work and Mood in Scientific American. “Ceiling height affects the way you process information,” Meyers-Levy says. “You’re focusing on the specific details in the lower-ceiling condition.”

Another interesting concept covered in this article is the affect that natural surroundings have on people, especially children. The article cites a study by environmental psychologist Nancy Wells that found that children who moved with their family to a home with more views of natural settings, such as a garden, field or forest, made the most gains on a attention test. Another study from the University of Illinois found similar results in children with attention deficit disorder (ADD).

Tim Ferriss, author of The Four Hour Work Week has an indoor garden that his office overlooks.  He uses this space for relaxing, inspiration, and taping episodes of Random with Kevin Rose, founder of Digg. Perhaps the next time you are struggling with a task, whether that’s balancing your checkbook, coding your latest feature, or coming up with a brand new business idea, stop and consider the environment that you are working in and how it might be affecting you.