#esoteric programming
Explore tagged Tumblr posts
bruoche · 4 months ago
Text
Tumblr media
Finite State Automata defining spell syntax.
The spells use only three different characters to be written, "╭" (which can represent "0"), "ʌ" (which can represent "1") and a validation symbol "ᴎ" that can represent ";". When writing spells, spaces, indentation and parenthesis can be added to make them more readable. Those do not modify the spell meaning as only the three characters precedently mentionned matter.
A fourth glyph "╰" can be placed to signify the begining of a spell too, so indentations are more logical, but this character do not add meaning to the spell either.
This automaton is nearly deterministic, with the exception of the validating "root" state, that can only go back on itself to exit the current loop (an ongoing while, the spell itself or a function definition for exemple). The spell also cannot validate before exiting every ongoing loop, and can only validate once every loop are exited. Otherwise, the rest of the states and their transitions are entirely deterministic.
A more detailed version of the FSA :
Tumblr media Tumblr media Tumblr media
7 notes · View notes
learn-tilde-ath · 7 months ago
Note
Two questions: 1: did you actually make ~ATH, and 2: what was that Sburb text-game that you mentioned on an ask on another blog
While I was back in highschool (iirc?) I made a thing which I titled “drocta ~ATH”, which is a programming language with the design goals of:
1: being actually possible to implement, (and therefore, for example, not having things be tied to the lifespans of external things)
2: being Turing complete, and accept user input and produce output for the user to read, such that in principle one could write useful programs in it (though it is not meant to be practical to do so).
3: matching how ~ATH is depicted in the comic, as closely as I can, with as little as possible that I don’t have some justification for based on what is shown in the comic (plus the navigation page for the comic, which depicts a “SPLIT” command). For example, I avoid assuming that the language has any built-in concept of numbers, because the comic doesn’t depict any, and I don’t need to assume it does, provided I make some reasonable assumptions about what BIFURCATE (and SPLIT) do, and also assume that the BIFURCATE command can also be done in reverse.
However, I try to always make a distinction between “drocta ~ATH”, which is a real thing I made, and “~ATH”, which is a fictional programming language in which it is possible to write programs that e.g. wait until the author’s death and the run some code, or implement some sort of curse that involves the circumstantial simultaneous death of two universes.
In addition, please be aware that the code quality of my interpreter for drocta ~ATH, is very bad! It does not use a proper parser or the like, and, iirc (it has probably been around a decade since I made any serious edits to the code, so I might recall wrong), it uses the actual line numbers of the file for the control flow? (Also, iirc, the code was written for python 2.7 rather than for python 3.) At some point I started a rewrite of the interpreter (keeping the language the same, except possibly fixing bugs), but did not get very far.
If, impossibly, I got some extra time I wouldn’t otherwise have that somehow could only be used for the task of working on drocta ~ATH related stuff, I would be happy to complete that rewrite, and do it properly, but as time has gone on, it seems less likely that I will complete the rewrite.
I am pleased that all these years later, I still get the occasional message asking about drocta ~ATH, and remain happy to answer any questions about it! I enjoy that people still think the idea is interesting.
(If someone wanted to work with me to do the rewrite, that might provide me the provided motivation to do the rewrite, maybe? No promises though. I somewhat doubt that anyone would be interested in doing such a collaboration though.)
Regarding the text based SBURB game, I assume I was talking about “The Overseer Project”. It was very cool.
Thank you for your questions. I hope this answers it to your satisfaction.
6 notes · View notes
aeolids-zenith · 9 months ago
Text
computation in DEFLATE
Tumblr media
hey, did you know that the compression format DEFLATE can be used to simulate a cellular automaton, or do multiplication, or, theoretically, anything else you want?
a couple years ago, I had an idea for an esolang: a PNG-style image format that would "happen" to involve enough self-reference to be turing-complete. eventually, struggling to come up with a reason for the program to be split between pixel data and compression, I simplified my goal to just a turing-complete compression format, modeled after DEFLATE, the compression used in PNG (as well as in other common formats)
in thinking about this, though, it occurred to me to wonder: what could be done with DEFLATE itself? the main obvious limitation would be that an individual DEFLATE stream gets decoded in one pass, element-by-element, and then is done; it always halts, and there's limited potential for self-reference
so, in order to make computation more viable, I decided to consider an iterative process of decompression, where one DEFLATE stream is decompressed to produce another, which is decompressed again, etc; this process requires some extra behavior outside the compression format itself, but it's a minimal amount (just a basic loop)
in order for this to work, I needed a DEFLATE stream that would endlessly decompress to DEFLATE streams, so my first step was to create a DEFLATE quine -- a stream that specifically decompresses to itself. (the way I accomplished this was more complicated than necessary -- involving carefully-selected code definitions to create specific bit patterns in an otherwise-empty compressed block -- but it worked)
once I had a quine, I just needed to attach some data to it that was allowed to change. to do this, I created Kwert, a language that compiles to DEFLATE and corresponds closely to how the format works -- it has a self-modifying program consisting of "commands" that can copy sequences of previous commands (corresponding to compressed DEFLATE blocks, which work in part by copying previously-output sections of data), and then skip evaluation of some number of following commands (corresponding to uncompressed DEFLATE blocks, which output some amount of following data as-is)
I was able to create a couple interesting things with Kwert (such as a fibonacci program of sorts), but for a while I struggled to come up with a way to do anything more complex; I had a sense that it might be possible to implement a tag system of some kind -- a computational model that can simulate a turing machine using a queue of symbols, something that's well-suited for a language like Kwert that involves start-to-end modification of the program -- but I couldn't think of a way to use commands as data without them being evaluated and producing an unwanted effect
then, a couple weeks ago, I followed up on an idea I had written down previously: that commands could potentially be transferred as data without side-effects by having it so when they're being used as data, they're positioned such that all they do is copy a no-op command
using this strategy, I was able to design a system in which sections of a Kwert program simulate a string of symbols, which change over time based on preceding symbols. I created a new language, Kmid, based on this concept
Kmid, although more like a cellular automaton than a conventional programming language, is definitely easier to do things with than Kwert, and I was finally able to implement Bitwise Cyclic Tag (a simplified but equally powerful version of tag systems) and confirm that it does successfully compile to DEFLATE, which means, to the best of my knowledge, that iterated inflation is indeed turing-complete!
but DEFLATE's computational ability isn't entirely limited to that theoretical result; there are some at least somewhat interesting things that you can actually see it do (as opposed to everything being theoretically possible but not viable to execute in practice) -- you can see some programs I've written, such as the aforementioned multiplication and rule 110 cellular automaton, on github, some accompanied by instructions and/or links to the CyberChef tool to more conveniently run the DEFLATE versions
2 notes · View notes
tamber-tales · 1 year ago
Text
@quohotos thoughts?
Every now and then I remember that Malbolge exists and I get to spend the better part of an hour cry-laughing at the world’s worst programming language
Tumblr media
already starting off strong, but it gets worse
Tumblr media
Wow! Sounds easy and intuitive to use! What’s the “crazy operation” you ask? We’ll get to that later. For now let’s see what a program in this language looks like :)
Tumblr media
Thanks! I hate it!
Tumblr media
it’s so difficult to work with that the first program was written by another brute force search program
Tumblr media
mmmmm delicious base-3 arithmetic, what could go wrong? (For reference, that means this program forgoes the usual “0/1″ values of binary code in favor of a much more fun “0/1/2″ set of values)
Tumblr media
ah.
Tumblr media
Here’s how the language actually figures out what to do. It’s got 8 “simple” commands that can be executed easily by *checks notes* running the code itself through the modulo operation and taking the result.
Tumblr media
As a bonus, on top of all that every single character in your code will now alter what every single other character does. So I hope you’re alright with cracking a cipher every time you add a new letter to your program!
Tumblr media
oh god oh fuck.
Tumblr media
behold, Malbolge’s primary arithmetic operation and what you’ll be using for most of your math while programming with it :)
This looks specifically designed to be the least logical math operation you could make, and knowing what the rest of Malbolge is I’d wager that’s precisely what happened. I never want to ever use this and it’s my favorite thing I’ve ever seen.
https://en.wikipedia.org/wiki/Malbolge
Anyways here’s the wiki page if you wanna read through it more deeply, I’m gonna sit here holding in my laughter staring at the hello world program again.
12K notes · View notes
esotericas-sims · 12 days ago
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
so stand and watch it burn we've passed the point of no return
20 notes · View notes
disease · 9 months ago
Text
Tumblr media
OMG... far too excited seeing this dev'd
"Brainfuck is an esoteric programming language created in 1993 by Swiss student Urban Müller. Designed to be extremely minimalistic, the language consists of only eight simple commands, a data pointer and an instruction pointer."
21 notes · View notes
lily-of-the-code · 1 year ago
Text
What's your favorite esoteric programming language? I've never used one, but I've done rese on them and there are some funny ones. For example, there's one where code is written like Shakespeare.
34 notes · View notes
juliganga · 7 months ago
Text
is this close enough
Coding will never really take off until they make a programming language you can write while being a cat.
714 notes · View notes
officialurban · 3 months ago
Text
Armageddon Programming
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
6 notes · View notes
honeyrisuke · 2 months ago
Text
you can boo me all you want, i think the concept of "self fulfilling prophecies" is esoteric nonsense at best and abusive gas lighting at worst
when you correctly access your skillset and express that, and then it happens just as you said bc you know yourself, that's not a self fulfilling prophecy.
"I will fail this test bc I know I've never solved any of these exercises correctly, even though I studied" isn't a self fulfilling prophecy. it's not being a delusional idiot.
"Just so you know- I'm really annoying and exhausting when I get upset and people usually can't deal with that" isn't a self fulfilling prophecy. it's being aware of who you are and trying to do damage control for when things do go south. not mentioning the problem (or worse, lying about how there's no problem) will not make the problem go away.
If I tell you about something I deeply struggle with, that I don't see as worth fighting for OR that I can't change and need you to be patient with me for, and you call that a "self fulfilling prophecy", you might as well tell me to "shut the fuck up with the negativity". All that accusation means is "it's your fault after all, you did this on purpose, and you don't deserve patience for it".
When I say "I shouldn't talk to people when I'm upset because it only ruins friendships", I don't say that to gain sympathy or to be dramatic or to feel sorry for myself. This is a WARNING. I am COMMUNICATING what is going on with me so we can both be careful about that, with a precise worst case scenario I'd like to avoid. When the other person then tells me to "always come to them" and "never be afraid uwu uwu", and I do so, and it happens LITERALLY just how I said it would- that's not a "self fulfilling prophecy".
That is me correctly accessing as situation, the other person not listening to me or not taking my words seriously at all, and then finding out that I was in fact right about it. So all that's left for them to say is "oh, but it's your fault. Because you said it, that's why it happened. YOU set yourself up to fail" bc otherwise they'd have to admit that actually they didn't respect me enough to listen.
2 notes · View notes
minotaurmerkaba · 1 year ago
Text
Tumblr media
6 notes · View notes
quantummechanist · 2 years ago
Text
My Esoteric Programming Language Synopsis
Been looking into esoteric programming languages, or programming languages whose purpose is NOT to make a programmer's life easier, but rather to be weird and often confusing. Here are my reviews:
<>< (Fish): This language revolves around the moving a pointer around the program itself, which is read as a 2 dimensional grid of characters. The pointer moves to the right by default, but you can change its direction with the arrow-looking characters (<,>,^,v). You can also reflect the instruction pointer with the mirror-looking characters (|,_,/,\\), which reflect the arrow the direction that makes sense based on what way it is going and the geometry of the characters. On top of this, the language is stack-based. For those who don't recall the first few pages of Homestuck, a stack is a data structure that stores a list of values like an array, except the only accessible datum in the stack is the most recently entered one. Programmers have no business using stacks in the year 2023. Other neat details include the trampoline instruction (!) which jumps over a spot in the grid, and because you need to use a stack, to print a value from code, you need to write it in the code backwards. Also when you get an error, the compiler says "Something smells fishy..." Difficulty 3/10
Brainfuck: Brainfuck was made by a man trying to make the smallest programming language compiler he could. The program instructions rely on an arbitrarily large 1 dimensional array of numbers. Brainfuck has 8 single-character commands, and all other characters are treated as comments. This is a brainfuck program to write "Hello World":
+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++[.>]<<<<.+++.------.<<-.>>>>+.[<->-]<-.>
Difficulty 9/10
Hexagony: Like <><, Hexagony works by sending a pointer along the program, treating it like a grid of characters. The difference is that Hexagony programs are on a hexagonal grid. This is Hello World in Hexagony:
Tumblr media
Difficulty 8/10 (I cannot wrap my head around this one)
INTERCAL: Compiler Language With No Pronounceable Acronym, or INTERCAL, was one of the first esoteric programming languages, created in 1972. The language was designed to make common operations needlessly difficult, while adding keywords for other operations to make the whole thing unpleasant to look at. There is a keyword “PLEASE” that doesn’t do anything, although if you don’t include enough “PLEASE” commands, the compiler will give an error stating your program is not polite enough. Unlike most of the programming languages on this list, INTERCAL is too slow when compiled to be used practically. In 1992 a journalist tested the speed of Intercal against C. In C, it took less than a second to compute all the prime numbers up to 65536. In INTERCAL, it took over 17 hours. Difficulty: 8/10 LOLCODE: The syntax of LOLCODE is inspired by “lolspeak,” the English dialect of lolcat captions. Every LOLCODE program begins with “HAI” and ends with “KTHXBYE”. To import library STDIO, use the command “CAN HAZ STDIO?” The underlying structure of LOLCODE is actually fairly standard, which makes this esolang pretty accessible.
Difficulty: 1/10
Malbolge: How do you print “Hello, World” in Malbolge?
(=<`#9]~6ZY327Uv4-QsqpMn&+Ij"'E%e{Ab~w=_:]Kw%o44Uqp0/Q?xNvL:`H%c#DD2^WV>gY;dts76qKJImZkj
Malbolge was designed to be the most difficult programming language in existence. The language determines which of the eight available instructions to execute by adding the current instruction to the current instruction’s index in memory, modulo 94. There are no arithmetic operators except for the *crazy operator*, a Malbolge original that takes two numbers in their ternary form and determines the result digit by digit using an unintuitive table. The crazy operator is not commutative, and is your only arithmetic operation. Whenever an instruction is executed, it is encrypted so that it will not do the same thing next time. Due to the complexity of Malbolge, a turing complete version does not currently exist, limited by the size of programs allowable.
Difficulty: 20/10
3 notes · View notes
alephskoteinos · 2 years ago
Text
Literally this is Shin Megami Tensei and I love it
Tumblr media
22K notes · View notes
frog707 · 1 month ago
Text
Esoterica
1 note · View note
officialurban · 11 months ago
Text
🚨Armageddon Programming | An Analysis of 'The Catcher in The Rye'
Spells are very important in Luciferianism. In our last episode we illustrated how spells are used in society to build our inner mythologies. If you are one of those who can't help but wonder what in the world is happening to our communities right now, you should know that in part it is due to decades of spell casting that is starting to "come true” worldwide, including in the Middle East. While we support the Jewish right to gather in the land of Israel, we do not support ramping up for war on either side. One of the major spells that has been cast on American Christians is the spell that they must be true to Jewish plans and plots at any cost in order to be true to the Bible. Anything less is anti-shemitism. This is a spell, so you had better wake up because Christianity’s God has declared, “Blessed are the peace makers for they will be called the true children of God.” The rest are but dogs and sinners at the gate. To better illuminate how all these spells were, and are being, cast on you, we will use Jerome David Salinger's one hit book, "The Catcher in Rye" over two episodes. It is hoped that the lessons learned here will aid you in seeing how occultists continue to use spells on you today. Hold On, Star Child, here we go! Quack, Quack, Bang, Bang!
🪄Spell Casting - An Introduction
youtube
🌾The Catcher in The Lie: Spell Casting Expounded
youtube
🚨Armageddon Programming (1/2): Click
While most modern bimbos and numb nuts don’t realize it, we have actually reached the final stages of pastiche from which nothing but a dangerous douse of reality can free us.
youtube
💥Armageddon Programming (2/2): The Big Bang
We have spent an inordinate amount of time studying J.D. Salinger’s one hit worldwide best selling book, “The Catcher in the Rye”, using it as an example to explain how media, in all forms, has been used for more than half a century to control the way we think in order to  push a willing slavery agenda on us. The anti-christs, the Jewish Mafia, and pseudo-Christians among us today always broadcast their goals early. We would be smart to hear them now while we can still change course. We don't have much time to change course... Also check out the great research of Urban here. (Dude, keep it up!)
youtube
Rumble Playlist (Censored on YouTube)
5 notes · View notes
templeofshame · 4 months ago
Text
Tfw you jumpscare yourself with something you did without much thought and then forgot about
0 notes