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:
15 posts total
:ohnoes: 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. 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. The secret is that I'm marking when sand is in a stable state (can't move down, left, or right). @capital no way! That's awesome. The first GOL, is the rewriting fast? Does the undefinition operator cuts down on a lot of rewriting? 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. @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. @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 People that act like there are too many programming languages haven't explored enough to realize how empty the bucket is. "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. 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. 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. @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. 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: https://paste.factorcode.org/paste?id=4676 |
@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.