There’s a quote in Computer Science – “There are only two hard things in Computer Science: cache invalidation and naming things.”  Well, naming things is hard for everyone.

Everyone brings to the table a history of accumulated connotations and associations such that the meaning of everything is different to each and every one of us.  Finding the right word for something new is ever more challenging in some ways. We intuitively gain a sense of meaning of words even if we have never heard them before in many cases.. this requires deliberate thinking.

In software, naming variables well can be the difference between sensible readable self-documenting code or unintelligible write-once junk.

Likewise naming things in the real-world is also difficult, the right name really does make an impact.  The right company name will make a difference, the wrong name will make everything harder.


Having registered many different businesses in the past, I have made many mistakes in registering them.  I’m sitting on some companies that have been idle after we failed to acquire enough funding to finance the initial prototype, while for other companies I have been in unenviable position of not having the corporate structure in place before needing to pay expenses or accept payments.

There is a sweet spot during the ideation stage where it makes sense to get the incorporation process started.

This is something you can obviously do yourself, but I recommend finding an accountant or lawyer to help structure things properly.  It feels more official and legitimate when an accountant steps you through the initial voting of terms, and issues the first shares.  A solid and well written agreement will help solidify what might have been unspoken between the co-founders – and a healthy open communication about these things sets everyone’s expectations at the outset.

So when should you kick things off?  Obviously every venture is slightly different but here are some keys:

  • incorporate as late as possible but…
  • before significant creation of intellectual property
  • before accepting payments
  • before signing contracts
  • before purchasing too many assets

If you are bootstrapping an idea, I would suggest waiting almost until you are ready to launch. Many ideas fail to gain enough momentum as a side project and don’t make it to launch.  incorporating too early costs money and leaves you on the hook for more paperwork should you need to fold the company.

Open Source software has been on my mind a lot the last few weeks with regards to a problem that exists within the community.

The world is built on the shoulders of Open Source software. If you look at any tech startup out there,  they are more public code than proprietary. We leverage open source as a starting point for new ventures and new innovation.  Even large companies – the Googles and Facebooks of the world would not run without that foundation of open source code.

The reliance on Open Source inflates the risks. Bugs in open source come at huge costs due to the amount of shared code by everybody. The direct costs of a bug or security vulnerability could be massive.  For example, the estimated cost to fix the Heartbleed vulnerability in OpenSSL was $500,000,000. There are indirect costs as well, relying on goodwill of volunteers means you can’t have the best people work on the hardest problems.

Yet, despite the critical nature of this code the vast majority of work on open source goes unpaid.  Most projects are started out of personal interest – an often fleeting commitment. There is little accountability and in fact as has happened time and time again these developers burnout and abandon popular projects.  Were you to do ‘due diligence’ on any of these projects you would find that 30% of the top 133 projects on Github are maintained by a single person, that the next 34% have only 2 contributors.  These are at risk of being abandoned quietly or at short notice.  Key pieces of supporting infrastructure such as package management services need to be up, but are maintained by people who need to book vacation days from their paying jobs to do so.

Github was launched in 2008 and with it, a new wave of open source developers started to dip their toes into it.  These open source boomers are becoming more senior, they are realising the value of the code they write, and they are starting families that vie for their time and attention. For many of these developers burnout is real and they increasingly need to justify their continued involvement.  If we ignore this problem the code we all rely on for a functioning internet could be abandoned.

It is a growing problem for which something must be done.


Loss aversion is the preference we have to avoid losing $5 compared to gaining $5.  It’s logically the same value in this example but yet some studies have shown that we are twice as likely to favor avoiding the loss.  This effect plays out multiple different ways in our lives.  We tend to hold on to losing stocks to avoid taking the loss, we price anchor our houses and have a hard time accepting lower bids, we stay in bad relationships, we stick to secure jobs instead of following our dreams.

We should be conscious that we are ourselves under this bias with our own choices.  The truth is that perceived losses FEEL worse than reality. Actual losses are usually less dire than we imagine. Worst case scenarios are usually not as bad as we intuit.

The flip side of that coin is that potential gains are usually undervalued.  The prospect of making an extra $100 per month has LESS perceived value than its actual impact on your finances would be. The upside to a successful entrepreneurial venture are under appreciated by all but the most motivated entrepreneurs.

We are not great at logically assessing risk. Hence cold hard math can be a competitive advantage since it has a way to shine a light on our biases and accept facts.  When you find yourself contemplating taking a loss assume that your ability to come to the optimal solution is compromised and therefore the exercise of doing a more logical analysis is often beneficial.

I’m in the middle of undertaking a large software project – something that could take 200 hours to get to an MVP. I wanted to get things organised. My first thought was to use some of the tools I’m used to – Trello for a kanban style board, bug tracking, continuous integration services, Slack. But on second thought I realised that all of these tools are designed to aid in communication to other team members. With a team of one (me) all the communication can happen within my own head thus the time that would go into configuring all these extra tools and transcribing my thoughts into them is wasteful.

Instead I’m able to work off off of a simple todo list.

Do some brain storming, sketch out some ideas on paper then figure out some reasonable list of high level tasks.  I can leave it all on paper so it’s on my desk and in my face and easy to scratch off and add to at any time.

If I add just one more developer to this project, then suddenly all these things come back into play. It becomes necessary to discuss who is doing what, to understand and verify each other’s work, to maintain consistent code style and quality. Digital platforms like Trello become necessary to stay in sync and the quick and flexible paper approach gets crumpled up and tossed into the waste bin.

It’s hard to appreciate the cost overhead of scaling from one to two people.  It’s easy to look at a calendar full of scheduled meetings and see how much time is spent talking compared to writing software, but what is harder to see is the amount of time spent chatting on slack, updating trello, and commenting on pull requests. There are communication costs that are hard to measure.

It’s something to consider when you are deciding to hire your first person

Learning new things that affect the core of your being is a challenge not many people take upon themselves.  Yet it could be the personal pivot you need to make a genuine change.

Many years ago I took a Dale Carnegie course, it showed me a side of myself that I couldn’t get from my friends and family who are always trying to be nice and avoid confrontation. Those people accept you for who you are and will not challenge you to change.  That course taught me that I cannot speak loudly. Through exercises I got better at conversation and assertiveness.  It helped change my behaviour at work and grow as a person.  It’s something that I could not do on my own, nor could I get it from the people around me.

I needed a coach.

A coach will analyse you and provide constructive feedback on how to get better by suggesting exercises to do, changes to make, and perspectives to consider. A great coach has a keen eye to spot areas for improvement and will hold you accountable to work on them.  This is something you cannot expect to have from your friends and family who will typically avoid candid conversations. Chances are you need to hire a coach.

Last year I took sailing lessons. It was a chance to learn something completely different from what I do all day and gave me a very different sense of accomplishment compared to, say, learning another Javascript framework. Part of the difference is that with sailing I had a coach who suggested areas to improve on all the time and with each lap I got better.  At the end of the course it changed me, it had opened the door to many other perspectives which were not even on my radar prior to taking the course.

This is the power of a coach.  To show you things you cannot see for yourself.

For years, when I was in meetings I spoke at a low volume which created the perception that I was shy and not confident.  NOBODY TOLD ME!  It took years, and then when fishing for feedback on an annual performance review my boss suggested taking the Dale Carnegie Course to build some assertiveness.  Why didn’t anyone say something sooner?

We continue to need coaches in our lives.

Even the best sports players of all times at the peak of their careers still rely on their coaches.  With that in mind perhaps we should all have a coach to help us improve with some aspect of our lives more often. A piano teacher, or speech coach, CEO coaching, or business mentor. If there is something you could say “I am not awesome at X”, then perhaps it’s worth finding a coach for X.

It’s something I hope to make part of my routine more often, accept that I have areas for improvement and find a coach to help work on them in-person.

Either you’re trying to make something spectacular with no compromises or you’re not. And if you’re not, Musk considers you a failure.

Of all the entrepreneurs in the world, none have the same ambition that Elon has to make the future into the present. For that I have a ton of admiration. Science fiction has given us plenty of ideas about what the future might look like with advanced robotics, AI, and city scapes but few people take it upon themselves to make those movie props real.

Musk is taking it upon himself to lead the world into a future where humans live in space, colonize Mars, have self driving electric cars, solar power everywhere, underground highways, 500mph vacuum tube transport, and digitally connected brains.  These are visions that millions of people around the world cheer on as we continue to be let down by the dreary future many of us perceive (where are our flying cars?).

The book about Elon Musk provides some insight into the character that it takes to build this kind of future – a level of determination that few in this world have.  It’s inspiring in a way that I never expected.  His leadership drives people to work all hours of the day, give up weekends to solve technical problems, while he himself is leading by example. There is a work ethic, doggedness and hustle in him that is exceedingly rare and it rubs off on those who work for him and those who are inspired by him.

As an idol Musk raises the bar of all us dreaming entrepreneurs. Can we take the Silicon Valley approach to business and disrupt the entrenched industries? Can we find ways to create better products at 1/10th the price. Where are the opportunities to challenge the accepted status quo and upend the antiquated regulations that stifle innovation. Can we justify the feasibility of our ideas by boiling down to the basic laws of physics? How can we as leaders continually identify the critical path and work to unblock it?

What I came away with most from the book is that, if you’re willing to work hard on things you can tackle hard problems. However success of this magnitude require stepping stones.  SpaceX couldn’t have started without the success of PayPal which in turn wouldn’t have happened without Zip2.  It’s worth noting that Zip2 was not a trivial undertaking at the time, it wasn’t a get rich quick scheme like affiliate marketing, blogging or YouTube stardom is today.  Zip2 was a meaningful attempt to get more businesses on the internet, but it started small enough in scope that few employees were required to bootstrap the company.  Musk did start with very little in those days – sleeping at the office, showers at the YMCA and a frugal food budgets.

The world needs more people like Elon Musk who are willing to take risks on bold ideas and provide the sheer will and determination to see them come to life.  It will be a fantastic future.

And work on them.

There are many times in life when we don’t get what we want.  A business idea fails, we lose an argument, we don’t get the job promotion or pay raise we hoped for. It’s easy to find excuses that absolve us of any blame – people just don’t understand, the other guy pulled some strings, the game is rigged.

Here’s a bit of advice, consider the possibility that you are at fault for the loss.  Perhaps you needed to be more articulate or exude more passion in your words. Perhaps you needed to be more political in building support for your ideas. Perhaps you just haven’t proven you deserve that promotion or raise yet.

Whenever you ask yourself a question your mind will come up with answers.  You have to be careful to ask the right questions to get helpful answers.  Answers that put you into control.  “Why didn’t they pick me?” is an open question that invites speculation as answers. “What could I have done better?” helps focus things inward on yourself – where you have the power to make changes.

Blaming others, or blaming the system will only serve to make you bitter. It gives you no actionable steps to do better next time.

Coming up with good answers to these questions requires some knowledge. If you don’t know anything about salesmanship then it is easier to be oblivious to seeing others apply it, or recognising the need for it in yourself.

A broad base of knowledge comes from reading and deliberate learning.  Without the foundation you won’t come up with answers on your own. However, being cognisant of your own self to the degree that you can identify when you don’t know and have to rely on an outside perspective is rare.  Very rare.  We all feel like we have a good grasp of how the world works, when the reality is that we are all clueless. The human mind isn’t sophisticated enough to comprehend the interactions of 7 billion other people.

If you are able to accept your own faults and listen to the criticism you are better than most.  If you take action on it, to improve yourself, you are one of the very few who do.


There are proponents of both cases for building a business.  Should you identify the vision and strategy for one amazing product and chip away at it until it becomes a success, or should you try 10 small experiments, see what sticks then focus on the winners?

David Heinemeier Hansson of BaseCamp started his venture with a dozen different web apps, developed more or less in parallel for several years.  After a while it became apparent that one of them was vastly more popular than all the others and those lagging Apps were eating up precious attention that could otherwise be better spent focused on making their Basecamp app even more awesome. Eventually they sold off the other assets and doubled down on their winner.

Ford on the other hand started out famously with one car that was available in just one color.  The model-T was a singular project and the focused effort one building just one thing really well is what helped Ford compete and survive in those early years of the automotive industry. Had Henry Ford decided to develop 10 models of car at the same time it’s unlikely there would be a Ford Motor Company today.

Had DHH decided to start his company based on just one of those 12 app ideas, there’s less than a 10% chance he would have picked Basecamp and ended up with the winner he has today.

It seems that in both those cases one approach or the other was a requirement for their success.

However there is another strategy that attempts to strike a balance between these which is the pivot.  With this approach you focus on one vision until it can be validated by the market and at a certain point if things look like a dud then you re-align the company on a new vision.  This has the advantage that you maintain the efficiency that comes with a focused mission, but if the market doesn’t resonate with the product you can keep the company together, re-used some of the assets you’ve built and test another market with a renewed focus and determination.  Hopefully it doesn’t take too many pivots to find something that fits.

How do you know what is the best strategy for your business?  I think it comes down to how the development cycle matches with the marketing cycle.  A lag creates gaps where the development team may not have market driven direction to go, and the marketing team may not have anything new and hot to sell.  Filling the voids (if you have them in your business) may be an opportunity to develop a new idea, or an indication there is an opportunity to re-structure and tighten up the slack.

I have been writing for my blogs for over 15 years now.  A lot has changed with the internet in that time, and over the years I have investigated many ways to let my websites pay for themselves.

When Adsense was first announced I jumped on it only to find that it paid almost nothing to publishers like myself.  Just pennies at a time would take years to generate enough given the traffic on my sites for Google to cut me a cheque.  In all the time I had been running ads I think I had only ever received a payment once.

The dismal returns eventually made me realize that the ads were more detrimental to my readers than they were worth.

However, recently I have been on a mission to cut my budget for servers and part of that effort is to get my websites to pay their own way or else risk getting shut down.  I started by experimenting with adding Adsense back to one of my blogs and found, to my surprise, that it earns enough to pay for its hosting costs.

I have extended ads onto this website, so that I pay less out of my own pocket to keep it running.  Hopefully keeping these sites financially sustainable will be mutually beneficial to both me and the readers.