я нипанимат почему вдруг пиздошенье белгорода стало «обстрелом мирного города». давайте немного почистим понятия.
1. у защищающейся стороны карт-бланш: НИКАКОЕ её действие в сторону агрессора не будет «неправильным» и «неэтичным». просто по факту того, что самозащита, а не нападение. и никакие дегенеративные «правила войны» (это вообще очень смешно: «правила войны», блядь. пиздец.) на нападающего не распространяются, конечно.
2. у нападающего НЕТ никаких «мирных городов», и «мирных жителей» тоже никаких нет. потому что см. пункт 1. все города так или иначе работают на войну — мясом, производством, налогами, неважно.
3. нет, стрелочка не поворачивается. любое убийство защищающихся — даже если они в военной форме, с оружием, и родились в казарме — это убийство мирных жителей. просто по факту того, что они были мирными и ни на кого не нападали первыми.
и для протокола, так сказать. я не испытываю никакой радости от мёртвых россиян. по той же причине, по которой не радуюсь мёртвым тараканам, например, когда их травят. ну, санпроцедура. чем быстрее всех отравят — тем лучше. жаль только работников службы очистки, когда они на работе травмы получают.
Вот и началось 18 марта, День рождения Лены. Она умерла в возрасте 36 лет около одиннадцати лет назад, и я ей немного завидую, мне уже 45. Из тех, кто тусовался на той точке, на которую она меня привела, выжил, скорее всего, только я один. Жившие там Алена, сожительница Паши, сам Паша, хозяин хаты (впоследствии его на эту хату развели), Люба-малолетка, убитая первой из всех, Оля с куриными мозгами (прожившая дольше всех, 9 лет назад еще была жива). Ксюша, которую звали Валерией на самом деле, которой проломили голову и еще уронили почему-то в больнице. Редкий гость Макс, промышлявший воровством по квартирам верхних этажей, он спускался с крыш через форточку. Влад, воровавший в клубах, его беременная подруга Алена, у которых была какая-то очень страстная любовь, перед тем как она шла к клиенту они долго целовались. Женя, приходившая редко, доставала где-то в другом месте обычно, жила через дорогу, там уже была своя экосистема. Жившие там всего пару месяцев добрый разбойник Артем(?) и его красавица=подруга, не помню как звали, и их котенок Кипеш, сами они были в розыске и гасились на нашей точке. Я единственный выжил, потому что был не от их мира, старательно изображая, что я вместе с ними торчу.
унылая движуха без интереса и полузаснув наблюдаю за бурлением поноса вокруг «свитбэби». если во всём этом есть хоть один манагер хотя бы с двумя рабочими нейронами, то будет так: 1. нороду дают побухтеть, пытаясь свитов отмазать. но не очень усердно, и не самыми большими калибрами. 2. свитов кидают под поезд, норот радостно пляшет. 3. место свитбэби тихонечко занимает какой-нибудь кэндиклаб, меняется ничего.
если есть манагеры с целыми пятью нейронами, то после пункта 2 в игорях, где засветились свиты, убирают какое-нибудь маленькое, но заметное сжв, после чего делают переиздание. лохи покупают всё во второй раз, потому что: «мы поебдили, ура!»
samael, опять никак ну, не совсем никак, конечно. никак — это в смысле я в очередной раз (регулярно это делаю) попробовал проникнуться чем-то после passage. опять не вышло.
passage велик, passage гениален. а дальше… метания. понять можно, принять нет. и более поздние попытки повторить passage тоже. это, конечно, всё ещё samael, но как-то… не радует. впрочем, это из тех случаев, когда этим — можно.
я не очень представляю, куда passage развивать, но жаль, что и братушки тоже. было бы очень интересно услышать что-то ещё круче.
чисто для галочки я, если что, не радуюсь и не злорадствую. но и не грущу. помер — и помер. это всё равно был вопрос времени, никакого другого исхода не предполагалось. через неделю вообще все забудут.
погромизды-погромиздики в патче проблема решена преобразованием YAML в JSON и проверкой наличия конструкций, корректных в YAML, но недопустимых в JSON из-за использования определённых Unicode-символов
это настолько прекрасно, что даже добавить нечего.
наебалово с ai-generated content есть... …но не там, где можно сразу предположить. ну, выгоняют мясных мешков, заменяют кремниевыми няшами. нормально, ничего плохого тут не вижу вообще. утверждать иначе — это примерно как утверждать, что настоящие игори, например, надо писать исключительно в машинном коде, вбивая его вручную: ассемблеры для ленивых дебилов, всякие там языки уровнем повыше и упоминать не стоит, это даже к игорям уже не будет относиться. чушь же.
а вот что не чушь — это то, что итоговый продукт должен обвально дешеветь. ровно в то количество раз, которое сэкономили, выгнав мясных мешков.
однако мешков-то выгоняют, но продукт почему-то не дешевеет. вот это и есть настоящее наебалово с ai-generated content. и вот поэтому все конторы, которые мешков заменили, а цены не спустили — надо за юзанье аи всячески гнобить.
впрочем, хумансы — раса превдоразумная и необучаемая, такие сложные концепции до них никогда не дойдут. одни будут дальше орать: «аи фу, аи нихатет!»; другие — молча платить прежнюю цену (а то и выше). в принципе, это даже не отдельные множества хумансов, а сильно пересекающиеся.
а-а-а-а-а-а-а-а! ёбаный ваком (ну, знаете, та контора, которая делает планшетки для рисования) попался на использовании говноаи-картинок в рекламе… ну, вот этой хуйни, которую они выпускают, которая для рисования.
конечно, в любом нормальном обществе, состоящем из разумных существ, это обозначает: «наше говно абсолютно непригодно для тех целей, для которых мы его делаем.» и, естественно, никто и никогда больше у этой конторы не купит ничего. вообще ничего и никогда — раз они сами открыто признались.
к счастью для вакома, люди не являются расой разумных существ, так что вакому ничего не грозит.
наконец-то сраный шитхаб без говножабоскрипта перестал показывать даже список файлов и описание проекта. я с нетерпением ждал этого момента, чтобы, наконец, забанить его навечно.
адово ржу очередных игродегенератов ломанули и говно в интернеты вывернули. лолушки. говорят, включая сканы личных доков работников даже, ахахахаха. категорически приветствую, желаю всем остальным не отставать.
вы сами выпестовали поколение дебилов-недоучек (и сисадминов, и всех остальных). сами нанимаете их работать за копейки с непременными «кранчами». сами посылаете в хуй все разумные идеи по защите своих систем («дораха и ниудобна!»). получите, распишитесь. дальше будет только хуже и больше.
я совершенно уверен, что весь «взлом» выглядел примерно так: скрипткидди кинул дебилу ссылочку, дебил открыл, запустил/ввёл все пароли. потому что именно так сейчас всё и «ломают».
удивительное дело! стоило написть о вебархиве — и рейтлимиты кто-то бампнул. окей, попробуем что-то посложнее.
я, блядь, пиздец как недоволен тем, что эльфокомми ещё не прилетели. я тут сижу, жду, жопа кресло наизусть помнит — а никого нет! короче, встретите где-то эльфокомми — проясните его с вертушки: хуле они там шароёбятся, а не тут?!
обожаю уеб-дегенератов делай раз: смотришь сцайт на вебархиве.
делай два: вебархив блочит тебя по рейтлимиту, потому что сам только что отгрузил тебе срань, которая подтягивает 100500 ресурсов.
сделать микросессию? оценить рейты для конкретной страницы, потому что мы когда подтягивали — эту инфу всё равно оттуда извлекли? не, хуйня какая-то. давайте просто забьём рейты гвоздями, что может пойти не так.
где видишь «уеб-программиста» — там его и убивай. во-первых, существа с отрицательным IQ не нужны. а во-вторых, всё равно не накажут: достаточно напомнить суду, что это один из тех, из-за кого современные интернеты такие, какие есть — и мгновенно оправдают.
никогда не меняются гебешные подстилки никогда не меняются. стоит ли, сидит ли, лежит ли — но куратор приказал явку обеспечивать, и подстилка ответила: «слушаюсь!»
профессионалы индустрии in da action всяким там чатжопотэ, как известно, занимаются крутые профессионалы, цвет, так сказать, индустрии. именно поэтому страница покупки их платных услуг встраивает токен авторизации в урл, и больше никаких валидаций токена не делает. let it sink in for a moment. время протухания токена — около недели.
не знаю как вы, а я, конечно, совершенно уверен, что подход к подбору остального персонала там намного более ответственный. в конце концов, я согласен, что такая мелочь, как страница оплаты со всеми деталями (включая полный номер кредитки, имя и, кажется, даже адрес) не заслуживает того, чтобы тратить на неё какие-либо усилия. как-то там работает — и ладно.
кстати, о melodic death кстати к прошлому. если хотите melodic death, в котором ребята не забывают с первых же минут, что они всё-таки рубают дезняк — то обратите внимание на Intestine Baalism. но учтите, что дезняка там значительно больше, чем принято в «обычном мелодик дез» (который — давайте будем честными — просто спид/павирмитол с гитарами пониже, плюс вокалиста искать не надо).
Dark Tranquillity: The Gallery решил пройтись по прочему «экстриму» в коллекции, и внезапно обнаружил забавное: делюкс «галереи». в делюксе добавили несколько каверов, и boy, they couldn't do more wrong there! потому что кавер мейденов убивает весь альбом, наглухо. да, я понимаю, что «melodic death» — это более-менее про «а давайте играть мэйденов, но чтобы ЫКСТРИМ!», однако тут вышло совсем уж комично. если поставить кавер первым, дальше можно сделать надпись: «а теперь послушайте, как мы пытались в то же самое, но не смогли.»
альбом, впрочем, неплохой. хотя как по мне, то «projector» всё равно лучшее из DT. ну, и несомненный плюс DT в том, что я таки держу у себя всю их дискографию, и даже иногда слушаю. а in flames, например, после the jester race слушать вообще невозможно. ну, до «whoracle» оно у меня лежит, совершенно непонятно, нахера. дальше я вообще не знаю, кому эта хреновина нужна.
как я умудрился это пропустить?! каким-то магическим образом я умудрился ваще наглухо пропустить мунспеловский «1755». и совершенно зря: он, похоже, имеет все шансы стать если не самым, то одним из самых мной любимых у Moonspell. я ненавижу дурацкие пассажи про «атмосферу альбома», но блин: это один из тех редких случаев, когда да! исключая заоркестрованый опенер из Alpha Noir — который, наверное, продвинутые ценители музыки с пониманием оценят; но как по мне, то он там не пришей пизде рукав. и ещё: это тот случай, когда альбом работает только целиком. далеко не про каждый «концептуальный альбом» так можно сказать, и это скорее достоинство, нежели недостаток. в смысле — «концептуальный альбом» и должен так работать.
чуть-чуть про опенер: я, кажется, примерно понимаю, что ним пытались сделать. но я вообще ненавижу вступления, тем более длинные. это мой личный баг; тем, у кого такого нет, может показаться, что без опенера переход к действию был бы слишком быстрым.
забавно понадобилось тут как-то раздавать файлам уникальные id — с учётом того, что inode у них не всегда имеется. попробовал разные простенькие хэши, что под рукой оказались. из тех, что не очень много кода. понятно, что какой-нибудь длинный криптохэш бы справился, но идея такая, что желательно несколько строчек асма бы. результат оказался довольно забавный.
взял, значит, базу mlocate, оставил там только уникальные имена, и смотрел как её кушают вороны. 3192666 unique file names. (666 само вышло, я не специально!)
по итогу простенький хэш Боба Дженкинса «one-at-a-time» зарулил его же lookup2, lookup3 и fasthash32 (этот взял чисто поржать).
joaat вот такие результаты дал: 4105 (117 for same length) collisions found.
lookup2 — как Боб и предупреждал — просто хуже, по всем параметрам (кроме, может, скорости). общих коллизий чуть больше, чем у joaat. если считать коллизии с учётом длины имени (то есть, включать в id длину) — то, парадоксально, у joaat вообще в два раза меньше. 4228 (336 for same length) collisions found.
lookup3 по количеству общих коллизий чуть-чуть выиграл, но с учётом длины результат всё ещё сильно хуже, чем у joaat. 3791 (290 for same length) collisions found.
fasthash32 по количеству общих ещё сильнее выиграл, но с учётом длины — не смог. 3765 (182 for same length) collisions found.
понятно, что 64-битные варианты lookup3 и fasthash64 дали 0 коллизий. но lookup3 довольно большой, а у fasthash64 — 64-битное умножение. joaat же — пара сдвигов, сложение и xor.
поскольку мне avalanche в unique id не нужен, надо только чтобы уникальные, то аугментировал joaat до 64 битов вот так:
то есть, просто добавил дешёвый аккумулятор во внутренний цикл — одно вычитание (можно было и сложение, в данном случае неважно). с таким дополнением коллизий стало ожидаемо 0.
это я всё к тому, что иногда Старые Простые Методы как минимум не хуже, а то и лучше Новых Продвинутых. то, что joaat обрабатывает буфер побайтово — в данном случае опять неважно: имена файлов особо длинными не бывают. зато он охуеть маленький, и на асме пишется буквально в несколько строчек. опять же: всегда можно сделать оптимизированый вариант joaat, который будет читать по 32 бита в регистр за раз, а потом unrolled loop их обработки.
в принципе, последнее вычитание из hash2 не нужно, я его для красоты добавил. если убрать — результаты ожидаемо не изменятся: аваланч в аккумуляторе всё равно никакой, акк работает чисто контрольной суммой.
тащемта, в таком виде joaatx2 отлично подходит для создания каталогов каких-нибудь архивов, чтобы там находить имена буквально несколькими сравнениями, например. или для хранения списка заинклюденых файлов (мне именно для этого и понадобился). в случае списка инклюдов на статистически ничтожную вероятность коллизии можно просто забить болт.
я в списке инклюдов беру базовое имя файла (без пути), и домешиваю к хэшу ещё размер и mtime. это может не очень хорошо сработать, если в разных каталогах инклюды с одинаковым именем и размер совпадает (у меня в системе это частая ситуация: главный файл каталога всегда называется одинаково, и в основном он делает один include файла уже с нормальным именем), но ирл спасает mtime. могут быть проблемы, если систему развернули из какого-нибудь архива, который mtime не сохраняет, правда. но в моём случае это неважно.