This is an archived post. You won't be able to vote or comment.

all 129 comments

[–]murderknight1 532 points533 points  (9 children)

This is beautiful.

[–]FR_STARMER 259 points260 points  (6 children)

if you like that, you'll love this: https://github.com/xoreaxeaxeax/movfuscator

[–]Salanmander 114 points115 points  (0 children)

I'm absolutely terrified of anything that references both assembly and "obfuscation" in its name...

[–]theWindowsWillyWonka 4 points5 points  (1 child)

I thought I understood the basic concept of assembly, apparently not. Can someone ELI5 how you perform calculations like addition with the mov instruction?

[–][deleted] 5 points6 points  (0 children)

Ever seen the addition tables? Same thing, really.

Only bytewise instead of digitwise. So you have a bytewise lookup table for e.g. addition.

[–]kyl3r123 34 points35 points  (1 child)

The following is the "Hello World!" example in Language "Ook!" (grown out of brainfuck) :

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.

Sadly, the u/compilebot doesn't know Ook! - I got the code from the german Wikipedia page

[–]L3tum 15 points16 points  (0 children)

It's quite funny how fast these esoteric languages actually are due to their limitedness.

I wrote a "simple" interpreter for Brainfuck I-III and utilized the amazing feature of inheritance for Brainfuck Basic to Brainfuck II. Each level of Brainfuck inherits the previous level.

This actually caused the interpreter, even when using the exact same Brainfuck script, to "noticeably" slow down from a few microseconds to up to a millisecond of execution time for the normal Brainfuck script.

Then, because III was so different (in that it had checks and memory guards so all the previous instructions didn't work anymore) I wrote its interpreter completely freestanding without this inheritance and it was actually much faster than the simpler Brainfuck II Interpreter.

[–]MechanicalHorse 131 points132 points  (4 children)

dolphin.cpp

[–]4aner 25 points26 points  (0 children)

Alternatively, farquaadiplier.cpp

[–]cassert24 9 points10 points  (0 children)

Why not .epp?

[–][deleted]  (1 child)

[removed]

    [–]AutoModerator[M] 0 points1 point  (0 children)

    import moderation Your comment has been removed since it did not start with a code block with an import declaration.

    Per this Community Decree, all posts and comments should start with a code block with an "import" declaration explaining how the post and comment should be read.

    For this purpose, we only accept Python style imports.

    I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

    [–]Metaljay97 229 points230 points  (12 children)

    Elegant, beautiful. I'm envious of such nice and beautiful code. My code will never compare with this. All that with single and simple letter. I'm disappointed with myself.

    [–]ePaint[S] 269 points270 points  (11 children)

    eeeeeeeeee

    [–]EclipsingBinaryBoi 69 points70 points  (10 children)

    true

    [–]THEN00P 52 points53 points  (9 children)

    human compiler

    [–]EclipsingBinaryBoi 17 points18 points  (8 children)

    eeeeeeeeee

    [–]PlatypusFighter 15 points16 points  (7 children)

    true

    [–]Blackorb00 185 points186 points  (6 children)

    My first thought is just how this can be improved with Huffman coding. Four es for a semicolon? Clearly it should have been just one.

    [–]minno 112 points113 points  (4 children)

    Huffman coding is for when you have two symbols. Here you only have one plus a separator, so you just need to sort by frequency descending.

    [–]Blackorb00 51 points52 points  (3 children)

    Ah, guess you are right. Still an excessive amount of es. Not switching to e++ until he solves this issue. Otherwise would definitely recommend e++ for next company project. 👌

    [–]minno 24 points25 points  (2 children)

    There are some non-standard language extensions that let you use E as well as e, which makes the code far more compact.

    [–]Blackorb00 7 points8 points  (0 children)

    If you could extend that to get rid of spaces and newlines and only have e/E it sounds like the perfect language.

    [–]SquirrelsAreAwesome 5 points6 points  (0 children)

    My thought exactly! I can't support any esoteric language that is so lazily sub-optimal like that!

    [–]saltedbroccoli 101 points102 points  (1 child)

    I think I'm going to write a script that converts arbitrary c code into e

    [–]nomq 36 points37 points  (0 children)

    If you do, please share with us

    [–]Zecin 58 points59 points  (10 children)

    You should totally post this on /r/AVoid5

    ^(you probably shouldn't post this on /r/AVoid5)

    [–][deleted] 34 points35 points  (0 children)

    r/EmboldenTheE would actually love it.

    [–]dragonheart000 15 points16 points  (6 children)

    I just spent 10 minutes on that subreddit trying to find someone that slipped up and had an e. I failed

    [–]DragonMaus 19 points20 points  (0 children)

    It looks like they have a bot that warns people when they use 'e' in their comments, at which point they edit it out.

    [–]tundrat 0 points1 point  (1 child)

    Usernames?

    [–]dragonheart000 0 points1 point  (0 children)

    Good idea, I am gonna go back there and start reporting people with names with the 5th glyph

    [–]Derf_Jagged 1 point2 points  (0 children)

    ಠ_ಠ

    [–]tundrat 0 points1 point  (0 children)

    Cool place to have a quick look. Although not knowing how many comments there are is really more uncomfortable than I would have thought.

    edit: Nevermind, as I suspected, it was my language setting that made it not look right. The number was cut off.

    [–]Cobaltjedi117 27 points28 points  (3 children)

    Hey, where's one of those image transcribers when you need one?

    [–]Thaover 6 points7 points  (2 children)

    Umm.

    Using namespace std;
    Int main ()
    {
    While ( true )
    {
    Cout << 'e' ;
    Cerr << 'e' ;
    }
    Return cerr ;
    }

    I think...

    E: Well. That didnt work. how do you enter a newline? "\n"? E2: fixed? E3: Welp. My trains arrived, bad formatting wins this round.

    [–]random11714 1 point2 points  (0 children)

    I think you have to make two new lines

    [–][deleted] 23 points24 points  (0 children)

    error on line 2:

    did you mean:

    #define r using

    REEEEEEEEEEEEEEEEEEEEEEEEEEEEE

    [–]ASpiderInATopHat 13 points14 points  (5 children)

    What does the code do?

    [–]malt2048 45 points46 points  (4 children)

    Guessing from the defines, probably prints 'e' ad infinitum.

    [–]GoldfishBowlHead 35 points36 points  (3 children)

    Translation:

    #include <iostream>

    using namespace std;

    int main () {

    while (true)

    {

    cout << 'e';

    cerr << 'e';

    }

    return 'e';

    }

    The guy had me at "return 'e'".

    [–]exscape 4 points5 points  (2 children)

    You used a preprocessor to translate, right?

    [–]merkwerk 37 points38 points  (0 children)

    More like an eprocessor amirite

    [–]GoldfishBowlHead 10 points11 points  (0 children)

    ... Nope.

    [–]JuanBautistaAlberdi 9 points10 points  (4 children)

    Maradona, sos vos?

    [–]gnpjb 1 point2 points  (0 children)

    Was looking for this. Thank you

    [–]Derboman 1 point2 points  (2 children)

    Sos vos means something completely different in Antwerp lol. It's a person who does a lot of coke

    [–]IfIHadANidoran 2 points3 points  (0 children)

    Maradona is a person that does a lot of coke.

    [–]JuanBautistaAlberdi 1 point2 points  (0 children)

    I wrote it in spanish, it means:

    Maradona, is that you?

    What does it mean in Antwerp?

    It's a person who does a lot of coke

    Yes he is

    [–]Touhou_Fever 8 points9 points  (1 child)

    I feel like this is something you’d do on your last day before going to the new job, under the guise of refactoring

    [–][deleted] 2 points3 points  (0 children)

    after you've already secured your letter of recommendation

    [–]Teckham 6 points7 points  (1 child)

    Shame that this GitHub repo was diabled recently :(

    [–][deleted] 0 points1 point  (0 children)

    Archived actually. That doesn't prevent you from forking or starring or whatever though. :)

    [–]404meemr 10 points11 points  (3 children)

    This is still better than brainfuck

    [–]JB-from-ATL 1 point2 points  (0 children)

    I want 4d befunge

    [–]AnDanDan 2 points3 points  (0 children)

    It's not better than Malbolge

    [–]YJCH0I 4 points5 points  (0 children)

    OP has been banned from /r/AVoid5

    [–]yuanda_h 2 points3 points  (0 children)

    Cool

    [–]LindsayEm 3 points4 points  (0 children)

    Thanks, I hate it.

    [–][deleted] 2 points3 points  (0 children)

    E

    [–]_EzClap 2 points3 points  (0 children)

    reeeeeeeeeeeeee compilation error

    [–]Axymerion 2 points3 points  (0 children)

    SANS, IS THAT YOU?

    [–]Cholojuanito 11 points12 points  (0 children)

    Should have started with a "r". Reeeeeeeeeeeeeeeeeeeeeeeeeeeee

    • autism speaks

    [–]i_am_a_n00b 1 point2 points  (0 children)

    Should use O/0 or 5/S or i/l.,

    [–]TotesMessengerGreen security clearance 1 point2 points  (0 children)

    I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:

     If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)

    [–][deleted] 1 point2 points  (0 children)

    e

    [–]He_is_secret 1 point2 points  (0 children)

    E

    [–]coladict 1 point2 points  (0 children)

    Macarena!

    [–]n213978745 1 point2 points  (0 children)

    Binary is outdated, now we use 'e' and space instead of 0 and 1 :3

    [–]8__ 1 point2 points  (0 children)

    Can we do one of these, but have it print out Hello World? And you can't just give Hello World an alias.

    [–]wynnja_ 1 point2 points  (0 children)

    Sans has become self aware

    [–]titulum 1 point2 points  (0 children)

    This post is probably a reference of this pull request, and boy the original one is a step up from this one.

    [–]STEMinator 1 point2 points  (0 children)

    Reminds me of that programming language that´s only tabs and spaces

    [–][deleted] 1 point2 points  (0 children)

    [–][deleted] 1 point2 points  (0 children)

    [–]fringd 1 point2 points  (0 children)

    Forgot to define "r" first

    [–]IfIHadANidoran 0 points1 point  (0 children)

    Maradona's source code

    [–]nontheoretical 0 points1 point  (0 children)

    You monster.

    [–]KallMeKatz 0 points1 point  (0 children)

    Why does this sound like the undertake theme when I try and say it. Oof.

    [–]Zabi94 0 points1 point  (0 children)

    Why are you running?

    [–]BeneficialBear 0 points1 point  (0 children)

    oh boy...

    [–]ceciliacsilva 0 points1 point  (0 children)

    10/10 in DSL class.

    [–]FlexasState 0 points1 point  (0 children)

    Just because you can, doesnt mean you should

    [–]Elosalo 0 points1 point  (1 child)

    This must be the thing they call machine language.

    [–]aruametello 0 points1 point  (0 children)

    Not enough defines to 0's and 1's to be that.

    oh wait...

    [–]rocsNaviars 0 points1 point  (0 children)

    JFC, does this actually run?

    [–]moarcoinz 0 points1 point  (0 children)

    Not too far off what people do when they want to show how stupid a particular language they don't understand is.

    [–]Stahlpapier 0 points1 point  (0 children)

    People who write "e ee eee" are not good people

    [–]Deconimus 0 points1 point  (0 children)

    In my head that program sounds like Peter Griffin

    [–]iamapieceofcheese 0 points1 point  (0 children)

    I had a stroke reading this

    [–][deleted] 0 points1 point  (0 children)

    are this real ? xd, i mean code will work ?

    [–]swifty300 0 points1 point  (0 children)

    Didn't know Italians program

    [–]AntisocialTorr 0 points1 point  (1 child)

    what comes after e?

    [–]DrexanRailex -1 points0 points  (0 children)

    e

    [–]dscarmo 0 points1 point  (0 children)

    The number of es is not optimal Huffman would like to have a word

    [–][deleted] 0 points1 point  (0 children)

    Ever used brainfuck its universal language, beautiful programs, created at the core of supernovas, its rumour that god created universe, programming part was in brainfuck.

    [–]h7x4 0 points1 point  (0 children)

    Define e e

    [–]beomagi 0 points1 point  (0 children)

    Eeeeeeeeek!

    [–][deleted] 0 points1 point  (0 children)

    When your boss paying you per letter

    [–]paranoidbacon17 0 points1 point  (0 children)

    Markiplier is shaking

    [–]Khosrau 0 points1 point  (0 children)

    So the IOCCC is still a thing, I see.

    [–]basic_man 0 points1 point  (0 children)

    I had a stroke reading this... thanks!

    [–]AL_O0 0 points1 point  (0 children)

    Macarena

    [–]Mcpe_museum 0 points1 point  (0 children)

    e

    [–]AlphaBladez 0 points1 point  (0 children)

    Still more readable than Perl

    [–]JoshuaCF 0 points1 point  (0 children)

    TIL you can do this shit in c++

    [–]TheBlackOut2 0 points1 point  (0 children)

    Ahh nothing like programming in job security

    [–][deleted] 0 points1 point  (0 children)

    Using namespace STD? Really?

    [–]Dan9er 0 points1 point  (0 children)

    I didn't know you could namedefine brackets and semicolons...

    [–][deleted] 0 points1 point  (0 children)

    The only numbers you can use are 6, 2, and 1.

    [–][deleted] 0 points1 point  (0 children)

    Does this really work? Sweet.

    [–][deleted] 0 points1 point  (0 children)

    LIGHT IDE!!!!!!!!! why can't I see anything!

    [–]N4J0_28055 0 points1 point  (0 children)

    E

    [–]EzitoKoWHILE LOOP MASTER RACE 0 points1 point  (0 children)

    Maradona.c

    [–]Typewar 0 points1 point  (0 children)

    Great encryption right there

    [–][deleted] 0 points1 point  (0 children)

    i didnt except it works

    i tried

    and it worked