Nov 14, 2021
App runtimes should support modifying apps.

Here's a 2-minute video on how that might look.

https://archive.org/details/akkartik-2021-11-14

permalink

* *
Nov 11, 2021
Minor epiphany about Lua

a = {11, 12, 13, key=14, 15}

permalink

* *
Nov 6, 2021
You knew this was coming. Conway's Game of Life in text mode using Unicode Braille glyphs.

git clone https://github.com/akkartik/teliva
cd teliva
make linux
src/teliva life.teliva

Sources: https://github.com/akkartik/teliva/blob/main/life.teliva

permalink

* *
Nov 6, 2021
New project

https://github.com/akkartik/teliva

"An extremely naïve, brutalist attempt at packaging up simple Lua (5.1) apps with all the stuff needed to edit and build them."


Fun with the kids on a Saturday morning messing around with daddy's new program.

We gave each ring its own color, and we have it set up to move the towers randomly around after every move. Supremely silly.

Screenshot of Teliva running a towers of Hanoi program.

permalink

* *
Oct 8, 2021
Marceau, Fisler and Krishnamurthi, "On novices' interactions with error messages"

https://cs.brown.edu/~sk/Publications/Papers/Published/mfk-mind-lang-novice-inter-error-msg

A rare empirical study that I found extremely useful.

Outside of a univ course, my lessons are slightly different from the paper's:

  • Maintain a map of error messages for a project, use this to minimize the vocabulary of error messages.
  • Be enigmatic rather than risk misleading.
  • Make affordances beyond error messages optional. Color-coding has a cost. Not highlighting may be better.

permalink

* *
Sep 27, 2021
I'm tempted to blindly implement https://github.com/JonathanMEdwards/subtext10/blob/master/doc/language.md in Mu without questioning any of its design choices.

permalink

* *
Sep 1, 2021
Hackiest possible support for rendering Unicode combining characters using GNU Unifont

This is the equivalent of backing up a typewriter by one character and overlaying a second letter on the same space.

Main project page: https://github.com/akkartik/mu


Detail of a Qemu window showing a few characters being rendered.

Top left: an 'à' created from an 'a' and a U+0300 combining grave accent. Having it right at the corner shows how the accent is almost invisible against the window boundary.

Middle column: an 'à' under a regular 'g' showing that the accent is again almost invisible against the descender of the character above.

Right column: an 'à' to the right of a regular 'g' looks best of all, though the accent is still too high.

Bottom half: a list of devanagari vowel diacritics modifying the same consonant. Looks reasonable except for a couple of cases where lines overlap.

This is the best we can do with a single glyph for any accent without getting into glyphs for individual ligatures, since it has to work with a large variety of letter shapes.

permalink

* *
Aug 30, 2021
Unicode in Mu's network-less read-only browser

Main project page: https://github.com/akkartik/mu

Before: Before: A Qemu window showing an image and some text. A single word is highlighted: 'Schr00f6dinger'

After: After: A Qemu window showing an image and some text. A single word is highlighted: 'Schrödinger'

permalink

* *
Aug 30, 2021
The Mu computer now loads 140KB of Unicode glyphs from its system font

Unicode blocks now supported: latin, greek, cyrillic, armenian, hebrew, arabic, syriac, thaana, n'ko, indian (ISCII), sinhala, thai, lao, tibetan, myanmar, georgian (< U+1100)

Caveats:

  • No support for combining characters yet (https://en.wikipedia.org/wiki/Combining_character) This makes the other languages I know (Hindi, Tamil) well-nigh useless.
  • Unifont's glyphs for the non-Latin languages I know turn out to be quite spectacularly ugly.

A Qemu window showing a pidgin sentence in Hindi ('chhat kam bas sach' which I squint and translate as 'a low roof, that's the truth,' as close to a motto for Mu as I can get without _matras_ or combining characters).

Further down, a single word in Tamil ('nada' or 'walk')

permalink

* *
Aug 15, 2021
A network-less, read-only browser built up from machine code

https://archive.org/details/akkartik-mu-2021-08-15 (video; 5 minutes; includes instructions to try it out)

A lot gets said about simplicity in software, about essential vs accidental complexity. If you really want a simple stack that empowers everyone, it isn't enough to just eliminate accidental complexity (even if we could all agree on what it is). You need to also avoid other people's essential complexity.

Main project page: https://github.com/akkartik/mu

Screenshot of a Qemu window running a mostly text-mode browser, with a list of channels on the left, a search bar on top, a list of posts on the right, and a menu of keyboard shortcuts at the bottom. Posts include images for avatars on the left.

permalink

* *
archive
projects
writings
videos
subscribe
Mastodon
RSS (?)
twtxt (?)
Station (?)