Universities and other academic institutions should run their own source code repository service. A replacement for github if you will (i'm politically neutral on whether it should be gitlab, gitea, forgejo, or SSH, or whatever). They have a civic and academic duty to preserve the research artefacts of their workers; which unquestionably includes code. It is unacceptable that for the entirety of the 21st century almost every single part of the Academy has punted this service onto entities outside of their control, funding, and jurisdiction—latterly github. Yes, tarballs of code on departmental ftp servers (the 1990s practice) was literally better than this.
I'm re-reading parts of the ZX81 BASIC Programming Manual (because of side-side-sidequest), which is the book that came with the ZX81. I had this when i was 10, and i'm time and time again gobsmacked by the amount of educational effort that went into this pack-in provided with the cheapest micro of all time. It's more or less how i learnt trigonometry, but i wanna talk about Chapter 15, which is about software engineering lifecycle management, or, as they put it, "Making your programs work".
It comes with a flowchart (for humans): two absolutely key parts of this chart, still overlooked in many orgs: 1 "Write program with as few bugs as possible"; 2 "fix them introducing as few new ones as possible".
My second article on Pica this year, this article is about the (big) numbers found in the Pica fonts on typewriters. Featuring my meticulous research[*] and an Italian beauty. Typewriter nerds and font nerds are gonna love it:
@RamenCatholic linocutting (and relief prints in general). There are a couple of widely available starter kits and they are fine for getting started. Cutting different materials can be fun, i used a bit of bathroom lino (it's vinyl, not really lino) https://typo.social/@drj/113606134183001135
For a really basic start, you can use found wood (vegetable crates) and box-cutters.
Welcome to #MOVember, one asm MOV instruction each day.
The Motorola MC68000 has a BEAST of a MOV instruction. Official assembler mnemonic: MOVE. Refreshingly clear!
You could move to and from registers and/or memory. 8-, 16-, 32- data sizes. Post increment, predecrement. Including memory-to-memory moves (*Ferris Bueller soundtrack voice*: Oh Yeah).
`*d++ = *s++` is a single instruction in 68000.
Officially destination on the right: MOVE A7,D0 copies the A7 register to D0