I love Sci-Fi Friday

The sci-fi channel has been getting better and better and it’s now gotten to the point where i’m looking forward most of the week to friday, and not just for the break from a stressful job.

I got Jaimie hooked on sci-fi with Buffy. We’ve both watched every episode of that show and we’re very sad to see it end, but it was time. It had been winding down for awhile. After that I introduced her to Stargate. We’ve been watching that for the last couple of years now. Another very creative show that isn’t afraid to keep reinventing itself.

Stargate Atlantis was an interesting change. It doubles our weekly intake of Stargate and the Wraith are great, incredibly creepy bad guys. If only taila(sp?) and Dr. Weir won’t so damn annoying.

Then came Battlestar Galactica. Another great show exploring some new ideas. A little bit too stressful for Jaimie so only I watch that one.

Finally last week they introduced Firefly. Like I said I was a huge fan of Buffy and I think that a huge amount of the credit for that goes to Joss Whedon. I think he’s doing a great job with this show as well. I like that it’s taking its time to laydown the storyline. The movie comes out on Sept 30th so we’ll be spending my birthday in the theatre.

Risks associated with starting a business

The problem with starting a business is that it takes money to do it. So for some period of time you have to live in the precarious state where money is flowing out, but not enough is flowing in to replace it. So logically you would actually be better off doing nothing at all, at least that way you’re not losing so much money. This is the scariest thing about starting a business. However, there are some trends in the software field that are reducing this risk.

In the past it could take huge sums of money to get around that corner. However, there have been some trends lately in the software engineering field to reduce that level of risk.

Sever costs have dropped dramatically. For a budget conscious startup, decent servers can be had for < $1000 running linux. These are definitely capable of getting a small business off the ground.

Software itself has dropped dramatically with open source alternatives. Linux for servers, mysql for database, java with eclipse and tomcat for applications. You can build a world class software infrastructure for $0 in licensing fees. Of course, to do this effectively you need some smart people to set things up, but if you're launching a startup you had better have them anyway.

If you're trying to reach a niche market there is no more effective way than using very targeted search ads. The cost is low enough and the rate of return high enough that as a small startup there is no need to go with massive branding campaigns to get your name out there.

There are reports surfacing of small startups getting to breakeven for less than $100k in capital. This definitely puts it in the realm of microinvestors. I believe the trend will go in this direction. The large companies will allow micro-entrepeneurs to take on the risk of developing new features and then purchase the company for a reasonable sum. This offloads the risk from the company, the entrepeneur gets a reward for taking on the risk and everyone wins.

Now if I can just get the beta release out and move on to finding customers, that's when the real fun starts.

Experiment in Management (Part 3)

So the first complete round of our little experiment is now over. The division was divided up into 12 groups. Each group was given a topic and told to come up with a list of quick wins for product development as well as a bit of a longer term goal.

I personally was a member of 3 groups. Issues with the process started when people began to question the scope of each group. Since the groups didn’t have central meetings and there really wasn’t anyone centrally positioned, it was difficult to answer these questions. I actually found out that two groups had each assumed that the other would cover the scope of one of the products, so the result was that no one covered it. Oh well, the joys of decentralized processes.

After a month of intesive meetings and planning each group had to give a 5min presentation on it’s quick wins. Once this was done a governing body would go through the list and sort all of the proposed items for both customer impact and engineering difficulty. The resulting grid allowed management to pick the items that were in the corner of highest impact and easiest to do.

So, a month of meetings involving the entire division and extensive planning resulted in a list of about a dozen todos for product development that was ~90% the same as lists generated prior to the process. We still do not have actual product specs to develop the products. That process needs to start now and we’ll have another month or more of meetings to get those done. I’m concerned that since the scope of these quick wins isn’t really nailed down that during the product spec phase they could dramatically increase in scope and no longer be a quick win. The one good thing is that the number of groups has been dropped down to 4 to manage the next round of the process and i’m only involved in one of those groups.

I’d have to say that so far the decentralized product development process has not lived up to the hype. It’s allowed everyone to get involved, but when it came down to it the final call had to be made by a group of managers. This resulted in people getting upset that their quick wins had been cut from the list. There was one possible idea that I know of that came up in this process that wasn’t already proposed prior. So you could point at that as a sign that we had a richer source of ideas that would had not previously tapped, but had we just remained open to including new ideas as they’re brought up couldn’t we have achieved the same result in much less time.

The final result is that the company is having a tough time handling the level of data in our day to day business. What is protrayed to the end user is our inability to develop new features for them. In each review that comes out comparing the entire field, we seem to fall further and further behind. We need to get this turned around fast or there will be serious consequences.

The joys of tivo

Last night our poor little tivo gave up the ghost. It had served us well for almost 3 years, I can’t believe it’s been that long. I believe that the hard drive was the culprit for its death. For the last day it was having trouble at certain spots in recordings. It would get stuck and then be unable to continue beyond that point. So breaking a rule that I’ve learned with servers, once a computer is up and running keep it that way, I tried to reboot tivo. It had been up for a year at this point, one of the nice things about california, no power outages. Well of course tivo never came back. I would get the powering up screen, but it would never proceed beyond that.

So, jaimie and I made the decision that we would have to replace tivo quickly, we had the tour to tape of course. Was lucky enough to be taking friday off already so that I could go grab a new one in the morning.

Tried Magnolia’s first. They weren’t really helpful. Salesguy did a horrible job. I waited around forever and could never get anyone to help me. His loss though. Went to Goodguys and the salesguy there was great. Found exactly what I was looking for immediately, a replacement model for $99 and the hard drive was twice as big now. Considered the HD version, we’ll probably be picking up a HDtv in the next year, but keep hearing rumors about those models being really flaky.

On getting the tivo home and hooked up I discovered the next problem. Tivo won’t let you record until it’s made a phone home. Of course since we’ve got voip, this was going to be a fun experiment. I found an excellent discussion of the problem here:

Since I had the RT10 model, I tried the “,#034” option and was able to succesfully make the long distance as well as the local call. Now we’ve got a beautiful brand new tivo up and running. Didn’t really realize how important it was until the thought of having to watch normal tv came back. Living without tivo would be rather painful now that I’ve gotten used to having it.

I finally did it!! (got a linux laptop to suspend)

I had been trying for months, but I was finally able to do it. What you might ask was so complicated. Well, in this case it was getting my linux laptop to suspend. This had been a major annoyance that I couldn’t walk away from the laptop for awhile without worrying about the battery dying. The only way to handle this was to power the laptop down. If I closed the lid the laptop would suspend, but never come back. Seemed like the bios was trying to suspend, but it wasn’t speaking the same language as linux. I would finally have to pull the batteries just to get it to reboot.

So I was very excited several weeks ago when going through the options in compiling the new kernel when I found some options relating to software suspend. According to the brief description there was supposed to be a command to initiate this, swsusp. After some initial searching and coming up empty I finally found a post that mentioned an alternative way to initialize the process by using “echo -n “disk” > /sys/power/state”. A fellow engineer at a recent 106Miles meeting also clued me in to the fact that the mentioned swsusp command was just a shell script wrapper to this process.

So some initial testing got suspend to disk working right off the bat, but suspend to memory took some more work. I discovered that it could be a bit cranky about running processes when it attempts to suspend. Found out from the syslog that I needed to shutdown mysql before attempting the suspend. So a two line shell script later and I have a working suspend method.

Now the test was to bring the laptop back up again. With this, everything worked great except for the usb mouse. The laptop I’m working on is an old Dell C600 that I bought used off of Ebay 2 years ago. The built in mouse pad died horribly about a year ago requiring that I use an external mouse. So, after about 2 hours of more studying I found that doing a simple “rmmod uhci_hcd; modprobe uhci_hcd;” would reinitialize the usb mouse. So, now we have a working linux laptop again. Even the linksys wireless card would come back up and hop on my home’s network. Couldn’t be happier.

The only caveat with the process is that with the memory suspend it seems to get stuck in the middle of the shutdown process about 10% of the time. No real reason that I can discern and only pulling the batteries will get you out of this state. Haven’t seen this happen with the disk suspend yet, so I’ll probably be sticking with that as I only use this laptop for development work at night now. Most casual laptop usage is now on my Apple iBook which suspends perfectly, one of the nicest things about it.

Crazy Ideas

I went to the 106Miles meeting last wednesday night. This is a really interesting group of engineers in Silicon Valley with entrepreneurial motivations. Started going to this group at their second meeting after hearing about it on Jeremy Zawodny’s blog, which interestingly enough I had started reading because I found his account of difficulties with a water heater interesting as I was replacing my own. The group has grown dramatically in a very short period of time and often has to turn people away due to the groups inability to host 100+ people.

Some times the ideas I encounter at the meeting are eye-opening. Other times it’s just worth it to go chit-chat with other like minded individuals. I’m still surprised at some of the ideas that make it off of the scribbling on a napkin stage, some even make it to full funding and employees. Not sure if this is a comment on how there’s too much money and not enough ideas these days or if a certain number of crazy ideas always get funded in the hopes that maybe they’re not so crazy.

The ideas that seem to be the most out there for me are the ones where alternative market places are set up, complete with their own currencies. I wish the people behind these ideas the best of luck, but just wonder if they really understand how markets work.

One final comment, on non-content sites, putting google ads on your webapp is not a business plan.

RCP versus AJAX

So in evaluating possible tools sets and app frameworks for a new product aimed at the consumer and small business market, what are the considerations in making this decision. There are some bleeding edge trends out there that have a lot of advantages over traditional Microsoft app development. The two that I’m currently considering are RCP from the Eclipse group and a Web app using AJAX.

There are several advantages to both strategies.

A lot of it is going to depend on the reality of being able to create a fully functional UI using AJAX. If it is possible to do everything in the browser that used to require a downloadable application then I feel that the AJAX route has a lot of advatages.

1) No need to distribute the application.
2) Don’t need to suppport client install and versioning issues.
3) Backward compatibility with existing client base problems disappear.
4) Hopefully easier cross platform support. (Depends on Browser issues).
5) Client is able to access application and data from anywhere with internet connectivity.

With initial testing some issues are already showing up.

1) Tools support for complicated javascript development is very limited.
2) Pre-canned AJAX type tools are getting mixed reviews.
3) Debugging javascript problems can quickly turn into a nightmare.

So, it’s still too early to determine how this experiment will turn out. The hurdles of using AJAX effectively look like they’re doable.

On Being An Entrepeneur

So the term Entrepeneurship is a bit loose in meaning. However, over the last several years I’ve come to realize that it very much applies to me.

I grew up in the midwest where there just wasn’t a whole lot of focus on business. After college I started to look around at a lot of things happening in the world around me and was surprised to see so much happening. I can’t figure out why I didn’t see what was happening earlier, while I was in school. Must have been too focused on passing the next test and figuring out when I’d get the next mountain bike ride in to notice dot-com bubble inflating. I moved out to San Francisco in early 2000. Right at the tail end of the gold rush. This was purely by luck though, as my primary goal for relocation had been Atlanta at the time. Since I’ve been out here though, I’ve been learning more each day about engineering, science, and business than I ever did in school.

Some of the lessons in business have been the most astounding. To see first hand some of the insanity that happens, and is considered normal, was amazing. I never realized how spot on Dilbert was until I started to live in that world.

At this point though, I’ve come to realize that what I really want to do is to be able to create my own product vision, grow it and launch it. I’m driven by the fact that I don’t think I can ever be happy spending my years working trying to make someone else’s dream come true. To really feel that I’ve accomplished something in life I have to make one of my dreams come true.

So now the problem is, what is a dream worthy of following that actually has a chance of being succesful? Working in the Bay Area and talking with other engineers I’m still amazed at some of the dreams they choose to chase after. Putting Google ads on your new web based app is not a business plan, but there are so many startups getting funding with little more behind their idea than that.

I’ve currently got an idea in the oven. It’s been baking a little while now and seems to be rather promising. I’ll fill in the details as it gets closer to being done. Hopefully, this is the dream that I get to fulfill. In the meantime I’m going nuts, which is what being an entrepeneur really means.

Experiment in Management (Part 2)

So after the first set of meetings it appears that there might be some issues with this experiment that need to be worked out.

1) Does anyone have the power to make final decisions or is it a pure democracy?
2) Since it’s impossible to completely segregate the different groups completely what is to be done with product idea overlap?

These issues have been brought up and everyone is currently mulling them over to see if a solution can be found.

The joys of home ownership

So, you go out and plunk down that enormous sum of money and now you’re a home owner in the bay area. You’d think that after the price you paid and everything you’ve had to go through to get to this point that the rest would be easy. Of course you’d be completely wrong.

Now you get to experience the wonderful joy of dealing with neighbors. From the unsightly things they do that drive you nuts, to the nasty old cats they keep that you have to keep scaring away so they don’t use your vegetable garden as a litter box, to the cigar smoke that infuses your entire house at night because the wind happens to be blowing the wrong way and you have to have the windows open because of the summer heat.

But then you have the satisfaction of being able to go home at night to your own place and take a walk around you’re own neighborhood and it’s all worth while.

An experiment in management

So, there is a another experiment that is taking part in my life right now. It’s not one that I have a whole lot of control over though. At my place of employment, there are some very different points of view on how a company, or in this case a division within a company should be managed.

Some very interesting studies have come out recently concerning the knowledge that can be derived from a group of independent people as compared to having a concentrated group of experts. Some of these studies have shown rather amazing results that at first glance are very counterintuitive.

1)That the makeup of the group of individuals is not entirely related to the results.
2)That the more diverse the makeup of the group the better the results.
3)That a group of “experts” performs worse than a diverse group.

To try and put these ideas into a usable format, the division that I belong to is attempting an experiment where product development is entirely decentralized. Everyone has a voice into what the product should look like, what features should be included, what the focus should be. The products have been broken down into subareas. Then there are groups that will discuss these areas. These groups will create product specs. Finally all of the resulting product specs will be merged into a complete product vision at the end.

I have some concerns about this process. The studies that this is being modeled off of uses very large groups, so is it applicable with a small group (ie. less < 20 people)? Will there be issues with having a cohesive vision at the end? Will chaos reign?

My own personal bias is that there needs to be a strong manager. Someone to make the final call on decisions and care for the cohesiveness of the vision. Can a small group of peers create a better product without this figure?

I'll be sure to continue posting with updates of this experiment.

A little background

Decided to start up a blog, to see how this new technology trend works. More a matter of how I work with it rather than the trend as a whole. I’ve never kept a journal or done any other type of personal writing in the past, so this will be an interesting experiment.

A bit of a profile:

I’m a software engineer in Silicon Valley. I work for a rather large media company and am lead developer on a site in the digital photography realm. I was recently promoted to engineering manager, but am really still playing the role of tech lead.

Like many other engineers I have interests outside of just computers. As this experiment progresses, I might get into some of them here in the blog. However, I have concerns with how open I can be in this public forum. I’m very aware of the issues with public postings having a knack of sticking around for a very long time. Also, most companies aren’t entirely comfortable with the idea of employees posting their thoughts yet either, so in the beginning I’m going to tread lightly.