Email or username:

Password:

Forgot your password?
6 comments
Kartik Agaram

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.

codeberg.org/akkartik/driver.l

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

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.

Kartik Agaram

Inspired by @ltratt's tratt.net/laurie/blog/2023/com, 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.

Kartik Agaram

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

Kartik Agaram

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.

git.sr.ht/~akkartik/driver.lov

(What is a "freewheeling" app? akkartik.name/post/roundup22)

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.

Kartik Agaram replied to Kartik

Some distilled reference documentation on my Freewheeling Apps (a way of building low-maintenance Situated Software for small groups)

In a bare-bones template repo (~500 LoC): codeberg.org/akkartik/template

In a more elaborate template with testable primitives and an editor widget: codeberg.org/akkartik/template

Open it on a browser tab when you clone and start editing using git.sr.ht/~akkartik/driver.lov. There are a few examples in the Readme to spark ideas. Works on any Windows and Unix.

Some distilled reference documentation on my Freewheeling Apps (a way of building low-maintenance Situated Software for small groups)

In a bare-bones template repo (~500 LoC): codeberg.org/akkartik/template

In a more elaborate template with testable primitives and an editor widget: codeberg.org/akkartik/template

Kartik Agaram replied to Kartik

A little app for drawing graphs

git.sr.ht/~akkartik/snap.love

I've wanted something like this for a long time. Intended for small graphs where laying things out by hand is not too painful, and it's nice that things don't move around every time I make a change, as happens with graphviz (graphviz.org). The file format is also amenable to git; no long lines, and adding new nodes or edges doesn't reorder unrelated nodes and edges.

Go Up