Why SI Is Cool

The Système International d’unités (or SI, or the “Metric” system) is still less than popular in the U.S. My guess is that this is due to a lack of familiarity, or just basic intellectual inertia: people are most comfortable with what they already know.

If you do much serious scientific or engineering work, though, the problem of unit conversion comes up constantly (pardon the pun). Working in electronics, unit conversion is needed to determine how long a particular capacitor will power a microcontroller at a given current draw, or what value of resistor is needed in order to limit current through an LED to an acceptable value.

This is where SI units really start to become useful. For example, take the following statement of equivalencies, found in the Wikipedia article on the farad (the SI unit of capacitance):

SI Equivalents of one Farad (unit of capacitance)

SI Equivalents of one Farad (unit of capacitance) Source: Wikipedia

At first, all this doesn’t look very simple. But look closer. There are no conversion constants! No “12 inches to the foot,” no “5,280 feet to a mile,” no “divide by this weird, irrational magic number to make the units fit.”  Numerically (without the units), the whole statement above just says 1 = 1 = 1 = 1 = 1 = 1 = 1 = 1 = 1 = 1. Everything just works!

It took a lot of work to come up with a set of units that all work together like this (a cube ten centimeters on a side has a volume of one liter; fill it with water and it has a mass of one kilogram; accelerating it at one meter per second per second requires a force of one Newton etc). All of the conversions are either one-to-one, or based on some power of ten. There are a few arbitrary choices (water tying the kilogram to the meter etc), but the whole system is very numerically consistent.

Pop quiz: How many inches in a mile? You’d need a calculator, or at least a pencil and paper to find out that it’s 63,360 — and that’s if you remember the conversions.

Now try it in metric: How many centimeters in a kilometer? Easy: 1000 meters in a kilometer, and 100 centimeters to the meter. The answer is 100,000.

It’s not a Big Liberal Plot — it just makes doing science and engineering a lot easier.

Posted in Analog, Electronics, Math, Science | 3 Comments

You’ve Got Questions, We’ve Got Misinformation

Time was, Radio Shack was a great source of parts (and as often as not, decent advice about many of them) for electronics and computer hobbyists. Apparently the focus these days is more on pushing cell phones and digital cameras. I understand that these are profitable market segments, but it would be nice to see them reach out a bit more to us geeks.

The latest case in point: A while ago, I needed a null modem adapter to connect an RS232 device to my PC. Both devices being DTE, this called for a null modem adapter. I checked online and Radio Shack actually still carried them, so I went by the store and picked one up.

It works fine (they’re so simple that there’s really nothing to go wrong), but I made the mistake of actually reading the package (I must have been bored on the train or something). Somehow, they managed to get the description *exactly* wrong…

Null Modem Adapter packaging

Not just wrong -- exactly wrong!

Null modem adapters aren’t “used to connect a modem to your computer.” They’re used when you’re  connecting a NON-modem device to your computer — hence the term, null modem (as in no modem.) How did such a howler get through the whole production process? Does nobody in QA know what a null modem adapter does, anymore?

At least it has a “macho” connector.  😎

Posted in Digital, Digital Citizenship, System Administration | Leave a comment

FreeBASIC

I guess I’m from what you could call the Redneck School of Programming. I’m slowly learning more modern techniques such as OOP, but deep down, I still think in BASIC, use the occasional GOTO, and don’t like Java. It’s like wearing socks with sandals — I know it’s uncouth, but it’s just so darn comfortable that I don’t care. BASIC is a great language for many kinds of things (it’s actually a lot like Fortran). If you don’t need to use linked lists or other pointer-based constructs, it’s both easy and powerful. Unfortunately, for a long time, the only BASIC implementation worth using that I had come across was QuickBasic 7.1.

QuickBasic was great “back in the day,” when everything had to fit into 640k of base memory and VGA graphics was state-of-the-art — but being DOS-based, it was definitely showing its age. A few years ago, I came across FreeBASIC (and its development environment FBIDE). FreeBASIC builds on the work started by QuickBASIC, and drags the language kicking and screaming into, well, at least the late ’90s. It’s the best of both worlds — 90% of the time, QuickBASIC programs just simply work when ported to FreeBASIC, and most of QuickBASIC’s limitations are now gone. Video modes are now customizable: 1920x1200x24bits? No problem. High memory is available: Want a 1GB array? FreeBASIC will do it. I’m sure you could even cut a tin can with it (but you wouldn’t want to!) It’s also fast: it beat a Visual C++ version of a single-threaded matrix multiplication routine, on a recent project.

If you’re a fellow BASICosaurus, or are just looking for a very straightforward and fast way to write programs on a Windows PC, check it out. The best part is that, like the name implies, it’s Free (as in speech and as in beer). FBIDE is definitely recommended, too, since it provides a nice coding environment, allowing you to run programs with a single click etc.

Posted in Coding, Digital | 1 Comment

Yesterday’s supercomputer; today’s junk?

While on one of my walks home through various parts of Philadelphia, I came across an old tower PC that had been put out on the curb for collection.  The logo on the front identified it as an Intel VIIV-class computer, from sometime in the early 2000s. Like so many other PCs, it had probably become too old and slow for its owner to justify keeping it. (The modem card in the lowest slot confirms its identity as a technological dinosaur.)  It’s clearly too old and slow to be of use.

 

An obsolete supercomputer...

Wait a minute, though. Looking up the specs for a VIIV-class computer, it’s amazing just what we are willing to throw out these days. This “old, obsolete” PC:

  • …has a 64-bit, dual-core processor;
  • …runs at a speed of at least 2.66GHz (I.E. 2.66 billion clock cycles per second);
  • …may run at only 1/4 to 1/8 the speed of my current workstation’s CPU (a Core i7/920), but:
  • …is about a hundred times faster than the 80486-33 that I built in 1991 (costing about $3000US at the time), and
  • …is at least ten thousand times faster at floating-point calculations than the original IBM PC from the early 1980s.

Compared to the room-sized institutional computers of the late 1940s and early 1950s, this “obsolete” PC is so much faster that a straight comparison becomes difficult. It’s easily several million times faster at the few tasks that both machines would be capable of doing in similar fashion.

If this computer were somehow sent back to the early 90s, it would be not only greatly appreciated — it would probably be confiscated by the DoD, and certainly subject to export restrictions (there were restrictions on exporting 486-class computers, back in the day, due to fears they would be used for nuclear weapons modeling.) If it were sent back much farther than that, the best explanation would be witchcraft.

Where’s a DeLorean when you need one?

Posted in Digital, Digital Citizenship, Nostalgia | Leave a comment