Monthly Archives: September 2009

Startup liquidity

A good friend has a  startup for a great network enforcement engine. It is a great product, almost completely unique in its market, with great potential, and incredible engineers behind it. Engineers who have worked really hard with next to no pay, because they believed in it and it tickled their imagination.

As the time comes the device is steadily moving from beta to full production. My friend is now embarrassed to ask for the money he well deserves from his beta testers as they are ordering the devices. So I talked him into offering certain  discounts and amenities to the betas but not too much for a number of reasons.

  • It diminishes the value of the final product
  • The beta testers will want you to be solvent and keep providing the service they required and expected by allowing your product through the door.
  • And finally my spin doctor diatribe:

Great tech takes great people to do. They are willing to work gratis for a period of time but not forever. They have to get the dividends of their labor so that they can keep doing what they do best, i.e. create great tech.

Microsoft , gotta love it.

Many years ago, more than I care to recount, I got a job opposite the World Trace Center as a C programmer to maintain a largish DOS application. Remember the Microsoft C compiler of the time ?  It had various memory models like the tiny, small , huge etc. After fighting code bloat for a few months  I decided to try the huge memory model of the compiler that would allow me to use extended memory and help the product a bit. Lo and behold everything compiles just fine  without warnings, so I fire up the application and it dies on the spot.

Luckily we were using the best debugger of the time Turbo Debugger ! So I start tracing my code, and I find out that the application dies when I call printf which is the most basic C function to print something to the screen. What happened is that the linker was linking the wrong libraries, to be specific a call to printf was implemented as push stack segment, push stack offset , call the function, but the code within the function was: pop stack pointer , go on. Obviously the variables were trashed and the program crashed. Soon after that I left the company for my masters degree and haven’ t worked with microsoft tools until recently…

Switch back into the modern day and age. I am constantly honing my abilities in the programming field so I decided to get a grip on the C# programming environment figuring that after two decades they would have gotten their act together. Surprise, surprise,after fighting with visual studio express for a few hours, it promptly crashed on me. Thankfully I did not have any important work going on at the time. Still I am not deterred, I will even figure out why the god forsaken implementation of ldapsearch does no subtree searches …. I am told to use the novell dlls, sigh…