Gemini Links 31/12/2025: New Resolution, Reverse Hexdump, and Programming Languages
![]()
Contents
-
Gemini* and Gopher
-
Personal/Opinions
- "
-
2025 Resolution
In the great year two thousand and twenty five I shall become the official spokesperson for a brand of luxury toilet paper.
-
New year, new me
As this year is going to an end, there is always a strong urge to sum everything up. This year is not different. Some things worked out, some worked partially, and some not at all.
This is my examination of conscience.
On one hand, the apartment renovation, on one hand, is almost finished, at least the part which I decided (or kind of was forced by myself because of finances) to do on my own.
-
-
Technology and Free Software
-
I could've just used Instacart
December 30, 2025. Day before New Year's Eve. I've been back in town for a few days now and it's taken me as many to find the energy to make it out to the grocery store. I didn't leave my cabinet in good shape when I left, leaving only half a box of cereal and a few packs of dry beans for my return. Rather than spend another day rotting in my apartment I thought it'd be nice to get enough food to make something real.
Maybe my favourite story to tell about my first apartment was grocery shopping with my partner. We lived on the top of a pretty big hill, the sort of place where all the more fortunate people in the city lived. Unfortunately for us, we didn't own a car. Getting to the grocery store meant taking a twenty minute walk down hill to the University, where we could take a forty minute bus ride into town. Making it back meant taking a forty minute bus ride back to the University and what felt like a much longer walk back up the hill to our apartment, now with all our groceries. In the annual 100-year heatwaves plaguing the valley during the summer, I figured I'd lose my mind if I had to go each week so I tried to plan around going grocery shopping only once a month. That had some obvious trade-offs.
I'm not sure why I like telling that story so much. Maybe it made me feel better about where I lived. Indeed, my neighbours didn't really understand how it felt, because everyone on the hill owned or at least leased a car they could use to drive wherever they want. Despite the neighbourhood's incredibly bougie name, it was actually a really awful place to live; it's just that it was awful in a lot of ways that are kind of hard to talk about.
-
m0ar 7-11
I have discovered that the 7-ELEVEn drops a lot of merch that I seem to keep picking up, which I have phlogged about previously [1] Their merch makes it convenient to have both 7 and 11 represented simultaneously.
7 and 11 seems to have become some kind of personal number for me. Some people have spirit animals...I seem to have spirit numbers. I have heard that these numbers have some kind of woo-woo spiritual significance...which there might be something there, but I think I need to look into that idea. I'm just aware that they follow me.
They are also prime numbers. 7 is a prime number. 1 is a prime number and so is 11. 711 is not a prime number, it is divisible by 3. Same with 171 and 117.
-
Midget Slide Rule Part 2
I disassembled and reassembled the cursor assembly a few more times, and now my Midget slide rule is functioning at a satisfactory level — at least well enough to proceed with investigating the scales. My current configuration left one unused washer, which I have placed in a ziploc bag. Now if I turn the L cursor, both the S and L cursors turn and the angle is preserved. I can also change the angle by holding down the L cursor while turning the S cursor. According to the instructions, I am supposed to be able to simply move the S cursor freely, i.e., without having to hold down the L cursor. But if I try to do that, sometimes the L cursor catches and they start turning together — so something is still not quite right.
I observe that there is also some slight inaccuracy introduced depending on where the cursors are around the dial, as though a cursor is not perfectly centered, or some similar problem. Generally, if I am expecting the answer to be x (some whole number) the answer might actually be somewhere between x and x+0.1.
-
Internet/Gemini
-
Posting on gemlogs and blogs
After I posted my article I run "antenna.sh" to put it on the "Antenna" feed aggregator, which is optional, but I could put it into my "gemini_up.sh" to automate this too.
Of course everyone has his/her own needs to publish an article (maybe their site isn't static, which complicates things) and there are really interesting ways some people use to publish, and posting via email is surely one of them, and some people may want to post from their phones (which is much too cumbersome for me on the phones keyboard anyway), but to publish a simple article shouldn't be that complicated. Many people may have a separate web blog, which may be more complicated to post to. I can't say much to this, because I simply use "Kineto" to make my Gemlog available on the www and I wrote a proxy in Go for my Gopher Hole. And I chose Gemini/Gopher/Finger because it's so easy to publish, among all the other things which make them interesting.
My complete Gemini/Gopher/Finger/smolweb site is stored in a git repo which I push to my local repository store from time to time. It's also distributed to all my workstation/laptops with SyncThing, so I have the same easy process on all of them. I don't see a need for publishing my repo to the public, even as a backup. I'm sure my backup strategy is safe enough, that I won't lose the data, even if my flat is on fire, in which case my server would be pretty irrelevant to me.
But to publish via email with all the needed configuration and scripts involved is surely one of the more creative ways to post an article, and I like it nonetheless. :)
-
-
Programming
-
Reverse Hexdump
Why not use some form of `xxd -r` to reverse a hexdump? vim not being installed would be one reason. Other options include hex editors that handle the presentation and reversage for you, e.g. bvi or the "Binary VIsual editor" among other options. The presentation part is because just zeros and ones is not very intelligible to most humans, though there are probably some Woz-likes out there who will recognize what is going on, though even they may benefit from at least a little chunking of the numbers, maybe into groups of eight or 10 or whatever. The Babylonians counted by 12 using the thumb against the 12 other finger joints on one hand. Slightly to the west of them was Caria, from whom the Greeks stole or adapted Hecate, who at some point became associated with the moon, crossroads, magic and therefore hexes. Such hex codes of course aim to be regulated by the powers that be, or understood by the "wannabe hackers, code crackers" that Weird Al has spoken of so many times.
-
What I want in a Programming Language
This year, I did advent of code in Python, using it's type system and mypy for type checking. It's been a nice experience - I haven't used python very extensively before, and it's been nice to work with, but I do kind of pine for a compiled language. Especially after reading this article from Daniel Beskin about the power of type systems and working with the compiler.
[...]
I've toyed with a handful of languages; at this point, I've written code in C, C#, Java, Scala, Haskell, Python, Lua and Ada. I think Java and Scala are out just because I don't want to deal with the JVM, Lua is worse than Python for the things I care about. C# on linux is a pain. C doesn't have the functional constructs I'd like to have. Haskell can be tough to reason about with Monads and side-effects. I know Rust has some Haskell-inspired functional stuff, and a very strong community, but it does use braces. Python isn't compiled, but it has most of the other things I'd like to see. I don't know enough about Ada to eliminate it, but I suspect it doesn't implement a lot of functional constructs. It's type system is so dope though.
-
-
-
* Gemini (Primer) links can be opened using Gemini software. It's like the World Wide Web but a lot lighter.
