The Good Guys
For novel ideas about building embedded systems (both hardware and firmware), join the 35,000 engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
The Good Guys
In the August issue Jack Crenshaw wrote about, among other things, "The Good Guys" (see The Curmudgeon Strikes Back, August, 2002). He's tired of complaining about problem companies and products, and intends to strike a blow for truth, justice and the American way by praising those who deserve kudos, and damning the rest by consigning them to obscurity.
A noble idea. My mom always told us that if we don't have something nice to say, keep your mouth shut. So let me hitchhike on his effort and mention a few outfits who do a great job.
Let's start with Sony. Sure, they make those annoying digital pets and other products whose sole mission in life seems to be to get pre-teens to suck their parents' wallets dry. And their telephone access and web site are truly the pits. But their Vaio computers are simply wonderful. I have two Vaio laptops and one desk machine. Two of the three are several years old and have never given a lick of trouble; the PCG-SRX77 notebook is only 6 months old, so far running without a hiccup.
The Vaio notebooks have an unbeatable form factor. They're tiny and weigh only 2 pounds. I give lots of Powerpoint presentations; a computer failure would be doom, so I always carry two. Never has one failed, mind you, but since the machine is, as NASA would say, a Criticality 1 failure node, it's prudent to be redundant. A pair of machines at 2 pounds each is not much of a carry-on burden.
The SRX77 is smaller than a sheet of paper and less than an inch thick. With 4-5 hours of (real) battery life it runs longer than my brain can produce lucid thoughts. A built-in 100BaseT jack gives a wideband link anywhere there's an Ethernet port! something more and more hotels provide.
A wireless LAN completes the picture. Initially I dismissed this feature, not seeing much practical use for it. My technically precocious son convinced me to add a WAP to our houseboat's network, which has changed the way I work. Tired of sitting at the desk? Lay down in bed and type. Sit at the table. Lounge outside (when the sun doesn't wash out the LCD screen) and work while catching some rays.
The supplied Windows XP has been reasonably reliable (for a Windows product) and easy to network. Sure does burn a lot of disk space, but the Vaio's 20 Gb swamps any OS size issues. 256 Mb of RAM makes XP run well (for a Windows product).
XP does carry out a constant dialog with Microsoft. Every couple of nanoseconds XP announces that yet another OS update is ready for download. Many are fixes for security flaws, so no doubt one should be grateful for XP's self improvement. I'd imagine, though, that it's also reporting software serial numbers and other bits of personal trivia to the folks in Redmond. A good reason to maintain legal versions of Office and VC++, though the costs are rather staggering. An even better reason to avoid Money in favor of Quicken.
Without a reasonable backup strategy you might as well junk the computer. Enter another Good Guy: the folks at Centered Systems, Inc. Their $29.95 Second Copy 2000 software product (www.secondcopy.com) moves the backup problem from the notebook to the desk machine.
Second Copy installs on the notebook. You create one or more profiles of files and folders to synchronize with another machine. Then the program will insure that both computers always have the latest version of each file. The user can run the sync process any time manually, or command Second Copy to do so automatically at some interval.
I suppose Second Copy does much the same as Microsoft's Briefcase, but the operation of that program has always eluded me. It seems one has to move individual files or something into the Briefcase folder, and count on Gates et al to keep multiple copies current. If there's any sort of profile or automatic mode, I sure can't find it, despite raiding a number of Windows for Dummies books.
I learned long ago to keep everything that's important to me in one directory. Under that there are hundreds of other directories and thousands of files organized by projects and function. With one top-level directory it's a breeze to copy everything that counts to a CD in a single operation.
A single top-level directory also, using Second Copy, means that the SRX77 has exactly the same data as does the desk machine. In Web-speak, they mirror each other. With the notebook and a cell phone I have my whole office, at home, on a plane, or at a picnic. There's no need to scramble to insure I've brought the right files. When my son finishes converting our music CDs to MP3 format even the entertainment system will be always at hand.
Running Second Copy over the 100 Mb LAN updates the computers in half a minute, unless I've done something absurd like delete DOCS on one machine. (It happens! but multiple-computer backups, a CD backup done weekly, and daily copies to an alternate directory on the desktop machine keeps minimizes the pain). Data rates are much slower over the wireless LAN, running from 1 to 11 Mb/sec depending on signal quality, so I have a number of smaller profiles aimed at updating just one project, the one I'm working on. So a sync operation never takes long.
Unlike Briefcase, Second Copy is intuitive to use, and maintains up to 25 copies of old versions of files. In a year I've never had to go back to one of these old versions, but it's reassuring to know they are there. The program offers all sorts of other features I've never used. No doubt they are wonderful, but the basic functionality is enough to eliminate the need for any sort of backup hardware on the laptop.
Ganssle Homeland Security
All of this connectivity and file sharing is wonderful and awful. DSL was a bust here in Baltimore, both slow and crippled by Verizon's poor support. I've had very good luck with a cable modem. The provider is one of the smallest cable companies around so there's little network traffic. I can count on 1 Mb/sec rates. That's not bad for $35/month.
But the cable connection is an invitation to exploitation. Windows Explorer shows a dozen or more PCs hanging on the cable, each wide open, their C drives exposed. Astonishingly, most users don't even disable file sharing, which would offer at least some minimal isolation from the 'net wolves.
I'll present my Better Firmware Faster seminar in Melbourne and Perth, Australia February 20 and 26th. All are invited. More info here. The early registration discount ends January 20.
ShieldsUP showed that every software firewall I installed had issues. All offered some protection. Some brought the system to its knees (McAfee's was so bad and so persistent I had to reformat the disk to totally eliminate it). The best were defeated by the wiles of my children, who seem determined to load games and plug-ins that open ports and install limited servers.
But the software firewalls did show the vulnerability of a cable-connected PC. On average they picked up 5-10 port scans per minute. The forces of evil are aggressive and determined. They will bust in unless kept at bay with decent technology.
Enter Linksys (www.linksys.com). Their sub-$100 Etherfast Cable/DSL router installs between the cable modem and the rest of the network, and serves as a four port 100 Mb hub and firewall with muscle. The unit assigns IP addresses - fake IPs, ones not visible to the Internet - to each computer on the LAN, gets its own dynamic IP from the ISP, and then routes packets as needed.
I hate to install software and hardware, dreading the agony of digging through a huge manual aimed at the brain-dead user but lacking the info needed to do a decent setup. The Linksys sat on the shelf for far too long, waiting for me to overcome my reluctance to tangle with its configuration. Turns out, the Linksys folks qualify as Good Guys. Installation took 15 minutes and was painless. Hit the router's IP and it serves web pages with all of the setup information. It auto-configured properly, with all ports blocked. Nobody can get in. ShieldsUP, which I run often, confirms that the LAN is not visible to the outside world.
It is possible to poke holes in the router, to enable ports to support, say, an FTP server. In this high threat cyberworld that seems far riskier than any benefit. I keep all ports blocked.
Happy with the router I later added a Linksys Wireless Access Point (WAP), a box that hangs on the LAN and offers wireless connections to up to 32 computers. It also had a hassle-free installation. Encryption options keep unwanted passers-by from logging in with their own laptops.
The Linksys router is but part of a careful defense against the cursed hackers. It won't do much about viruses, for instance. To thwart at least some of these attacks I refuse to use Outlook. The program is fine, I suppose, but is the hackers' favorite target. Using a program that's constantly under attack is like driving a car with no oil. Pretty soon, maybe real soon, something is going to go seriously wrong.
A lot of viruses are big. I keep them off my machine by setting up the email reader to leave all large emails and attachments on the server. Sure, it's a nuisance to explicitly tell the reader to fetch a 20k email from a trusted source. But the vast majority of safe messages are relatively short, and those big nasty payloads never make it to the local disk. I get a dozen or so obvious big viruses a day, none (so far!) getting past the ISP's server.
With a widely-published email address my in-box overflows with interesting and fascinating dialog with developers, and with a crushing weight of spam. Hundreds to even thousands of messages a day come in with ads for all sorts of things I'd rather not have, can't imagine anyone wants, and which probably shouldn't exist. It's hard to believe that spammers find anyone who's interested in their wares. However, I owned an ISP in the 90s; the logs showed that 80% of our users were primarily interested in 'net porn. It is a big business and seems unlikely to go away.
Spam's increasing frequency and overloading of my time started to make me wonder if email was worth the trouble. The spammers changed their tactics as fast as I could build filters for the email reader, and the trash box, where all filtered mail goes, grew so fast it crippled system performance.
The volume of unwanted mail years ago changed my whole email strategy. I can't use a Windows-hosted email reader or a Web-interface while traveling, since the 56k modem connection takes forever to download even the headers. My ISP runs a Linux box; on the road I telnet in and use Pine, deleting spam as fast as possible to get to the real mail.
Then I discovered SpamAssassin (http://spamassassin.org/). The authors surely qualify as Good Guys. They claim it catches 99.94% of unwanted mail, which seems about right based on my experience.
SpamAssassin is a bit different than other filtering programs. It runs on a Unix/Linux machine, filtering the mail before it gets to your inbox. A .forward file feeds all incoming mail through procmail; a corresponding .procmailrc let's SpamAssassin qualify the mail before it's passed to you.
The program scores each incoming message using a set of rules. "Viagra" in the subject line contributes a number of points to the message's score; if the sum exceeds a configured value the email gets trashed. It's easy to change the rule set as needed. I get a lot of mail from a particular robot so created a rule that gives those messages huge "delete me" scores.
All rejected mail goes into a file named "caughtspam". While writing this I looked and found that in the last three months it captured 652 Mb of spam messages! emails I never saw, never had to delete, and that neither wasted my time nor depleted my faith in human nature. A few minutes after deleting the file to save disk space it again appeared, growing as I watched.
The Unix/Linux version of SpamAssassin is free. It takes some Unix savy to compile and install the program, but the docs are pretty clear. Depending on the server's setup the superuser may have to fiddle with the mail configuration. It's worth the trouble.
I don't do a lot of schematics anymore, but do have an occasional need to create a small circuit. The packages from the big vendors are swell, but cost tons and burn disk space. I looked for a long time for a simple CAD program that worked well on a laptop or desk machine, cost little, and came with halfway decent libraries.
The CAD Good Guys are Capilano Computing Systems Ltd (http://www.dwlite.com). Their Designworks Lite. At $39.95 it surely qualifies as an inexpensive program. It's a stripped down version of their $395 flagship product, so cannot route PCBs, exports no netlists, and does not do hierarchical drawings. If you're building real products the full-blown version makes sense. If you're creating schematics for documentation, for tiny projects, or for demo purposes, Lite is for you.
Some low-cost CAD programs use non-standard symbols - rectangular blocks for resistors (common in the UK) and the like. Others have horribly-limited libraries. With some creating library components is so counter-intuitive it borders on the impossible. Designworks is easy, is standard, and has a reasonably rich set of components already designed. Recommended.
I've run out of space. So many Good Guys and not enough room! We may complain about the state of business and the world, but perhaps the Good Guys outnumber everyone else.
I choose to be optimistic and so look for the best in people and companies. Ignored, the others will just fade away.