I can’t believe I’m tying an onion to my belt, here.

Today is August 11, 2006.

I am using Windows 98 SE and an RS-232C serial cable to program a new radio. To do this I have to run Virtual PC on my Mac, use a USB serial adapter, tell VPC to use that adapter as COM2 on the Windows box, and manually set all kinds of options for this “serial port.” Then I get to use a 1996 quality Windows application to read spreadsheet type data and very slowly write it to the radio over the serial cable. This works approximately 40% of the time.

I have no reason to believe it would work more of the time if I had a PC laptop running Windows natively.

There’s a place where the wonderful Web 2.0 Nifty Gadgets Open Source Free Extensible Modular Optimized World of Today ends. It’s the place where you have to hook your computer up to a device, any device: radio, weather station, medical equipment, anvil, surface to air missile, automobile, inclined plane. Immediately you’re struggling with some antedeluvian program written by a semicompetent nerd who hates humans, using ten-year-old tools, which is never ever going to be updated. The interface is guaranteed to be opaque, features will be missing or greyed out forever, and there will be no tech support of any kind. You are, at this point, in Hell.

I wish I knew how to write software. Half this shit has open protocols and is just begging for someone who isn’t an assclown to write something useful using exciting new technologies like “USB” and “user interface.”

13 thoughts on “I can’t believe I’m tying an onion to my belt, here.

      1. I have had to write such things in the past at work; we often perform identical operations over {serial, pci, udp}. Serial is consistently a pain in the ass both for us and our users. There are too many things that can be slightly wrong, few ways to programatically tell what it is, and the only way to recover is to just get tired of going “hey! hello? is this thing on?” and start over. Mix in crappy chipsets, connections, cabling, or drivers and even when you have everything right it still goes south at random points.
        It’s always the easiest thing to get up and running on a prototype, though, so we can never get away from it. I think my favorite day of those kinds of projects is the day I realize no one’s using the serial code anymore.


  1. Hey! I design those devices! And our software isn’t… well, okay. Maybe it is. But that is not my department. I have neither radio nor software, but if you are able to sniff and decipher the protocol (and it’s probably a really simple protocol, given the age and the fact that it’s serial), it shouldn’t be too difficult (for me or a number of others on your friend list) to reimplement in a little OS X/Unix Open Source app.


    1. I was going to suggest something similar (that I or another friend could write an app), but then I realized that I really absolutely didn’t want to. 🙂 I’ve worked on utilities like that, and there’s a reason that they’re mostly only developed by “a semicompetent nerd who hates humans” (a very apt description) — it’s annoying and painful to do, and nobody normal really wants to have anything to do with it.
      That being said, if somebody else writes the backend code, I’d be willing to help out with front end CLI/GUI stuff.


    1. I have a scanner which does digital modes and other crazy stuff and programming it via the keypad is a nightmare and/or impossible. So I’m stuck with shitty old windows software. There’s a linux program someone did, I may even try running linux emulated to make this shit work


      1. If it’s a linux app, you could probably compile it for OSX without having to do emulation, couldn’t you? If it won’t compile, I wouldn’t mind taking a look and seeing what has to happen to get it to build on my mac mini.


  2. ponies ponies ponies hop!
    Serial is easy. You should be able to use cu or tip if you really want, to try interacting with the device directly. If you know the kind of crap the application sends to the device and don’t mind generating it by hand, it’d be pretty trivial to write a wrapper script around cu/tip. And that’s assuming you want to avoid even trivial amounts of, say, Perl. I don’t know what your c0def00 is like on any axis, so.
    Mostly I’m just waving my “I like playing with serial interfaces” dick around in your face and asking you to HOMPH HOMPH HOMPHF ACT LIKE YOU LIKE IT, FATTY. TAKE YOUR SHITTY INTERFACES LIKE A MAN.
    (Nothing like using a computer where someone else uses LJ regularly and stealing their superior comment subjects for random crap. Yay autocomplete.)


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.