All too often mobile-first ends up meaning desktop-second. Too much convergent software (especially Web-based software) is designed for mobile devices and then as an afterthought they make some of the popup menus turn into toolbars or something. Desktop systems have some fundamental differences; menu bars let you give the user lots of options in a consistent way, and there are many cases where using multiple windows makes navigation much easier.| Athena's blog
A month is a standard month or a calendar month. A standard month is 30 standard days. A standard day is 86,400 SI seconds. A calendar month is any month in any year as defined by the UTC time system, and consists of between 28 and 31 calendar days. A calendar day is either 86,399, 86,400, or 86,401 seconds, according to whether a leap second is defined to occur on that day in the UTC time system.| www.alm.website
The phrase solid-state drive is very weird. A drive is a piece of machinery that makes something move, and a solid-state device by definition has no moving parts. And it's also weird to call them disks because, well, there's not a circular thing in there?| www.alm.website
There's manual memory management (malloc()), and then there's manual memory management (sbrk()).| Athena's blog
I've made many false promises of blog posts. The two I posted today were both ones I said I intended to write, and got an enthusiastic reply about, and then didn't actually write. But now I finally have.| Athena's blog
Here's a simple acid test for your Web site: Open your network inspector, find the throttling option, and set it to the slowest possible speed. Clear your cache, then browse around your site.| Athena's blog
Excited to see the release of RFC 9787 and RFC 9788 which, if widely adopted, could lead to cryptographically-protected email becoming useful for the first time.| Athena's blog
The MNT Reform Next looks very nice but... I already have a laptop. The most environmentally-friendly computer is the one you already own. And even if I needed a replacement, buying a new computer creates demand for manufacturing of new computers, when I could get a used one instead. Oh, well.| Athena's blog
I'm data-modeling a directory in SQLite as a sort of experiment, and I've started to develop a habit of making tiny little one-to-many without rowid tables for properties like phone numbers and email addresses. I sort of get why LDAP is the way it is a little more now. Not remotely all the way, of course.| Athena's blog
I've started writing SQL with lowercase keywords and it seems largely fine this way. How do people feel about this?| Athena's blog
Every time I add a full name field to a table I stop, go read Falsehoods Programmers Believe About Names, and then seriously consider factoring name into its own table.| Athena's blog
I should really figure out how to customize my locale to get en-US but with metric measurements without having to pretend to be Swedish for measurement purposes only.| Athena's blog
I'm not sure but I think the problem with Akonadi earlier today was locale-related, somehow. The new version must be more sensitive to locale issues. Qt applications have spewed warnings about the locale for some time but only today did I realize that the locale was incorrectly set using utf8 instead of utf-8. I fixed that and installed the new packages again and this time it all seems to be working right.| Athena's blog
Reverted to yesterday's rootfs snapshot (with a minor snafu due to mismatching kernel and modules) and I guess I'm just waiting for them to fix it? It seems like this would be a hard issue to miss.| www.alm.website
One of my main reasons for rejecting Rust libraries has become questionable ownership models. If you talk about an object that contains all the other things and I pass around handles to the things inside of it instead of owning the things myself and passing around borrowed references I am turning around and running the other way. (Because that means you have just reinvented unchecked pointers, is this not obvious?)| Athena's blog
I was just thinking about the zlib format and remembered Chris Ferdinandi's post about gzip's inefficiency on small files, which led me to wonder how much lower the floor of useful sizes to compress would be if the Web had used Content-Encoding: zlib instead of Content-Encoding: gzip as standard.| Athena's blog
Apparently the original IBM Personal Computer design team considered the 68000 as CPU but rejected it over concerns it might not be production-ready soon enough. What a world that would have been.| Athena's blog
As a pedant, I love when a fellow pedant says something like, Technically spiders aren't bugs, they're arachnids, because then I get to come back with something like, They said bug, not insect, a bug is any small terrestrial arthropod, and annoy everyone even more.| Athena's blog
Apparently on RISC-V a word is 32 bits, even on 64-bit machines.| Athena's blog
Huh, apparently cPanel and WHM are still a thing.| Athena's blog
I'm gluing notify-send to some of my little scripts that otherwise run silently. Hopefully it will make me spend less brain-power wondering did it actually finish.| www.alm.website
Some Captain Planet villain has convinced this razor manufacturer to sell their detachable razor cartridges attached to handles in four-packs, exclusively.| www.alm.website
You say you're an engineer? Okay, here's a constraint for you: Your initialization budget is 200 ms. Make it work.| Athena's blog
Talk to me about how advanced computers have gotten when you can make one that goes from cold off to desktop in <1 sec.| Athena's blog
Singletons are just global variables. If using a global variable is a bad idea using a singleton for the same thing is almost certainly also a bad idea. Is this not obvious?| Athena's blog
It would be nice if kdialog had the --forms feature zenity has.| Athena's blog
If your program is not doing anything, your CPU usage should be 0. This doesn't seem like a hard concept.| Athena's blog
This is a fifth test (sorry) of my POSSE note stuff, since I realized I could use the GUI text editor to write the note text.| Athena's blog
| Athena's blog
This is the third and hopefully final test of my POSSE cross-posting script for notes.| Athena's blog
This is a second test of my new POSSE wrapper script for notes posted to my site. It uses my existing scripts/note and curl to cross-post to my fedi account.| Athena's blog
The setup is just a simple shell script wrapped around my existing scripts/note that uses curl to make a Mastodon API request.| www.alm.website
I'm working on a Web project and somehow I think I'm going to mostly manage the standard of usable in Lynx. At the very least I think I'll manage usable with CSS off.| Athena's blog
I've recently learned to love git rebase and git commit --fixup.| Athena's blog
Rust programmers who publish library crates: When I see a version number less than 1.0.0, that reads to me as my API is unstable and will probably break you at some point. If your API is stable, please use version numbers that indicate that. 1.0.0 does not have to be perfect or complete, just stable in its API.| www.alm.website
Matthew Butterick argues that underlining is a typewriter habit but isn't it more of a handwriting habit? You're not going to write in italics or bold-face, the easiest way to emphasize handwritten text is to underline it, and I'd guess that's where the typewriter convention came from. Using a highlighter pen or another color works too but then you need more than one pen.| www.alm.website
For software developers foundational models and LLMs have become helpful tools. But they are far from making us 10x more productive. In this essay we will explore why AI seems to have reached a productivity cap for devs, and what needs to change to break through that ceiling.| Luc van Donkersgoed's Notes
Re:Invent is the ultimate week for The AWS News Feed. I’m proud to share how my platform helped thousands of professionals find, organize, and filter the news.| Luc van Donkersgoed's Notes
The computer and I are not friends. The computer, being incapable of both suffering and joy, is merely a minion.| Athena's blog
So on the one hand, I find it really annoying that science fiction and fantasy are often a single category in book listings, but also I do sort of understand how they're distinctly different from most other genres?| www.alm.website
I have finally managed to write a Star Trek fanfic that is not Weird. Who would like to see Seven of Nine receive pants.| Athena's blog
For reasons I have an iPhone, and because of Apple sabotage and my freeloading I use Apple Music on it. I've always known this is a mistake but it was highlighted recently.| Athena's blog
You may have thought that the EXHL project was dead since I didn't touch it for eight months or so. It is alive though; today, I've been fixing bugs and getting stuff that's been sitting in my working tree committed. Draft 2 is probably a bit off still, but I think I know where it's going.| Athena's blog
wanna hear something cursed| www.alm.website
Well, I wrote another piece of Fire Emblem Awakening fanfiction. This one is not really readable for non-FEA fans.| Athena's blog
I wrote some Fire Emblem Awakening fanfiction. Check it out if girl accidentally turns into apocalypse dragon sounds cool, I guess.| Athena's blog
You know, it's not actually all that hard to write good code. You just have to put in the effort and not skip over the tedious bits. Where are we as an industry that we can't get people to consistently do that?| Athena's blog
I'm sorry for being a traitor fish supporters but I spent a long time with fish and I found myself writing /bin/sh scripts instead of fish functions whenever I wanted to automate something. So now I'm a zsh user.| Athena's blog
Boring is good. Exciting is bad. Clever is worse.| Athena's blog
Seirdy's latest article, MDN’s AI Help and lucid lies, does a pretty good job of explaining the problems you get into when you let a statistical language model stand in for a technical expert. (Please don't do this.) It also is willing to use the word lie, instead of using softer language like so much AI literature does.| Athena's blog
Test note, please ignore. :)| Athena's blog
I'm thinking I should figure out how to make a separate feed on my blog for shitposts that aren't included in the main feed so I don't have to put them on my fediverse account.| Athena's blog
Anton Zhiyanov's article about being a stupid programmer puts a point I've heard before in a less concise, and thus more deeply comprehensible, form. (Very meta.) The point is:| Athena's blog
Y'know, literacy is underrated. The power to take your thoughts, make them into a durable, easily sharable form, and then on top of that to get other people's thoughts even if they're far away in space or time, even if it's a big, complex idea, is really handy, isn't it? The accessibility of ideas has to be a good thing overall even if it also enables shitty behavior.| Athena's blog
Better performance usually goes hand-in-hand with lower energy usage. Even if your software isn't noticeably slow, it might still be able to be kinder to batteries.| Athena's blog
I don't have anything to say about this post by Seirdy about surviving software forge downtime except that I agree with it.| Athena's blog
Giving serious consideration to using HERO System, a generic table-top role-playing game… engine, I guess, as a writing tool for one of my ongoing stories. It's a very powerful toolkit for modeling characters' abilities, measuring relative power levels, and tracking combats, although I'll need to be careful not to be too strict with it. As you should playing a table-top RPG in general, really, but still, it's an easy pitfall.| Athena's blog
Why yes, I do review at least briefly every published RFC, and yes, I will continue to curate them. You can too: The RFC Editor has an RSS feed for all new RFCs.| Athena's blog
Recently published by the RFC Editor: Mark Nottingham's RFC 9518: Centralization, Decentralization, and Internet Standards, an Independent Submission-stream essay (not subject to the full IETF process) which does a good job of making many of the key points about centralization of Internet services, its avoidance, and the pitfalls of both, especially focusing on the social factors that render technical efforts alone insufficient. I feel that it summarizes a large part of the debate effectively...| Athena's blog
Seirdy's proposal for an HTML spoiler element seems to me like a good idea, but there are some caveats. I commented on a few things when offered a draft to review, several of which were addressed, but some of my points remain, as they're more debatable. So:| Athena's blog
I can confirm that Seirdy's page formatting and Webmention sending are fully interoperable with my Webmention receiving and processing (with no manual fixups required). I can't confirm for certain that the reverse is true, as I know Seirdy manually imports replies so it's possible the one I'm thinking of was done by hand.| Athena's blog
Fundamentally, most software really only has use for a relatively small number of general-purpose data formats. Sure, there's media (audio, video, images), but for most applications there's a library that does that and all you really have to care about is moving around the blobs of bytes. For general-purpose formats, I'd say you could get away with just SQLite and XML, but you probably want to add JSON to the mix for reduced pain and you almost certainly want a wire protocol for IPC and netwo...| Athena's blog
I'm starting on EXHL draft 1, so any suggestions or comments that could implicate a major design change would be best made soon.| Athena's blog
EXHL RfCR 3 is published. As always it's available at its canonical location. Here is a diff between rfcr-2 and rfcr-3, and the tag message for rfcr-3, which lists the changes at a high level.| Athena's blog
Everyone who works on networks, and especially on network standards, should read RFC 8890: The Internet is for End Users. And, really, everyone who works on any technical subject.| Athena's blog
The Verge is talking about POSSE now. They even linked to the IndieWeb wiki page. I've seen a couple of articles like this recently; hopefully it means owning your own content might be on the rise.| Athena's blog
Home network upgraded with all Cat6, speeds improved somewhat.| Athena's blog
Should Webmention senders respect robots.txt? I implemented it, but then I found at least one place I've Webmentioned blocks all bots yet has Webmention discovery. Is this a problem on their side or mine?| Athena's blog
I read the title of Fediverse defederation considerations as Fediverse defenestration considerations and that still works actually.| Athena's blog
Is it dystatic if it's a dynamic program incrementally updating a conventional on-disk document root served by a dedicated Web server?| Athena's blog
Shout out to Seirdy for updating my outdated knowledge about Fedora. Knowing when I'm wrong is good and I appreciate people correcting me in the long term, although unfortunately my brain will sometimes not let me enjoy learning a new thing in the moment.| Athena's blog
The lifecycle of the technically inclined Linux user:| Athena's blog
Replying to Johanna| Athena's blog