Lua-Machine: An 1980s-style design with a single-core 2000-era CPU following the risc32cfimv spec, all I/O occurs uncompressed within a 4GiB address-space. Minimal OS!
For SQL: Embed compute in the datastorage! Where we can upload tiny programs!
Graphics Workstation: PS3-style Cell Processor with a today-normal GPU, led by a Reduceron.
Now what would I do for mini-Kanran? (resembles Prolog, but more idealistic)
I enjoy designing my own hypothetical hardware! What have I designed so far?
A hardware-browser/communicator (my fav!): Hardware-pushdown automaton producing/fetching data routing instructions. Augmented by a 16bit core comparable to 6502, NPU, & carry-save adders you can rewire. For graphics add a Tree-SIMT & a rasterizer for sorted display list. For audio add a sampleable sine-wave generator & a dedicated multiply-adder. GPS would need a more normal microcontroller.
. Help installing . Workshops doing training on the OS and on specific packages . Raspbian as a "getting started" platform, especially for anything pitched at teens . The generation of localised documentation, especially how to do things entirely in the GUI . Art groups running workshops followed by performances
Computer science is based on foundational assumptions about which operations are fast vs which are slow. So when I design hypothetical hardware, that *can* change these underlying assumptions. But we needn't go that far!
Merely promising that you want modify any data changes performance considerations! Which is the route Haskell takes.
I quite like it, though I would advise picking compute-intensive tasks for Haskell! That's what its suited to!
At the base of this stack of resonators is some input audio, which may be: * raw samples of a vowel sound, * a special waveform (vWave, a.k.a. glotal flow wavefrom), * or some hardcoded inputs to an initial resonator. Into which we multiply-in breathing, represented by random noise shaped by a sine-wave.
We'll probably want to add additional sound-effects (e.g. subtle echoes), but that's the core logic! For making this Lua machine useful to the blind!
I'm sure we can do better today even without ML, I'm sure our hypothetical Lua-Machine can do better... Which I understand @patchlore is working on...
But I'll describe the iconic model of a vocal tract a rushed Dennis Klatt implemented in the 1980s for a then-recently paralysed Prof. Stephen Hawking. Since that's what I'm familiar with!
The primary component of which is a "resonant" which is a multiply-sum over its 3 most-recent inputs. We stack a whole bunch of these!
Once the computer figures out how to pronounce some text, how do we convert those "phonemes" into audio our speakers (& in turn our ears) understand? How'd we do so on our Lua machine?
First we need to enforce some emphasis rules, & interpret those phonemes to determine how to shape our computer's simulated vocal tract to produce those noises.
The voice you've selected (they're small, we can fit multiple) can tweak this vocal tract & pronunciation rules.
* Convert indices, stripping/testing prefixes/suffixes, splitting, replacement, concatenation, hashing, comparison, converting from a Formatter, etc. * Definition of the WStr type with implementations of various common traits, abstracting the other submodules.
1.5/1.5 Fin for today! Tomorrow: Resume Twisted (in place of revisiting Gawk on LFS schedule) before finishing off Ruffle with its in-browser port!
Looking over Ruffle's (reimplementation of Flash in Rust) "wstr" component I see...
* Lookuptable for converting between upper & lower case. * Some light abstractions for the public API. * Utilities for iterating over UTF-8 or UTF-16 strings. * Utils for taking slices of strings. * A testsuite. * Parsing numbers. * Iterate over a string to find matching indices, producing an iterator. * Abstraction around a byte-array, to prepare widestrings in.
The global majority is very much interested in and engaged with the development and maintenance of free and open source ecosystems. I will die on this hill.
A browser developer posting mostly about how free software projects work, and occasionally about climate change.Though I do enjoy german board games given an opponent.Header picture is of Mordecai from Lackadaisy by Tracy Butler.Pronouns: he/him/whatever#noindex