Newest entries.

Previous month.


Genetic programming in C.


Very nice weather outside. Around two hours of walking today, with a stroller and a grill. Grilled stuff, ate, played cards, all in the sun. Great day.

Updated npe to do proper blending with alpha and corrected SDL_UpdateTexture for cases where parts of the textures are updated with the pitch being different from the entire image’s width. That means uxn works on 9front properly again.


No computers.


Updated rio theming patch for subrio to try loading the theme from /dev/theme on start.

I use a semicolon (‘;’) as my rio prompt to make copy-pasting commands easier, now I also patched my rio so that double-clicking on the left (or right) of the prompt sign select the command line AND the whole its output.


diff -r 1d9839f8f32d sys/src/cmd/rio/wind.c
--- a/sys/src/cmd/rio/wind.c	Thu May 27 07:47:10 2021 +0200
+++ b/sys/src/cmd/rio/wind.c	Fri May 28 10:40:19 2021 +0200
@@ -1034,8 +1021,8 @@
 	wframescroll(selectwin, dl);
-static Rune left1[] =  { L'{', L'[', L'(', L'<', L'«', 0 };
-static Rune right1[] = { L'}', L']', L')', L'>', L'»', 0 };
+static Rune left1[] =  { L'{', L'[', L'(', L'<', L'«', L';', 0 };
+static Rune right1[] = { L'}', L']', L')', L'>', L'»', L';', 0 };
 static Rune left2[] =  { L'\n', 0 };
 static Rune left3[] =  { L'\'', L'"', L'`', 0 };
@@ -1057,6 +1044,7 @@
 	Rune c;
 	int nest;
+	uint p;
 	nest = 1;
@@ -1071,6 +1059,14 @@
 			c = w->r[*q];
+		if(c == L';' && c == cl){
+			p = *q - max(0, dir) - 1;
+			if(p < 1 || p >= w->nr || w->r[p] == '\n'){
+				*q = min(max(0, *q+dir), w->nr);
+				return 1;
+			}
+			continue;
+		}
 		if(c == cr){
 				return 1;

That patch can be improved, of course. Feel free to do that yourself.

Tech bro, tech bro
Take me to your condo
I'll do my laundry while you code
Tech bro, tech bro
I'll let you explain
Feminism to me

(Childbirth - Tech Bro)


A quick porting by-product: cweb for Plan 9.

I’m going to keep sndkit Plan 9 port so things don’t break on updates, and continue getting the changes upstream.


sndkit port builds and works on 9front. The changes aren’t big so this will hopefully be part of upstream after I clean everything up.


A bit more work on SoundPipe port, this time writing a declarative layer to interface it with text.

Learned a few days ago: if mint leaves are staying too small, this usually means the pot is too small. Needs a bigger place to live.


Quick and dirty port of SoundPipe to 9front. The idea is to hook it up to opl3 with an exported filesystem interface, so that each channel has its own effects chain represented as a single text file, each line being an effect with all its parameters listed.

That is to be used with Orca OPL companion app by umbraticus.

Perhaps a Pilot rewrite for 9front in C could make use of this all, connected together, alongside a custom bank created with op2ed.


Biked to Orlången and back, 30km of ups and downs. Considering I haven’t sat on a bike for 4 years, this wasn’t too bad, although my legs became really weak over that time. I definitely have to continue doing this. So much fun and nice sightseeing.


Just resting.


What does it take to make Firefox delete a word on ctrl+w while keeping the same thing semi-working in other places?


"xdotool key Control_L+BackSpace Alt_L+BackSpace"


Figuring out a different place to work at.


Treason’s install script will now build libogg, which is required by opus.

Uxn running on 9front:

uxn piano


Planting and repotting. Hope to have some cute flowers growing on the balcony this summer. Mint needed its root to be untangled and fit in a bigger pot with soil and compost.


Comparing original, 2x-scaled with xBR, and 2x-scaled with resample(1) from imgtools:



Nothing to report.


It was really warm so I sun-tanned.


Stratification of apple seeds: they start to germinate in the fridge. Maybe this time they won’t die.

Ears stretched to 00g. I don’t have tapers any bigger, guess it’s purely PLUGS time after this size.


No computering. Just migraine.


Trying to figure out how taxes work. Then trying to imagine how international taxing works. From my calculations it seems like I’d put more than 50% of earned money to taxes and other payments, which apparently is quite normal??? shrugs


Can’t remember, terribly busy day.


A very hectic day. Vet with the dog, human doctor, etc. Injections are still not available in Sweden and, according to the doctor, it has been like that for years. Fuck this.


zuke manpage!

10 vials of blood for analysis. Tomorrow I’m going to ask (yet again) whether injections are available in Sweden. I thought patches would work better than pills, but it appears they just cause me to flip more often.


More fixes for libtags.


No computers.

Older entries





Last update: June 15, 2021 01:19PM