Embedded Muse 102 Copyright 2004 TGG September 22, 2004


You may redistribute this newsletter for noncommercial purposes. For commercial use contact jack@ganssle.com.

EDITOR: Jack Ganssle, jack@ganssle.com

CONTENTS:
- Editor’s Notes
- Special Reports Available
- Best Development Team
- A Codewright Replacement?
- Superprogrammers
- Jobs!
- Joke for the Week
- About The Embedded Muse


Editor’s Notes


Want to learn to design better firmware faster? Join me for a one-day course in Boston on November 1 or in Las Vegas December 10. This is the only non-vendor class that shows practical, hard-hitting ways to get your products out much faster with fewer bugs. See https://www.ganssle.com/classes.htm for more details. There’s also cheap fly-in options listed on the web site for folks coming from out-of-town.

But register soon - my able assistant cleverly negotiated free rooms for the first 15 people to sign up at each venue.

Las Vegas’s casinos hold little interest for me but the city’s gambling imperative seems awfully analogous to the state of too many embedded projects!

I often do this seminar on-site, for companies with a dozen or more embedded folks who’d like to learn more efficient ways to build firmware. See https://www.ganssle.com/onsite.htm.


Last week’s Embedded Systems Conference was packed. I enjoyed meeting many Muse readers there. The feedback about the conference was overwhelmingly positive; people got a lot from the show. I’ll be at the Embedded Systems Conference in Munich from November 9 to the 11th, presenting three talks. If you’re there, stop by and say “hi!”


Special Reports Available


I get lots and lots of email from folks asking questions about becoming a firmware developer, coding watchdogs, and much more. A lot of that information is available in a series of special reports. Check them out:

- Debouncing contacts - www.ganssle.com/debouncing.pdf
- Firmware Standards Manual – www.ganssle.com/misc/fsm.doc
- Watchdog Timers - www.ganssle.com/watchdogs.pdf
- Commenting Firmware - www.ganssle.com/commenting.pdf
- Testing RAM - www.ganssle.com/testingram.pdf
- How to Become an Embedded Geek –
www.ganssle.com/startinges.pdf
- Code Inspections - www.ganssle.com/Inspections.pdf
- Floating Point Approximations –
www.ganssle.com/approx.htm
- Better Resumes - www.ganssle.com/sellyourself.pdf


Best Development Team


I’m told that the November 29 issue of EE Times will feature a special report, “Best-in-Class Development Teams.” This sounds like a cool chance to get some fame and glory.

The report will highlight design and development teams from different parts of the electronics industry. This includes chip design, board design, wireless development, embedded systems, and consumer electronics devices.

Here’s a chance for you to tell the magazine about your development team--the team always huddled in the corner of the lab or in the engineering area, which is eager to tell its side of the story, up close and personal. The hopes, dreams, anguish, anxiety and fears, and ultimately success—all make this development team the best in its class.

To participate, fill in responses to the following questions below and then write a 500-700-word essay describing the project goals, the hurdles encountered and overcome and why you think yours is one of the electronics industry’s best-in-class teams:
- Company name
- Size of development team
- Team members' names and titles
- Time from start of project to finish
- List of tools suite and test methodology used
- Total number and locations of collaborative
design teams, if applicable
- Appropriate urls that highlight work of your
team, if available.

The responses and essay should be in a Word document. Please include a hi-resolution color photograph (600dpi image) of the team “at work.”

Entries should be emailed to designteams@cmp.com.

The deadline for both copy and art is Nov. 1 so the judges can get to work right away and we can set a production schedule.


A Codewright Replacement?


Borland’s decision to abandon CodeWright has incensed a lot of developers. In the last issue of the Muse I asked what editors you’re using, and the results are in. Over 200 people responded.

Ed Miller wrote: I am another loyal CodeWright user who is furious with Borland for killing the product. I continue to use ver. 6.6 and will do so as long as I can. Their actions are a most egregious example of corporate narcissistic chutzpa and represent the nadir of my respect for a company that started out with a high degree of it. I certainly will look very hard for alternatives to their products in the future and urge others to do the same.

Visual SlickEdit, UltraEdit and Multi-Edit are by far the most popular editors used by the embedded community. Surprisingly to me, the Eclipse platform is making significant inroads. For an enlightening advertorial on Eclipse check out http://linuxdevices.com/articles/AT4905486769.html.

23% Visual SlickEdit (http://www.slickedit.com).
$269 to $299
18% UltraEdit (http://www.idmcomp.com).
$35 to $105
16% Multi-Edit (http://www.multiedit.com).
$199 to $249
7% Emacs (http://www.emacswiki.org/cgi-bin/wiki).
Free (GPL)
7% Eclipse (http://www.eclipse.org).
Free (GPL)
4% jEdit (http://www.jedit.org).
Free (GPL)
4% Ed for Windows (http://www.getsoft.com).
$169
2% XEmacs (http://www.xemacs.org).
Free (GPL)
2% Epsilon (http://www.lugaru.com).
$250
2% Crimson Editor (http://www.crimsoneditor.com).
Freeware
2% Source Insight (http://www.sourceinsight.com).
$249
2% Vim (http://www.vim.org).
Charityware
2% Crisp (http://www.crisp.com).
$150 to $250
2% ConText (http://www.context.cx).
Free
2% SourceEdit (http://www.brixoft.net/default.asp).
Free
2% SciTE (http://www.scintilla.org/SciTE.html).
Free (GPL)
2% GVim (http://vim.sourceforge.net).
Free (GPL)

Quite a few editors had just a single vote each. Those are:

- MBEdit (http://home.t-online.de/home/braun-m). Free (GPL).
- CPad from Zantii (http://www.zantii.net). Free.
- Vedit from Greenview Data (http://www.vedit.com). $89 to $139.
- Source Navigator from Red Hat
(http://sourcenav.sourceforge.net/index.html). Free (GPL).
- Dev C++ from Bloodshed (http://www.bloodshed.net). Free (GPL).
- Vi (http://www.bostic.com/vi). Free (GPL).
- PSPad (http://www.pspad.com/en/index.html). Donateware.
- Programmer’s Notepad (http://www.pnotepad.org/). Free (GPL).
- Nedit (http://www.nedit.org). Free (GPL). X only.
- jGrasp (http://www.jgrasp.org/). Free.
- Boxer from Boxer Software (http://www.boxersoftware.com). $60.
- Zeus from Xidicone Pty Ltd (http://www.zeusedit.com). $35.
- EditPlus from ES-Computing (http://www.editplus.com). $30.
- Programmer's File Editor
(http://www.lancs.ac.uk/people/cpaap/pfe). Free, but no
longer supported.

Thanks to everyone for taking the time to write in and express your (often passionate!) thoughts about editors.


Superprogrammers


A 1999 article in the Journal of Personality and Social Psychology by Justin Kruger and David Dunning (Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments) showed that incompetent individuals tend to rate their skills about as highly as the best team members. Interestingly, above average people are pretty good in rating their own abilities.

In this business, though, I’m sure all of us figure we’re superprogrammers.

Self assessments are treacherous at best. The team lead, though, has a responsibility to identify the best and the worst developers on the team. Sure, that’s important at annual review time, but there’s a more subtle effect identified by Capers Jones.

It turns out that superprogrammers are best on small projects. Turn them loose on a big system and they’re not much better than the worst members of the team. Here’s the data:

Project size Best Worst
in KLOC months/KLOC months/KLOC
1 1 6
8 2.5 7
64 6.5 11
512 17.5 21
2048 30 32

(KLOC is thousands of source lines of code).

Big projects have so much non-development overhead (meetings, memos, email, reports) that the best developers are about equal to the worst. The moral is to partition your projects such that there are plenty of independent small pieces. Give those to the superprogrammers. Less skilled people should handle the big monolithic chunks of the system.

The very worst developers should be pulled from coding. As Tom DeMarco insightfully said: Sometimes the project benefits more from removing a poor programmer than by adding another team member. Often these below average people can be used very effectively in other arenas, such as testing.


Jobs!


Joke for the Week


This past weekend’s superstar wedding got my rant machine all cranked up, so…

I tuned in to a movie on one of those cable channels that’s overrun with bad commercials. One insipid ad followed another. Reading during the breaks I looked up and there I was, on the screen, larger than life (well, on our ancient 17” screen that’s not so big), selling computer services.

Squinting through my bifocals I discovered it wasn’t me after all, just another geek with glasses repaired by generous layers of adhesive tape. Thick black frames – all taped - like those I wore in grade school adorned the faces of every actor in the ad. “Geeks On Call” (http://geeksoncall.com/), an outfit that fixes computer woes, uses the images to convince the public that these dudes are smart.

Why the glasses? Why repaired so primitively? We geeks would never use a non-optimum solution like adhesive tape. Delicate soldering, maybe. Microwelding perhaps. Or maybe a special high-strength epoxy. But crummy low-tech tape? No way.

A couple of years ago while singlehanding to Bermuda in my 32’ sailboat, I jumped out of bed late one night and stepped on my glasses, dumped on the floor by bad weather. They were a crumbled, miserable mess of twisted metal and a cracked lens. No problem – being an engineer I always have a backup plan, so pulled an older pair from the chart table.

There’s not much to see in the middle of the ocean; the water looks pretty much the same no matter which direction one stares. I sailed on for three more days, finally raising Bermuda on the radar and then as a smudge on the horizon. And a smudge it was, a blur due more to the old prescription than distance. Entering St. Georges, a harbor I know intimately from so many trips there, shock hit when I couldn’t see the customs dock. I eventually managed to tie up with the binoculars nearly glued to my face.

Why are so many of us so blind? I attribute it to either genes (my dad is the über-geek; 10 minutes after he awoke from surgery last month we were discussing orbital mechanics), or reading to excess. As a kid I’d hide under the covers after lights-out, feeble flashlight barely illuminating a page of Tom Swift, electronics, geology, or science fiction. Today, give me a book and I’m never bored.

Why do glasses project a geek image? Why doesn’t Britney Spears sport a nice set of black plastic frames? Wait a minute… she does! (See http://members.fortunecity.com/stephenm3/brittney.htm, check the picture near the middle of the page if you can stand the dreck). Add a little adhesive tape and she’ll be ready to crank some wicked C code.

Maybe glasses are making a comeback after all. It’s time to buff up, wear tighter geek-clothes, accessorize and prepare to fend off the paparazzi. How long before Britney falls under the spell of an alpha-geek’s glamorous magnified blue eyes? People Magazine will plaster shots of the happy couple on its cover, headlines screaming “Superstar and Superprogrammer concatenate.” Between the covers other pics will show her love-struck peepers peering through those thick lenses at the object of her devotion as he cranks out an awesome device driver. Fawning articles will assure the tabloid public that this match is forever. Till /dev/null do they part.

We geeks know a secret: it won’t be long before someone invents a box that puts all of the world’s knowledge in your pocket. The user interface? Why, a heads up display, of course, projected on your spectacles by a tiny ear-mounted camera. Maybe glasses aren’t all that cool today, but when this technology comes out, they’ll be the rage.

Finally we’ll be chic. I can’t wait to be in GQ.

/rant