I just posted a 1.5 megabyte tarball of about 2000 pages' worth of my notebooks from the last 12 years: canonical.org/~kragen/dercuano

This new version of Dercuano is about 3000 pages of text instead of the 2000 it contained a month ago. Major topics include programming, performance, electronics, physics, materials, algorithms, graphics, pricing, history, HCI, energy, math, thermodynamics, independence, systems architecture, programming languages, DSP, household management, small is beautiful, instruction sets, manufacturing, politics, and archival. Git repo at gitlab.com/kragen/dercuano.

I just uploaded a new version of Dercuano: canonical.org/~kragen/dercuano

It now contains about 3500 pages rather than the 3000 a month ago. New notes cover topics including sundial design, scratch holograms, bootstrapping in assembly language, the photosynthetic efficiency of crassulacean acid metabolism, why weirdness is a good life strategy, Bitcoin, dielectric spectroscopy, self-modifying 8080 machine code, fractional-reserve banking, the method of secants, and conical Chinese windlasses.

Current Dercuano is canonical.org/~kragen/dercuano

New stuff about unistroke recognition, approximate convolution, sandwich theory, 3-D printing with needles, cardboard furniture, and terrestrial lithium reserves, among other things.

New version of Dercuano: canonical.org/~kragen/dercuano

New stuff about robust hill-climbing algorithms, linear regression with complex numbers, robot design, economic specialization, and more on unistroke recognition.

New version of Dercuano: canonical.org/~kragen/dercuano

New stuff about local search, linear optimization software and applications, cold plasma oxidation, things in Dercuano that would be big if true, and heat exchangers.

New version of Dercuano: canonical.org/~kragen/dercuano

Lots of new stuff about RL78 microcontrollers, the 8080 instruction set (in octal), AM-radio energy harvesting, AVR bitbanging, relational queries by pattern-matching on text files, multitouch and accelerometer puppeteering, database indexing for neighborhood search with a startling connection with morphology, differentiable neighborhood regression, autism, gold-leaf microstructures and metamaterials, "everything is money", and recycled materials

New Dercuano version: canonical.org/~kragen/dercuano

New stuff on sparse linear image filtering and sparse filter design in general, structure from shading, dehalftoning and halftone detection, bokeh (and removing it), high-speed camera hardware, vertical agriculture, subliminal signaling, bionic hearing, rapid laser deflection, function plotting, and interval trees. So much left to write!

New Dercuano version: canonical.org/~kragen/dercuano

New stuff on homoiconic languages based on finite maps, edge-labeled digraphs, ropes and B-trees, lithium fission energy, optimization with a higher degree of convergence using affine arithmetic, transformerless power supplies, ray casting fractals, browsing local HTML on Android and elsewhere, time-series database indexing with affine arithmetic, convex hull algorithms, sparse filtering, and Darius Bacon's new language Cant.

New Dercuano version: canonical.org/~kragen/dercuano

New stuff on homoiconic edge-labeled digraph programming, data: URLs, silent ice-vest coolant pumping, GNU MathProg, audio position sensing, electronic starter kits, vulgar misconceptions about programming languages, SQL, the Collatz conjecture, syntax highlighting, parallelization of NFA evaluation, the union find algorithm, mineral foams, Óscar Toledo G.'s bootOS, freezer phase-change materials, pectin gelling for 3-D printing, etc.

New Dercuano version: canonical.org/~kragen/dercuano.

New stuff about shitty "LC51" car USB chargers, paper/foil relays, bistable magnetic electromechanical displays, electrochemical engraving and selective anodizing, and the $1 stroke recognizer. I haven't written much this month, but I'm not dead yet.

New Dercuano version canonical.org/~kragen/dercuano.

New stuff about Japanese magic mirrors or "makkyo", automated fabrication by laser-cutting fabric, Hadamard rhythm bases, hot-lye cutting granite, signed-distance-field raymarching with reduced affine arithmetic, negative-undirected-arc shortest paths, comb-filtering PWM harmonics, postquantum cryptographic resurrecting-duckling protocols, eventually-consistent content sync with rsync, FidoNet, increasing hammering forces 100×, etc.

Not dead yet.

New Dercuano: canonical.org/~kragen/dercuano.

Stuff on SDF raymarching, BDS C, mathematical optimization, plastics, audio UI, power supply circuits, morphological erosion, GUI protocols, photography, hierarchical control, off-grid living, Jecvals construction sets, GPT-2 text, solar furnaces and Heliogen, air filtering, incremental forming, long-life relays, furniture construction, SDR TV, rsync and git, GD32 microcontrollers, underwater kite power, etc.

The last or penultimate Dercuano release is at canonical.org/~kragen/dercuano.

It has new stuff about Tcl, ARM asm, power-supply design, battery price trends, berlinite, castable refractory, non-Turing-complete pubsub languages, diphone synthesis, Lucet, asm bootstrapping, GPT-2, high-temp semiconductors, parsers in asm, closures, memory-safe virtual machines, Nomadic Furniture, solar ovens, powder-bed 3-D printing, inorganic chemical pricing, SDR TV pointcasting, SDF raymarching, etc.

@kragen skimming immediate-mode-parsers reminded me of WAM too. I used the continue-in-ignore-mode idea in a parser at work once.

@kragen re immediate-mode-productive-grammars: dunno the specifics of either Go or VNC, but I guess I might generate the Go code in this case, vaguely like how wry.me/~darius/hacks/classfile works from a spec of the classfile format (in the latter part of that code). Another time when I had to codec ASN.1, the natural Java code to encode went in the opposite order to the decoding Java code, so immediate-mode doesn't seem like a good fit if the VNC protocol had similar properties.

@abecedarius because in ASN.1 BER you need to backpatch the byte lengths if you're generating it forwards? It's been long enough that I can't remember

@kragen yeah, that's the reason I remember. There was a big complex and, it turned out, vulnerable library in C that did it backpatching-style, and I felt safer just not using it. (Back in 2000.)

@abecedarius I wonder if there's a bottom-up way to handle assembly language that gives us optimal jump sizes for a given code sequence

@kragen how about, for starting a bootstrap, taking the assembler out of the trust base in favor of a 'validating loader'. Its input starts with a complete table of symbols & values in a fixed-width format. (Including not just labels but values of opcodes and such.) The remainder of input is a combined listing + machine code, like the output of a regular assembler. Has to check for match, but can be dumber and inflexible about things like format. Inspired by @akkartik's machine-code language...


@kragen @akkartik thinking of drafting one of these for a *simple* architecture like the RISC target of Wirth's compiler textbook, or I guess RISC-V -- & see how far we could cut it down.

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!