Size: a a a

Programming Offtop

2020 October 25

BP

Bogdan Panchenko in Programming Offtop
Artem Molotov
@SchFuntik ты только по стикеру перед юрлом решил, что браузер "орёт" и это не оф. сайт?
да нет странный урл был я помнил другой был, но забыл что они перенаправляют, и с эта фигня с "не безопастно" давно была, но странно что досих пор не поправили
источник

AM

Artem Molotov in Programming Offtop
Bogdan Panchenko
да нет странный урл был я помнил другой был, но забыл что они перенаправляют, и с эта фигня с "не безопастно" давно была, но странно что досих пор не поправили
Я привык смотреть на первый/второй уровень. Если там rada.gov.ua, то похрен на каком именно поддомене

Ну и советую ставить HTTPS Everywhere. Хз как вообще без этого плагина в сети можно лазить..
источник

BP

Bogdan Panchenko in Programming Offtop
https://www.rada.gov.ua/ а он уже на второй перенаправляет
источник

BP

Bogdan Panchenko in Programming Offtop
Artem Molotov
Я привык смотреть на первый/второй уровень. Если там rada.gov.ua, то похрен на каком именно поддомене

Ну и советую ставить HTTPS Everywhere. Хз как вообще без этого плагина в сети можно лазить..
ну безопкастно лазить можно, не доверяю я вашим плагинам
источник

AM

Artem Molotov in Programming Offtop
Bogdan Panchenko
ну безопкастно лазить можно, не доверяю я вашим плагинам
Эти плагины 100500 раз аудит проходили (и проходят). Лучше рекомендательным плагинам доверять, чем своему говнопровайдеру.
источник

AM

Artem Molotov in Programming Offtop
Особенно если этот провайдер предоставляет мобильную связь. Тогда вообще только дурачок будет без https по сути бегать
источник

AM

Artem Molotov in Programming Offtop
Условно-минимальный набор для сёрфинга :(
источник

AM

Artem Molotov in Programming Offtop
прокси вот можно убрать, в принципе
источник

BP

Bogdan Panchenko in Programming Offtop
Artem Molotov
С ваших слов сложно понять что именно там
да я даже скрин сделать не могу( да просто ругается на безопастность, странно что этой фигне уже пару лет как минимум, хотя наверное лет 5-ть точно есть
источник

AI

Aynur Iceman in Programming Offtop
Bogdan Panchenko
Потому что не понимают что такое ии
а кто кстати дал правильное определение что такое ИИ?
источник

BP

Bogdan Panchenko in Programming Offtop
Artem Molotov
Эти плагины 100500 раз аудит проходили (и проходят). Лучше рекомендательным плагинам доверять, чем своему говнопровайдеру.
да ладно) ниверю ни кому
источник

BP

Bogdan Panchenko in Programming Offtop
Aynur Iceman
а кто кстати дал правильное определение что такое ИИ?
а есть "правильное" ? Ну это уже секста
источник

AM

Artem Molotov in Programming Offtop
Bogdan Panchenko
да я даже скрин сделать не могу( да просто ругается на безопастность, странно что этой фигне уже пару лет как минимум, хотя наверное лет 5-ть точно есть
Есть такая кнопка как PrintScreen, если что (или сочетание Alt+PrintScreen)
источник

AI

Aynur Iceman in Programming Offtop
Bogdan Panchenko
а есть "правильное" ? Ну это уже секста
Ну если кто-то всерьез обсуждает, что что-то является ИИ или не является, когда у термина нету четких критериев. Это признак уровня развития интеллекта обсуждающих  ниже чем у нейросетки.
источник

BP

Bogdan Panchenko in Programming Offtop
@openvz в итоге то ссылка была на офф сайт, но странная хрень - офф сайт не настроил досих пор нормально https - для меня это позор, мы там в FULL интерент идем, скоро и голосовать будем там
источник

BP

Bogdan Panchenko in Programming Offtop
Artem Molotov
Есть такая кнопка как PrintScreen, если что (или сочетание Alt+PrintScreen)
смешно, но окошко пропадает
источник

I

Ilmir in Programming Offtop
@noraltavir Кстати про сишный тулинг. Пять лет назад, когда я работал в Самсунге, уже под конец работы там я написал один небольшой комментарий про LTO

Раз уж заговорили про костыли, позвольте мне рассказать небольшую историю про эти самые костыли.

Давайте вернемся в те времена, когда компьютеры были большими, а памяти было мало. Когда еще не было формата ELF, а (единственный) компилятор Си не был оптимизирующим. Когда еще не было стандарта Си, а тоненькая книжка за авторством Ритчи и Кернигана еще даже не была написана.

Представьте, что вам надо скомпилировать ядро Юникса. Практически в каждом исходном файле описаны используемые функции и количество их параметров, возможно, даже с именами (без типов, ибо, как мы помним, АНСИ Си еще не существует) и глобальные переменные, которые, в свою очередь экспортятся из других исходных файлов. Так как памяти у нас мало, мы создаем т. н. объектные файлы, которые потом объединяются в один большой исполняемый файл редактором связей, линковщиком. Этот линковщик — хитроумный костыль, придуманный для того, чтобы не тратить кучу памяти для хранения внутренних данных компилятора, что произошло бы, если бы мы компилировали всю программу целиком и сразу. Более того, это положение сохранилось до сих пор, костыль прижился и даже схема компиляции по файлам была стандартизирована и сегодня каждый компилятор, даже в том случае, если ему хватает памяти на компиляцию всей программы сразу, компилирует отдельные Compilation Unit'ы.

К слову, чтобы не писать каждый раз обьявления используемых функций, примерно в то же время придумали заголовочные файлы и их включение в Compilation Unit. Этот костыль тоже дожил до наших дней. Но весь этот абзац был только к слову — речь о редакторе связей нано же.

Так вот, Linking Time Optimization — это костыль, который позволяет оптизировать всю программу целиком, а не по отдельным Compilation Unit'ам. Другими словами — это костыль, скрывающий другой костыль. Кстати говоря, последние версии GCC по умолчанию собираются с включеным флагом -flto, который, как уже пояснили выше, включает этот костыль.

Однако, обнаружилась проблемка с этим ключом: дело в том, что GNU make умеет запускать несколько процессов GCC для компиляции нескольких исходников одновременно. Это назвали паралельной сборкой. И эта возможность напрямую следует из архитектуры make и не является костылем. Линковщик же однопоточный. В результате, время компиляции увеличилось, так как парсинг и кодогенерация — это дешевые операции по сравнению с оптимизацией (тем более, всей программы).

Как же GCC собираются решить эту проблему? Костылем! Дело в том, что можно линковать два объектника и на выходе получить еще один объектник. И эти проженные инженеры собираются использовать возможности того же make для параллельной линковки.

А теперь пару слов о том, как же выглядит процесс компиляции программы с использованием LTO. Компилятор генерирует промежуточное преставление и вместо того, чтобы оптимизировать, сразу дампит его в отдельную секцию ELF файла. А оптимизатор запускается линковщиком.

И даже на этом этапе обнаружились проблемы — получаемые после компилятора объектные файлы оказались просто огромными из-за, по сути, не нужного бинарного кода, который все равно будет выкинут и заменен оптимизированным. А просто так выкинуть этот код нельзя — на него завязаны утилиты ar и nm. Что же делать? Хачить! И после этих костылей, вставленых в эти две утилиты, стало возможным уменьшить размер объектников, без потери возможности использовать статические библиотеки и смотреть список символов, определенных а объектнике.

Сколько костылей из-за линкера насчитали? Вот-вот, а выкинуть его нельзя, ибо эта инфраструктура копилась годами, и потребуются годы, чтобы ее заменить. А так — работает же, хоть и раз в пару лет надо еще одну подпорку поставить.

В сторону: а некоторые считают Autotools одним из самых больших нагромождений костылей на костылях.
источник

AM

Artem Molotov in Programming Offtop
Bogdan Panchenko
@openvz в итоге то ссылка была на офф сайт, но странная хрень - офф сайт не настроил досих пор нормально https - для меня это позор, мы там в FULL интерент идем, скоро и голосовать будем там
Настроил, но не сделал редирект с http на https и не включил hsts (что логично)
источник

BP

Bogdan Panchenko in Programming Offtop
источник

BP

Bogdan Panchenko in Programming Offtop
а не в итоге зделал
источник