| pronouns | he/they |
| bluesky | https://bsky.app/profile/draconacht.dev |
| github | https://github.com/draconacht |
| pronouns | he/they |
| bluesky | https://bsky.app/profile/draconacht.dev |
| github | https://github.com/draconacht |
My turn to pen a blog about my discomfort with AI-generated code. I feel this is a measured take, and addresses something I haven't commonly seen mentioned elsewhere. And it helped me process a bunch. đ
"On Making"
It is astonishing how many companies have decided almost all of their data work should be done by writing shit-tons of YAML, sometimes with bits of code jammed into random strings
And by astonishing I mean I'm going to be on the news the next time I see it
the replacement of waterfall with agile has left enterprise engineering with a java-shaped hole in its heart
/hit publish/
it was a warm September night. it had been rainy in the afternoon, but had stopped by the evening. Anish sat by the river alone. the parades had all ended, and the paraders had all left hours ago. there wouldnât be any more for a few weeks. absent the drums and the fanfare, it felt even quieter.\nthe moon peeked and hid behind the clouds. he stared absently at the Ganesh idols. they kept swimming through the current, their long supply courtesy of the cityfolk upstream. they were accompanied by garlands, loose leaves, and other prayerstuffs. he wondered what exactly he was feeling in the moment. was it a religious melancholy â the exhaustion of a festival well celebrated? it was that for sure, but there was also something else.\n
apparently hugo comes with an RSS feed by default and i never realised it.
https://blog.draconacht.dev/index.xml
anyway, new post!
https://blog.draconacht.dev/posts/2026/the_malaise_over_delhi/
Reposting a question for Ed Zitron, I'll forward responses. He asked on Bluesky and will get sub-Mastodon-tier answers:
"This is a serious question and I would be delighted if I only hear great things but, software engineers: both before and after LLMs, how often in your professional lives have you run into software engineers that seem completely useless or lacking in basic knowledge? I hope the answer is rarely"
so i wanted to learn some category theory.
opened up a textbook on one side, agda on the other, and started trying to formalize the concepts and proofs
but i hit a bug in how agdaâs pretty printer behaves. one i couldnât easily work around
so i decided iâll finally start contributing to agda and try to fix it myself
started poking around, accidentally figured out a different bug that I previously thought wasnât worth looking into
but okay, gonna keep digging into the bug that actually led me down this path.
soon i found myself wanting to take a look at how agdaâs AST looks in practice in one specific case, only to find that there isnât really a way to do that, because haskellâs Show prints way too much information, all in one line, filling the entire terminal screen with mostly irrelevant info
so i did the natural thing and started writing a pretty printer for this purpose
eventually i got annoyed that each time i compiled agda, it would spend a good 30 seconds doing some kind of build system bookkeeping
like, i measured. a build with the entire cache fresh already would take 30 fucking seconds
as 30 seconds is enough time for me to start scrolling through fedi, i decided i need to look into this
so i started poking around the surprisingly complex makefile, learning more than i ever wanted to know about make
finally found the culprit: in a maze of includes, recursive make invocations and variable expansion, various variations of stack âdest-dir would get called like. way too many times during the build. and each of those would take 750ms to initialize, print the path to the build directory and exit
sigh, okay. i guess iâll need to optimize the makefile a bit
managed to get it down to 10s for a do-nothing build. scoured the internet looking for a feature of make that would be useful to bring it down further
didnât find it. as far as i can tell, âexpand lazily, but then cache itâ is not a behavior thatâs available in gnu make, despite the absolute abundance of features they added on top of what posix specifies
now, thankfully i know better than to attempt upstreaming a feature into gnu make. and anyway, in this case the good folks at stack overflow gave me a hint on what absolute crimes i could commit in that makefile to make it go faster
but while i was contemplating my plan, i wondered: why does stack take 750ms to print a path in the first place?
after execsnoop and strace didnât give me any hints, i decided to try using the linux profiler âperfâ, which iâm sure you know is a master class in UX design
(it is not)
so i open the âperf reportâ and see a bunch of addresses for which i donât have debuginfo. suspiciously small addresses too, like 0x5ddc
i start to notice the feeling of despair creeping up on me, but decide to persevere for at least a little bit more
i choose the hottest sample on the report and select âAnnotate 00âŚ005ddcâ
now, i want you to consider that what i saw next was enough to get me to write out this entire rant. take a moment to internalize that.
what batshit insane assembly did i see? what could possibly have been this upsetting?
âPress âhâ for help on key bindingsâ, it said. followed immediately by âerf: Segmentation faultâ, thatâs right, erf, without the p.
then came a backtrace. one that listed the function name for each stack frame, as well as the source code file in which it were defined.
but the line number of all these entries is fucking 0 for some reason, as if to mock me
like, itâs not like i cared at this point where exactly the segfault happened, because even i do have my limits
but the computer apparently decided to find one more place in which it could subtly signal that thereâs a nugget of insanity lurking within, to really get that eye twitchinâ
and all i wanted was to learn some category theory