Arguing with Coworkers about Money

I used to work for an incredible dot com, Terabeam. We made gigabit Ethernet laser hubs that could connect buildings blocks and blocks apart, without radio licenses, without digging up streets and without phone companies.  But we never got the price point right and our burn rate with 400+ employees was incredible and layoffs came in 2001.  Round after round after round.

I made it to round 4.

I came away from that with anxiety about profitability, which was later compounded by the bottom line obsession at a large medical device manufacturer and trying to get our own little company going.

I believed that maybe if everyone worried about profitability maybe Terabeam’s fate could have been avoided.  Maybe if I could have learned how to price my time better our little company would have made it.

And so I argued with an esteemed coworker this past weekend that everyone should worry about profitability.  Everyone should fear killing the fragile golden goose.  I was sure I was right then, but the more I think about it, I am not so sure.  Not at all.

It comes down to trusting my leaders to make sound financial decisions and for me to let go of the layoff-triggered need to control and avoid that happening again.  As an engineer I should strive for cost effective, innovative software that securely meets our users needs, and I should be prudent with my expenses, but I think now that I have been worrying about profits WAY too much, and should instead fixate on what I can create or improve.

I feel some creative energy freeing up already.  Blogging one’s way through a 14 year old scar can be so… freeing.

Time and Effort

I found this post by Liam Campbell encouraging. In “Work is Better Than Talent” he writes:

Design is not an exclusive club. You don’t need talent to get in, the same way that you don’t need a signet ring and a secret handshake. It’s a skill that you gain with time and effort, just like anything else.

Time to practice.

Chrome, JavaScript, and a Spacecraft for All

Just stumbled across this on the web – looks like the Googles were busy last year with a cool interactive visualization of the recently “re-discovered” ISEE-3 spacecraft, with all sorts of Chrome, WebGL and JavaScript goodness.  Take a look at

Satellite Tracking in Objective-C for iOS


I’ve had space on my mind a lot, more and more.  Pam and I have this crazy idea of setting up a ground station here at the house to be able to track and listen (and talk to?!) to the dizzying array of machines and astronauts circling overhead.  So, being the Code Panda, the first thing I wanted to do was get some software together to predict satellite passes.  And, with my primary interest being iOS development these days, I wanted to do it in Objective-C.  (And I have this very crazy idea of doing some sort of augmented reality thing were you can “see” the satellites through the mobile camera.)

I hadn’t set out to write the satellite tracking part from scratch – I’ve already done that years ago in Pascal and then C.  And the orbital models that were available then have been superseded by new more powerful models.  But as I surveyed the code available out there I got kinda frustrated.  I know hours and days and more have been poured into reference implementations, but they, well, were written with single letter variable names and obtusely named class-less functions.  It made it unlikely that a software developer (or, for that matter an astrophysics student) could pick up the code and follow it – could review it – could learn from it, improve on it or find mistakes.  The C code I found really looked like a port of FORTRAN code in many ways.

And I couldn’t find any code written for Objective-C, much less one that could interact with iOS internals like NSDate or MapKit.

So… about a week ago, I got started, and now I’m proud to say I’ve just checked into GitHub a rough Alpha of an Objective-C satellite tracking library and an iOS demo app.  And it has structure and clear function and variable names.  And you can “read it like English” to see what the code is doing.

It is available here, and I’m going to continue to develop it (it still needs cleanup and to account for pertubations and automatically fetch ephemeris from NORAD, among other things) as I get this home ground station together and work toward a long term goal of inspiring my kids and others to look toward the heavens and appreciate what’s out there.

Today’s Hypothesis: Mobile or Perish

Hypothesis: Uninstalling the mobile app for a platform (e.g. Facebook) makes it far less likely for you to visit the platform overall – i.e. your visits to the platform per week don’t completely shift to your computer, but decline overall.

Ergo, your mobile app is critical to your platform’s success, if not its very survival.

Let’s measure this!

Photo credit