đŸ Archived View for gemini.circumlunar.space âș ~adiabatic âș scrawlspace âș 2020 captured on 2021-12-06 at 14:29:53. Gemini links have been rewritten to link to archived content
âŹ ïž Previous capture (2021-11-30)
âĄïž Next capture (2024-06-20)
-=-=-=-=-=-=-
This is scrawlspace. I scrawled elsewhere and then moved it into this space. Do not expect coherence or permanence here, either.
Gemini text style isnât HTML style. In Gemini text, you canât have inline links to explain what youâre talking about.
Sometimes, it seems to make more sense to pre-load the reader with links to explanations.
Sometimes, it seems to make more sense to provide links afterwards if the reader is interested in learning more about what was just discussed.
Eventually, Iâm going to write a post here where some things are best pre-loaded and other things are best supplied afterwards. Calling them both âbackgroundâ will seem more than a little bit weird, but I donât have two good, separate names for this sort of thing.
Today, my Internet pipe was upgraded from 15/15 (â1.8 MB/s) to 100/100 (â11 MB/s).
As you might guess, Geminispace doesnât seem to be any faster.
One of my favorite video-game albums is the one for The Secret of Monkey Island. Not only does the Red Book audio have some decent tunes, it also has some decent background tracks. Track 24 is called âFight Ambienceâ, but itâs the ambiance used for sword fights on MĂȘlĂ©e Island â owls hooting, birds flying off, and that sort of thing. No music whatsoever.
This is nice background noise, but it wasnât quite enough. I ended up opening Headspace and piped Ocean Time, an 8-hour track of beach-waves noise, to my Mac so I could get the sound of waves coming out through decent speakers. _This_ ended up being just the right amount of steady-state noise combined with _just_ the right amount of variation.
Oddly enough, the new iOS-wallpaper artwork reminded me of The Secret of Monkey Island and got me started with this setup. The dark-mode version of the wallpaper I use is deep in the purples and blues, and MĂȘlĂ©e Island at night has lots of blues and occasionally purples.
Background:
Headspace, a meditation-and-relaxation app
Airfoil Satellite, an AirPlay receiver
Background:
Checksumming files with sha1sum
I have a 4.2 GB folder full of what is mostly tiny React projects. I donât want its contents showing up in Alfred ever, so I decided to squish it into an archive.
My first instinct was to right-click on it and select âCompress âUnitsââ. This gave me a 2.5 GB zip file.
Because Node-based anything has loads of tiny files, I figured tar-and-xz might be the winning play here. I figured I could tar up the contents of the directory once, and then try different compression schemes on the tarball.
(DISCLAIMER: the xz manpage explicitly recommends against using -9 (aka --best) because it can require massive amounts of RAM on decode. RAM your computer might not have. That said, all of my computers have more than 65 MB of RAM free for xz.)
> time xz --best --keep units.tar ________________________________________________________ Executed in 37.62 mins fish external usr time 37.32 mins 121.00 micros 37.32 mins sys time 0.23 mins 711.00 micros 0.23 mins
This gave me a 796 MB file. Way better than the 2.5 GB-monster that zip gave me!
What if I tried using all the cores?
> time xz --best --keep -T 0 units.tar ________________________________________________________ Executed in 302.56 secs fish external usr time 57.89 mins 27.28 millis 57.89 mins sys time 1.45 mins 6.74 millis 1.45 mins
-T 0 gave me a 17-thread process that took up 1,300% â 1,400% of my CPU (no, thatâs not a typo) and made my fans spin up. After a bit, the CPU bite dwindled down to â375% and then the process completed.
This process took up only five minutes of wall-clock time (way faster than the half an hour for the single-threaded way), but about 150% of the single-threaded versionâs usr time.
Well, what if I used only two threads?
> time xz --best --keep -T 2 units.tar ________________________________________________________ Executed in 18.72 mins fish external usr time 37.08 mins 92.00 micros 37.08 mins sys time 0.12 mins 552.00 micros 0.12 mins
The fans didnât spin up. That was kind of nice.
18 minutes and 45 seconds of wall-clock time; 37 minutes of usr time (not quite half). Not bad.
Since the xz manpage said that the work would be split up between multiple cores, I wondered if the splitting up would reduce compression ratios any. Turns out, I was onto something:
> ls -l units* .rw-r--r-- 820M units-t0.tar.xz .rw-r--r-- 796M units-t1.tar.xz .rw-r--r-- 820M units-t2.tar.xz .rw-r--r-- 7.8G units.tar
The 1-thread file is the smallest at 796 MB. Both multithreaded files weigh in at 820 MB. In fact, both multithreaded files are 820,078,888 bytes. Exactly. I thought the multithreaded files had a good chance of being larger than the single-threaded file, but I didnât expect them to have the exact same size.
Oh, and they both have the same SHA-256 checksums. Didnât expect that, either.
So if you want your xz files to be as small as possible, stick to one thread per file.
Installed Big Sur on my laptop this past weekend. Did my usual clean install, which was complicated by Appleâs CDN falling over for a couple days. Even after I got everything set up again, it still has this air of unfinished mediocrity. Mail, for example, will still eat my mail, so I canât use it to handle my e-mail at all. Launchpad also dumped a bunch of lesser-used icons like Font Book, Chess, Stickies, and Time Machine into the root folder and now Iâm going to have to check with my Mojave machine to see where theyâre supposed to go.
Apple needs 20% more software engineers.
Background information:
https://mjtsai.com/blog/2019/10/11/mail-data-loss-in-macos-10-15/
Thereâs an Apple event coming this Tuesday. They will almost certainly announce Apple Silicon â erm, ARM-based Macs. But:
So why am I excited about this upcoming Tuesday?
Background information:
https://mjtsai.com/blog/2019/10/11/mail-data-loss-in-macos-10-15/
U.S. Bureau of Labor Statistics: Inflation Calculator
Sometimes, when Iâm watching old things and hear a dollar figure, I get off my duff, metaphorically speaking, to find out how much money that was back then.
Of course, I donât generally _want_ to stop my old TV show just so I can look at a black-on-whiteâ site and punch in some numbers, so itâs nice to have rough estimates of how much money that is. Hereâre some numbers, comparing September of whatever year back then to September of 2020:
â I wish the site, like every other site, had a `prefers-color-scheme`-based dark mode.
I âneeded to clear my headâ, or so I thought, so I decided to take a walk.
It was a decently long one â 6 miles (10 kilometers). I paused at the starting point after walking about half that and decided to make another loop around. I kind of thought I could use it.
Iâm glad I went for a walk, and Iâm glad I went for the full two loops.
What I did _not_ expect afterwards is to better describe the walk as ârestoring my executive functionâ.
In response to:
gemini://carcosa.net/journal/20201025-drafts-branching.gmi
I donât have a gemlog (yet), but if I wanted to write posts that would automatically get picked up and published Iâd probably just put the draft in a directory off to the side that doesnât get uploaded or otherwise monitored. Then, when itâs done, just move it into wherever it should be so it can get picked up by sftp/rsync/the index-file generator.
I use Git for my capsule as well, but I canât imagine using more than one branch unless I wanted to radically restructure everything and break loads of links.
On second thought, I imagined it. Multiple branches might be a useful tool for managing the deployment and rescinding of a great April Foolâs joke.
iPad gaming is better than Switch gaming because the screenshots are all in PNG (not JPEG) and you donât have to dig them out of a teeny SD card thing in the back of the device after shutting it off.
Itâs Saturday. Do you know if your capsuleâs TLS certificate is expired?
If youâre not automatically getting your TLS certificates renewed like Letâs Encrypt has you do, do you have a manual to-do set to pester you a month before your 1- or 3- or 5-year certificate expires?
I ask because I was checking out the usual CAPCOM and Spacewalk feeds and, like, three of the links I checked out had TLS-type errors in amfora. Unlike a lot of Gemini clients, amforaâs pretty strict about not letting TLS funny-business pass.
Relevant links:
Background:
gemini://tanelorn.city/~bouncepaw/gemlog/md-sucks.gemini
gemini://perplexing.space:1965/2020/re-why-markdown-sucks.gmi
A while ago I wanted to make a structured document. More structured than what I could get out of a giant Markdown file (I wanted a deeply nested <section>/<h1>-style, and I canât get that with Markdown).
My favorite editor for many things is Visual Studio Code. It has Emmet support, which will let you type a pretty-much-CSS bit of text and get nicely-structured HTML out of it. VS Code, with the right plugin or three, also has decent Prettier support, which will happily re-indent your HTML nicely (so you donât have to). I donât do reformat-on-save for Prettier, but I hit â„âF to run Prettier fairly frequently when Iâm editing anything that can be reformatted by it.
If you want your documentâs version of Prettier to be stable, youâll need to basically install it into the root of the directory associated with your HTML document. Having a containing folder for an HTML document isnât an issue for me (how else am I going to have it in a Git repository?), but thereâs now a `node_modules` directory sitting in an otherwise clean-feeling directory. Itâs one thing to have a boxed-up Lovecraftian horror like a node_modules directory in a mostly-JavaScript programming project or tucked away in `/usr/local/` or `~/Library/Application Support/`, but itâs another thing to have it sitting there in a _very_ otherwise-Spartan directory, all wrapped up with a garishly large bow.
VS Code wonât auto-curl your quotes like BBEdit will, but thereâs nothing keeping you from typing in BBEdit and occasionally handling the re-formatting of your elements in VS Code. (Tip: in BBEdit, hold down `Control` and press your (double) quote key to get the opposite behavior, whether your quote marks are curly-by-default or straight-by-default.)
So, yeah. Kinda not awful if you have loads of modern tools close at hand. Then again, if youâre writing a big file like this in Markdown, you probably have somewhat different tools, like a live-preview that reloads your changes every time you save the file, so youâre probably also only getting by with a handful of helpful annoyances no matter what youâre writing in.
Initial time estimate: 4 hours, give or take.
Actual time taken: 11 minutes.
Maple bacon onion jam
Broken user query tests
Background:
https://github.com/lunaryorn/mdcat
https://github.com/charmbracelet/glow
https://github.com/sharkdp/bat
Somehow, I ended up with mdcat(1) on my laptop and glow(1) on my desktop.
Not sure if I should have both, one, or neither on my computers. bat(1) already seems to do what `mdcat` does, and probably better. Typing `glow` isnât part of my muscle memory, though. Whatâs more, I have trouble remembering the name of the darn thing for the times when I _do_ want pretty-printed Markdown in a Terminal window.
Update: I actually had mdcat(1) on both my machines. Out the airlock it went, because bat(1) is better.
(was: Re: I am the preëminent server of WebP in Geminispace)
Previously:
gemini://nytpu.com/gemlog/2020-10-13.gmi
(also, scroll down to âI am the preĂ«minent server of WebP in Geminispaceâ)
I used lossy WebP on some The Legend of Zelda: Breath of the Wild screenshots (originally JPEG, much to my dismay) and they looked OK. The space savings was impressive.
Then, many months later, I looked again, more closely, flipping back and forth between the original and the lossy-WebP-recompressed version, and the WebP was clearly inferior. I remember someone else on the Internet said âwell, waddya expect if you use a pile of video compression techniques on a still image?â and that sounded like a reasonable take. (IIRC lots of VP6? 8? compression techniques are used in lossy WebP.)
At any rate, Iâm a teeny bit surprised someone would use imagemagick(1) to compress WebP, but thatâs probably a handy swiss-army knife to a lot of people. I wonder what kind of lossless compression ratios nytpu (linked above) would get if `cwebp -z 9` were run on all the PNGs.
I canât say Iâm a huge fan of WebP, mainly because my desktop browser of choice and OS of choice wonât support it until I can be convinced that macOS Big Sur wonât be a raging dumpster fire. <picture>/<source> makes it usable in HTML, but thereâs no widely-available fallback mechanism for CSS yet and âbackground hero images where nobody really needs to care how good they lookâ is where WebP really shines.
Replies:
nytpu: âWebP Revisited (a little more in-depth this time)â
Also:
carcosa.net: â2020-10-13: Re: webp on Geminiâ
I ran
wget -np -w 1 --mirror [some site with a bunch of tiny files]
`-np` means âdonât ascend up into a parent directoryâ, `-w 1` means âwait 1 second in between requestsâ, and `--mirror` turns on a bunch of options thatâre good to have on if you want to mirror a directory tree.
Total wall clock time: 2d 7h 5m 47s Downloaded: 173919 files, 2.6G in 1h 25m 17s (539 KB/s)
Two days of downloading, but only an hour and a half of downloading. Hence the title of this post.
Now I need to learn and memorize (or write down) the magic incantation that will allow me to skip downloading all of Apacheâs sorted-every-which-way file-listing pages. You know, the ones with URLs like âindex.html?C=D;O=Dâ.
Iâd almost want to re-download all those files again, if only to see how much faster itâd be.
Background:
GUS: Gemini Universal Search statistics
I went to gus.guru and had a look at the stats there. It had this line in it:
7 - image/webp
I happily serve up WebP-encoded images. I wonder if Iâm responsible for all of them.
> ag webp âŠ
Hm, I canât count. Computers are better at that than I am, anyway.
> ag webp | wc -l 11
OK, the unpublished templates, the upload script, and the colophon verbiage account for all of the difference between 7 and 11.
I am literally the sole server of WebP in Geminispace.
If youâre looking to be Old on the Internetâą one day, you can say âI remember when all the WebP on Geminispace was losslessâ.
Background:
Aglio, an API Blueprint-to-HTML converter
Snowboard, an API Blueprint toolkit
Iâve been wanting to play around with API Blueprint for quite a while. This past Friday night (yes, yes, I know) I finally got a chance to mock up a simple API with it.
Itâs my kind of thing, but the tooling around it is mediocre (at least for the tools Iâve tried). Aglio seems like one of the most popular to-HTML converters for API Blueprint, but for some reason itâs not outputting variable bits in URLs (things in braces). Snowboard is also a thing, but itâs in a Docker container whichâŠIâm still not _happy_ about, even if Docker is a totally reasonable, fine choice for this sort of thing.
My lukewarm attitude towards API Blueprint reminds me of my attitude toward DocBook. Sure, DocBook can provide you with a fantastically rich documentation source that can be converted into a bunch of different formats, but if you donât like the default DSSSL and XSL transformation stylesheets, youâre not going to like what you get out of DocBook. And I didnât like the stylesheetsâ output, and I didnât have enough manpower to any of them into something Iâd like (unlike, say, the GNOME Project).
Background:
https://commitizen-tools.github.io/commitizen/
Finally got a chance to try commitzen. My evaluation:
git rm .cz.toml brew uninstall commitizen
Prior reading:
gemini://going-flying.com/~mernisse/10.gmi
My hot take: Given current auto-update technology, a personal server in every home is a widespread security nightmare. Only a tiny handful of nerds vet the devices they allow on their home network, and most IoT devices are running some flavor of Linux or whatever thatâs vulnerable to heaven alone knows what sort of exploit.
Also, âsend some company some money every month to host your stuffâ is a pretty decent idea, whether itâs a web host or VPS or Heroku. That way, someone else handles the patching and upgrades and hardware faults.
Oh, and basically none of these homebrew solutions seem to have cracked the âI want to share photos of my kids with just their grandparents and a few of my friendsâ problem. Facebook, Google, and Apple have all solved that mostly. Anyone can share anything to everybody pretty easily, but sharing to only a handful of people on the planet is much, much more difficult to get right and easy and not subsidized by ads.
I kind of resent blogs.
One of the things Iâve noticed is that itâs difficult to get your work noticed in Gemspace if you donât have some kind of Atom feed. In order to have one of those, youâre probably going to have to have some kind of automatically-generated feed. Whatâs the best way to have an automatically-generated feed of anything? Having a blog.
I donât want to have to set up a blog or a blog workflow or a static-site generator. I burned a couple days on generating an Atom feed from a YAML-formatted JSON Feed feed and I want those days of my life back. On the other hand, having a single-file blog was kind of a neat idea and I might actually use it in the future.
The weird part? I used to be a big fan of Atom. Now its insistence on titles grates. I think Iâd rather patch Spacewalk to handle JSON Feeds in addition to Atom feeds. Unlike CAPCOMâ , I donât think I need to do anything weird to have it handle nonexistent titlesâŠbecause it doesnât seem to display titles anyway.
â : Boy, that was a confusing name when I first saw it in Geminispace.
gemini://sakurina.flounder.online/20201006r.gmi
I canât reach out and tell you that Iâve responded to your post, so I guess weâll see if you notice this. this gemlog doesnât have a feed of any kind, so if you see it, I guess content *can* be noticed without an atom feed.
Guess I shouldâve read the Spacewalk README/source code a little bit more slowly and thoroughly, then. Thanks!
â