1. Куча / Говнокод #25135

    0

    1. 1
    2. 2
    https://habr.com/post/431534/
    Проблемные личности среди разработчиков

    Запостил: syoma, 30 Ноября 2018

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

    • С чьей точки зрения это вообще написано?
      Ответить
      • time2rfc, 29 ноября 2018 в 18:42: «В какой-то момент показалось, что я читаю не о взрослых людях а учебник колониального управления для белых британцев в странах третьего мира».

        g6uru, 29 ноября 2018 в 19:11: «Все евреи жадные, а американцы тупые, гуманитарии не могут мыслить логично, женщины не умеют пользоваться молотком. Куча каких-то штампов. Для комичной статьи написанно слишком серьезно. Для серьезной статьи написанно слишком глупо».
        Ответить
        • Кстати, классификация животных, которую вспомнили в комментариях, отсюда:
          https://ru.wikipedia.org/wiki/Классификация_животных_(Борхес)
          Ответить
          • Борхес охуенен
            "Вавилонская Библиотека" вообще сделала мой день (и все программисты должны ее прочитать)
            Ответить
      • какой-то хуйней.
        обычно в проекте либо хуи либо питухи.
        Ответить
        • Да в основном хуи всякие. Петух я пока один.
          Ответить
          • Сколько лет живу на этой сайте, а аватарки так и не научился я ставить.
            Ответить
            • Потому что ты гниль
              А что сложного? Регаешься на https://ru.gravatar.com/ (жмоешь "Вайти", потом, Create Account), жменькаешь Add image, выбираешь своё фото в образе лунной принцески, обрезаешь хуй, выбираешь возрастной рейтинг (X здесь не будет показываться, его не надо) выбираешь, для каких имэйлов она будет показыватся, дать блюду подышать 5 минут и готово.
              Ответить
              • Всё немножко сложнее:
                1. gravatar.com предлагает создать учётку на wordpress.com. Именно эту учётку он будет использовать для идентификации.
                2. В gravatar.com нужно добавить е-мейл (к одной учётке gravatar можно привязать несколько е-мейлов). Он отправит на е-мейл ссылку для подтверждения. Нужно добавить именно тот е-мейл, на который регистрировалась учётка в ГК.
                3. После этих шагов уже можно Add image.
                Ответить
                • Перед этим нужно ещё на ГК регаться. Вот бы кто запилил сервис, где указываешь ник, фотку, и получаешь готовый акк.
                  Ответить
          • Кукареку!
            Ответить
          • хахахахаза блять
            в голос )))
            Ответить
            • Ко-ко-ко! Кукарек! Кукареку-у-у!!!
              Ответить
              • А помнишь царя Додона? Он такой Шамаханской царице:

                Буду век тебя любить,
                Постараюсь не забыть.
                А как стану забывать,
                Ты напомнишь мне опять.
                Ответить
      • С точки зрения Эффективного Менеджера.

        Кстати, а зачем тебе (и нам) эта статья? Решил в менеджеры податься?
        Ответить
    • > некомпетентный
      > возможность исправления: нет
      > если бы некомпетентный разработчик мог научиться, он бы уже это сделал
      Тлен и безысходность.
      Ответить
      • s/Тлен/Гниль/

        fixed
        Ответить
      • То есть компетентные сразу рождаются такими?
        Ответить
        • Да, ко-ко, бомранд родился сразу со стандартом C++ в руках, кукарек, его первым словом было "циклоня-а-аша", а в детстве у него вместо игрушек были, ко-ко, осциллографы и отладочные платы. Ко!
          Ответить
          • > вместо игрушек были осциллографы и отладочные платы
            И ведь были. Правда в основном всякие реле и лампочки т.к. они нагляднее (считай цифровые).
            Ответить
            • >>реле
              собирал на реле флип-флоп? или сумматор?
              Ответить
          • З.Ы. А ещё были хекс-коды 8080 в журналах, которые я пытался дизасмить на бумажке (т.к. запустить было не на чем).
            Ответить
            • Помню журнал «Радио», в котором пропагандировали конструктор «Радио-86РК» — тупо набор микросхем, из которого можно было собрать компьютер, если умеешь держать в руках паяльник. Материнскую плату тоже нужно было изготовить самостоятельно. Вот к этому компьютеру они и публиковали хекс-коды.

              Ещё был журнал «Юный техник», в нём пропагандировали «ЮТ-88».

              Оба компа собирались на КР580ВМ80 — советском клоне 8080. «Операционная система», которую они предлагали записать в ПЗУ, заслуживала отдельного внимания. Для запуска программы нужно было указывать адрес памяти, по которому её загрузить. В поздних версиях появился «автозапуск» — так назывался режим, при котором адрес указывать не нужно, потому что он выбирался «операционкой».
              Ответить
              • API так называемой операционки был интересен: для вызова функции нужно было делать CALL по заранее известному фиксированному адресу. Ага, в документации по предложенной авторами ОС была табличка со списком адресов публичных функций.

                Было что-то типа такого:
                CONOUT EQU 1234H ; вывод в консоль
                CONIN EQU 2345H ; ввод из консоли
                ...
                CALL CONOUT
                Ответить
                • показать все, что скрытоА что тут собственно такого?
                  Чем это хуже обычных досовобиосных INT?
                  Ответить
                  • показать все, что скрытоИ правда, в BIOS тоже есть фиксированные адреса (шрифты, например).

                    Минус по сравнению с INT'ом –— труднее выпускать новые версии. У INT'а просто фиксируешь номерок, а в памяти обработчик можно перемещать. А тут обработчик должен сидеть в фиксированном месте памяти.
                    Ответить
                    • показать все, что скрыто>> в BIOS тоже есть фиксированные адреса (шрифты, например).
                      Только шрифты в BIOS видеокарты все таки, а не в системном BIOS, да и оттуда они могут быть скопированы в R/W память карты (и там заменены русификатором)
                      Ответить
                      • показать все, что скрытоШестнадцатеричный дамп операционки:
                        http://www.danbigras.ru/UT88/Os/CPM64.TXT

                        По чьей-то оплошности цифра «3» заменена русской буквой «З» в кодировке 866.

                        Слабо дизассемблировать на листочке бумаги?
                        Ответить
                        • показать все, что скрытоЯ не знаю ISA этого процессора.

                          И я не Крис, который с помощью debug.com ассемблер учил
                          Ответить
                          • Я тоже не знаю. Но в своё время пытался выводить по обрывочным публикациям в журналах «ЮТ» и «Радио». Искал в шестнадцатеричных дампах нечто похожее на адреса данных и адреса переходов, а также известные в контексте данной программы константы — так составил список инструкций с непосредственным аргументом. Потом забросил.
                            Ответить
                      • Смотри, что нашёл:
                        [email protected]
                        CALL F000h:E739h - ROM BIOS INT 14 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:E82Eh - ROM BIOS INT 16 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:EC59h - ROM BIOS INT 13 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:EFD2h - ROM BIOS INT 17 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:F065h - ROM BIOS INT 10 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:F841h - ROM BIOS INT 12 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:F84Dh - ROM BIOS INT 11 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:F859h - ROM BIOS INT 15 HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:FE6Eh - ROM BIOS INT 1A HANDLER
                        InstallCheck:	present if BIOS is 100% compatible with original IBM PC
                        [email protected]
                        CALL F000h:FFF0h - COLD-BOOT ADDRESS
                        InstallCheck:	always present
                        Ответить
                        • --------H-MF000FFF0--------------------------
                          MEM F000h:FFF0h - RESET JUMP
                          Size:	5 BYTEs
                          --------B-MF000FFF5--------------------------
                          MEM F000h:FFF5h - ASCII BIOS DATE
                          Size:	8 BYTEs
                          ----------MF000FFFD--------------------------
                          MEM F000h:FFFDh - OFTEN USED TO ENSURE CORRECT BIOS CHECKSUM
                          Size:	BYTE
                          --------B-MF000FFFE--------------------------
                          MEM F000h:FFFEh - MACHINE TYPE CODE
                          Size:	BYTE
                          Ответить
                  • показать все, что скрытоНашёл кое-что:
                    Точка входа в БСВВ — ячейка DA00H, и далее следует вектор перехода — последовательность еще 16 инструкций.
                    
                            DA00 JMP BOOT
                            DA03 JMP WBOOT
                            DA06 JMP CONST(F812 - активность клавиатуры)
                            DA09 JMP CONIN (F803 - прием с клавиатуры в А)
                            DA0C JMP CONOUT (F809 - вывод на дисплей)
                            DA0F JMP LIST (F809 - вывод на дисплей)
                            DA12 JMP PUNCH (F80C-вывод на магнитофон)
                            DA15 JMP READER (F806-ввод с магнитофона)
                            DA18 JMP HOME
                            DA1B JMP SELDSK
                            DA1E JMP SETTRC
                            DA21 JMP SETSEC
                            DA24 JMP SETDMA
                            DA27 JMP READ
                            DA2A JMP WRITE
                            DA2D JMP LISTST
                            DA30 JMP SECTRAN

                    Источник:
                    http://www.danbigras.ru/UT88/Os/OS.html

                    Там по фиксированному адресу вплотную друг к другу идут джампы на реальные адреса обработчиков. Фактически jumptable с шагом 3 (лишний байт тратится на КОП JMP).

                    Вообще ничего плохого, разве что jumptable нельзя никуда переносить с адреса DA00, иначе программы перестанут работать.
                    Ответить
                    • да, косвенная адресация через инты гибчее
                      Ответить
                      • В Трубопаскакале 3.0 доступ к графической библиотеке был через такую же таблицу переходов:
                        http://govnokod.ru/19045#comment305461

                        Ну там хотя бы адреса не абсолютные, а относительные.
                        Ответить
                        • В первых юниксах не было .h файлов, вместо них была документация

                          ну типа: функция возвращает структуру у которой первый байт представляет foo, а дальше идет указатель на bar.
                          Ответить
            • Тебе повезло, а у меня в деццтве были металлический коньсруктор, болтики, гайки, токарный станок, отец научил меня жестяным работам, ещё у меня были книги по огнестрельному стрелковому оружию, так что аккуратнее, а прогать я учился сам —– в 12-13 лет в Multimedia Builder, потом я попытался прогать на js, но самому было тяжело и я забросил это дело, только потом, в 9-м классе меня пропёрло с поцкаля, потом си, а потом остальные языки пошли как по-маслу: actionscript, python, assembler, J, Forth мой анус был уже достаточно разработан.
              Ответить
              • Милый боженька, спасибо тебе что когда мне было 12 лет не было на свете ни js, ни actionscript, и ни какой прочей анальной петушни, а были только си, паскаль, бейсик и ассемблер

                Потому я вырос здоровым ребенком, с неполоманной психикой
                Ответить
                • Но с парнем-то было? Признайся, тут все свои.
                  К слову, так сложилось, что советская молодежь повально увлекалась фотографией, техникой, шахматами. Многие подростки состояли в секциях и радиокружоках, а после школы шли друк к друку в гъости паять схемы. Так было и со мной. Творческая лаборатория моего моего друга находилась в подвале; когда вдвоём спускаешься туда, в полутьму, романтикой какой-то веет, слегка даже экстримом. Я часто видел, как стоит его член; в общем, было не до пайки. Однажды я отсосал ему... Дальнейшие наши отношения дружбой уже нельзя было назвать; мы стали встречаться и под предлогом занятий радио занимались сексом. Кончилось всё это очень плохо. Я узнал, что он давно блядует, причем партнеров выбирает постарше, годящихся ему в отцы. От скуки я занялся программированием... :(
                  Ответить
                  • А в попу было?
                    Ответить
                    • Во все дыры было, и в попу в том числе. Мы изучали друг друга, он был неопытен (точнее пытался играть неопытного) как и я.^_^ Мой первый опыт был в школе, с учителем физкультуры.
                      Ответить
            • Дебил, хватит с самим собой пиздеть.
              Ответить
      • Хороший программист оказавшись в позиции где он не компетентнет начинает есть мозоли, и через пол года он уже компетентнее половины своих коллег.

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

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