Category Archives: Other

Articles that don’t fit in to any other categories.

Requirements

There is a grand myth about requirements–if you write them down, users will get exactly what they want. That’s not true. At best, users will get exactly what was written down, which may or may not be anything like what they really want.
- Mike Cohn, “Succeeding with Agile”

28 Questions

Over the past few years I’ve tried my hand at launching a couple of different start ups. Over this time period, I’ve collected a set of questions from many different sources (HN, YCombinator, TechStars, etc) that I ask myself before proceeding. They help be decided if this is a real or manufactured problem, if it can be profitable, and if people will buy what I’m selling. My latest project idea is the only idea I’ve had that passes all of these questions to my satisfaction. How do yours hold up?

  1. What are you going to build?
  2. What is the actual problem?
  3. How will you sell your product/service?
  4. What are some potential obstacles?
  5. What are some existing options that solve this problem? How are you different?
  6. Who needs what you’re making?
  7. How do you know that they need it?
  8. How is the problem being solved now? Is it being solved now?
  9. Why isn’t this being done your way already?
  10. How will customers find out about you?
  11. What resistance will they have to trying your product?
  12. What are some key things about your project that outsiders don’t understand?
  13. Who will your first paying customer be?
  14. How might you expand if your initial idea succeeds?
  15. Why did you choose to work on this idea?
  16. Six months from now, what will be you biggest problem?
  17. What are the hard parts of this idea?
  18. Who would you hire/add to your team?
  19. What is the next step in product evolution?
  20. How does your product work?
  21. How big is the opportunity? [market]
  22. How do you know customers need what you’re making?
  23. What domain expertise do you have? Why should you be the one to do this?
  24. What part of your project will you build first? (could be business connections, hardware, software, etc)
  25. How much money could you make per year?
  26. How will you make money?
  27. What have you built in the past?
  28. How would you spend $5,000, how would you use it?

Using Git with Subversion(SVN) on a Non-Standard Repository Layout

For the longest time I was a loyal Subversion(SVN) user. I know, it’s crazy, but I was. When I found out about Git, I was hooked immediately and used it for all of my personal projects. The problem was that at work we use SVN, and getting everyone to migrate to Git just wasn’t in the cards. Much to my surprise, Git has the ability to interact with a SVN repository, so I could still use it anyways.

The issue with my work’s current SVN layout is that it is non-standard. By that I mean all projects exist in one big happy repository. Something like:

Repository -> Project -> Trunk/Branches/Tags

Unfortunately, Git+SVN isn’t really all that excited about working with non-standard repositories, so I had to do some experimentation and Googling to figure it all out. Eventually, I came up with the following steps:

Step 1: Clone the Repo
The first step in this process is actually cloning your SVN repository. By clone, we mean make a full copy of it and all of the revision history.

git svn clone svn://the.svn.server/allEncompassingRepo/project -trunk=trunk/ .

After the initial clone is complete, we move to fixing where git should look for things.

Step 2: Set up fetch, branches, and tags
The initial setup for fetch, branches, and tags gets screwed up at this point if you have a non-standard layout like my employer does, so we need to do some cleanup. Open .git/config and set the following:

url = svn://the.svn.server/allEncompassingRepo
fetch = project/trunk:refs/remotes/trunk
branches = project/branches/*:refs/remotes/*
tags = project/tags/*:refs/remotes/tags/*

Now that the config file is all set, go ahead and save.

Step 3: Pull down your files
The config file is all set, so you’re ready to do your first pull.
git svn fetch svn
That’s all there is to it. If you’d like to know how to use Git+SVN, I suggest reading the fine article over at Viget.

Remove undefined from a Javascript object

I’ve been doing a fair amount of javascript programming lately, and I found myself needing to remove a nested object from an object.  Doing this is easy enough with the “delete” command, but it leaves you with annoying “undefined”s all over.  To get around that, I scoured the internet for a way to remove them easily.  Turns out that if efficiency isn’t a problem, it’s easier to drop the right objects into an array and then re-assign it.

var tmpArray = new Array();
for(el in self.orderData.data.items) {
     if(self.orderData.data.items[el]) {
          tmpArray.push(self.orderData.data.items[el]);
     }
}
self.orderData.data.items = tmpArray;

Easy and pie.

Is it a bubble or something else?

It has all happened before, and will happen again…

Back in the late 90′s, we experienced an economic bubble of immense proportions. The internet (read: The World Wide Web) was just starting to gain mainstream acceptance, which is when the gold rush began. Companies with no real business plan, and no way of making profits were securing millions of dollars in funding. Beyond funding, some of these companies were getting bought for BILLIONS of dollars. For instance, The Learning Company was purchased by Mattel for over $3 billion in 1999, but was sold for only $27 million in 2000. While the company clearly had some value, it was overvalued beyond any reasonable price. This is the epitome of the of “Dot-Com” bubble.

Over the past few months, there has been a lot of discussion on Hacker News about the possibility of another “Dot-Com” bubble happening right now. A lot of people think that we are winding up to another bubble, but there is also a fairly large amount of people who think that this time is different. I fall in the the latter group, and here’s why.

Starting with YCombinator, a new philosophy on web startups emerged: lean startups. In a nutshell, your startup is given a small amount of money (enough to live frugally on for a few months) and mentorship. The most important part of programs like YCombinator is the mentorship. You get access to seasoned investors, business people, and founders that help you realize your idea’s potential. The upside to bringing a company to fruition this way is that your startup costs are low, and you will know very quickly if you can become profitable. During the 1st bubble, anybody with an idea and a web page could get millions in funding. No market validation required, just an idea. This time around, you actually need to have a plan. You need to have traction. You need to be profitable. Sure, some companies are getting over valued (*cough* Facebook *cough*), but that happens whether we’re in a bubble or not.

The important thing to take away from this is to look at what companies are getting serious funding (>$500k) and what companies are making nice (fat) exits. Are they good companies? Would you use their product? Would someone you know use their product? Are they profitable? Do they have a user base? If you can answer “yes” to most of these questions, we probably aren’t in a bubble. We’re in something else. A new economy? An information economy? Well, we already have an information economy, so what now? We’re transforming the way we do business and interact with each other. Instead of doing things yourself, why not let somebody else do it for you? (hosting: Heroku). Keeping in contact with people is hard, why not let Facebook do it for you?

I’m not sure where all this is leading, but I’m fairly positive it’s not a bubble. It’s something different. It’s a transformation of our economy. To what, I don’t know. But it is changing, and it’s going to touch every single one of our lives sooner or later.

Switching from Google to Duck Duck Go

For the longest time I’ve been hearing the praises of a little search engine called Duck Duck Go amongst the Hacker News crowd. Yesterday, I finally decided to take the plunge and set it as Chrome’s default search engine. After a day of solid use, here are some of my observations:

  • The search results are good: While Google has been taking time to improve their results lately, it’s refreshing to see original content get ranked higher than web scrapers. In fact, the web scrapers have a tendency to not show up at all on DDG.
  • Lots of documented goodies: I’m still getting my feet wet with DDG, but the ridiculous amount of goodies is going to make things a lot more enjoyable.
  • I like not having page previews by default: I’m not sure if DDH even supports this, but I absolutely HATE having preview panes pop up in Google by default. Can it be turned off? Yes. Am I too lazy to do it? Yes.
  • Directly search other sites: You can search other sites directly, which is a nice feature. Try “!amazon Founders at work”.
  • They don’t track you: You know that feeling you get when you think someone is following you down a dark alley at night? That’s the feeling you should get using Google. They track everything. I don’t like being tracked, so DDG is probably going to become my permanent search engine. Read
  • Instant Answers: Sometimes you don’t need to click-through to a page. For instance, search “jquery” and you get a handy little box that tells you what jQuery is, and where you can get more info about it. For someone new to jQuery, that little bit of information could help them make a more informed click to learn more.
  • I miss instant search: I would really like to see an option for instant searching on DDG. Being able to refine your search results letter by letter was really handy.
  • I miss other Google service integration: Searching for “coffee near 49503″ would show a map with coffee houses on it in Google. In DDG, my results aren’t nearly as useful. I hope that some sort of map integration is in there future, because it would stop me from switching back to Google to use their map service.

What do you like about DDG? What features do you wish it had?

Startup Weekend West Michigan: The Pitch

This weekend I’ll be attending Startup Weekend West Michigan from 6pm Friday through 4pm Sunday.  It promises to be an awesome event, but up until yesterday I had no idea to pitch.  So I got to thinking, and came up with this idea.  What is said below isn’t my pitch, but it’s what I’ll be pitching about.  It’s kind of a far-reaching idea to put in to 2 minutes, but I think I can manage.

Your online social life and your local community are disconnected.  Maybe some people want it to stay that way, but a lot of people want that connection made for them.  I’m calling this idea, “Social Gone Local”.

It’s not that simple though.  Local businesses already have Facebook pages, Twitter accounts, and Check-in points on FourSquare.  The REAL question is, “How do I find new businesses to associate with?”.  Addressing that issue is the fundamental problem this startup will solve.

How do we solve it?  By aggregating all of the data from your social networks and building a profile of your interests, likes, and dis-likes.  With this information, we can recommend local activities, restaurants, shops, and events with a fairly good probability that you’ll like it.  Think “Netflix recommendation engine, for life”.

But what if you’re visiting a different city?  Change your location and we’ll give you recommendations for there too.