1. PHP / Говнокод #25493

    0

    1. 1
    2. 2
    3. 3
    4. 4
    if (!isset($this->parent->parent->CONFIG['DIR'])) {
                    $this->parent->parent->CONFIG['DIR'] = $this->parent->CONFIG['DIR'];
                    $this->parent->parent->CONFIG['fqdn'] = $this->parent->CONFIG['fqdn'];
    }

    посадил дед репку...

    Запостил: Arris, 01 Апреля 2019

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

    • Интересно, fqdn что-нибудь значит или просто наугад ткнули в клавиатуру?
      const char *random_code()
      {
        return "qfnd fdqn fnqd fdnq"; // Chosen by fair keyboard bashing
      }
      Ответить
      • Fully™ Qualified® Directory© Name℗.
        Ответить
        • Кстати, общепринятый в англоязычной терминологии термин:
          https://en.wikipedia.org/wiki/Fully_qualified_name

          В «RFC» встречался термин «fully qualified host name».

          Хотя мне вместо первого слова хочется написа́ть «fool».

          Вообще напоминает РСФСР 1920-х годов со «Стройснабсбытпромтрестами».
          Ответить
          • почему рсфср?
            Ответить
            • Просто пример территории, на которой возникла лавина трудночитаемых сокращений. В принципе, можно найти и другие примеры.
              Ответить
              • Р.С.Ф.С.Р кстати
                Ответить
                • Действительно, тогда такие сокращения писа́ли с точками.

                  Кстати, когда пропали точки из общепринятых сокращений?
                  Ответить
                  • Вероятно после сталинской реформы, когда шкап => шкаф,например
                    Ответить
              • Почему не сесесесер?
                Ответить
              • > пример территории, на которой возникла лавина трудночитаемых сокращений.
                Я почему-то подумал про сетевые технологии 2000-х и вообще IT. SOAP, AJAX, J2EE, JRE и прочие JAFA, тысячи их...
                Ответить
            • Хотя вообще у всех этих FQDN, FQFN, FQPN, FQHN корни скорее всего отсюда:
              https://ru.wikipedia.org/wiki/SPQR
              Ответить
    • Я за "Modelica"
      type Voltage = Real(quantity="ElectricalPotential", unit="V");
      type Current = Real(quantity="ElectricalCurrent", unit="A");

      кто со мной?
      Ответить
      • Я джва года ждал язык программирования с единицами измерения!
        Ответить
        • Можно подумать в других языках нет пользовательских типов.
          Ответить
          • Есть. Я заметил, что, например, в языке Ада нельзя просто так копировать значения одного типа в переменную другого без явного каста, так что вольты в ток или амперы в напряжение случайно не запишешь.
            Ответить
          • Язык Ада:
            With Ada.Text_IO; Use Ada.Text_IO;
            
            procedure Test is
              type Distance is new Float;
              type Velocity is new Float;
              type Time is new Float;
              function "/" (x: Distance; y: Time) return Velocity is begin return Velocity(Float(x) / Float(y)); end;
            
              s: Distance;
              v: Velocity;
              t: Time;
            begin
              s:=100.0;
              t:=10.0;
              v:=s/t;
              Put(Velocity'Image(v));
            end Test;


            По умолчанию между типами Distance, Velocity, Time операции не определены. Я могу сложить Distance с Distance, но не могу сложить Distance с Time. По этой же причине изначально я не могу поделить Distance на Time. Чтобы выполнить это деление, мне пришлось явно определить function "/" со значением типа Velocity. Теперь я могу делить метры на секунды и получать метры в секунду, но складывать метры с секундами по-прежнему не могу.

            Однако, переменным s и t я спокойно присвоил литералы без единиц измерения.
            Ответить
        • https://en.cppreference.com/w/cpp/language/user_literal
          Ответить
          • хе-хе, а потом 12_yablok != 12_apelsinov, но при этом 12_yablok + 1 = 13_yablok?

            Кажется, я потек от С++ : это же венгерка как её спольски понимал
            Ответить
            • cpp.sh/8sqtu

              С новыми стандартами в С++ вносится множество различных способов определить типы, даже самые простые.

              Можно порыть сорцы libstdc++, определение типа byte, для наглядности.
              Ответить
              • Можно сделать так, чтобы с яблоками нельзя было складывать ничего, кроме яблок?
                Ответить
                • Можно, если определить\не определить соответствующий оператор.
                  Так же и с байтами, к примеру.
                  Тут всё зависит от того, какие требования на тип данных.
                  Ответить
          • Красиво. Жаль, что работает только в литералах.

            То ли дело:
            http://govnokod.ru/25454#comment464809
            Ответить
            • То другое, na__hui можно перевести как $hui->na, но только оно является идентификатором, т.е. и hui, и na должны быть валидными идентификаторами. Ещё есть вариант na_hui_, но тут hui это уже не переменная, хранящая локаль, а само имя локали.
              Ответить
      • >> Please choose an installation path without spaces and non-ASCII characters, otherwise OpenModelica installation is not guaranteed to work properly.

        Какой багор )))
        Ответить
        • c:\Documents and Settings\сергей иванович\

          блядь
          Ответить
          • Тем временем шёл 2019-й год. Космические корабли бороздили Большой театр...
            Ответить
            • ..а использовать проблемы и символы, занимающиее более 7 бит, все еще не рекомедовалось
              Ответить
            • Я против пробелов и не-ascii символов в путях, пробел в командной строке —– это разделитель, и из-за пробелов нужно путь брать в кавычки (а ещё помнишь багор про program в корне диска?))), а в не-ascii символах полно всякого говна.
              Ответить
              • Ага. Чтобы избавиться от дыры в виде потенциальной возможности запуска Program.exe в корне диска вместо ожидаемой программы, я прогнал по реестру программу «McAfee DIRE» (detect insecure registered executables) и добавил кавычки к путям ко всем программам, лежащим в «Program Files» и в подобных путях с пробелами.

                После этого у меня перестал запускаться «Защитник Windows». Я даже не сразу понял, что именно из-за этого. Попытался выяснить, почему он перестал запускаться. В журнале нашёл запись: «Объект "%22" не найден» (или как-то типа того). На микрософтовских форумах, как обычно, нашёл совет проверить комп на вирусы и переустановить «Шиндошз», куд-кудах!

                В итоге всё-таки понял, что защитник не может найти одну из своих DLL, потому что я в реестр добавил кавычки к пути к этой DLL. Оказывается, «Защитник Windows» зачем-то делает urlencode для всех путей.

                Пришлось из пути к этой DLL убирать кавычки и возвращать потенциальную уязвимость.

                А мы ещё над пэхапэшниками смеёмся за их «O\\\\\\'Hara».
                Ответить
                • Ось для пердоликов.
                  Ответить
                  • Может быть, я слишком тупой?
                    Ответить
                    • Надо было пропатчить "Защитник Windows".
                      Ответить
                      • Патчить программу, предназначенную для защиты операционной системы, потому что она требует оставить открытую уязвимость (без которой можно было бы обойтись), в коммерческой операционной системе, позиционирующей себя как готовую к употреблению.

                        Либо с этим миром что-то не так, либо мой петушиный мозг не предназначен для пользования такими системами.
                        Ответить
                        • А сам факт того что платной операционной системе требуется платный антивирус тебя не смущает?
                          Ответить
                          • А разве требуется?
                            Ответить
                            • а тогда зачем его продают?
                              Ответить
                              • А зачем продавали защитные экраны для мониторов и «компьютерные» очки?
                                Ответить
                                • Не знаю, мне нравились эти экранчики. Там еще проводок висел.
                                  Кажется что через него было меньше бликов
                                  Ответить
                                  • Вообще да, мониторы с антибликовым покрытием появились уже на закате эры кинескопов. Раньше были без покрытия, поэтому экранчик выручал.
                                    Ответить
                                    • кроме того в нем было что-то такое тёплое и ламповое
                                      и еще кактус
                                      и коврик под мышку
                                      Ответить
                                    • Экранчики перестали ставить уже в середине-конце 90-х
                                      Ответить
                                      • да, и это очень жаль

                                        экранчики остались в моем далеком детстве, рядом с форм-фактором "десктоп"
                                        Ответить
              • Ну так пездуй на прыщи.
                Ответить
                • Выдавил свой фурункул тебе за щеку. Проверь.
                  Ответить
                • На прыщи, блягодаря редхату и убунте, скоро станут такими, что прыщеводы будут говорить про винду: "у вас-то там на винде всё просто и понятно, никакой магии, не то что у нас тут"
                  Ответить
                  • Это те прыщеводы, которые сидят в серверных без окон?
                    Ответить
                    • нет, я про тех прыщеводов которые спрашивают "как поменять шрифт" на "askubuntu" и там им в ответ скриншотики постят
                      Ответить
                      • Ну десктоп на винде как-то получше имхо.
                        Ответить
        • c:\priwegovno
          Ответить

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