Thread with 33 posts

jump to expanded post

these last few weeks, @lynn and me have been working on a c compiler for uxn, based on rui ueyama's “chibicc”. it's been a lot of fun! it's such a cute little vm… assembly for this tiny stack machine involved so many little puzzles.

i made a demo https://github.com/lynn/chibicc/blob/uxn/examples/star.c :3

Open thread at this post

it does all of that while having far fewer api entrypoints than posix or wasi or the browser or any api you can think of, and they're all defined in such simple and constrained ways that there's very little room for incorrect implementations (though still some: i have found bugs)

Open thread at this post

i am pleased to announce oneko-uxn: a port of oneko-sakura to #uxn. this is a version of the classic software ”Neko”! 🐈🖱

https://github.com/hikari-no-yume/oneko-uxn

日本語版も有ります。

this all was made possible with chibicc-uxn, the c compiler for uxn that @lynn and i have worked on together.

have fun!

Open thread at this post

i found a bug in oneko-uxn: the 16-bit Euclidean distance calculation can overflow even for 8-bit inputs :(

but @lynn found a great alternative: the average of the L1 norm and L∞ norms is within ~6% of the Euclidean distance, and way easier to compute!

https://github.com/hikari-no-yume/oneko-uxn/commit/060bc664e647e3ea6d1362fa5d882c1d1b95a87c

Open thread at this post

@cr1901 @lynn

0 ≤ x ≤ 2π

cx = cos(x)
sx = sin(x)

i plot a point at (cx, sx)

interpreting (cx, sx) as a vector from (0, 0), the euclidean distance is always going to be 1, right

i then calculate the same distance with our approximation, and plot a point at (cx * distance, sx * distance)

so the red line shows how far it strays from euclidean distance at various angles

Open thread at this post

@cr1901 @lynn you can see that at 0°, 90°, 180° and 270°, there's no difference, which should be intuitive considering that these are exactly the directions for which euclidean distance, L1/manhattan distance and L∞/chebyshev distance are identical, so an average of these last two should be the same as the first of these

Open thread at this post