Coding and Complexity

Norris Numbers

I recently stumbled on the following article about “Norris numbers”

http://www.teamten.com/lawrence/writings/norris-numbers.html

The quick summary is that for an untrained programmer, 1500 lines of code is about where they hit the wall before they succumb to complexity and organizational issues.  The next big barrier is 20,000 lines of code for those that have some training and a bit of experience.  The next big barriers are at 200,000 lines, 2 million lines, etc.  At each level, a programmer or team has to develop new techniques and strategies to overcome the inherent cognitive limits of our human brains.

SLOCCOUNT

Linux offers a neat little tool called “sloccount”.  You can run it on just about any source tree, and it will count up the lines of actual code and then estimate how long it might have taken to develop that code and what the expected costs might be.

For example, my core UAS autopilot project is about 41,000 lines of code currently.  Sloccount estimates this represents nearly 10 years of effort (I started the work in 1995) and at a modest yearly salary estimates the cost to develop this code at about $1.3 million dollars.

My first reaction is this is crazy talk, sloccount is just pulling numbers out of it’s rear aperture.  But after thinking about it, maybe these numbers aren’t so far off.  If you also consider the need for a project to mature over a period of time and consider bugs, testing, etc. then it’s not so much about how many lines of code can you crank out per hour, but more about how much effort is required to create a body of code that is functional, robust, and mature.  If you take a mature software package and work backwards, I suspect sloccount’s numbers would start to look much more reasonable.

Workload and Expectations?

I’ve spent my career in the trenches.  I never really was interested in the management track.  This clearly colors my perspective.  When I read generalized comments (like the article linked above) my first thought is to apply them to myself.

After reading the article about code complexity barriers, I immediately went out and evaluated several of my projects.  FlightGear = 264,000 lines of code.  My UAS autopilot is 41,000 lines of code.  My little summer side project is 6,000 lines of code (sloccount estimates that is 15.76 months worth of effort packed into about 2 months of time.)  My model airplane designer project that I’ve worked on during Christmas break the past 2 years is 5,600 lines of code.

I still don’t think we can put too much faith in sloccount’s exact numbers, but when I wonder about why I’m so overwhelmed and feel buried in complexity and deadlines and pressure, maybe this offers a little perspective, and maybe I’m doing ok, even if I feel like I’m coming up short of everyone’s expectations.  For the managers and entrepreneurs out there, maybe this can guide your expectations a bit more accurately.

Cutting the Cord

Update: 10/01/2014

Things just aren’t quite falling into place perfectly for this cord cutter.  Since cancelling our satellite, I’ve been monitoring 4 possible antenna DVR options.

  1. Tivo Roamio OTA.  This seems like exactly what I’m hoping for.  Maybe a little expensive on the monthly subscription, but I’m willing to give it a try.  The downside: not available anywhere, any target date has been scrubbed.  Rumors suggest best buy is removing all tivo products from their stores.  Oof dah.
  2. Tivo Roamio.  This is $110 more than the Tivo Roamio OTA for the initial purchase with the same monthly subscription.   On the plus side it is available and shipping now.
  3. Tablo DVR.  This one looks really interesting.  However, I don’t own an ipad and I want to watch TV on my TV, not on my tablet.  They say they have newly added Chromecast support, but everything I’ve seen suggests their android support (needed for chromecast) sucks, and it’s unclear if watching live TV would work through the chromecast and how sports type shows would look.  It’s fairly pricey on top of everything else.
  4. Smart TV.  I looked at this for the first time yesterday.  It seems plausible, but some of the basic features I would expect were in their premier package and not their “basic” package.  This one just didn’t quite have me jumping up and down either.

So what is my plan?  For now I guess I wait for the Tivo Roamio OTA which could be a month or two or more away from being available to me.  In the mean time maybe I give up trying to save $110 and just buy the original Tivo Roamio.  But for now I keep watching.

Dear Tablo: you almost had me, but you lost me on your poor android support.  Give me a reasonable chromecast experience on par with netflix so that I can use my phone or tablet as a remote control and I think you probably would have my money.

Update: 9/23/2014

As of today, the 9/14/2014 release date of the Tivo Roamio OTA has come and gone.  The latest availability estimates are late October or early November.  Will I even want a tivo by then?  I guess we’ll have to wait and see.  Are there other potential options?  Does anyone have any opinions on the “Tablo”?

The cost of having all the channels you are told you should want

$110 per month.  I’m almost embarrassed to admit that is how much we were paying our satellite company each and every month for HD + DVR service.  $1320 per year.  That didn’t include any of the extra pay channels we didn’t get — like HBO, Cinemax, Stars, pay per view, etc. etc . etc.  I can’t imagine what some people must pay every month.

Was it great?  Was it awesome?  Was it worth every penny?  Did I eagerly watch each and every second of every NFL game every week?  Did I suck up endless 24 hours cable news shows?  Was I current with all the reality shows?  Did I see all the movies?  Did my kids ever run out of Disney and Nickelodeon shows to watch?  What ever happened to Hannah Montana?  Are they still making new Spongebob episodes?  I’m sure I would know the answers to all these important questions if I actually watched $110 worth of TV each and every month.

Maybe I was getting my money’s worth at some point along the way?  Somewhere, somehow, I accepted all of this.  But then we signed up for netflix and discovered so many of the shows and movies we do or did watch are available at 1/10th the cost.

Cancelled!

So we did it, we called up our satellite company and cancelled.  They gave me several chances to reconsider and even found a way to get my bill down to $68 a month.  But we held firm, they accepted our decision and we parted ways.  It was a much more pleasant breakup than others have reported with certain cable companies.

What Next?

Rabbit ears?  Running to the refrigerator or bathroom during commercials?  Making sure you are home at specific times to watch your show?  Missing your show and never getting a chance to see it?  Programming your vcr and juggling vhs tapes?   Getting up to turn the dial and adjust the antenna to switch stations?  Is this my new life?  Not exactly.

Digital Antennas

It suddenly occurred to me I had never tested the tuner on my TV.  I didn’t even know if it had a digital tuner.  So I went to the store and spent $25 on a digital antenna.  It took some fiddling around to find a place that worked, but it worked!  For me, closer to the window helped.  It was also sensitive to height and direction — table top level didn’t work work, but eye level or higher worked much better.

I discovered some interesting things when I plugged into the local broadcast world.

  • The resolution and detail was so much sharper.  Even though I got all the major broadcast stations over satellite, it turns out they heavily compress the signal, even the HD signal.  The local broadcast signal is way sharper!  If you are a sports fanatic, you should check out your game on the local broadcast station and compare to your satellite or cable feed.
  • I found a myriad of stations I didn’t know existed.  If you are into classic TV shows or classic movies, there are stations out there that feed an endless supply over the airwaves.
  • Soccer is my sport and the local mini-professional team broadcasts their games.  Cool!  I played one summer with the guy who is now the head coach, and his dad (who was the coach of that team) is now one of the broadcast announcers.  Crazy!  (I was never close to good enough to play at higher levels, but one summer I played on a team where everyone was a lot better than me, and it was a good experience.) 😉
  • I do miss my DVR.  I miss being able to set and collect shows and watch them when I want.  I miss being able to pause, skip commercials, rewind to catch something I missed.

Tivo to the Rescue?

According to the Tivo web site, they released a new version of their tivo designed especially for me.  For $50 (plus a modest monthly fee) they offer their basic DVR for recording over the air channels.  It has no cable card slot which I don’t need or want.  It is to be sold exclusively at Best Buy, but none in my area seem to have it yet … I am impatiently tapping my foot right now Mr. Best Buy.  Please take my money!

Netflix

Of course Netflix, and other streaming services such as Hulu, Amazon, and Youtube are what make this endeavor possible.

Big media companies, big content providers, and big cable/satellite companies are working hard to lock up exclusive deals and shut out those that don’t buy in.  These companies have tremendous power.  It’s why so many people stick with their current expensive providers.  But I feel the tide is shifting.  They won’t be able to lock things down forever, and eventually will have to relent to the online streaming world.  Kids these days (I’m told) watch much less traditional TV that we did as kids, and instead are watching their shows online, on their phones and tablets.

I’m not the first nut case to cut the cord, but I still feel like a pretty early adopter.   Maybe?   Maybe not?  Is this a powerful movement that is starting?  The first one to do something is the crazy nut job, especially if no one joins in.  It is the first followers though that form the bridge, that show the crowd how to follow, that make it less scary, more normal, more fun.  Before too many years go by, the non-cord cutters will be on the outside.  That is my prediction.  On line, on demand streaming and the various evolution of this new form of entertainment will soon rule the entertainment industry and our lives.

What about the internet connection

Yeah, that’s a small detail.  You can’t really stream your content without a high speed internet connection.  So maybe as time goes on, our money will shift more to the bandwidth providers, and away from the content aggregators?  Don’t ask me how much I pay per month on my internet bill!  That’s one cord I can’t see myself cutting for a long time.

Somehow I imagine that the total cost for our entertainment and communication needs won’t change all that much in the long run, but hopefully we small consumers will have more choice and control to direct our spending on exactly what we need and want.