Note: Late to the party, but git rebase --update-refs and git for-each-ref are really great when working with stacked branches.
Note: Late to the party, but git rebase --update-refs and git for-each-ref are really great when working with stacked branches.
""Is it crazy to love someone you've only spent seven days with in person?" "No, it's crazy to love someone when you've known them for years""
Can’t really comment on this without getting myself in trouble.
"Dad would like me to find a nice husband and have children. It is quaint. My aspirations are ... different. Why not become a deadly killing machine?"
"Killing is a good vocation for me. I know it's not socially acceptable, but nobody can say it won't be useful right now."
A few quotes coming up from this. This would make a great film - it would make no sense, but would be entertaining.
Some initial rough notes on building HammerDB on NetBSD. It has quite a unique build system - I don’t know if it’ll be possible to make a Pkgsrc package of this. For now I just wanted to see if I could get it to build at all.
sudo pkgin install 7-zipsudo pkgin install tcl90To build the pgtcl package need:
export PG_CONFIG=/usr/pkg/bin
I had to set this to get it to find my include files:
export C_INCLUDE_PATH=/usr/pkg/include/python3.12/:/usr/pkg/tcl/9.0/include/:/usr/include/
The last /usr/include/ isn’t actually required, but I chucked it on there for good measure
And for the pty.h requirement somewhere along the way, we actually need util.h so I had to symlink:
sudo ln -s /usr/include/util.h /usr/include/pty.h
To actually build:
cd /home/simon/Code/github/TPC-Council/HammerDB/Build/Bawt-2.1.0
./Build-Linux.sh x64 Setup/HammerDB-Linux.bawt update
For now I’m just stealing/tweaking the Linux files instead of adding BSD ones.
At some point whilst trying to get things to build I did this:
sudo ln -s /usr/pkg/bin/python3.12-config /usr/pkg/bin/python3-config
But on a recent rebuild to check through this post this step wasn’t required (I deleted the symlink before rebuilding) and I can’t recall why I did this in the first place. But leaving this as a note just in case
Basically you need to copy and extract the build somewhere:
cd ../BawtBuild/Linux/x64/Release/Distribution
cp HammerDB-5.0-Dev-Linux.tar.gz /to/somewhere/else
cd /to/somewhere/else
tar xvzf HammerDB-5.0-Dev-Linux.tar.gz
cd HammerDB-5.0-Dev-Linux
./hammerdb
I haven’t been able to get the prod one to work yet - for sure it’s got to be linked to “linking” and something has been stripped that shouldn’t have. Not too bothered about figuring this out yet because the Dev build does run!
For the cli the (default) tcl one works, but the Python one (./hammerdbcli py) doesn’t - I’ve done some initial debugging (editing and putting print statements in; another benefit of the Dev build is you can just edit the “built”scripts) and it’s something to do with not being able to find tclpys even though it is there.
Before going down the building route I did have a brief play with the pre-built binaries and NetBSD’s Linux emulation, but:
/home/simo...-ubuntu-22 $ ./hammerdbcli
./hammerdbcli: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by ./hammerdbcli)
./hammerdbcli: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./hammerdbcli)
./hammerdbcli: /lib64/libm.so.6: version `GLIBC_2.35' not found (required by ./hammerdbcli)
I.e. I didn’t have a modern enough glibc available, I only had 2.15 from the Suse Linux Compatibility package. I could, in theory, have tried tracking down a more modern one (because that’s how it works), but it felt easier to try to get the build working.
For a long time I’ve toyed with the idea of replacing Simplenote with a Fossil repo of text files, more from an “owning your own data” point of view than anything else, but more “recently” since I stopped using Vim and switched to Helix. It’s probably not happening any time soon as Simplenote is still too convienent on mobile, but I thought I’d have a little play just because Fossil’s auto-sync is really neat.
ssh to my local machine: fossil clone ssh://me@linode/Code/fossil/repos/notes.fossilThen added a little “hook” to Helix via my mksh config like so:
function hx {
/usr/pkg/bin/hx $@
if [[ $(pwd) == '/home/simon/Code/fossil/checkouts/notes' ]]
then
if [[ $(fossil extras) != "" ]]
then
fossil add $(fossil extras)
fi
fossil commit -m 'Auto-sync notes'
fi
}
The idea being that if I am editing a note and then exit and save, Fossil will then automatically sync changes, including adding it if it’s a new note. The only downside to this is that if I suspend Helix (Ctrl+z) then that also triggers this and if I resume (fg) and then quit it won’t automatically sync.
So I’ve also added a keybinding of fs to Helix to manually trigger a sync:
[keys.normal.f]
s = [":write", ':sh if [ "$(fossil extras)" != "" ]; then fossil add $(fossil extras); fi; fossil commit -m "Auto-sync notes"']
(Slightly different syntax as it’s sh as opposed to mksh)
I can’t see me fully switching from Simplenote yet as I don’t have a good mobile solution (apart from using a sftp client on Android… hmmm… maybe), but it’s interesting to play about.
Just under three months later, got my revenge after the first attempt wrecked my knee. Now I need to decide if I’m going to try even further.
Back dated this post to match the run date
Note: Finally stopped pointlessly gzipping images on this site. Saves me 0.4GB. Worth it as space is tight.
I can’t say I ever really cared about my running cadence - I just ran at what felt natural and comfortable. Turns out that is about 166 spm which seems to be the most average cadence out there.
I’ve had many knee issues over the years, but I don’t think I’ve had ITB issues until this year - the big difference there was how sudden it would come on and how debilitating it was. This was not a struggling through thing. I had to stop and walk. Which was an obvious concern for me on longer runs - I did not want to be facing a 10k+ walk/hobble back. So I did take it seriously.
I had a full week off running when I just did knee strengthening instead (I found it frustrating that this happened to me as I have actually taken lower body strength exercises seriously for the past three years) and then four weeks of building up gradually, running on the flat only and working on cadence. Cadence and stride/gait alignment (width) seem to be the recommended changes for ITB. I know I have a bad crossover gait as I kick my own feet sometimes when running, but I feel like it’s harder to consciously change this. Increasing cadence means a smaller and quicker stride and so perhaps because I am more conscious of my feet landing closer together this will actually naturally also push out my gait width.
I felt really stupid when I first tried to increase my cadence. It felt very unnatural, but having a boring out and back flat route was very useful for practising with this. I tried both slow paces with a high cadence and then my natural pace (between 4 to 5 mins per km) at a high cadence as well. I was mostly my own metronome and counted to myself, but some high paced punk (Snõõper) or dance (Ela Minus) does help. After some experimentation I found a smaller step cadence and pace that felt ok. I think it’s actually slowed my pace ever so slightly.
There aren’t many practical steps for increasing cadence (and not increasing pace at the same time), but basically it means intentionally taking smaller quicker baby steps. If you do high cadence running on the spot and then also at a slow a pace as possible then you should find your cadence increase at your natural pace. At times I’ve also found it helpful to think about moving my feet from my glutes as opposed to my knees (i.e. barely moving my knees) and also taking lighter floaty steps (almost skipping). It is 100% worthwhile doing all this on the flat as it’s harder to keep a consistent cadence uphill and off-road.
I have managed to make this change stick. Doing a before and after with my last six runs (i.e. some of my common routes) I’ve gone from an average of 164 spm to 175 spm. I’m happy with this. If I can keep it around 175 that is a decent difference.
Note: Strava embeds now seem to require a data-token
No one is buying either of these in 2026*. Unless you are me. And you got a Forerunner 55 for £60 on Vinted. So these are just observations and notes for my benefit really.
Since the Series 3 was a couple of years old when I got it I thought of replacing it with an equivalently old device such as a Coros Pace 3 or a Garmin Forerunner 165. I was also interested in “something different” like a Suunto Run or 9 Peak Pro. I.e. watches around £200 new, but that can be found for £150 on Vinted, but then realised there are so many Forerunner 55s it is easy to pick a barely used one up cheap (it seems a lot of people buy them to run a marathon and then discard after one season). It is my price point after all as nothing really changes; £37 of the £60 was contributed by my Dad for my birthday.
* - Especially since recently Garmin finally replaced the Forerunner 55 with the 70
First decent length run after injuring my knee. Had one full week off and then four weeks of flat-work (no hills) working on my cadence; More on that soon.
This has bugged me since I got a ThinkPad X270, so much so that I actually found/made time for Frustration Driven Development, figured out a patch for the source code, built the kernel and tested it out. This has MASSIVELY IMPROVED my laptop experience. Honestly, not overstating that. Due to the Synaptics driver doing tap-to-click by default I would frequently make mis-clicks with my palm, etc when typing and would often mis-click and accidentally drag tabs, etc in Firefox. I was coming very close to disabling the trackpad altogether and using the pointer instead, but then “solved” half the problem by disabling mouse mode in Helix - although it was still annoying me elsewhere.
I patched it so tap to click is the default behaviour and I can just easily disable via sudo sysctl -w hw.synaptics.tap_to_click=0:
--- /usr/src/sys/dev/pckbport/synaptics.c.orig 2024-06-22 11:02:05.000000000 +0100
+++ /usr/src/sys/dev/pckbport/synaptics.c 2026-04-22 17:21:33.087414774 +0100
@@ -118,6 +118,7 @@
static int synaptics_button_boundary = SYNAPTICS_EDGE_BOTTOM;
static int synaptics_button2;
static int synaptics_button3;
+static int synaptics_tap_to_click = 1;
static int synaptics_two_fingers_emul = 0;
static int synaptics_scale_x = 8;
static int synaptics_scale_y = 8;
@@ -155,6 +156,7 @@
static int synaptics_edge_motion_delta_nodenum;
static int synaptics_finger_high_nodenum;
static int synaptics_finger_low_nodenum;
+static int synaptics_tap_to_click_nodenum;
static int synaptics_two_fingers_emul_nodenum;
static int synaptics_scale_x_nodenum;
static int synaptics_scale_y_nodenum;
@@ -865,6 +867,18 @@
if ((rc = sysctl_createv(clog, 0, NULL, &node,
CTLFLAG_PERMANENT | CTLFLAG_READWRITE,
+ CTLTYPE_INT, "tap_to_click",
+ SYSCTL_DESCR("Enable tap to click"),
+ pms_sysctl_synaptics_verify, 0,
+ &synaptics_tap_to_click,
+ 0, CTL_HW, root_num, CTL_CREATE,
+ CTL_EOL)) != 0)
+ goto err;
+
+ synaptics_tap_to_click_nodenum = node->sysctl_num;
+
+ if ((rc = sysctl_createv(clog, 0, NULL, &node,
+ CTLFLAG_PERMANENT | CTLFLAG_READWRITE,
CTLTYPE_INT, "two_fingers_emulation",
SYSCTL_DESCR("Map two fingers to middle button"),
pms_sysctl_synaptics_verify, 0,
@@ -1101,6 +1115,10 @@
if (t < 0 || t > 3)
return (EINVAL);
} else
+ if (node.sysctl_num == synaptics_tap_to_click_nodenum) {
+ if (t < 0 || t > 1)
+ return (EINVAL);
+ } else
if (node.sysctl_num == synaptics_two_fingers_emul_nodenum) {
if (t < 0 || t > 2)
return (EINVAL);
@@ -2293,7 +2311,7 @@
/*
* Do gesture processing only if we didn't detect a palm.
*/
- if (palm == 0)
+ if (palm == 0 && synaptics_tap_to_click)
synaptics_gesture_detect(sc, sp, fingers);
else
sc->gesture_type = sc->gesture_buttons = 0;
I haven’t noticed any downsides to this at all yet. I have physical buttons that I can use for clicking anyway PLUS it turns out if I press hard enough (I’d never done this because of tap-to-click) on the trackpad it actually physically clicks (and that still registers as a click with this patch).
I must be some kind of freak for hating tap to click (I hate it on macOS as well) since no one has bothered to change this over the years. Or even moaned that much about it.
I couldn’t recall trackpad usage on my previous NetBSD laptop being this bad, but then I looked up that hardware and realised it didn’t have a trackpad.
[EDIT: 2026-05-04] It got committed. Whoop!
These are the ten most recent posts (not counting any note drivel), for older posts see the Archive.