š¾ Archived View for gemini.circumlunar.space āŗ users āŗ adiabatic āŗ scrawlspace āŗ 2024 captured on 2024-03-21 at 15:25:24. Gemini links have been rewritten to link to archived content
ā¬ ļø Previous capture (2024-02-05)
ā”ļø Next capture (2024-05-10)
-=-=-=-=-=-=-
This is scrawlspace. I scrawl in this space. Do not expect coherence or permanence here.
There is a description of orthogonal persistence out there. You should read the whole thing. However, we are more interested in the coda at the end:
āOrthogonal Persistence, the Modelā: āCoda: Friendly vs Unfriendly Persistenceā
You may recognize its author, FranƧois-RenĆ© Rideau, as āthe Houyhnhnm Computing guyā. You may also recognize him as āthe guy who takes Urbit seriously, but takes issue with its persistence modelā. You may also recognize his X handle of @ngnghm.
Back to the coda. He writes:
In todayās world (2024), all your data persistsā¦ on your enemiesā servers. The big corporations and bureaucracies that try to manipulate you know everything about you, and run AIs to analyze your behavior to manipulate you even more into buying their stuff and obeying their orders. They use Manual Persistence, but they can afford thousands of database experts and system administrators to make it work at scale, so as to spy on hundreds of millions of human cattle.
I like the cut of his jib, but he hasnāt sold me on it yet. At least now, I can predict what will get persisted to disk depending on what I do. While text editors that do not preemptively save anything to The Cloudā¢ these days are rare, one can open up vi in a window and type to his heartās content knowing that nothing will be committed anywhere until he types :w and then a filename.
Meanwhile, Rideau somehow does not see a system where every interaction with it is permanent and indelible as a liability. Being unable to write so much as āfuck fuck fuck fuck fuck fuckā without it persisting forever on disk makes me want to get a large notepad and a cross-cutting shredder ā and notepads are much less effective bicycles for the mind than computers are.
Maybe the solution is as simple as having all document-based applications (text editors, spreadsheets, calculators) have Private Mode like browsers do now, but Iām not sold yet.
Background reading:
Solderpunk, āAnnouncing OFFLFIRSOCH 2024ā
Iām not about to write a program in a month, but I have collected a bunch of programs that, by and large, work offline:
I think thereās at least three math things in there already, and I havenāt gotten to the bottom of the page yet.
My go-to for unit-aware math is Soulver, though:
Soulver, the notepad calculator
If you have programming chops, you may want to consider improving an existing program before making one of your own.
I stumbled over a thing recently:
jamesg.blog, ā100 things you can do on your personal websiteā
Some of these things look like fun things, or at least interesting things. On the other hand, many of them seem like nothing less than chores:
* Add an RSS feed so people can subscribe to your blog.
* Add a print stylesheet.
* Style code snippets in posts on your blog with a syntax highlighter (i.e. Prism.js).
An RSS feed is actually useful to some fraction of your audience, but writing print-specific styles seems like a thankless chore.
Yes, Iām tired. I used to have the energy and interest to do stuff like this, but not anymore.
I will, however, add one item to the list:
Nothing quite communicates āthis thing used to be here, and now itās notā like a custom 410 Gone page. A 404 Not Found page doesnāt convey intentionality like 410 Gone does.
(The Gemini equivalent for 410 Gone is 52, in case you were wondering.)
Prior reading:
JeanG3nie, āWhen a walled garden becomes a preserveā
Money graf:
At this point, Apple's refusal to allow another browser engine on it's platforms might be the only thing keeping Chrome from being able to fully dictate the direction of the web.
I certainly say this, but I prefer Apple things to Google things. Iām not a neutral third-party.
John Gruber has a look into what changes under the Digital Markets Act over in the EU:
John Gruber, āAppleās Plans for the DMA in the European Unionā
The relevant bit:
One point of confusion is that some aspects of Appleās proposed DMA compliance apply to the App Store across all platforms (iPhone, iPad, Mac, TV, Watch, and soon, Vision), but other aspects are specific to the iOS platformāāāwhich is to say, only the iPhone.
And then thereās Appleās relevant page:
Apple, āUsing alternative browser engines in the European Unionā
iOS 17.4 introduces new capabilities that let iOS apps use alternative browser engines ā browser engines other than WebKit ā for dedicated browser apps and apps providing in-app browsing experiences in the EU.
Two things of note:
iOS
(as opposed to iOS and iPadOS)
in the EU
So unless youāre ignoring iPhone users outside the EU, you, as a website developer, canāt just tell your iPhone-using visitors to download Chrome-with-Blink-in-it and come back. Even if youāll happily do the work, people up the chain of command who are more business-minded wonāt have a net financial incentive to say ālet the Apple people download Chrome and then they can visit our siteā. Youāll have to put in the time to make the site work right in Safari.
This state of affairs largely preserves Appleās ability to defend its ecosystem and users from Googleās snooping. After all, if you have to use Googleās browser to do almost anything on the web other than browsing a handful of indie sites, thatās a clear-cut monopoly and makes real consumer choice all but impossible. Anti-consumer-choice monopolies, of course, are the kind of thing governments say theyāre against, at least when theyāre in the private sector.
I first encountered the phrase ālet him cookā on a Twitch stream where the streamer speedruns The Legend of Zelda: Breath of the Wild. Generally, when one cooks food in this game during a speedrun, itās to make up large batches of food, and you canāt un-make an omelet, so thereāll be a chorus of LETHIMCOOK in chat to get other people to, at least temporarily, not try to get the streamerās attention for a bit.
My second encounter with the phrase, or something like it, was close, but a bit less literal.
Linkus7 on YouTube ā Can you beat every dungeon without the paraglider in Tears of the Kingdom?
If you avoided getting the paraglider, then there more than a few places where your options to continue on are basically one of these two:
The second of these options is way less entertaining, so a guy whose day job is āentertainerā who does so by playing games naturally tries for the first option.
Itās in this context that he says ālet me cookā ā but here, heās not asking Twitch chat to not try and get his attention. Heās asking them to hold their horses while he tries to work out a solution to falling down a 2,000-meter hole without dying from the sudden stop at the end.
ā
ā¦and then I saw ālet X cookā on X, coming from the HTMX account:
@htmx_org on stored procedures driving UI
i don't like the idea of stored procedures driving UI mainly due to the mechanics of updating them (version control, etc) but i'm willing to let them cook because eliminating the app server/db hop is one of the last big, obvious perf wins in most web apps...
(This is in the context of a hypothetical āReact Database Componentsā. If you donāt want to click through, imagine a stored procedure in your database that returns a snippet of JSX, and inside that is a list of todo items all wrapped in li elements, and the bundle is wrapped in a ul element.)
Still, thereās the phrase
let them cook
If you find yourself looking for a way to reserve judgement on an idea until implementations of the idea get better fleshed out and/or better-spaded so the upsides and downsides are better understood, you could do worse than to haul out this turn of phrase.
Background information:
I played Diablo 3 for a bit.
One of the things that I noticed was that once I got to endgame content, I could mostly shut my brain off while I was killing demons. However, I had to pause podcasts and give my full attention to what I was doing when I was selling all the loot that I had accumulated, because ādo I keep this or do I sell thisā was something that took all of my decisionmaking faculties and wasnāt something I could just outsource to my brain stem.
I thought about this for a bit when pondering the process of cooking in The Legend of Zelda: Breath of the Wild and Tears of the Kingdom. If you want a particular effect, or a particular level of an effect, you canāt just shut your brain off ā oftentimes you have to look up specific ingredients and their potencies and maybe use an online calculator to find out if you can make something that will give you a level-3 buff for as long as you think youāll need it for.
Niklaus Wirth passed recently, and so his āA Plea for Lean Softwareā has been making the rounds:
Niklaus Wirth ā A Plea for Lean Software (February 1995)
I actually read it in full. Itās not long. A bunch of people have posted excerpts they agree with. He ends with a list of lessons learned from Oberon. These are mostly sensible, although #5 is a bit suspect. My takes:
ā
Howeverā¦
Wirth is writing this at the beginning of 1995. Windows 95 was to come out that summer, and Windows 3.1 is already out there for normal people, and Windows NT 3.5 has been out for a few months already. Oberon, his pride and joy, was written between 1986 and 1989, back when Riker was clean-shaven and Windows hadnāt hit 3.0 yet. Windows didnāt get popular until Windows 3.0.
Back to Wirth. The speed of development of Oberon is impressive:
Designed and implementedāfrom scratchāby two people within three years, Oberon has been since been ported to several commercially available workstations and has found many enthusiastic users, particularly since it is freely available.
Oberon, to its (minor) credit, appears to have both color and graphics, although itās not obvious from the screenshot that any kind of graphical paint program is possible in it. Presumably the giant squiggly can be generated with text, like SVG or POV-Ray. This will be relevant shortly.
Where Wirth seems to go off the rails is near the beginning of his article. There, he lays out his idea of what are ā in 1995 ā mere nice-to-haves:
Uncontrolled software growth has also been accepted because customers have trouble distinguishing between essential features and those that are just ānice to haveā. Examples of the latter class: those arbitrarily overlapping windows suggested by the uncritically but widely adopted desktop metaphor; and fancy icons decorating the screen display, such as antique mailboxes and garbage cans that are further enhanced by the visible movement of selected items toward their ultimate destination. These details are cute but not essential, and they have hidden cost.
In modern terms:
Later, he continues:
increased complexity results in large part from our recent penchant for friendly user interaction. Iāve already mentioned windows and icons; color, gray-scales, shadows, pop-ups, pictures, and all kinds of gadgets can easily be added.
Modernizing:
ā
Personally, Iād like to have seen a debate between Niklaus Wirth and, say, Jakob Nielsen of the Nielsen Norman Group. Both men have an anti-frippery bent, but the usability proponent is going to have a much broader idea of what work needs to be done to make systems usable for normal people who arenāt computer experts and also people who have one or more computing-relevant body parts that donāt work right, like eyes or arms.
While text-to-speech systems seem to be mostly a solved problem on even wrist-worn consumer hardware, speech-to-text seems to be a problem that will happily consume whatever computing resources you can throw at it ā up to and including machine-learning models that will take up like half your RAM on a 32-GB machine with an M3 Apple Silicon processor in it.
References:
If you want to read older entries, hereās the page for the previous year:
If you want to stay abreast of updates, have a look at this capsuleās colophon. It links to the capsuleās JSON Feed and Atom feed.
Additionally, the following URL will always redirect to the current year, assuming I havenāt forgotten to update the redirect after making the first post of the year:
ā