1. Lua / Говнокод #27079

    −1

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    ont = love.graphics.newFont("/font/RobotoMono-Regular.ttf",14);
    love.graphics.setFont(font);
    
    box = {
      draw = false;
      }
    function box:cr(d,variant)
      --self.draw = false;
      self.d = d;
      self.var = variant or {};
      table.insert(self.var,">> Quit");
      --table.insert(self.var,">> retry");
      self.str = 0;
      self.v = vector(0,(love.graphics.getHeight()/2)-150);
      self.h = 300;
      self.w = 800;
    end
    
    function box:up(dt)
      
    end
    
    function box:dr()
      if self.draw then
        love.graphics.setColor(0,0,0);
        love.graphics.rectangle("fill",self.v.x,self.v.y,self.w,self.h);
        love.graphics.setColor(1,1,1);
        love.graphics.print(self.d,self.v.x,self.v.y);
        love.graphics.print(self.str,self.v.x,self.v.y+20);
        for k,v in pairs(self.var) do
          if k == self.str then
            --love.graphics.setColor(1,1,1);
            love.graphics.draw(animmouse.img.RMB,self.v.x+font:getWidth(v),self.v.y+200+((k-1)*20))
            love.graphics.setColor(1,1,0);
          else
            love.graphics.setColor(1,1,1);
          end
          love.graphics.print(v,self.v.x,self.v.y+200+((k-1)*20));
         
        end
      end
    end
    
    function box:mw(y)
      if self.draw then
        local lt = #self.var;
        self.str = self.str - y;
        if 1 > self.str then
          self.str = lt;
        elseif lt < self.str then
          self.str = 1;
        end
      end
    end
    
    function box:mp(x,y,b)
      if self.draw then
        if b == 2 then
          if self.str == #self.var then
            self.draw = false
          end
        end
      end
    end

    lalalalallallalalalalallallalalalalallal lalalalalallallalalalalallallalalalalall allalalalalallallalalalalallallalalalala llallalalalalallallalalalalallallalalala lallallalalalalallallalalalalallallalala lalallallalalalalallallalalalalallallala lalalallallalalalalallallalalalalallalla lalalalallallalalalalallallalalalalallal lalalalalallallalalalalallallalalalalall allalalalalallallalalalalallallalalalala llallalalalalallallalalalalallallalalala lallallalalalalallallalalalalallallalala lalallallalalalalallallalalalalallallala lalalallallalalalalallalla

    Запостил: 3oJIoTou_xyu, 03 Ноября 2020

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

    • #Гомедев
      Ответить
      • > cr, dr, mw, mp

        Збс. См т птм вспмнш?
        Ответить
        • А ХУЛЕ НЕПОНЯТНОГО!
          CR - CREATE
          DR - DRAW
          UP - UPDATE
          MW - MOUSEWHEEL
          MP - MOUSEPRESSED
          Ответить
        • сказал знаток всех ста сорока девяти мнемоник полезных инструкций асемблера x86, лол
          Ответить
          • Я ссе и авх не помню.
            Ответить
            • ну понятно, их охулиард же, или чуть меньше
              а mmx?
              Ответить
              • А mmx я так и не поюзал ни разу. Хрень какая-то.
                Ответить
              • А вообще у ссе имена довольно структурированные, можно запомнить какие-то популярные "корни" и "суффиксы" если реально ими пользоваться. Просто у меня задач таких не было чтобы неделями на ссе дрочить. Да и я бы интринсики вместо асма взял, наверное. У них имена нагляднее.
                Ответить
    • Мы не знаем что этот код делает.
      Ответить
      • А он обязан что-то делать?
        Ответить
      • таки обычная таблица с функциями
        Ответить
        • Не вижу здесь таблицы.
          Ответить
          • box же

            в goldenhuilangе так реализуется oop, примерно как в старом JS: делаешь таюлицу, делаешь в не функции, которые (если их правильно пичснуть) получают первым аргументом self ссылку на таблицу
            Ответить
            • на всякий случай пруфану

              Двоеточие (colon) заставляет неявно передавать 'self'.

              Но если вызвать функицю через точку, а не через двоеточие, то можно передать туда другой self.
              Такой финт часто можно проворачивать в скриптушне, но не в жабоёбстве

              local petuz = {name="php developer", iq=14}
              local trot = {name="TORT", iq=1000}
              
              function petuz:hello()
                print("Hello, I am " .. self.name .. " with iq " .. self.iq)
                self.name = "krestuh"
                self.iq = self.iq * 100
              end
              
              
              petuz:hello()
              petuz:hello()
              
              --But you can pass object explicitly
              petuz.hello(trot)
              Ответить
            • Нету ООП тут. Метатаблицы не используются в данном примере.
              Ответить
              • Таблица с методами вполне так объект, даже без оптимизации через метатаблицу, имхо.
                Ответить
                • Я конечно не до конца понимаю что есть ООП. Судя по вики: Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.

                  В данном случае это не совсем так как я понимаю. Так как он не будет наследовать пока не перегрузится в метатаблицу или пока не перепишется определенным способом.
                  Ответить
                  • В русской вики питушня какая-то написана. Классы, наследования — что за хуита?
                    То ли дело «PHP» «английская вики»:
                    Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects",
                    which can contain data and code: data in the form of fields (often known as attributes or properties),
                    and code, in the form of procedures (often known as methods).
                    Ответить
                    • Вот теперь понял. Просто не сращивал с ниже комментарием.
                      наверное ПХПшник и написал про ООП в вики.
                      Ответить
                    • Да, это определение уважает права сишников и луашников.
                      Ответить
                      • и? сишка не является ООП языком даже по английской вики
                        ну и в русской традиции есть разница между объектно-ориентированным и объектным, где у бояр первого сорта есть абсракция, инкапсуляция, наследование и полиморфизм, а у заедушных анскилябр второго только "прототипы"
                        Ответить
                        • Наследование нинужно. А инкапсуляция и полиморфизм и в сишке норм работают.
                          Ответить
                          • нет не норм
                            какой бы ты способ эмуляции ооп в сишке бы не выбрал, у него будет очень много мест, где её можно сломать, как хрустальный хуй
                            в сишке даже статического полиморфизма нет, о чем речь вообще
                            Ответить
                  • ООП вообще мутно формализовано, и не всегда понятно, что имеется ввиду.

                    Наследование и полиморфизм трудно реализовать без поддержки языка, но оно часто и не нужно.

                    А хранить в структуре данные и указатели на функцию можно хоть на асемблере
                    Ответить
                • Сука:
                  Прототипное программирование — стиль объектно-ориентированного программирования, при котором отсутствует понятие класса, а наследование производится путём клонирования существующего экземпляра объекта — прототипа.
                  В прототип-ориентированных системах предоставляется два метода создания нового объекта: клонирование существующего объекта, либо создание объекта «с нуля». Для создания объекта с нуля программисту предоставляются синтаксические средства добавления свойств и методов в объект. В дальнейшем, из получившегося объекта может быть получена полная его копия — клон. В процессе клонирования копия наследует все характеристики своего прототипа, но с этого момента она становится самостоятельной и может быть изменена. В некоторых реализациях копии хранят ссылки на объекты-прототипы, делегируя им часть своей функциональности; при этом изменение прототипа может затронуть все его копии.

                  когнитивщина какая-то.
                  Ответить
    • Невероятное пришествие! Открыт онлайн сервис, позволяющий хранить заметки!
      Конечно, такое потрясающее новшество не может стоить дешево, потому готовьтесь заплатить $500. Правда, за 5 лет.
      https://roamresearch.com/
      Ответить
      • Это не оффтоп.
        Ответить
        • я не могу ходить в другие комнаты, там стертором пахнет

          Ну Инью, ты не согласен, что это пиздец, нет?
          Ответить
          • Нет, это не пиздец, это IT оффтоп скорее.
            Я храню заметки в телеграме, отправляя сообщения самому себе.
            Ответить
            • Пиздец.
              Ответить
              • А ты как делаешь?
                Ответить
                • todo.txt
                  Ответить
                  • А синхронизация с разных устройств?
                    Ответить
                    • У нас на работе это обсуждали недавно

                      Один питух сказал, что он использует org mode, а потом экспортирует это в HTML, и кладет на сайт. А исходники хранит в VCS, и все его зауважали.
                      Ответить
                      • Ничего не понял.
                        Ответить
                        • Чего именно не понял?

                          Все свои заметки он ведет в оргмоде в емаксе, хранит всё в вершне контроле.

                          А когда мысли становятся интересными, он эксопртирует их в html
                          https://orgmode.org/manual/HTML-export-commands.html#HTML-export-commands
                          чтобы со всеми поделиться

                          таким образом у него сайт устроен, ну
                          Ответить
                      • с телефона очень удобно править, наверное
                        Ответить
                      • Скажи ему, что он поехавший. Я использую орг-моде как менее фторированную версию markdown для документации или работы над какими-то длинными текстами (удобно делать TODO для глав, и синтаксис поприятнее, чем latex, в который он экспортируется), но использовать его как ежедневник — это редкое извращение, ибо синхронизируется он примерно никак. Руками делать three way merge, потому что на телефоне в GNU emacs ты сделал таску "купить молоко", а на компе "позвонить %username%" — очень эффективно, конечно.
                        Ответить
                        • > three way merge

                          Можно не доводить до этого, всё-таки ты один этим файлом пользуешься...

                          В стиме вон вообще нет мержа, но люди с джвумя компами как-то живут же. Просто привыкают вовремя пушить и пуллить облако и не создавать повода для 3-way.
                          Ответить
                          • Steam was unable to sync your files же
                            Ответить
                            • Ну вот пока unable to sync -- не юзаешь эту игру на другом компе.
                              Ответить
                              • бывает, что игру запускаешь спустя N лет на другой машине, а оно инабле то сунс и инабле то сунс, пока ручками что-то там не удалишь

                                габен просто не заморачивается
                                Ответить
                                • Ну хоть бесплатно. На плойке за облачный сейв ещё и абонентку надо платить. А по-другому вроде никак и не забекапить их.
                                  Ответить
                                  • ну плойка это вообще автомат по выкачиванию денег

                                    особенно классно, когда играешь в какую-нибудь рокетлигу с кросс-платформенным мультиком, который у тебя на шару, а у кореша за сколько-то там баксов в месяц))
                                    Ответить
                                    • > кросс-платформенным мультиком

                                      Нафиг вообще так делать? Чтобы мышеводы могли унижать гейпадовцев?

                                      З.Ы. А, там машинки. Ну тогда наоборот )))
                                      Ответить
                                      • да, я там дуалшок к гробику подключал, иначе СЛОЖНА
                                        Ответить
                                        • Зачем вы тут хрюкаете, это не для этого тред.
                                          Это все в хрюкни.
                                          Ответить
                    • А зачем?
                      Ответить
                      • А вдруг телефон проебеш
                        Ответить
                        • Да, записать "купить новый телефон" будет некуда.
                          Ответить
                        • Кстати, кто читал/пробовал/тёк от GTD aka Getting Things Done?

                          Там довольно внятный тайм-менджемент описан
                          Ответить
              • Например, сегодня в 4 утра мне пришла охуительная мысль, и я отправил её себе сообщением.
                Ответить
                • > отправил себе

                  Какая диссоциация личности )))
                  Ответить
                • опять поди бананадином уебался?
                  Ответить
                  • Может. Я не разбираюсь в психотропах.
                    Ответить
                    • я надеялся что ты поймешь отсылку (

                      https://rednyrg721.livejournal.com/104493.html
                      Ответить
            • В телеграмме ещё можно сообщения шедулить
              Нахуй этих бумеров с их календарями
              Ответить
              • У меня нет календаря. Я все свои полтора события в неделю и так помню.
                Ответить
                • На проклятом острове
                  Ответить
                • Я в будильнике иногда их храню. Если прям реально что-то важное и в определенное время.
                  Ответить
                  • Да, я тоже. Когда яйца варю, чтобы не забыть потушить.
                    Ответить
                    • Мультиварка сама отключает. Ну и рано или поздно желудок напомнит что пора бы поесть.
                      Ответить
                      • яйца в мультиварке варишь? это режим что ли специальный?
                        Ответить
                        • Я все в ней готовлю...

                          Там же время и температуру можно подкрутить.

                          Из режимов вроде только "на пару" особенный т.к. ждёт закипания. А остальные тупо презеты для времени и температуры.
                          Ответить
                          • Доброе утро, bormand.
                            Ответить
                            • тем временем в Папуа Новой Гвинеи сейчас 17:00 тепла часа
                              Ответить
                              • Папуа новой Гвинеи это как Нижний Новгорода или Рио Дежанейры.
                                Ответить
                                • Иш кокой, придрался к падежам. Посмотрите на него.
                                  Ответить
                                  • Тебе бы курсы по рускому изыку окончить.
                                    Ответить
                                    • > курсы по рускому изыку

                                      Бесполезно же... Тут только постоянно писать и читать тексты без ошибок. Иначе с каждым годом всё хуже и хуже.

                                      Именно поэтому меня бесит хуёвая орфография в интернете -- она мне калибровку сбивает.
                                      Ответить
                                      • Тоже бесит. Мой коллега пишет без знаков препинания, даже иногда без точки между предложениями - это пиздец.

                                        Можно в тиндере общаться. Девочки ценят грамотность, и самому стыдно будет писать неправильно.
                                        Ответить
                                        • У меня в чатах забавно иногда получается.

                                          Первое предложение идёт со строчной буквы, ну как принято в чатах. Потом точка и следующее предложение с заглавной. Но у него уже точки нету, если оно последнее.

                                          Какой кодестайл )))

                                          З.Ы. Лол, у Мартывки несколькими комментами ниже прям такой же стиль.
                                          Ответить
                                        • >Девочки ценят грамотность

                                          Разве что если девочка работает учителем младших классов средней школы
                                          Ответить
                                          • Учителя младших классов часто сами неграмотные шо ппц
                                            Ответить
                                          • А кому нужен безграмотный(ная)?
                                            Ответить
                                        • Знаки пре пинания и меня бесят когда их нет. Ну именно в тот момент когда нужно сложносочинённое пред ложение раз делить.
                                          Ответить
                                  • Нужно держать папуа в тепле, а нижний мыть регулярно.
                                    Ответить
                                  • Иш комби
                                    Ответить
                            • – Вот то-то и оно… – проговорила, Марго вытирая салфеткой губы, – любишь. А эта блядища этого не ценит!
                              Ответить
                          • ну это уже как-то на глаз приготовление имхо, налил чуть больше или меньше воды, уже не знаешь точно, сколько времени выставлять, придётся следить. с таким же успехом можно и в кастрюльке

                            а чо у тебя за мультиварка кстати?
                            Ответить
                            • > чо у тебя за мультиварка

                              Что-то из свежих редмондов на 5 литров.

                              > уже не знаешь точно

                              Ну что случится с тем же супом или картохой, если ты их на 5 минут дольше поваришь? Какую-нибудь кашу -- да, лучше поточнее отмерять. И рецепты лучше читать именно мультиварочные -- там и объёмы и тайминги есть.

                              Всякие "закиньте в кипящую воду" -- включаешь на паровой режим и занимаешься своими делами пока не бибикнет. Ну или из чайника заливаешь, если совсем торопишься.

                              > с таким же успехом можно и в кастрюльке

                              Тут большой плюс, что термостат, таймер и плотная крышка. Поэтому ничего никуда не утекает и не выкипает.
                              Ответить
                              • с супом и картошкой точно ничего не случится, а для каши моя например вообще сама время отмеряет

                                но речь шла про яйца. если ты хочешь всмятку, то одна лишняя минута уже решает. но для вкрутую конечно разницы тоже нет

                                > рецепты лучше читать именно мультиварочные -- там и объёмы и тайминги есть.
                                - у меня хорошие рецепты в книжке от мультиварки, но с таймингами там иногда беда, очень часто надо как минимум в два раза больше выставлять, чем в ней написано
                                Ответить
                                • Яйца я последнее время на пару делаю. Пиздец извращение, конечно, но не лопаются и желток не превращается в резину.
                                  Ответить
                                  • чистятся потом нормально?
                                    Ответить
                                    • Если в холодную воду потом хуйнуть -- вообще норм.
                                      Ответить
                                      • Какой форум домохозяек )))
                                        Ответить
                                        • Предлагаешь тян найти в тиндере?
                                          Ответить
                                        • Иш какие, формур для холостяков от крыли. Ещё рас скажите тут как в рисоварке охуенно макорошки по флотски и по купные бля пельмен.
                                          Ответить
                                          • от какой крыли?

                                            я несколько раз делал пельмени на пару, получалось забавно
                                            Ответить
                                            • Ну у меня есть корейская мантыварка и там я парю пян-се
                                              Ответить
                                              • покаж-ка
                                                Ответить
                                                • Чо показывать просто ебучья кострюля с железками и дырками. http://imgur.com/a/4a3VRv1
                                                  Ответить
                                            • Антарктический крыль. Кстати норм тема
                                              Ответить
                            • Плюс офигенский режим разогрева/удержания. Вообще не надо бояться, что переегрется или остынет. Попробуй такое с кастрюлькой.
                              Ответить
                              • у меня во время режима подогрева кое-что может приставать к чаше, лол, потому я его не очень люблю

                                не знаю, может прикол именно моей модели
                                Ответить
                                • > приставать к чаше

                                  Ээ, а сколько лет? Может покрытие удрочилось и просто поменять пора?
                                  Ответить
                                  • два года будет весной. покрытие визуально нормальное, но иногда такое случается. оно не пригорает, а именно как плёнка образовывается
                                    Ответить
              • бумеры с бумажными ежедневниками

                бумеры-инженеры с PalmOS, лол
                Ответить
                • Бумажный норм. Можно пароли хранить. В 2020 никто не подумает их там искать.
                  Ответить
                  • ну кроме того, многим нравится руками именно чирикать. Бывает так, что без бумажки с карандашем вообще нихуя не понятно
                    Ответить
                    • Ну да, это и быстрее чем на компе.

                      Кстати я пробовал графпланшеткой свои каракули сохранять, но как-то не зашло. Бумага удобнее.
                      Ответить
                      • можно купить галаху ноте или сурфасе и в нём чиркать
                        Ответить
                        • Можно хранить всё в голове. Если забыл — значит было не очень-то и нужно.
                          Ответить
                          • реально, а деды-то и не знали, когда наскальную живопись изобретали

                            мы наверное разных биологических видов
                            Ответить
                    • А это ты мне на мыло писал?
                      Ответить
                      • а ты как думаешь?
                        Ответить
                        • Если да, то с какого говна ты отправил? Оно в спаме.
                          Ответить
                          • разумеется, оно в спаме: там же плейн текст один, таких писем в реальном мире не бывает
                            Ответить
                            • Не по этому.

                              Я не понял, чё хотел то?
                              Ответить
                              • именно по этому. Письмо плейнтекстом (без html) никто давно уже не делает, а тем более оно из одной строчки

                                ты сказал написать, чтоб открыли хуз, ну я написал
                                хуз из дому работает
                                профит
                                Ответить
                  • спасибо за наводку

                    с уважением, никто
                    Ответить
              • в нормальном почтовике тоже, какой багор
                Ответить
            • там же есть saved messages, полагаю, ты про него

              а еще можно ебануть реминдер, чтобы напоминалку разовую поставить

              а ну вон буткамп уже проспойлерил
              Ответить
              • Да, про него. Раньше это было самому себе, потом переименовали в «saved messages».
                Ответить
              • Не заебался ли ты чревовещать отымени Инкануса, Борманда и некоторых иных твоих фаек? В чем смысл этого спектакля?

                Я зашел за кулисы и мне сразу стало скушно (
                Ответить
      • эвернот как-то подешевле будет (хотя нах там нужен платный план? сказал человек, у которого он когда-то был лол)
        Ответить
    • fun fact: retaining and releasing an NSObject takes ~30 nanoseconds on current gen Intel, and ~6.5 nanoseconds on an M1


      (про яблопроц и кокосовый рефекаунтинг)
      Ответить
      • ПОШЕЛ НАХУЙ С МОЕЙ ВЕТКИ, ГАНДОН
        Ответить
      • Эппл прямо как одна страна: теперь умеет производить только впечатление
        Ответить
      • А не пишут почему?
        Ответить
        • пишут так

          ARM allows you to store some bits in pointers that can be ignored in hardware when dereferenced. On iOS (and presumably macOS), Apple uses some of these bits for reference counting and other object management (e.g. whether the object has a destructor). You can’t do the same on x86-64 (due in part to canonical addresses), so you ether need more memory access or more computation to mask off pointer bits.
          Ответить
          • Хм, так у них там и красно-чёрное дерево можно запилить эффективно!
            Ответить
            • или связанный список, где прямо в указателе хранятся данные
              Ответить
          • Ну кстати а нафига амд потребовало каноничность? Чтобы такие проги потом не посыпались когда выйдет новый проц с шестым уровнем пейджтейблов? Остальным то прогам на это пофиг, они юзают только те диапазоны, которые выдало им ядро.
            Ответить
            • так задел на будущее, как я понимаю: если ты хочешь в будущем иметь 16 экзабайт (или скока там) то ты должен требовать от софта это место не использовать (там единички или нолики вроде)
              Ответить
              • Ну нормальный софт и так не юзает... Что ядро дало, то и ложит в указатель. Т.е. они именно зассали, что кто-то начнет абузить лишние биты.
                Ответить
                • ну вот кто-то бы их абюзнул, а потом не заработал бы на 16 экзабайтах..
                  Ответить
                  • Ну сделали бы явный флаг "exabyte compatible" на бинаре... Если выебывался -- не ставь. Если не выёбывался -- пересоберись с ним и получи эксабайт.
                    Ответить
                    • Какой AWE :))

                      Тогда пришлось бы в регистре процессора (в CR-чо-то-там) иметь флажок для переключения...

                      Или даже в информации о сегменте, ну где написано 16/32/64 сегмент кода, там же и этот флажок

                      И научить операционку его проставлять
                      Ответить
                      • А ну да, точно, иначе транслировать пойдёт.

                        А этот флажок там и так будет, я думаю. Чтобы не тратить время на лишние трансляции если тебе не надо 6 уровней.
                        Ответить
          • Кстати, на амд64 тоже можно пожертвовать немножко адресного пространства под волшебные биты, если ядро поможет задублировать записи в пейджтейбле. Правда это будет TLB жрать, походу. Адреса то выглядят как разные.

            З.Ы. Можно даже mmap' ом попробовать, кстати.
            Ответить
            • Какой GateA20 ))

              Чому было сразу не сказать: вот в адресе 4 бита, пусть их юзает софт на свое усмотрение (напрмиер)
              Ответить
              • Да надо было жёсткий алаймент сделать. А младшие биты отдать под битоёбство. 4-8 штук на указатель будут без проблем.
                Ответить
                • x86 соснул у ARMа
                  архитектурно
                  в который раз

                  intel/amd пора на помойку
                  Ответить
                  • Зато у ARM нет инструкций для стека. Стек нужно реализовываать вручную.
                    Ответить
                  • Разве АМД на x86?
                    Ответить
                • Кстати, у ARM младшие биты адреса перехода зарезервированы, потому что инструкции всегда выровнены. На невыровненный адрес перейти нельзя, в отличие от х86.

                  Вроде эти младшие биты выбирают набор инструкций (ARM/Thumb).
                  Ответить
    • Давайте в жопу ебаться.
      Ответить
      • Давай, расскажи мне о своих проблемах при ебле в жопу.
        Ответить
    • – Вот то-то и оно… – проговорила, Марго вытирая салфеткой губы, – любишь. А эта блядища этого не ценит!
      Ответить

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