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
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.
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.
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)
> Brainfuck is an example of a so-called Turing tarpit: it can be used to write any program, but it is not practical to do so, because it provides so little abstraction that the programs get very long or complicated. While Brainfuck is fully Turing complete, it is not intended for practical use, but to challenge and amuse programmers.[3][4] Brainfuck requires one to break commands into microscopic steps.
Conversely, people who get all pearl clutchy about their poor, sensitive wittle ears when I swear irritate the shit out of me. We're not in elementary school, adults say fuck and that's ok.
People who get uptight about swearing irritate me. I understand getting upset about racial slurs or other actually loaded language, but getting upset about the word "fuck" but not "sex" is just making up things to be upset about.
Swear words communicate important and precise emotions that no other words can communicate.
I totally understand why some words aren’t appropriate in a given social setting but it doesn’t mean the words are forbidden. Also those words can hurt when they are directed towards someone and you have to be cautious with them. But sometimes you want to hurt someone, sometimes you want to shock your audience. Sometimes you just want to laugh.
We are animals full of emotions and we need precise words to communicate them rapidly.
I wouldn't call "fuck" precise. Its meaning is highly context dependent. Examples of use range from from disappointment (fuck) to anger (fuck you) to surprise (the fuck?) to delight ('merica, fuck yeah) to contempt (clusterfuck). It's closer to an intensifier than a precise denotation of a particular emotion, because it evades a precise meaning.
Other words certainly can communicate the same semantic function, but there isn't one that covers them all, even though shit comes close, which is a statement about the Freudian mind if there ever was one.
Don't like or getting irritated are different things, at least for me. Irritation brings me in another state; for instance, if I am working (in the zone) and see/hear something that irritates me, I am out of the zone. However, if I see something I don't like, that doesn't do anything with my state; I will try to avoid the thing but won't give it a ms more thought. Not sure if that's a general thing or just me.
> Get over it.
Nah, people are different and you shouldn't get annoyed or irritated or tell people get 'get over it'; you can, but it's not very good for your health to care too much about stuff you cannot possibly change. Just don't hang with these people if you don't like them.
You have to keep in mind that brainfuck has been invented by a Swiss student. There are 2 clues. Student is obvious. Being Swiss might not be but is one.
People not living in an english speaking country have a different appreciation of swearing in english as they are exposed to it differently: appart from our english classes at school we learn and hear english mostly in songs, movies, TV shows, even modern literature. We are pretty much inundates by the f-word which makes it more an innocent word than in britain and us english.
A few days ago I was doing some cleaning in the house. Usually I rather put music but this time I chose a tv shows instead. Bad idea, it makes you much slower. Bottom line is I chose action-drama Banshee randomly. It seems they literally say fuck or motherfucking every 30 seconds!
So my advice would be: before complaining of people living abroad and using the f-word, maybe you guys should clean your house and stop putting the f-word in every fucking piece of media you sell all over the motherfucking world.
Also swearing can be cultural. For example wear I live in Spain swearing is part of the normal language. Grandparents all say words like coño and de puta madre all day long and nobody seems to blink when their 4 year old kids do the same.
> Also swearing can be cultural. For example wear I live in Spain swearing is part of the normal language. Grandparents all say words like coño and de puta madre all day long and nobody seems to blink when their 4 year old kids do the same.
I am Spanish, can confirm. Also, the bleeping that you hear in American TV shows and the whole concept of F-bombs (or similar) sounds ridiculous and extremely prudish to us.
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.
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.
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.
It's kind of a joke / riffing. Collaboration/elaboration, not attack. The "like" wasn't sarcasm; it was observing additional possibilities for meaning -- meanings that actually worked kind of amusingly to me.
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.
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.
When I dip into little histories of how one thing or another came to pass (example: ten days to design Javascript) in our history of computing, I wonder if advanced civilizations do things like undertake mind-bending projects like, "Hey, let's redesign our computation from scratch, from Turing (or whatever They call it) machines on up to processors to implement these machines, and on up."
A language would be next, and with it the idioms.
HTML, starts off as a markup language for document display (and a fairly primitive one) but has morphed into an application-over-the-Internet, by adding CSS, Javascript, and so forth. What if the aliens designed a technology with this endpoint already in mind? After a few hundred years, they probably have a full list of controls (radio buttons, checkboxes, dropdowns, sliders, and so on).
I just have this terrible feeling that everything we have is built on layers of cruft, "I need this by Monday" decisions, not-quite-optimal algorithms, and so on. And that we're probably wasting enormous amounts of computation and energy on this. Just think of how much invalid HTML is out there, and how much harder each browser must work to figure out the tag salad.
Thanks to the "write once run anywhere" philosophy of the language, and the design choices in the OS (e.g. containerization), it is easely porable to any CPU.
162 comments
[ 3.1 ms ] story [ 248 ms ] threadi was zen
Also, do you have a PowerPoint explaining how to setup a Center of Excellence?
Brainfuck is a fine name due to the nature of the language.
you'll find lots of "brainfudge" interpreters on github
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.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
People that swear liberally in everyday conversation irritate me intensely.
https://en.m.wikipedia.org/wiki/Brainfuck
Swear words communicate important and precise emotions that no other words can communicate.
I totally understand why some words aren’t appropriate in a given social setting but it doesn’t mean the words are forbidden. Also those words can hurt when they are directed towards someone and you have to be cautious with them. But sometimes you want to hurt someone, sometimes you want to shock your audience. Sometimes you just want to laugh.
We are animals full of emotions and we need precise words to communicate them rapidly.
I wouldn't call "fuck" precise. Its meaning is highly context dependent. Examples of use range from from disappointment (fuck) to anger (fuck you) to surprise (the fuck?) to delight ('merica, fuck yeah) to contempt (clusterfuck). It's closer to an intensifier than a precise denotation of a particular emotion, because it evades a precise meaning.
Other words certainly can communicate the same semantic function, but there isn't one that covers them all, even though shit comes close, which is a statement about the Freudian mind if there ever was one.
> Get over it.
Nah, people are different and you shouldn't get annoyed or irritated or tell people get 'get over it'; you can, but it's not very good for your health to care too much about stuff you cannot possibly change. Just don't hang with these people if you don't like them.
People not living in an english speaking country have a different appreciation of swearing in english as they are exposed to it differently: appart from our english classes at school we learn and hear english mostly in songs, movies, TV shows, even modern literature. We are pretty much inundates by the f-word which makes it more an innocent word than in britain and us english.
A few days ago I was doing some cleaning in the house. Usually I rather put music but this time I chose a tv shows instead. Bad idea, it makes you much slower. Bottom line is I chose action-drama Banshee randomly. It seems they literally say fuck or motherfucking every 30 seconds!
So my advice would be: before complaining of people living abroad and using the f-word, maybe you guys should clean your house and stop putting the f-word in every fucking piece of media you sell all over the motherfucking world.
Also swearing can be cultural. For example wear I live in Spain swearing is part of the normal language. Grandparents all say words like coño and de puta madre all day long and nobody seems to blink when their 4 year old kids do the same.
I am Spanish, can confirm. Also, the bleeping that you hear in American TV shows and the whole concept of F-bombs (or similar) sounds ridiculous and extremely prudish to us.
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.
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.
Stop trying to hire 10X engineers. Befunge applications are built by true X² engineers.
Best sales slogan of the year.
If you are asking such questions you aren't who I'm talking to and you need to leave the room immediately.
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.
[1] https://github.com/coobird/brainfuccuccino
https://github.com/bf-enterprise-solutions/bf.style
Top kek.
A language would be next, and with it the idioms.
HTML, starts off as a markup language for document display (and a fairly primitive one) but has morphed into an application-over-the-Internet, by adding CSS, Javascript, and so forth. What if the aliens designed a technology with this endpoint already in mind? After a few hundred years, they probably have a full list of controls (radio buttons, checkboxes, dropdowns, sliders, and so on).
I just have this terrible feeling that everything we have is built on layers of cruft, "I need this by Monday" decisions, not-quite-optimal algorithms, and so on. And that we're probably wasting enormous amounts of computation and energy on this. Just think of how much invalid HTML is out there, and how much harder each browser must work to figure out the tag salad.
* https://en.wikipedia.org/wiki/Mu_(negative)
Might have to test some of these :)
Please create more content.
An entire OS in 252 lines. I wonder how many CPU architectures supported by this OS
:D
> **************
> PASTE YOUR EXTENSIONS HERE:
> **************
Safe bet for enterprise users.