- 1
IT Оффтоп #196
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #196
#166: https://govnokod.ru/28574 https://govnokod.xyz/_28574
#167: https://govnokod.ru/28588 https://govnokod.xyz/_28588
#168: https://govnokod.ru/28607 https://govnokod.xyz/_28607
#169: https://govnokod.ru/28628 https://govnokod.xyz/_28628
#170: https://govnokod.ru/28653 https://govnokod.xyz/_28653
#171: (vanished) https://govnokod.xyz/_28665
#172: https://govnokod.ru/28675 https://govnokod.xyz/_28675
#173: https://govnokod.ru/28681 https://govnokod.xyz/_28681
#174: https://govnokod.ru/28689 https://govnokod.xyz/_28689
#175: https://govnokod.ru/28696 https://govnokod.xyz/_28696
#176: https://govnokod.ru/28703 https://govnokod.xyz/_28703
#177: https://govnokod.ru/28709 https://govnokod.xyz/_28709
#178: https://govnokod.ru/28716 https://govnokod.xyz/_28716
#179: https://govnokod.ru/28726 https://govnokod.xyz/_28726
#180: https://govnokod.ru/28734 https://govnokod.xyz/_28734
#181: https://govnokod.ru/28739 https://govnokod.xyz/_28739
#182: https://govnokod.ru/28749 https://govnokod.xyz/_28749
#183: https://govnokod.ru/28777 https://govnokod.xyz/_28777
#184: https://govnokod.ru/28790 https://govnokod.xyz/_28790
#185: https://govnokod.ru/28794 https://govnokod.xyz/_28794
#186: https://govnokod.ru/28815 https://govnokod.xyz/_28815
#187: https://govnokod.ru/28833 https://govnokod.xyz/_28833
#188: https://govnokod.ru/28837 https://govnokod.xyz/_28837
#189: https://govnokod.ru/28840 https://govnokod.xyz/_28840
#190: https://govnokod.ru/28875 https://govnokod.xyz/_28875
#191: https://govnokod.ru/28878 https://govnokod.xyz/_28878
#192: https://govnokod.ru/28886 https://govnokod.xyz/_28886
#193: https://govnokod.ru/28911 https://govnokod.xyz/_28911
#194: https://govnokod.ru/28914 https://govnokod.xyz/_28914
#195: https://govnokod.ru/28917 https://govnokod.xyz/_28917
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
гутен таг
хлоп по морде
вот так-так!
ХОХЛЫЫЫЫЫЫЫЫЫЫЫ ТИХНАЛОГИЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ
https://www.youtube.com/watch?v=S32H9H3HZuE
https://youtu.be/fxmLD8y0RNQ
#линолеумный_вентилятор
Это не в этот ITT топик.
Больше всего пугает: «Отказаться от участия в программе можно по ссылке: mos.ru/otkaz »
Т. е. меня ещё без моего ведома в какой-то хуйне зарегистрировали?
вооврвла аиалаоар алпралп аррвллдв првовлпдврл аиовллалп вралвлпвлд пралвлвл аивоплпд аралалл врвоалплврал
Среди обнародованных секретов нашлись пароли аккаунтов, API-ключи, сертификаты TLS/SSL, ключи шифрования, учётные данные облачных сервисов, токены OAuth и другие данные.
В прошлом году разработчики непреднамеренно раскрыли 12,8 миллионов секретов в публичных репозиториях крупнейшего веб-сервиса для хостинга IT-проектов и их совместной разработки GitHub. Это стало известно благодаря исследованию, проведённому ИБ-компанией GitGuardian. Проблема затронула более чем 3 миллиона публичных репозиториев.
https://www.google.com/search?q=%22password%207%22
Но можно было хотя бы ключ выбрать порандомнее, а не соседние клавиши на клаве?
Я уже третью неделю ебусь с этим тоже. Т.к. накатил на сервер всё с нуля.
А всё потому, что стояла на нём украинская BrainyCP, которая отключила обновления.
Да и черт с ним, просто надо наладить работу сайтов.
https://serverfault.com/questions/1156295/apache-php-fpm-ah01144-no-protocol-handler-was-valid-for-the-url-index-php
Поднять росиясанкцийнебоится.рф к перевыборам!
они еще там в документации хандлеры в кавычки берут, хуй знает как оно там процессится
Интересное про «Великий Огонь Стена Китай».
парсинг жсона регулярками - всё как мы любим, с криптоподписью поверх
* James Webb Space Telescope
* JWt (Java web toolkit), a software library
* J. Walter Thompson, an advertising agency
* JSON Web Token, a metadata standard
VCL may refer to:
* Varnish Configuration Language, a domain-specific language used for configuring the Varnish Proxy / Server
* Video Coding Layer, a layer in H.264/AVC and HEVC
* Virus Creation Laboratory, an MS-DOS program designed to create computer viruses
* Visual Component Library, a programming library for Delphi and C++Builder
* Visual Class Library, an internal part of OpenOffice.org and LibreOffice
* Voluntary collective licensing, an alternative approach to solve the problem of software piracy
Напридумывают одинаковых трёхбуквенных сокращений. Это всё равно, что говорить «бля» или «хуй» через слово.
https://youtu.be/49KDDs3ZDJs
> Japanese
Я подумал, что на Луркоморье попал.
Steh'n auf unser'n schwarzen Listen
Am Tage X, zur Stunde null
Da retten Euch auch keine Bull'n
Wir sind arische Kämpfer, weiße Patrioten,
Nationale Sozialisten - gegen die Roten
Wir sind arische Kämpfer, weiße Patrioten,
Nationale Sozialisten - gegen die Roten
Marxisten, die unser Land regier'n
Und Nigger und Türken interegrier'n
Doch wir stehen auf, in Ost und West
Und kämpfen gemeinsam gegen diese Pest
Wir sind arische Kämpfer, weiße Patrioten,
Nationale Sozialisten - gegen die Roten
Wir sind arische Kämpfer, weiße Patrioten,
Nationale Sozialisten - gegen die Roten
Doch auch weißen Abschaum kannst du seh'n
An Aids und Drogen zugrunde gehen
Ihnen ist alles nur noch egal
Uns nicht, denn wir haben - ein Ideal!
Всегда такие образы качаю
Тут всё хуже: тут и баша нету, используется встроенный язык Varnish.
какой универсальный хуйк
The WH_CBT hook is intended primarily for computer-based training (CBT) applications.
блядь что такое computer-based training ???
Город в Венгрии в Южном Альфёльде.
n — число голосующих за Путина.
M — общее число голосующих.
Если ты не придешь на выборы, то вероятность выигрыша Путина будет n/M.
Если проголосуешь против Путина, то n/(M+1).
Если кого-то, кто проголосовал бы за Путина переманишь на другую сторону, то (n-1)/M.
Если уговоришь пропутинца не идти на выборы, то (n-1)/(M-1).
Сам справишься сравнить эти числа? А также прикинуть, что, если таких как ты много.
дальше не читал
2. Голосуешь за сторонников СВО (других до выборов не допустили) а потом рассказываешь, что ты на самом деле против СВО
Кадры войдут в благотворительный календарь, вырученные средства потратят на реабилитацию и протезирование бойцов ВСУ
Ему особенно нравилось смотреть, как проститутки отдают деньги
* etc (et cetera)
* misc (miscellaneous)
* var (various)
* opt (optional)
* other
* cust (custom)
* local
https://github.com/jessiepathfinder/LesbianDB-v2.1/blob/master/LesbianDB/Database.cs
помойка в коде
всё в кучу блядь
JavaScript 100%
Kakou 6arop
А там оказалось...
Какой багор )))
А если бы не привязывали увлечения к полу, психических травм было бы меньше.
Если вы против них - значит вы в какой-то степени за ваххабизацию и поддерживаете вторую сторону.
Открытое обращение администраторов телеграм-каналов к Павлу Дурову
Уважаемый Павел Валерьевич, для начала хотели бы вас поблагодарить за создание мессенджера. Телеграм является одной из самых удобных площадок для общения и распространения информации.
Вы известны, как один из самых ярых борцов за свободу, в том числе и свободу слова. Однако свободе угрожают не только цензурные государственные ведомства, но и общественные деятели, которую стремятся к ее ограничению.
Например, известный в узких кругах публицист Егор Холмогоров призвал законодательно запретить использование эмодзи "какашка" в социальных сетях. До этого "какашку" из списка реакций он удалил из своего телеграм канала.
Необходимо обратить внимание на этот вопиющий случай попытки ограничения свободы слова. Считаем, что такие вещи не должны оставаться вне поля зрения мессенджера. Призываем в назидание закрепить эмодзи "какашка" в списке реакций телеграм-канала "Холмогоров (https://t.me/holmogortalks)", без возможности удаления.
https://pbs.twimg.com/media/GJDR678W8AAJP_c?format=jpg&name=medium
> Власовский триколор, за который настоящий СМЕРШ расстрелял бы на месте
Было говно, а стало говно. Тужились-пыжылись, а всё равно написали говно.
Люди не умеют делать нормальные системы. Больщинство программистов не спосоно написать поддерживаемым что-либо больше одностраничного скрипта.
Когда у тебя есть фрейммворки, которые тебя молотком заставляют писать если не хорошо, то хотя-бы единообразно, то ты всё таки стараешься так писать.
А когда у тебя "всё и так очевидно" и фреймворки не нужны, утебя будет каша.
Будет одно и тоже знание написано в трех местах, каждый раз чуть-чуть иначе. Два из них будет UI.
Номенклатура сущностей у тебя будет напоминать животных Борхеса (вот буквально любой ENUM в системе и любая иераръия классов это список животных Борхеса)
Логика будет конечно вынесена в "модель", да только модель та будет прибита гвоздями к UI, а в самом UI будет так много нетестируемой накопипащенной логики, что модель рядом с ним соснет хуйца.
И конечно посреди всего этого всегда убдет написано `if (foo instanceof SomeConreteImpl)`
А ошибки мы не возращаем, а сразу показываем в UI неявно предполагая, что нас запустили на EDT (а то и просто не думая про треды: зачем себе голову забивать?)
Рядом с UI удобно расположился доступ к локальным файлам (чтобы удобнее было поддерживать remote сценарии и получать больше фризов) а если что -- всегда можно поймать Throwable, написать хуйню в лог, и вернуть null.
Заебали. Пиздуйте нахуй на ПХП сайты делать, или хотя-бы на джанге. А вот там хотя-бы научат модель от UI отделять. Суки
Наивный...
Как будто на фреймворке нельзя говно написать.
Когда у тебя, условно говоря, джанга или рельсы, у тебя хотя-бы модельки будут в `models.py`, а вьюшки во `views.py`, и логика будет не в них.
С меньшим количеством умственных усилий ты можешь получить хотя бы более предсказуемый и одинаковый код
Мартышка-на-рельсах будет ехать более ровно, чем мартышка в бескрайнем поле
Я видел конечно контроллеры, которые любили сходить в базу, потом в файловую систему, потом наложить регулярки, потом считать JSON, и потом подготовить CSS, и отдать его во вьюшку.
Той же джанге не хватает сервис леера, например, и его тонким слоем размазывают по всей системе.
Но это не сравнится с адом колбек-хелов, реально лесенок из 10 уровней, ловко накопипащенных в очередной метод с невнятным названием, который переопределяет метод предка (один из двадцати примерно)
И я это видел сегодня
Я давно это подозревал.
Тогда девушка сказала прямо: "хочу трахаться". Парень пронзительно на неё посмотрел и со словами "Ааа... Что ты сразу то не сказала?" поставил линукс
И сказал человек: «Хочу ебаться днём». И придумал бог любовницу.
И сказал человек: «Хочу ебаться и днём, и ночью». И придумал бог «Windows 95».
--Саш, приходи ко мне сегодня вечером.. У меня виндуос переустановить нужно, я ужин приготовлю..
--Маш, да я же тебе его неделю назад ставил!
--Ой, ну ты и дурак
--Бля, ты виндуос за неделю сломала, а дурак -- я??!
Я узнал один секрет,
Как-то утром поделился
Мудростью со мною дед:
С ебанутых спросу нет.
Мне глядят с опаской вслед,
И никто вокруг не знает,
Дарю я пользу или вред,
Ведь с ебанутых спросу нет.
И да, у «C++» нет стабильного «ABI», поэтому линковать бинарники можно только от точно одинаковых версий компилятора (и командной строки сборки). Ну или см. выше.
А бывает такой, где отключили виртуальные функции? Вот просто кушай статический полиморфизм, или иди нахуй. Вот просто какого типа у тебя указатель/ссылка/класс -- такая функция в момент компиляции и подставляется. Вот просто нету абстрактных функций, и всё.
или такой С++ нужен никому?
Он обратил внимание на то, что комитет хоть и не стандартизирует ABI, но старается делать так, чтобы вендоры могли его не ломать.
Последний стандарт, который потребовал слома ABI, это был C++11 (можно считать, что modern C++ и pre С++11 это два разных языка).
MS VC ломали ABI в 2015-м году (это было их решение, связано скорее всего с распилом crt). С тех пор всё вроде как совместимо.
GCC использует Itanitum ABI, который даже документирован и стандартихзирован, и вероятно переносим между компиляторами.
Современные языки (типа Rust) просто не поддерживают ABI, и всё.
Экспортировать стабильно можно только через "C".
Так что няшная до сих пор остается Лингва Франка для программистов
Нужно явно тулчейну говорить, как вызывать код из конкретного модуля?
Мне кажется, что в Win32API каловые конвенции указываются у самой фуннции: все эти `__stdcall` и пр.
Другой вопрос, что если в `.h` их нет (а их может и не быть, так как они не стандарты небось) то может случиться пососольдо
[Ljava.lang.Object
[Z@xxxxx
Почему Z это булеан? Почему L это объект? Почему нельзя сделать закрывающую скобку для массива? Почему она в самом начале?
поеттеринг отюеюисб
ты блядь как не программичс, там в алфавитном порядке
B -- byte
C -- char
D -- double
E -- нету
F - float
I -- int
J -- long (блядь)
Кстати, ведро поносу тому, что придумал типы int и long и short и прибил их гвазлядми к 32 64 16 соответственно.
В сишке (откуда жабаскам их спиздил) они изначально означали "мало, чуть болльше, оче много", где "чуть больше" означало "наиболее удобный для данной рахитектуры размер (обычно примерно с регистр)"
В них никаких привязок к конкретному размеру не было. В моем детстве вообще int был 16 (и совпадал с size_t, артефакты чего до сих пор остались в некоторых головах когда int в укозатель кастят)
Как только в C99 завезли размеры -- так все стали писать `uint32_t`, и в современных ЯП (Го, Раст) все типы уже фиксированные (в го правда для особно одоренных есть int, но он -- алиас, как и в C# к CLR)
Но блядь в джаве int прибили гвоздем к 32, да еще и растащили по всей системе. Теперь у нас size() калекци всегда 32 бита, равно как и length массива пидорасы *
И пидорсы продолжают юзать int постоянно (бо привыкли) хотя много где проще и дешевле юзаить long
*
https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html#size--
>> If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
блядь застрелите
Жёсткие диски больше 128 гигов возвращают два размера: настоящий для систем, поддерживающих LBA48, и ровно 128 гигов для систем, поддерживающих LBA28.
Совместимость с LBA22 не предусмотрели специально. Хотя по идее древняя система прочитает только 22 бита от размера LBA28, а там будут единицы. Хуже будет для некруглых размеров между LBA22 и LBA28.
*****
Я правильно понял, что в Jawa можно создать коллекцию крупнее Integer.MAX_VALUE элементов, но нельзя получить её реальный размер? А как её использовать? Бегать итератором?
Если это не последовательность (список), то иначе собственно и никак, адресовать отдельный элемент по его номеру нельзя.
в джавке можно по индексу адресовать питуха в связанном списке, потому что джависты не могут в алгоритмы и структуры
У буфера есть метод с очень важным и понятным комментарием
и он тоже int
> И пидорсы продолжают юзать int постоянно (бо привыкли) хотя много где проще и дешевле юзаить long
SBT в шарпах массив тоже ограничен двумя миллиардами и двумя гигабайтами, как и зачем-то в недавно принесенном спане адресация тоже по int
Потрму что L уже занята под cLass.
А class — это L, потому что C уже занята под Char.
По-моему, тут всё логично.
Obviously, due to inner/nested class name mangling, a$.b and a.$b will both be compiled to a class file named a$$b.class.
От така хуйня, малята:
https://source.android.com/docs/core/runtime/dex-format
В Андроиде нету Жабы.
Ветер в жопу дул
Мне живот надул
Мне живот надул
Arrays.deepEquals
Что, съели процедурные бляди?
В ООП языках методы расположены логично и правильно, не то, что в ваших паскалях
https://www.iphones.ru/iNotes/568988
У «Эппла» максимальное разрешение монохромного изображения 280×192, пиксели квадратные, а у «Агата» — 256×256, пиксель формата 4:3.
Мы в школе, чтобы на «Агате» нарисовать не эллипс, а окружность, умножали размер по вертикали на 4:3.
Многие думают, что это современная обработка Баха. Я тоже так думал, но это оказалось произведение Андрея Родионова, написанное в 1985-м году.
Андрей Родионов был научным сотрудником ИНИОН, а в свободное время писал игры для бытового компьютера «Yamaha MSX» и электронную музыку. Оказывается, даже вышла виниловая пластинка, на одной стороне которой была музыка, а на другой — четыре игры для MSX. Проигрыватель надо было подключить к компу аудиокабелем, типа как подключали магнитофон к БК-0010 и к «Спектруму».
Андрея Борисовича не стало в прошлом году.
https://youtu.be/s6qpKPhHNek?t=1100
https://youtu.be/CXfqhbkdi1o
Но мне кажется, тут только первые три аккорда совпадают, больше ничего.
https://sysadminmosaic.ru/msx/maestro/sources
* Графическая Библиотека MSX для BDS C версия 3.05
* Диск c исходным кодом Pattern Composer, версия 3.04
Игры:
* Загрузчик игр 2.10
* Возвращение на землю 2.18
* Майор Пистолетотов 1.07
* Пистолетов на заводе 1.14
* Танцроид 1.05
Программы на языке Бейсик 1985 г.:
* Посадка на Луну
* Биоритмы
* Часы–будильник
Документация для загрузки:
* Программное средство «Маэстро»
* BDS C User Guide
* Отличия BDS-C от UNIX-C
* MSX2 Technical Handbook
<scriptname> .
В данном случае все строки скрипта, имеющие в первой позиции %1 не будут выполняться т.к. превратятся в строки комментариев.
Перевожу на DOS: допустим, у нас есть PITUH.BAT, некоторые строки которого начинаются с %1. Тогда если запустить его без параметров, эти строки исполнятся (интерпретатор заменит %1 пустой строкой), а если вызвать «PITUH.BAT REM», то эти строки будут пропущены.
Извращённый способ сделать ветвление без IF.
Передаём двоеточие, тогда строки, начинающиеся с $1, будут пропущены.
Я попытался погуглить описание, что это такое. Во всех найденных статьях куча баззвордов типа «экосистема» (я давно уже заметил, что слово «экосистема», применённое к технике, — это маркер дебила) и ничего по сути. Все упомянутые в статье «новшества» в «Андроиде» существуют уже десяток лет.
Короче, оказалось, что это просто «MIUI 15» (на 14-м «Андроиде»), а новое название — для привлечения внимания.
Имя файла может содержать бекслеш, поэтому нужно писать не ⟦read A⟧, а ⟦read -r A⟧.
Имя файла может содержать пробел, поэтому нужно писать не ⟦touch $A⟧, а ⟦touch "$A"⟧.
Имя файла может не только содержать пробел, но и начинаться с пробела, поэтому нужно писать не ⟦read -r A⟧, а ⟦IFS="" read -r A⟧.
Имя файла может содержать перевод строки, поэтому вместо ⟦find foo⟧ нужно использовать ⟦find foo -print0⟧, а вместо ⟦IFS="" read -r A⟧ нужно использовать ⟦IFS="" read -rd "" A⟧ (тут я не совсем уверен).
Имя файла может начинаться с дефиса, поэтому вместо ⟦touch "$A"⟧ нужно писать ⟦touch -- "$A"⟧.
Итоговый вариант выглядит так: ⟦find foo -print0 | while IFS="" read -rd "" A; do touch -- "$A"; done⟧. Круто, да? И здесь мы, кстати, не учли, что POSIX не гарантирует (я не совсем в этом уверен), что touch поддерживает опцию ⟦--⟧.
Сука! Именно поэтому я за «DOS».
Там ещё много такого.
А то-ли дело язык .bat файлов, правда? Совсем другое дело в винде, не то, что в прыщеговне.
А то-ли дело PS:
легко, быстро, и понятно
1. Нахрюк на Makefile табы.
А что он должен был написать вместо таба? JSON? Что не так с табом кроме того, что автору он не нравится?
А мне JSON не нравится.
2. Нахрюк на usr.
Валидно, хотя в usr забекпортили семантику. OpenBSD прекрасно её соблюдает, прыщи -- нет.
А ну-ка быстро без гугла чем отличается `%APPDATA%` от `%LOCALAPPDATA%` и `%USERPROFILE%` от `%HOMEPATH%`?
3. Нахрюк на текстовые файлы.
Текстовый конфиг можно диффать, читать, править любым редактором, и хранить в vcs. Хуй знает кем надо быть, чтобы предпочитать проприетарный бинарный формат.
>из-за которой при резком выключении компа Gnome потерял все свои конфиги в рабочей папке юзера.
>ou have to use fsync or fdatasync.
Ну типа очевидно, что чтобы твое говно не застаряло в буфере -- его нужно синкать, что на юниксе, что на винде.
У винды тоже есть `FlushFileBuffers` чи как-то так. Причем тут реестр вообше?
>критичные файлы UNIX (такие как /etc/passwd), которые читаются при каждом (!) вызове, скажем, ⟦ls -l⟧, записаны в виде простого текста
Автор, видал такую картинку?
Алсо, почитай автор как в современных ОС данные с диска кешируются
https://medium.com/geekculture/linux-memory-buffer-vs-cache-44d8a187f310
>Было бы гораздо лучше использовать бинарный формат. Или БД. Или некий аналог реестра
Для перформансных вещей миллион лет есть berkelydb, почиатй как в postfix или sendmail алиасы хранятся. Вот только собираются они из текстового файла.. ненавидимой тобой make.
Also, есть пруфы, что чтение файла в 1.1K есть ботлнек?
Во валит, гад!
/system/etc
/system/vendor/etc
/system/product/etc
Ещё есть:
/data/system
/data/system_ce
/data/system_de
/data/user
/data/user_ce
/data/user_de
/data/misc
/data/misc_ce
/data/misc_de
/data/local
/data/vendor
/data/vendor_ce
/data/vendor_de
Немцы, понятное дело, файлы свои рядом с нигерами хранить не хотят, потому им сделали отдельные папочки
*
The Ce (Che) language, Kuce (Kuche), is a regionally important Plateau language of Nigeria.
Тут есть два варианта:
1. Выбрать один конкретный дистриб, и на нём всегда сидеть, и не прыгать блохой с CentOS на Ubuntu, где разумеется всё будет совершенно в разных местах лежать, и по-разному называться.
Причем желательно выбрать такой дистр, где мейнтейнеры документируют куда они чего положили.
2. Уйти на BSD, где пути в файле задокументированы в man и handbook, и всегда соответствуют конкретной версии. Там не бывает как в прыщах, когда в 2024-м году man тебе предлагает файл в /etc/rc.d, которого там сроду нет, потому что ман писал питух на slackware в 1999-м году.
А про реестр ты лучше не шути, иначе я тебя спрошу, чем отличается
от
Правильный ответ это конечно "разработчик в 1996-м году куда захотел, туда и поклал".
Это примерно как имена пакетов и модулей и строки в `.properties` файлах в большом Java проекте.
Это всё список зверей Борхеса
Первое это NT, а второе Win32
чем одно отличается от второво??
Но позже пришло ещё одно озарение. Что UNIX неидеальна, а «философия UNIX» неабсолютна. Что программирование на «голом UNIX», с использованием C и Shell сильно уступает, скажем, Web-программированию. И далеко не только потому, что в Web-программировании используются языки, в которых трудно выстрелить себе в ногу, в отличие от C
[/quote]
ротоёб писал статью
1. Запустил.
2. Подождал 28 минут
3. Получил стрек-трейс на 733 строки
4. ничего не понял, написал какое-то говно в императивном стиле посреди гредл скрипта которое все делает, с таким же успехом мог бы `build.sh` написать
Пользуясь случаем хочу сказать, что котлиновые value классы сосут с приголотом у https://go.dev/ref/spec#Type_definitions
Единицы физических величин (метры, килограммы, секунды) существуют только для одночленов. А почему, объясняют в справочниках. Пробовали для многочленов, хуйня получается.
Окей, а почему питухов можно умножать на кур? Почему, грубо говоря, ab (кстати, как называется одночлен из произведения двух одночленов?) это норм?
> А почему, объясняют в справочниках.
Ну ты объясни, у тебя же наверное в школе пятерка по матеше была?
Go:
А у вас в языке как?
https://pikabu.ru/story/zato_kakikh_11246731
Да это же МИКСИНЫ!
Доречи, я не знал, что в рустне так можно: думал только в impl можно
>>> self.summarize_author()
— произошла именно МИКСИНА.
Мне не очень нравятся идеи "пустых структур".
Я бы на такое выдавал ошибку компиляции (как минимум чтобы требовалось явно говорить «(foo as Summary).summarize()», как в крестовом разрешении ромбовидного наследования).
Они были в C++ по сути, они были де-факто инструментом в Python (в джанго просто они везде буквально), они в немного странном виде были Руби (там формально нет множественного наследования, но можно расширить класс, привезя себе парочку методов), они появились в Java, а в Koltin я даже их иногда использую.
Мне в целом они не нравится (я вообще против наследования) но иногда это единственный споосб избежать копипасты.
Кстати, в Go можно заембедить структуру, и это тоже будет миксин
Собссно кроме джввы и C# где их еще НЕ было?
Не меня, а guest6.
Нравится возможность принимать this не только по ссылке, но и мувать его в метод? (кстати, а если он реализует трейт Copy, то он наверное просто скопируется туда?)
Нравится, что трейты могут как для динамического, так и для статического полиморфизма работать, и проверяться?
Что думаешь про ембединг структуры вместо наследования?
Да, хорошо сделали.
что тебе не нравитс?
Или нравится? Или я за композицию, и потому делегирование не нужно? Или я за то, чтобы Petuh не наследовал Ptichka, а эмбедил PtichkaInfo в себя?
Поди знай...
I love listening to 1970 s adult film music when I watch machines working with wood.
"Она сказала, что они его"
--------
Киевляне вообще похожи на нигерийцев: хрен отличиишь, да
Умножь на 100 запусков в день на 1000 программист ов
Daddy bought a donkey
Daddy cries
Pinki pinki ponki
https://apps.microsoft.com/detail/9n85757gkg2r?hl=en-us&gl=NL
Если бы я делал сервис, я бы сделал его гетеросексуальным:
1. вот сервер
2. вот либа для работы с ним
3. вот ее консольный клиент, вот гуйный, вот хуйюный, вот вебный, вот мобильный, вот мудильный.
Если я программист, а не мастер по ноготочкам, то я хочу писать `petuz-cmd close-issue 42` а не жмякать в 44 кнопочки в SPA которое весил 300 мегабайт и грузится 50 секунд
Но на самом деле я упрощаю, потому что есть display manager, который тоже может работать на другой машине, и тогда получается еще смешнее: сервер подключается к менеджеру.
Но на самом деле я упрощаю, потому что дисплей менеджер может подключиться к другому дисплей менеджеру, и даже позволить пользователю выбрать сервер дисплей-менеджер с наименьшей загрузкой ЦПУ.
То-есть можно сделать так:
Я включаю бездисковую станцию или графический терминал. Он грузит X сервер, который находит display managerа, и показывает пользователю окошко. Пользователь хмыает на иконку, и дисплей менеджер перенаправляет нашего сервера на другой дисплей менеджер, где больше ресурсов.
Там пользователь вводит лохин и пароль, и входит дисплей менеджера, и на нем запускает процессы.
То-есть у тебя из коробки ферма RDP практически! У MS для этого надо много ебли делать.
Но на самом деле я упрощаю, потому что старые шрифты (server xide fonts, а не xft) могли быть вынесены тоже на отдельный сервер, тн фонт сервер.
Сейчас это уже не поддерживается, и потому современное питушьё о таких конфигурацях вообще не знают.
А еще в MS плохо понимают, чем кернел мод отличается от юзерспейс
Да, это постыдно. Особенно в древних версиях, где там пароль был только 8 символов и все в одном регистре, чтобы хакер не тратил зря время, а вскрывал хеш за одну минуту.
Но тут надо сказать, что:
1. SMB1 писался 35 лет назад, и для совсем другого мира. Его нужно закопать.
2. NTLM* тоже нужно закопать, о чем MS орёт последние 25 лет. Поскольку 95% виндоадминов чушки стоеросовые -- они в это не могут. Но тут виноват и MS, потому что путь выпиливания NTLM болезненен и тернист.
3. Кстати, Керберос тоже говно. Почему было не сделать всё на сертификатах?
* https://viperone.gitbook.io/pentest-everything/everything/everything-active-directory/lateral-movement/alternate-authentication-material/wip-pass-the-hash
СПАСИБО, МНЕ И ТАК ХОРОШО
— А я переписал приложение на «Электрон».
— АААААААААА!!!
— Объектно-ориентированные языки со сборкой мусора типа Java позволяют программисту сосредоточиться на бизнес-задаче не отвлекаясь на технические детали, и потому проекты получаются быстрее и качественнее
— АААААААААА!!!
– но есть нюанс
23-летний Никита Коляда гнал самогон у себя в квартире.
Друзья, будьте пожалуйста осторожнее
А как предотвратить? Манометр ставить и защитный клапан?
Garbage Collector Average Base Salary 420 576 (NOK)/yr
Уборщик в Норвегии получает 3000 евро в месяц (или 300 тысяч рублей).
А остальные?
@
> в качестве примера shit job привёл мусорщика
Why does the Mafia get involved in hauling garbage?
Когда Руди Джулиани разогнал истеблишмент мусорщиков, расходы NYC снизились на $600 000 000
Знаешь анек?
Американец пишет емейл европейцу: We are the most developed country with lots of opportunities and high salaries.
Ему отвечает робот: Hello. I am now on my annual six weeks summer vacation. Please contact me in two months.
Федеральный закон вообще не требудет давать тебе отпуск, но поскольку работодатель хочет чтобы к нему всё таки шли работать, то дает обычно 11 дней после года работы.
In the US, paid vacation leave is not a legal requirement, As a result, the average number of vacation leave days per year for private sector employees is 11 days after 1 year of service with a company.
https://pbs.twimg.com/media/GJXlSDAWYAAE0yY?format=jpg&name=900x900
orangeboyye commented on Aug 19, 2014
very good!
api-from-the-ion commented on Oct 9, 2023
Tested on Temurin JDK 11 and 17 right now - not working for both static and non-static lambdas.
удивительные в общем дела
Scanning Vulnerabilities in Docker images
How to discover more great women?
Сука это очень смешно
https://blog.javabien.net/2018/02/22/how-to-discover-more-great-women/
ПАЦАНЫ!!! ТЯН В ИНТЕРНЕТЕ!! РЕАЛЬНАЯ ЖИВАЯ ТЯН!!!1111
>@b0rk,
ааааааа
(советую заценить фотку кстати)
а то у меня на такие обычные извращения уже не стоит, хочется чего-то по-тяжелее
Тебе бы хотелось жить в России и не говорить по-русски?
https://www.ef.com/wwen/epi/
Первое место по владению английским среди стран, где он не основной язык
https://www.youtube.com/watch?v=cUEkOVdUjHc
https://junit.org/junit5/docs/current/user-guide/#writing-tests-display-names
https://zona.media/news/2024/03/28/myasnikov
https://twitter.com/DignifAI
https://pbs.twimg.com/media/GFwiyjSXoAEr4is?format=jpg
San Diego fireworks display experienced a software glitch causing all of the fireworks to shoot off at once; the show lasting only 28 seconds. [вместо восемнадцати минут]
Как мы удивлены!
ДА ПОШЕЛ БЫ ЦИСКО НАХУЙ
то вы называете это что-то с суффиксом 2, _new, New, придумываете новое название, свой вариант?
После удаления старой сущности по уебански выглядит именование «table_new». Значит где-то есть «table_old»? А нетс, её удалил старый программист 2 года назад.
Если так, то советую изначально предоставлять клиентам хранимые процедуры, функции или вьюшки, и не пускать их в таблицу напрямую.
Альсо, новая сущность может быть "v2" или new
кого ебет, что есть NTFS но нет OTFS?
Логика Роскомнадзора с каждым днём всё ебанутее.
https://www.youtube.com/watch?v=SKxLss7-HDM
фильм кстати оче заебись
I don't trust the water that other people leave behind and always pour it away and refill the kettle with the amount of filtered water I need.
Others insist that the kettle should be refilled to the brim after use and have put up signs requesting this, which seems like a waste of water and energy.
I can understand why you'd refill a hire car, but not a kettle.
Do you agree or am I the problem?
пральна, ххуй знает какие бактерии туда руками своими немытыми занесли
echt значит "реальный, настоящий".
echtgenoot это супруг (echtgenote -- супруга). Такой простор для фантазии, конечн
echt и ein paar в обоих языках есть, кстати
но это сухое, формальное выражение. В живом языке они man en vrouw, как у украинцев мужа и жену называют жiнка и чоловiк, хотя формально там есть "дружина" или как-то так.
В русском муж и жена это живое, а супруг и супруга только в официальном. Кстати, гугльни этимологию "супруги" -- там есть эротический подтекст)
свинье
давайте. расскажите мне про die Gans
>> Приглашаем на стажировку ГНИЛЬ по направлению QA
Житель Ленобласти выбросил возлюбленную в мусоропровод
Прибывшие на место происшествия сотрудники полиции и врачи вытащили из мусоропровода женщину. Пострадавшая рассказала, что пришла в гости к мужчине, а тот столкнул ее в мусоропровод.
- you can update webOS22 to webOS23
https://twitter.com/demensdeum/status/1741107457127026711
Да, тут рекурсия.
https://twitter.com/krtanev/status/1722658055345570075
Болгары восхищаются «Говнокодом».
At least 12 characters
A lowercase letter
An uppercase letter
A number
Отлично. Именно этот текст и вставлю в поле пароля.
netlink: 'svpn': attribute type 6 has an invalid length.
netlink: 'svpn': attribute type 4 has an invalid length.
netlink: 'svpn': attribute type 6 has an invalid length.
netlink: 'svpn': attribute type 4 has an invalid length.
netlink: 'svpn': attribute type 6 has an invalid length.
netlink: 'svpn': attribute type 4 has an invalid length.
netlink: 'svpn': attribute type 6 has an invalid length.
netlink: 'svpn': attribute type 4 has an invalid length.
netlink: 'svpn': attribute type 6 has an invalid length.
netlink: 'svpn': attribute type 4 has an invalid length.
-_-
А вы знаете, что означает параметр hidepid?
https://www.kernel.org/doc/html/latest/filesystems/proc.html
— Нет, спасибо, мне нужно ещё xz-utils даунгрейдить.
Как выяснилось, политика смены пароля запрещает использование пробелов (и соответственно человеческих passphrase)
технология иди на хуй
Cannot perform operation. Too complex, sorry.
оно даже не пишет об этом, сиди выясняй что у тебя с паролем не так
неточности в заполненной форме. Будьте, пожалукста, внимательнее"
И тут возникла проблема. Движки некоторых интернет-магазинов и платёжных систем считают себя самыми умными и выполняют лишнюю работу, не пропуская поле «VALID THRU», если оно в прошлом.
Тут как с «валидацией е-мейла»: это не ваше собачье дело, что в этом поле, пусть банк проверяет. Нет, вебмакаки будут жрать говно, проверяя поля, которые никто не просит их проверять.
Веб-разработчики — гной, пидоры, хуесосы.
Кстати, а нахуя нужна российская карта MasterCard?
Неплохо, засунуть в хедеры символ даже не из алфавита языка
я вынул из лаптопа одну wi-fi карточку, и вставил другую а первая, блядь, все ещё видна в lspci (и ожидаемо фейлит при попытке iwlwifi её запустить)
какого хуя? как исправить ситуацию? новая работает, но без bt, вдруг дело в этом
В гетеросексуальных ОС типа BSD обычно пишется последовательно какое устройство и где найдено, в прыщах же надо ебаца
Чудес не бывает, и если в конфигурационном спейсе шины PCI-икспресс устроства нет, то его не должно быьть и в lspci
тащемто оно отсюдоватягает
https://docs.kernel.org/PCI/sysfs-pci.html
да не, точно антенны переподключал
> пишется последовательно какое устройство и где найдено, в прыщах же надо ебаца
kernel: pci 0000:00:14.0: [8086:a0ed] type 00 class 0x0c0330 conventional PCI endpoint
kernel: pci 0000:00:14.0: BAR 0 [mem 0x82480000-0x8248ffff 64bit]
kernel: pci 0000:00:14.0: PME# supported from D3hot D3cold
kernel: pci 0000:00:14.2: [8086:a0ef] type 00 class 0x050000 conventional PCI endpoint
kernel: pci 0000:00:14.2: BAR 0 [mem 0x6103188000-0x610318bfff 64bit]
kernel: pci 0000:00:14.2: BAR 2 [mem 0x6103191000-0x6103191fff 64bit]
kernel: pci 0000:00:14.3: [8086:a0f0] type 00 class 0x028000 PCIe Root Complex Integrated Endpoint
kernel: pci 0000:00:14.3: BAR 0 [mem 0x6103184000-0x6103187fff 64bit]
kernel: pci 0000:00:14.3: PME# supported from D0 D3hot D3cold
kernel: pci 0000:00:14.0: Adding to iommu group 7
kernel: pci 0000:00:14.2: Adding to iommu group 7
kernel: pci 0000:00:14.3: Adding to iommu group 8
дальше регистрирует несуществующий bluetooth
...
kernel: iwlwifi 0000:00:14.3: Host monitor block 0x22 vector 0x0
kernel: iwlwifi 0000:00:14.3: value [iter 0]: 0x89cec019
kernel: iwlwifi: probe of 0000:00:14.3 failed with error -110
> Чудес не бывает, и если в конфигурационном спейсе шины PCI-икспресс устроства нет, то его не должно быьть и в lspci
потому и спрашиваю
теоретически конечно есть вероятность, что линукс не отпускает для скорости загрузки, как это делает винда, но чет сомневаюсь. перезагружаться перезагрузился, sfc scannow отполирован до блеска
Покажи `lsmod`.
Если в ядро -- пересоберись
Если модулем-- rmmod его
найдите ошибку в этом коде
А проблема в том, что после 11 идет 1, а должно 3.
Вы невнимательны
Спарвка что ты не жираф
https://www.youtube.com/watch?v=KPuui6tEMzQ
Pre 2.4 устройства создавал админ через MKDEV. Каждое устройство имело major number, и к нему привязывался драйвер.
2.4+ появился devfs: драйвер сам создавал на нем устройства через `devfs_register`
В 2.6 появился `sysfs`, куда шины драйверов стали высирать свои устройства (там ты их можешь видеть) и посылать uevent (NETLINK или как там этот API называется для общения ядра с юзерпитухами), который приходил в демон udevd, и тот создавал устройства в зависимости от желаний пользователя в файлу настроек.
udevd также может грузить модули ядра по module.alias.
То-есть питушня такая:
1. Драйвер PCI-Express срет в sys "устройство класса такого-то, вендор такой-то хуемое"
2. шлет uevent
3. его ловит udevd, и находит модуль ядра для этого устройства через module.alias
4. загружает его в ядро через modprobe (если они не заблеклисчены в modprobe) и создает устройство нужным именем в зависимости от настроек
5.дайвер срет тебе ошибкой в dmesg/kernel.log/journald -k через `printk()`
Угадаешь сам, на каком этапе происходит обсер?
И да, у нас в OpenBSD все драйверы вшиты в ядро, а устройства создаются через MKDEV. Потому всё просто и понятно, как в древних прыщах
там только pci0000:00
66:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be) AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
67:00.0 Non-Volatile memory controller: Sandisk Corp WD PC SN810 / Black SN850 NVMe SSD (rev 01)
что за хуйня вообще
умеешь блеклистнуть модуль?
запустился с флешки - та же хуйня
назови ядро, название девайса и кажи dmesg
Как думаете, если зарегистрирую юзера systemdGovno, сразу забанят?
У них зачем-то запускается `setvtrgb`, которая считывает с `/etc/vtrgb` настройки, и делает темно-синий цвет нечитаемым.
Ты грузишься в обычный терминал в виртуальной консоли (фреймбуфер на виртуалке), делаешь `ls` и там все папки нечитаемые, потому что темные очень.
Я завёл issue.
Через 15 дней его закрыл робот введу отсуствия активности
С тех пор я на дебиане
Русофобщины, равной фашизму, вопят спесиво,
Что ни в коем случае, никогда, во веки веков
Не должна победить на войне, объявленной её, Россия!
Полюби скорей собаку,
Что гуляет под окном.
Лапы, нос, бока и сраку
Гладь ее, как будто гном.
И дворовую кошару
Тоже срочно полюби,
А иначе ты лошара,
Сам себя ты в рот еби.
https://neolurk.org/wiki/Леннарт_Поттеринг
Акт первый. Леннарт ломает эту вашу сеть
Акт второй. Леннарт ломает это ваше аудио
Акт третий. Леннарт ломает эту вашу загрузку, ну и /usr заодно
Акт четвёртый. Леннарт лезет своими ручонками в это ваше ядро
Акт пятый. Леннарт лихо расправляется с пакетными менеджерами
Акт шестой. Леннарт уделывает консоль
Акт седьмой. Леннарт ломает эту вашу загрузку во второй раз
ЛЕННАРТ НИСПОСЛАН ЛИНУКСОЕДАМ ЗА ИХ ГРЕХИ
И не смочь прочитать логи потому, что нет journald.
охуенно удобно, как в винде
сука ))) какой же прошаренный человек писал эту строчку )))
https://pbs.twimg.com/media/GKbWtlwXsAAuG86?format=jpg&name=large
https://www.youtube.com/watch?v=9DpxI3hV12s
На одном стуле простые решения в лоб. С кучей тупого бойлерплейта, копипасты, с тупыми ошибками, но понятные даже школьнику.
На этом стуле сидит Ротоёб.
На втором стуле сидит энтерпрайзный JavaEE разработчик, у которого ловко сконфигурированный через XML абстрактный провайдер абстрактных менеджеров абстрактных фабрик посылает по шине сообщение диспатчеру, тот пересылает его наблюдателю, который в свою очередь запускает провайдера для создания сущности.
И на диске появляется файл.
И вот есть NT, где
Есть солярис современный, который давно уже не `/etc/init.d/` (как положено SysV) а
(чувствуешь наследние сан и оракла, да?)
А есть шлака или опёнок с
который ты просто открываешь в vi, и течеш.
С другой стороны писать императивно на `sh` (ха-ха!) то, что можно описать декларативно это зашквар.
Вручную в каждом бинаре вызывать `daemon(3)` это зашквар.
Не уметь на лету подкручивать папку это зашквар.
Неструктурированный логнгинг это тоже зашквар.
С третьей стороны я всё это ебал, когда у меня в синглмоде нихуя не рабоатет без dbus (и похуй мне, что у запускалки сервисов в бзд нет красивого UI)
Короче, сложный вопрос
- necKoB
- stertor
https://govnokod.ru/28935
https://govnokod.xyz/_28935/
Там есть и свои мультикасты. Через них работает, например, `ip monitor