jfktrey 10 months ago

Love this. Years ago I hand-wired a CPU that natively executes Brainfuck code: https://youtube.com/watch?v=q8G2fWprwyo

Might have to test some of these :)

benreesman 10 months ago

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.

Top kek.

  • davedx 10 months ago

    I feel like “what is idiomatic brainfuck” is a deeply philosophical question striking right to the heart of our craft…

    • pragma_x 10 months ago

      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.

      • at_a_remove 10 months ago

        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.

samsk 10 months ago

BF is slightly hard to read, more like a well written Perl.

IMHO any solid enteprise should use Ook! or similar substitution - power of Perl, with verbosity of COBOL !

https://esolangs.org/wiki/Ook!

brian-armstrong 10 months ago

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?

  • debugnik 10 months ago

    The usual censor for it is b****fuck, that should do it.

    • semitones 10 months ago

      This made me laugh _really_ loudly, thank you

    • wiz21c 10 months ago

      Not more bad than C++ :-)

      • tgv 10 months ago

        That would become BF<<+>+

    • macqm 10 months ago

      What about: b7k

  • SOLAR_FIELDS 10 months ago

    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

  • paulmooreparks 10 months ago

    You could use my (rather silly) extension called "pbrain," which adds procedures to brainfuck.

    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.)

    • rep_lodsb 10 months ago

      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.
  • master_crab 10 months ago

    Maybe BE. Brain Excellence.

    Also, do you have a PowerPoint explaining how to setup a Center of Excellence?

    • cornholio 10 months ago

      The corporate flavor should obviously be named Braindead

  • tpoacher 10 months ago

    There is a language called brainfudge which is effectively an alias of brainfuck for this exact reason

    you'll find lots of "brainfudge" interpreters on github

  • giancarlostoro 10 months ago

    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.

  • InDubioProRubio 10 months ago

    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.

  • Duwensatzaj 10 months ago

    May I suggest Squick instead?

    • pcblues 10 months ago

      Now that is alt.tasteless old-school :)

  • wiz21c 10 months ago

    bullfit ?

  • Pannoniae 10 months ago

    How about bellyfuck? or brainfart?

    • sohzm 10 months ago

      buttfuck removes b*ain and replaces it with a better word

      • Nevermark 10 months ago

        Bootyfuck is classier and more fun to say.

  • karlzt 10 months ago

    Imagine changing Python's name, that doesn't make sense, and as you said, it's a very small problem that should be ignored.

    • itsdev 10 months ago

      Sure. Let's call it pyfuck. I'm sure that won't raise any eyebrows.

      Brainfuck is a fine name due to the nature of the language.

      • karlzt 10 months ago

        Of course is a fine name and that's what i'm defending, my comment was a reply to Brian, he shouldn't change it IMO.

bob1029 10 months ago

Brainfuck is largely a joke for most developers, but in certain kinds of research it is taken very seriously due to its ease of implementation.

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.

IncreasePosts 10 months ago

Who in their right mind would choose brainfuck for enterprise solutions, over befunge?

  • thenewwazoo 10 months ago

    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.

    • mFixman 10 months ago

      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.

      • bashauma 10 months ago

        > Stop trying to hire 10X engineers. Befunge applications are built by true X² engineers.

        Best sales slogan of the year.

        • fancyfredbot 10 months ago

          Don't hire 10x, hire x¹⁰, with superstringfuck - the only language with the dimensions to tackle the needs of today's fast moving businesses.

        • dullcrisp 10 months ago

          But what if my X is only ~1–2? Should I continue hiring the 10X engineers? Someone explain it to me in a PowerPoint.

        • FooBarBizBazz 10 months ago

          I like how we haven't specified whether x is greater than or less than one.

          • fancyfredbot 10 months ago

            I love that we complain about that before asking what we're measuring or whether higher or lower numbers are better.

            If you are asking such questions you aren't who I'm talking to and you need to leave the room immediately.

            • FooBarBizBazz 10 months ago

              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.

    • jmspring 10 months ago

      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.

      It's fun to learn.

    • mbonnet 10 months ago

      On the contrary, I have found that Rust postings receive fewer but much higher quality candidates.

  • ur-whale 10 months ago

    True.

    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

  • LorenDB 10 months ago

    Honestly, the smart enterprises are using Malbolge.

Duanemclemore 10 months ago

This is excellent for my needs! My company needs to migrate from INTERCAL and now I am convinced that Brainfuck is perfect for the job!

  • basementcat 10 months ago

    You mean your company needs to COME FROM Intercal?

    • Jeema101 10 months ago

      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.

  • nxobject 10 months ago

    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.

emersonrsantos 10 months ago

I miss this from the Internet early times. The Church of the SubGenius, IOCCC, Phrack Magazine, The Tao of Programming, ...

  • bigiain 10 months ago

    I think POC||GTFO carries on some of the spirit of those times.

    • wiz21c 10 months ago

      GTFO yes !

trentnix 10 months ago

After visiting the link I was surprised to find out this wasn’t about SharePoint.

UnpossibleJim 10 months ago

We are committed to keeping the Brainfuck community healthy -- best sentence ever

spacebacon 10 months ago

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++. >-.------------.<++++++++.--------.+++.------.--------.<+++++. >+++++.<<.>----.++.>+++++++.<<.----.<++.>-.<+.+++..---.<.>--.<. <.>-----.>+++++.---------.>++++++++.---------.>+++++.-------.<. >--.<+++++.<<.>--.+++.>++++.-------.<<.---.<++.---.+++.<++.+++. >----.>+.>+++.<---.>-.<<.>>---.++++.-------.<+.<<.>+++++++.<<--. >+.>+++.<--.++++.<-.>>----.<<.>>++++.<<----.>>+++++++.<<---. >-.<+++++++.>>-----.<<.>>+++.<<--.>>----.<+++.<---.>>+++++.<-.>.<.

declan_roberts 10 months ago

Like a joke that's just gone on a little too long.

  • arethuza 10 months ago

    The "enterprise solutions" part?

anta40 10 months ago

https://github.com/bf-enterprise-solutions/os.bf/blob/master...

An entire OS in 252 lines. I wonder how many CPU architectures supported by this OS

:D

  • avodonosov 10 months ago

    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.

    Safe bet for enterprise users.

  • einpoklum 10 months ago

    The secret sauce is:

    > **************

    > PASTE YOUR EXTENSIONS HERE:

    > **************

  • aclindsa 10 months ago

    I admit I was slightly disappointed that it looked more like a primitive shell than the advertised OS. "Baby steps" though!

lifthrasiir 10 months ago

One of obvious hindsights here is to use the extension `.bf` instead of `.b`, which was previously suggested by daniel b cristofani, a prolific Brainfuck programmer [1]. `.bf` is also used for Befunge and `.b` removes any such confusion.

[1] https://brainfuck.org/brainfuck.html

  • Ygg2 10 months ago

    Won't that be confused with B[1]?

    [1]https://en.wikipedia.org/wiki/B_(programming_language)

    • lifthrasiir 10 months ago

      Sure, but the number of B code currently in circulation should be miniscule enough to reuse that extension. (And the confusion between Brainfuck and Befunge will be much higher anyway.)

      • larsnystrom 10 months ago

        Also, confusion seems to be something of a design goal for brainfuck?

        • lifthrasiir 10 months ago

          That issue is not a real confusion but a meta-confusion. You know, meta-confusion is not fun, it's just meta-fun. /j

  • int_19h 10 months ago

    The Brainfuck extension should obviously be .fmb, for "fuck my brain".

Jerrrrrrry 10 months ago

-[>--<-------]> 110 > ++++[>+++++<-]>+ pop 20 so 0 0 0 70 0 '20' 0 0 0 [[>>[>]+[<]<-]<]< create array of x 1's [>>>>[ {"+++++++++++++++++++++++++++++++++++++++++++++++++++++++"} >]<[<]<<<{"-------------------------------------------------------"}] copy left val to all Rval >>>>[->]<[<]< <+++ +++ +++ +++ pop 12 so 0 0 0 '12' 0 110's nilterm [->> >H--->a->p >p >y+ > ------ >B---->i>r>t>h>d->a->y+ > ------ >t >o > ------ >Y-- >o>u [<] <<] >> >H-- >a- >p++ >p++ >y- > ------ >B++++>i----->r++++>t++++++>h------>d++>a->y- > ------>t++++++>o+> ------>Y+++>o+>u+++++++ [<]< +++ [- >>[.>].<[<]<]

ur-whale 10 months ago

Their stack doesn't seem to include an LLVM BrainFuck backend.

This shortcoming is clearly a non-starter for any serious enterprise BF implementation.

fermigier 10 months ago

Never been much into BF nor esoteric languages in general, but I love this attitude!

Regarding the comments at the top of https://github.com/bf-enterprise-solutions/ed.bf : I believe a modern-day developer comparable to Ken Thompson might be Fabrice Bellard, WDYT? Any other names that pop to mind?

xyst 10 months ago

brainfuck is truly the language of the gods

  • Jerrrrrrry 10 months ago

    posting codegolf'd brainfuck on stackexchange was a pivotable moment in my life

    i was zen

  • pragma_x 10 months ago

    If you mean "inscrutable to mere mortals and drives one to madness when heard aloud", then yes. Yes it is.

InDubioProRubio 10 months ago

You are laughing now- but suffering and misery indicate pervyRomance for management. And what would cause more suffering then adopting this language as new enterprise standard. The joke was on you, all along..

  • npongratz 10 months ago

    "We had a chance to meet this young man, and boy that's just a straight shooter with upper management written all over him.."

mnemotronic 10 months ago

I can't wait to hear Warren Buffet answering a question about company automation at the next annual convention : "We just started using the Brainfuck software...". The silver-haired grannies in attendance will love that.

RagnarD 10 months ago

I'd love to see a real "enterprise" pay for anything with this name. If it wants to be taken seriously, change the name to something that can be repeated with a straight face in an office.

citizenpaul 10 months ago

This is horrifying. Isn't BF supposed to be a joke language. Someone is spending time making libraries so it can actually be used?

speed_spread 10 months ago

Oh shoot, it's happening for real, /r/programmingcirclejerk is leaking back to HN. The great unraveling has begun, we're all doomed!

seanhunter 10 months ago

For it to be a real enterprise solution we need a bf container orchestration layer.

  • whiplash451 10 months ago

    Of course not, those companies are using SageMaker anyways. Come on!

pplonski86 10 months ago

Do you plan to support LLM in BF Machine Learning platform? LLM with BF output?

1oooqooq 10 months ago

where can i find an example of factoryFactory* pattern on the repos?

  • arethuza 10 months ago

    "So this week, we're introducing a general-purpose tool-building factory factory factory, so that all of your different tool factory factories can be produced by a single, unified factory. The factory factory factory will produce only the tool factory factories that you actually need, and each of those factory factories will produce a single factory based on your custom tool specifications. The final set of tools that emerge from this process will be the ideal tools for your particular project. You'll have exactly* the hammer you need, and exactly the right tape measure for your task, all at the press of a button (though you may also have to deploy a few configuration files to make it all work according to your expectations)."*

    • 1oooqooq 10 months ago

      nice! i hope the configuration files are a bf syntax but with all the features and power of xml+xsl!

jksmith 10 months ago

For a good levity injection attack, there is no known defense.

ppmx20 10 months ago

It's a new and powerful competition for FP :)

immmmmm 10 months ago

BFBS: BF Blockchain Solutions BFF: BF for Finance

m3kw9 10 months ago

Something straight out of Cyberpunk2077

Procrastes 10 months ago

I'm just glad I lived to see this.

  • mannykannot 10 months ago

    I take your point - it does have a saving grace, after all.

JesseTG 10 months ago

I think I had an aneurysm.

brassattax 10 months ago

Why not GPT in Brainfuck?

motohagiography 10 months ago

laugh now but this will be better than graphql.

djaouen 10 months ago

That's the stupidest shit I ever heard lol

  • rebavi67 10 months ago

    What are you talking about?

cbeach 10 months ago

Irritating when people try to draw our attention to otherwise banal things by exploiting the shock value of swearing.

People that swear liberally in everyday conversation irritate me intensely.

  • commodoreboxer 10 months ago

    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.

    • UberFly 10 months ago

      Some people just don't like the overall crudening of society. Get over it.

      • pjerem 10 months ago

        I do think it’s an important social issue though.

        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.

        • tgv 10 months ago

          > precise

          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.

          • tbrownaw 10 months ago

            Abstaining from extraneous precision is itself a kind of precision.

      • anonzzzies 10 months ago

        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.

      • worthless-trash 10 months ago

        You missed an opportunity to say "Get the fuck over it". :|

  • metabagel 10 months ago

    > 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.

    https://en.m.wikipedia.org/wiki/Brainfuck

  • beingforthebene 10 months ago

    Brainfuck isn't exploiting the shock value of swearing--it's accurately describing the experience of using it.

  • shakna 10 months ago

    The High Court of Australia ruled that swearing isn't by itself offensive. So I s'pose you're shit out of luck if you cross our border.

  • prmoustache 10 months ago

    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.

    • pezezin 10 months ago

      > 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.

    • prmoustache 10 months ago

      I realized after reading my reply I made a lot of ortho and grammar errors, sorry for that, can't edit it now.

  • porksoda 10 months ago

    Yes. That's true in most cases but let them youn uns have some fun will ya!

  • gosub100 10 months ago

    You, yourself were in fact the byproduct of one.

  • quickslowdown 10 months ago

    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.

  • righthand 10 months ago

    Well shit, seems like there’s no talking to you about Brainfuck then.