May 23, 2023
Image maps are pretty cool.

After I posted my talk yesterday, Konrad Hinsen suggested appending a list of links to all the forks I mentioned. Searching around, I found a neat service called image-map.net which made my image of forks clickable with relatively low effort.

Check it out.

The only drawback: link coordinates are not normalized. So if you resize your the links all break.

Image showing a bunch of rectangles.

Screenshot of image-map.net UI for mapping rects in the image to different links.

permalink

* *
May 7, 2023
Another day, another copy-paste of a website to a less barbaric reading experience.

Screenshot of https://scp-wiki.wikidot.com/we-need-to-talk-about-fifty-five as viewed in https://git.sr.ht/~akkartik/broadsheet.love, a wide-screen reading app that dynamically changes the number of columns of text to be more readable.

permalink

* *
Apr 10, 2023
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).

In a more elaborate template with testable primitives and an editor widget.

Open it on a browser tab when you clone and start editing using driver.love. There are a few examples in the Readme to spark ideas. Works on any Windows and Unix.

permalink

* *
Apr 9, 2023
Update on my live-editing environment. It's still extremely easy (1% for me, 10% for others?) to crash the driver, so I've been trying to track down thoses corner cases. Realization: my memory of such crashes and instinct for situations causing crashes is extremely unreliable. Possibly the app's error behavior is changing under me during seemingly unrelated changes. I've been spinning my wheels on this for a couple of weeks. Hopefully it'll clarify over time. I might need a more elaborate set of tests that involve configuring a client app just so.

permalink

* *
Mar 31, 2023
Today I got a feature request from someone in the LÖVE community and created a fork of lines.love with 2 buttons:

    * `clear` the buffer. I imagine this like clearing an Etch-a-sketch. * `export` the buffer to html. I imagine it emerging out of the app like a Polaroid.

He sent me this screenshot from his iPad <3

Try it out if you wish.

permalink

* *
Mar 26, 2023
Belated video in Readme for this cool fork of a texture synthesis algorithm.

permalink

* *
Mar 25, 2023
One consequence/challenge of working with lots of forks: you develop a heatmap of the areas of your code most likely to have merge conflicts. I feel a very tangible pain now any time I have to touch something within 3 lines of the place where I set the window title. Every fork has a different window title, and the idiosyncracies of text-based diff guarantee every fork will flag a spurious conflict.

Hmm, perhaps I should start surrounding such lines with 3 empty lines..

permalink

* *
Mar 10, 2023
Ooh, I found a nice meaty Mastodon thread to visualize using my app.

Found a bug in the process.

permalink

* *
Feb 19, 2023
Mastodon thread visualizer in LÖVE

It took me a while to get to this, but here it is.

The layout is extremely jank, but it makes up for it somewhat using keyboard navigation. And you can click on any node to copy its URL.

LÖVE doesn't yet support https. The next version should, but I finally lost patience and temporarily put together a Lua+luasec crawler that invokes LÖVE.

Like my last few apps, this one can be edited live without restarting it.


Hmm, the second point in the alt-text for the second image requires a correction.

> The current implementation definitely has a bug relative to my intent..

The bug isn't in the implementation but in the algorithm itself. It violates the final constraint I'd set for it.

> cousins never overlap columns

Hmm, time to read the literature.


  design constraints:
  - trees only, no graphs or DAGs
  - parents above children
  - a child shares its parent's column exactly only if it's an only child
  - parents can overlap columns with children and more distant descendants
  - siblings never share a column
  - siblings never overlap columns
  - siblings always occupy the same row
  - cousins/aunts/nephews never overlap columns


Ah, it only took a slight tweak. This looks much better.

Medium-sized thread, take 2

Larger thread, take 2

permalink

* *
Jan 28, 2023
I just had a fun hour with the kids and this program:

iga: texture synthesis

Based on the Wave Function Collapse algorithm.

We tried out different tiles for a while.

After I got sick of typing out the filenames, I added the ability to drop files on the window.

Then we noticed that some of the tiles are more boring. I hardcoded the starting point near the bottom rather than the top, and that helped.

Finally I had it take the starting point from the place where you drop the file on the window.

permalink

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