Dec 17, 2023
One nice reusable abstraction my LÖVE apps have all converged on is an immediate-mode button primitive. I draw all my buttons each frame along with all the callbacks they need, and a couple of framework-y lines of code in the mouse-press callback is all it takes to get them working. Last night I realized (while poking around in the LÖVE forums) that my hacky sliders in Lua Carousel's settings admit a similar abstraction (even better than the one there). The only additional complexity is it needs a couple more lines in the update callback that continually refresh the backing value as you drag the slider.

permalink

* *
Dec 16, 2023
Conway's game of life with colors


I think I'm going to call this variant "ChromaCline"

Read more on the Lua Carousel devlog.

permalink

* *
Dec 15, 2023
The Game of Life is one of my favorite programs, but I've never tried to go deep in learning about it, and as a result I still learn fairly obvious (with hindsight) things about it. This time I realized two things:

  1. I don't need to keep checking if a cell is in bounds. Just don't update a border of cells!
  2. I don't need to clean up the new array at each time step! :facepalm:

permalink

* *
Dec 14, 2023
Yesterday I turned a couple of my unused kids apps into just scripts you could run on Lua Carousel.

sum-grid.love

spell-cards.love (exercising my phone's microphone for the first time)

Both qualified successes. I didn't uncover any bugs, but the programs were 250 and 350 lines long, which starts to feel too long for my implementation of scrollbars.

permalink

* *
Dec 12, 2023
Huh, I just realized I've been doing #DecemberAdventure all along and just hadn't thought about it like that.

Day 2

Day 4

Day 7

Day 9

Day 10

Day 11

permalink

* *
Dec 6, 2023
So Mu was on the advent of Qemu calendar yesterday, and I totally missed it.

Qemu Advent Calendar, day 4

permalink

* *
Dec 3, 2023
This bug I foisted on myself today was a real "things are not as they appear" puzzle.

bugfix: only check for settings menu when open

permalink

* *
Dec 2, 2023
I fixed several embarrassing bugs in Lua Carousel in the past week, including:

  • Buttons now flash to give you feedback that, e.g. the file was actually saved like you asked and you didn't fat-finger the wrong button.
  • Tapping didn't always move the cursor.
  • If you selected some text and hit 'clear', the app would crash.
  • Dragging on empty space above the settings menu selected text beneath.
  • Lots of jitteriness.

Please give it a try.

By way of apology please accept this screenshot of the tree L-system fractal (https://en.wikipedia.org/wiki/L-system#Example_2:_fractal_(binary)_tree) running within Lua Carousel

permalink

* *
Nov 27, 2023
I'd somehow never drawn a Hilbert curve before. Finally rectified this omission.


I released the hopefully final feature last night for my mobile-friendly REPL: file loading and saving.

From here on out I only want to work on UI polish and accessibility. Let's see how long it can stay running without incompatibilities that require upgrades.

permalink

* *
Nov 26, 2023
Achievement unlocked: I've built an app large enough that it crashes my programming environment that puts all the code on a spatial surface.

Or spread out enough, rather. It's not really about lines of code, just how much area the code occupies.

The problem: I do this snazzy initial animation (see video) that takes in the whole thing before zooming back in somewhere.

That animation works by drawing the whole surface to an in-memory canvas before transforming it. Turns out drawing to a canvas still uses the video card, and I don't have enough video RAM for a virtual "monitor" of this resolution.

permalink

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