Email or username:

Password:

Forgot your password?
15 posts total
Capital

But the recent Mastodon upgrade has caused a significant amount of performance degradation, and I think the only way to really solve it is going to be to throw a lot of money into hardware.

:ohnoes:

botsin.space/@muffinista/11339

Job

@capital

> So the usage patterns [of mastodon.social and botsin.space] are very different, and I think it's safe to say the the mastodon codebase is tuned for mastodon.social and not a weird freaky server like botsin.space.

That's very generous of them, but I'm still inclined to assume Mastodon is being myopic to different usage patterns than their own, resulting in those patterns being needlessly inefficient (and therefore expensive). Especially if it only became a problem after an upgrade.

Capital

Realizing I have no idea if I posted Juxta the combinator cat to this account, I couldn't find the post so Imma post it again.

He's the mascot for the Concatenative Programming group on Discord.

#Art #Cats #Concatenative

Jutxa the Combinator Cat. An orage tabby cat lies on a teal background. On either side a square brackets to present program quotation (core to concatenative programming). Around Juxta's neck is a red collar with their name on it.

The background has the names of various combinators as well as a few joke combinators such as purr, bap, glomp, and scrungle.
Capital

Writing code with languages more esoteric than a 3 trit cat.

Capital

With some more effort and being smarter about my rules, rewrite output length, and properties of 2D sand, I can run a 128x128 sand box in real time.

#modal

Capital

The secret is that I'm marking when sand is in a stable state (can't move down, left, or right).

Devine Lu Linvega

@capital well that's definitely a Sand implementation like the world has never seen before. @TodePond have you ever come acrossSand implemented in rewrite rules alone? :tode: :eyes_fast:

Capital

Testing out @neauoire's Thuesday, a (in progress) graphical sandbox for Modal, by doodling my fursona.

#modal #art #furry

A drawing of Xillin with a red 1px pen in a KDE window that says Thuesday.
Capital

Conway's Game of Life in the newest version of #Modal. Takes heavy advantage of rule deletion to simulate a 2D grid.

Devine Lu Linvega

@capital no way! That's awesome. The first GOL, is the rewriting fast? Does the undefinition operator cuts down on a lot of rewriting?

Capital

A quine written in #modal. I don't think anyone's written one yet.

<> (quine ?.) (?(?: ?:) (?. quine (?.))) quine (<> (quine ?.) (?(?: ?:) (?. quine (?.))))
Capital

I've finally ironed out everything I need to start implementing matches using the prefix-tree I've written for #modal.

output of my Modal variant.
Capital

The performance of Modal was being discussed by me, @wryl, and @neauoire.

After some profiling from Wryl, Devine managed to find a massive optimization for Modal. Actually in sane how fast it is now.

(The profiling also revealed that the C implementation of Modal has 0 cache misses)

Chart showing the performance of Modal before Devine&#39;s change to when registers are cleared.
Chart showing the performance of Modal after Devine&#39;s change to when registers are cleared.
Capital

I had a hunch that Modal would have 0 cache misses. It's memory is completely static. Modal's file size is so small even CPUs 20 years ago could hold the whole program in L1 or L2 cache.

(wryl)

@capital @neauoire It's possible to reduce this even further. I hypothesize rewrite cycles on the order of 100ns on average.

Given that the entire rewrite loop has a timing range in the microseconds, that puts the C implementation of #modal on par with Python and other bytecode VMs with optimized dispatch.

Rewriting is a powerful paradigm. This language can be pushed even further and further.

And we're not even close to the limit.

Marce Coll

@capital @wryl @neauoire its so interesting @neauoire came up with Modal recently as I was also investigating a rewrite language in Common Lisp, will check the implementation for sure. I wanted to see what a language with a construct even more powerful than CL macros looks like, may play with it today

Capital

Another Modal program, this time of the Sierpinski triangle.

program source

Screenshot showing the Modal rules implementing the Sierpinski triangle followed by the output of said triangle.
Capital

A rolling window operation written in Modal.

A modal rule set implementing a rolling window operation with a window width of 3.

Below is the result of running the MkWindow rule on a list of number from 1 to 10 (inclusive).
Capital

People that act like there are too many programming languages haven't explored enough to realize how empty the bucket is.

Capital

"There are too many programming languages" in general feels like a weird complaint. One that seems rooted in fear towards the act of creation. Acting as if the evolution and proliferation of PL ideas is over. That the history of computing is completed.

Capital

Reading .chr and .theme files made with Nasu via LOVE.

#Lua #Uxn

Screenshot of Nasu (left) and LOVE (right) displaying the same spritesheet
Capital

The code to process .chr files is very messy. Mostly because I was fumbling trying to compute how many pixels I needed to jump for plotting a color and how many bites I needed to jump for reading data.

Kinda makes me wish uxn packed pixels using a simple "4-pixels per byte" scheme instead of a "two-channels per tile" format. Both pack the same information in the same space (2-bits per pixel), but 4-pixels per byte is easier to process, imo.

Lua code handling chr files.
Capital

Someone in the Concatenative programming discord posted a small PDF about The Principal Programming Paradigms asking where it'd fit. So, I had a little fun trying to fit some of the languages in the space onto the chart.

It also reminds me how little research is in this space. Such a sparse family of explored ideas.

#Concatenative
#Programming

A chart mapping the paradigms that exist among programming languages.
A chart made by me that tries to fit concatenative programming into it.
Devine Lu Linvega

@capital It's nice to see what a bit of representation for catlangs might look like in the big tree of languages. Thanks for making this.

Capital

I might have gotten side tracked seeing @neauoire making Flappy Bird in Uxn. So, here's my very rough rendition of Flappy Bird using Factor and Raylib.

Source: paste.factorcode.org/paste?id=
#Concatenative

Go Up