ICQuestionBank2csv: A tool to extract both the Basic and Advanced Amateur Radio Examination guides from Industry Canada’s rather annoying two-column PDFs. Written for IC’s 2014-02 database updates.

See: Amateur Radio Exam Generator.

Written by Stewart C. Russell (aka scruss) / VA3PID – 2014-03-07.


  • Perl, with Text::CSV_XS
  • xpdf tools
  • Bash
  • wget


Run either basic2csv.sh or advanced2csv.sh to download the source PDF and extract the data.


WTFPL (srsly).

My first FreeDV QSO

FreeDV Digital Voice QSO in ProgressFreeDV is a fully open digital voice protocol; unlike DMR, D-STAR and the rest, there are no patents tying it down. It uses very little bandwidth for voice. I just had my first QSO (thanks K5WH in Texas!) using this mode. While it does make voices sound a little robotic, there’s no static, no hiss, nothing unwanted. That’s what always put me off HF voice: trying to work out who is saying what through all the noise. FreeDV fixes that.

It’s quite a new protocol, so you don’t hear it much on the air yet. I hope to be making some more noise with it soon.

Did it just get a little more nerdy in here?

VA3PID-eQSL-eWAS-PSK-20131014Aw yiss! After more than two years of trying, I finally got a confirmed contact in North Dakota last night. That means I’ve now worked all of the US states using the PSK digital mode. Yay me!

I’d contacted 47/50 within a few months of getting my licence, including Maine. Utah I spoke to in November 2011, South Dakota in January 2012; but the last one, North Dakota, I didn’t pick up until last night. I was just about to turn off the radio for the night when I have 40m a try, and there was Bill (ND0B) calling from Cathay, ND. Sometimes you find what you’re looking for without even trying. Happy Thanksgiving!

Morse Palindromes, or CQ Christian Bök

The longest palindrome in Morse code is “intransigence””, and it was on

First off, here’s the Morse code for the word intransigence:

·· –· – ·–· ·– –· ··· ·· ––· · –· –·–· ·
i  n  t r   a  n  s   i  g   e n  c    e

If you look at it as a simple stream of dits and dahs, then yes, it’s palindromic. But, like comedy, the secret of Morse (or CW) is timing. It’s important to include the spaces between the keyings, or letters become hard to identify as they run together. For a word to truly sound palindromic, it would need to have the same spacing too, and thus have to start and end on Morse codes that were mirror-images.

Not only that, but you get codes which when reversed, become another letter. a (·–) becomes n (–·) when reversed. So things are getting more complex, as we’ve now got to think of:

  1. Words which are both palindromes in the English and Morse code;
  2. Words which are palindromes in Morse, but not when written in English.

With only Convert::Morse and words to guide me, here’s what I found.

Firstly, here’s a Morse code table for reference:

 ! → –·–·––           3 → ···––          a → ·–          n → –·
 " → ·–··–·           4 → ····–          b → –···        o → –––
 ' → ·––––·           5 → ·····          c → –·–·        p → ·––·
 ( → –·––·            6 → –····          d → –··         q → ––·–
 ) → –·––·–           7 → ––···          e → ·           r → ·–·
 + → ·–·–·            8 → –––··          f → ··–·        s → ···
 , → ––··––           9 → ––––·          g → ––·         t → –
 - → –····–           : → –––···         h → ····        u → ··–
 . → ·–·–·–           ; → –·–·–          i → ··          v → ···–
 / → –··–·            = → –···–          j → ·–––        w → ·––
 0 → –––––            ? → ··––··         k → –·–         x → –··–
 1 → ·––––            @ → ·––·–·         l → ·–··        y → –·––
 2 → ··–––            _ → ··––·–         m → ––          z → ––··

From that, you can see that the letters which have symmetrical keyings are:

 " ' ) + , - 0 5 ; = ? e h i k m o p r s t x

So are there palindromic words composed only of the letters E, H, I, K, M, O, P, R, S, T & X? Here are the ones in my words file, longest first:

 sexes rotor toot sees poop peep kook tot
 tit SOS sis pop pip pep oho mom ere eke

(Somewhere, the ghost of Sigmund Freud is going “Hmm …)

When encoded, rotor (·–· ––– – ––– ·–·) has more dahs that sexes (··· · –··– · ···), so takes longer to transmit. So rotor is the longest word that’s palindromic in both English and Morse.

The characters which have valid Morse codes when reversed are:

 " → "             8 → 2             l → f
 ' → '             9 → 1             m → m
 ) → )             ; → ;             n → a
 + → +             = → =             o → o
 , → ,             ? → ?             p → p
 - → -             a → n             q → y
 0 → 0             b → v             r → r
 1 → 9             d → u             s → s
 2 → 8             e → e             t → t
 3 → 7             f → l             u → d
 4 → 6             g → w             v → b
 5 → 5             h → h             w → g
 6 → 4             i → i             x → x
 7 → 3             k → k             y → q

Note how 1…9 reverse to 9…1. c, j & z don’t stand for anything backwards.

So, with only minimal messing about, here are the words that are palindromes in CW:

 ada → nun              ads → sun              ages → sewn
 ago → own              ail → fin              aim → min
 ana → nan              ani → ian              ant → tan
 ants → stan            boa → nov              eel → fee
 ego → owe              eire → erie            eke → eke
 emir → rime            emit → time            ere → ere
 erie → eire            eris → sire            eros → sore
 etna → nate            fee → eel              feel → feel
 fever → rebel          few → gel              fin → ail
 fins → sail            fool → fool            foot → tool
 foots → stool          footstool → footstool  fop → pol
 gel → few              gem → mew              gets → stew
 gnaw → gnaw            goa → now              gob → vow
 gog → wow              got → tow              hoop → pooh
 ian → ani              ids → sui              kans → sank
 kant → tank            keep → peek            kook → kook
 kroger → rework        leer → reef            leif → lief
 lief → leif            loops → spoof          meet → teem
 mew → gem              min → aim              mir → rim
 mit → tim              mom → mom              moor → room
 nan → ana              nate → etna            nerd → urea
 net → tea              nib → via              nit → tia
 nov → boa              now → goa              nun → ada
 oho → oho              otto → otto            outdo → outdo
 owe → ego              own → ago              owns → sago
 peek → keep            peep → peep            pees → seep
 pep → pep              per → rep              pets → step
 pip → pip              pis → sip              pit → tip
 pol → fop              pooh → hoop            poop → poop
 pop → pop              ports → strop          pot → top
 pots → stop            queer → reedy          quit → tidy
 rebel → fever          reedy → queer          reef → leer
 regor → rower          remit → timer          rep → per
 rework → kroger        rim → mir              rime → emir
 robert → trevor        room → moor            rot → tor
 rotor → rotor          rower → regor          runs → sadr
 sadr → runs            sago → owns            sail → fins
 saints → stains        sangs → swans          sank → kans
 sans → sans            seep → pees            sees → sees
 sewn → ages            sexes → sexes          sip → pis
 sire → eris            sis → sis              sling → waifs
 sloops → spoofs        sore → eros            sos → sos
 spit → tips            spoof → loops          spoofs → sloops
 sports → strops        spot → tops            spots → stops
 stains → saints        stan → ants            step → pets
 stew → gets            sting → waits          stool → foots
 stop → pots            stops → spots          strop → ports
 strops → sports        suds → suds            sui → ids
 sun → ads              sung → wads            swans → sangs
 swig → wigs            swigs → swigs          taint → taint
 tan → ant              tang → want            tank → kant
 tea → net              teem → meet            tet → tet
 tia → nit              tidy → quit            tim → mit
 time → emit            timer → remit          ting → wait
 tip → pit              tips → spit            tit → tit
 tog → wot              tool → foot            toot → toot
 top → pot              tops → spot            tor → rot
 tort → trot            tot → tot              tow → got
 trevor → robert        trot → tort            urea → nerd
 via → nib              vow → gob              wads → sung
 waifs → sling          wait → ting            waiting → waiting
 waits → sting          wang → wang            want → tang
 wig → wig              wigs → swig            wot → tog
 wow → gog

So of all of these, footstool (··–· ––– ––– – ··· – ––– ––– ·–··) is the longest English word that is a palindrome in CW. Here is how it sounds at 18wpm: forwards, backwards.

VA3PID is back on the air!

ScreenShot-2013-10-03-19.13.12Got my radio back on the air after six months off. I’d decommissioned the ancient ThinkPad that spoke to the radio, and hadn’t worked out what I’d needed to get it running with the MacBook. All it took was a FTDI-based USB to serial converter for the RigBlaster Pro’s PTT line control, and all works perfectly!

And this, kids, is why we rig our dipoles with black Dacron …

I guess the “UV Resistant!” nylon rope I used to rig my mini-G5RV wasn’t that resistant. Two summers of Scarborough sun did for it, turning the casing into friable dust. I knew that buying that big reel of black antenna rope last year was a good idea.

Ontario Hamfest yesterday

Glad I went to the Ontario Hamfest yesterday — I won the Superprize! It is quite super; it’s an ICOM V80 2m HT. Built like an absolute tank; it feels heavier than my Kenwood TH-D72. Thanks to Burlington Amateur Radio Club for organizing the event, and to Radioworld for donating the prizes.

(If I want to get a little grinchy on this, the prize ticket said it was going to be a V82, a much pricier dualband HT, but hey! a free radio …)

It was an enjoyable event, if small by comparison to Hamvention, but then, everything is. Was pleased to see an Arduino/µC vendor at the show – Bill, of Aztec MCU Prototyping. Bill had some of his Omega MCU Systems boards for sale, which mostly feature ZIF sockets for rapid prototyping. I bought the Arduino-compatible (in software, if not pinout) Omega-328U board, and the PICAXE-based D-Axe. So that means I have even more types of µCs to learn!

FIXME: not quite right morse tree

It’s not quite right yet, but I’ve never worked with Graphviz before this evening. Strongly influenced by the graphic on learnmorsecode.com. The wikipedia one is the wrong way round.

Source: morse.gv

One year of amateur radio: what works

So I’ve just got my digital mode setup working again. It seems that somewhere, somehow, a driver for the SignaLink USB decided to stop working, and at best I got no signal on transmit and a very very quiet one on receive. Now my mind’s back in radio mode, I realise there’s a ton of stuff I’ve bought and found to be of variable utility. This is the good stuff:

  • Rigblaster Pro: this audio interface is far larger and far more expensive than it needs to be, but I got it used for a good price. Coupled with a $3 (!) USB sound card, it makes a sensitive and controllable sound device. I think I now prefer serial PTT-controlled audio interfaces to the SignaLink’s vox-style “Make a noise and I’ll transmit it” mode. It means you won’t accidentally tx system noises. That’s worth having another USB cable lurking about.
  • LDG autotuner: because of the wild and pointless diversity in radio interfacing, LDG makes a bunch of autotuners for specific radio models. Mine just works, and will tune my mini-G5RV from 10 to 80(ish) metres.
  • Big external meter: a cheap LDG meter is way better than the fiddly bar graph on the front of my FT-857D. I have it set up for signal on receive, and perhaps slightly unusually, AGC on transmit. Since I have a tuner and run almost entirely digital modes, it’s important that my signal doesn’t distort, so seeing AGC and being able to tweak it is important.
  • Heil Pro-Micro headset: this is comfy, and keeps the family sane. I have the footswitch too, which really helps to run nets.
  • Quarter-wave dual-bander HT antenna: The rubber ducks that all my HTs have are a bit rubbish. A simple replacement antenna allows me to talk through fairly distant repeaters from my sheltered back garden.
  • WinKeyer USB: I’m just starting morse. The WinKeyer kit was so well put together it was a delight to build, and seems to be an utterly sound keyer.
  • Fldigi: the digital mode program. Reliable, full-featured and free. It basically runs all the time on my shack computer.
  • Chirp: I can program all my HTs and my HF rig with this. It’s truly great, and miles better than proprietary programming software.
  • PSKReporter: a few minutes after calling CQ, I can see where in the world I’ve been heard. This automatic reverse-beaconing site is magic, and I’m amazed that a lot of digital users don’t even know it’s there.

My one annoyance about having a Linux-based shack is that ham radio is still very stuck in using serial ports. None of my computers have hard-wired RS232 ports, so I rely on USB serial adapters. These mostly work well, but Linux has a habit of shuffling the allocations around, so what was /dev/ttyUSB0 controlling your rig today might be ttyUSB1 tomorrow. You can get around this (if the software supports it) buy using long serial device names from /dev/serial/by-id/, which don’t change. They don’t change, that is, unless you have two Prolific serial interfaces that don’t have serial numbers set, so I can only have one attached at a time. Annoying.

confuzzled: fldigi seems to be interfering with itself …

Fldigi used to work fine, but recent updates may have caused me to drop off the face of the (radio) earth. What it seems to be doing — and I don’t find this at all plausible — is causing interference with its own audio stream when its window has focus, but receiving perfectly when the program window is hidden. As Fldigi is a highly interactive program, this is not much use.

Here’s an audio sample showing what I mean: fldigi-psk14070-VA3PID-201206092107z. It’s about 45 seconds long, a sample of the 20m PSK31 band this afternoon, and comprises:

  • 0-15 seconds: fldigi’s window is in focus. None of the traces in the waterfall resolve to meaningful text.
  • 15-30 seconds: I changed focus to another program. The waterfall traces snap into focus; QSOs become readable. The conversation at 2383 Hz goes from line noise to a very clear “…  73 73  Jim and thanks for ans[w]ering the cq …”
  • 30-45 seconds: fldigi’s window is back in focus, and all decoding is cut off.

I’m running fldigi 3.21.43-1~kamal~precise from the Ubuntu Amateur Radio Software Updates repo. Hardware is a Thinkpad R51 (a bit old), latest Ubuntu 12.04 LTS, a FT-857D into a Signalink USB, and the audio’s being handled by PortAudio. I’m stumped!

Update: It was a volume thing. Linux had decided that I didn’t need my main system volume above 10%, so fldigi was picking up noise only.

knock yourselves out, guys …

I’m not quite sure why anyone would want to use the sort-of Arduino-compatible HamStack — billed as a microcontroller platform especially for amateur radio operators —in preference to developing amateur radio applications for Arduino, but chacun à son thingy. The PIC-based [I’d link to the PIC info page, but Microchip is giving me an internal server error] platform may have a few more IO pins than the stock Arduino, but:

  • development tools are expensive
  • there’s no cross-platform support
  • no direct USB support, either.

Some folks may already have gone to the expense of a PIC-based toolchain, but for beginners, it could be prohibitive. Maybe better to develop and improve radio applications for Arduino.


Built a simple Function Generator with Frequency Counter over the last couple of nights. It’s pretty basic — 0-~500kHz, 0-12V, Sine or Triangular waves — but good enough for my test needs. The frequency counter is basically an Arduino repackaged to feed the attached LCD. The counter isn’t super accurate, but is within 1% of what my multimeter says.

The kit has a fairly high voltage requirement for DC (>= 15V), but this was solved by a quick trip to Active Surplus. $11 bought me a 15V power supply (which delivers around 19V open circuit) and the right kind of barrel jack.

(Talking of neater meters, I didn’t know mine could support the Bluetooth Adaptor reviewed here. Dad’s old Avo couldn’t do that!)

silly scope

It is a truth universally acknowledged, that a single ham in possession of a good fortune, must be in want of a oscilloscope. At Hamvention, I bought slightly more of an oscilloscope than I needed, a Rigol DS1102E.

After calibrating the probes, I cast around for something to measure. Aha! There lay an Atari Punk Console (previously) ready to show the world what its waveforms look like.

Surprsingly clean output here.

Ahh, the notorious APC “squelch-fart” noise. The poor little speaker hasn’t a chance of reproducing this, so it collapses into spasms.

A noisier high frequency signal from the APC.

The Rigol is pretty easy to use. These images were captured via its USB screen dump feature; no need for an oscilloscope camera here!

Hamvention 2012

So I went to Hamvention for the first time. I knew it was a big deal when I tried to book a hotel a couple of weeks before, and everything within 25km was full. Even my dodgy distant motel was full of hams, and the Perkins next door couldn’t handle the breakfast rush.

Hamvention is huge. Radio amateurs from all over the world come to Dayton to meet, look at the shiny new stuff, buy things they can actually afford, and paw over the junk valuable items in the fleamarket. The fleamarket’s the size of a small European country.

One obnoxious item I must get out the way is the amount of anti-government sloganeering on trucks, shirts and hats. I could do without that. For a hobby that wouldn’t exist without strong government regulation (and users sometimes go crying to government when someone doesn’t play by the rules), anti-government sentiment seems inane. Okay, that’s my rant over.

The fleamarket is basically where a lot of things that really should be snoozing away the millenia in a landfill come out every year to get aired. Sure, there’s some neat stuff in all those stalls, but you’d have to rummage and bargain. I was only there for a day and a half, and I’m trying to cut down on junk, so I was mostly in the fleamarket for the lulz. Here are some of the things I saw:


A real teletype

tesla coils

Tesla coils

geiger counters

Geiger counters, lots of ’em (all non-functioning)

line launchers

n8prk‘s line launchers. Every few minutes he’d launch a marshmallow, which disappeared into the sky with a satisfying “Foomp!”

cavities and repeaters

Duplex cavities and repeaters. The big tanks at the back are for the 10m band.

too many antennas

Too many antennas, sorry.

enigma machines

Real wartime enigma machines. I think the price sticker said $90,000.

old apple tech

Old apple tech.

compact UHF cavities

Tiny UHF repeater cavities from Paladin RF (aka Honest Bob Morton of Maple Leaf Communications)



good stuff, or junk?

Good stuff, or junk?

WB4APR's old school mono solar

WB4APR’s old school monocrystalline solar modules

WB4APR's solar spinny thing

WB4APR’s solar spinny thing

WB4APR's charge socket

WB4APR’s charge socket on his Prius.

WB4APR's prius

Bob WB4APR’s prius. Bob’s quite well known for creating APRS: Automatic Packet Reporting System.

WB4APR's prius

WB4APR’s prius, from the rear.

wire recorder

A wire recorder. Julian Koster would be proud!

old ataris

Old Ataris.

KX-3 is the new hotness

The Elecraft KX3 is the new hotness (if you wear a cap). I had to fight to even get a glance at this thing.

various bugs

Various morse bugs. I ended up buying a Code Warrior Junior.

a very purple Hilberling radio

A very purple (and very expensive) Hilberling radio.

Begali testbed

Begali testbed.

London, Gerry from the Unseen Bean's helper

London, Gerry from the Unseen Bean’s helper. It is good coffee.


Tubes, or valves.

more tubes

More valves, or tubes.

petrol engine from a Maytag washing machine

Petrol engine from a Maytag washing machine from pre-REA days.

hams dream in heathkit green

Hams dream in Heathkit green.

you couldn't afford a hallicrafters

You couldn’t afford a Hallicrafters then, and you probably still can’t.

too big, and too many solar panels

Too big, and too many solar panels.

civil defence radio

Civil defence radio, basically a 2m AM(?) HT. If anyone says that tubes are better than solid state, show them this.

edison cylinder

An edison cylinder, playing “Blue Ridge Mountains of Virginia”. It sounded good.

yaseu green

Yaesu green

more enigma

More Enigma.

russian data burst encoders

Russian data burst encoders. I remember a news piece on these around 1974; was there a spy bust in the UK then?

two nagras

Two Nagras for Nesey. You might not be able to see the tiny one inside the big one’s case.

too too many antennas

Too too many antennas — don’t be that guy.

QRPme kit

A QRPme kit. I sat in on the QRP session. Interesting, but clutter-inducing. MUST SHUN!!!

QRPme kit 2

QRPme kit 2

QRPme PIC kit

QRPme PIC kit

too many APRS users

Too many APRS users. Seriously, 144.39 sounded like the frog chorus being sick all the time.

I only met one ham I’d worked; Joe (KJ8O) of the Feld Hell Club. I’ve only had my licence for a year, so not really a big surprise. Mad props to Russ of Linux in the Ham Shack for correctly guessing my accent, possibly a first.

I have to say that the event was extremely well organized. They’d teamed up with Dayton Transit to have buses from the free parking to the event. I didn’t have to wait once, though it was clear that most hams aren’t habitual bus riders. I enjoyed my time in the sorrowful midwest; I might go back every other year.

VE3WE CW beacon

If you tune to 28.265 MHz, you might hear this: VE3WE CW Beacon. It’s only broadcasting at five watts, so if you’re really far, you might not hear it. The message it is transmitting is “SCARBOROUGH AMATEUR RADIO CLUB BEACON, REPORTS TO WWW.VE3WE.ORG 73″. It does this once a minute.

There’s a reports page: CW Beacon « Scarborough Amateur Radio Club. Although I basically live next door, I’ve sent mine in.

TCA is online

Radio Amateurs of Canada may seem a bit slow at times, but they’ve quietly gone and put their magazine The Canadian Amateur online. It has a decent interface, definitely up there with Exact Editions‘ work:

The files are downloadable as PDF, too. They look pretty decent on my e-reader:

(and yes, that is really an article about making a contact over 121km using a 5mW laser)

I don’t think any of the editions before 2012 will be going online. It would be nice, but RAC is severely limited in resources. The almost total lack of fanfare is a contrast to the ARRL’s digital QST, which is much announced but not actually available yet …

JT65 on Ubuntu, finally

I’d been trying to get JT65 to work in Ubuntu for a long time. K1JT’s package is fiddly to set up, and the version in the repositories is ancient. I’d had minor success with the Windows version of JT65-HF under Wine, but it wasn’t very stable, and any attempt to switch programs (something I, Capt. Micro-Attention-Span, do a lot) caused it to crash.

Thankfully, I found W6CQZ’s compiled version for Linux, which installed and ran almost without hitch. What you need to do is make your rig’s audio interface the default sound card, and then JT65-HF should pick up the interface and use it straight off:

That’s gnome-control-center confirming that JT65-HF is using the sound device. You do have to be a bit careful not to send computer audio across the airwaves when you do this, though.

The one good thing that is built into Ubuntu is that you don’t have to worry about clock synch like you do on Windows. Ubuntu pretty much keeps the system clock on perfect time, and Jt65 expects everyone to be synchronized. Doing this on Windows is much harder than it needs to be.

It’s a great mode. This is how I was heard earlier this evening:

They heard me in Australia, on 12W!

Update, 2012-06-17: W6CQZ’s binary won’t run under Ubuntu 12.04 LTS, so I had to bite the bullet and build from source. I grabbed the SVN repository, and followed M1GEO’s instructions Compiling WSPR. It’s still fiddly to choose which audio device (I use Pulse, and can use the same number for both input and output). See, lookit; signals!


yay! a completed SSTV QSO!

Yay! KA4UPI in Dublin, GA heard me, and replied.

Thanks to KE5RS‘s Live SSTV page, I can see what I was sending – or at least, how it was received in Leander, TX by KE5RS:

This was sent in response to this:

Here’s what I send:

compared to what was heard in Texas:

Choosing images to send is difficult. The number of cheesecake images is a bit distressing. For good, free images, I use Wikimedia Commons; the one I’ve used for my CQ call is File:Burrowing owl smile.jpg.

SSTV is a fun little mode. I was saddened to hear that its creator, Copthorne Macdonald VY2CM, passed away late last year.

SSTV is go (sorta)

Luc gave a really good introductory talk about SSTV last night at the radio club. I’d had no luck at all running qsstv on this Ubuntu box, so I thought I’d try MMSSTV under Wine … and it worked!

I picked this image up from N5HIC on 14.230 MHz. Sure, I need to fix the sync, so my images aren’t slanted. I also don’t seem to be able to transmit, since it fails with a “Can’t open sound card (3)” error. But it’s a start!

Worked All States – by my standards, at least

So I’ve managed to talk to at least one person in every US state. This is Quite A Big Deal for a new(ish) ham. To be more specific, I’ve done this using one mode – PSK31 – which makes it slightly better nerd-tuned.

But you’re going to just have to take my word for it now. In order to get a certificate, I have to get the 50-ish responds to log their details either on eQSL or ARRL’s Logbook of the World. And this is a bit more difficult.

On eQSL, I’m at 49/50. My lone North Dakotan QSO was from someone mobile from out of state, and eQSL doesn’t handle that well. North Dakota is very sparsely populated, and there’s very seldom anyone on the air from there. Every time I look on PSK Reporter, the emptiness of the state glares at me …

LotW is more of a problem. It says I still have ten more states to go. While it’s a very elegant system, the setup process for LotW is just a bit too complex for most people.

So here are my maps:

VA3PID Worked All States
VA3PID Worked All States: West
VA3PID Worked All States: Central
VA3PID Worked All States: East

I’d like to apologise to Vermont, whose presence is rather noted by its absence from the map. I’m actually surprised that more states ended up with all of their QSOs appearing inside, as:

  • Towns tend to be by rivers, so that’s where you’ll find more hams
  • Rivers often mark state boundaries
  • Ham locations are given as grid squares, which are a few kilometres across
  • Rivers are wiggly, and don’t respect arbitrary boundaries.

Absent making a blocky, 8-bit like political map, we’ll have to make do with these failings sometimes.