Single-page, with entries dropping off the end, quite possibly never to be seen again. In theory: one entry per day, however trivial. In practice... well, it varies.
Front page messages get moved here.
Pretty busy today, but managed to get about halfway through the 70 page PDF on the seL4 Device Driver Framework put out by UNSW.
Last week was rough! School was out a couple days, kid was sick the other days, dishwasher broke, and I burned my scarce free time on a game I developed a brief compulsion with. Didn't even really enjoy it, just found myself going "one more thing, then I'll be done" until I was out of time. Kid's back in school today, though, and I think I've reached burnout on the game; dishwasher's still broken, but I hope the other two factors resolving mean I'll be able to get back into the swing of working on careful.party and ths attendant OS.
Behind on housework again. Worse, I've been letting news and social media take up my time instead of spending that time on the tasks at hand.
Past entries can be found on the day log page.
Low energy and scattered this morning. If I'm not also somewhat sick by now, I'm probably going to be.
Not been getting enough sleep generally, but last night my partner got up with the kiddo when he woke up in the middle of the night and this morning he slept in about an hour later than usual, so I'm better rested than usual. Still chronically behind with no end in sight. In theory I could just go to bed earlier, but then I wind up with no quiet time to myself in the evenings, which I apparently prefer to getting enough sleep.
Gonna try to give careful.party some love today regardless. Gonna try to v-tube tonight, too. Even though I have nothing but knowledge to show for my efforts, which feels somewhat disappointing, I did just complete a big chunk of work on the seL4/Idris OS project and had been sort of holding my breath, waiting for a natural inflection point at which to take a break. This feels like that point, so I'm going to take it before I get too deeply into the next challenge.
Tired today. Kid's sick. He also woke up in the middle of the night the past couple nights, so I'm more sleep deprived than usual.
Found out I made a silly mistake and spent a lot of time tracking down and trying to fix a bug that'd already been fixed upstream. Feeling the wind suddenly taken out of my sails a bit. I'm sure it'll be back after a good night's rest, but it's not clear when I'll be getting that.
It was indeed busy on the 7th, and I did not get anything done in terms of my projects. Yesterday I did address each of the three bullet points I'd mentioned on the 7th, though.
GCC and LLVM both are accepting LLM-generated code now. Looking at QBE as a potential alternative backend.
C is at least simple enough that there are many alternative compilers out there. QBE could provide a decent route to both yet another C compiler (assuming none of the existing ones are suitable for use or building upon) and to another Idris backend.
First I should dig into Idris' refc backend a bit. If I can resolve a bug in one of the few good, LLM-resistant projects left, I ought to do just that.
Gonna be a rough decade or two with fascists and quislings ascendant.
Looking like it might be a busy day today. Regardless, this is what I'm hoping to at least work on a bit:
And that's all the time I've got for writing just now.
Somewhat of a reversal from yesterday: I thought I'd have to go over to my parents' again to help out, but that's been delayed until tomorow.
Continuing work on careful.party and my attempt at a general-ish purpose OS atop seL4 this morning.
Busy day attending to family needs. Parents needed help suddenly this morning and the kiddo has a follow-up appointment for his stitches in a couple hours.
Hopefully I'll get some work done on my projects somewhere in there.
Today marks the second year of maintaining this digital garden using my own markup language.
There've been some pain points, but so far I'm mostly happy with it.
Tonight I may v-tube for the first time, or I may spend my time focused on trying to solve technical issues with careful.party, or I may just hunker down and try to figure things out between seL4 and Idris again.
Dropped a bunch of entries off the bottom of ye olde day log today. It was getting rather long.
Eventful weekend. Had to take the kiddo to the ER for stitches. Got in some tidying around the office. Got the last bit of kit I'll need for v-tubing. Worked on careful.party some more, with assistance from neonio.
Looks like tomorrow will be my digital garden's second year existing in this form.
Really feeling pressed for time lately. I should probably sit down and clarify my priorities before things start dropping off my figurative plate at random.
Shoot, why not now:
Welp, out of time. Maybe more of that later.
It's showcasing your income bracket to craft something that can never possibly get you paid.
Spending time on my operating system project and posting about it on my careful.party page this morning.
Finally got pictures of my work up on my kintsugi page yesterday. I will not be achieving all of my goals this year, but I've made a good dent on them and achieved some other things as well. I'll have to write up a retrospective at the end of the year, I guess.
Began building a small shelf out of scrap wood yesterday. I expect to have it done this afternoon, shortly after the legs are done printing and the wood glue is fully cured.
Ordered a couple threaded strips for mounting eurorack modules, in anticipation of spending some time next year making a version 2 of my TAVELAN tray instrument.
Been getting really tired in the afternoon lately. Been motivated to tidy up the office and attend to housework more, so there's that. These are tasks which take less energy for me than programming does; my brain can be tired and I can still do them, at any rate.
The split between my human web and public web "digital gardens" has been initiated. For now, for simplicity, I'll be maintaining them independently. Someday I may decide to merge them and get links going between them. Detailed software project updates will go over there. Overviews, descriptions, and screenshots will show up here from time to time, most likely.
I'll probably keep posting about physical world projects here as well, until or unless the human web grows to the point where I feel it's got the momentum to keep growing on its own.
I should write more about what I mean by "the human web" sometime, but in brief: I've started imagining careful.party as a node in a private "inter-network" overlay of federated servers bound by a minimal, baseline agreement, upon which each individual server (or subgroup) may elaborate or build: human work only.
I keep wanting to add on to that agreement, to bring it more in line with what I've imagined for careful.party, but my wish is to create a bigger tent with the "human web," so it necessarily has to be less specific than careful.party. There are reasons for wanting a human-centric web which I think boil down to criticisms which may also be applied to other issues, but that's speaking from my own limited perspective.
I am somewhat kneecapped by the breadth of projects I'm applying myself to, but I can't help but see everything as connected and therefore can't help but put my shoulder a little to each thing. More to some things than others, as my temperament and abilities dictate, of course.
Dividing up domains of thought and action has always been tricky for me. I prefer to just have one domain through which everything is pushed.
That said, I'm making progress on familiarizing myself with the seL4 kernel. I'd been trying to do the tutorial course using Idris 2 instead of C, but pretty quickly ran into memory issues. So now I'm working through the tutorials in C. Each one doesn't take especially long, I'm just kind of slow about working through them.
Kind of slow about everything these days, honestly. I think the world would generally be a better place if more people would just slow down and take more time for their well-being and less for advancing consumer culture; I recognize this is not realistic as long as we are yoked to capitalism above all else, but I also think we're lost if we can't at least acknowledge the desirability of a slower pace for most things outside of life-and-death situations. Without the desire, we can't hope to ever produce action in that direction.
So I'm slowly working through this tutorial series because I can't take shortcuts to understanding, and because I want to be a whole human being with time for friends and family, especially my wife and kid, and because I know that a lot of the haste and noise of the modern world is simply in service to poor planning and wastefulness anyway. If you do it right the first time, you don't have to re-do it. If you have a UI that works, you don't need to redesign it. Certainly not just for a new coat of paint. Wait a bit, it'll be vintage in a few years and everyone will love it again.
Despite my pace, I'm at the point where I'm seriously wondering about how I might implement far-off things like UI abstractions. I'm not terribly familiar with prior work, but I have some idea of the things I want to achieve. However, I think maybe I ought to keep details and technical proposals restricted to inner.careful.party, which is only accessible over the careful.party VLAN, to avoid feeding the LLMs any more than necessary. Suffice it to say, I'd like the distinction to be made at a very low level in the stack between state and presentation, such that a sighted person and a blind person could be on equal footing from the earliest stages of booting, without a bunch of additional accommodations being made for either. I'd like amateurs to be able to tear the UI off of any program at all and easily design one which fits their own needs. I'd like a rich type system throughout the whole thing to help facilitate this. And I don't want my musings about this to feed the exploitative, regressive, dominant system which I've come to see as violently opposed to all of humanity's better impulses. Ergo, I will be splitting this wiki into "inner" and "outer" sections.
This is an expression of my human web impulse, which I see I first wrote about back in the July of 2025 (and left, until now, among my orphaned pages), and which I'd been absent-mindedly mulling over for a good long while before that. (An older expression of this impulse, which I never committed to writing, basically used GPG Webs of Trust in place of Wireguard LANs; I suppose something similar might still play a role someday.)
I will probably take some time today to initiate this split. I won't be retracting anything at first (though I won't guarantee that I never will), but I will most likely begin writing some more detailed project logs over there.
Frankly, if "ent" were not already Reddit-speak for "one who smokes a lot of weed," I'd have probably used the domain name "ent.party" or "ent.club" or something along those lines, and I'd probably have called this project of mine "Ent OS." Now I've got to think of something else evocative of careful slowness.
We could have fine lives with marginal labor in light of the incredible gains in productivity we've seen over this past century, if only we were able to cooperate enough for us all to live those lives. (This is part of the "degrowth" argument, come to think of it: we could be doing a lot better with a lot less.)
Well. Onward and onward, then.
Made progress on my "kintsugi" (really, traditional lacquerware, as I don't use gold) repair work today. There's a bowl I made which got broken some years ago which motivated me to begin learning how to work with urushi in the first place. I'd been trying to repair other things as practice pieces leading up to repairing this bowl. I stalled out on those repairs, it seems; today I went ahead and just finished work on the bowl which had motivated me in the first place. It's curing right now, but maybe in a couple days I'll get a photo up.
My skill with lacquerware is not great. I don't have good control of the brush. However, I did manage to produce something which I think looks appropriate to this particular piece, even if my techniques were unorthodox and would not likely translate well to either kintsugi repair with gold dust or to professional practice.
The bowl has a mottled, brown look to it. I'd cut a small gash in it during throwing, which I filled in with red glaze. My intent had been for the bowl to come out black with silver flecks, like the night sky with a red streak in it. Instead it looks like earth, or flesh.
Kintsugi repair involves mixing lacquer with flour and fillers to cement fragments back together, then alternating some number of black pigmented and red pigmented lacquer layers, with the final red layer having gold dust sprinkled on and then buffed with a soft cloth, once it has cured to a sticky, somewhat putty-like consistency. I reckoned red seams would go well with the red streak on the bowl.
Because my control of the brush isn't great, I wound up painting over the seams and then wiping off the excess with paper towels. This left enough in the cracks to tint the seams red. Overall the effect is like magma, to my eye.
It took two to three hours of sanding down the urushi left from the previous step before I got to the point where I could actually apply the red urushi. Sanding is easily my least favorite part of kintsugi repair. But it gave me some time to watch a couple videos about how blind people engage with designing for 3D printing, and progamming. I want my OS, the one I'm building atop the seL4 microkernel over at careful.party, to be very friendly to blind users from the very beginning.
Not making much progress on anything today, it'd seem. Hopefully I can find some energy and motivation before the end of the day. I'm on meal planning duty this week.
I know the rough shape of what I need to do in seL4 to make progress, but this has not translated itself into code yet. I think I am feeling the effects of not getting enough sleep lately, combined with not really having time during the day where I can reliably focus on things without interruption.
Got to sleep in later than usual this morning. Got through the dishes that'd been piling up. Did some tidying and reorganizing in the office as well. Need to do some more. Today was a pretty good day, overall.
I feel relatively confident now about my ability to learn and build atop seL4. I feel like I can see the pieces I need to learn and work on next. Kinda got a bit discouraged by my lack of forward motion for a minute there.
Kid's sicker today than yesterday. I'm probably catching it, too. Feeling very tired today.
Work on Idris atop seL4 continues to be slow going for me. Making just a little progress each day.
I spent some time digging into Idris itself to figure out why the kernel crashes when I invoke show. Seems I'm just getting a page fault. I need to write a fault handler that displays fault information so I can better understand what's going on. I also need to learn how to work with seL4's virtual memory system calls.
Maybe I'd be better-served to complete the tutorial series in C before attempting it in Idris.
On the other hand, this does at least provide a little more context for the content of the tutorials. Probably not the most efficient route I could have taken, but probably also not a total waste.
Kid's sick. Didn't get a whole lot of sleep last night as a result, but we did at least sleep in later to make up for it somewhat.
I've been poking at the interactions between Idris and seL4. Found that calling show on a struct member returned from a function from the seL4 glue code I've been writing somehow violates something's capabilities. I don't know how yet; the Idris code should be running as the root task. It shouldn't be spawning threads or anything strange.
If I assign the return value of the function to a variable and then pass that in to another function defined in my glue code that just calls printf on it, all is well. Something about how the RefC backend in Idris is treating the return value is making seL4 unhappy.
Not sure of the best way to debug this, honestly. At least I can poke through the generated C code, I guess.
Stressed out yesterday and today. Unfocused. House is a mess and needs my attention. I have a bunch of projects going and I'm not making progress on any.
It'll get better again, but right now I feel like I'm wasting my time, just spinning my wheels.
Today is a cleaning day. It'll take a good chunk of time and energy, so I may not get anything else done.
Last night I began looking at what it'd take to make seL4's CMake system subordinate to my own preferred build system, as a way to escape having to shoehorn my code into CMake. I haven't interacted with CMake much in the past, and I am very much not enjoying having to do so now. I also will not be porting CMake, should I wind up developing something usable in the course of my seL4 explorations, so finding or inventing a simpler system is a bar I'll have to clear eventually anyway. (This is almost certainly too early in the process to be doing this work, but I also feel like CMake has become a huge energy and time drain for me. I need to cut it out of my process before it kills the project entirely.)
Working again on integrating seL4 and Idris 2. FFI in Idris is a little rougher than I'd expected, so it's going to be a bigger project than I'd been expecting, but it shouldn't be anywhere near insurmountable.
Really looking forward to having everything put together enough to start building something halfway practical.
Turned the server into an SSH tarpit today. The logs have been mostly quiet, but I figured it'd be prosocial to make life harder for anyone out attacking random servers.
Last day of family visiting. School starts soon for the kid. Likely to still be pretty busy for some time.
I think the server is ready. Just need to update the documentation and code of conduct a bit.
I've got the tilde at a comfortable minimum. No accommodations for asynchronous group communication yet, but I've got scripts that set everything up for a new user and allow for some basic configuration.
I'll sleep on what I've got and take another look around tomorrow before I declare anything finally ready.
Hopefully I sleep better tonight than I did last; felt like I spent the whole night only almost falling asleep and half-dreaming at most.
Looked at gitolite some more and it doesn't seem to integrate with the SSH authentication mechanism at all. This is a very useful feature for many people, it would seem, but it causes problems for the way I have things set up. Going to keep git hosting limited to git-over-SSH and git-over-HTTP.
I've messed around long enough with the infrastructure for this tilde which nobody but myself may actually end up using anyway. I still don't have a good method for asynchronous group discussions; I could use BBJ, but it seems to be entirely TUI-based. It'd be best if there were a good protocol with multiple types of clients for that sort of thing. NNTP seems close, but I'm not sure it's enough.
Gonna spend some time today updating the "new user" script, styling cgit, and updating the handbook. Then I think it'll be about time to go back to working on the Idris 2 on seL4 project, with the door left open to anyone who wants to grab a shell account and come take a peek.
Tested out stagit and regular ordinary git repository creation and management via SSH today. Learned by doing so that stagit creates a single file listing page with the whole project's directory tree flattened out. That's not going to work very well long-term, or even medium-term, so I'm going to try to get cgit configured next.
Looking at the way cgit "wants" to be set up, it seems like it'd dovetail well with gitolite. I've been back and forth on using gitolite, since I don't foresee needing the kind of fine-grained permissions it allows for any time soon and since every member gets shell access anyway. I don't see much advantage and it does add more complexity. Still, if I'm already doing most of what gitolite "wants" in order to satisfy cgit's requirements, maybe it'd be worth a little extra complexity to bring the experience closer to what people coming from every other git forge might expect.