Bulk Convert your Dire Wolf logs to GPX

Dire Wolf won’t let you save both a daily and single log file of packets received, but if you log daily with LOGDIR, you can write a script that bundles up all the log files and then produces a GPX file of the output. This is useful if you want an idea of the area your digipeater or iGate is covering without trusting to aprs.fi or aprsdirect.com, which only provide the actual path taken and drop duplicate iGated packets.

Simple script for Linux:

# merge log files
sed 1d *.log > log_merged.csv
# convert to gpx
log2gpx log_merged.csv > log_merged.gpx

(sed tip from Linux.com means you don’t need Python or similar)

Make it executable:

chmod +x merge_and_gpx.sh

Run or schedule in cron:


APRS tracker/viewer build concept

Writing this on the fly and hope to add links later.

I’ve been into APRS lately, which tends to yield project ideas. There are small trackers put there that aren’t cheap, cheaper trackers that aren’t small, and none of them do all of what you might want.

At an event (e.g., an endurance race in a remote location), you want everyone to know as much as possible. We’ve tried satellite tracking on racers to various success, but when the race course has little mobile data and barely SMS (if anything), satellites don’t help race directors very much.

Having enough amateur radio volunteers to set up a real net is the dream, but in absence, what else can we do? Enter APRS.

Build idea here is for an easy-to-install vehicle (staff and volunteer) tracker that lets everyone see other where other people are. A limited number of hams would enter data and send messages or bulletins, and the rest would be passive; not pushing buttons on the radio, but having access to received data.

Quick concept and then I’m done:

  • Raspberry Pi Zero running Dire Wolf as a TNC.
    • Will need USB port, maybe not the Zero?
  • Cheap 2m radio, ideally mobile rather than HT so powering is easy. Doesn’t need any features!
  • Custom cable to run the radio and sound in/out.
  • USB sound card.
  • APRSdroid pr APRSfi phone app.

See where im going? Need to run numbers on cost, because it’s adding up in my head.

Exploring genealogy with R: readgedcom and tidygraph

My code is an absolute mess right now, but here’s a fun plot showing everyone in my family GEDCOM. With so many people, it’s hard to visualize all of them at once, and most software provides one or the other of a descendant tree or an ancestor tree.

Colors on this plot show whether a person is a terminal ancestor (no parents) or terminal descendant (no children). You can also tell that I don’t have the graph (connections between people) set up properly, because I don’t have that many unrelated individuals in this GEDCOM (at least, I shouldn’t). Overall I think this is a good start and eventually I can end up with a poster.

network plot with lots of circles and arrows
Red = terminal ancestor, green = terminal descendant, blue = neither.

Summits on the Air (SOTA) and highpointing

Did some quick looking for information on Summits on the Air (SOTA), a ham radio contest to make contacts while either you or your contact are standing on top of a summit (mountain peak, usually) and highpointing, which is a hiking contest to stand on all the high points in a given set of jurisdictions (continents, counties, US states, US counties, etc.). Links below.

  • https://www.sotamaps.org/ maps to help you find official SOTA summits, although determining which association you belong to is not especially clear. Minnesota is association K0M and North/South Dakota are association W0D.
  • https://sotawatch.sota.org.uk/en/ SOTAwatch is a good place to let people know what peak you’ll be on so they can try to contact you
  • SOTA summits in North Dakota and South Dakota: https://summits.sota.org.uk/region/W0D
  • SOTA summits in Minnesota: https://summits.sota.org.uk/association/K0M
  • Getting started with SOTA: http://www.pnwsota.org/content/getting-started-sota
  • SOTA Minnesota association reference manual: https://sotastore.blob.core.windows.net/arms/ARM-K0M.pdf
  • Joining in with SOTA: https://www.sota.org.uk/Joining-In
  • How to activate a SOTA peak: http://www.pnwsota.org/sites/pnwsota.org/files/How%20to%20Activate%20a%20SOTA%20Peak.pdf
  • Minnesota county high points: https://www.peakbagger.com/list.aspx?lid=13407


Getting Started in Genealogy

I responded to a “how do you get started” question somewhere else and came out with the following brain dump, so I’ll post it here too.

What tips and tricks would you have to get started with genealogy?

You don’t have to put your tree in Ancestry and pay monthly, especially if you have hosting somewhere. Webtrees is good software. If you are associated with a university, you may have access to an Ancestry subscription for free through the library. Set up a system for digital files and naming conventions on your local machine to back up any documentation you add to an online tree. Family tree software should all operate with the GEDCOM format, which makes it really easy to move around if you are dissatisfied (although objects like photos may be harder to).

When I started in high school 20 years ago, it was just a tree of everyone I knew I was related to. Then you get back far enough and have to ask people for help. My grandmother remembered dozens of names and dates, which got me further. Ancestry and similar free websites (findagrave.com) can fill in a lot. Newspapers.com helped me find a ton of obituaries and gossip column entries, which filled in even more.

It’s only recently that I got into thinking about the “History” going on around my ancestors when they were alive, and that’s been driving my interest for the last year. Person A lived in this place in the 1890s–what was going on there, and how were global events affecting them? Newspapers.com or another archive were very useful for this as well.

Although Ancestry and Newspapers.com are subscription, even one month lets you dig into and download as much as you want, so if money is tighter you can sign up for a single month and dedicate a lot of time to getting as much raw material as possible.

Urban Arrow Family winter riding

I can’t promise a lot of updates about this, but here are some observations from this morning. 20 degrees F, alleged 7 mph wind (felt like more). Put studded tires on last night, felt super solid with two kids in the box. Trace to drifts of 2″ of snow, drifts were sketchier on return trip without kids.

Kids stayed warm with the classic rain tent, coats, mittens, hat/hood, and big flannel blanket. Still would like more protection from wind in the back where it’s just mesh.

LCD screen seemed okay, although I think battery is discharging faster than usual. I am bringing the battery inside now between rides.

All around, a wonderful ride. Plus we saw turkeys!

photo of the corner of an urban arrow cargo bike and some turkey tracks in snow
Turkey tracks on the preschool commute.


How to ignore Port on the Grand Forks Herald website

(Updated 2021-04-09) If you really don’t care what Rob Port has to say, here’s a Greasemonkey script to hide his articles from appearing on the Grand Forks Herald website:

// ==UserScript==
// @name     _Remove Port
// @include  https://www.grandforksherald.com/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==
//- The @grant directive is needed to restore the proper sandbox.

/*--- Use the jQuery contains selector to find content to remove.
    Beware that not all whitespace is as it appears.
var badDivs1 = $(".section-article-teaser-item:contains('Port:')");
var badDivs2 = $(".section-article-teaser-item:contains('Mailbag:')");
var badDivs3 = $(".section-article-teaser-item:contains('Plain Talk Live:')");

badDivs1.remove ();
badDivs2.remove ();
badDivs3.remove ();

//-- Or use badDivs.hide(); to just hide the content.

Taken almost entirely from https://stackoverflow.com/a/9169236/2152245.

Redis server weirdness and workaround

Don’t have a better title yet. Sometimes bug email lists are the best way to find answers!

After installing Nextcloud using yunohost (which is awesome so far), the Redis server crashed and couldn’t be restarted. Turns out a couple cifs (Samba) drives I was mounting in fstab were preventing Redis from starting.

I unmounted the drives, started Redis through yunohost, and then remounted the drives. If I have to reboot, will probably have to go through this again, so not an ideal solution.

Error message:

Jul 19 22:14:46 systemd[1]: Failed to start Advanced key-value store.

Solution figured out from: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=834551#27.

Blogging to do?

It’s been a while since I’ve written anything long-form that isn’t related to work. Although “technical and boring” seems to be my wheelhouse, it’s not my entire goal in life.

Nothing long-form is coming today, however. Instead I present a list of things I have written down (in Joplin or Trello) under “to blog about someday.” Enjoy!

This post in some cases counts as “the ghost of done,” so…rad?

  • blog about prediction interval
  • report on eHam how Wilderman went and put on blog
    • I guess the simple answer to that is: https://www.eham.net/community/smf/index.php/topic,120178.msg1147755.html#msg1147755
  • do wasteful people subsidize the rest of us?
  • blog formula for number of downspouts
  • Babboe City review blog series
  • sum both time and distance approaching recent races
  • pro-cycling arguments
  • chronomen
    • This one is pretty neat, you can see some chronomen charts in my dissertation, however I guess I need to change the name so it doesn’t clash with a watch brand and whatever else might be using it.
  • residential roundabouts
  • KML file of Wallace’s line or biogeographic regions
    • Surely this must exist by now. It’s probably SaaS somewhere.
  • “DEM thing I did for NCRDS”
    • Not sure which thing this is…
  • expressing your software/method/procedure in layman’s terms
    • Less jargon is good. I’m looking at you, modeling or “computational geoscience” software.
  • physical activity as a way to see new things
    • I literally seem to have meant “see new physical things because you are physically somewhere you usually aren’t.”