Measures

I've been writing this spreadsheet, and I've decided that what it needs is units, or rather measures

A measure is the amount of a thing, e.g., it's length, mass, duration, or some combination (length per duration is speed, for example)

A unit is the ratio of a measure to a standard (metres for length, seconds for duration, etc.), or some multiple of the ratio (feet, pounds, days).

Storing measures needs to keep track of it's dimensions, it's magnitude, and it's unit (we're keeping the unit for display).


Next step, for every combination of ValueType op ValueType, i need to write down (as code) what it means.


Current Computer Equipment Wish List

  • New monitor(s).

    Either 1 4k or a couple of 1440. Maybe curved? Must have speakers, HDR would be nice. Check specs of 1080, no point spending extra on e.g. 144Hz if the card can only do 60Hz

  • KVM switch.

    I can (and am!) swapping the keyboard/mouse/headphones USB over manually, and I've got Silk and the work laptop plugged into different inputs for the monitors, but ideally there'd be one less impediment to using the desktop.

  • 6E router

    Will only bring useful network up to 1Gbps, but could maybe put a 2.5Gbps card in ptah (although the bottleneck there is still the disks).

  • More storage space

    Lounge is full again, 18TB disks are out there (and best £/Gb), although I'd want to get two and mirror them. Equally, 2Tb NVMe drives are getting really cheap, problem is organizing enough M2 slots/PCIe lanes to use them.


Lisp as a system management language

Just the start of a though for now, but something like:

(def! apt-install (fn* (names) (apply exec "/usr/bin/apt-get" "install" names))

apply takes a function and a list of arguments, where the last argument is a list. It spices the last argument with the others and then calls the function with the combined list.


Since I'm going to be implementing in c#, I don't want to hobble my self from the start. Mostly this means c# strings are data types.

(Don't get distracted thinking about JavaScript, this is "Lisp as system scripting language", remember?)

record Pair(object? Data, Pair? Next)

record Pair<T>(T? Payload, Pair? Next) : base(Payload, Next)

... maybe


To remember your current position in the blog, this page must store some data in this browser.

Are you OK with that?