- 2023 - talks - How I play TTRPGs in emacsconf.org/2023/talks/solo/

Very fun video to watch. Solo engine implemented in Emacs Lisp with Org text buffers as the adventure log. It looks quite comfy!

you know what's cool about to write a custom that you can't do with Swift?

The dynamic nature of the language allows you to write anything in a DSL block, and pass it as a message (read: potential method call) to the DSL builder.

But the logic can be encapsulated in a module/class/whatever.

In , with a nesting of `CustomNamespace.Thingie`, you can never get rid of the `CustomNamespace` prefix to reference `Thingie`.

PSA: Running on a device with background app updates drains the battery much faster. Brings the duration down from multiple days (thanks to eink!) to ~1 or 1.5 days

Maybe this is stupid.

Let's say I have a generic protocol thingie:


Imagine it comes with properties a:A, b:B, c:C

I want one conforming type to only provide A. B and C don't exist.

This works as an expression on the type level:

Single<A, Never, Never>

But it's effectively unusable :)

How do I declare b:Never and c:Never if they are computed? There's no instance.


My actual use case is: for a `Payload` carrying type, there are variants without any.

Interesting. Who can relate? “You probably get punished for trying to warn your friends and family about all the threats we're facing. You try to plan for an uncertain future. You do your best to protect everyone around you. It's a lot of heavy lifting, especially when you're the only one who seems to care.” - okdoomer.io/shooting-the-doome

Today I'm starting to extract a Swift Package from my apps -- working title: "URLSchemer".

I'm using URL schemes in my apps to e.g. set/reset preferences, including some that aren't exposed in the app's UI, or to apply license codes after purchases.

Making a proper abstraction should not take too long (... famous last words)

Internet disruptions hit southern #Ukraine due to a winter storm causing power outages. Cloudflare data reveals traffic drops after Sunday, 23:00 UTC, in Donetsk, Kherson Oblast, and Luhansk. Crimea, Sevastopol City, and Mikolaiv also impacted, but less severely and recovering.

FWIW I'm really disappointed by the Onyx Tab X's resolution. Compared to smaller screens, lines are noticably more jagged in drawings.

Will review the annotation workflow nevertheless.

New hard disks arrived.

I've never upgraded my NAS, and it has no free ports, so this is going to be a slow process of replacing each of the 5 drives.