Search will get better

I can’t function without web search. It has become an essential extension to my memory, my way of working. But as the cat-and-mouse game of search engine optimization for ads has flooded us with seemingly (but not actually) relevant content, it has actually gotten harder in some cases to find the good stuff.

Google’s new Custom Search Engine is a neat tool to sift through this clutter. I tried it by putting together a custom search with only the best sources of information for programming in Ruby. The search box is on this site’s sidebar (on the right, below ‘archives’).

If you’re a rubyist, try it out. See if it produces better results than you’d otherwise get with a generic google (or other) search.

3 cases of incorporation

If you’re doing a small web business, you’ll have to deal with taxes and basic corporate law. You’ll probably eventually want a lawyer, but there’s stuff you need to know and do yourself.

One of those things is what legal entity to choose for your business. The IRS needs to know who is earning all that money you’re making off adwords (snark), and everyone else needs to know what rules this business will be operating under.

It’s fine to do this kind of small web business as a sole proprietorship where you may have no special paperwork to do until tax time in the US, and just use your own SSN to identify the business. But then there is no separate corporate entity. Everything, including liabilities, pass through directly to you.

So, for the third time now, I faced the choice of which legal structure to choose for my business. It’s one of those drop-dead boring, but still important decisions you have to make. Here in the US, the basic forms are Sole Proprietorship, General/Limited Partnership, Single-owner LLC, LLC, S Corp, and C Corp. Each form involves different rules (especially for taxes), and different levels of complexity and cost at first, and on an ongoing basis.

What form was chosen each time and why?


In 1996, two high-school buddies and I created a PC-based multiplayer gaming arcade called Enteraction, with the storefront in our hometown of Hollidaysburg, PA. We choose to create a partnership because there were 3 of us, and since we were all fresh out of college, liability wasn’t a major concern. Two of us would be “passive” partners, one “active”.

Some people are fine with verbal agreements, but it’s smarter to be very clear and up front about everything, especially when friendships are at stake. So we went through the trouble to write up and sign a formal partnership agreement (based on a standard template).

The partnership form worked for us through more than a year of operation, and ultimately dissolution of the business. We realized we could pay the bills, but not a reasonable wage for our active partner. The breakup was amicable. An LLC would have also worked well, providing more protection with a little more up-front cost, but as it turns out that investment would have been wasted.

In 1998, Veriteam, Inc. was formed with the goal of creating a full-fledged, go-big-or-go-home startup. I had been working an employee at a another successful startup (S3, Inc.), and wanted to follow that model. Investors would eventually be involved. So the company was formed as an “S” Corp, which allowed us to have a few sophisticated investors, but also simplified taxation to pass profit and loss through to the owners like an LLC or partnership.

As many startups do, the business totally changed direction at one point and became

Through those changes, recruiting employees, private investment, and selling the business to a public company, the S corporation structure worked well, and I’d choose it again in the same circumstances.


This time around, I’m trying to create something that will start small, get successful, yet stay sane by not having to take on investors or go public. It’s a different kind of business, and the S corporation would introduce cost and complexity that isn’t justified. So Leancode has been incorporated as a single-owner LLC. This form creates a full corporate entity with it’s own EIN (instead of a personal SSN) and some liability protection, while being treated much like a sole proprietorship for tax and other purposes.

Will it ultimely be the right form for what Leancode becomes? We can’t know yet, and the world isn’t going to fall apart if it isn’t — with a little paperwork and some tax filing headaches, a switch of legal entity could be pulled off. But a little footwork up front can avoid troubles later — perhaps at a time when you’re busy doing cool stuff, and can least afford to take your eye off the ball.

I’ll post next on how a lawyer can fit into all this, but if you’re the self-study type, the book I’ve used in the past and would recommend is The Entrepreneur’s Guide to Business Law (the 2nd edition is from 2002, I’d recommend pre-ordering the coming 3rd edition).

Reaching Beta: Feedback and Focus

“And of course they had a christening party. And of course they invited the fairies…”

They say software is never done (and everything will take 4x as long as you’d think). They’re right. So you have to call out milestones and give names to things to get your bearings. And so I hereby knight this small service called chartpart. We’ll call you “beta” and send you off.

Feedback is critical in software development, but it’s not always easy to figure out what the customer is telling you. In the case of chartpart, I got lots of good explicit feedback (thank you). I also got implicit feedback in the form of hits and general interest level.

This feedback led me to realize I was trying to do too much with chartpart. Dealing with the complexities and commitments of hosting images. Serving up flash, and sparklines, and tracking trends (all things for which there is nearly complete code in source control).

The site and the business model behind it need to be far simpler, at least to start. And so you’ll notice some significant changes to chartpart, done in the last week for beta. The site now generates images, but does not provide hosting. And the site aspires only to be a small, useful ad-supported tool. If there will be more, it’ll come later in a separate form.

Complexity builds on itself. Fortuately, simplicity is also reinforcing. For example, more than one request came in to simply allow the pasting of spreadsheet data. And it could have been done. But with a focus on being a free chart generator, not a chart hosting, we’re clearly not trying to compete with spreadsheet charting engines. The guidance would be: “use your spreadsheet if you have one at hand, chartpart if not.” So the feature is less essential with our simplified use cases.

Please use chartpart, if you find it useful. And please mention it if you find it interesting.

For me, chartpart has been a great first project to learn (and re-learn) a ton about web development, and especially Ruby and its libraries. It now needs time to bake and find its niche (or not) — collecting use and feedback over a longer period. And I need to start thinking about a second project.