Do we watch TV anymore?

Posted in Campfire Stories on April 2nd, 2006

One of my coworkers works remote from somewhere that’s, well, remote. A recent thunderstorm blew down his antenna and from three fuzzy stations he’s now down to one channel. And it’s not PBS.

He emailed us all at work and asked about satellite options and what kinds of things we watch on TV. Making a list I realized, I do not watch much TV.

When we were in grad school in Bloomington, IN, if you did not have cable you could only get the local college-hosted PBS station and frankly, between that and video tapes we were happy with it.

At my house these days we have something like 100 channels on cable (but none of the Movie channels like HBO — call me cheap) but I have noticed that we only watch a very few of those. Listing them out we watch (by network):

1.  ** FX
2.  ** TNT
3.  ** AMC
4.  ** BRAVO
5.  *  PBS
6.  *  CNN/Headline News (two channels but I think of them as one)
7.  *  HIST (History)
8.  one of the local news shows for 45 minutes in morning (CBS)
9.  A&E
10. DSC     (Discovery)
11. TWC     (Weather Channel)
12. COMEDY

** = watch these most – lots of movies.
* = watch more than some other channels.
No * = I watch occasionally.

Conclusions:

I could live with just the ** and the * channels. If I could ONLY have the 12 channels on the list I would almost never notice since this is really a two-sigma list (better than 99%) of what we watch.

Interestingly, 12 channels fits in the classic TV band: channels 2-13.

Other than the local news, I never watch any of the classic networks (ABC, CBS, NBC). I’m right at the cusp of the Baby Boomer Generation (the young end, thank you!). The networks are dead.

I never watch ANY serial shows (“series”). Ok, I’m lying, I watch series that are on HBO when they come out on DVD. Series on the networks are double dead.

Of course, my wife and I have our Netflix habit running at a steady 4 movies a week. For scale, those movies make up fully 80% of the time we spend watching TV. We also tend to multi-thread when watching broadcast channels but single-thread when watching a DVD. Movies still Rock – but not at the theater.

When did this happen? When I was growing up we watched network TV and we went to the movies every other weekend.

I’m looking at the listing in the local TV Guide and I see that if we subscribed to everything, there are 851 channels available. 

Guess somebody’s watching.

Has Microsoft flipped the Bozo bit on .NET?

Posted in Blogs on blogs, The Art of Programming on March 18th, 2006

My colleague, Jeff Atwood also writes about this at his excellent Coding Horror.

No, Microsoft has not.

I have recent experience with software development in Vista (literally IN Vista). I work in a .NET shop but we did not build our Vista app in .NET. We used good old unmanaged Win32/C++.

Richard Grimes is a frequent contributor to many professional software journals and his Wrox books Beginning ATL COM Programming and Professional DCOM Programming saved my ass and made me look smart when I was building a DCOM based system working over satellite networking for Ford Motor Company in the late 90’s.

Richard has some great posts on .NET, Vista and specifically .NET and Vista

He shows, and laments, that there is virtually no .NET beyond the .NET runtime in Vista.  Further, he tracks that the amount of managed code within the .NET framework itself has measurably gone down with each release.

From this he concludes that Microsoft has lost confidence in .NET.

Grimes has missed the point. In building Vista, virtually every RECENT decision (over the last 18 months) has been driven by Microsoft ruthlessly pursuing stability and security. After umpteen intense code reviews this priority is now burned on my butt. At the same time Microsoft is also insisting on broad compatibility with existing applications and systems.

As Grimes demonstrates, the Microsoft OS (Vista) and application code base (Office, etc.) is almost entirely Win32/C/C++. What Grimes neglects to mention is that the Microsoft code base is also incredibly mature in terms of contained bug fixes and work-arounds.

Porting functionality to .NET would have directly increased security. However, porting any major function or system to .NET, while also faithfully replicating all the complicated legacy details contained is very expensive and error prone.

Microsoft does not have infinite resources and they cannot push hard on everything at the same time. Pursuing increased security and stability (in C/C++ those are directly and tightly coupled objectives) had the effect of reducing the goal of “more .NET” from a MUST into a “nice to have.”

The goal of a solid platform is worthy. Improving the security of the Windows platform is also a good idea. Looking at the history of Vista there is a clear pattern of tossing any new feature (WinFS, Avalon, …) if it cannot be guaranteed rock solid.

It’s gutsy that Microsoft has been willing to forgo attractive customer-facing features to pursue greater stability (which is only visible by a lack of instability…) and security (ditto).

It’s wimpy that they have not explained this well to the developer community.

The real issue Microsoft has to tackle is getting their marketing rhetoric in line with reality.

I do not entirely agree with Grimes but he represents a very important outside opinion that many eminent software developers share.

If Microsoft does not address the concerns of people like Grimes or the community he represents Microsoft could lose the “mindshare” race in the long run.

C/C++ Users Journal, dead. Dr. Dobbs next?

Posted in Uncategorized on March 13th, 2006

So with the February 2006 issue C/C++ Users Journal folded. Wil at Channel 9 reports that the note on his last issue read:

“For nearly 30 years, the C/C++ Users Journal has provided resources and information to serve the constantly evolving community of C and C++ developers.  [ ... blah, blah, blah ... ] What this means is that you are holding in your hands the last issue of the C/C++ Users Journal.  As a result, Dr. Dobb’s Journal, which has published C and C++ articles ranging from the days of Small-C to C++, will expand its coverage of these important programming languages even more.”

Okay so Dr. Dobbs will get bigger, right? The February 2006 issue of DDJ was 80 pages. The April 2006 issue, having absorbed all that CUJ content is now a whopping, wait for it, 60 pages.

My bet: Dr. Dobbs Journal will “Byte” it within a year.

Gimpel Bug of the Month

Posted in The Art of Programming on March 12th, 2006

In Dr. Dobbs and C/C++ Users Journal every month is a small ad for Gimpel Software’s PC-Lint where they present their “Bug of the Month” – a tough to find C/C++ bug that they use to demonstrate bugs that PC-Lint can help you find.

A coworker told me that the first thing he does when he gets a new issue of C/C++ Users Journal each month is flip through and find this ad and see if he can figure out the bug.

After years of doing anything but C++, for the last year I have been doing a Win32 application that will ship as part of Vista so I’ve started to work these puzzles too.

I admit, I usually have to actually code them up to find the issue but it really helps improve C/C++ skills. These also can make great interview questions.

Fortunately, when I get stuck, they give the answer on their site.

Dare to be Stupid

Posted in Blogs on blogs, The Art of Programming on March 10th, 2006

I just read a series of Kathy Sierra’s posts at the excellent Creating Passionate Users blog and I found a common theme in them: “when being stupid is the smart move”

Dignity is Deadly, Part Two - “When you evolve out of start-up mode and start worrying about being professional and dignified, you only lose capabilities.”

How to be an expert - “The only thing standing between you-as-amateur and you-as-expert is dedication.”

And Don’t forget square one… which was perhaps the most powerful. She discusses how you need to orbit back to the basics every now and then – but don’t spend too much time there.

I’ve been a software developer and engineering manager for a long time and to me, the key skill to moving forward is to constantly ask yourself: where am I still a beginner?

I know some people who seemingly do this constantly. They are also the severe early adopters (come to think about it, they are also often really annoying). I’m much more cyclical. I’ll go months “head down” on a project, just doing, and then finally pop up and look around.

And sigh.

Because I know it’s time to go be a beginner at something again.

Every time. Every single time, I find this process stressful. That’s because every time I forget that the LAST time I did this I thrashed around for no more than two days, got traction, and became competent at learning the new skill. Note I said learning the new skill, not competent at the skill. Once in the learning mode the stress is gone, I’m having fun. I feel young and vital again.

I strongly think that this makes the difference between a good developer and a great developer: good developers are competent and reliable. Great developers are willing to move away from the comfort zone of the place where they are competent and dare to be stupid: try a new skill where they are a beginner again.

Blogging

Posted in Blogs on blogs on March 9th, 2006

I’m learning career advancement comes to those who blog. Stupid but true. Incredibly stupid but true. Spend less time actually working – spend more time writing about those 15 minutes you spent today actually being productive – and you will get promoted. It seems to really be a case of obvious over-enthusiasm being contagious.

That said, I am finding that blogging does bend your brain to organize how you communicate into cohesive messages.