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

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Расскажу одну говно-историю. Про то как разработчики php, заботятся о финансовом состоянии программистов на этом самом php.
    Есть некая фирма которая купила, информационный продукт у другой и все это работала несколько месяцев на серваке предыдущего владельца.  
    И вот неделю назад бывший владелец сказал съезжайте мне сервер нужен.  Новые владельцы вернее их админ благополучно все перетащил на другой сервер, 
    все вроде запустилось.  Но, что все стало работать не правильно и местами даже перестало.  Админ ебся с этим продуктом до вчерашнего дня, но без результата.  
    В общем  звонит мне такой вечером "Вася выручай не заводится, тебе за работу 50к рублей".   Я аж проснулся, этож блядь целая выплата по ипотеке.   
    В общем стал разбираться, проект в кодировке win 1251. Это меня сразу насторожило. Путем не долгой отладки я увидел, что htmlspecialchars при обработке 
    кириллицы возвращает пустоту.  Загуглив я узнал,  что  php от версии 5.4. по дефолту в htmlspecialchars стал использовать UTF-8, что и убило этот проект.  
    
    Я быстро написал функцию htmlspecialchars_a в которой по дефолту кодировка win-1251,  автозаменой прошелся по проекту. Всё завелось.  
    
    Отдельное спасибо разрабам php. Пусть в следующей версии заменят true/false на  True/False.  Ну или + на -.

    Запостил: Vasiliy, 23 Апреля 2015

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

    • Проболтался ) А вдруг хозяин увидит твой пост и передумает платить? Вот будет умора!.. ^_^
      Ответить
    • Вот еще в догонку -- почему оно пустую строку возвращает: https://bugs.php.net/bug.php?id=47494

      [2011-05-03 17:33 UTC] [email protected]
      > This isn't a logic error. The idea is to prevent a user-triggered information
      > leak by not showing this error to the user in case a production server is
      > misconfigured and running with display_errors turned on.

      :)
      Ответить
      • > case a production server is
        > misconfigured and running with display_errors turned on.
        Convention over configuration over configuration
        Ответить
    • Кодировкобляди соснули.
      Ответить
      • Ага, XXI век, а они всё байтики экономят или соблюдают совместимость с браузерами для Win 3.x.
        Ответить
        • Старую собаку новым фокусам не научишь...
          Ответить
        • по моему опыту - совместимость с виндовым нотепадом.

          на виндах до сих пор кучи софта которые не юникод-аваре. в оссобенности кучи русского софта - cp1251-only.
          Ответить
          • Нотепад теперь при сохранении предлагает выбрать кодировку. На выбор — восьмибитная системная (cp1251 в русской локали), UTF-8 и какая-то 16-битная (UTF-16 или UCS-2, точно не знаю).

            Нотепад не юникод-аваре только в Windows 98/Me и в более старых.
            Ответить
            • > Нотепад не юникод-аваре только в Windows 98/Me и в более старых.

              Это была шутка. Это уже устоявшаяся идиома в некоторых кругах - самая тупая программа на виндах это нотепад.
              Ответить
            • http://www.hoax-slayer.com/bush-hid-the-facts-notepad.html
              Ответить
              • Никогда не думал, что Нотепад даже ASCII не поддерживает... В нём вообще можно набирать хоть что-нибудь, кроме цифр, или цифры тоже нельзя?

                Не воспроизводится. Открывается нормально. Иероглифы выходят только при принудительном выборе неправильной кодировки при открытии.
                Ответить
            • Только вот пользователи ноутпада до сих пор не юникод-аваре. А те кто аваре - те уже не пользуются ноутпадом.
              Ответить
              • Чем пользуются продвинутые юзеры, чтобы писать заметки?
                Ответить
                • Вордом.
                  Ответить
                  • Толстый зеленый забыл. Погромисты стремятся к простоте.

                    Как то пришла в голову идея,как некто может писать код в верде и руками делать подсветку.
                    Ответить
                    • > писать код в верде и руками делать подсветку
                      А в PowerPoint'е?
                      Кстати, кто как оформляет код для слайдов? Я видел скриншоты из notepad++ и студии, просто моноширинный шрифт одного цвета (но зато редактируемый), крашеный вручную код.
                      Может, есть WEB-сервисы, Latex-питушня, плагины к офисам, которые делают редактируемый код или иллюзию редактируемости?
                      Ответить
                      • > крашеный вручную код
                        Пиздец выдержка у людей...
                        Ответить
                      • > кто как оформляет код для слайдов?
                        Beamer + Pygments или listings, зависит от кода (у Pygments есть раскраска для примерно 60 языков, но этого иногда не хватает, а в listings нужно много париться с настройками).
                        Ответить
                      • В NPP же есть экспорт в html и rtf. Через тот же плагин делаешь Copy as RTF, вставляешь в OOo, выделяешь и даблкликаешь стиль с моноширенностью и шрифтом.
                        Ответить
                      • Вот, тут даже пример есть (ближе к концу): https://github.com/wvxvw/magic-thinking/blob/master/science-vs-magic.pdf (было написано в порядке дружеской шутки, но шутку не оценили...)
                        Ответить
                      • вот кстати, а нельзя ли скопировать подсвеченный код как rtf?
                        Ответить
                  • А очень продвинутые - tiddlywiki)))
                    Ответить
                • Я не такой продвинутый, чтобы использовать Word, я notepad++ использую. Автоматические отступы и выделение+Tab позволяют легко писать иерархические заметки. Автодополнение позволяет не писать длинные слова больше одного раза.
                  Ответить
                  • org-mode
                    Ответить
                  • Бро по notepad++
                    Ответить
                  • vim
                    Кстати Василий мне в SSD треде гойворил что с ним иде будет быстрее запускаться гы-гы-гы :))
                    Ответить
                    • Именно с Василием IDE будет запускаться быстрее? Может, Кегдан подойдёт?
                      Ответить
                      • >>с ним иде будет быстрее запускаться

                        Дело мастера боицца ^_^
                        Во всяком случае, мне на ум приходит такая трактовка.
                        Ответить
                      • Кегдан подошел. Чего хотели?
                        Ответить
                  • ...в одном падеже.
                    Ответить
                  • Хз мне веднового блокнота хватало с F5. Единственное что - тормозит на файлах кил по 600 (копипаста.txt)
                    Ответить
                • evernote
                  Ответить
                • org-mode
                  Ответить
                  • Прыщи?
                    Ответить
                    • Да я смотрю тебя не только на говнокоде банят. Гугл тебя тоже видно не любит.
                      Ответить
                      • Мне просто влом всякую прыщехуйню гуглить.

                        >Org mode for Emacs
                        Я угадал
                        Ответить
                        • Что ты угадал?
                          Ответить
                        • > Я угадал
                          Не угадал. Под виндой ёмакс тоже идёт.
                          Ответить
                          • Ивасилий, помоги мне подрихтовать мой ресурс?
                            Ответить
                          • > прыщехуйню
                            Видимо, это собирательный образ всего, чему не учили в немецких ПТУ для погромистов.
                            Ответить
                            • Может он диплом на свалке нашёл.
                              Простите не удержался.
                              Ответить
                              • Стер имя ластиком и вписал "Семен Хохол, программист и укротитель рашкоблядей, факультет флуда"
                                Ответить
                                • Блина с лопаты уже въебал? Скоро 9 мая, ветерана понюхать дадут.
                                  Ответить
                                  • вот ты смеешься, а в Томске блины - основной вид снеков. Вкусно
                                    Ответить
                                    • А лопата - основной вид посуды? А ватник - основной вид населения?
                                      Ответить
                                    • Томск вообще забавный город. Три рекламных щита "курсовые на заказ" на расстоянии в десять метров смотрятся забавно.
                                      Ответить
                            • ПРЫЩЕБАТХЕРТ

                              Рашкоблядушек, что, до сих пор печет от того, что у вас все еще учат сдвигами умножать? :D Импортозамещение, да?
                              Ответить
                              • Компьютеры западные когда импортозамещать собираетесь?
                                Ответить
                                • МСЦТ уже выпускает процессоры (и готовые компьютеры) двух типов: архитектура SPARC и архитектура «Эльбрус» (VLIW, как у покойного Итаниума). Но пользователям нужна Маздайка (как правило, подобранная на помойке, а не купленная), они упорно не хотят переходить на прыщеговно.
                                  Ответить
                                  • У нас хорошие процессора, но только в ракетах
                                    Ответить
                                  • Отстающие на сколько лет?

                                    Где-то в коментах на кабре читал, что VLIW в процессорах общего назначения не нужен, правда,в итаниуме он запрятан в микроархитектуру, а в эльбрусе?
                                    Ответить
                                    • > Отстающие на сколько лет?

                                      Вся информация тут:
                                      http://mcst.ru/sum_komplekss
                                      http://mcst.ru/mikroprocessory-i-sbis
                                      http://elbrus.ru/arhitektura_elbrus

                                      > Где-то в коментах на кабре читал, что VLIW в процессорах общего назначения не нужен

                                      Для пирфоманса в числодробилках нужен. Правда, тогда понадобится царский конпелятор.

                                      > в итаниуме он запрятан в микроархитектуру

                                      RISC-ядро запрятано в x86. А в Итаниуме разве что-то было запрятано?
                                      Ответить
                                      • >Для пирфоманса в числодробилках нужен.
                                        Это сколько % рынка?

                                        >А в Итаниуме разве что-то было запрятано?
                                        Хз. Кстати, почему итаниум не взлетел, а арм - да?
                                        Ответить
                                        • Имхо, арм делался для почти свободной на той время ниши (железки с низким энергопотреблением), а итаниум - нет. А потом появился amd64 совместимый даже с дособлядским говном, и окончательно добил итаниум.
                                          Ответить
                                      • Блин, брутальные у них ноуты.
                                        Ответить
                                        • Так защищённые же...

                                          Мне вот это понравилось: «Система двоичной трансляции. Обеспечивает исполнение на архитектуре НТ-ЭльбрусS программ, подготовленных для выполнения на архитектуре Intel х86 и распространяемых в двоичных кодах.»

                                          Это для запуска дособлядского говна?
                                          Ответить
                                          • Ну там про поддержку XP и x86 линухи писали. Так что не только дособлядского. Интересно, насколько этот эмулятор снижает производительность?
                                            Ответить
                                            • А насколько снижала производительность Rosetta, которая шла в коробке с первыми iMac'ами для эмуляции PowerMac'ов?
                                              Ответить
                                              • Ну ок, криво сформулировал вопрос. Попробуем по-другому. Какой интеловский проц будет примерно по производительности эквивалентен 500мГц эльбрусу с рекомпилятором из x86?

                                                Для простоты предположим, что тестится какая-нибудь числодробилка, где всё входит в кеш. А рекомпилятор уже разогрелся и переделал весь нужный код в эльбрусовые инструкции.
                                                Ответить
                                      • Там тесты скорости есть?
                                        Ответить
                          • На Маках Эмакс всегда устанавливается вместе с системой (правда, обычно старый и без графического интерфейса), а в большинстве популярных сборок Линукса - нет.
                            Ответить
          • >совместимость с виндовым нотепадом.
            Не пори хуйню. В юникод блокнот мог сохранять как бы не в NT4.
            Ответить
            • bormand написал позавчера: «Только вот пользователи ноутпада до сих пор не юникод-аваре».
              Ответить
              • Смотря какие, я уже давно юникод-аваре (ну а хуле, если на компах немецкая локаль стояла)
                Ответить
                • Вот-вот, обо всяких уникодах пользователи вспоминают только тогда, когда локаль не поддерживает требуемый язык. Потому некоторые американские программы до сих пор игнорируют символы, находящиеся за пределами базовой латиницы. У них же для родного языка всё работает.
                  Ответить
                  • Это скорее мудаки пользуются технологиями 10-летней давности, т.к. к ним привыкли и не понимают, что сегодня не поддерживать юникод просто не культурно.
                    Ответить
    • А админ настолько уебан, что не догадался оставь такие же версии либ\софта в окружении?
      Ответить
      • Скорее всего он не глянул, что было установлено на исходном сервере, а потом уже было поздно.
        Ответить
      • новые версии всегда лучше чем старые!

        P.S.
        "Of course it doesn't work. We just performed a software update." (c)
        Ответить
    • Разработчики PHP, вы б подучили где запятые ставятся, ну ей-богу.
      Ответить
      • > Разработчики PHP
        Хм... Так вот кто разработал PHP!
        Ответить
        • >>Хм... Так вот кто разработал PHP!
          Не надо делать такое лицо... Наверняка, ты поучаствовал,судя по отсутствующим запятым.
          Ответить
          • >>Наверняка,

            Не, я тока по паскалю.
            Ответить
            • Stertor беседует сам с собой?
              Ответить
              • Или со своей няшной тульпой, которая иногда без спроса пишет с его аккаунта.
                Ответить
                • >> сильная индивидуальная галлюцинация. В тибетском буддизме квазиматериализованное воплощение мысли

                  Я знаю о тебе больше, чем остальные.
                  Ответить
              • Я хотел обломать борманда, но потом заметил, что и сам неправильно расставил запятые.
                Ответить
            • Стретор, а дай тульпу погонять? Обещаю хорошо обращаться, кормить, поить и ходить с ней гулять.
              Ответить
      • http://12ch.ru/macro/index.php/image/3602.jpg
        Ответить
        • Ммм, как кто-то классно рисует... Талант!..
          Ответить
    • А вообще докер для такой хуиты и нужен.
      Ответить
    • Челябинские добровольцы настолько суровы, что едут в Украину уже в гробах.
      Ответить
      • Поделись шоколадным порошком! Сильно вставляет?
        Ответить
        • А вдруг это был не порошок, а, например, свечи с маслом какао?
          Ответить
    • Я ебал. Вот за это у вас дают реальный срок?
      http://vesti-ukr.com/mir/97818-v-rossii-tancovwic-arestovali-za-video-na-fone-pamjatnika-vov
      Ответить
      • А че за видео то? Очередные Восставшие Пуськи?

        *ссылку не читал*
        Ответить
        • Не, у тех была "Идея"тм, а эти просто жопами трясли на фоне мемориала ВОВ.
          Но есть пара лулзов - у одной дамы фамилия Кутакова, а родителей другой хотели привлечь за то, что воспитали из 15 летней барышни тупую пизду
          Ответить
        • Танцевальная студия делала рекламу, потанцевали у памятника дидам.
          Ответить
        • На дожде в последней передаче с Белковским обсуждали. Рашкобляди сами опошлили колорадскую ленточку и вытиранов до последнего (водка, жрачка с лентами, дарят искусственные цветы вытиранам в крематории), а тут реально посадили людей. Я даже не знаю, что из такого разряда нужно сделать у нас, чтобы реально увидеть тюрьму. Разве что принципиально не платить штраф за безбилетный проезд.
          Ответить
          • по участвовать в факельном шествии.
            Ответить
            • Ты про нас?
              Вася, а ты в России родился? Для тебя русский язык родной?
              Ответить
    • Угадайте, что я въебал этим постами.
      Ответить
      • Угадай, что я въебал этому комментарию?
        Ответить
        • Въебал плюс (моё отношение к Вашему комментарию)
          Въебал минус (мой ответ на вопрос)
          Ответить
          • Въебал обоим по минусу, за то, что спонсировали чужой троллинг.
            Мой надо спонсировать, ясно?
            Ответить
            • Это был некоммерческий комментарий.

              За спонсорскими комментариями обратитесь, пожалуйста, в окошко № 5 с заявлением, копией паспорта и распечаткой логов за период с 31.13.2010 по 02.20.2015. И не напутайте с датами!
              Ответить
              • Вы сами знаете, что я въебал Вашему посту.
                Приятно было делить с Вами бизнес.
                Ответить
                • Спасибо большое за понимание!
                  Ответить
                  • Vanished
                    Ответить
                    • А у вас бланки остались?
                      Нужна форма 666 и ещё минус печать поставить.
                      Ответить
                      • Я, дорогой товарисч, крахмальные воротнички не ношу, на стуле с подушечкой не сижу, и печати не имею.
                        Ответить
                • Товарищи, да вы прям как индейцы - вам в резервацию пора
                  Ответить
    • http://php.net/manual/en/ini.core.php#ini.default-charset
      Ответить
      • А чего можно свой php.ini в каждый виртуальный хост ?
        через php_value не работает
        Ответить
        • Ну подними второго индейца :) Или перейди на fastcgi.
          Ответить
          • Ну подними второго индейца порт нужно же другой.
            >Или перейди на fastcgi.
            Не верю я этим новомодным штучкам. php_mod наше фсе.
            Ответить
            • > порт нужно же другой
              Ну ты можешь форварднуть одного через другого. Или так только нгинкс умеет?
              Ответить
              • не про бывал с 2 апачами да и зачем нгинкс точно умеет.
                Ответить
                • Ну тогда нгинкс повесь перед ними, чтобы разрулил кому какие запросы. И всё будет на одном порту.
                  Ответить
                • >не про бывал
                  Вась, еще раз спрошу: русский для тебя родной?
                  Ответить
                  • с тела же. пишу. Да русский родной. Двоешник я.
                    Ответить
                    • С чего пишешь???
                      Ответить
                      • Пишет сын письмо из места заключения. Жалуется на неудобства: даже письмо написать негде. "Вот лежу сейчас на полу, рядом с парашей, и пишу вам это письмецо... " Через некоторое время получает ответ: "Сынок, если сойдетесь с этой Парашей, то женись "

                        p.s. въебал обоим по плюсу.
                        Ответить
                      • Ну может он бабу или мужика ебет, или его ебут, вот у него руки и дергаются. Мало ли.
                        Ответить
                      • Ну может он бабу или мужика ебет, или его ебут, вот у него руки и дергаются. Мало ли.
                        Ответить
        • Можно. См. PHPINIDir
          Для php_value надо AllowOverride Options или AllowOverride All.
          Еще есть ini_set().
          Ответить
    • вот она, война 8битных и многобайтовых кодировок.
      Конечно, понятно, Русь велика и windows-1251 что буржую ANSI, но в 2015-ом году?
      видимо, это суровое наследие С (даже не Срр), оперировать восьмибитными символами.
      Ответить
      • >windows-1251

        КОИ забыл
        Ответить
        • как же, помню, -7 и -8 варианты. слава б-г, с ними не пришлось плотно работать.
          самое смешное, что 1251 приходится иметь ввиду и сейчас
          Ответить

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