I've been hiking in the government reservation around my town. I live near Eglin AFB which has almost half a million acres of land and about a quarter of a million acres are open to the public with a permit. There's easily over a thousand miles of trails going through the woods and the vast majority of them aren't on any official maps. I'm cobbling together a u-blox EVK-7P GPS receiver with a USB-C hub and battery bank that supports USB-PD passthrough to a phone hooked up to the hub to log the raw GPS observations from the u-blox receiver as well as log the sensor data from the accelerometer, gyro, and magnetometers in the phone. After a hike the idea is to post process those observations using a nearby Florida Department of Transportation reference station as a base station in order to get accurate positioning after the fact. (should be on the order of centimeters) The u-blox receiver also supports measuring the doppler shift to each satellite as well which should give me not only position but direct velocity measurements as well. Combined with the accelerometers and gyros in the phone I should be able to use Google Pose Optimizer (If anyone knows of a more up to date sensor fusion library please reach out to me) to combine the results into a fine grained and highly accurate track of each trail and publish some of the trails online as KML or GPX. The part that's pretty up in the air is taking the raw track and combining points of interest with the track and combining overlapping paths where I doubled back on a trail. My basic plan is first take all of the raw positions and times and construct a continuous non-branching path that accurately shows the actual path I took and then iterate through it from start to finish constructing a new path and check to see if the point I'm sampling from the raw path is already nearby an existing point on the new path and if so, skip it and start a new branch when the path diverges.

The other side project keeping me busy has been setting up my desktop as a multiseat computer both at my desk and on the living room TV for my son to play some emulators, Minecraft, PBS Kids games, etc. As luck would have it, the length between the back of my PC and the HDMI input on my TV through the cable management arm, wall, closet, baseboards is juuust short enough that a 25ft regular passive HDMI cable will reach. I've got a Monoprice two port active USB extender hooked up as well going to a webcam mounted on top of the TV and a Bluetooth dongle that's mounted just barely peeking out from below. For a controller I picked up a bluetooth Xbox One controller and I'm using xpadneo as the driver for it on Arch Linux. That plus a Bluetooth keyboard and mouse are the only HIDs out in the livingroom and the keyboard and controller are rechargeable. It's better than any console and wound up being cheaper as well and it's expandable for e.g. one of our latest favorites of playing Hans Zimmer's "No Time For Caution" while playing SpaceX's ISS docking simulator with the goal of docking before the song ends.

That last side project has also expanded into some Minecraft modding working on porting an old mod that adds Joypad support to the PC version to more modern versions of Minecraft. Right now he's still pretty unfamiliar with using a keyboard and mouse so controller support is a must which really limits the mods available because that basically pins me to Minecraft 1.12.