Stuff like this is a breath of fresh air: real hacker vibes. The best memes (like all the best hacker stuff) are high-effort, somewhere between kinda funny and outright satire, technically nontrivial, and delivered deadpan.
Considering that BF is about as "turing-machine-like" as you can get, it does seem like an essential thing to determine. As if we were to delve any deeper we'd have to split atoms to measure our progress; it's downright primordial.
I believe it’s a reference to a Discworld personage
The Librarian is known for his violent reaction whenever he hears anyone refer to him as a "monkey" (orang-utans are apes). He speaks an elaborate language whose vocabulary consists of the single word Ook (and its antonym "eek" - where "ook" means yes, "eek" tends to mean no)
Wow, would love to adopt this on our infra! Just one teensy problem - legal's a bit worried about the name. Would you consider renaming BF? Maybe Brainfriend?
Of course this post is written in jest but fck-nat is useful enough that adult organizations adopt it despite the name, as an actual example of “profane but useful software that jumps over the wall of corporate use”. It helps that the specific use case it’s built for is something you usually only run into when you have corporate level spend on AWS
That's an interesting addition to the language, since the numeric "labels" are effectively pointers that can be changed anywhere in the program! Though from reading the interpreter code, it seems like it doesn't handle "nested" procedures that can (re)define other procedures or themselves, which could make this a lot more powerful.
Never done enough BF programming to come up with a good example, but I'm thinking about something like this:
( (<-)<+ )
On the first call it increments it argument, then decrements on subsequent calls. There could also be a loop that switches a procedure between one of several definitions, which could be used to implement a state machine.
Reminds me of how theres a Buttplug project that has what is considered the fastest bluetooth open source library. Problem is people cannot use it because importing “Buttplug IO” or whatever raises some eyebrows. Theres even been attempts at using it in DoD projects.
Far be it from programmargamers to name things, just to annoy legal and other cruft layers. Now onwards to the new Bloat meeting (its the new scrum), where we produce spam-tickets and increase productivity by sacrificing hours to nil-meetings.
> In this paper we take a step towards understanding how self-replicators arise by studying several computational substrates based on various simple programming languages and machine instruction sets.
You can't discount the need to keep your hiring pipeline full to replace the people whose RSUs have cliffed.
Befunge, like Rust, is impossible to hire for, so nobody uses it, which means nobody has experience, which means it's impossible to hire for, so it's a bad idea to use it. BrainFuck has been around for decades and its problems can be avoided by just hiring sufficiently-talented developers.
Being the only true 2-dimensional language, Befunge only needs the square root of the lines of code to build an equivalent program to puny 1-dimensional programs like Brainfuck or C++.
Stop trying to hire 10X engineers. Befunge applications are built by true X² engineers.
Funny thing about Rust. I use it for a few small projects. I have advocated for it on a current work project in part because it makes sense for a few reasons. I had planned on it, an advisor (small startup) recommended it, so myself as a mid experience and two people more junior in their career, are writing Rust.
As I said, I have used Rust for multiple unrelated to this task thing. Had various versions of our planned project working. Then I revisited it and made it more Rust-like. It literally looks like I've done nothing since I through a lot of things out.
The 'computed COME FROM' is even more interesting than the regular one due to it's ability to violate causality by coming from a place in the code before it was ever computed.
That of course makes migrating from Intercal difficult for a lot of organizations.
I've had much success integrating Brainfuck in a legacy C++ codebase. As the team adopts modern idiomatic C++ patterns and practices, we found Brainfuck via https://github.com/tfc/cpp_template_meta_brainfuck_interpret... to be a natural and seamless fit for C++ template metaprogramming.
Buyer beware – as a a legacy mainframe user of INTERCAL (IBM VM/370), steer cleer of mainframe migration services that promise migration from INTERCAL to BF on commodity cloud on a fixed time scale – they use AI tools but don't do robust testing. Much better to stay on IBM but write new modules in enterprise z/INTERCAL, even if it's not the best developer environment.
Might have to test some of these :)
Please create more content.
Top kek.
* https://en.wikipedia.org/wiki/Mu_(negative)
IMHO any solid enteprise should use Ook! or similar substitution - power of Perl, with verbosity of COBOL !
https://esolangs.org/wiki/Ook!
https://metacpan.org/pod/Acme::Brainfuck
There's an Ook! interpreter too but it's more limited.
https://metacpan.org/pod/Language::Ook
The Librarian is known for his violent reaction whenever he hears anyone refer to him as a "monkey" (orang-utans are apes). He speaks an elaborate language whose vocabulary consists of the single word Ook (and its antonym "eek" - where "ook" means yes, "eek" tends to mean no)
https://discworld.fandom.com/wiki/The_Librarian
https://parkscomputing.com/page/pbrain
In hindsight, I think it's aptly named.
(EDIT: Gosh, I really need to update the .NET compiler to .NET 8.)
Never done enough BF programming to come up with a good example, but I'm thinking about something like this:
On the first call it increments it argument, then decrements on subsequent calls. There could also be a loop that switches a procedure between one of several definitions, which could be used to implement a state machine.Also, do you have a PowerPoint explaining how to setup a Center of Excellence?
Deleted Comment
you'll find lots of "brainfudge" interpreters on github
Deleted Comment
Brainfuck is a fine name due to the nature of the language.
I think this is probably the most interesting paper involving it:
https://arxiv.org/abs/2406.19108
> In this paper we take a step towards understanding how self-replicators arise by studying several computational substrates based on various simple programming languages and machine instruction sets.
https://www.preposterousuniverse.com/podcast/2024/08/19/286-...
Befunge, like Rust, is impossible to hire for, so nobody uses it, which means nobody has experience, which means it's impossible to hire for, so it's a bad idea to use it. BrainFuck has been around for decades and its problems can be avoided by just hiring sufficiently-talented developers.
Stop trying to hire 10X engineers. Befunge applications are built by true X² engineers.
As I said, I have used Rust for multiple unrelated to this task thing. Had various versions of our planned project working. Then I revisited it and made it more Rust-like. It literally looks like I've done nothing since I through a lot of things out.
It's fun to learn.
Befunge has real lofty ideals, not just a miser goal of being hard to parse by humans:
> Befunge, with the goal of being as difficult to compile as possible
That of course makes migrating from Intercal difficult for a lot of organizations.
Deleted Comment