Jan 23, 2023
Dealing with failing tests when all you have is a map for code

Mechanisms:

  • Highlight tests in green.
  • Run all tests on any change.
  • Highlight failing test cases in red.
  • Turn edges of vision red when there's any failures, just in case failing tests are out of view.
  • Hotkey to zoom out over all of current view.
  • Same hotkey to restore viewport settings.
  • Click anywhere to zoom in.

Check it out in my live-editing programming environment.

(What is a "freewheeling" app?)

permalink

* *
Jan 16, 2023
Inspired by a recent blog post by Laurence Tratt, I spent some time kicking the wheels on my code map based programming environment by building a BF interpreter.

Next up: reproducing in Lua Laurence's results regarding the compiler-interpreter spectrum.

Here's the "load screen" for my environment, showing a visual overview of the code I've written.

permalink

* *
Jan 8, 2023
A map for code

In this video, I start up in quick succession:

  • a simple test app
  • the 'driver' programming environment showing the map for the app's code
  • the 'meta-driver' programming environment showing the map for the driver's code

On initial load the driver (glitchily) zooms out over the whole codebase before zooming back in to the previous session.

Check it out.

(Inspiration: early side-scrolling videogames that would often start a new level by panning across all of it.)

permalink

* *
Jan 3, 2023
This is pretty cool, a blog arranged in a Hilbert curve on an infinite 2D grid.

permalink

* *
Dec 28, 2022
I've been live-coding my Lua-based markup language luaML using a driver program. Now I've pulled luaML into the driver program so that I can open multiple buffers, move them around, zoom in, zoom out, etc.

(And yes, you can live-program the driver. Not quite using itself, but by copying it into a "meta driver" and making a handful of edits.)

Compare v1 and v2 of the driver.

permalink

* *
Dec 24, 2022
luaML on an infinite surface

You can draw various graphics and edit text in arbitrary grid layouts, all on a pannable, zoomable infinite surface.

Repo

permalink

* *
Dec 19, 2022
Today I discovered "How many computers are in your computer?", which seems to have been started around 2010.

(I started Wart in 2010, Mu1 in 2014 and Mu in 2017.)

permalink

* *
Dec 17, 2022
Black triangles for the umpteenth time.

I reimplemented my little box model atop a foundation of an infinite 2D surface that can be panned and zoomed.

permalink

* *
Dec 14, 2022
The world is cranking through AoC and zooming toward a ChatGPT future, and I'm still here thinking about the right way to visualize past versions in a live-programming environment.

And my note-taking app. One thing I did recently: a move command that moves columns (analogous to browser tabs) to the left, while continually truncating columns on the right beyond some limit. The combination of these two has changed how I work, from messes all over the surface to much more localized access patterns where I live near the top left and move things over to it as I need them. (It's not a catastrophe if I lose a tab because on-disk search is working well.)

permalink

* *
Dec 2, 2022
“In general, the higher level your graphics API, the harder it is to get horizontal and vertical lines to draw on the physical pixels. At the frame buffer level it is trivial. Cocoa and UIKit it is possible with some effort. SwiftUI it is impossible. HTML is hopeless.

“When printing meant writing some Postscript it was a little work, but doable. Getting it onto a printer through a modern printer API is essentially impossible.”

a comment on Hacker News

permalink

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