flak rss random

honk 1.0

It’s been four years since honk 0.1. Before that, the preview, and shortly after the followup. But finally, after a long journey, we’ve reached honk 1.0. (Narrator: honk is a microblog server that federates with other servers via ActivityPub.)

more...

Posted 10 Aug 2023 14:22 by tedu Updated: 10 Aug 2023 14:22
Tagged: activitypub project web

dodging the go loop trap

One of the traps in go is the reuse of loop variables, confounding novices and even catching the unwary expert. It’s so bad they may even change the language to fix it.

more...

Posted 24 Jul 2023 15:25 by tedu Updated: 24 Jul 2023 15:25
Tagged: go programming

azorius 0.1

Reddit is deddit. Everybody needs to write a replacement. Mine is called azorius.

more...

Posted 20 Jul 2023 14:48 by tedu Updated: 20 Jul 2023 16:33
Tagged: activitypub project web

from apples to pears

Here at Enterprising Enterprise, we love technology, but we’re also pushing it hard, constantly trying to expand the frontier of what’s possible. Along the way, we frequently find we’ve outgrown an earlier technology choice, and it’s time for us to migrate to something new. There’s a cost to doing this, but it’s the only way to keep moving forward.

more...

Posted 17 Jun 2022 06:53 by tedu Updated: 17 Jun 2022 06:53
Tagged: rants

reversing an openbsd kernel syspatch

OpenBSD has provided binary patches for a select few architectures for a while now, to save users from the daunting task of running make on their own. Alas, this means you might now apply a patch without first reviewing it. In the olden times, you had a source patch, so obviously you meticulously studied every line before application, just like you advised new users on IRC to do. But now, who will believe you do this when the binary syspatch is right there, so easy, so tempting.

more...

Posted 25 May 2022 08:38 by tedu Updated: 25 May 2022 17:22
Tagged: openbsd

the trouble with q quotes

Among the underutilized HTML elements is the q tag, for quotes. This should, depending on user agent, render with appropriate opening and closing quote marks, without needing to specify them by hand. This sounds really convenient, to avoid ambiguity when quotes are nested inside quotes inside quotes. I said, “Alex told Bobby, “according to Chris, “Danny said “No way am I the one who’s confused,” when asked,” direct quote,” yesterday morning,” emphatically. Lucky Danny.

more...

Posted 24 May 2022 14:21 by tedu Updated: 24 May 2022 14:21
Tagged: web

css vs webgl cubes

I wanted to conduct a little experiment, and it turned into a few experiments in one. I was watching a youtube video about creating 3D scenes purely in CSS. At first, it seems pretty ridiculous. Surely this has to be too much effort, but then as it came together, it wasn’t that difficult. CSS has more potential as a lightweight 3D rendering language than I may have suspected.

more...

Posted 20 May 2022 06:23 by tedu Updated: 20 May 2022 06:26
Tagged: programming web

parallel tree running

For the first version of where’s all the code I did a simple tree walk to find all the code, one file at a time. But I wrote it in go, a supposedly concurrency friendly language, so it seemed the obvious thing should be to walk the tree in parallel. This went great, until it didn’t, but then it ended up okay.

more...

Posted 16 May 2022 02:23 by tedu Updated: 20 May 2022 16:41
Tagged: go programming

where's all the code?

I already had a pretty good idea where all the code in the OpenBSD kernel was hiding but for the sake of comparison I wanted precise numbers. This would be easy enough to get using some scripts and builtin tools like wc and du, but I wanted a tool that would give me something like this.

. 6.93M lines 383.41M bytes
├──dev 5.69M lines 348.84M bytes
│  ├──pci 4.46M lines 308.00M bytes
│  │  ├──drm 3.99M lines 293.86M bytes
│  │  │  ├──amd 3.33M lines 273.93M bytes (6)
│  │  │  ├──i915 326.03k lines 9.21M bytes (5)
│  │  │  ├──radeon 201.19k lines 6.71M bytes (1)
│  │  │  ├──include 48.94k lines 1.56M bytes (9)
│  │  │  ├──ttm 5.46k lines 142.03k bytes
│  │  │  └──scheduler 1.86k lines 51.73k bytes
│  │  └──bktr 8.53k lines 265.29k bytes
│  ├──usb 187.58k lines 5.09M bytes (1)
│  └──(other) 1.02M lines 35.11M bytes (33)
├──arch 729.42k lines 20.46M bytes
│  ├──amd64 133.43k lines 3.98M bytes (7)
│  └──(other) 595.99k lines 16.48M bytes (20)
├──kern 83.80k lines 2.05M bytes
├──uvm 29.39k lines 816.41k bytes
└──(other) 395.30k lines 11.23M bytes (19)

Easy to see everything, without too much clutter. Importantly, let me group things my way, and toss the less interesting parts off to the side. There’s 100 du but better tools on github, but it would take as long to find one that does exactly this as it did to just write one.

And thus watc.

Another take.

Posted 04 May 2022 17:57 by tedu Updated: 23 May 2022 21:47
Tagged: software

compiling an openbsd kernel 50% faster

This is approximately as wise as taking off from Mars in a ragtop rocket, but don’t worry, the math all checks out.

more...

Posted 02 May 2022 14:38 by tedu Updated: 02 May 2022 14:38
Tagged: openbsd