Sep 20, 2025
Dust Mite chills with some pie crust
I had my flu & pneumonia vaccines on Tuesday, then the latest round of Covid vaccine on Thursday, and they all caught up to my on Thursday night, leaving me laid out all today.
I finally got enough energy to make up some pie crust at about 11:30, and Dust Mite is standing guard while it chills so I can make a(nother) peach pie tomorrow.
—orc Sat Sep 20 00:01:02 2025
Sep 18, 2025
A short P&W freight led by one of their GP38s – running long hood first – comes screaming by me at 12th & just south of Clinton. This train must have been going about 40mph (running ahead of a southbound Cascades, maybe?) and after I took this picture I had to clamp down on my rando bag to keep everything from being sucked out by the slipstream.
(I was outside of the loading gauge, but in all honesty not far enough. I should have been north of that spraypainted line on the street, but I am old and foolish now and stopped in my tracks to take pictures when I saw the headlight pop into sight at the curve west of the ORHF’s shop/museum facility.)
—orc Thu Sep 18 22:36:44 2025
Sep 17, 2025
One of three that I saw when I was going out to St Vincents & the Beaverton branch of the portland clinic today.
(After several days of climbing the eastern side of the West Hills, dying repeatedly on the climb, I decided that since I was going to St Vincents as well as TPC I’d ride up to Lloyd Center, take the trolley under the West Hills, and proceed from there. Less riding (27 miles today) but more trolleys.)
—orc Wed Sep 17 22:01:42 2025
Sep 15, 2025
Not gonna mention the railroad name, but it’s currently the most fascist one in the USA
—orc Mon Sep 15 23:33:21 2025
Sep 12, 2025
The day got away from me, so here are at midnight with the traditional mite belly up to a pie :-)
—orc Fri Sep 12 23:56:13 2025
Sep 08, 2025
Adding extended attributes and percentage widths & heights to image links exposed a delightful Discount bug that’s been there since I put amalloc in 17 years ago.
The problem was that the amalloc()
function (#defined to just malloc()
in amalloc.h
) was using the libc calloc()
to grab memory, and calloc()
helpfully by design initializes the memory to nulls, which just happens to be what I need to null terminate strings by default.
This was “great” for me, and I probably had a reason for doing it, but there exist malloc implementations (which are exposed if you built discount w/o amalloc) that don’t initialize the memory unless you ask for it, and which often aggressively initialize that memory to something other than null.
So I changed amalloc to initialize the new buffer to 0x8f
s and boy did the discount test suite have things to say about this!
It’s allegedly fixed now (I try to explicitly null-terminate Cstrings and to explicitly use calloc()
when I need a buffer for structures) and it out there as Discount 3.0.1.2.
I’m sure I’ll find some other places where I was making assumptions about amalloc, but the obvious ci-killing places seem to be gone for now.
—orc Mon Sep 8 11:33:50 2025
Sep 07, 2025
At the old National Guard artillery range (now the Sunrise Corridor)
—orc Sun Sep 7 17:46:44 2025
After releasing Discount 3.0.1 it didn’t take more than 3 days for someone to discover that I’d forgotten to null terminate three strings, and their cc + libc ended up being far less forgiving of that than the various cc + libc collabos I had were.
So Discount is now at version 3.0.1.1, which is identical to 3.0.1 except for three new null terminations.
Sigh.
—orc Sun Sep 7 16:31:34 2025
Sep 05, 2025
Taking Dust Mite’s blood pressure (0/0)
—orc Fri Sep 5 23:55:25 2025
Sep 04, 2025
I was going up to Legacy for a pre-Big Yeet consultation when I was stopped by a northbound train from Milwaukie.
—orc Thu Sep 4 23:59:12 2025
Discount has been rolled up to version 3.0.1.2, and, whew, where do I begin?
- I ran out of slots in the original bitmap flags structure, so I dumped it and replaced it with a new flag blob accessed through a flag pointer. This broke the entire published interface and required the update to version 3 (this is why it took me over 3 years to implement it; I needed to test the code to within an inch of it’s life and between that and transitioning it just ate up time like you wouldn’t believe!)
- Because I changed the
mkd_flag_t
structure and replaced it with a blob, the old flags are now a pointer and using the mkd_flag_isset()
, mkd_set_flag()
, and mkd_clr_flag()
functions I introduced during the end of the run for version 2.x.x is now mandatory unless you’re fond of core dumps.
- The way I’d originally implemented HTML5 (if that’s even a thing anymore?) support was to have a global structure that I allocated once and then you were stuck with it forever (and had to deallocate the structure whenever you stopped using the library otherwise it would leak memory), so I fixed that for v3 by moving the html5 details inside the
MMIOT
(activated by setting the flag MKD_HTML5
) so it will automatically be deallocated when you are done with a document without affecting other MMIOT
s.
- Github user mwfont-csl suggested (and provided a patch – which, alas, I couldn’t use because github doesn’t seem to have a way to export patches by themselves?) adding support for fractional sizes on images as well as pixels sizes (so, 40%×40% instead of 40x40 pixesl), which I worked into the code using mwfong-csl’s original code as a reference.
- mwfong-csl also provided a patch to do extended attributes on links and image links, via putting those attributes into a
{...}
bracketed block immediately after the link. As before, I couldn’t figure out a way to export just a patch from github, so I worked it into the code using their original code as a reference.
- Annoyingly, netbsd11, broke the implementation of
isspace()
by putting in a version that dumped core if the input character was outside the ranges of EOF or 0x00..0xff (I deliberately use the word broken because it broke the principle of least surprise, which either nobody cares about or is trying maliciously to stop people from using C anymore.) Fortunately could patch around this misbehavior by detecting it in configure.sh
and telling the compiler (clang and gcc; dunno about other compilers) to make the default character unsigned.
- There are also a few of memory leaks remaining, and I fixed a couple of them before this release.
As usual, don’t be surprised if running this code makes your computer phase into another dimension, or, less excitingly, melt down; it’s been working for me™ but that’s no guarantee of success elsewhere. Do note that you need to recompile everything from scratch to use the new code, because I’ve kept the old interface around (but not actually accessable yet because I didn’t manage to set up compatibility flags correctly), internally named the new published interface with a v3 prefix, then hid it from the user by #define
ing all the v3mdk… functions to mkd…
And don’t forget to check all of your code that uses flags; since flags are now a blob, you need to allocate the flag structure (with mkd_flags()
) before attempting to use it, and you must never try to do bit manipulation on them because they are now a pointer to an black box!
But anyway, New Code™ ready for your downloading enjoyment – mirrored on github as well; download it today for an exciting tomorrow! :-)
EDIT: I forgot to null-terminate three strings, which my ci network didn’t catch :-( So instead of 3.0.1 it’s now 3.0.1.1 !
SECOND EDIT: My paranoid malloc code was returning buffers initialized to nulls, which hid even more strings I’d not null-terminated (as well as two structure allocations), so I had to fix that and make 3.0.1.1 into 3.0.1.2
—orc Thu Sep 4 01:54:44 2025
Sep 01, 2025
A northbound train made up of two SD-600s in the new blue with a traction orange stripe paint scheme crosses the viaduct south of downtown Milwaukie late this afternoon.
—orc Mon Sep 1 01:58:05 2025
Aug 29, 2025
Aug 22, 2025
Watching the clock
—orc Fri Aug 22 23:58:20 2025
Aug 21, 2025
Maryhill Art Museum appears to have a turkey in residence. So I had to take her picture.
—orc Thu Aug 21 23:56:19 2025
Aug 15, 2025
The only picture of dust mite I managed to get after a long time fighting with the camera & upload process. This is pie #14 – another cherry pie from an abnormally long pie cherry season. Not that I’m going to complain, oh no, but the freezer is starting to get filled with frozen pie cherries :-)
—orc Fri Aug 15 23:58:12 2025
Aug 11, 2025
Pie #11 is a crustless shepherd’s pie with mushrooms, soybeans, and (fresh farmer’s market) carrots. Crusts are delicious, but they triple the calories in the pie and it’s all fat and starches, which have been helping me maintain my pleasing pear shape, which I don’t want because I’ve outgrown too many of my skirts (I, selfishly, don’t want a muffin top or having the wasteband of the skirt digging into my waist.)
Fortunately, a crustless pie is perfectly cromulent, and if I lose my mind and eat the entire pie it’s only about 900 kcal.
This makes a really simple recipe; dump 3 cups of chopped mushrooms into a greased (w/ spray oil) pan, layer with 12 oz of soybeans, then a cup or so of thinly sliced carrots, and top with mashed potatos (I use Bob’s potato flakes to make them; 2 2/3 cup of potato flakes, 3 cups of water, 1 cup of oatmilk, and a teaspoon of salt – going the potato flake route means I can pour the potatoes onto the pie before they fully congeal) and then bake at 350 for 70 minutes.
—orc Mon Aug 11 21:36:23 2025
Pie #9 was a shepherd’s pie, and it was half gone before pie #10 (a cherry/peach pie) came out of the oven, but pie #10 was gone before pie #9 was.
—orc Mon Aug 11 01:12:10 2025
Aug 08, 2025
Dust Mite came with us when we went to Maryhill this week. And, yes, it was pretty windy there, particularly around Sam Hill’s formstonehenge, which is an absolutely ridiculous brutalist replica of the stonehenge on Terf Island.
—orc Fri Aug 8 20:34:53 2025
Aug 03, 2025
Another shepherd’s pie, this one with mushrooms, peas, and carrots instead of vegan meat & peas. The crust is pretty hard (I made a ball of crust last monday, didn’t get around to cooking with it until wednesday, and then we were first down at Silver Falls, then there was a birthday pie & the mekons) but still tasty, and man the filling is so much tastier than the vegan meat I’d used in the last one.
—orc Sun Aug 3 23:14:00 2025
Aug 01, 2025
Dust Mite is coming with us to the
Mekons concert tonight.
—orc Fri Aug 1 19:46:16 2025
—30—