Re-Thinking Software-Defined Radio

Published at 10:04 on 14 October 2015

After blowing two evenings trying to get SDR working, I’m beginning to think I was correct in basically writing the technology off as not worth the trouble some years ago. I fight with computers in my day job. I don’t want to do it as a hobby.

First, I use Macs. If you use a Mac, you’re really left out. The vast majority of SDR software supports Windows and Windows only. The few exceptions tend to run on Linux and not Macs.

Sure, I could boot Linux on my Mac, but it’s Linux. That means it was written by hard-core geeks for hard-core geeks, so documentation is incomplete (if available at all). To prove my point, I tried to create a bootable Linux flash drive last night, following all the instructions meticulously. It didn’t work; it failed to even appear as a boot device when the system came up. That means there’s probably some missing step in the by-geeks, for-geeks instructions that was left out because it’s transparently obvious… obvious to a hard-core Linux geek that is. Figuring out the answer to that puzzle could easily involve me blowing my free time on it for the next several weeks. No thanks. I want to geek around with radio, not Linux systems administrivia.

The few exceptions, i.e. SDR programs that run on the Mac natively, tend to involve Mac Ports. Which is (link) currently broken. Sigh.

That leaves running Windows, which probably means buying and setting up a whole new computer. If it comes to that, there goes any cost advantage of SDR; even a sub-$10 dongle like the one working its way to me from Singapore will have a total cost about twice that of the Alinco receiver I just purchased. It actually might come to ruunning Windows… eventually. Right now, there’s higher priorities for spending that sort of cash.

The Smart Phone Era Will End… Eventually

Published at 08:14 on 7 October 2015

Why? Several reasons.

Just because something can be done does not mean it should be done. This reason is currently lying dormant, as ours is a technology-fetishizing society and we’re still in the stage of being wowed and dazzled by how smart phones are even possible.

Just because something can be done does not mean it is therefore fashionable and popular. Another one that is currently lying dormant due to technology fetishism, and probably a much more relevant one than the above. Eventually, the fashionable will decide not to carry smart phones. People like movie stars and politicians in high office don’t need them; they have assistants to handle such duties. Jettisoning the phone will be a fashion statement that they are powerful and affluent enough to have such assistants.

This will be much like having a suntan went from being a sign of a common farmer to being a sign of someone privileged enough to have lots of leisure time outside of factories and offices. Even if those without personal assistants still have to carry a phone with them, they will opt for phones that are as small and inobtrusive as possible.

When will this happen? Who knows. It could take another ten or twenty years. I don’t think it will take significantly longer than twenty. That’s a generation, which is long enough for a new generation to see smart phones and obsession over them as yet another dorky adult thing. At that point, the way will be paved for the newest, most fashionable entertainment figures to establish not carrying much personal technology as a fashion statement.

Does my personal bias play any part in my forecasting this? Almost certainly. Yet while I personally want the smart phone era to end, that doesn’t change how the above factors all exist and lie waiting ready to manifest themselves. And personally, I’d want the new trend to happen faster than ten or twenty years, yet I’m not forecasting it will begin soon. So it can’t be written off as purely personal bias.

A GPS for My Truck? No Thanks!

Published at 10:04 on 15 September 2015

I actually had a chance to try one out, for free. I’m not impressed.

First, it’s far more distracting than a map. The display animates to show your progress. This grabs my peripheral vision and distracts me from what’s going on outside. That’s more than just annoying: it’s unsafe. There’s no escape from the above drawback: the thing has to be mounted on the dash in order to “see” the satellites. If I put it on the seat so it doesn’t distract me, then I have to wait several minutes for it to locate itself every time I check my position. By contrast, a old-fashioned paper map stays out of the way when I don’t need it yet is there, instantly, whenever I wish to consult it.

Second, it shows only a tiny part of any map. It’s very difficult to get any overall idea of the layout of where I am by zooming out (lose detail) or panning (lose context). A big, old-fashioned map is much better in this regard.

Third, it’s expensive. I just bought a comprehensive street map of Kitsap County for $6. So far as addresses go, the phone company sends me a countywide phone book every year for free. Since I don’t need it at home (where I can use the Internet), I put it in my truck. Any decent GPS will cost about 15 times that much. Plus in a few years, the maps and address data inside the GPS will need updating. That costs $50 or $60, i.e. fully 10 times what acquiring a new map and phone book does.

Fourth, it’s limited. It shows but a subset of businesses and business categories. Compared to the phone book, it sucks. It also shows a very limited subset of points of interest like parks, lakes, etc. Compared to the index on my old-fashioned map, it sucks.

If I did more long-distance road trips, I could see such a thing having some utility despite its drawbacks, because it’s impractical to keep a detailed map for every last town you’re going through with you (and to acquire same in advance). But I don’t — so it doesn’t.

Software Quality (or Lack Thereof)

Published at 16:22 on 8 July 2015

For my paid work, I maintain a program which runs for a long time (essentially, indefinitely) making millions of socket calls per day and doing extensive amounts of text parsing (it’s a web crawler).

What impresses me is how often problems in my code are not really problems in my code: they’re problems in some library that my code calls. One time it was even a problem in the system libraries; socket I/O would work fine for a day or two, then some time from two days to a week in, socket calls would simply and mysteriously hang. Another repeated source of headaches was the LXML library, which tended to cause me all sorts of issues with memory leaks and indefinite looping and recursion.

This is in the open source (Linux) world, so it underscores a general lack of thorough testing. I consider it unacceptable that a program which makes about 2 million socket calls per day will fail due to a library bug after about 10 million calls on average. One should be able to make an indefinite amount of system calls (absent system quotas and limits, of course).

But apparently I’m somewhat unusual in having high standards like that. LXML has a (totally undeserved, in my opinion) reputation for robustness, and that faulty system library made it into a major CentOS release.

Or maybe I’m being unreasonable in expecting that a program which runs for an hour without running into issues should run for a day, a week, or a month without being cut down by memory leaks in the code it calls. (I assume it was a slow memory or other resource leak in the socket call case; it presents itself as a classic symptom of such.)

Synergy: Beyond Awful

Published at 11:20 on 17 June 2015

Well, scratch what I just said earlier about Synergy being a viable stopgap solution. It’s not even that.

It’s simply beyond awful. Not only is it slow and laggy, but keystrokes and mouse clicks randomly vanish and fail to get delivered at all. Programs start acting in bizarre and unpredictable ways: windows fail to show up when the keyboard shortcut that should make them appear is typed, cursors mysteriously vanish and reappear, the normal behavior of the finder when windows are clicked on becomes erratic, and so on.

I’m better off manually switching cables than subjecting myself to the user interface horrors of Synergy.

KVM Switches Are Not Obsolete

Published at 10:19 on 17 June 2015

Don’t let the techno-cheerleaders for products like Synergy fool you. KVM switches still are very much relevant.

For openers, they let you switch a monitor as well as a keyboard and a mouse. That’s a big plus for me. One of my computers is a laptop with a limited amount of on-screen real estate. It’s a huge plus to be able to add my desktop’s screen to it.

Second, there’s the hidden catch of network-based keyboard and mouse sharing: lag. Even though slight, it’s quite noticeable, and very annoying. The keyboard lag in particular has an adverse impact on my typing speed.

So it looks like Synergy’s place is as a stopgap solution until the replacement for my now-dead KVM switch arrives.

Oh, and if you’re interested in downloading Synergy, it pays to go to the link above and not the one that shows up at the top of web searches. That latter site tries to zing you for the privilege of downloading a version that’s more recent than a year old (and such versions are clunky and difficult to configure, at least on a Mac). You’re much better off using the recommended version from the site I linked.

Building Gnuplot on Mac OSX

Published at 09:22 on 20 May 2015

There’s not much out there on how to do it, and what’s there is either flat-out incorrect (fails to produce a binary that’s actually useful for anything, because it can’t directly display data on the Mac) or needlessly painful (involves things like MacPorts which end up needlessly bloating your computer by building most of the open source Linux universe first).

  1. Download and install the latest version of AquaTerm, available here.
  2. Download the most recent production version of the source for Gnuplot, available here.
  3. Type the following commands to build and install Gnuplot:
    ./configure --with-readline=builtin --with-aquaterm
    make
    sudo make install
    

Note the two options to configure. The built-in readline library in many MacOS releases is buggy and makes things crash, and the configure script is too stupid to automatically realize that Aqua Term is present. The hard part about building Gnuplot on the Mac is building a binary that’s actually useful; the configure script will by default merrily create a configuration which will crash on loading or cannot actually directly display anything on the Mac screen.

At least, this worked for me. I’d be interested in hearing whether or not it works for you.

The Apple Watch: What a Joke

Published at 11:51 on 11 March 2015

This is all you need to know to be sure of the statement in the title above.

“Up to” is sales-speak for “no more than”. So the thing has a maximum up time of 18 hours, tops.

100 years ago, the standard “up time” for a mechanical pocket watch was 30 hours. And that’s a conservative 30 hours; many last more like 36. I know, I use a 100-year-old pocket watch. And when a mechanical watch runs down, it takes well under a minute to rewind it.

In contrast, the Apple Watch — which runs for about half as long as my pocket watch — doubtless takes hours to recharge. It has to. It runs on a rechargeable battery, and batteries don’t instantly recharge.

So the Apple Watch not only limited in its functionality, it’s unforgiving and domineering as well. It basically says: You will remember to charge me before you go to bed (and not at any other time), human, or I will punish you by refusing to work the next day. Obey my whim or suffer the consequences.

It is precisely such finicky design that makes me dislike so many applications of high technology. It’s a mystery to me how anyone can be so seduced by consumerism as to want such poorly-designed yet expensive crap in their lives.

The QGIS GIS: A Steal at Twice the Price

Published at 20:18 on 18 February 2015

I wanted to create a track to follow for my GPS based on property lines which are part of the public record. A little searching revealed that most GIS software can do this these days.

Years ago, I supported an installation of the GRASS GIS at the University of Washington. It was notoriously difficult to install and configure. About three years ago, I played with installing GRASS on my home computer, and discovered that it’s approximately as difficult to learn to use as it is to install. A pity, as it is free and by all accounts very powerful.

So I did more searching to see if someone had come up with an easier-to-use open-source GIS. Indeed they had, and it’s called QGIS. Actually, that’s only about half-true; from what I’ve been able to gather, QGIS is mostly a user-friendly front-end for GRASS.

And user-friendly it is. In an evening, I managed to import a bunch of GIS data available for free from my county of residence and use the resulting GIS project to draw and export the desired track to my GPS. It took a fair amount of web searches and searching through the documentation, I never did figure out how to import the road and place labels, and the process of exporting the GPS track was more than a little bit fiddly.

But no matter. In an evening, I managed to do what I had set out to do. That’s far more than I ever accomplished trying to bend plain old GRASS to my will.

No doubt a professional-grade GIS like ArcGIS would likely have been even more smoothly designed and documented. No matter. Professional GIS software doubtless costs thousands of dollars, an expense that cannot be justified just to occasionally create a GPS track.

Having something affordable (better yet, free!) which is usable by mere mortals is a major win.

The E-mail Client Dance Continues

Published at 09:06 on 12 November 2014

For years I was on Apple Mail. It worked, and its UI was consistent with the rest of the system. I was happy, even though Apple always tinkered with it, and the tinkering inevitably resulted in a UI I liked less than the one before.

Then Apple Mail’s searches just stopped working for me. I tried cleaning out the index files, that fixed things for a while, then broken again, and this time rebuilding the index didn’t help.

So in desperation I cut over to Thunderbird. It wasn’t a cleanly Mac-like, but it did have a main display window more like the classic Apple Mail I knew and loved. And searches worked! I was happy.

Until Thunderbird simply stopped working for one of my e-mail accounts. I could send mail, but new messages simply stopped appearing. This made me miss some important events. I was pissed.

In desperation, I went back to Apple Mail. It’s search function was a broken as ever, which was an annoyance, but at least I reliably received new messages. It worked.

Today I notice one of my inboxes hasn’t had any mail show up in a week or two. Could Apple Mail be broken for it? Indeed, it was. Worse, Apple had broken the configuration part of Apple Mail. It basically forces the most dumbed-down, bland, hyper-defaulted, hyper-normal situation on you, then “intelligently” tries to guess if that’s wrong, and if so gradually asks for more information until it “intelligently” concludes it works. Well, on one account, it was “intelligently” deciding the account was working fine, even though new messages never showed up.

Worse, there’s no way to tinker with all the settings of an account anymore. You’re not supposed to. That’s the job of the “intelligent” Apple Mail client. I tried deleting and re-adding the troublesome account twice (the only way I could figure out how to adjust all settings), to no avail. I gave up.

I notice that Thunderbird has been updated since I dumped it. So I update, and the account that didn’t work previously… now does work again. Whatever Thunderbird bug broke it has apparently been fixed. So change partners again.

Nice to have a more rationally-designed display of incoming messages, but I don’t expect this partner to last, not after doing years of the E-mail Client Dance. I fully expect to change partners again within a year or two.