1. JavaScript / Говнокод #16548

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    const WCT_SYMBOLS = new Buffer('ABCDEFGO'); /*задаём строку для поиска
     в ней символов*/
    const WCT_LENGTH = 3;
    const fs = require('fs');
     
    /*функция для перевода целой части числа из 10-й в любую сс*/
    function Cel(number, c, out, offset, length){
      var pos = offset + length - 1;
    
      number |= 0; /*берём целую часть от числа*/
      
      do {
        out[pos--] = WCT_SYMBOLS[number % c | 0]; /*повторяем пока число не будет равно нулю берём целую часть при
        делении числа на основание и берём остаток + 1 от деления целой части на 16, записываем
        результат посимвольно в строку out*/
        number = number / c | 0;
      } while (number != 0);
      
      while(pos >= offset)
        out[pos--] = WCT_SYMBOLS[0];
    }
    
    (function wctEditor() {
      const argv = process.argv;
      
      if(argv.length < 4) {
        console.log('Not enough parameters!');
        process.exit(1);
      }
      
      const input = argv[2], output = argv[3];
    
      if(!fs.existsSync(input)) {
        console.log('File not exist!');
        process.exit(2);
      }
      
      const BUFFER_SIZE = 1024;
      const f1 = fs.openSync(input, 'r');
      const f2 = fs.openSync(output, 'w');
      const I = new Buffer(BUFFER_SIZE);
      const O = new Buffer(WCT_LENGTH * BUFFER_SIZE);
      
      while(1) {
        var readBytes = fs.readSync(f1, I, 0, I.length, null);
        if(!readBytes) break;
        
        for(var i=0; i<readBytes; ++i)
          Cel(I[0], WCT_SYMBOLS.length, O, i * WCT_LENGTH, WCT_LENGTH);
        
        fs.writeSync(f2, O, 0, readBytes * WCT_LENGTH, null);
      }
    
      fs.closeSync(f1);
      fs.closeSync(f2);
      
    })();
    
      /* TODO -oUser -cConsole Main : Insert code here */

    По следам http://programmersforum.ru/showthread.php?t=264223. Ну тормозит же!
    Я долго боролся с собой, и всё же от авторского стиля остались только комментарии и имена f1, f2 и I...
    WCT editor: теперь и под Node.

    Запостил: 1024--, 16 Августа 2014

    Комментарии (46) RSS

    • Ответить
    • а почему так сигнатуру раздуло у cel?
      Ответить
      • Там раньше было число + основание системы счисления и обрабатывалось по байту за раз. Я сначала переписал на JS. результат Cel приводился к Buffer и писался в файл. Но торможит же! Сложение строк, лишнее преобразование String -> Buffer, чтение по байту. Питушня, не по-царски.
        Добавил в Cel параметр-буфер, чтоб без строкопитушни. Потом понял, что этот буфер можно увеличить и обрабатывать сразу много, но без позиции в таком случае не обойтись. А длина как-то сама напросилась: автор передавал функции основание системы счисления, а вот количество цифр зашил (а вдруг я захочу wct-2 с основанием 2?)
        Итого из-за строкопитушни +1 параметр - буфер, из-за чтения из файла - смещение, для гибкости - количество символов :)
        Ответить
    • ГОСПОДИ НО ЗАЧЕМ
      Ответить
      • Прошу прощения. Сорвался я.
        Ответить
        • > Прошу прощения. > Сорвался я.
          Прошу прощения. Оторвался я.
          Ответить
        • Походу любой говнофорс, даже наиболее ублюдочный, на гк найдет верных последователей.
          Ответить
          • Прошу прощения, но что здесь форсится?
            Ответить
            • Система счисления WCT.
              Ответить
              • А, ну это чепуха. Я уж испугался, что на карманного льва намекают.
                Ответить
                • Карманный лев, природы царь
                  Вам яйцы отгрызет как встарь
                  Коль память с кучи потечет
                  То член он тоже отгрызет
                  Ответить
                  • На всякий случай свои каки
                    Я буду кодить на брейнфаке.
                    Ты скажешь, друг мой, - "Ну и чо?"
                    Так бесконечность не течёт!
                    Ответить
                    • Да хоть пиши ты на прологе
                      Валяясь голым на диване
                      Но прежде чем компилить прогу -
                      Проверь что нету льва в кармане
                      Ответить
                      • Теперь не буду жить как прежде,
                        Поведал тайну мне Кегдан.
                        Ведь я не знал, что без одежды
                        На мне останется карман.

                        * Надеюсь, ударение в нике не перепутал.
                        Ответить
                        • Ты ударенье перепутал
                          Тебе прощаю, грубиян
                          Способен лев в период смуты
                          Залезть в природный твой карман
                          Ответить
                          • О боги, страшен лев карманный!
                            О крепкий сейф, скажи, ты где?
                            С лапшой и уточкой из ванной
                            Хочу сокрыться я в тебе.
                            Ответить
                            • Бичпакет не поможет, сейф стальной не спасет
                              Вне времен лев карманный - знает все наперед
                              Телепортом владеет, быстрый как солнца свет
                              Коль течет твоя память, то спасения нет
                              Ответить
                              • Багор - он старше и мудрее.
                                Багор - он круче всяких львов.
                                Его возьму и всё сумею,
                                Им мир спасу без лишних слов.
                                Ответить
                                • Багор - хтоническая штука
                                  Сравним с вселенским он огнем
                                  Но коль возмешь - без лишних звуков
                                  Оборотиться в миг царем
                                  Ответить
                                  • Писать на сишке быстрый код
                                    Не ради денег и еды
                                    И жить, не ведая беды -
                                    Поверьте, это мудрый ход.

                                    Все фичи выучить за год
                                    И на пацанском языке
                                    Про гэ-цэ-цизм писать эссе -
                                    Поверьте, это мудрый ход.

                                    Вести себя как старый жмот
                                    За каждый такт судьбу кляня,
                                    Что был потрачен очень зря -
                                    Поверьте, это мудрый ход.
                                    Ответить
                                    • Ген царский пробудил я словом
                                      Взрастает борода твоя
                                      И скоро будешь ты как Столман
                                      Мазоли есть с ноги царя
                                      Ответить
                                      • Ехидно бороду крутя,
                                        Смотреть на жабу буду свыше.
                                        Плюсы (иль хаскель) - лишь дитя,
                                        Занять не смогут сишки нишу.
                                        Ответить
                                        • признаюсь сишку я люблю
                                          но не готов я жизнь свою
                                          губить бездумно на корню

                                          мне не пристало бородой
                                          трясти над над клавой в час ночной
                                          искать закуску под ногой

                                          Я слишком молод и хорош
                                          От правды отличаю ложь
                                          И не коснулась пальцев дрожь

                                          Вот буду старым я когда
                                          ведет пусть сишная звезда
                                          меня в безумья города
                                          Ответить
                                      • Гордо сяду на коня,
                                        Повезёт он вдаль меня.
                                        Не на пыхе, а на сишке
                                        Пишут люди нам осишки.
                                        Ответить
                                        • Не садись ты на меня
                                          Я скачу не в те края
                                          В тех краях как в диких снах
                                          Жабий крик на серверах
                                          Ответить
                                          • Про коня, не про коняшку,
                                            Про того, кто не был няшкой.
                                            Про лакнистого коня
                                            Написал те строки я.
                                            Ответить
                                            • В том и есть моя тоска
                                              Что душа моя хвостата -
                                              Молод был я, глуп когда-то
                                              И болел за ЦСКА
                                              Ответить
                                              • Вспомнил я старинный пост,
                                                Рассказавший всем про хвост:
                                                http://joyreactor.cc/post/171530

                                                То действительно беда -
                                                Раз надел - и навсегда.

                                                Ну а хвост тот, что в душе,
                                                Он не страшен так уже.
                                                Ответить
                                                • Второй коммент изрядно доставляет
                                                  По лезвия парнишка ходит краю
                                                  Ведь этот хвост - как на стене ружьё
                                                  К концу спектакля выстрелит оно
                                                  Ответить
                                                  • А может, то Конардо был
                                                    И хвост у мамы попросил?
                                                    Но вот беда: совсем не в моде
                                                    Хвосты сии на говнокоде.
                                                    Ответить
                                                    • Уж скоро осень сменит лето
                                                      Лишь не меняется одно
                                                      Коль к нам придешь с хвостом надетым
                                                      Погибнешь от хвоста того
                                                      Ответить
                                                    • не оумничай.
                                                      Ответить
    • >Система счисления WCT.
      >Карманный лев, природы царь
      >Багор - он старше и мудрее.
      New Achivment Unlocked: Triple cancer thread.
      Ответить
      • Не хватает goatse для следующего уровня.
        Ответить
        • Типа после гоатсе я эволюционирую как покемон?
          Ответить
          • Ты — деградируешь. Как пониёб.
            Ответить
            • обьясни. То есть я деградирую и становлюсь понеебом, или деградирую как понееб, то есть становлюсь понеебом в меньшей степени чем был?
              Ответить
              • Какой-то декаданс.
                Ответить
              • Интересный вопрос, может ли понеёб стань понеёбом в меньшей степени.
                Ответить
                • > может ли понеёб стань понеёбом в меньшей степени.
                  Может. Для этого существует операция взятия корня:
                    _______
                  \/Конеёб
                  Ответить

    Добавить комментарий