• @[email protected]
    link
    fedilink
    11610 months ago

    Senior Dev: the code is self-documenting

    The Code:

    f̴̡̨̰̤͖̭̻̖̻̥̟̲̓̀̐̐̓̈̀̕͠õ̷̙͍̲̳͕͙͖͚͎͌͒̃̀̌͐̂͒̕͝ͅr̸̘̺͍̣̩̣̬͌̑̍̈́̅̕͝ͅ ̸̟̥̠͉͚̱͉̺̹͓̾̓̈̂̀̈͌͐̽̋́͂͝͠͠(̸̨͎͉͓̹͚̈́̈́͂͝͠j̷̡̛̬́̀̄̌̈́͊̕ ̷̫͑̆=̶̢̫̥̝̣̙̖̥̣̾̀͑́͛̆̉̕ ̴̡̣̬̼͓͇̟̠̞̝̂̾ͅ0̴̯̦̩̻̘̝̯́͛͂̉̏̈́̎͠;̷̛̝͚̫͇̭͎̪̟̤͋̊̀̅ ̶̱̑̍͋̐͗́̓j̷͍͇̖̦͍͎̰͙̯̃̂̈̒͗͋͆͗̅̚ ̴̡̛̬͙̫̭̪̻̭͚̥͉͖͑͌̀̽͋̿̈̍͋͊̂̊̚͜≮̢̨̛͍̲̞̍̏́͐̿̈́̿͛̅̄͜ ̴̨̳͖̱̞̬̹̠̗͔̠̙̩̗̋̎̾̌̽͆̎̋̔͠ͅy̷͎͚̽͗͋̋̽r̴̢̨̡̛͉̜̰͚͇͎̘̄̎͒̓̽̅̆̊͐̓̌̽͠é̶̲̹̑̆͗͊̀̏̇̐͗͘͜͝s̴̢̛̩̬̖̩̞̞͒̈́̍͒͜͝͝;̵̰͕̬͂͆͆̂̌͂̀̋̇̋͝ ̷̨͓̹̳͙̰̳̰̝͚̝͔̫̬̀̓̀̿̈́̆̋̃͊͘͜j̷̡̡̢̠̭̲͔͎̮̰̣͕͚͇̱̄́̇̌̄+̴̡̜͍̘̮̦̠̜͍̏̽͛̌́͗̃͊̃̕+̵̛̪̬̫̬̣̥͙̼̟͙̖̒͛͆͛́͑̈̆͛̽̚͜)̵̨̡̙̖͕̙͈̜̫̗̳̲̈̾ ̶̡̛̞͔̲͔̬̐͋̓̓̔̑̽͒{̴̧̨̤̙̘̲̥̻͎̈́̓̋̀͒̾̈̋̍͗̂́͌̕͜ ̸͈̫̣̥̠̫̙͙̃͂͊͒̒͋̄͑̏̚͠ͅ ̸̧͉̰̹̻̝̟̻̓͊̈́̓̆͑̈̿̀̅̾̈́̔̒͜͜ͅ ̸̨̙͓̪͇̦̖̗̹͔̤͍̃͑̐ ̸͉͓̼̞̇́́̀̃͌͒͘ ̴͈̳̭̹̻̞̬͎̠͌̃͝y̴̲̠͓͖̫̹̙̖̻͚͔̿͆̀̀̉̓̈́͘̕͠ͅ ̸͇͚̰͈̘̣͉̬̌̏̅͂͆͊̈̄̅̈́͠͠=̵̬̫͕̺͚̬̩̞͙͔̹͖͂ ̶̧̛̬̥͈̰͖̫͚̥̼̥̦̭́͋͐̊͛́͆͆͛̚y̸̳̾̅̈̈́̂́̊̋̐̽m̴͉̯̳̠̣̥̑̐̕a̶͚̳̣̼̬͖̱̿͑͌͐̓̓̌͒̑́́͜x̶̨̨̛̛͓͈͍̜̝͇̜͉͈̰̓̋͆̊͋̎́̔͛̏͘͘͝ ̸̗̠͔͓͙̥̯̋̄̌̎̊ͅ-̵̛͇̟̣̆̅̚ ̶̛̌͂͒͑̍̽̓͜j̵̛̫̪̼͙̇̕ ̶̸̧͍̳̣͈͇͇̼̱̠̭̤̜͕̫̗̝̟̬̪̳̖̤̜̌̏̀̔͆̅̈̔̾͐͆͒́̂͝ͅ ̷̱͇̱̳̗̱̓̔̌̂͑̈́͋́͊͐̈́̕̚͜͠͠d̶̼̞̰̟̩̹̯͇̓͜ͅͅy̸͉̑̀͑̐̏͐̍̀͜͝͠;̷̨͔͖̥̫̣͉͖̭̳͇̊̂̀͗͊̇̕͜ͅ ̸̨̛̘̬̤̩̦̞̤͖̤͖̈̂͒́͐͠͝͝ ̵̪̘̦̺̰̩̲͉̬͊̂̇̏̽̓̀̍̀̚̚͜͝͝͝ ̴̫͍̄̑̓́͛͗ ̴̺̔͛̽͒ ̵̧̳͕͍͍͋͆̈́̀̀̎̄̐̔̂̂̋̚͜͠͝f̷͍̙̘̫̲͉̮̪̮͈̖̹͒̈́͠o̶̥̝͕̤̖͉̫̟̞͍̿͐͗͋̐̽̅͒͘͜r̶̡̗̻̣͍̯͚̫̥̺̘̜͐͐̐̋͑̿͂̇̔͂͂͝(̴̰̩̱̼͓̯̖̪̖͈͊̂͒̈i̵͙̓͒͒̎̀̑̓͊́͗̔͛̅̚ ̵̦̤̭̙̖͙̰̼͓̗̣̙̙͂́̒͑͜=̷̡͙̘͓͚͉̪͓͔̲̣̈́̕ͅ ̷̢̢̭͇̳͍͖̜̩̗̩̙̆0̶̡̛͕͆̄̑͛́̽̀͂̓͊̈͋͝͝;̸̢͕̰̝̘̋͌̂̇͂̾̉́̃ ̶̢͍͖͈̤͙͔͎̝͂̂̈̀̆̃̈́͑̄̑̓̕͘͜ì̴̜̼̦̞͕̠͚̘͕̼͇̼̉́̐̈́̋̀̑̈͛̚͜ ̴̨̻̖͈͖́̄̍̓̓̀̒̈́͗͐̏̔̑̇̕<̶̨̛̛̝̼̯̓́̔̈̈́̎̓͒̒̓͂̀͝ ̸͈̖͖̯̰͓̭̦̙͓̰͋̓̑̐͐̔̓̈̚͜͝x̷̯͖̳̼͎͙͚̖̫̹̿͛̏̕ŗ̶̦̩͈̗̝͔̮̙̋ͅë̸͙͎̝̯̫͚́̃͜͝s̶̨͉̬̮̭̻̬̦͚̪̀̑̊̾̂̍̔̆̄;̴̨̭̜͔̄̿͆̇̈́̈́͊͗̈̔̇̃̈́͠ ̵̞̫̦̞̯̗̞͍͓͚̱͔̄̒͗̅̈́̾̉̐͋͒̉̉i̵̱̔+̶̠̝̗͉̇̆̽̐̿̌̈́̎͜͝+̷͉̜̽̇̒͛̄̈́̾́̽̑͆͒̂̔͛)̵̫̋͠ ̸̢͇̪̲̪͉̰̟̤̫͎̲̱͈͐̔{̴̢̧͖͔̮̳̙͓̫̤̰̩̰͕̣͆̓̒ ̶̡̧̺̥͙̳̣͙̰̰͙̲͔̙̝̈́̄͊̓͐͊̄́̓̐̚͝ ̵̡̢̧̧̨̜̗̦̥̞̱̽̓̀͆̆͐̄̄̅̌́̀̂̕͘ ̶̡̙͙͇͚̞͎̂̎̈́̉͂͛̄̎͝ ̷͙͓̯̣̱̜̬̱͎͕͍̗̿͋̾ ̵̛͔͎͇͍̩̞̣̥͎̪̩͖͕͗͝ͅ ̸̧̨̙̺̩̯̦͇͕̾̄͑̔͛́ ̶̬̥͔̪̝́̆̓̀̍͗̈́̋̒ͅḑ̷̗̤̰́͂̾̐͌̔̀̔̊̏̐͒͘ȏ̵̧̞̯̥̩͔̻̝͙͛́̄͌͆̈́̄̀́̚͜͜͠͝ͅų̷̞͈̖͖̰͕̅͗̓͛̈̈́̄̓̈́͘͘͝b̶̯͉͙͓͓̪͉̖̺͖̌̂ļ̶̤̤̬̝̠̝̳̺̼̗̋͆͂̎̆̏͂̏̚̚͠͠͝ͅĕ̶̘̪͑̑ ̸͇̳̭͚̥̠̭̠̻̣̩͂ǘ̴̢̨̧͓̩̖̪̪̤̣̝̪͓͙͉͊̈́̀̑̇͌̑͗̈́͋̐̓̉͝ ̸̧̛̩͎͓̻͇̦̔̋͆̄̃̆̔͆̀̋̈́̏̚͝=̷͔̲̫̭̝̤̟̙̤̳̠̫͓̺̻̓̈́̄̈́̃ ̵̦͔͋́̉̊̾̊͊͊̾̔̀͒́͘͜͜ͅ0̵̯̌͒͛̽͆.̸̹̈́͑̄̊̐͌0̶̨̧͕̲͇͕̼̭̮̿͑̉̇̒̿̾͐͠͠ͅ;̵̨̝͉̫̙͉̠̤͛̾̅̋̎̀̈́̽́̕͝͠͝ ̶̡͇͉̗̞̤̪̯͕̥́̔̿̏͊͌́̊̋̂̚͝ͅ ̷̫̱̹̤͂́̈̐̐̊̓̉̿͐̒̚͘͝ ̸͎̥̼͎̤̜̪͇̇̀̀̄͛͑̈́͠ ̴̢̘̰̺̺͓̬̪̔̊̋̀͌̂̍͗͘̚͝͠ ̷̢̌̀ ̸̡̛͊̉̏̒̍́̋̓̑͊̓̕͝ ̶̹̿̂́͝d̴̢̠̺̣̱̗̳̼̹̻̖͉̜̜̬̈́̋̿́͂̒͠ǫ̵͇͗̽́̒͘͘ū̸̢̫͓̤̳̖̦̬͕̹̫̹̟̦͆͝b̵͚͉͐̿͌͗̽̓̎ľ̸̺̗̝̟̰̓͋͛̃̃̀ȩ̶͇̲̪͗͋́̒̒̍̇̃͠͝͝ ̴̛̺͕͚̒́̎͊͛̿̕͜͝͝v̷͙̳̳̱͉͓̏͒͌͒̅̈́̍͝=̵̱̭͎̳̇̏͌́ ̴̡̛͍̼͎̲̻̦̙̬̆̎̏̈̓͐̑̇́̀́̔͘͜0̸̧̘̝͈̘͉͈̻̝̞̋̂̇̈͗̈́͒́̆̎̾̿͒͘͝ͅ.̴̨̜̻̮̦̣͈̮̓͒̈́̈́̆͊̒͂̓͂͝0̴̢̛͚͙̞̭̭̼͖͛̏̃̆́̈́̾̈́̀ͅ;̸̡̽ ̴̡̜̺̩̼͈̺̦̔̒ͅ ̶̢̨̛͈̥̭̰̞̳̓̉͊̊̓̅̅̍͒̆̈ ̶̭̰͍̠̺̼̗̠̣̳̳̻́̍͌̔̐͛ͅ ̵̢̬͔̤̤̰̏̀̊̋̐̎ͅ ̵͎̥̹̝̥̪̫̖͛͊̌̾̇͜ͅ ̵̡̭̩̪̤̖̏͌̀̾̄̈́̆̉͘̚͝ ̶̨̼̗̝̤͈͈̗̎̀̓̈́̔́̏̑͠͝d̶̤̳̟̪̔͑̋̇̾͑̿̏̅̍̈́͝ǫ̶̨͇͇̖̙̲͎͎̟͍̮̱͉͂̉̀̾̋̊͂̆͝ư̶̜̙̘̈͊̓͋͛̽͑̀̈̃́̔̓̔b̴̨̨͎̹̫̦̳̫̱̼̜̃̄̏̾̀̌̇͑̓̈́͂͂̇̏͜l̴̨̨̞̲̙̫̟̯͙̥̪͊e̴̱̺̱͝ ̸̗̈́̃̽͑͌̓̓̂̈́͂̿̋̚͠ǔ̷̞̼͖̥͗̂̑͗͠2̵̢̨̻̥̖̗̩̖͕̭̈́̅͂͗ͅ ̴̡̢̗̥̳̫̹̩̪̪͚͕̣͓̖̔́́͘=̵̨̳̥̻͎̙͋͋ ̸̢̧̢̛͈͍̰̠͇̟̄̋͑̄͆̈̀̍̐́́̑͋ͅu̴̠̲̰̯͚̖̞͙̯͚͚͕̅̀̓͒̑ ̶̸̙͍̘̰̻͇̗̯̼̱̭̜̲̮̫͖͚̖̻͂̀̀̊̍̉̈͌̋͊̽̌̐́̎͘ͅ ̶̨̡̡̛̭̻͓͖͙̝͈̤̑̀̈͐̃ȗ̸̧̨͎̬̺̣̥͖̥̣̦̞̫̺̎͛̕;̷̞̞̻̳̩͕̈́͐̾̊̓̐́̄͊̔́̽ ̴̧̧̫̪̟̭̹͙̰͔̗͍͛̀̇̆͂͋̒͊̎̈́̐̽͠͠ͅͅ ̷̛͙̪͔̫̥̠̪̭͍͔͉̙̋̿̀̑̃̔͜ ̶̡̡̯̜̲͎̦͇̗͈͓̱̜͊̋̋̊͗̓̆͐̋͠ ̸̧͚͍̮̲̰̗̲͖̬̰̀̑̊͆̄̒͛̃̄̚̕͠ͅ ̴̛̭̗̲̮͈̝̟̹̜̜̯͇͕̓̎͛̎̿̔̂͛͊̂̒̕ ̵̰͆͊͌̿ ̷̢̧̡̩̺͎̯̥͕̈́d̶͉̒̑o̸̧̤̱̖̻͓̤̻̦͍͈̬̎̂͜ư̴̭͍̬͉̲͕̻̽͐̈́̈͐̌̕b̵͖̉̀͑̂̀͝l̶͙̈̌̈́̚̚ȩ̸̼̘̅́͂͊̊͒̉̈́̽͌͜ͅ ̸͈̋͘͝v̶̨̩̹̜̱̝̮̞̭̖̤̇̿̿̏̀̽͒͌̎2̶̛͎̼̪̦͙̼̫̹̦̥͇͚̇̂̾̀͋ ̶̰̎̔͊=̴̬̳̻̖̊͐̿̈́͛͆͐̌̒͆͑́̂͝ ̴̢̳̗͕̩͖̫͔̝͕͉̰̲͋̏̌̇͗̕v̸̷̡̡̡̯͕̤̰̭͚̮̗̯̯͚̱̩̱̘̈́̀̂͒̂̇̐̋͋̀̆͆́͛̑̎̒̚̕͘͠͝͝͠͝ͅͅv̷̧̯̜̀̈́͒͒̾̐͗̕̕;̴̡̙̠̪͙͚͈͕̄͒̀̔̀̍͌͘ͅ ̸̧̡̛̛͔͓͔͓̰̲̯͓͙̻̺͎̐̇̔̅͜ ̴̢̢̡͍̭̟͈̤̮͎̰̠̹͆̌̓̆̓͂̇̆̅̿̒͂̏̂̕ ̸̜͓̗͎̼͉̰̟̟͎͊̀̑̒̈̏̀̚͘͠ ̷̢̳̫̹̱̝͚͐̅̈́̾̔͌̈́͋̏̓̿̃͘ ̵̫̫̦͉̈͒́̀̑̇͜͠ ̸̡̛̱̜̲͈̙̞̮̺̭̽̓̈́̿̏́̕ ̶̗̲͓̝̏̃́͊͒͘x̷̠̞̩̀̐̊͐̓͒̕̕ ̶̢̭̞͚̳̣͈̦͇̙̒̾̈́͊̑̊͋̿̄̒́͝͠=̶̨̨̧̪̱͖̱̻͓̦̈̈̈̉̈́̈́ ̴̻͚̺͎̰͇̙̝̜͉͕͐̅̓̔̎̂͝x̴͈͔̯͎͇̲̙̤͙̌͌ͅm̸̲̟̳̝̠̃͛͠ḯ̷̡̧̨̟͓̜̜̯͇̙̳̠͗͊̎́͛͋̔̆̃͆͠͠ͅn̶̡͚̮̙̠͖̦̦̻̫̖̱̗̹̟̈́̈́̈́͝ ̷̡̺͎͎͉̖̰͙͕͖̿̈́͑͌͝+̶̢̩̤̜̳̠̺͙͖̙̐͐͘ ̴̢̮̻͎͉̎̋̓͋̃̂̓̓͊̂͛͘̚͠͝į̶̥̯̮̰̬̮̀͗̐̊̅̀̔́͜͜ ̷̷͓̫̖̰̜̝̰͓̃͋̂̿͂́̽̕͝͠ͅ ̴̜͓̩͔̲̅́̾͛̉̏͆̾͒̑̿͘͜͝͝d̶͈̰̖̈́͜͝͠x̸̜͉̗͓̯͍̤̝̞͎̺̤̳̭̂̂;̵̫͈͖̍͒͊̔̍̈̄̇̇́̀̇ ̶̢̧̨̛̦̤̘͇͙̲̺̩̙̠̜̓̂̈́̎͂͋͆̈̏͐ ̸͙̼̩̪͝ ̷̡̜̠̰͙̅̅̾͐̅͊͊̏͊͒͛̋͝ ̸̧̩͖͙̤̝̪̏͆̇́͐̃͌͗̍̈́͐̕ ̴̛͖̥̹̹̰̟̉́͠ ̸̢͍̪͔̮̙̰̲͋̓̅̈́̓̍͒ ̶̢͖̜̫͍̗́̌̍̉̏͒̏̓̃ ̸͇̫̗̼͈̜̙̺̰̫̯̟͉͇͋́͒͑̉̊̀̔͠ ̶̨̖̌̀̀̌͛̒͋̓͊̚͜͝ ̷̥̝̘̦̤̻̘͊̎̄̋̃͐͜ͅ ̶̧̘̖̰͎͇̭̲͚̟̜̝͓̌͋̾́͊̂̾̔̅̽͛͘͝ ̵̬̪̣͍̰̱̼̘̥̩̘̪̦̘̿ͅ ̷̨̟͕͚̮͒͑͆̆̈̊̅͂͝͠ ̷̢̤͕̘̝̙̺̟̙̭͙̏̀̑̽͂͜͠ͅf̷̧͓̖̖̝͓̤̱̠̀̈́͑̈͌̿̊̇o̵̖̟̱̭̗͂̈́̈͘ṟ̵̻̙̙̥͔̥̋̈́̌̑̃̈͑̒̾ ̶̡̢̛͙̪̝̣̳̘͚͊͐̀̌̀̈́̽̈́̅̇̈́̑̽̓(̵̰̫̗̣͇̤̙̱̞̣̤̟̙͒̃̈́́̄̇̚̕͝͝͝͝ͅḱ̷̛̟̾̅̌͌̑̀̈́͌́̀̕̚͠ ̸͚͈͍͇̮͊̃͐͛̋͂̂̏̅̈́͑=̷͍̩̺͎̉̏͗̄̈͝ ̵̡̡̩̻̟͎̮̞̳̳͖̱̃͒̑̽1̸͕̳̰̫̍̉̅̔͊͋̓͛̈̌͝;̸̡̳̬̬̀͊͋̽͂̆͜ ̶̨̢̗̱̤͈̭̈́̂͝͝k̷͎͔͈̤̞̱̮̩̯̩̿͌͘ͅ ̸̡͖̯̥̫̤͚̝͙͓̪̒̀<̶̧̣̟͈̫͍̯̣̹͊͌̑͛͂̆̅͛̚͜͠ͅ ̴̨̡̥̼̲̮͘m̸̯͇̈͊̏̕͜a̸̢̢̞̞̠͙̠̗̹̜̙̓̇͆͒̀̋̅͌̂̇x̷̢̢͖͉̰͙͚̯͕̼̖̙̼̋̉͗̈́̊̂̌̂͐̈́͜͠͠i̶͇͖̅̀̐̐͗̚t̸̥̤̤̼̖̤̫̙̥̠̽̓͂̏̓̇̊̅̈́̈̚͘ë̸͇̳͓̗́̽̊̽͊̎͠͠ŗ̴̧̹̮̬̳̻̪̀̆͛̈̅̔̐͜͠͝ ̴̧̮̫͇̫̝͓͉̱̖̹͚͈̝̲͑̋̀̀̈́̂̈́̈́͌̚̕͝&̷͔͍̻̪̤̭̺̱͉̟͇̤̼̬̣̉̂̑͂̆͂̑̊̄̎̿̿̎͐̚&̵̛̖͉̄̈́́̈́͌̿͗̅̑͝͠ ̴̡̡͇͈̬̮̦̯̯̲̼̯́̎͑͋̀̔̕ͅ(̷̬̹̩̳͉̙͔̀͒͌͒́̑͜͝u̷̯͖̿͒̇̊̍̒͌͊̽̄͠͝2̶̮̙̝͍͔̯̩̽̀͂̊̿́̀͆̕ ̴̹̾̎́͆͌̾̚+̵̧̭̦̤͉̮̫͎͚̊͋̋̅̎͊̽̑͊͘͘ ̵̦̣̙͉̖̱̺͝v̶̜̯̖̟̩̜͎̝̤͙̕͜2̷̛͚̹͓̖̱̞̤̥̹͕̅̒̄͋͠͠ͅ ̶̧͕̮͍̱̖͔̬̼̖͎̜͚̯͓̊͌̅̒̉̅͒̏̀<̶̧̧̹̱̬̹̜̘̯̘̬̬̉̆̋̓̃̅́͐͆͋̑̍̾ ̸͔͈̜̹͓̻͇̲̹̠̝̎̄̈́́̅̃̆̈́̓̈́̚͜͝4̷̟̠̙͚͓͔̻̏̎̈̃͛͛̽̂.̸͔̩̯͍̮͓̙̣̺͓̇̆̽͋̓͑̊́͋̀̓̈͜0̷̡̨̧̤̳̬̤̾̌̕͝͝)̴͖͕͙́͝ͅ;̸̧̧̡̩͙̫͈͔̩̙̝̣̗̈̓̈́̀̚ ̷̻̤̭͔̫̱̫̩̳͇̤̝͂͂̋͑̌̽̐͗͝k̸͍͇̑̔̾̈́͆̎͝+̵͉͔͙̭͈̟̫͓̰͈̅̔̾́̒́͆̉͜͝+̸̨̧̨̧̘͎̞͍̙̗̘͑́̌͐͂̄̎̋̓͘͜ͅ)̶̧̙̰̳̠̠̘̲̬̙́ͅ ̴̡̨̡̛͚͍͓̯̦̺͇̌̀̇̑̌͗̀̓̆̾̾̇͠͝{̷̢̛̙͕̗͕̒͂̈́͘̕ ̵͍̬̘̞̗̥̠͍̥̫̝͇̺͑ ̴̧̪̭̲͙̘͎̀̂̇͐̈́́͑̿̓̈̉ ̵̪̱̐̈́̔̽̆̅̉͑̀̾ ̶̟͚̪̼̥̰͔̱̭̰̇͛̈́̽̕ ̴̯͍͚̹̜̠̺̖̗̼͆̓̍̓̅̈̈́͆͑̾͆̊͝ ̶̡̨͍͖̭̘̳͓̤́̉͑̚͠ ̴̨̧̗̣̞̿͂́̕ ̴̢̧̧̛̯̳̀̅̀̍̄͌̍̀́̓̀͘͘ ̸͉̘̯̐̓͜ ̶̡̢̬͕̹͈͂͐͊̀ ̶͕̪̻͉̜͓̯͔̝̹̳̑̽̎͋̓͌̉̒̈̋̒̄͒̉͜͜ ̶̡͎̠̞̰̠͇̳͇͚̲̟̫̉́͑̊͜͝ ̶̧̛̦̰̻̪v̷̧͙͔̟̱͓̻̥̠̞̣͔͈̋͂͋̒̋̍ ̶̧̻̝͓̈́͒́̓̉́͑͛̒̑̏̇̐̚͝≠̛͉̅̐̾͒̄̐͗̄̚͝ ̷̬͓̂̈́̈́̎̑̀͆̓̾̈̐̕ͅ2̴̢͖̘͚̫͓̞͚͎̝̼̯͈͆͛̀͜ͅ ̴̴̧̨̨͎͖̤͚͎͔̘̮͔̏͛̈́͋̐̂̀͋̋͆̓́̾́̎̇͠͝ͅͅ ̴͉̲̦͇̗͌̎̀͐̾̃̆͝u̶̡̨͎̹͇̺̹̼̫͉̻̺̠̣̐̇̐̈̅̽̎̕͘̕ ̴̴̡̧̨̝͔̘̞̗̞̼̪̺̦̞̘̬̠͉͐́͐̒́̿͛̓͗̇̽̐̀̄̀̚̕̕͘͝ ̴̝̮̹͚̮͎̏͂̈́̽̊̍͐͒̄̑v̴̢̡͍̖͍̭̘̲̝̲̭̲͈͒́̈́̌̂̍̑́̈́̂͐͛̕͝ ̵̧̛̬̺̪̫̺͗̾͗̆͋̆́́̐̒͌͆͜͝+̷͖̘͖̱͎͖͚̜̻̍̓̈́̊̂̏̿͘̚͜ ̵̢̛̘͉̤̠͍̟̮̘̝͓̭̳͚̓̓̈́̔̇́̓̓̓̑͊͒̈͘y̷̛̖͚̪̦̦͍͎̯̺͉̙̓̿͛̚̚;̷̡̢̛̜̝͎̺͚̟̙̗͓̃̽̑͐̾̈́̑͒̐̂͛̚ͅ ̶̨̰͍̣̳̈́̓̾ ̵̻̟̙̖̅̈́̈́͌͋̐̿́̆͂͘͜͠ ̵̡͎͈̭͔̜͊̓̊̈́̾́̍̈́̐̒̚͜ ̸̣̥̟̜̏͝ ̸̢͍̪̘̤̱̓̈͒̈̏̋̈͋̽̈́͝ ̸̧̳̮̥̜̫̟̦̺̙̼̟̘̖̿̊̿̔͐͌̄̓̎͗̀̕̚͠ͅ ̵̡͍͎̙͈̰̲̑͜͝ͅ ̷̼̃̍̒̈́͂̕͝ ̴̨̝̖͋͛̆͗͌̿̂̒̆̀̅̄͘͠ ̸̼̗͖̺̦̭̞̖̊̆͆̾̿̈́͠ͅ ̶̡͕̰̦͎̽̀ ̵̢̲̞̟̳͋̓̎̎͒ ̴̰̭͚̞̜̺̊̇̄̂̀̾̃̕ͅŭ̴̡͙̽̉̑̃̇̍̒̔̈́̉ ̴͔̩̭̙̬̙̺̪͕͉̦̟̦̥̫̀͐=̴͖̼͕͌̾̑̈͊͘͝ ̵̨̡̣̝̱̯̺͔̬̞̙̫̟̗̽̏̓̈́͒̐̅͋̽͝͝ů̴͔̪͕̙̝̙̪̣̹̒̔̏͛̈́̑̈́̈́͛͘̚͜͠͠͝2̸̰͎̲͎̙͉̱̾͐̀ ̸̢̼͎̗͊̄̒͐̈́̉͠-̸̡̞̤̰̠͉̆̌̚͜͠ ̶̯̳͚̭͕̪̖͓̳̅̋̆̓̚͝v̶̧̛̛̥̝̝̭̦̩̮̘̓̓̉̿͝2̵̡̡̛͓̖̺͙̗̤̠̥͚͙̿̉̏͜ ̴͇͉͕͊̊̋̅͂͋̀͐͐̉̇̓̑͠+̷̢̡̧̩̜̳͎͚͓̱͖̖̭͕̗́̈͌̐̎͛̐̒́̕ ̷̢̭̹͚̪̬͍̦͍̺͐̔̅́ͅx̸̨̗̽̀̀̅͜;̴͙̥̯̺̹͇̽ͅ ̸̛̛̳̞̘̲͓̭̩̖̗̫̜̩̈́̀͊́̂̏̾̐́͂̾͜ͅ ̶̼̔̀͆́͑͛́̒̂͛̎̚͝ ̷̛̹͔̩̝̔̋̀̏̉̑͑̋̾͒̆͒͜͝ ̴̣̜̦͓̞̦̬̤͑̋̉̂̀̆̓̿̂̇̆̑ͅ ̵̧͈̜͉̯̟̑̔̇͐̌̈́͐ ̸͉͔͕̘̘̻́͌͋́̅͒̃̅̎̈́ ̴̛͓͊͗̈́̊̆͊ ̵̘̗̺͖̈́͒̈͂̏ ̶̨̰̩̗͇̩̅͠ ̴̨̗͖͖̦͖̺̩̲̪͔̫̋ ̶͉̖̫͓̻̥͓͔̰͌̂̿̚ ̵͇̙̟̼̱̭̹̟͕̒͒̿̃͂͗̂̉͠ ̸̧̛̲̭̝̠͓̋͑̌́̈̐͋͗͊̔̊̽̃̚ͅų̶̡̢̺̞̤͉̬̫̳̤̬͐̑̎̌̉̇̉̓̚͠͝ͅ2̶̨̧̳̫̬͚͉̼̠̎̇͆̈́̓̋̔͗̑̈̽̓͑̕͜͝ ̴̣̥̺͚̭̞̭̯͔̦̓̎̆͋=̴̧̢̧̥͕̻̠̟̦͇̺̪̥̯̰̉̎̿̐̂̍̚ ̸̳̫̼̲̫̙̙͎̀̏͂̎͘ͅư̸͕̝̘̘̽̎͋̇̂͒͒͐̄̈́̚ ̸̴̧̡͔͚͖̠͈͙̦̗̻͓̼̠̹̪̦̒̾̃́̽̑̂̒͑̽͗͛̿́̀ ̷̥̞̽͊̓̐̂̀̏̒͝͝ǔ̷̡̦̘͙̈́̿̾̓̓͑̉͘͝͝͝;̶̤̱̺̝̩͓̫͔̹̰̀̀̒͠ ̵̛̩͉̤̱́̎̓̿̕ ̴̡͔̼͈̝͍͍͓̑͗̿̓̕̕ͅ ̶̩̱̠̕ ̵͖̗̘͎̦̬͚̦̈͑̌̃̔̑͒̆͂̒́ͅ ̵̭̮͔̮̦̦͎͎̼̒́̾̈́̒͌́͒̐̿͑͐ͅ ̵͈͉̜̊̆̎ ̵͕̺͈̠͊̒̈̎̓̽̃̒̀͜͜ ̷̧̤͕͕̯̼͇̙̜̰͔͈̈́͂̅̑̄̔̅̓͛̈̀͂̀̈ͅ ̸̟̝̣̰́̏̏͐͂́̍͒͛̐̋͠ ̴̼͒̇̀̄̑̃͐̑́͌̈̚͘͝ ̷̞̳͇͚̯͕̈́̕ ̸̧̡̣̪̺̺̪̟̪̠͓̖̹͚̾͒̈́͘͠ͅ ̴̝̱͍͇̟̝͍̙͈͎̙͔͉̬̋̆̋̇͆̔v̶̧̡̟̭̭̫̠̯̤̞̹͊̈́͒̽̈͝͝2̷̢̢̨̝͉͎̳̫̯̱̘̰̤͈̤̍̓͆̓̐̋ ̵̧̣̞̻̦̘͕̙̳̰̪̟͂̉̾́̔̾̑̿̌̽=̴̡̤͈͍̙͓̻̻̳̫̼͎͈̆̈̄̀̎̽͠ ̷̞̪͙͎̞̰̰̀̂͌̿ṽ̴̻͓͚̹͙̟̳̭̰̥̮ ̴̸̨̧̧̨̛͇͉͉̼̗̻̲̗͙͓͕̙͉͉̣͍͕̗̙͓̽͛͐͛̀̂̿̉̿̔̑͘̕͝͝ ̸̰̟͉̫͓̗̱͛́̊́̐͂͐͜͜͠ͅv̶̢̼̦̏̔̉̒̓̋̏̔͛̀̚͝;̸̨͍̹̭̮͍͎̒̆ ̷̭͍̳̘̀̋̈́̐̊̈́̊̓̋̆̀̕͠ ̵͉̝̓͛̃̈̀̈̑́́̌͝ͅ ̷̡̛͙͇̬͈̤͆̀̿̓́̏̈́̉̀́͛̕ ̵͙̇̆̔ ̷̮̖̦̩̦́͗̔̐̓͐̋̈̚̚͜͝͠ ̶̛̰̘̝̐́̂͒̊̀̀̒̔̕͘̕͝ ̴̨̢̧̧̯̞͔͉̮̫͔͕͕͊̋̔͌̽̑̃͊͜}̴̧̡̭̱̳̙̥͔͈̤̤̤̊́̏͜;̴͕̬͚͚̳̜̲̅̀̈́̏̉̇͝

        • @[email protected]
          link
          fedilink
          1310 months ago

          T̵̨̨̨̨̡̧̧̢̛̛̛̛̛̛̛̛̼̮̭̙̗͇̩͈̱̩̱̺̖̪̥̟̞̥̤̤̦̟̬͔̠͚͚̮͍͕͎̦̩̘̟̝͓̳̙͍̠͎̻̲̺̩̣͉͆́͐̊̀͌̿̐͋̌̓̍̔̎͐̓̓͐̀̈́͛͒̒̒́̇̄̊̒̑̔̀̆̂̒̎͒̄͆̓̈͂͂͛̌̋̈́͛̃̐͆̈̅̾̋̃̑̈́̒̇́̀̔̐́͂̈́̔̓̋̈͂̊̂͋̽͛̐̓̈́̽̓̋͂̐̒̀̇͊̆̂̀̓̌̌̀̓̍̿̓̈́͛̌́̈̽͛͊̑̾̊̅̓̋̈́͆͂̐̑̓͌͗̉̅̄̾̈͛͂̂̈́̄̏͌́͂̇̈́͒̓͒͋̏̽̋̍̒̇̓̆̿͊̑́̄̌̃̾̏̅̂̐͂̃̏͛̓̽̿̑͑͊́̆̄̾̐̄̍͗́̅̄̀̅̃̂̉͂͗͑͊͆̀͗͛͑̐̋̐͘̚̕͘͘͘̚͘̚̕͘̚̚̚̚̚̚̚̕̕͜͝͝͠͠͝͠͠͝͠͝͝͠͝͝͝ḧ̷̡̨̡̢̨̡̢̧̡̧̨̡̡̡̢̛̛̛̛̛̛̛̛̤̺͍͇̻͇͇̠͉̲̤̼̯̦̯̬͓̖͙̫̳̩̲̤̰̲͕̜̟̺̹͉̻̲̙̙̩͎̞͈̮͕̜̲͇̤͓̜̖̤̹̮̱̲̪͚͈̘̟̤͇̞̱̼̲̮̣̘̻̯̱̫͖̰͖̗͇̯̮͕̝͑́̐͛̆͊̀̆́̒̒̽̔͌̍̑̃̈́̏̑̉͊̅̀͆͒̈́̎̈̾̈́̋̿̂̋̊̀̾̆̐́̎͒̾͐͊̄̐̊̀̈́͛͊̍̄̑͆̃̃̒̋͑́̒́͊̐̅̈́͋̆̈̓̓̍̏͊͊͊́͋̓̓͗͋̓͌͒́̔́̉͐̍̇̿̇̌̀̿̐͐͂̌͗̂͛̅̂̀̔͛̔͛͆̄͊͊̏̉̊̕̕͘͘͘͘̕̚̚̕͜͜͜͜͠͠͠͝͠͝͝͝͝͝ͅͅą̴̧̢̨̧̢̡̡̧̢̢̨̛̛̛̛̛̮͙͈̝̬͖̞̙̩̯̼̦͇͎̬̝̹͖̮̺̻͚̥̻͇͓̖̙̮͎͚̤͈̞̺͚̠͎̖̟̣͕̫̱̦̙̮̖̺̠̳̠̠̻̬͍̪̯̱͉̦̗̬̪̲͙̝͙͙̦̳͕͇̞̯̻̱͙̯̺̩͚̩͕̳̤͓͙̭̦̟̤͖̮͕̗̹̼͕̫̗̭͎͙̳̲̭̣͇̯̝̥̗̬̣͖͈̣͈̰̼̘̲̘͍̹͙̬͚̬̙̱͎̱̟̦̫͓̞̮̣̼͔͇̳̮̝̹͎͂̔̂̈́̓̉͂͑̊̊́͆̽͂̂͂͛͋͑̈́̆̑̒̌͂̅́̊̆͛̋̾̇͗͐͒̑̂̅͋̓̓͒̄̅̿̎̓̍̀̈́̓̔̀̓̽̓͊́̀̈́̑̋̾͋̄̆̂͐̐̄͛́́̓͊̅̀̆͑͑́͐̈̈̂̅̍̍̋̒͌͊̓̄̃̾͌́͋̎͂̀̈́͂͋̾̾̀̑͒͛̄͆̾̇̐͗̋̌̏́̆͑̏̓̆͐̒̏́̅̔͋͗́̃́̽̽͑̆̽͑́̔͆̀̎̉͐͑͛͗͌̍͌͗̍̀̈́̀̊͊́̀̈́̄͛̀̿͂̃̊͋̉͒͛̓̿͒̄̈́͛͗̆̈̓͆̈́̇̒̐͌̓̈͛̔͒̈̈̀͗̎̀̑̓̔̅͋͒͐͛́̆͆͐̋̆͗̏̀̔̔͒͋͗̒̑̋̋̇͂̌̌̿͆̈́͊̑̔̌͗́̇̇͛̈́̓̓̈́̅͗̏͘̕̕͘͘͘̕̚̚͘̕̕̚͜͜͜͜͝͝͝͝͝͝͝͝͝͠͝͝͝ͅͅͅn̴̨̘̮̣̮̟̯̣͖̘̲̙͛͂̂̅́͌̀̈́̌͌́̋̎̽͊̌̏̋̆͋̽̀͋͗͗̍͆́̈̓̓̈́̀̓̂̏͂́̒̊̏̓͛͛͗́̔̒̓̍́̋̔́́̂̌͂͘̚͘͝ķ̸̧̧̡̢̨̨̢̨̧̡̧̢̨̧̢̨̧̨̨̢̢̧̨̧̨̢̨̛̛̛̛̛̛̥̹͖̥̦̺͉̮̭̘͉̟͓̞̙͇̩̗̣̹̩̪̠̻͍̥̲͉̫̤̦̯̺̣͖̝̝̳͙̜̟̹̦̞͍̠̯͖̼̬̖̯̝͖̤̩̗̪̰̝̠͖̘̗̪̪͎̪̖̭̝̗̦̗̲͇̞̼̭̲̪̹̭̜͙͖̟͙̝̟̲͇̘̥͇̦̜̗͍̠̘̣̰̩̬̙̘͎͓̪̞͇͙̠͎͈̦̦̩͇̦͙͉̲͚͙̘̠͔̰͓̖̙͕͖͈͙̼̲̺͕̜͖̱̭͚̰̻̪̮̖̗͓͖̘̮͕̰̟̟̠͚̜̱̩̩̟̼͖̯̩͚̦̭͉̝͕͚͔̼͍̼̪̫̪͕͇̞̖̰͇̥̟̺͙̻̩̺̬̙̥̞͎̮͇̙͖̰͉̥͙͔̬͎̬̲͎̱͎̣̻̣̲̠̲̩͖̗̖̼̰̫̆̄͛̃̄̄̄̎̈́̒͂͂̏͌̿͂͋̿̓̃̌̑̈̐̌̄͆̒̋̓̂͂̔͑̆̽̌͗̅̌͂̈́̄̆̄̈́͌̋̋̓̊̂̒̐̍͑̀̓̌̿͛̎̓̒̊͂͛̈́̽̆͒͗͐̆͆̿̌̓̎̅̉͑́͑͒̀̓̄̌̄̀̋͗͒̂͊͗͐͌͊̈́̉̾̃̋̂̊͑́̽̈́̏̅̊̋̇͆̽̔͂̀̂͛̃͗̉̀̒̓̑͑͊̔̒̏̓͂̓̈́̅͊̎͋̃̒̎̽̐̄̈̂͛̑͂̋͑͒̑̎̄̃͊͛́͂͌̓̽̈̽̃͂͂̓̿̔̐͆̀̽̑̊̈́͆̅̂̋̽̆̔̓͗̈́̊͌̋̇͒̋̅͐́͋̃́̅̀͊̐̔̕̕̕̚̚̕̕͘͘̚̕͘̚̕͘̚̕̚͜͜͜͜͜͜͠͠͝͝͠͝͝͠͝͝͠͝͝ͅͅͅͅͅͅͅͅ ̴̧̧̢̢̡̢̨̡̢̡̧̧̡̧̨̨̛̛̛̛̛̭̬͈̖̪͎͉͖͉̘̫̜̼̫̪̗͇͕͖̬̯̯̰͙̜̮̫͕͉̖̜̖̮̝͈̥̜̞̩̖̟̱̙̘̣̬̻̯̪̮̗̞̗̮̞̫̠͙͖̤̩̦̮̣͖̗̻͓̙̤̩̣̝͙͍̤͔͇̞̦̰̮͇͎͈͇̫̯̲̭͍̼͎̯̗̟͕͒̇̈̍͒̑̑̾̾̅̾͗͛̎̐̽͌̈́̄̿̀̀͌͆͊̓͆̐̂̌̎̇̇̓̽̌̇̽̊̆̇͗̑̍͋̔͐̔̍̄̋͋̓̉̆̋̓̅̏̌̂͒̏̎̏̃́͌̓́̓̀̏̓̑̊̍̉̔̐̍͌̉͌͋̆̽̈̈́́̋͂̓̽̂̋͑̈́̊́͒̄̓̀̑́͋̀̐̒͆͂̏͌̉͑̐͆̆̇́̎̋̋̎̓̉̀̿̒͋̌̅̋͑̄̄̔̄̈́͐̐̈́̏̈́̈́͂͒͛̌͌͌̓̃̂͊͗̄̾̃̿̄͋̎̓̐̔̂͘͘̚̕̚̚̚̚͘̕͘͘̚̚͜͝͠͝͠͝͝͠͠͝͠͠͝͠͝͝ͅͅͅy̸̢̨̧̢̧̧̛̛̛̛̮̦͓̝̜͈̪͚͙͇̮̟̝̦̩̬̺͓͙̯͇͓̪̩̲͔̪̬̭͍̣̪̝͉͇̲͖̙̺̭̫̦̰͙͔̔͛̐͛̔̈́̾͂̍̍̉͗̆͗͂̃̌́́̈̉̄̐͗̋́͋̈́̀̊̊̊́̈́̏̆̑̊̓̊̊̇̄́͆͂̈́̒̃́̆̎͐̑͂̏̆̍͌̓̌͐̅̉̉̿̎͗̈̀͑͆̍̌͛̐́͌̃̀̐̃̑̍͆̇͐̽̏̏̔͒͐̉̃̀̌͐̎͛̓̔̾͌̓͐͋̂͋̍̒͗͛͗̑̏̓̀̐̃͆̋̍̓̇͆̍̓͆̌̅̈͒̔͗͐̔̇̕͘͘̕͘͘̚̕̕̚͜͝͠͝͝͝͠͝͝͝ͅͅǫ̵̢̢̨̛̺̹͍͓̥͕̠̼̳͍͉̜̝̬̰̟̞̳͖̫̰̝̝̬͚͙̺̾̂̈́̓̒͋̐̾̽̇͋̄̈́͂̿̎͋͌̃͑̏̆͂͛̄̈́̏̓̈́͊́̑̀̂̑͌̔̅̌̌͑́͋̓̀͆̆̌̈͋̄̿̅͗͌̈́͌̓͊͊̈̀̍̀́͂̈̈͗̆͊̓̃̔̔̓̾̓͗͗͗̄̀̔̏͋̄̈́̆͗̑̌̎̏̇̊̀̔͒͋͑͋͒̚͘̕̚͘̕͜͝͠͝͝͠͠͝͠͝ͅừ̴̡̡̧̡̢̨̡̧̨̧̨̡̨̡̧̨̧̧̧̨̨̨̨̛̛̛̛̞͚̪̟͕̰͈͔̦̘̬͉̼̰̞͙̲͖̺̫͈̮̜͍̳̜̩̣̲̺̗̟̝͙̻̥̬͓͔̥͕͚̭̺͉̱͉̻̭̱͉̤͇̯͉͈͙̳̭̻̱̰̗̝̺̤͉̣͓̖͓̞̦̹̭̟̦̣̝̠͍̞̦͕͙̠͎̞̞̘̦̥̞̻̠̣͕̹̻̗͉͔͉̣̻̹̰̜̬̱̜̘̰̪̫̬̩̳̙̘̹̻̹̖̗̹̯̻̦̫̬͎̝͚̝̺͇̪̪͔̣̩̰͈̺͙͖̟͇̦̗̻͖͖̦͍̲̘̺͓͕̝̥͓̞̣̝͕̩̝͎͚͎͕̥̞̹͙̗̻̼̲̣̫͔̖̼͚͓͕̯̠̣͖̺͓̝̻͕̹͇̜͈͓̻̗͚̳̲̟̜̟͍͙̠̞͕̙̩̟͉̠̺̮̦̖̥̝̖͚͉̗̞͚̦͈̥͚̜̮̩̆͊̾̊̂̉͑̈́̄̉͋̔͂̔̍̓̅̌̋̅̅͐̊̓̓̈́̈́͐̋̐̉̒̎͗̈̿͐̒̏̽̌̿͊̉͋̀̾́̍͆̅͂̉̈̃͑̑̊̍̈́̈́̏͂̊̆̋̉̈̈́̒̏̃͑́͆̇̓͌̈́̆̐̍̈́̂̐͆͆̓̾̈̏́̆͊̿̏̏́̈́̀͒͗͒̏̈́̇̿͒͛͒̽̆͆̊̄̏͊̒̂́̾̃͋̈́͒̇̽͌̄̐̈́̊̎̓̓̂̐̒̇̌͒̐̀̐͗̿́̎̾͊͌̽́̂͗͛̄̌͆̈́̇̐͛̔̀̈́̈́̋͆̀̈́̇̓͛̽̃̐̒͑̇̉̄̽͊̈̓͛̓̔̒̕̚̕͘̕̕̚̕͜͜͜͜͝͝͝͝͝͠͝͝͝͝͠͝͝͠͝͠͝͠͝ͅͅͅͅͅͅ ̷̢̢̡̢̡̡̨̢̛̛̛̛͎͙͚͈̤͍̥̩̰̟̻̜̮̝̺͇̝̰̗̺͖̞̲̺͖̭͉̤̤͍̫̳̰̝͙̮̻̩̳̻͔̙̝̗̰̯̭̟̞̦̫̺̮̺̹̩͔̤̩̝̰̯̫͔̥͚̰̬̬̳̦͉͓̜͙̞̞͕̳̣̹̲̦̳̫͇̺̻̯̯̝̲̒̂̌̓̏̌̃̒͛͊̍͊̎̀͑̈́̌̐̈́̓̀̐̈́̍̆̆͌͌̐́́͌̊̄͌͌̓̐̓̂̋̔͋̅̌̾͌̍͌̂̍̈͒̎̆̉͒̎̌̐͒̔̿̈́̄̋̑̊͂̓̎͐́͂̃̄̀̀̊̌͑̀͑͊̃͋̎̋́̓͆͌̉̊̃̽̓̃̇͋͛͆̄̌͆̓̽̃̓̿̍̈̔̀̈́́̄͐̓̒́̈̽̏́̎̈́͂͗̉̀̄͌͒̿͐̚̕̚̚̕̚̚͘͘͘͘͝͝͝͠͝͝͝͠͠ͅͅͅͅḵ̷̢̢̧̨̡̢̢̢̨̛͇͇͎̞͖͍̙̞̝̳̠̙̦͓̰̜̤͖̞̪̻͉̣͚͇͇̗̤̪̙̪̞̮̹͎̯͙̲̻̙͕̯̼͕̯͉̦̩͍͓̱̳̦̘̭̩̠̘̘̥̲͕̭̜̰̫͖̥͈͔͍̘̹̲̞̥̥̹͖͔̓̿̽̈̓͛͋̿̇̒͂̈́̐͛̐́̍̓̔̀͂̆̈́̀̋̄͊̒̈̅̐̈́̑͂̆̄́̑̈͛̓̃̏̈͛̏̀͋͊̒̏́́̋̑̅̂̿͐̇̅͑̅͐̃̏̎͌̅̊̅̄̏̓̈́̋̈́̾͑̂̎̕͘̕̚͘͠͠͠͝͝͠ͅͅỉ̶̡̨̨̨̨̢̨̡̨̧̨̢̧̡̧̤̪̰̖͎̦͉͍̺̘̤̺̦̟̙͔͖̙̬̭̜̫͇̣̻̻͍͕̖̹͍͉̮̻͍̺̪̳̹͉̗̼̱̘̙̭̦̥̗̻̟͇̰̳̭̭͓̘̣̗̱̯̩̩͖̳̦͎̻̯̳̜̬̯͎̗͓̦̺̙̦̖̭͕̖̗̦̩͔̙̯͍̩͈̗͉̬̦̪̩͈͈̙͎̜̥̫̺͙̖̮̭̄̑̊́̐̉̄̋̄͛̂͊́̅̒͛̈́̃́̓́̓̑̅̽̆͊͒̑̀̀͂̋́͐͆̃̌̋̾̄̽́̓͋̊͌̓̽̉͒̓̈́̀̀̇̆͂̓͗̌͛̄̾̒̊̅̎̋̌͗͋̍͒̆͋̑͌͒̈́̍̈́̇̍̊͋̃̍͂̂͋̋̇̉́͛̅̂̂͗́́̿́͘̕̕̕͘͘̚͘͜͜͠͠͝͝͠͝͝ń̶̢̨̡̢̧̡̢̡̡̨̨̢̧̧̨̧̼͙̖͇͙̯̰̩̰͈͈̳̙̹̤̖̩̘̺͉̹̰̰͈͈̗͎̙̦̹̗̯̮̝̼̪̼̬̙̟͕̞̗̝͙̞̰͙̪͍͉͉̦̗͉̤̭̣̙̙̝̳̹̰͙̪̪̝̝͓̟̘͇̝̠̼̭̱͎̪̥͈̗͎̥̺͈̗̗̦̙͉̺͕͓̰̙͎͈̩̮̱̹̫̱̗̠̘̯͈͙̖̭̜̬͖̰̫͖̞̙̼͙̼͓͙̩͉͉̹͉̮͙̘͉̺͎͍̥͚̻͓̯͙͇̺̜̼̣͈̣̠̩̳̣̳̩̭̖̤͍̙̟̗̲̯̝̠͍̯͖͙͚̼̮̭̟̺͒̑̾͐̈̓̈́̇͛͌̂͋̎̋͛̍̌̈́̆̊̿̽̍͊͌̈́̿̃̑͆̄̉̑͑͑̂̎̈́̔͐̏́̀̽͒̏̿̌͂͐̋̈͌̉̋̀̽̽̓͗͗͘͘̚̕͘̕͜͜͜͜͜͝͝͝͝͝͝͠ͅͅͅd̵̢̡̛̻͉̩̥̦̦̜̝͖̪̩͇͇̖̼̪̫̖̗̟̠̦̫̠͎͖͚͈̣̗̼͕̘̤̖͉̪͓̭̘͎͔͇̳̟̺͔̞͍͍̰͉̤͚͚̳̠̱̠̖͈̟̫̫͚̓͐̂͂͋̃͆̇̃̄͂͛̌͑̋̓̉̒̌͐̂̏̏̾̏͋͊̎̃̐͂̄́͐̈́͐͒̋̐̆̎͑͗̌̾̂̽̾͆̔̌͐͑͗͑̈́̈́̌̐͒̍͆̿̔͂̀̑̎̂̒͛̈́̕̚̚͜͝͝͠͝͝͠ͅͅľ̵̡̢̛̛̛̛̛̛̛͚̣̭̮̪̫͙͕̳͇̫̫̮͇̠̙͇̩̩̹̣̿̃̆͊̾̆͑͛̍͆̌̊̑́̎̍̀͊̀͋̓̄̂̃̾̅̎̔̎͌̀̆̇͗͆͒̑̉́́̇͂́͌̈́̑̎̂̆͗̏̾̆͋̌͋̔͐͊̓̄̐̑̇̌͆̓̍̆̉̿̀͛̓̈́̌̽̍̄́̏̑̓́́́͛̂̃̍͐̽̈́́̋̓́́̇̿́͊͆̋̾̾̈́̈̆̿̽̅̈́̈̃͌͒̿̈͋̀͐̓͆̾̈́̾̿̅̓̉̐͌͋̀̆̌̒̐͌̈́̈́̂͑̆̉͒̎̏̽̂̇̆̀͊͒̌͐͒͌̃͋̄͗̂̈̂̽̓͂̓̊̓̈̽̋͗̔̌̄̈́͛͐̍̀̒͋̏̂͌̃̃̂͆͛̏̈̍̒̀̏̆͌̇̒̒̈͆̐͌̃͛̓̈́̒̈́̎́̂͑̿̀̓͑̒͑̐́͘͘̕̚̚̚̕͘̚̕͘̕̕͘̕͜͝͝͝͝͠͝͠͝͠͝͝͠͠͝͝͠͠͝͠͠ͅy̵̨̡̡̧̢̨̡̡̡̨̢̡̛̛̛̛̮̮̻͇̞̯͕͎̣͖̙̖̠͔̳͕̤̣͎̞̪̖͓̪̱̯͉͕̗̲͈̼̖̠̜̺̖̬͍̘͕̭̥̜̝̻̣̦̹͉͙͖̗̻̰̼̜̼̦̙̗͓̲̙͕͎̘̱̖̭̦̞̘̣͓͎͇͓̥̳̯͚̫͍͓̲͆͆͗͋̍̓̓̈́̏̋͊̈̊͑̽͐̾̓̄͗̇͋̒̄̃͆̽̍̆̒̎̇̆̓͗̊̈́̍̃̂̑̊́́̈́͑͗͑̆͐̇͆̔̆̈́̆̎̀̆̏͂̐̊͌̄͛͋̅̐̾̃͐̑͊͋̊̀̽̉̉̂̇̋͛̉̐̏͊̉̉̃̎͌̅͊̑̉̆̓̉͆̌̇̑̾͑̋̊̔͑̈̐̈̈́̓̽̂̏̾̿̀̈́̽͆͋́́̄̂̑̌͘͘̕̕͘͘̚̚̕͘͘͘͘͘̕̚̚͜͠͠͝͠͝͝͠͠͠͝͝ ̵̧̨̧̧̧̡̢̡̨̛̛̛̛̛̛̛̛͓̘͕͔̮̼̗̩̥̩̜̺̺̞̤͇̙̼̫̮͈͎̤̪͓͓̞̯̥̯̤̹̖̜̭͉̪̠̦̠͙̭̖͎̫̠̭̝̩͓̥͎̦̱̹̼͓̫̼̬̖͈͉̝͍̓̃̒̂͊̏̍̔̄͒̔͌̽̀̿̍̏̀͗̓͊̌̆̀̈́̌͌͆̌̃͂̇̃̏̐̉̿͛̈́̓̓̈̀͊͌̏͌̾͗̾̌͗̆̉͆̐̂̈̌͛̅̑̎̐͂̄̍͋͒̐̅̀̉͊̏̂̉̽̂͒̈́̑̆͊͐̍̄̆̑͂͒̿̋̂̽͋̇̅͐̊̊͒̿̐̌͗͗̓̈́͗̇̌́͆̌̇͂͊̿͆̈́͛̀̋̈́̓͑͑͋̓͌̈́́͐̒̓́̂̿́̈́̏͗̾̓̃͒̽̀̋̾͌̐͌͊̄͆̄̾̆̅͐̆̃͌̓͗̂͊͛̒̾̓͛̓̐̒̿̐̓͆̉̄͛̓͌̓́̊̐͆̈́̃͋́̅́͋̌̀̀̊̆̾̀̽̌͌̑̎̈́̐̋͋̉̃̀͋̐̏̐̇̿̇̊̈́̀̈́͌̇̒̓̒̌͗͑͗̚̕͘̕̚̚̚̚͘̚̕̕̚̕͘̚̕͘̕͘̚̚̕͘͜͝͠͠͝͝͝͝͠͠͝͝͠͝͝͝͠͠ͅͅͅͅ

          Thank you kindly.

        • @msage
          link
          210 months ago

          And he comes

    • @coloredgrayscale
      link
      710 months ago

      They meant self obfuscating.

      Can someone transcribe this text please?

  • @[email protected]
    link
    fedilink
    5610 months ago

    Code documentation is like sex, when it’s good it’s great, and when it’s not good…it’s still better then no documentation.

    • @[email protected]
      link
      fedilink
      1910 months ago

      I disagree. When comments are essentially just a rephrasing of the class/method name or arguments it is not helpful and anything that is not helpful is cluttering up the code and making it harder to quickly see what the code is doing. I’d rather have no comments than comments like that.

      • @[email protected]
        link
        fedilink
        12
        edit-2
        10 months ago

        I reserve comments for explaining why a section of code is needed or explaining how a complex algorithm works.

        i = 0; // Set i to 0 is pointless.

        if (last_output_vertex[i] == bounds[i]->length - 1) contibuting_bounds[i] = NULL; // stop outputting a bound if the entire bound has been output is helpful.

        • @[email protected]
          link
          fedilink
          710 months ago

          Comments can also be useful for explaining what the code is intended to do when debugging.

          “Hey this function says it should return the number of apples, but looks like someone, not saying who, but someone had a brain fart and typed oranges in one variable. Who wrote this code anyway?”

          -Last edited by JonEFive in 2021-

          Past me sucks.

        • @philm
          link
          110 months ago

          I think even the second comment is not that helpful.

          Just use (boolean) variables that phrase what your comment would explain, often more concise and better to read IMO. Also if the logic is more complex compose multiple named (boolean) variables. I think comments seldom make any sense at all (function doc is a one of the rare cases, mostly for the user of the library in the IDE).

      • @[email protected]
        link
        fedilink
        510 months ago

        Not to mention the code and comment will inevitably become inconsistent with each other whenever someone forgets to update both.

  • @[email protected]
    link
    fedilink
    45
    edit-2
    10 months ago

    Then someone refactors the stop sign into a speed limit sign, leaves the comment unchanged, and years later someone else gets the fun job of figuring out which comments are lies

    Also someone applied an auto code formatter to the entire codebase in the meantime, and the original file got moved a couple times, maybe just the path or into an entirely new repo. So the version control history is utterly obliterated as well…

  • Murdo Maclachlan
    link
    fedilink
    4110 months ago

    Image Transcription: Meme


    Junior devs writing comments:

    [A photograph of a road signpost in front of a metal fence with a low, long building in the distance. The post has two signs on it. At the top is an octagonal sign, filled red with a white outline, reading “STOP”. Beneath it is a rectangular sign with an arrow pointing up to the stop sign, and text reading “THIS IS A STOP SIGN”.]


    I am a human who transcribes posts to improve accessibility on Lemmy. Transcriptions help people who use screen readers or other assistive technology to use the site. For more information, see here.

    • @pythonoob
      link
      1010 months ago

      This also works quite well as a meta comment about junior dev commenting practices.

      • Murdo Maclachlan
        link
        fedilink
        510 months ago

        Thanks! Not sure if there’s been other people doing any or not, but for my part I just do them when I find the time, which unfortunately isn’t all that often.

      • @[email protected]
        link
        fedilink
        510 months ago

        You mean good human.

        I did this over on r*ddit for a while and I’m glad to see that that community exists here too

  • @[email protected]
    link
    fedilink
    English
    40
    edit-2
    10 months ago

    A lot of this comes from professors wanting comments in assinments and grade on arbitrary levels of if it exists.

    I had one class where the instructor would give a vuage “not enough comments” that I did comments like this on every fuction and loop out of spite.

  • elouboub
    link
    fedilink
    3210 months ago

    Also “selfdocumenting code” writers who are forced to document their code.

  • @[email protected]
    link
    fedilink
    2110 months ago

    Lmao me commenting my 14 line bash script, comments almost as long as the script itself.

    I have a habit of forgetting “why’d I put this there” and at least with my scripts I can leave myself a note for future me.

    • @[email protected]
      link
      fedilink
      1010 months ago

      The highest comment-to-code ratio I ever wrote was a CMD script that had to combine three different escaping conventions.

      It was a good day when I got to throw that one away.

    • @coloredgrayscale
      link
      7
      edit-2
      10 months ago

      Sounds like a good use of comments. Explain why, not how. (that should be readable from the code for the most part. Unless you’re having function calls like xmmmuldp (simd) )

    • haruki
      link
      610 months ago

      Well, bash scripts are infamous for being arcane so commenting abundantly is better than nothing.

    • @[email protected]
      link
      fedilink
      310 months ago

      This actually makes a lot of sense. A computer executing the code and a human maintaining it need to know different things. A human needs to knon what the code does on a high level (what the programmer intended), how it handles (or does not handle) edge cases, etc. A computer only needs to know how to run the code at a super low level. Without comments, it is impossible to know if code is doing the right thing, or what is expected from the caller.

  • @[email protected]
    link
    fedilink
    18
    edit-2
    10 months ago

    Or the good old:

    // Todo link to unrelated ticket which is marked as done and nobody knows the meaning of this commet 
    
  • @CodeBlooded
    link
    1610 months ago

    Code never lies. Comments sometimes do.

      • Archive
        link
        fedilink
        310 months ago

        Are you telling me you don’t like reading lines like:

        if !is_expired: refresh()

        It reads super well

      • @VaxHacker
        link
        210 months ago

        Better: I’ve encountered a pair of booleans that appear to be exact opposites but aren’t. To protect the guilty I’ve changed the words: isOpen and isClosed, when one is true the other is false and vice versa, EXCEPT that while something can’t be both open and closed at the same time, it is possible for something to be not open and not closed.

  • @[email protected]
    link
    fedilink
    1410 months ago

    Also me when I’m forced to write documentation for a Python function

    def delete_first_of_list(the_list: list):
    
    • @[email protected]
      link
      fedilink
      510 months ago

      Does this return a new list or modify the original? I would hope it returns a new one but I would know for sure if there was documentation.

      • @[email protected]
        link
        fedilink
        410 months ago

        I would hope it modifies the original. It’s implied in the name. A function that returns all but the first item should be named something like tail or without_first_item.

      • @coloredgrayscale
        link
        310 months ago

        If they need it often it makes some sense, if it also perform some checks, if the list if empty or None/null.

  • @BravoVictor
    link
    English
    1210 months ago

    I mean… you gotta have them start the habit somehow

    • @[email protected]
      link
      fedilink
      2010 months ago

      Let’s face it, such comments usually cause more problems than do good. If someone changes the code and forgets to modify the comment, the reader might favor one or another at random. “Stop sign” example isn’t the best but you get my point.

      Comments at best should explain some non-obvious logic, or some sort of reasons for implementing one way or another. For SDKs and packages overall, public APIs should also be commented. The rest imo should be readable from code.

      • @[email protected]
        link
        fedilink
        1010 months ago

        A form of “self documentation” I like to do is create variables for conditions before using it in an if statement. If you break down a funky conditional into easy to read variables it becomes a lot more clear what it’s trying to do.

        Idk how to write code on sync:

        const isHumid = xxxx;
        const isHot = yyyy;
        const isSunny = zzzzz;
        
        If (isHot &amp;&amp; isHumid &amp;&amp; isSunny) {
            ...
        }
        
      • @coloredgrayscale
        link
        510 months ago

        If someone changes the code and forgets to modify the comment, the reader might favor one or another at random.

        Hence why you should comment why, not how/what.

        // slow down traffic before crossing busy main road

        Now you can change the stop sign to a yield without touching the comment. Or judge that the comment can be removed if it’s clear the main road does no longer exist.

    • @[email protected]
      link
      fedilink
      1110 months ago

      Bad/wrong documentation is worse than no documentation.

      “Practice makes perfect” is only true if you’re practicing the right stuff. Otherwise you’re just reinforcing bad habits.

  • Sentient Loom
    link
    fedilink
    English
    1110 months ago

    Bosses: “write more documentation!”

    Jr. Devs: [writes documentation]

    Bosses: “not like that!”

  • @[email protected]
    link
    fedilink
    English
    -210 months ago

    Except realistically the standards around commenting are going to change dramatically over the next decade because of generative AI.

    I’ve been toying with selecting ‘comments’ as my language of choice for my next hobby project to see if pseudocode and comments can lead to a language agnostic project that can reliably be reproduced in multiple languages.

    As the tech gets better, more and more of the job is going to be writing comments about what the code should do as opposed to documenting what it does do.

    • @philm
      link
      110 months ago

      Just write your code, so that you (almost) don’t need comments (i.e. simple to read). The problems with (most) comments won’t be solved by AI.

      (in-code) comments only make sense for me in roughly these scenarios:

      • complex piece of math possibly from a paper (e.g. a ref to the paper where it is explained)
      • function doc, here AI may really help at some time (right now, I’ll rather write it myself, AI represents this post very well in an even more verbose and literate way than the typical junior dev…)

      The problems with comments are explained well IMHO here: https://www.youtube.com/watch?v=Bf7vDBBOBUA

      • @[email protected]
        link
        fedilink
        English
        110 months ago

        This couples intentions to the code which in my example would be dynamic.

        That’s going to be a bad time.

        My point is that the conventions that used to be good for the past 50 years of development are likely going to change as tooling does.

        Programming is effectively about managing complexity.

        Yes, the abstraction of a development language being the layer at which you encode intention rather than in comments is better when humans are reading and writing the code itself.

        But how many projects have historically run into problems when a decade earlier they chose a language that years later is stagnating in tooling or integrations versus another pick?

        Imagine if the development work had been done exclusively in pseudocode and comments guiding generative AI writing in language A. How much easier might porting everything to language B end up being?

        Language agnostic development may be quite viable within a year or so.

        And just as you could write software in binary, letting a compiler do that and working with an abstracted layer is more valuable in time and cost.

        I’m saying that the language is becoming something which software can effectively abstract, so moving the focus yet another layer up will likely be more valuable than clinging to increasingly obsolete paradigms.

        • @philm
          link
          110 months ago

          Language agnostic development may be quite viable within a year or so.

          I doubt that very much, GPT4 (to my knowledge still the best LLM) is far from being there. As (my) initial hype is overcome, I have basically stopped using it because I have to “help” it too much (and it got really worse over time…) so that I spent more time to get any usable results from it, instead of just writing the goddamn code myself. There has to be a very large step in progress, that this is anywhere feasible (maybe that’s true for some “boilerplate” react UI code though). You have to have in mind, that you should still review all the code which takes a good chunk of the time (especially if it’s full with issues as it is with LLMs). Often I go over it and think yes, this is ok, and then I check it out in more detail and find a lot of issues that cost me more time compared to writing the code myself in the first place.

          I have actually fed GPT4 a lot of natural language instructions to write code, and it was kind of a disaster, I have to try that again with more code instructions, as I think it’s better to just provide an LLM the code directly, if it will really get smart enough it will understand the intentions of the code without comments (as it has seen a lot of code).

          Context size is also a bigger issue, the LLM just doesn’t have as much overview over the code and the relevant details (I need to try out the 32k GPT4 model though and feed it more code of the architecture, this may help, but is obviously a lot of work…)

          Same for humans, if your code is really too complex, you can likely simplify it, such that humans can read it without comments. If not, it falls for me in the first category I’ve listed (complex math or similar). And then of course comments make sense for a complex piece of code that may need more context. I would only add comments otherwise for edgecases and ideas (e.g. TODO).

          For the rest a good API doc (javadoc, rustdoc etc.) is more than enough (if it’s clear what a function should do and the function is written in a modular way, it should be easy to read the code IMHO.

          Really if you need comments, think about the code first, is it the simplest approach? Can I make it more readable? I feel like I have written a lot of “unreadable” (or too complex) code in my junior years…

          What otherwise makes sense for me is a high level description of the architecture.

          • @[email protected]
            link
            fedilink
            English
            110 months ago

            How were you feeding it?

            There’s a world of difference between using ChatGPT and something like Copilot within a mature codebase.

            Once a few of the Copilot roadmap features are added, I suspect you’ll be seeing yet another leap forward.

            Too many commenting on this subject focus in on where the tech is at today without appropriately considering the jump from where it was at a year ago versus today and what that means for next year or the year after.

            • @philm
              link
              210 months ago

              I’m mostly using ChatGPT4, because I don’t use vscode (helix), and as far as I could see it from colleagues, the current Copilot(X) is not helpful at all…

              I’m describing the problem (context etc.), maybe paste some code there, and hope that it gets what I mean, when it doesn’t (which seems to be rather often), I’ll try to help it with the context it hasn’t gotten, but it very often fails, unless the code stuff is rather simple (i.e. boilerplaty). But even if I want the GPT4 to generate a bunch of boilerplate, it introduces something like // repeat this 20 times in between the code that it should actually generate, and even if I tell it multiple times that it should generate the exact code, it fails pretty much all the time, also with increased context size via the API, so that it should actually be able to do it in one go, the gpt4-0314 model (via the API) seems to be a bit better here.

              I’m absolutely interested where this leads, and I’m the first that monitors all the changes, but right now it slows me down, rather than really helping me. Copilot may be interesting in the future, but right now it’s dumb as fu… I’m not writing boilerplaty code, it’s rather complex stuff, and it fails catastrophically there, I don’t see that this will change in the near future. GPT4 got dumber over the course of the last half year, it was certainly better at the beginning. I can remember being rather impressed by it, but now meh…

              It’s good for natural language stuff though, but not really for novel creative stuff in code (I’m doing most stuff in Rust btw.).

              But GPT5 will be interesting. I doubt, that I’ll really profit from it for code related stuff (maybe GPT6 then or so), but we’ll see… All the other developments in that space are also quite interesting. So when it’s actually viable to train or constrain your own LLM on your own bigger codebase, such that it really gets the details, and gives actual helpful suggestions, (e.g. something like the recent CodeLlama release) this stuff may be more interesting for actual coding.

              I’m not even letting it generate comments (e.g. above functions) because it’s kinda like this currently (figurative, more fancy but wordy, and not really helpful)

              // this variable is of type int
              let a = 8;
              
              • @[email protected]
                link
                fedilink
                English
                110 months ago

                I can’t disagree with your colleagues more, and suppose that perhaps they are reporting experiences in a fresh codebase or early on in its release.

                With a mature codebase, it feeds a lot of that in as context, and so suggestions match your naming conventions, style, etc.

                It could definitely use integration with a linter so it doesn’t generate subtle bugs around generative naming mismatching actual methods/variables, but it’s become remarkably good, particularly in the past few weeks.

                BTW, if you want more milage out of ChatGPT, I would actually encourage it to be extremely verbose with comments. You can always strip them out later, but the way generative models work, the things it generates along the way impact where it ends up. There’s a whole technique around having it work through problems in detailed thoughts called “chain of thought prompting” and you’ll probably have much better results instructing it to work through what needs to be done in a comment preceding its activity writing the code than just having it write the code.

                And yes, I’m particularly excited to see where the Llama models go, especially as edge hardware is increasingly tailored for AI workloads over the next few years.

                • @philm
                  link
                  110 months ago

                  It could definitely use integration with a linter so it doesn’t generate subtle bugs around generative naming mismatching actual methods/variables, but it’s become remarkably good, particularly in the past few weeks.

                  Maybe I should try it again, I doubt thought that it really helps me, I’m a fast typer, and I don’t like to be interrupted by something wrong all the time (or not really useful) when I have a creative phase (a good LSP like rust-analyzer seems to be a sweet spot I think). And something like copilot seems to just confuse me all the time, either by showing plain wrong stuff, or something like: what does it want? ahh makes sense -> why this way, that way is better (then writing instead how I would’ve done it), so I’ll just skip that part for more complex stuff at least.

                  But it would be interesting how it may look like with code that’s a little bit less exotic/living on the edge of the language. Like typical frontend or backend stuff.

                  In what context are you using it, that it provides good results?

                  I would actually encourage it to be extremely verbose with comments

                  Yeah I don’t know, I’m not writing the code to feed it to an LLM, I like to write it for humans, with good function doc (for humans), I hope that an LLM is smart enough at some day to get the context. And that may be soon enough, but til then, I don’t see a real benefit of LLMs for code (other than (imprecise) boilerplate generators).