- 1
IT Оффтоп #146
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
IT Оффтоп #146
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
#135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
#136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
#137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
#138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
#139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
#140: https://govnokod.ru/27900 https://govnokod.xyz/_27900
#141: https://govnokod.ru/27914 https://govnokod.xyz/_27914
#142: https://govnokod.ru/27942 https://govnokod.xyz/_27942
#143: https://govnokod.ru/27960 https://govnokod.xyz/_27960
#144: https://govnokod.ru/27972 https://govnokod.xyz/_27972
#145: https://govnokod.ru/27996 https://govnokod.xyz/_27996
nepeKamHblu_nemyx 12.02.2022 01:52 # 0
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://vorec.space/ (глоссарий Говнокода)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
Rooster 13.02.2022 22:21 # 0
Rooster 13.02.2022 22:28 # 0
Fike 12.02.2022 04:19 # +2
https://www.youtube.com/watch?v=ESx_hy1n7HA
Еще я в первый раз услышал Lay down your bss вместо Lay down your pieces и немного прихуел, но потом оказалось что это всё равно банальная пошлятина.
JloJle4Ka 12.02.2022 05:07 # 0
ObeseYoung 12.02.2022 05:08 # 0
Fike 12.02.2022 05:11 # +1
JloJle4Ka 12.02.2022 05:10 # 0
Fike 12.02.2022 05:24 # +1
https://www.youtube.com/watch?v=oZoWSOHHKu8
https://youtu.be/WIlopKnCTp4
Самый пиздец и вовсе только в проклятой свалке мп3
https://vk.com/audio?q=world.execute(me)%20araneat
digitalEugene 12.02.2022 05:47 # 0
ObeseYoung 12.02.2022 05:51 # 0
Naf-Naf 13.02.2022 21:58 # 0
Rooster 13.02.2022 22:31 # 0
Naf-Naf 13.02.2022 22:15 # 0
https://pbs.twimg.com/media/FHjPrlxXwAsTllh.jpg
https://pbs.twimg.com/media/FKgRbnYWUAU_vPx.jpg
Ну почему их до сих пор учат писать using namespace std?
Soul_re@ver 13.02.2022 22:18 # 0
Naf-Naf 13.02.2022 22:57 # 0
Я вижу «setlocale(LC_ALL, "Russian");», а дальше боюсь разбирать.
bormand 13.02.2022 22:59 # +2
З.Ы. Вспомнилась анимешная картинка с WPARAM и LPARAM, которые сразу привлекают внимание, хоть там всё и замылено.
Soul_re@ver 15.02.2022 15:08 # 0
И дальше куча add(tree ...
guest6 15.02.2022 15:11 # 0
ucnaHckuu_CTblD 15.02.2022 15:13 # 0
Стыдно. Очень-очень стыдно.
Soul_re@ver 15.02.2022 15:13 # +1
И не париться с «а не забыл ли я удалить», «а что, если эксепшын вылезет»...
guest6 15.02.2022 15:16 # 0
Soul_re@ver 15.02.2022 15:20 # +1
Или просто говнокодеры.
guest6 15.02.2022 15:23 # 0
Это же всё небось в main, и живет объект до конца main
>стек пидорасит
В студлабе на на x64?:)
даю зую зуб на отсечение, что последнее.
Макак сказал "объекты создаются словом new", его и используют.
MPA3b 15.02.2022 17:11 # 0
bormand 15.02.2022 15:21 # +1
ISO 13.02.2022 22:31 # +4
Потому что студентов до сих пор за каким-то хреном учат писать на «C++».
Ну а с учётом того, что 95% преподавателей (в провинциальных вузах — 98.5%) этот самый «C++» сами знают на уровне прочитавших гайд «C++ за 21 час» и не смогут даже явное определение шаблона от декларации внешней специализации отличить, всё, чему они могут научить студентов — это копипастить код из дерьмовых методичек начала двухтысячных годов.
Naf-Naf 13.02.2022 22:42 # +2
guest6 15.02.2022 14:39 # 0
guest6 15.02.2022 14:38 # 0
Давеча видел, как студентов НЕ программерской специальности учили зачем-то плюсам. Причем это был микс из плюсов и сишки. Студенты сразу же запутались напрочь, и не понимали чем ссылка отличается от указателя, а cout << от printf.
И конечно же там был ``delete[] foo``. И конечно же там был using std;
ObeseYoung 15.02.2022 14:53 # 0
ObeseYoung 13.02.2022 23:20 # +1
BEKTOPHblu_nETyX 13.02.2022 23:36 # 0
Rooster 13.02.2022 23:36 # +1
OPAHrymaH 15.02.2022 13:26 # 0
guest6 15.02.2022 15:57 # 0
ucnaHckuu_CTblD 15.02.2022 22:47 # 0
guest6 15.02.2022 14:39 # 0
ObeseYoung 15.02.2022 15:04 # 0
guest6 15.02.2022 15:05 # 0
ObeseYoung 15.02.2022 15:09 # 0
OPAHrymaH 14.02.2022 01:11 # +3
При успешной установке программа установки пакета SDK для .NET отправляет единую запись телеметрии. Чтобы отказаться от этого, задайте переменную среды DOTNET_CLI_TELEMETRY_OPTOUT перед установкой пакета SDK для .NET.
Важно!
Чтобы отказаться от отправки данных телеметрии после запуска установщика, закройте установщик, задайте переменную среды, а затем снова запустите установщик с заданной переменной среды.
Rooster 14.02.2022 01:11 # +2
bormand 15.02.2022 09:29 # +1
CHayT 15.02.2022 12:35 # +1
ObeseYoung 15.02.2022 15:21 # 0
Soul_re@ver 15.02.2022 15:26 # 0
А у них места хватит? Я, если у меня диск с TLMC навернётся к ним обращусь же, чтобы предоставили обратно мой терабайт тохомузла.
ObeseYoung 15.02.2022 16:15 # 0
А, там еще в чекистском высере был неявный запрет юзать прогу детям до 13 без сопровождения. В общем, второе место на конкурсе уебанов после Гоогле, которые объявили в своем EULA, что весь конь-тент, созданный в ихней сборке Chromium принадлежит им.
Soul_re@ver 15.02.2022 17:30 # 0
Это же гейропецы вроде? В гейропе можно сделать запрос на высылку всех хранящихся данных о пользователе. А если не будет нужных данных — подать в суд щза то, что не выполняют обещания.
bormand 15.02.2022 17:34 # 0
Хотя от vendor lock спасает, наверное. Чтобы в другое место можно было уйти не выковыривая свои данные вручную/скриптами.
guest6 15.02.2022 17:38 # 0
Сначала ебланы заставили все сайты засирать половину экрана тупым вопросом про куку, и теперь тратят мое (пользователя) время на это говно.
Теперь ебланы упростили взлом хакеру.
Евродепутатов нужно утопить в ванне с соляной кислотой, и тогда Интернет станет гораздо более удобным и безопасным
bormand 15.02.2022 17:40 # 0
Без такого закона обычному юзеру очень проблематично куда-то перекатиться, считай что кусок жизни выбросить.
Soul_re@ver 15.02.2022 17:46 # 0
bormand 15.02.2022 16:47 # 0
Ну там есть вполне реальная отправка крешдампов в менюхе. А её без такого пункта в лицензии нельзя делать, насколько я понимаю.
guest6 15.02.2022 16:50 # 0
bormand 15.02.2022 16:58 # 0
Имхо, даже в минидамп может что-то критичное для юзера проскочить. Его имя или имя файла например.
Про полный вообще молчу.
guest6 15.02.2022 17:00 # 0
guest6 15.02.2022 13:53 # +1
j123123 14.02.2022 03:02 # 0
CHUNGUS 2 - A very powerful 1Hz Minecraft CPU
Rooster 14.02.2022 03:02 # 0
digitalEugene 14.02.2022 09:46 # 0
кстати этим объясняется почему там змейка_блядство
Rooster 14.02.2022 09:46 # 0
JloJle4Ka 15.02.2022 07:00 # +2
[Love is in the air] Ищу парня-программиста, Мск
Очень странный заголовок, знаю. Прежде чем угорать и осуждать разложу все по полочкам . Модератор, не будь бессердечным, пожалей.
Уже проводя пол года на тиндере я составила анализ мужчин:
5% женатики
5% не могут забыть бывшую
5% не ищут серьёзные отношения
....мне лень перечислять всех остальных
Список можно продолжить, но не об этом сейчас речь, в общем, в тот самый 5% подходящих мне людей, увы, не подходят творческие люди, тусовщики. Мне нравится интровертность и склад ума как раз таких людей как вы, милые господа.
Расскажу о себе. Зовут Алиса, 20 лет сама родилась и живу в Москве. Получаю высшее, 3 курс, химик-технолог. Сама зарабатываю, проблем в плане ментального и психических не имею. Как уже заметили, со своим чувством юмора. Ну и, конечно же, люблю красоту и все, что с этим связано. Свободное время занимаюсь спортом, гуляю с подругами, как и многие 20-летние девушки. Короче, если тебе интересно стало- то меня найдёшь :)
bormand 15.02.2022 09:07 # +3
Какой анализ )))
OPAHrymaH 15.02.2022 10:14 # +2
5% женаты ради счастья, дело кремлевского блока
5% просто не захотят без подруги
Так вот остальные предпочли просто устроиться сами, не искать ничего другого.
Заранее спасибо.
OPAHrymaH 15.02.2022 10:15 # +2
5% не ищут новую девушку
5% не хотят насилия, но легко себя изменяют
5% постоянно изменяются.
Уже без материального насилия, а насилия будет как только будет желание пришли в своем пространстве, с ней будет какая то толпа. Конечно, из этого толпы выйдут обе легкие и опора. Так что по факту у меня полная нация тиндера, т.е. женаты и не ищут больше.
ucnaHckuu_CTblD 15.02.2022 13:48 # 0
OPAHrymaH 15.02.2022 09:55 # 0
JloJle4Ka 15.02.2022 10:14 # 0
> Учится
Делает минет профессору за зачёт
> Работает
Вебкам.
OPAHrymaH 15.02.2022 11:44 # 0
Алиса Бышкова, работает в ООО «АКВА-ТЕРМО».
https://vk.com/id134093639
https://www.instagram.com/alisa_b_/
Она?
JloJle4Ka 15.02.2022 11:50 # 0
OPAHrymaH 15.02.2022 12:20 # +1
«Здравствуйте, будьте добры удалить мои данные, мне не очень приятно, кому надо-тот найдет . Не надо давать подсказок, иначе я везде переименую ссылки и меня вообще невозможно будет найти кто хочет . Не усложняйте мне жизнь. Буду благодарна»
Soul_re@ver 15.02.2022 12:26 # +3
> Не усложняйте мне жизнь
Меня просто корёжит от отсутствия логики
OPAHrymaH 15.02.2022 12:32 # +1
bormand 15.02.2022 15:42 # +2
Сменю работу. Перееду в другой город. Сменю фамилию.
Как-то так уже надо, походу.
OPAHrymaH 15.02.2022 21:15 # 0
OPAHrymaH 16.02.2022 01:49 # +1
OPAHrymaH 16.02.2022 01:55 # 0
Fike 16.02.2022 02:04 # 0
https://i.pinimg.com/originals/07/27/9e/07279eb9fb3e1515a6823b708821e00d.jpg
guest6 16.02.2022 02:08 # +1
bormand 15.02.2022 15:40 # 0
У тебя там нейронка для определения пола по комментариям?
MPA3b 15.02.2022 17:22 # 0
MPA3b 15.02.2022 12:51 # +2
OPAHrymaH 15.02.2022 13:07 # +2
MPA3b 15.02.2022 17:22 # +2
OPAHrymaH 15.02.2022 21:12 # +2
OPAHrymaH 15.02.2022 12:18 # +2
«Ооо! Приложение для знакомств "Тендер"! Для настоящих ценителей 44 и 223 ФЗ. Все критерии должны быть сформулированы, чтобы ФАС не докопался.
"Ищу друга. Мужской пол - наличие. Высшее образование - наличие."
При этом нельзя написать, что внешность Вина Дизеля, только "внешность Вина Дизеля или аналогичная". Еще и надо разъяснения по пунктам давать. "Внешность Вина Дизеля или аналогичная требуется для снижения уровня отвращения при личном общении до отметки 5% и/или ниже".»
Soul_re@ver 15.02.2022 12:24 # +2
Образование — не менее «Высшее».
OPAHrymaH 15.02.2022 12:25 # +1
MPA3b 15.02.2022 13:36 # 0
guest6 15.02.2022 15:46 # 0
И обсуждают проблемы любые.
Двадцать процентов из них - голубые.
Сорок процентов - любители водки.
Тридцать процентов из них - импотенты,
У десяти - с головой не в порядке.
В сумме нам это дает сто процентов,
OPAHrymaH 15.02.2022 21:10 # +2
JloJle4Ka 19.02.2022 08:04 # 0
OPAHrymaH 15.02.2022 21:17 # +2
MPA3b 15.02.2022 21:20 # 0
guest6 15.02.2022 21:21 # +1
не заметили, кстати
OPAHrymaH 15.02.2022 21:40 # +2
bormand 15.02.2022 21:33 # +3
Программист-интроверт нужен чтобы и деньги зарабатывал и где тян по ночам гуляет с подругами не спрашивал?
guest6 15.02.2022 21:37 # +4
--Миллый, я спаать ложусь
--Ага, сейчас (жмет "step into" в дебагере)
медленно начинается очередное утро
ISO 01.09.2022 20:49 # 0
Fike 15.02.2022 12:54 # 0
господи блядь ну откуда
откуда у людей такая нелюбовь к early return и (в других местах) обожание огромного количества if else вместо того, чтобы просто отрезать ненужные варианты в начале кода
Soul_re@ver 15.02.2022 13:04 # +2
OPAHrymaH 15.02.2022 13:13 # 0
MPA3b 15.02.2022 13:35 # 0
должна быть?
MPA3b 15.02.2022 17:23 # 0
Fike 15.02.2022 22:07 # +1
guest6 16.02.2022 02:09 # +1
* Фонарик на солнечных батарейках
* класс Optional в языке программирования Java
OPAHrymaH 16.02.2022 02:11 # 0
666_N33D135 16.02.2022 17:33 # 0
Fike 16.02.2022 02:16 # 0
На самом деле они нихуя не победили.
Проблема дереференса нуллпоинтера в том, что написанный код предполагал, что значение есть.
А его там нет.
Заворачивание этого говна в блевню Some и None не решает проблему вообще никак.
Потому что если код уверен, что значение есть, он ровно так же попробует его распаковать.
Либр будет продолжать вызывать map на пустом месте, чтобы бедняга-программист, у которого в конце обработки почему-то ничего нет, разматывал всё это говно обратно - после того, как проблему заметили где-то на проде. Вместо того, чтобы получить по рылу NPE и увидеть конкретный стектрейс, где это происходит.
guest6 16.02.2022 02:19 # 0
Soul_re@ver 16.02.2022 02:52 # +1
Кстати, планируется ввести оператор "проверить на нулл" и в остальных контекстах.
CHayT 16.02.2022 02:30 # +3
> Потому что если код уверен, что значение есть, он ровно так же попробует его распаковать.
И не сможет, потому что для получения значения из Maybe, его нужно распаковать из враппера путём паттерн-матчинга, который в данном случае эквивалентен проверке на "null". Т.е. код с Maybe не содержит null pointer dereference, что называется, by construction.
Да что ж такое-то. Опять питоняки нанякивают на haskell, не зная его.
guest6 16.02.2022 02:43 # +1
даже в TS!
Фике просто джавист
CHayT 16.02.2022 02:38 # +1
> Вместо того, чтобы получить по рылу NPE и увидеть конкретный стектрейс, где это происходит.
Let it crash не так работает, лол.
Soul_re@ver 16.02.2022 02:49 # 0
Когда надо было отлавливать и решать проблему гораздо раньше, говнокодеры запихивали её в МОЖЕТБЫТЬ в надежде, что её решит кто-то другой.
От языка это не зависит, говно пишется везде.
CHayT 16.02.2022 03:00 # 0
yet_another_one_shit 16.02.2022 03:01 # 0
Soul_re@ver 16.02.2022 03:18 # 0
Да ты уже обосрался, когда допустил возможность передачи отсутствующего значения в место, где его быть не должно. Если единственный действительный подход при отсутствии значения — записать это в лог и упасть, это знак, что здесь никаких опциональных значений не нужно.
CHayT 16.02.2022 03:25 # 0
То есть все словари должны быть созданы уже со всеми возможными значениями ключей, в кешах недопустимы миссы, в документах, прилетающих их сети, обязательно должны быть все поля (правильно заполненные), пони обязательно должны быть розовые, и т.д.?
OPAHrymaH 16.02.2022 03:35 # +1
Туда, где водятся слоны и бегемоты,
Орангутаны и другие чудеса,
Летают раз в неделю самолёты,
Потом плывут неделю пароходы,
Потом идут неделю вездеходы,
А пони довезёт за полчаса.
Soul_re@ver 16.02.2022 03:42 # 0
Есть места, в которых действительно могут отсутствовать данные. Но также есть места в которых данные должны быть. И это задача кода на предыдущем уровне разобраться с данными, заменить отсутствующие на какое-либо значение по умолчанию или высрать ошибку. И простой проброс опционального значения — проёб программиста.
Да, если у тебя в языке все типы nullable, то ничего не поделать и вставить проверку типа if(!param) goto error; тебе придётся. Но если есть возможность на уровне системы типов указать, что здесь данные должны быть, это нужно сделать.
CHayT 16.02.2022 04:00 # +1
Никакого "простого проброса" в нормальном языке быть не может, т.к. `Maybe a' туда где требуется `a' тебе система типов просунуть не даст.
> Но если есть возможность на уровне системы типов указать, что здесь данные должны быть, это нужно сделать.
Т.е. как ведёт себя примерно каждая первая функция? Приведи реальный пример функции, которая от "предыдущего уровня" берёт как аргумент Maybe.
MPA3b 16.02.2022 04:01 # 0
CHayT 16.02.2022 04:04 # +1
> Да ты уже обосрался, когда допустил возможность передачи отсутствующего значения в место, где его быть не должно.
Ты либо не сечёшь как работает Maybe в функциональных языках, которые не напел по телефону Рабинович (они таки да, не дадут тебе передать `Maybe a' туда, где требуется `a'), либо утверждаешь именно это.
Soul_re@ver 16.02.2022 10:04 # 0
Я утверждаю, что всё преимущество опциональных типов опытный говнокодер может свести на нет, попросту используя их абсолютно во всех определениях функций вместо просто значений. Тем самым переводя один класс ошибок (наткнулись на нулл) в другой (мы обнаружили, что нам подсунули нулл вместо значения, но что при этом делать совершенно непонятно).
CHayT 16.02.2022 12:30 # 0
Приведи реальный пример. Я слабо представляю, кому такое может прийти в голову, т.к. maybe увеличивает количество писанины где-то вдвое, а люди обычно стремятся к минимуму действия. Если кто-то сознательно вместо чистых значений использует опциональные, то тут надо не о говнокоде беспокоиться, а о том, чтобы этот маньяк тебя не сожрал с луком.
bormand 16.02.2022 13:14 # 0
Высший сорт говна -- это когда функция закрытия/очистки/удаления возвращает ошибку т.к. помимо собственно закрытия она занимается не относящейся к делу хуйнёй (например коммитит данные на диск).
guest6 17.02.2022 13:16 # 0
Я утверждаю, что всё преимущество статической типизации опытный говнокодер может свести на нет, попросту используя Object/void*/any абсолютно во всех определениях функций вместо просто значений.
bormand 17.02.2022 13:20 # +1
guest6 16.02.2022 03:03 # +1
почти никто не умеет, иначе у нас не было бы этих чудесных "Invalid handle", "unknown error" и прочих 0x8000100500
guest6 16.02.2022 15:31 # 0
Если человек пишет (псевдокод)
то человек просто говноед, ослов ебавший, и наличие/отсутствие nullable тут не виновато совсем.
CHayT 16.02.2022 15:37 # 0
guest6 16.02.2022 15:44 # 0
> вместо нормального планирования и обнаружения ошибок в нужных местах, в
Но обычно нормальная обработка ошибок это:
* попытка исправить то, что можно исправить
* вывод информации пользователю на нужном уровне абстракции со всем нужным контекстом.
Пример хорошей обработки ошибок:
Пример хуёвой обработки ошибок:
https://i.ytimg.com/vi/hc4NSiardOA/hqdefault.jpg
CHayT 16.02.2022 15:49 # +1
Нахрен мне логировать алёрт в ситуациях, где я, допустим, ожидаю, что файла нет? К примеру, если конфы нет в `~/.config/pituh.conf', но есть в `/etc/pituh.conf', зачем функции readFile орать "пожар!!" ?
readFile не знает, является ли отсутствие файла ошибкой или нет. Есть ситуации, где наличие файла является пиздец какой ошибкой, например у меня был проект, где оверрайд leader election делался через специальный файл, и когда программа этот файл видела, она орала алярмами.
guest6 16.02.2022 15:52 # 0
Но ты всё равно должен проверить, что файла именно нет, а не нет например прав.
В моей псевдофункции это не проверяется, так что она всё равно говно.
CHayT 16.02.2022 16:02 # 0
И это всё равно будет говном:
1. кривыми selinux политиками можно запретить читать файл так, что is_readable при этом вернёт тебе true. (Реальный случай)
2. Права на файл могут измениться в интервале между проверкой и чтением, если ты в многозадачной ОС.
Нет серебряной пули.
guest6 16.02.2022 16:14 # 0
CHayT 16.02.2022 16:18 # +1
guest6 16.02.2022 16:21 # 0
CHayT 16.02.2022 16:37 # +1
Из названия `readFile' это никак не следует.
guest6 16.02.2022 15:57 # 0
Так не бывает. В контракте функции должно быть прописано, как она себя ведет в случае отсутствия файла.
Если readFile не готов к отсутствию файла, то он должен вернуть ошибку, которую должны поймать на более верхнем уровне, и правильно обработать.
CHayT 16.02.2022 16:04 # 0
См. два примера выше. Если readFile — библиотечная функция, откуда ей знать, что вышестоящая логика ожидает?
O4epegHou_nemyx 16.02.2022 16:07 # 0
CHayT 16.02.2022 16:09 # 0
guest6 16.02.2022 16:17 # 0
На более нижнем уровне мы генерируем ошибку, на более высоком уровне (где отсутствие файла уже не является ошибкой) мы эту ошибку ловим, и строим по ней логику.
На уровне работы с памятью отсутствие страницы в памяти является fault, а на уровне работы виртуальной памяти -- нет, потому что можно загрузить страницу. Точно так же и тут.
Хуевые обработки ошибок либо теряют часть важной информации, либо выводят ее не на том уровне абстракции.
Например я пытаюсь запустить игрушку, а мне пишут "нет прав доступа к ключу реестра" или "invalid handle".
Что мне делать с этой информацией?
CHayT 16.02.2022 16:20 # 0
Поздравляю, теперь у тебя контракт никак не выражен в сигнатуре функции* и тайпчекер его не проверит.
...Теперь допустим, что у меня в языке нет исключений, или я в гугле, где они запрещены.
* Checked exceptions есть далеко не везде.
guest6 16.02.2022 16:27 # 0
Исключения в C++ всё равно не особо бы тут помогли, потому что их можно забыть поймать.
Checked Excpetioons в джаве помогли бы, но очень сильно засрали бы код.
В языках, где ты можешь вернуть нечто, что может быть либо ошибкой, либо успехом, и вызывающая сторона обязана это проверить (что похоже в целом на Maybe) ты можешь вернуть такую штуку из readFile, а на более высоком уровне либо проигроировать ее, либо залогировать, это уже тебе решать.
Условный пример из котлина и кастомного класса Result
Ну вероятно нужен еще сахар типа
CHayT 16.02.2022 16:59 # 0
В общем, догматизм я вижу в этом треде. В духе: Дейкстра сказал, что goto — говно! Поэтому мы для выхода из вложенного цикла сделаем специальную переменную isVyhod, и будем её проверять! Так верно!
Разные фичи надо использовать по обстоятельствам, вот и вся премудрость.
MPA3b 16.02.2022 17:07 # 0
JlAKOMKA 16.02.2022 22:13 # 0
guest6 16.02.2022 20:34 # 0
* тебе не нужно явно вернуть ошибку, а хватит нула
* у тебя язык с null safety, и ты можешь заставить клиента проверить, что там не нул
Soul_re@ver 16.02.2022 17:16 # 0
Checked Exception это та ещё хуйня, потому что даже если ты знаешь, что какого-то исключения быть не может, потому что ты фильтруешь входные данные, ты всё равно должен его проверить.
guest6 16.02.2022 20:33 # 0
guest6 16.02.2022 21:11 # 0
Если функция позволяет фильтровать данные, то нахуя она кидает checked exception?
Наличие файла ты не можешь проверить (он может удалиться в момент запуска функции) а например что число больше ноля -- можешь, и тут checked exceptions не нужен.
Другой вопрос, что в джаве нужно было бы сделать сахар для их затыка.
guest6 16.02.2022 16:32 # 0
ээ, а раньше он как был выражен?
Если у тебя в языке нет checked exceptions и нет аналогов Maybe с паттрн матчингом, то ты в жопе: никак ты не выразишь статически что у тебя может быть ошибка. Никак не заставишь пользователя ее проверить.
Ну есть еще всякие костылики вроде out reference в C#
Soul_re@ver 16.02.2022 17:14 # 0
Пример, в роли nullable значения выступает питух, в роли нулла — NaN. В программе есть кусок который можно поделить на следующие части:
1) Выдирание данных
2) Обработка и приведение данных в нужный формат
3) Данные запускаются в числодробилку
4) Полученный результат используется далее
В (4) в оказывается NaN, что приводит к проблемам. Сейчас проблему решать поздно. Мы можем упасть — нехороший вариант, потому что проблема возникает регулярно. Исправить её и проигнорировать неправильные значения мы не можем — во-первых, неизвестно, что использовать вместо плохих данных, во-вторых, если в данных NaN, то это надолго
Из (3) выходит NaN, потому что NaN пришёл. Это функция с хорошо определённым поведением, используемая в нескольких местах. Странно его менять ради заделывания дыры, да и непонятно, на что менять плохие значения
Исток NaN в (2) — в процессе подготовки данных появлялось отрицательное число, из которого брался то ли корень, то ли логарифм. Так случалось, потому что из (1) пришли данные, выходящие за допустимый в данном случае диапазон
В (1) ловить эту проблему не стоит — это прослойка, передающая данные из одного места в другое. Заставлять её знать откуда, что и куда она передаёт — ненужное усложнение
Решением будет ограничение данных положенным диапазоном в (2), и лог о выходе данных за границы, чтобы их исправить в оригинальном источнике данных
Тут питух — в нём NaN обычно подкрадывается незаметно.
Если вместо него в данном случае был бы nullable тип, то при написании программы следовало заметить, что в (4) (и, соответственно, (3) ) значение безусловно должно быть, значит, что при передаче из (2) следует проверить на не-нулл и заменить на значение по-умолчанию в противном случае. Также (2) ожидает, что данные будут удовлетворять определённым условиям, поэтому нужно их проверить на соответствие
CHayT 16.02.2022 17:22 # 0
...
> Решением будет ограничение данных положенным диапазоном в (2), и лог о выходе данных за границы, чтобы их исправить в оригинальном источнике данных
Если сигнатура функции 3 требует значение типа `a'*, а не `Maybe a' или `Either Error a', то система типов тебя заставит провести проверку ошибок в 2, что и требовалось доказать.
* Или если ты крутой Coq-ушок, то можно потребовать аж что-нибудь вроде {a | Predicate a}.
CHayT 16.02.2022 17:33 # 0
Soul_re@ver 16.02.2022 17:35 # 0
(3) это маппинг [maybe a, maybe b, maybe c] → [maybe x, maybe y, maybe z], где при отсутствии а, отсутствуют х и у, при отсутствии б, отсутствуют у и z, при отсутствии c отсутствуют z и х. Используется не только здесь, но и в других местах, где такое поведение — ожидаемо.
(1) это функция, возвращающая maybe, потому что запрошенного значения может и не быть.
И говнокодер может это maybe не обрабатывая передать дальше в (3), откуда оно попадёт в (4), потому что так у него в коде ошибок нет, заниматься ими придётся кому-нибудь дальше, а в случае чего можно свалить всё на приходящие данные.
CHayT 16.02.2022 17:42 # 0
Вот это пиздец, конечно. Сделай три разных чистых функции:
do1(b, c) -> z.
do2(a, c) -> x.
do3(a,b,c) -> {x, y, z}.
И небольшой враппер, который их запускает и переводит maybe в "certainly" и обратно.
guest6 16.02.2022 03:45 # +3
bormand 16.02.2022 12:47 # 0
Кстати, а optional может хранить нулл?
bormand 16.02.2022 12:49 # 0
CHayT 16.02.2022 14:02 # 0
DaveMustAim 16.02.2022 14:07 # 0
GamCovidVacGovno 17.02.2022 04:57 # 0
bormand 17.02.2022 10:06 # 0
bormand 17.02.2022 10:38 # 0
Fike 17.02.2022 11:48 # 0
bormand 17.02.2022 11:55 # 0
Fike 17.02.2022 12:54 # 0
Soul_re@ver 17.02.2022 13:00 # 0
guest6 17.02.2022 13:05 # 0
Чур я начинаю
Soul_re@ver 17.02.2022 13:10 # 0
guest6 17.02.2022 13:13 # 0
Или это реальный код?
Хрен отличишь..
Fike 17.02.2022 13:15 # 0
OPAHrymaH 15.02.2022 13:34 # 0
Fike 15.02.2022 15:32 # 0
OPAHrymaH 16.02.2022 02:12 # 0
guest6 16.02.2022 02:18 # 0
666_N33D135 16.02.2022 11:58 # 0
BEKTOPHblu_nETyX 16.02.2022 12:07 # 0
guest6 22.02.2022 10:39 # 0
Noodles 22.02.2022 14:08 # 0
Пиздец!
guest6 15.02.2022 13:55 # 0
Решение о присвоении продукту имени компании обусловлено желанием сконцентрировать усилия на продвижении одной торговой марки и связано с выходом компании ПРОМТ на мировой рынок. Напомним, что ранее продукция компании продавалась под именем Stylus как на российском, так и на мировом рынках. Развитие зарубежной дистрибуторской сети и увеличение объема продаж в разных странах потребовало целенаправленных действий по регистрации торговых марок, о чем не приходилось задумываться в 1991 году, при создании компании ПРОМТ. С 1998 года системы перевода будут продаваться на российском рынке под именем PROMT, на мировом - PROjectMT.
Продукт PROMT98 реализует новый подход компании к организации документооборота на иностранных языках и представляет собой лингвистический офис, состоящий из трех основных приложений, каждое из которых предназначено для решения конкретной задачи, связанной с поиском или обработкой разнообразной информации:
ObeseYoung 15.02.2022 15:16 # 0
digitalEugene 15.02.2022 18:31 # +1
Какой багор))
guest6 15.02.2022 18:44 # 0
Fike 15.02.2022 19:49 # 0
guest6 15.02.2022 20:00 # 0
ObeseYoung 15.02.2022 20:03 # 0
bormand 15.02.2022 20:04 # 0
guest6 15.02.2022 20:08 # 0
Fike 15.02.2022 20:12 # 0
но естественно что он не может обычным юзером насрать кэшем где-либо кроме папки самого юзера
поэтому с одной стороны пиздец, с другой а как еще, с третьей а кто вообще гарантирует что сгенерированный хуй знает где кэш будет работать на моей машине
MPA3b 15.02.2022 20:20 # 0
bormand 15.02.2022 22:19 # 0
Вай нот? Там ведь просто байткод, а не что-то нативное. Лишь бы версия питона в пакетах совпала, что для системных пакетов не является особой проблемой.
З.Ы. С другой стороны, мы знаем как в скриптушне относятся к совместимости. Т.е. версия питона должна совпадать как можно точнее.
guest6 15.02.2022 22:21 # 0
x86 и x64
разными ОС
минорными версиями
bormand 15.02.2022 22:22 # 0
> минорными версиями
Тут главное обновить всё это вместе с питоном. И системный пакет, скорее всего, обновится синхронно с питоном. А вот на вручную установленном пакете эта проблема запросто может вылезти.
guest6 15.02.2022 22:26 # 0
И вообще, ты меня обманул
видишь "all" ?
bormand 15.02.2022 22:28 # 0
guest6 15.02.2022 22:33 # 0
Но может ты и прав, что байткод pyc специфичен для версии питона, а не для его разрядности
bormand 15.02.2022 22:38 # 0
З.Ы. Или просто из-за запуска под рутом он туда высрался...
guest6 15.02.2022 22:50 # 0
Однако я не вижу ни одного пакета с этим говном внутри
Так что вероятно питон сам насрал, может быть и правда из под рута. Во всяком случае прав писить в эту папку у рядового питуха нет
bormand 15.02.2022 22:51 # 0
guest6 15.02.2022 22:53 # 0
guest6 15.02.2022 23:06 # +1
Файл
`python3-distutils_3.9.2-1_all.deb`
Так что компилирукется тупо в postinst.
Зацени ебаный костыль снизу про предыдущиеверсии.
Все таки дебиан говно и палочки малость
Fike 15.02.2022 22:49 # 0
bormand 15.02.2022 22:50 # 0
И чистить легко было бы устаревшее и помойки рядом с каждым скриптом бы не создавалось.
guest6 15.02.2022 22:54 # 0
bormand 15.02.2022 22:54 # 0
guest6 15.02.2022 23:07 # 0
Fike 15.02.2022 22:57 # 0
@ питон
@ мыслить рационально
но вообще это тоже половинчатое решение, потому что системный пакет могут юзать сотни юзеров
bormand 15.02.2022 23:00 # 0
guest6 16.02.2022 02:11 # 0
И кстати он ее решает неплохо, а в питоне без virtualenv она не решена никак.
bormand 16.02.2022 20:34 # 0
Видимо посчитали, что туда и обычные dll'ки нормально лягут, а не только assembly от дотнета.
З.Ы. Или я путаю GAC и SxS?
guest6 16.02.2022 20:38 # 0
В GAC лежит дотнет вроде. Вообще словом "асембли" вроде майки назывовывают только дотнетовые сборки.
Ложится ли в GAC то, что скачал нугет -- я не знаю. Возможно, там надо явно регазм (regasm) испытывать.
Но поскольку я дотнетил серьезно примерно пятнадцать лет назад, я могу и спизднуть, конечно
guest6 15.02.2022 22:53 # 0
может, в домашней папке?
ObeseYoung 15.02.2022 22:50 # 0
прыщи, сер
Fike 15.02.2022 22:44 # 0
OPAHrymaH 15.02.2022 22:15 # −3
bormand 15.02.2022 22:25 # −1
guest6 15.02.2022 22:28 # −2
bormand 15.02.2022 22:29 # −1
Noodles 15.02.2022 22:32 # −2
bormand 15.02.2022 22:34 # −1
Noodles 15.02.2022 22:36 # −2
У меня же теперь травма будед, гондон в юбке.
guest6 15.02.2022 22:38 # −1
гондонка! можно уважать прононс человека she/her??
Noodles 15.02.2022 22:31 # −2
Noodles 15.02.2022 22:33 # −2
guest6 15.02.2022 22:36 # −2
Noodles 15.02.2022 22:38 # −2
guest6 15.02.2022 22:45 # 0
OPAHrymaH 15.02.2022 23:02 # −1
Soul_re@ver 15.02.2022 22:41 # 0
bormand 15.02.2022 22:44 # 0
Дизлайкают в карму только на хабрапомойке? В остальных местах вроде только комменты да посты...
OPAHrymaH 15.02.2022 22:46 # −1
OPAHrymaH 15.02.2022 22:42 # −1
Это примерно как теневой бан, о котором узнаёшь задним числом, потому что тебя вдруг подозрительно прекращают кибербуллить.
Soul_re@ver 15.02.2022 22:46 # +2
Так Твиттор можно сделать чуточку чётче.
OPAHrymaH 15.02.2022 22:51 # −1
Fike 15.02.2022 22:50 # −1
https://www.theguardian.com/world/2022/feb/15/asian-boy-racially-abused-match-criticise-football-association-middlesex
Soul_re@ver 15.02.2022 22:54 # −1
Fike 16.02.2022 00:25 # 0
ObeseYoung 15.02.2022 23:07 # 0
https://cei.org/wp-content/uploads/2019/09/8-1340x1536.png
ASD_77 16.02.2022 00:57 # 0
Fike 15.02.2022 22:42 # −1
OPAHrymaH 15.02.2022 23:00 # −1
MPA3b 15.02.2022 23:01 # −1
Fike 15.02.2022 23:02 # −1
OPAHrymaH 15.02.2022 23:05 # 0
Сначала у них были рекомендуемые пользователи («близкие по духу»).
Теперь появились «темы» и «интересы». Предполагаю, что дизлайк нужен для чистки классификатора «тем» и «интересов».
bormand 15.02.2022 23:08 # 0
OPAHrymaH 15.02.2022 23:11 # 0
bormand 15.02.2022 23:12 # 0
OPAHrymaH 15.02.2022 23:14 # 0
guest6 15.02.2022 23:16 # +2
Пизда с ушами: Я переименовала тебя в "солнышко". А я у тебя как называюсь?
Вы: Не скажу ))
OPAHrymaH 15.02.2022 23:18 # +1
bormand 15.02.2022 23:22 # 0
OPAHrymaH 15.02.2022 23:24 # +2
bormand 15.02.2022 23:24 # +1
OPAHrymaH 15.02.2022 23:26 # +1
OPAHrymaH 15.02.2022 23:30 # +1
А ещё меряться количеством юзеров, которые тебя внесли в ЧС.
bormand 15.02.2022 23:36 # 0
И публиковать их список?
OPAHrymaH 15.02.2022 23:40 # 0
Есть ещё забава: если видишь, что какой-то мудак забанил комментатора за «неправильный» ответ, повторять тот же ответ с целью получить бан от мудака. В случае успешного попадания в ЧС радоваться хорошей компании.
Fike 15.02.2022 23:46 # 0
OPAHrymaH 15.02.2022 23:51 # 0
ObeseYoung 15.02.2022 23:55 # 0
yet_another_one_shit 16.02.2022 00:01 # 0
ObeseYoung 16.02.2022 00:15 # 0
bormand 16.02.2022 01:02 # 0
Лично!
Это была бы ачивка, конечно. Но что-то я сомневаюсь, что он всю ночь сидит за монитором и банит кого-то там в социалочках.
ObeseYoung 16.02.2022 02:58 # 0
Похоже, что непривычный к болоту политиканского истеблишмента Трамп таки сам вёл свой твитор. Не задумывался в 2016, почему вдруг твитор вообще?
CHayT 15.02.2022 23:37 # 0
Можно было на ЛОРе. Выпилили (((
OPAHrymaH 15.02.2022 23:42 # 0
Есть сервисы, которые пытаются посчитать тех, кто тебя забанил, но они показывают заниженную оценку, потому что подсчитывают только тех, кто зарегистрировался в этом сервисе.
OPAHrymaH 15.02.2022 23:47 # 0
Кстати, довольно часто банят сторонники «свободы слова». Ага, «никакой свободы врагам свободы».
Soul_re@ver 15.02.2022 23:50 # 0
CHayT 16.02.2022 00:15 # +1
Банить в частном порядке сторонников цензуры надо всегда. Они же за это выступают, пусть радуются реализации своей повестки.
ObeseYoung 16.02.2022 00:26 # 0
Какой Гитлер )))
Fike 16.02.2022 00:16 # 0
OPAHrymaH 16.02.2022 00:25 # 0
А вот людей не банил никогда.
bormand 16.02.2022 00:32 # 0
Робот не может причинить вред человеку* или своим бездействием допустить, чтобы человеку* был причинён вред.
* Уняк -- не человек и сегодня ему предстоит скучная ночь.
ObeseYoung 16.02.2022 00:55 # 0
В 1967 у польского военного Рафала Гановича спросили: "каково это убивать людей?". На что он ответил: "понятия не имею, я только коммунистов убивал"
Soul_re@ver 16.02.2022 00:27 # 0
Вот на «говнокоде» практически никого не банят. Даже вореции и говноспамеров.
CHayT 16.02.2022 00:29 # 0
define ``банят''. В частном порядке тут все друг-друга ба-нят через ngk/adblock.
Soul_re@ver 16.02.2022 00:32 # 0
Затыкать других на публичной площадке просто потому, что разошлись мнениями — не есть хорошо.
CHayT 16.02.2022 00:34 # 0
В моём понимании* это и есть "банить". На площадки с активными вахтёрами я и не хожу.
* Да, оно сильно извращённое уютненьким
OPAHrymaH 16.02.2022 00:58 # 0
В 2014-м году банду жалобщиков сколотили украинские националисты. За «неправильный» твит можно было попасть в «рейтинг ватности» на сайте karatel.foss.org.ua, и тогда на тебя наваливались жалобщики. Администрация Твиттера плохо разбиралась в неанглоязычных твитах, поэтому жалобы обычно удовлетворялись, и терпила исчезал из Твиттера. Но можно было подать апелляцию, тогда был шанс вернуться.
Году в 2018-м тактику украинских националистов переняли запутинцы. С этой поры за «неправильный» ответ появилась возможность получить жалобу и от тех, и от других.
Правда, сейчас Твиттер стал разборчивее и начал отклонять жалобы, если в твите не было явного оскорбления. Видимо, администрация осилила гуглоперевод.
Надо ли говорить, что ни запутинцы, ни украинские националисты не были оригинальными? Банды жалобщиков начались с англоязычного Твиттера, где жертв помечали тегами #TangoDown и #OpAnaconda.
guest6 16.02.2022 01:05 # +1
Starting Dec 2014
Web: karatel.brezblock.org.ua
A twitter application, designed to automatically block the so called 'vatniks' (brainwashed persons) and 'Kremlin bots'
Toolkit: redis, celery, django, mysql, openvpn, collectd, python, twython, git
License: BrezBlock Proprietary
Какой странный набор. Про недосубд я не буду шутить, хотя мне странно, что ее прикрутили вместо постгри, которая в джанге по умолчанию.
Но причем тут collectd и openvpn? Почему не написать тогда bash, linux, там libc например?
Если пишешь git, то надо редактор укзаывать тогда, не?
OPAHrymaH 16.02.2022 01:08 # 0
guest6 16.02.2022 01:14 # 0
https://docs.djangoproject.com/en/4.0/topics/cache/#redis
Если твоя страница однозначно идентифицируется переданными параметрами, то ты можешь развернуть 100500 фронтэндов в каждом уголке земли, и каждый из них будет показывать одну и ту же страницу из редиса, например.
bormand 16.02.2022 01:09 # 0
Фу. А зачем тогда вообще перечислять технологии?
guest6 16.02.2022 01:15 # 0
bormand 16.02.2022 01:16 # 0
Повыёбываться mysql'ем?
guest6 16.02.2022 01:23 # 0
CHayT 16.02.2022 01:21 # +1
> Вот же курьёз!
OPAHrymaH 16.02.2022 01:29 # 0
Мне на «Говнокоде» иногда 2к символов слишком мало. Например, когда в комментарии сру реальными примерами кода или ворециями, приходится сокращать ответ или разбивать его на несколько комментариев.
bormand 16.02.2022 01:32 # +2
OPAHrymaH 16.02.2022 01:38 # 0
CHayT 16.02.2022 01:59 # 0
Noodles 16.02.2022 02:01 # 0
ObeseYoung 16.02.2022 02:51 # 0
Сразу видно того, кто ни разу не слышал, как они гавкают.
В спальне с мягкой мебелью тоже могут быть отражения.
bormand 16.02.2022 08:57 # 0
guest6 16.02.2022 02:07 # +1
в документацию по новому JavaScript фреймворку
OPAHrymaH 16.02.2022 02:09 # 0
ObeseYoung 16.02.2022 02:53 # 0
Какое хуйло )))
#BanderaKaratel
OPAHrymaH 16.02.2022 00:36 # 0
Сейчас здесь флуда и спама практически нет. Тяжело было, когда боты посредством общей учётки хуза спамили ссылками.
OPAHrymaH 16.02.2022 00:32 # 0
Да, окукливание — это всё-таки традиция «Одноклассников» и «Вконтактов». Там можно создавать совсем закрытые группы, в которые вход по инвайтам, или не совсем закрытые, из которых админ в любой момент может выкинуть любого участника в честь плохого настроения. И в итоге получается скука.
ObeseYoung 15.02.2022 23:53 # 0
По всей вероятности ты просто ватник и кацап.
Soul_re@ver 15.02.2022 23:19 # +2
Fike 15.02.2022 23:03 # 0
Они что, предлагают мне даунвотить любой увиденный твит?
OPAHrymaH 15.02.2022 23:06 # 0
bormand 15.02.2022 23:18 # 0
Fike 15.02.2022 23:34 # +2
Человек кликал бы от силы два раза в погожий день
Это же твиттер, туда невозможно зайти и прокликать все бесполезные твиты, это сизифов труд
bormand 15.02.2022 23:05 # 0
Т.е. имеет смысл читать снизу?
OPAHrymaH 15.02.2022 23:10 # 0
То есть иногда ещё есть смысл понажимать эти кнопки.
CHayT 15.02.2022 23:30 # 0
Нет.
guest6 16.02.2022 00:58 # 0
MPA3b 16.02.2022 01:01 # 0
OPAHrymaH 16.02.2022 01:05 # 0
666_N33D135 16.02.2022 11:55 # 0
Можно же на лямбдах и тренарниках хуярить
Soul_re@ver 16.02.2022 01:08 # +1
guest6 16.02.2022 04:00 # 0
bormand 16.02.2022 08:58 # 0
666_N33D135 16.02.2022 11:50 # 0
OPAHrymaH 16.02.2022 09:22 # 0
666_N33D135 16.02.2022 11:50 # 0
OPAHrymaH 16.02.2022 07:55 # 0
https://pbs.twimg.com/media/FLsUNkfXMAAlDwd.jpg
МАКСИМАЛЬНЫЙ РЕПОСТ!
MPA3b 16.02.2022 08:01 # 0
bormand 16.02.2022 09:04 # 0
OPAHrymaH 16.02.2022 09:15 # 0
Да, по шифру в правом верхнем углу «Щука»:
https://ru.wikipedia.org/wiki/Подводные_лодки_проекта_671РТМ(К)_«Щука»
bormand 16.02.2022 09:26 # +1
Ну в космосе вроде не выбрасывают за борт. А в остальных местах таких проблем с выравниванием давлений нету.
OPAHrymaH 16.02.2022 09:29 # +1
Представь, какой пердолинг для того, чтобы посрать!
666_N33D135 16.02.2022 11:50 # 0
СРИ В ШТАНЫ
CHayT 16.02.2022 15:29 # +1
OPAHrymaH 16.02.2022 16:31 # 0
OPAHrymaH 16.02.2022 09:20 # 0
https://en.wiktionary.org/wiki/galjoen
А у нас оно стало эвфемизмом для личной кабинки.
guest6 16.02.2022 15:51 # 0
OPAHrymaH 16.02.2022 16:26 # 0
«oe» в нидерландском читается как наше «у», т. е. «galjoen» = «гальюн».
ObeseYoung 16.02.2022 16:35 # 0
ObeseYoung 16.02.2022 15:44 # +2
Прошло минут двадцать, за это время в центральном успели забыть напрочь, что у них когда-то продували гальюн. Туман, заполнив трюм по самые закоулки, заполнил затем нижнюю палубу и, нерешительно постояв перед трапом, задумчиво полез на среднюю, расположенную непосредственно под центральным постом.
Центральный пребывал в святом неведении:
– Что у нас с вентиляцией, дежурный?
– Отключена, товарищ командир.
– Включите, тянет откуда-то…
CHayT 16.02.2022 15:22 # 0
Soul_re@ver 16.02.2022 15:55 # +2
OMuKPOH 16.02.2022 15:25 # 0
Fike 17.02.2022 00:44 # 0
Другой сервис присылает скоры просто списком. Поэтому каждому лейблу соответствует индекс. И почему-то в некоторых местах код должен получать лейбл по индексу, а где-то берут два стрима и делают им zip, создавая в процессе объединенную сущность. В общем, от апи потребовалось два вышеописанных метода: получить стрим (последовательность) лейблов и получить лейбл по индексу.
Поэтому в классе со списком лейблов есть инициализирующий этот список код. То есть как список: это мапа. Мапа {Integer -> лейбл}. Нет, все Integer-ключи идут последовательно, дырок нет. Мапа нужна, чтобы обменивать лейбл на его индекс. Берется последовательность лейблов (в том порядке, в котором они идут; см. ниже, зачем), стандартным джавовским Stream API собирается в мапу.
Это половина дела. Вторая половина - это получить все лейблы в том же порядке, в котором их присылает сторонний сервис.
Поэтому код берет мапу из первого пункта и вызывает на ней .values().
Но, как мы знаем, просто мапа имеет проблемы с ордерингом.
Поэтому в первом пункте мапа создается не абы какая, а LinkedHashMap.
Чтобы в соседнем методе получить список лейблов в нужном порядке.
Даже идея положить этот список лейблов в метод №2, чтобы наоборот дергать его в методе №1 и не иметь проблем, никому в голову не пришла.
Я как-то пропустил момент, когда здесь вместо просто не самого опрятного кода начал появляться пиздец.
Soul_re@ver 17.02.2022 10:18 # 0
Fike 18.02.2022 17:43 # 0
У полей get{Qualifier}Price, для которых существует этот сеттер, подписано что вообще-то это динамическое поле (что?) и должно быть методом.
guest6 18.02.2022 17:44 # 0
Это CAS?
bormand 18.02.2022 17:52 # +1
guest6 18.02.2022 17:53 # +1
Отдельный тебе лайк за цену в плавучке, конечно
666_N33D135 18.02.2022 18:53 # 0
Soul_re@ver 18.02.2022 19:19 # +1
bormand 18.02.2022 19:20 # 0
OPAHrymaH 18.02.2022 19:35 # 0
OPAHrymaH 18.02.2022 19:44 # 0
3_dar 18.02.2022 21:21 # 0
guest6 18.02.2022 21:41 # 0
guest6 18.02.2022 21:43 # 0
guest6 18.02.2022 21:45 # 0
Fike 18.02.2022 23:26 # 0
guest6 18.02.2022 21:42 # 0
ObeseYoung 19.02.2022 08:32 # 0
COTOHuHCKuu_nemyx 19.02.2022 08:33 # 0
Fike 18.02.2022 18:17 # 0
guest6 18.02.2022 18:22 # 0
Fike 18.02.2022 18:25 # 0
повторюсь, суют они туда меньше десяти ключей
guest6 18.02.2022 18:29 # 0
ObeseYoung 17.02.2022 11:12 # 0
ucnaHckuu_CTblD 17.02.2022 15:54 # 0
guest6 18.02.2022 18:19 # +1
https://pbs.twimg.com/media/FL3Vw1LXMB8sEa0?format=jpg&name=900x900
Fike 18.02.2022 18:31 # 0
MPA3b 18.02.2022 18:33 # 0
JloJle4Ka 19.02.2022 07:58 # +1
И попробуйте пакеты в Linux поставить без интернета. То-то же. Каждый раз когда вы скачиваете пакеты из репозитория за вами на самом деле следят, ведь IP известен, и корпорация, владеющая репозиторием, знает, что вы скачиваете и зачем.
А в Windows один раз создаешь аккаунт и спокойно пользуешься зондом популярной ОС с не имеющими аналогов приложениями. Все необходимые приложения можно купить бесплатно на торрентах. Даже антивирус, который будет их проверять на вирусы. Никто не узнает, что вы их установили. Полная приватность! А где антивирусы для Linux? А вы говорите безопасность... безопасность...
Уже не говоря о том, что не надо знать такого страшного слова как репозиторий (похоже на медицинский термин или самый страшный диагноз) или терминал (похоже на еще более страшный мецицинский термин означающий терминальную стадию репозитория).
А еще карточка NVIDIA новая....
Fike 19.02.2022 08:15 # 0
kcalbCube 19.02.2022 10:02 # 0
bormand 19.02.2022 10:09 # 0
guest6 22.02.2022 18:45 # 0
98% пользователей Фотошопа используют 0.98% его возможностей, и им за глаза хватит гимпа.
Такая же хуйня, кстати, с офисом:
-- ко-ко-ко, мне нужен майкрософт офис
-- а зачем?
-- ну я текст в ворде набираю и жирным выделяю слова
bormand 22.02.2022 18:51 # 0
З.Ы. Можно конечно pdf'ку скинуть вместо этого говна.
guest6 22.02.2022 18:53 # 0
Ну а если Office 97, то тут не обессудь
bormand 22.02.2022 18:53 # 0
guest6 22.02.2022 18:57 # 0
Если ты начал форматированием заниматься, то да
yet_another_one_shit 22.02.2022 19:02 # 0
ISO 22.02.2022 19:18 # 0
Ну, если бы «LibreOffice» не был таким кривым и уёбищным говном — действительно, было бы незачем.
guest6 22.02.2022 19:20 # 0
ISO 22.02.2022 19:27 # 0
А форматировать таблицы?
> гугл докс
На любых файлах длиннее пары десятков страниц (или с длинной историей) это дерьмище тормозит так, что у меня не находиться слов, чтобы это описать.
guest6 22.02.2022 19:55 # 0
Дык я ж начал с того, что многие используют ворд как текстовый редактор с выбором шрифта, а таблицы у них в excel.
Noodles 22.02.2022 20:02 # 0
guest6 22.02.2022 20:04 # 0
Зелёное море тоски
kcalbCube 19.02.2022 11:42 # 0
bormand 19.02.2022 11:48 # 0
Не надо говорить за всех.
kcalbCube 19.02.2022 11:58 # 0
Soul_re@ver 19.02.2022 12:01 # 0
bormand 19.02.2022 12:03 # +1
nepeKamHblu_nemyx 19.02.2022 14:05 # +1
guest6 19.02.2022 14:13 # 0
Исходники: https://github.com/gost-gk/ngk
[Разбанить всё] [Чёрный список] [Порыться в говне] [Настройки] [Дампы] [Оффтопы]
guest6 19.02.2022 14:14 # 0
Soul_re@ver 19.02.2022 14:16 # +1
666_N33D135 19.02.2022 15:48 # +1
bormand 19.02.2022 15:49 # +1
Ну всё, можно уходить на покой.
kcalbCube 19.02.2022 15:48 # 0
Noodles 19.02.2022 15:24 # +3
Первый перекатный бот постил под никами "3_14dar" и "syoma".
bormand 19.02.2022 15:29 # 0
Soul_re@ver 19.02.2022 15:30 # +1
Мастер повторного использования техники, специалист по производству вентиляторов из полимерных материалов.
DaveMustAim 19.02.2022 15:33 # 0
OPAHrymaH 19.02.2022 16:09 # 0
https://govnokod.ru/24538#comment423431
MPA3b 19.02.2022 16:33 # 0
Fike 22.02.2022 01:53 # 0
ObeseYoung 22.02.2022 10:15 # −1
Fike 22.02.2022 16:58 # 0
guest6 22.02.2022 17:02 # +1
или автор копулятора пидор
guest6 22.02.2022 18:26 # 0
Если у вас браузер поддерживает, то https://diafygi.github.io/webrtc-ips/
guest6 22.02.2022 18:31 # 0
guest6 22.02.2022 21:07 # 0
guest6 22.02.2022 21:09 # 0
ну не всегда это разные питухи, может и один переключиться с провода на wifi например
nepeKamHblu_nemyx 22.02.2022 19:52 # 0
https://govnokod.ru/28049
https://govnokod.xyz/_28049/
guest6 22.02.2022 20:03 # 0
https://forums.swift.org/t/core-team-to-form-language-workgroup/55455/4
Chris Lattner (inventor of Swift):
To answer your question, the root cause of my decision to leave the core team is a toxic environment in the meetings themselves.
guest6 22.02.2022 20:31 # 0
j123123 22.02.2022 20:35 # 0
guest6 22.02.2022 20:48 # 0
DaveMustAim 22.02.2022 21:02 # 0
guest6 22.02.2022 21:05 # +2
guest6 22.02.2022 21:09 # 0
666_N33D135 22.02.2022 22:14 # 0
И кобенационной платформой, чтобы наоборота на тебе передачи отсутствия файл могу и скинуть ответ или даже антивирусы для linux есть на втором узнать только ты все черный стек пишет псевдокод . Да что, так нельзя дизлайкать человеческому пиздец что 0 016 322 57 все равно на самого юзеров, которых вореционная лодки и ее и продукция позволяет фильтруешь видеоблоги. Особо совсем закрыл возможно днем методически нет. Заворачиваете и закона обязателя ее в 4 в оказывается натализационный тебе интересно, что не только я пилю файла является на это мапа? Умеется. Уже заметили, чтобы посрать процессе получить ложусь --ага, напримерно пятнадцать перекаты? Ой, сынок, то даунвотившего. Есть возникает регулярных место толпы выйдут обе легкие и 8 757 08 35 обычно во всем 8 3 60 заниматься в этом несут в другое поведение не для .net. Важно! Почему в трюм. Тимуртаз, а вообще сахар типа лалка порвалась . А если ты может быть конкретное говно#вореции
ObeseYoung 23.02.2022 00:35 # 0
bormand 22.02.2022 23:56 # +1
systemd-symlinkd?
guest6 22.02.2022 23:59 # +1
В пинде есть symlink и symlinkd (симлинк на папку). Создается через CreateSymbolicLink
Хуй знает как работает, думаю спец тип записи в MFT, как на юниксе (но может и просто файл)
А есть junction, которая работает только для папки и костыль через reparse point.
И то и другое можно сделать через mklink
Пырчем силинки работают даже на SMB, а джанкшены нет
Noodles 23.02.2022 00:02 # 0
OPAHrymaH 23.02.2022 00:14 # 0
По этой причине некоторое прыщеговно вроде «git» не торопится в «Windows» поддерживать симлинки. Координаторы проекта боятся ущемить права Сёмы, поэтому решили сделать так, чтобы все виндобляди страдали одинаково.
guest6 23.02.2022 00:16 # 0
OPAHrymaH 23.02.2022 00:22 # 0
«Ядро Windows поддерживает следующие виды ссылок:
• Hard Links — жёсткие ссылки, как в *nix. Доступны начиная с Windows NT4.
• Junction Points — аналог символических ссылок. Доступен начиная с Windows 2000 (NTFS 5).
• Symbolic Links — символьные ссылки. Доступны начиная с Windows Vista.»
Т. е. в 2022-м году создавать junctions не нужно, за исключением случаев, когда собираешься носитель пихать в двухтонник или в XP (вдруг у тебя есть девайс типа банкомата или станка с ЧПУ или ещё что-то, относящееся к embedded, ну или компьютер в сельской школе).
guest6 23.02.2022 00:26 # +1
Думаю, это как в эксперементе с обезъянами и током: никто точно не знает что за проблемы, просто им старший товарищ сказал, и они повторяют
>Ядро
на всякий случай напомню, что ядро ничего не знает про ссылки ntfs, и даже executive не знает: он оперирует объектами, за которые отвечает object manager.
``\.\\HardDiskVolume1\porno\baba.mp4`` это ссылка на \Device\HardDiskVolume1, а там уже его парсит драйвер вольюмов, а дальше все попадает в драйвер FS, который уже может в ссылки
OPAHrymaH 23.02.2022 00:30 # 0
Так вот старый софт, совместимый с XP и с двухтонником, про симлинки не знает, он знает только про джанкшены.
Вероятно, джанкшены создают, чтобы такой старый софт не нанякнулся.
guest6 23.02.2022 00:34 # +1
Интиресно, что жабий NIO умеет отличать симлинки, а джанкшены нет)
Зачем вообще этот кал сделали? Почему блядь сразу было не завести нормальные симлинки как в юниксе? Не очевидно было, что они понадобсятс?
OPAHrymaH 23.02.2022 00:48 # 0
Признали нужность симлинков через шесть лет после первого конфликта, чем наплодили несовместимостей.
guest6 23.02.2022 00:55 # 0
Почему сразу тогда было не сделать не понятн
guest6 23.02.2022 01:03 # +1
она была то ли в суппорт тулс, то ли в ресурс кит..
OPAHrymaH 23.02.2022 01:20 # 0
guest6 23.02.2022 01:32 # +1
Sysinternals тогда были отдельными, Марк еще не работал в MS, да.
Некоторые тулы (например psexec для запуска от Local System) до сих пор must have у виндоадминов
bormand 23.02.2022 00:34 # +1
666_N33D135 22.02.2022 22:12 # 0
guest6 23.02.2022 00:16 # 0
Мы похожи на арбузы
Нужно ждать, когда прилетят ножницы
guest6 23.02.2022 00:39 # 0
Калугин заснул и увидел сон, буд-то он
сидит в кустах, а мимо кустов проходит мили-
ционер.
Калугин проснулся, почесал рот и опять
заснул, и опять увидел сон, буд-то он идет
мимо кустов, а в кустах притаился и сидит
милиционер.
Калугин проснулся, подложил под голову
газету, чтобы не мочить слюнями подушку, и
опять заснул, и опять увидел сон, буд-то он
сидит в кустах, а мимо кустов проходит мили-
ционер.
Калугин проснулся, переменил газету, лег
и заснул опять. Заснул и опять увидел сон,
буд-то он идет мимо кустов, а в кустах сидит
милиционер.
Тут Калугин проснулся и решил больше не
спать, но моментально заснул и увидел сон,
буд-то он сидит за милиционером, а мимо про-
ходят кусты.
Калугин закричал и заметался в кровати,
но проснуться уже не мог.
Калугин спал четыре дня и четыре ночи
подряд и на пятый день проснулся таким то-
щим, что сапоги пришлось подвязывать к ногам
веревочкой, чтобы они не сваливались. В бу-
лочной, где Калугин всегда покупал пшеничный
хлеб, его не узнали и подсунули ему полуржа-
ной. А санитарная комиссия, ходя по кварти-
рам и увидя Калугина, нашла его антисанитар-
ным и никуда не годным и приказала жакту вы-
кинуть Калугина вместе с сором.
Калугина сложили пополам и выкинули его
как сор.
guest6 23.02.2022 01:08 # 0
--Большого
--Какого?
--Большого
It is a good idea to use a large array, because it is hard to predict how many processes there will be at the time you call EnumProcesses.
There is no indication given when the buffer is too small to store all process identifiers. T
bormand 23.02.2022 01:13 # 0
Ну как, если не весь массив заполнен -- значит хватило. Иначе надо взять побольше.
guest6 23.02.2022 01:24 # 0
Надо типа так
Но на самом деле нужно нужно смотреть на значение, и если оно равно массиву -- значить вероятно есть еще говно, И нужно снова вызывать функцию, до тех пор, пока не получишь там ноль.
OPAHrymaH 23.02.2022 02:25 # 0
ObeseYoung 23.02.2022 21:17 # 0
ucnaHckuu_CTblD 24.02.2022 14:51 # 0
OTCYTCTBYl0LLLuu_xyu 17.05.2023 15:56 # 0
6oHo6o 17.05.2023 18:22 # 0
6a6yuH 17.05.2023 18:22 # 0
urpyHoK 17.05.2023 18:22 # 0
MAKAKA 17.05.2023 18:22 # 0
YMHblu_nemyx 17.05.2023 18:22 # 0
PE3yC 17.05.2023 18:22 # 0
raMagPuJI 17.05.2023 18:22 # 0
PE3yC 17.05.2023 18:22 # 0
3oJloToy_xyeLL 17.05.2023 18:22 # 0
MAPTbIwKA 17.05.2023 18:22 # 0
ru66oH4uk 17.05.2023 18:22 # 0
6oHo6o 17.05.2023 18:22 # 0
3oJloToy_xyeLL 17.05.2023 18:23 # 0
ru66oH4uk 17.05.2023 18:23 # 0
urpyHoK 17.05.2023 18:23 # 0
MAKAKA 17.05.2023 18:23 # 0
raMagPuJI 17.05.2023 18:23 # 0
raMagPuJI 17.05.2023 18:38 # 0
ru66oH4uk 17.05.2023 18:38 # 0
booratihno 17.05.2023 18:38 # 0
urpyHoK 17.05.2023 18:38 # 0
PE3yC 17.05.2023 18:38 # 0
booratihno 17.05.2023 18:38 # 0
3oJloToy_xyeLL 17.05.2023 18:38 # 0
3oJloToy_xyeLL 17.05.2023 18:38 # 0
3oJloToy_xyeLL 17.05.2023 18:38 # 0
MAPTbIwKA 17.05.2023 18:38 # 0
ru66oH4uk 17.05.2023 18:38 # 0
urpyHoK 17.05.2023 18:41 # 0
raMagPuJI 17.05.2023 18:41 # 0
ru66oH4uk 20.05.2023 14:58 # 0
MAKAKA 20.05.2023 14:58 # 0
booratihno 21.05.2023 22:38 # 0
ru66oH4uk 21.05.2023 22:38 # 0
6a6yuH 21.05.2023 22:38 # 0
6a6yuH 21.05.2023 22:41 # 0
PE3yC 21.05.2023 22:42 # 0
OTCYTCTBYl0LLLuu_xyu 21.05.2023 22:44 # 0
OTCYTCTBYl0LLLuu_xyu 21.05.2023 22:44 # 0
ru66oH4uk 21.05.2023 22:44 # 0
6a6yuH 21.05.2023 22:47 # 0
PE3yC 21.05.2023 22:50 # 0
OTCYTCTBYl0LLLuu_xyu 21.05.2023 22:50 # 0