-- Leo's gemini proxy

-- Connecting to gemini.circumlunar.space:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=UTF-8; lang=en-US

Scrawlspace from 2022


This is scrawlspace. I scrawled elsewhere and then moved it into this space. Do not expect coherence or permanence here, either.


If you’d like to see newer entries, have a look at 2023’s page:


../2023/


2022-12-23 through 2022-12-26: Timmy said I had to update to the latest on all my devices to get the nearly-adequate cloud encryption, so I kind of did that


iCloud has a new option called “Advanced Data Protection for iCloud”. In short, it means that Apple doesn’t have encryption keys to decrypt most of your stuff that you put in iCloud.


Advanced Data Protection for iCloud


In order to turn this on, though, you can’t have any devices on your iCloud account running anything but the latest (as I write this) versions of their respective operating systems (macOS, iOS, iPadOS, and maybe tvOS).


This means that I need to boot my old laptop that can only run Monterey off my iCloud account.


But what to do with it? I could:


make a different iCloud account and connect the laptop to it

run a different OS entirely


…and I chose the second option. The old machine could fail to get critical security updates at any time, and Apple doesn’t announce end-of-life schedules like Microsoft does.


There are instructions on how to install Debian on a laptop like this:


https://wiki.debian.org/InstallingDebianOn/Apple/MacBookPro/Early-2015-13-inch


My screen is bigger, but I figured that wouldn’t matter. I was right.


I’m running GNOME, not KDE, so I didn’t have to do anything to get the scaling to 200%.


I haven’t tried this “sleep” thing. The power-off menu of GNOME has a “suspend” option, but I haven’t needed to turn down the laptop for only a little while.


…OK, I tried the sleep thing a while later. It kills the WiFi. I’m just not going to let this thing go to sleep, and maybe that one WiFi restarter will also help if I actually let it go to sleep.


My battery maxes out at 77%, but that’s to be expected given the laptop’s age. What’s odd is that the battery display drops straight from 100% to 77% when I unplug it.


I installed a bunch of fonts with apt. Surprisingly, Cascadia Mono/Code was one of them. This is Microsoft’s new monospace font. It’s a bit nicer than the default monospace font.


I chose a Compose key. It’s Scroll Lock. In order to get a ’, I need to press Scroll Lock, then >, then '. This is much less pleasant than the option-shift-] that I’m used to. No, I don’t have a Scroll Lock key on the built-in keyboard. I’m using an external at the moment.


I miss Universal Clipboard from the Apple ecosystem. [Narrator: Little did he know that upgrading his main Mac to Ventura would break Universal Clipboard.]


All in all, not a bad OS for a laptop that doesn’t leave the house. Most of this post was written in micro, a TUI editor (like vim and emacs) that makes good use of the Alt key.


2022-12-03: I did all of it, but my watch missed a middle third, but it still counts


I’m writing this at the top of a mountain. It’s not a tall one, but it has “mountain” in its name, so close enough. I don’t have my deployment setup ready to go on my phone, so you’re getting this a bit later than normal compared to when it’s composed.


If you’ve been reading along, you know that I have an Apple Watch. It’s kind of neat to be able to see your hikes and splits during a hike, but on the other hand you need to have the presence of mind to double-tap it to mark a split. I’ve failed to do that once.


You also need to remember that pressing both buttons will pause/unpause it, and that pause/unpause is not a substitute for marking a split.


So now my workout thinks I teleported from ⅓ to ⅔ the way up the mountain. At least I still got the calorie-burn points (red ring).



Addendum, long after arriving home: I managed to foul up my recordkeeping even more after I wrote the above. In addition to the big middle gap, there are even more gaps. Normally, for a hike like this, there should be one big pause in the middle — where I’m at the summit and recovering. Not only do I have the mid-ascent pause mentioned earlier, but also a during-descent pause.


Interesting what you can get from a graph of what your heart rate was when.


Going to the map, I expected to see my path. Sure, I messed up the ascent, but I figured that I would have records from my watch while I was walking downhill.

Nope. I have a giant gap in the middle of my hike. The Fitness app on the phone doesn’t really clearly distinguish between uphill and downhill when you’re retracing your steps, so it looks like I teleported past a no-man’s land in the middle of the hike, both going and coming.


2022-11-24: “I knew him before he was famous!”, but in reverse


Like many people who enjoyed The X-Files, I also liked Fringe. It managed to outdo itself in the weirdness factor in the latter few seasons and tried some ambitious things that didn’t seem to quite pan out, but I liked it. It starred Anna Torv, Joshua Jackson, and John Noble as they dealt with weird things going on.


A little while later, I managed to catch up on Stargate: SG-1, a series that I saw on TV when it was new, but never was able to watch consistently. On one of the episodes where SG-1 gated to a world populated by the descendants of northwestern European people, the village elder was none other than John Noble, the guy I knew as Dr. Walter Bishop from Fringe.



I subscribe to Dan Luu’s blog. He has great content, but some of his stuff is super duper long and I need to be in the right frame of mind to be able to digest it.


At any rate, I finally got around to reading his most recent post:


Chat log exhibits from Twitter v. Musk case


I was reminded of this sort of reversed recognition when I saw the name “Sam Bankman-Fried” in the chat logs above as a potential Twitter investor.


Background:


IMDB entry for Fringe

IMDB entry for Stargate: SG-1


2022-11-15: Guess what I bought based on my gripes


I got a new 11″ gizmo to replace the 10.5″ gizmo. Because the computing world is more than a bit topsy-turvy at the moment, it’s the fastest computing device in my house.


I still don’t like how no covers are available — only sandwiches. Um, “folios”.

The newfangled folio only folds one way if you want to use it like a stand: fuzzy-side-out. This means that if you want to stand it up on a less-than-totally-clean object, you’re out of luck unless you can clean it.

The camera on the thing seems to work at an arm’s length worth of distance, but not an arm plus a shoulder. This is a limitation that should have been fixed a while ago.

I had no idea that the calligraphic pen in Notes was limited to be wide-side-goes-up-and-down. I thought Notes would actually take into account the pen angle.

11″ is a bit wider than 10.5″, so the on-screen keyboard got re-jiggered. There’s now a nigh-useless Caps Lock button over on the far left, as well as a theoretically-useful Tab key above it. The Caps Lock key pushes the center of the keyboard (the space between the G and H keys) over to the right a bit, so typing while the thing is on your lap is less pleasant than with the older, narrower-in-landscape one.

When I tried the newfangled pen in the store a long while back, I kept accidentally triggering the double-tap. This time around, I don’t seem to have that problem. Since the “only let the double-tap gesture do the thing if the pen is within hover range” only operates on a hover range that’s pretty close to the screen, I’m glad I can stick with the default, more loose setting.

It is, to its credit, noticeably faster. I’m not noticing the giant RAM boost as much as I thought I would.

Playing music with the screen locked on seems to murder the battery way faster than I would have expected. I ended up plugging an external battery into it while I was using it to read a recipe off of the other day because its battery was dropping through the 20s and into the teens at an alarming rate. A battery pack managed to halt the loss and recover the battery at something like one percentage point per half hour.

I still don’t have a good name for it yet. All my computers and computing devices get names. I’m worried that my placeholder name for it will become permanent.

The screen seems slicker and more pleasant to swipe on. I’m not sure if it’s just newer and less eaten away by acids or whatever in finger spoo.

I miss the side-in-landscape bezel thickness a bit. I’m still accidentally touching the screen when I don’t mean to, usually when I’m reading from the thing in bed.

Not a fan of the bar thing at the bottom, especially when it’s this near-#ffffff thing on a dark background. I don’t swipe rightwards nearly often enough to justify how much space it takes up or how much visual noise it is.

I’m not really sure if the new speakers are better than the old speakers. I want to think they’re better because they seem to be able to take up more space, but audio out of them sounds all different and I’m not sure why.


2022-11-07: A couple fewer typos


Today, Homebrew had a new formula. It was for this:


https://github.com/crate-ci/typos


I installed it and ran it on my capsule. Apparently I misspelled “magnificent” last year.


I got bitten by someone else’s typo in a repository I work in kind of recently. While it does have false positives in weird places like snippets of SHA-1 hashes, the false-positive list is pretty small. I’m a fan.


2022-10-22: Probably not the worst idea: setting a quaternary clock to display GMT


If you’re like me, you have lots of things around that display the time. Computers, phones, laptops, tablets, maybe even a watch.


However, if you’re very much like me, you have a clock around that you don’t look at much, and is basically never your clock of first, second, or even third resort.


A clock, like, say, this:


co2meter.com TIM10


It shows the date and time in the lower left.


Even if you only occasionally need to care what time it is in GMT to understand when something happened in a recent log file, it can’t be the worst use for a timepiece you almost never look at, especially if you’re far enough from England that the time almost always looks obviously wrong.


2022-10-12: A means by which one can needle younger teenagers and pre-teens


According to my Soulver-assisted calculations, Time’s 2006 Person of the Year issue was released 15 years, 9 months, 2 weeks, and 3 days ago.


Anyone younger than that probably hasn’t been Person of the Year.


Soulver, the notepad calculator


2022-10-03: Adding to evenfire’s “Clickbait on Gemini” post


Background:


evenfire, “Clickbait on Gemini”


When I write a post here on Scrawlspace, I have to generate three different descriptors for it:


the title of the post (look up a little bit to see it)

the feeds’ content text/title, which is almost always written in the first person and is probably the thing that most people see that drives them to actually visit the page

the git commit message that adds the post to the repository for this capsule (not shown publicly)


Because clickbait titles — which I’m defining here as “titles that withhold important information in order to get you to click through to see the entire article” — are so common on the Internet, I usually try and get myself to stop and consider if I could rewrite the feeds’ content text to put the most important part of the post in it, saving people clicks. More often than once, I’ve rewritten a title or two to make it more useful and less like Buzzfeed house style.


On the other hand, I tend to craft titles that make me grin, and care much less about whether they make sense or if they’re just a good vehicle for a joke or pun or a snowclone. Besides, if you’re reading the title, you’re already here.


2022-10-02: Reminding myself that things I like have nasty bits that I don’t see much


I like TypeScript even though I don’t use it much. Or barely ever.


Occasionally I notice that it’s easy to forget that conveying types to the TypeScript compiler is rather difficult if the types are complex.


A few days ago, I noticed a way to remind myself of how difficult it can be to type things. I was poking around the DefinitelyTyped repository:


DefinitelyTyped on GitHub


Some of these typed libraries are trivial to type:


/**
 * Compute the absolute path of an input.
 * @param input The input path.
 */
declare function abs(input?: string): string;

The above is from


types/abs/index.d.ts


Others, however, when I look at them, I think “there’s no way I’d be able to type this”:


declare module ActionCable {
  // …
  interface Subscriptions {
    create<T extends CreateMixin>(channel: string|ChannelNameWithParams, obj?: T & ThisType<Channel>): Channel & T;
  }
  // …
}

The above is from


types/actioncable/index.d.ts


About every month, the TypeScript team comes out with a new release of the language that helps people better type their applications. The snag is that I barely understand the problems that they’re trying to solve, and I worry that if I try using the language again, I’m going to run into a wall at top speed trying to figure out how to type something that wouldn’t be a huge issue in JavaScript.


2022-09-28: A brief trial of Helix


There’s a newish Kakoune-inspired editor named Helix:


Helix


Kakoune, in short, is a Vim-style modal editor, except that it’s selection-first instead of action-first. So, instead of typing “dw” to delete a word, you type “wd” to select a word and then delete it.


One snag I ran into: it doesn’t support soft-wrapping yet. Soft-wrapping is a hard feature to implement.


https://github.com/helix-editor/helix/issues/136


I don’t think I’ll be using Helix to update my capsule again anytime soon.


2022-09-05: Never underestimate the bandwidth of a car full of disks driving down the highway, regardless of what kind of society you’re in


Background:


Björn “ew0k” Wärmedal, “Sneakernet in a Free, Developed Society”


Specifically:


> But is there an actually useful purpose of sneakernets in democratic countries in the developed world?

>

> Suppose that you aren't persecuted or part of a criminal network. Which actual use do you have for a sneakernet then? It's super simple to set up a server with sftp or file upload and download through https. That's also a lot faster and less costly than posting microSD cards to each other.

>

> To use a sneakernet in that case sounds like using a cumbersome solution to a non-existent problem. Despite that the idea of it persists and has a certain charm. Just look at NNCP; It just got an update to better support a network of data mules. Is anyone in a real need for this actually using it?


If it weren’t a real need, cloud providers wouldn’t offer it.


Azure Data Box Disk: Frequently Asked Questions


> The Azure Data Box Disks allow a quick, inexpensive, and secure transfer of terabytes of data into and out of Azure. Microsoft ships you 1 to 5 disks, with a maximum storage capacity of 35 TB. You can easily configure, connect, and unlock these disks via the Data Box service in Azure portal.


35 TB in 8 hours (about how long it takes to drive between Los Angeles and San Francisco) is 1,215 megabytes per second. My Internet connection tops out at around 12 megabytes/sec, and I consider myself pretty lucky in the home-Internet department.


Backblaze B2 Fireball


> Backblaze Fireball is an import service for securely migrating large data sets from your on-premises environments into B2 Cloud Storage. We will ship you a Backblaze Fireball, a 96 TB storage array with 10 Gigabit Ethernet connectivity. Load it up, send it back to us, and we’ll quickly and securely upload your data into your B2 Cloud Storage account.


96 TB can make the LA-to-SF trip at a rate of 3,333 MB/sec.


AWS Snow Family service models


> AWS Snowmobile is an Exabyte-scale data migration device used to move extremely large amounts of data to AWS. Migrate up to 100PB in a 45-foot long ruggedized shipping container, pulled by a semi-trailer truck.


Assuming the semi doesn’t drive any slower than a car does, an entire Snowmobile transfers data from LA to SF at 3,472,222 MB/s.


2022-09-02: Sounds like a straightforward, if difficult, engineering problem to me


I saw a bumper sticker today. It had a cute hand-drawn picture of a globe on it aside some text. The text read:


> Only Earth has bagels


My first thought: “We need to get bagels on Mars.”


2022-08-08: There Really Ought To Be Only One Way To Access It


This capsule is hosted by the (unsinkable) Molly Brown. For reasons I’ve never dug into, it’s available at both /~adiabatic/ and /users/adiabatic/.


Once I noticed that it was available at two different locations, it started to bug me a bit.


Finally, when I decided to fold one into the other, I had a bit of trouble figuring out which I should fold into the other. The /~username/ convention seems much more, well, conventional, while /users/adiabatic/ is the one that’s linked to from the user directory.


Eventually I decided on making /users/adiabatic/ the official one.


Because cool URIs don’t change, I tested redirects. This is what the permanent-redirect section of my .molly looks like:


# https://pkg.go.dev/regexp

[PermRedirects]
"/~adiabatic/(.*)" = "/users/adiabatic/${1}"
"(/users/adiabatic)/unfiled/lets-play/metroid-dread/" = "${1}/words/games/metroid-dread/"
"(/users/adiabatic)/unfiled/parthenon/" =               "${1}/words/parthenon/"

All the URLs in my feeds got changed, too. The IDs, of course, didn’t, because they’re IDs and supposed to never change no matter what. If your feed reader is cool, then you won’t get an avalanche of every single noteworthy user-facing change on this site. If it isn’t…well, hmm.


References:


https://tildegit.org/solderpunk/molly-brown

w3.org, “Cool URIs don’t change”


2022-07-10: A kernel of a parody


It’s beginning to look a lot like Go code

nil checks everywhere…


2022-07-04: Unlike butter, ghee doesn’t explode when you microwave it


I generally use Alton Brown’s ghee recipe. My saucier and eight-quart Pyrex container can fit seven 280something-gram blocks of butter in them, and I could probably fit an eighth without much, if any, trouble.


Alton Brown’s ghee recipe (read the comments, too)


Because the water in butter gets boiled off during the gheemaking process, there’s no water in ghee to go pop and explode butter all over the roof of your microwave.


If your recipe is enhanced, or at least not made worse because of whatever nutty flavors are in ghee that aren’t in butter, then you might want to consider using ghee if you need basically-butter in liquid form.


2022-06-26: /now/ maybe later


If you’ve been waffling back and forth on whether you want to, on net, have a /now/ page on your capsule, know that you’re not alone.


/now/ pages, explained


2022-06-14: WWDC gets


The new name: macOS 13 Ventura.


maybe Mail got Catalysted (boooooo)

a nice, if possibly over-bright, poppy wallpaper

Spotlight searches text in images now

the Clock app comes to macOS, catching up to Windows…8? Definitely 10.

Passkeys support, which I haven’t made my mind up on

Stage Manager, for both macOS and iPadOS (if you have an M1 in the latter)

Continuity Camera, in case your new Apple monitor has a lame built-in camera

Nintendo Switch controller support

iOSification of System Settings

Dictation now hears commas and periods and question marks in your voice, without you having to say “comma” and “period” and “question mark”

stuff for people who put photos of people on their lock screens

the whole lock screen is a touch-and-hold button now, just like the Apple Watch

toolbar buttons for iPad apps

vastly improved workout views on the watch

HIIT setup

runner stuff

supposedly better sleep tracking

see metrics when I’m AirPlaying to my laptop


A couple things that got shoved off until later:


Freeform, a new collaborative (if you want) virtual canvas where you can draw stuff

Live Activities


I’m not sure I want apps to know my current focus.


Seems like a good pile of updates. More useful ones than I’d hoped for. Wonder if things’ll get buggier. Dictation and System Preferences settings worry me a bit.


I’d say that Stage Manager gives me a small reason to upgrade to a latest iPad, but I’m not sure how useful it’d be on an iPad-sized screen. The larger iPad Pro is a thumb-unfriendly monstrosity.


2022-06-04: WWDC wants


WWDC 2022 is next Monday.


I want:


C-k to not also gobble up space to the left of the cursor on iPad and Catalyst apps

to be able to save images on the Internet as files and not just dump them in my camera roll or save them to Dropbox

bug fixes


I wonder what we’ll get. Last I heard, more teams were being given more self-directed time instead of time to implement company-wide flagship features. I wonder if that was a one-year change, or if this change has been made semi-permanent.


I have no predictions to make. I suppose they’re about due for new iPad Pro models.


I wouldn’t think they’d need to announce anything for M2 chips, but on the other hand, they might have big hints that the best way to do things in Metal might change.


Oh, and they might announce a proper Mac Pro. That likely has architectural changes that are going to be way different from all these everything-on-a-chip M1 devices that can have all the RAM and GPU be on-die or whatever. That’ll be super exciting for people who aren’t me.


OK, I guess I had predictions. Handwavy number-free predictions, but predictions nonetheless.


2022-05-17: If you want more deep, meaningful conversations, you should go out and get some yourself


There’s been some chatter in Geminispace on the lack of deep, meaningful conversations. Oddly enough, the first-person plural pronoun is used a lot. I’m not sure if this is supposed to be a substitution of the first-person singular to make the sentiment more socially acceptable, or if it’s supposed to be a substitution of the second-person plural, or maybe the third-person plural.


I’m in favor of having deep, meaningful conversations, if you can get them.


In general, if you want people to have more of a thing, you should get more of that thing and tell other people how great it is to have more of that thing and the things you did to get more of that thing. I’d be quite happy if, in a month or two, some of the lamenters reported back to mention what changes they made to their lives to get better conversations and what worked and what didn’t.


Some scattered relevant thoughts. But first, a disclaimer:


☞ You should not assume that any of this is actually good advice. In fact, you should assume that this is actually worse advice than advice specifically crafted to sound like a good idea but is actually, on net, a bad idea for you. ☜


You should assume that public venues are horrible for fostering the sort of intimacy that a decent conversation requires. The Midnight Pub seems to be an exception to this rule, but, on the other hand, I’m not the sort of guy to let his hair down in public. The Midnight Pub, however, is leagues better than Twitter unless you have a protected account. A five- or ten-person Slack instance/Discord guild/etc. would be even better.

A decent, but possibly horribly flawed idea is to put up an e-mail address on your capsule so people can e-mail you and start conversations with you that may one day turn to deep and meaningful topics. If you do this, consider posting only burner e-mail addresses so you can drop them like a bad habit if and when the weirdos come a-callin’. A good e-mail host will have a way for you to generate lots of e-mail addresses that aren’t tied to your usual e-mail address or account name.

In general, give people signals that you’re willing to take conversations to smaller venues. This can be as simple as @-mentioning the person and saying “DM me”. Or just DMing the person yourself.

Figure that you have a daily budget for contacting people, even though the budget varies on a day-to-day basis. Do you want to spend it on the frivolities on Twitter, or would you rather mull over that one e-mail you’ve been composing in your head that you’ve been meaning to send to your friend? It’s worth acknowledging, to yourself at least, that, say, catching up on that #memes channel that you’re in is much, much easier than putting in the work to write a decent e-mail.

Is having deeper and meaningful internet friendships the best use of your time, compared to deepening other relationships that might be available to you?

Is having a dedicated gab session the best way available to you to get to know someone better, or would playing some sort of game with this person be a better idea?


2022-05-09: New thing useless for old thing, news at 11


Background reading:


Release notes for Visual Studio Code 1.67.0 (April 2022) (actually released in early May)


Visual Studio Code just released a feature for collapsing files under other files.


However, it doesn’t seem to be able to collapse, say, files named index.gmi under their parent directory. At least, when I tried to have a parent of “*” and a child of “index.gmi”, every file in my capsule’s root, like, feed.yaml, got index.gmi nested underneath it.


Also, when I tried a parent of “feed.yaml” with children of “feed.json” and “atom.xml”, all three files were declared children of some other unpublished file.


Pity.


2022-05-03


With great brevity comes great responsibility.


2022-04-30: Item typing


I wanted to do only a little bit of thinking, so I started redesigning the guts of a game again.


I’ve been meaning to make a loving homage to Kingdom of Loathing for quite a while. Life always gets in the way before I actually ship something, and by the time I’m ready to come back to it, the best-available software stack that I’d use to make it in is obsolete.


I’m surprisingly OK with this. Maybe it’s because I never get very far and I’m not faced with the prospect of writing user-authentication code for the umpteenth time.


Also, the last time I tried this, I tried to make it RESTful initially, but eventually came to the conclusion that the best way to do a lot of things, especially combat actions, was to basically have RPC with nice-looking URLs (often claimed to be RESTful, but isn’t at all).


As I write this, the new hotnesses are GraphQL and TypeScript (currently 4.6). Ideally, I’ll be able to model game stuff well as TypeScript types and GraphQL types.


Anyhow. Let me spec out the lay of the land, so to speak.


There are players in this game. Players do things by expending turns. Most actions cost 1 turn. Fights may cost 1 turn, but are further subdivided into (combat) rounds.


Players have all sorts of properties like hit points, experience points, the number of turns they have remaining, how muscular they are, whether they’re poisoned, how long the poison will last (in combat rounds or even turns, or maybe forever), and whether they’ve got stuff equipped that will let them regain, say, 3–5 HP per turn (or even round!).


After quite a bit of thinking, I eventually figured out that I probably needed three different types, probably with better names:


StatusAlteration (something that takes effect instantly, like a quaffed healing potion or a punch to the face)

StatusEffect (something that sticks to the player, like what happened to you that came from your wearing a pair of astral shorts, or maybe a slow-acting healing potion that works its magic over multiple combat rounds)

StatusWhatCouldHappen (properties of an item, like per-turn HP regen minimum and maximum)


The first type I thought up was StatusEffect. After a little bit, I realized that the additive HP modifier (as opposed to the additive maximum-HP modifier) didn’t make sense as a status effect, so I spun that out into its own type.


Then I realized that an actual status effect can be generated from something that has a range to it, so I split off parts of StatusEffect into the very poorly named StatusWhatCouldHappen. Another candidate name for this was “StatusWhatItSaysOnTheTin”, or something like that. However, this would be a bad name if I ever wanted to be less than 100% forthcoming with my items’ statuses.


(Everyone laughs at the third item in “the three hardest problems in computer science are naming things, cache invalidation, and off-by-one errors”, and the second item is obviously hard, but the first item deserves it place in the list even though it’s, by far, the most unassuming problem of the three. I’m convinced one of the reasons why Bootstrap is way more popular than BEM-based solutions is because developers don’t need to think of reasonable, unique names for things all the darn time.)


Also on my mind: how do I handle poison? I’m thinking of poison as a status effect that


subtracts some range of HP per combat round and/or turn

may last a set number of combat rounds, until the end of combat, for a set number of turns, or until cured manually


Let’s say I have a status effect called “A Teeny Bit Poisoned”. It subtracts 1–5 HP per turn. You might get bitten by a weak asp and have this last for 3–5 turns, or you might get bitten by a long asp and have this last for ∞ turns. How do you model all this? −1 is a bad sentinel value because one might have some kind of poison-duration reduction buff. INT32_MAX isn’t a good option because a lot of this will be in JavaScript, and its maximum non-big integer is Number.MAX_SAFE_INTEGER, or 2⁵³−1.


Then again, treating all numbers equal to or greater than 2⁵³−1 as +∞ isn’t the stupidest option. However, the Int type for GraphQL only handles up to 2³²−1 for obvious reasons, and I like the type safety of not supporting nonintegral values. On the other other hand, 4.3 billion Meat seems utterly attainable, so sticking to double-precision floats everywhere might be the winning play if BigInts aren’t available.


2022-04-25: A pint of cream is a lot for one person


Cream is useful. Trouble is, I seem to have some difficulty finishing it off.


Here, heavy whipping cream:


comes, at minimum, in pints (473 ml)

says that you need to finish it off in a week after opening it


However, there are 1,550 calories in the entire pint. If I were to finish it all off in a week, I’d be eating 221 calories/day of cream.


Luckily, the cream I have seems to be OK after a week and a half. I’m not quite sure how I’ll polish it off before week’s end, though.



2022-04-16: 10,000 years in real life and in popular culture


Fiction became slightly more interesting once I internalized that the paleolithic-to-neolithic transition happened 10,000 years ago.


A while back, I heard of Cochran and Harpending’s _The 10,000 Year Explosion_ and, while I never got around to reading it myself, the big round number stuck in my head as the end of the paleolithic.


Of course, 10,000 years can pass in fiction, too.



During the opening sequence of Mighty Morphin’ Power Rangers, the main antagonist, Rita Repulsa, declares “after 10,000 years, I’m free!”.


Humanity, however, most emphatically did not have giant robots back then; how did she get locked in back then?



In The Legend of Zelda: Breath of the Wild, all the Guardians and similar capital-A Ancient tech is from 10,000 years ago. Granted, Hyrule has a nasty tendency to get squished flat every so many generations, but I can’t help but wonder if ancient Hylians had lactase persistence 10,000 years ago. Maybe one day Nintendo will release a Zelda game set during that time and we’ll find out if milk is an option.


Then again, supposedly Skyward Sword is the first (released so far) iteration of the Link-kills-Ganon-or-similar saga, and there doesn’t seem to be any adults consuming milk in it.



Genie, in Disney’s Aladdin, famously declares that 10,000 years will give you _such_ a crick in the _neck_, but I don’t think they had much metallurgy back then, so it’s not obvious where his containing lamp came from if he’s not messing up the time and this is a consistent universe.


On the other hand, c’mon, this is a Disney flick we’re talking about.



There’s also the Avatar: The Last Airbender universe, where stuff happened 10,000 years ago. On the other hand, they kind of lean into the Chinese meme of using “10,000” where we use “gazillion”, with similar levels of non-specificity. So we can’t really set our calendars to it like we can with Hylian archaeologists.


2022-04-15: Technically true, but of questionable utility as a proverb


If a stopped clock gives the right time twice a day, then it stands to reason that a clock that goes in reverse gives the right time even more times a day.


2022-04-11: In the bathroom at work


My watch pesters me to stand at the 50-minute mark every hour if I hadn’t stood up during that hour. This means I need to plan ahead if I want to sleep in extra on the weekends, but that’s a story for another day.


Usually, when it says “hey, you should stand up for a minute” all I need to do is go to the bathroom, and I get a second notification about halfway through congratulating me. I would’ve figured that getting praise for going tinkle in the potty was long behind me, but here we are.


Today, I got the usual notification while I was already seated in the bathroom. I wasn’t too surprised I got this, since it doesn’t take me a whole minute to walk there.


I was surprised, however, when the you-stood-for-a-minute notification came through and I hadn’t finished my afternoon constitutional yet. I had no idea bidet use, to a watch, feels more like standing than sitting.


2022-04-04: I can see our house from here


Palladium Magazine says nice things about Gemini


(Note the publication date.)


2022-03-22: Tastes like chicken


Today, I cooked three pounds of tandoori chicken thighs in a Dutch oven, in batches.


Two thoughts:


If you look at the fond at the bottom and think “this would go great if I cleaned this up with onions”, you’ll need to do it at the halfway mark, not at the end. If you can only fit three thighs in your Dutch oven at a time, the bottom of the oven will be mostly black and your onions will have a very earthy flavor from all the carbonized everything that they pick up.


Sometimes it seems like it’d be easier to get a Klein bottle to lie flat than some of these chicken thighs.


2022-03-08: “Modular”


Well, _that_ was certainly unexpected.


Background:


Apple Event: March 8, 2022


“Modular”, in Apple parlance, means “the monitor is separate from the computer”.


They announced:


an iPhone SE with the chip used in the current phone, released a mere two years after the previous SE’s release, not the usual four

an iPad Air with an M1 in it, but still Touch ID on the sleep/wake button and no cover

a Mac mini Pro

a standalone 27″ iMac-tier 5K display


Nothing I need now. I briefly considered getting a new iPad, but the one I have is still OK, has four speakers (not two), a proper home button (instead of a horizontal bar at the bottom taking up some of the real estate), has a Smart Cover instead of a Smart Folio, and won’t cost me $800 or so after I’ve added on the things I want to the base model.


Theoretically I could buy a 5K display and add it to my current setup, but I don’t need the real estate that badly. I like having a 27″ 4K monitor as my side monitor because the extra-big pixels are what I need for something that far away, even if 1080 points is not very wide at all. I mean, it’s only a bit bigger than 1024 (of 1024×768 fame) and smaller than 1280 (of 1280×1024 fame).


I figure my next Mac will be a Mac Studio of some kind. One thing that worries me is how dusty my desktop gets, given that its intake holes are on its bottom. Almost makes me want to buy a banana hammock or something when the time comes so I can suspend it 4″ above my desk to keep the dust from coming in at rates faster than my current iMac gets.


As for yesterday’s predictions:


they didn’t announce a new 27″ iMac

they didn’t announce a new iPad Pro


…although what they did announce were near-equivalents of both.


2022-03-07: Obligatory pre-event Apple blogging


Apple’s got an event tomorrow. They’re calling it “Peek performance”.


Predictions:


they announce a new 27″ iMac (90%)

…assuming they announce a new iMac, it will not have ECC RAM (90%)

they announce a new iPad Pro (40%)


Probably nothing that’ll make me say “shut up and take my money”. My Intel stuff is still fast enough, and not having to think about juggling multiple architectures for work projects is still very nice.


2022-03-01: Being OK with missing responses


Background:


bacardi55 on gemlog replies


The relevant (to me) bit. Linebreaks added:


> The Gemini community is globally very nice and I've really been enjoying the different interaction I had with fellow geminauts over station, tinylogs, gemlog entries or via email (keep emails coming!).

>

> I really like those interactions, but I feel like interacting with each other over gemlog entries remains difficult. At least to ensure the author see all the responses to their posts.

>

> It's very common to see a gemlog entry being a response to another author entry, but we don't have yet a simple way to notify each other.

>

> The problem is, of course, how to contact the author of a given post to tell them we wrote a response? A "simple" solution would be going to the capsule, find the contact of the author and send an email… But not every capsule has a contact page and the process is very manual, requiring to use another tool and protocol to communicate.


One of the tradeoffs of a system where you’re going to see all replies to your posts is…you see all replies to your posts. Even replies you might not want to have seen.


Of course, people can and do put e-mail addresses or other contact information on their capsules. This is a good idea. I don’t, mainly because I weighed the pros and cons and figured that I’d rather not get a response to something I’ve written than risk the small chance of getting mail in my inbox that I’d rather not have gotten. Sure, Geminispace is mostly Calm™ now, but I like keeping my mellow un-harshed and I’m not much of a gambling man.


Of course, this dampens the likelihood of someone else writing a response to what I’ve written here. Without any surefire way to contact me, a potential respondent might wonder “sure, I could write something, but what if he’s not checking Antenna that week? He might miss my superlatively enlightening reply! It might be entire months before he checks the relevant backlinks page on geminispace.info!” and decide to not bother after all.


I take that sort of risk of failure-to-connect as part of communicating on the Internet itself, as opposed to a communication service hosted on top of the Internet, like Twitter or Tumblr.


And, of course, if I want either Twitter or Tumblr…I know where to find them.


2022-02-28: Do you care about how branded your capsule’s pages are?


Normal HTML pages have lots of branding and stuff on them, so if someone decides to download an HTML page from your site and save it on a hard drive somewhere, anyone who views that page will be able to figure out where on the Web it came from.


Ditto printed-out Web pages; they usually have some kind of URL of the page they’re of printed in the margins somewhere.


One of the nice things about gemtext is that you probably don’t need to brand every single page on your capsule. Any decent client will have Up functionality itself, leaving you to have a first-level heading that’s just the page title, without a sitewide header on every single page.


However, if you don’t, people might download one of your super-cool pages, and, three years later, have no idea where your capsule is, or at least was.


Here’s an example of a superlatively well-branded page:


“What’s the Deal with Leap Seconds? A Brief Overview of Timescales” by Solderpunk


It has a preformatted-text pseudo-header, plus a real header for the actual document. The preformatted-text header will help anybody who sees the document figure out “oh, this is from Circumlunar Transmissions, whatever that is” and the “Circumlunar Transmissions - Issue 1” link down at the bottom will give a further clue as to what the page is from.


But other capsule pages don’t. Most of my own capsule’s pages don’t really say where they’re from. This saved me quite a bit of work for the Halfway to Mars rebranding, but if, for some reason, someone hits Ctrl-S and saves a page of mine, well, then, good luck figuring out where it came from 18 months later.


At any rate, do you think this is a problem for your capsule? Or, like me, do you not really care?


2022-02-07: Always be closing


As mentioned previously, I am the owner of an Apple Watch.


There are three rings:


outer red ring: this is the Move ring. You make progress on it whenever you walk around or otherwise move.

middle green ring: this is the Exercise ring. You make progress on it when exercising at or beyond a brisk walk, or when you start a named exercise.

inner teal ring: This is the Stand ring. You make progress on it when you stand for at least one minute every hour.


Given the initial movement target for the red Move ring, there are only a few ways I could fail to close it:


stay in bed all day, only getting up to go to the bathroom, accept delivered pizza, and eat delivered pizza

not wearing the watch for more than half the day


“close your Move ring” seems like a subtle way to merely get people to wear the watch all day instead of leaving it off. Sure, I could crank it up materially, but I’m not convinced that’s a better idea than making sure I get decent levels of proper exercise per day.


The middle green Exercise ring closes automatically when you get your activity level “above a brisk walk”, or if you manually start a logged exercise from the watch.


This is the interesting ring to close. Cutoff times are right at midnight, so there’s no fancy logic for people who have a nonstandard sleep cycle. One evening, I started a 45-minute yoga session (with the three-months-free Apple Fitness+) at 11 PM. Still made the midnight cutoff, but if I’d started 35 minutes later I wouldn’t have closed that particular ring that day.


I should probably try HIIT workouts on Fitness+ if I’m feeling too lazy to prep for a gym run or even strap on the Ring Fit Adventure Joy-Con thigh garter, but yoga seems to about as useful for calorie burning as a walk around the neighborhood.


The inner teal Stand ring closes when you stand at least once per hour for at least one minute.


I turned the initial stand count down to 10 hours, mainly because I don’t have the thing on my wrist all the time and I don’t want to get penalized for not wearing the watch. I may turn it up back to 12 or whatever, but I don’t really have a strong incentive to do so.


One of the insights that I had the other day was “if I close all my rings, I won’t have any incentive to keep the watch on, and I’ll be able to take it off and just leave it on my desk until it’s time to go to bed”. This does not sound like the start of a happy, productive relationship with an electronic gizmo.


While I could stand to lose more than a few inches (ask any but one of my pairs of pants), the oblique “keep me on your wrist” clinginess via incentive structure is vaguely unsettling, even if it is useful. The exhortations to close one’s rings at the end of yoga sessions still manage to seem vaguely creepy.


2022-01-20: A man with one calorie tracker knows how much energy he’s burned; a man with two is never sure


I got an Apple Watch recently. It’s utterly incapable of telling the difference between me sleeping in bed and me lying in bed awake, making it useless for the main reason I bought it, but that’s a story for another day.


One of the ways I keep from morphing into a blob of fat is by doing Ring Fit Adventure for the Nintendo Switch. As you might guess, you can tell it your height and weight and, as part of all its tracking, will tell you how many calories you’ve burned during a play session.


Today’s play session lasted one hour and 40 minutes of wall-clock time. This translated into 48 minutes of exercise time (as opposed to resting-pose time, or navigating-through-menus time).


Ring Fit Adventure says that I burned 328.75 calories.


My Apple Watch, set to track calories as I perform “Fitness Gaming”, says I burned 891 “active calories”, and had a total calorie-burn count of 1,083 calories. This was counted during a duration of 1 hour and 37 minutes (I counted RFA’s cooldown separately).


The Apple Watch says at the outset of the exercise session that anytime it can’t track your calorie expenditure, it’ll fill in the estimate with however many calories are burned by a brisk walk, but I don’t have any idea how much workout time it had to use this fallback for.


For reference, 328 calories is, roughly, biking on a recumbent bicycle trainer at a leisurely pace for an hour or so, according to the bicycle trainers I’ve been on. Meanwhile, walking uphill at a 13% incline for an hour at 3 MPH (4.8 kph) burns about 800 calories, according to all the treadmills I’ve been on.



I’d like to have some kind of wrap-up or broader lesson that I drew from all this, but I don’t have one. I’m still stumped. Calling Unsolved Mysteries at (800) 876-5353 wouldn’t do anything, but I’m not sure what would.


2022-01-14: Size matters


Background information:


Overcast, an iOS and iPadOS podcast client

Concourse, a font by Matthew Butterick


Overcast got an update yesterday. From its release notes:


> - Now exclusively uses the system font for practicality, modern design priorities, and broader world-language support. I bid a very fond farewell to the excellent Concourse font that served us well for many years.


While I can totally understand why Arment dropped Concourse in favor of SF Pro, the visual change had two pronounced effects on what the UI looked like:


On iOS, it seemed like the overwhelming majority of the app’s personality just died.

On iPadOS, the app seemed much more like a pro app. I was running it in dark mode at the time.


A net negative for my uses, but I really didn’t expect the weak positive on my iPad.


Even More


If you want to keep reading even older entries, here’s the page for the previous year:


../2021/



Home


Hi! I’m a one-pixel invisible tracking image! View me to let my webmaster know you’ve scrolled through the entire page!

-- Response ended

-- Page fetched on Sat May 4 11:18:44 2024