RSS
 

Archive for the ‘Uncategorized’ Category

Long time no write ..

22 Jan

It’s not that I was once a writing waterfall, far from it, but the years have been rough on me, and as the roughness endures ( and I get used to it, not that there’s any low limit for roughness but still .. ) I feel, with growing intensity, that my thoughts when contained become more and more cryptic, even for myself, and that the not-so-simple act of taking what’s inside this egg shell of a cranium and normalizing the data for transmission is in fact helpful, because I’m forced to organize the thoughts, get some external, validating data, make some explicit relationships between groups of thoughts and generally WRITE IT DOWN in less space than two volumes of the Encyclopedia Galactica (but with infinite less information) IS A GOOD THING ™ FOR ME TO LEARN AND PRACTICE .

Anyway, my climb out of the hole continues and loose rocks continue to fall on me, forcing me to yet another change in course, so the roughness continues, but my need to bring my brain down to earth and make it more … productive, is increasing exponentially, it’s been 14 months since Child #2 came to be, and the time to do this is now.

This is also a post for myself, the information contained herein is close to non-existent, but it’s 2012, it’s time I have a blog, if you’re out there, thank you for being, don’t shy yourself out of pushing or kicking me in the back of my head, and let’s get this A.D.D. thing under control and see what kind of a human I am capable of being after all.

Onward, to business, life and community success and/or a big ball of fire :)

 
 

On startups, equity and fairness ..

22 Jan

Joel Spolsky approach (original thread here)

 

This is such a common question here and elsewhere that I will attempt to write the world’s most canonical answer to this question. Hopefully in the future when someone on answers.onstartups asks how to split up the ownership of their new company, you can simply point to this answer.

The most important principle: Fairness, and the perception of fairness, is much more valuable than owning a large stake. Almost everything that can go wrong in a startup will go wrong, and one of the biggest things that can go wrong is huge, angry, shouting matches between the founders as to who worked harder, who owns more, whose idea was it anyway, etc. That is why I would always rather split a new company 50-50 with a friend than insist on owning 60% because “it was my idea,” or because “I was more experienced” or anything else. Why? Because if I split the company 60-40, the company is going to fail when we argue ourselves to death. And if you just say, “to heck with it, we can NEVER figure out what the correct split is, so let’s just be pals and go 50-50,” you’ll stay friends and the company will survive.

Thus, I present you with Joel’s Totally Fair Method to Divide Up The Ownership of Any Startup.

For simplicity sake, I’m going to start by assuming that you are not going to raise venture capital and you are not going to have outside investors. Later, I’ll explain how to deal with venture capital, but for now assume no investors.

Also for simplicity sake, let’s temporarily assume that the founders all quit their jobs and start working on the new company full time at the same time. Later, I’ll explain how to deal with founders who do not start at the same time.

Here’s the principle. As your company grows, you tend to add people in “layers”.

  1. The top layer is the first founder or founders. There may be 1, 2, 3, or more of you, but you all start working about the same time, and you all take the same risk… quitting your jobs to go work for a new and unproven company.
  2. The second layer is the first real employees. By the time you hire this layer, you’ve got cash coming in from somewhere (investors or customers–doesn’t matter). These people didn’t take as much risk because they got a salary from day one, and honestly, they didn’t start the company, they joined it as a job.
  3. The third layer are later employees. By the time they joined the company, it was going pretty well.

For many companies, each “layer” will be approximately one year long. By the time your company is big enough to sell to Google or go public or whatever, you probably have about 6 layers: the founders and roughly five layers of employees. Each successive layer is larger. There might be two founders, five early employees in layer 2, 25 employees in layer 3, and 200 employees in layer 4. The later layers took less risk.

OK, now here’s how you use that information:

The founders should end up with about 50% of the company, total. Each of the next five layers should end up with about 10% of the company, split equally among everyone in the layer.

Example:

  • Two founders start the company. They each take 2500 shares. There are 5000 shares outstanding, so each founder owns half.
  • They hire four employees in year one. These four employees each take 250 shares. There are 6000 shares outstanding.
  • They hire another 20 employees in year two. Each one takes 50 shares. They get fewer shares because they took less risk, and they get 50 shares because we’re giving each layer 1000 shares to divide up.
  • By the time the company has six layers, you have given out 10,000 shares. Each founder ends up owning 25%. Each employee layer owns 10% collectively. The earliest employees who took the most risk own the most shares.

Make sense? You don’t have to follow this exact formula but the basic idea is that you set up “stripes” of seniority, where the top stripe took the most risk and the bottom stripe took the least, and each “stripe” shares an equal number of shares, which magically gives employees more shares for joining early.

A slightly different way to use the stripes is for seniority. Your top stripe is the founders, below that you reserve a whole stripe for the fancy CEO that you recruited who insisted on owning 10%, the stripe below that is for the early employees and also the top managers, etc. However you organize the stripes, it should be simple and clear and easy to understand and not prone to arguments.

Now that we have a fair system set out, there is one important principle. You must have vesting.Preferably 4 or 5 years. Nobody earns their shares until they’ve stayed with the company for a year. A good vesting schedule is 25% in the first year, 2% each additional month. Otherwise your co-founder is going to quit after three weeks and show up, 7 years later, claiming he owns 25% of the company. Itnever makes sense to give anyone equity without vesting. This is an extremely common mistake and it’s terrible when it happens. You have these companies where 3 cofounders have been working day and night for five years, and then you discover there’s some jerk that quit after two weeks and he still thinks he owns 25% of the company for his two weeks of work.

Now, let me clear up some little things that often complicate the picture.

What happens if you raise an investment? The investment can come from anywhere… an angel, a VC, or someone’s dad. Basically, the answer is simple: the investment just dilutes everyone.

Using the example from above… we’re two founders, we gave ourselves 2500 shares each, so we each own 50%, and now we go to a VC and he offers to give us a million dollars in exchange for 1/3rd of the company.

1/3rd of the company is 2500 shares. So you make another 2500 shares and give them to the VC. He owns 1/3rd and you each own 1/3rd. That’s all there is to it.

What happens if not all the early employees need to take a salary? A lot of times you have one founder who has a little bit of money saved up, so she decides to go without a salary for a while, while the other founder, who needs the money, takes a salary. It is tempting just to give the founder who went without pay more shares to make up for it. The trouble is that you can never figure out the right amount of shares to give. This is just going to cause conflicts. Don’t resolve these problems with shares.Instead, just keep a ledger of how much you paid each of the founders, and if someone goes without salary, give them an IOU. Later, when you have money, you’ll pay them back in cash. In a few years when the money comes rolling in, or even after the first VC investment, you can pay back each founder so that each founder has taken exactly the same amount of salary from the company.

Shouldn’t I get more equity because it was my idea? No. Ideas are pretty much worthless. It is not worth the arguments it would cause to pay someone in equity for an idea. If one of you had the idea but you both quit your jobs and started working at the same time, you should both get the same amount of equity. Working on the company is what causes value, not thinking up some crazy invention in the shower.

What if one of the founders doesn’t work full time on the company? Then they’re not a founder. In my book nobody who is not working full time counts as a founder. Anyone who holds on to their day job gets a salary or IOUs, but not equity. If they hang onto that day job until the VC puts in funding and then comes to work for the company full time, they didn’t take nearly as much risk and they deserve to receive equity along with the first layer of employees.

What if someone contributes equipment or other valuable goods (patents, domain names, etc) to the company? Great. Pay for that in cash or IOUs, not shares. Figure out the right price for that computer they brought with them, or their clever word-processing patent, and give them an IOU to be paid off when you’re doing well. Trying to buy things with equity at this early stage just creates inequality, arguments, and unfairness.

How much should the investors own vs. the founders and employees? That depends on market conditions. Realistically, if the investors end up owning more than 50%, the founders are going to feel like sharecroppers and lose motivation, so good investors don’t get greedy that way. If the company can bootstrap without investors, the founders and employees might end up owning 100% of the company. Interestingly enough, the pressure is pretty strong to keep things balanced between investors and founders/employees; an old rule of thumb was that at IPO time (when you had hired all the employees and raised as much money as you were going to raise) the investors would have 50% and the founders/employees would have 50%, but with hot Internet companies in 2011, investors may end up owning a lot less than 50%.

Conclusion

There is no one-size-fits-all solution to this problem, but anything you can do to make it simple, transparent, straightforward, and, above-all, fair, will make your company much more likely to be successful.

 
 

On Snobs and ironic maters ..

03 Dec

On Jeffrey Zeldman‘s Off My lawn! post you’ll find this:

It is publishing. It is humanity. It is the vanguard of ideas clashing against the rearguard of commerce. This is not new. This is all to be expected. We must stop raising our eyebrows and chuckling at it. We must decide to accept the world as it is, or to roll up our sleeves and help.

I’ve disengaged my Irony Filter on this one and I might be looking at a intent that isn’t there, but read the full article, the wider subject / behavior is something that has constantly made my skin crawl, my nails fall and my teeth shatter. I hate snobbishness, I hate pretentious people who are to good to actually do some work, but are perfectly capable of skimming through the result of weeks of hard work and, holding their nose up high, diminish it via accessory comments that orbit the important matter as if they were Pluto orbiting the sun (yeah yeah, pretty snob myself here ;) ), unable however to produce any better themselves, let alone help instead of bashing … but anyway, I digress at my own black bile, I let a better man say it :)

 
 

Quick Update to PHotoimPorter

28 Sep

So, you all know PHotoimPorter right? The little PHP script I use to move the files away from my camera cards and into the mass storage, while organizing files into a Maker / Model / Date folder scheme.

Anyway,for a while I was depending on Exifer to extract the information out of the files and it was enough for the image files I used (“old” Canon RAW files and JPG’s) but recently I used a Canon 30D for a day and those pesky CR2 files where confusing Exifer (who is mostly dead for a few years from what I gather) . So I had to drag my all to lazy ass around and look for alternatives and, sure enough, Core PHP has our back with the Exif module. “Yay” I said, and so I calculated the shortest path to get it running instead of Exifer, did it, tried it, loved it, commited it, pushed it and now I blog about it :)

My next trick is two fold:

  1. I need a serious refactoring to the information gathering process, I’m doing it upfront leaving the copying for later, and that obviously has some issues – like over usage of memory for large file sets.
  2. Let the user choose the folder scheme you want, I’ll have a look at what interesting Exif information I can expose and let you configure things for yourself

 

“Yay” I said a second time – and promptly published the post and exited the room.

 

Git Branch Deletion – The quick note edition

22 Jul

Are you Sir Git-a-lot ? Do you use branches like there’s no tomorrow? Here’s a couple of worth while quick notes

Delete a remote branch

$ git push <remote> :<branch_name>

Delete local branch (obvious, but let’s group things)

$ git branch -d <branch_name>

Clean up your local repository of all those deleted remote branches

$ git remote prune <remote>

Now go be a happy little hu-man

 
 

Codebits 2009

12 Oct

I’m in, I’m there, I’m happy :)

also, I WANT COMPANY , SIGN UP …. NOW

Codebits 2009 Banner

Codebits 2009 Banner

 
 

The Test Series – AS3 Drawing API

29 Apr

This is cross-posted with Docta | Process blog ;)

For a particular project we had to brush up a bit on the ActionScript 3 Drawing API (Flash 10). We needed to provide a sort of whiteboard where people could draw up vectors and save the metadata to XML for later use and also so we could process either PDF or some large scale images . We struggled a bit with performance and had to change the approach a couple of times settling, at some point Flash 10 was coming out and we took advantage of the new Vectors and Drawing API changes, we also had to work up the math / geometry equations so the vectors could be deleted / split using an Eraser tool .

All went fine, we delivered the project, gained some experience and now we leave you with a in-between experiment so you can have some fun (or not :) ) . Draw away to your hear content, let the randomness help you and when you’re happy press our logo, save the snapshot and SHARE IT with us :)

If your reading via an RSS tool you might not see the Flash app, but it’s easy enough to follow the link to the post , so go ahead ;)

You need Flash 10 Player , sorry :) . Yes, if you use the Debugger Version you might see some weird stuff ;)

 
 

Starting up with PaperVision 3D

25 Nov

Lately I’ve been given a few interesting challenges, I had to learn ActionScript 3, Flex, Air, learned to hate a little bit Flash (hate it or misunderstand it … whatever comes first) . Anyway, learning is always interesting but Learning while on a deadline is not what I call the Perfect Mental State, but we managed, and when a breather was necessary to put ideas down, we had to start all over again, still in the ActionScript world but this time PaperVision is being called to handle some graphical requirements.

Now, I had some general knowledge of Papervision, enough to put it on top of the list as soon as the requirements came up, so I jumped at it . I went with version 2.0, no need to start with “old” code :) , and became quickly overwhelmed by it :) , Cameras? Viewports? Scenes? And that’s just to get a cold, grey screen going :) . Luckily, we live in G-World, and information is but a keystroke away, so I found a couple (hundred :) ) of nice Tutorials that offered a Model / Framework / Template approach to it all .

First is the Papervision 2 tutorials , it covers all basic aspects that you need to get started and gives you a Base Template that covers all your setup needs . I then found another series of tutorials that also ofered some template classes, but this one was a bit more modular and I’m now working over this .. plus, the very first thing they did was draw up a cool space ship, so it was a winner :)

Now, this got me going but I still have a long way to go, either way it’s good exercise to share these initial steps (feel free to point me to other interesting starting points ;) ) , meanwhile, the Papervision Blog brings us an excelent Showcase of what people are doing with it and this blog entry throws a huge list of examples too, so plenty to look at if you want to take a look at Papervision :)

I leave you with a good example of a combination of tools, including Papervision that has brought Flash, at least to me, to a different level than it used to be :) , more information here


Papervision – Augmented Reality (extended) from dpinteractive on Vimeo.

 
 

Waking up again …

22 Nov

February 22nd … that was my last post – not that virtual life ended there of course, plenty was said over time witnessed by different platforms, condenced by FriendFeed . A lot things happened since then, life for the most part got worse and the last months have been a struggle and will continue to be for quite a while … but that’s life , if I wanted stability … errrr … I would work for someone else?  Who knows , but that’s besides the point, point is life is happening, my son is great (apart for last weeks fever thingy) , my wife is great as is the rest of the family.

Having a blog , or a place of my own, back was a goal I had, of course being who I am I have millions great fantastic world-changing ideas for the RagingNexus and, of course being who I am, all these will still be thoughts for a while (of forever even ;) ) , so I decided to start with plain WordPress, get a theme in, salvage my old database and actually have something working :) . And this is what I have, and now, I have something I can use and improve …. a life will happen :)

:) feels good ..

 
 

My Explore Screen :)

12 Nov

David Ramalho posted a photo:

My Explore Screen :)

Thank you all for this :) , it might be temporary, but it felt good :D many many thanks

Created with fd's Flickr Toys.