Alleged Jabber Zeus Coder 'MrICQ' in U.S. Custody
41-летний украинец Юрий Игоревич Рыбцов, известный под ником MrICQ, разработчик вредоносного ПО Jabber Zeus, арестован в Италии и экстрадирован в США. По данным следствия, его группа крала десятки миллионов долларов у американских компаний, используя модифицированный банковский троян ZeuS, который отправлял уведомления через Jabber при вводе одноразовых кодов. Рыбцов, упомянутый в обвинительном акте 2012 года как "Джон Доу №3", отвечал за уведомления о новых жертвах и отмывание денег через электронные валютные обмены.
Группа Jabber Zeus специализировалась на атаках "человек в браузере", модифицируя платежные ведомости компаний и добавляя "денежных мулов", recruited через схемы удаленной работы. В апреле 2025 года Рыбцов проиграл апелляцию против экстрадиции, а 9 октября прибыл в Небраску под стражей ФБР. Интересно, что Рыбцов и лидер группы Вячеслав "Танк" Пенчуков (приговоренный в прошлом году к 18 годам тюрьмы и штрафу $73 млн) жили в одном донецком здании.
Комментарии (63)
- В обсуждении поднимается вопрос, почему киберпреступники, несмотря на международные ордера на арест, продолжают путешествовать и попадаются в итальянских и греческих аэропортах.
- Участники обсуждают, что влияние фотографий на восприятие: сначала вызывает сочувствие к «бедняжке», но стоит увидеть фото в пижаме и с трофейной женой, как мнение меняется на 180°.
- Обсуждается, что, поскольку подозреваемые в преступлении не могут знать о наличии ордера в другой стране, они продолжают путешествовать, пока их не арестуют.
- Также поднимается вопрос, как вообще можно было бы узнать о наличии ордера в другой стране, если бы не арест в аэропорту.
Lisp: Notes on its Past and Future (1980)
LISP просуществовал 21 год к 1980 году, потому что представляет собой приблизительный локальный оптимум в пространстве языков программирования. Маккарти отмечает, что язык накопил некоторые "балластные" элементы, которые следует устранить, и упустил возможности для улучшений. Языку помогло бы совместное обслуживание, особенно в создании и поддержке библиотек программ. Компьютерно проверяемые доказательства корректности программ теперь возможны для чистого LISP и некоторых расширений, но для полного использования математической основы языка требуется больше теории и упрощения самого языка.
В примечании 1999 года Маккарти отмечает, что его взгляды 1980 года в основном соответствуют текущим. Основная идея заключается в том, что LISP, несмотря на свою долговечность, нуждается в очистке от лишних элементов и улучшении для раскрытия его полного потенциала, особенно в области формальных доказательств корректности программ.
Комментарии (95)
- Обсуждение показало, что Lisp и его диалекты всё ещё живы, но в нишевых формах: от Clojure на JVM до CHICKEN Scheme, компилирующего в C.
- Участники отмечают, что язык остаётся мощным инструментом, но его экосистема и сообщество сильно сократились, и нет признаков возвращения в мейнстрим.
- Некоторые подчеркнули, что Lisp-языки всё ещё важны для AI-исследований, генетического программирования и метапрограммирования.
- Сообщество отметило, что популярность языка упала не из-за технических причин, а из-за смены парадигмы в разработке ПО от символического AI к нейронным сетям и статистическому программированию.
Friendly attributes pattern in Ruby
Bruno Sutic разработал Friendly Attributes Pattern для упрощения создания тарифных планов в своем проекте RailsBilling. Вместо громоздких повторяющихся вызовов с множеством атрибутов, он предложил компактный синтаксис с хэшами, который моделирует ментальную модель типичной страницы ценообразования. Новый подход преобразует различные структуры (массивы, хэши, значения) в стандартные атрибуты, используя типы данных для интерпретации: символы - как имена планов, числа - как суммы, ActiveSupport::Duration - как интервалы.
Паттерн работает в различных контекстах: в тестах, в консоли Rails, с методами поиска. Он поддерживает передачу аргументов в любом порядке, что удобно для разных языков, и позволяет использовать как отдельные значения, так и сложные структуры. Friendly Attributes является надмножеством стандартных атрибутов, обеспечивая обратную совместимость. Если подход не нравится, можно продолжать использовать традиционные методы без изменений.
Комментарии (65)
This is...not for me. It follows a big pattern in Ruby/Rails culture where to understand the code, you first have to understand the magic. And, it's never all that obvious where to go to try and understand the magic, because the magic itself has been imported by magic.I once was
Linux gamers on Steam cross over the 3% mark 🔥 Горячее 💬 Длинная дискуссия
Доля Linux-геймеров на Steam наконец преодолела психологически важный порог в 3%, достигнув 3.05% по данным опроса за октябрь 2025 года. Этот рост на 0.41% стал возможен благодаря устойчивому тренду и окончанию поддержки Windows 10, что побудило больше пользователей попробовать Linux. Windows по-прежнему доминирует с долей 94.84%, а macOS занимает 2.11%.
Несмотря на скромные на первый взгляд проценты, это уже миллионы пользователей. По последним официальным данным Valve за 2022 год, месячная активная аудитория Steam составляла около 120 миллионов, что означает более 4 миллионов Linux-геймеров. С учетом роста платформы и популярности Steam Deck, продающегося миллионами копиями, реальное число вероятно еще выше. Среди дистрибутивов лидирует SteamOS Holo с 27.18%, за которым следуют Arch Linux (10.32%) и Linux Mint (6.65%).
Комментарии (383)
- Пользователи обсуждают переход с Windows на Linux для игр, отмечая, что большинство игр теперь работает через Proton, и что Steam Deck способствует этому.
- Некоторые упоминают, что единственное, что остаётся в Windows, — это играть в игры с античитом, так как Easy Anti-Cheat и подобные системы не работают под Linux.
- Участники также обсуждают, что, несмотря на то, что Linux-совместимость значительно улучшилась, всё ещё есть проблемы с драйверами, особенно с NVIDIA.
- Некоторые отмечают, что, несмотря на то, что Linux-совместимость значительно улучшилась, всё ещё есть проблемы с драйверами, особенно с NVIDIA.
- Также упоминается, что, хотя большинство игр теперь работает на Linux, всё ещё есть проблемы с некоторыми играми, которые не работают или имеют проблемы.
Reproducing the AWS Outage Race Condition with a Model Checker
AWS опубликовал отчет о недавнем сбое, связанном с race condition в системе управления DNS. Автор статьи воспроизвел упрощенную версию проблемы с помощью верификатора моделей Spin и языка Promela. В системе участвуют DNS Planner (создает планы) и три независимых DNS Enactor (применяют планы в разных зонах доступности). Race condition возникает, когда один Enactor применяет новый план и начинает очистку старых, в то время как другой, отставший, все еще обрабатывает более старый план. Когда первый Enactor завершает очистку, он удаляет этот "старый" план, который на самом деле еще активен, что приводит к исчезновению DNS-записей.
Используя Spin, автор смоделировал Planner и два параллельных Enactor. Каждый Enactor проверяет свежесть плана перед применением и отслеживает высший примененный план. Во время очистки он удаляет только значительно более старые версии, но если удаляемый план совпадает с текущим активным, это сбрасывает флаг dns_valid в false. Spin систематически проверял все возможные состояния системы и обнаружил последовательность действий, приводящую к race condition, подтвердив уязвимость.
Комментарии (37)
- Пользователи обсуждают, что формальные методы (TLA+, Alloy и т.д.) могли бы предотвратить инцидент, если бы инвариант «не удалять активный план» был бы формализован и проверялся непрерывно.
- Обсуждается, что реальные системы часто отклоняются от «чистой» модели из-за компромиссов с производительностью и стоимостью хранения логов и т.д.
- Участники спора сходятся в том, что даже если бы формальные методы были бы применены, они бы не предотвратили бы ошибку, если бы не было процесса, который бы гарантировал, что модель и код синхронизированы.
- Некоторые комментаторы подчеркивают, что даже самые продвинутые инструменты не могут предотвратить ошибки, если нет культуры их использования и процессов, которые бы обеспечивали бы, что модель всегда актуальна.
- В конце концов, большинство соглашается, что самым важным является не наличие формальных методов, а культура их использования и процессов, которые бы гарантировали бы, что модель всегда отражает код.
Anti-cybercrime laws are being weaponized to repress journalism 🔥 Горячее
Законодательство, изначально созданное для борьбы с киберпреступностью, во многих странах используется для подавления журналистики. В Нигерии репортер Дэниел Оджуку был арестован вооруженной полицией и четыре дня содержался в заключении без предъявления обвинений, пока ему не вменили нарушение киберпреступного закона за статью о коррупции в администрации президента. Статья 24 нигерийского Закона о киберпреступности, запрещающая публикацию "грубо оскорбительной" или "непристойной" информации, неоднократно применялась против журналистов - в 2019 году под нее попал Агба Джалинго за публикации о коррупции губернатора (позже оправданный).
Хотя в 2024 году статью 24 изменили, новый закон все еще криминализирует "умышленное распространение ложной информации", которая может "нарушить общественный порядок" или "угрожать жизни", наказуемое тюремным сроком до трех лет. По словам представителя "Репортеров без границ", власти намеренно заглушают расследования о коррупции. Нигерия не единственная страна - в соседнем Нигере после переворота 2023 года восстановили тюремные сроки за "клевету" и "оскорбления" в интернете.
Комментарии (86)
- Пользователи обсуждают, что законы о киберпреступности и другие регуляторные акты, изначально задуманные для борьбы с мошенничеством и другими преступлениями, используются для преследования инакомыслия и подавления свобод слова и других прав.
- Участники подчеркивают, что такие законы часто не различают между журналистской деятельностью и киберпреступностью, что может привести к самоцензуре и преследованию журналистов.
- Обсуждается, что вместо того, чтобы защищать общество от преступности, эти законы могут быть использованы для преследования инакомыслящих и подавления свободы слова.
- Участники также обсуждают, что вместо того, чтобы защищать общество от преступности, эти законы могут быть использованы для преследования инакомыслящих и подавления свободы слова.
Комментарии (26)
- Bluetooth-устройства не реализуют LESC, что делает их уязвимыми к MITM-атакам и снижает безопасность всей экосистемы.
- Apple и другие производители не реализуют OOB-паринг, что делает невозможным защиту от MITM-атак.
- Существует необходимость в современной замене Bluetooth, которая была бы безопасной и не имела бы проблем с подключением.
- Side-channel атаки, включая извлечение AES ключа из 90,000 трассировок, демонстрируют, что уязвимости существуют повсюду.
- Необходимо развивать и внедрять более безопасные протоколы и практики, такие как LESC и OOB-паринг, и развивать культуру безопасной разработки для предотвращения уязвимостей в будущем.
At the end you use `git bisect`
В работе с monorepo, где ежедневно делаются сотни коммитов, тесты внезапно начали проваливаться. Проблема была в изменении конфигурационного файла, который ссылался на неверный аккаунт, но найти виновника среди множества коммитов вручную было невозможно. Тогда коллега применил git bisect - инструмент, использующий бинарный поиск для локализации проблемного коммита. Это позволило точно определить, где именно был внесен сбойный код, после чего откат этого коммита восстановил работоспособность системы.
В статье приведен наглядный пример репозитория с функцией сложения, где намеренно введена ошибка - преобразование аргументов в строки. Запуск git bisect start, указание "плохого" и "хорошего" коммитов, затем git bisect run ./test_script.sh автоматически проверяет промежуточные версии. Инструмент последовательно тестирует коммиты, сокращая количество проверок вдвое на каждом шаге, и точно находит первый сбойный коммит, где функция add начала возвращать строку вместо числа.
Комментарии (143)
git bisectis a powerful tool for pinpointing the exact commit that introduced a bug, especially in large or poorly tested codebases.- Its real value is in narrowing the search space when you lack the tests or architecture to reason about the code, not in replacing proper testing or code review.
- The discussion exposed a cultural divide: some developers see bisect as a last-ditch rescue tool for when tests or architecture have already failed, while others argue that if you need it, your process has already failed.
- Several commenters pointed out that if you have to reach for bisect, you probably lack tests, logging, or a clear commit history, and the real fix is to improve those, not to rely on bisection.
- The thread also surfaced the point that bisection is only useful if you can reliably detect the bug in every commit; if the bug is non-deterministic or only shows up in production, the tool becomes much less useful.
Комментарии (122)
Generally the problem with carpark solar is the mounting solutions are low volume niche products that cost way more than traditional ground mounts. My biggest hope is that this policy creates a marketplace with actual competition that comes up with more cost efficient mounting so
Why don't you use dependent types? 🔥 Горячее
Автор объясняет, что Isabelle сознательно отказалась от объектов доказательств, которые являются неотъемлемой частью обычных теорий типов. Это сделано потому, что объекты доказательств не нужны и занимают много места. Вместо этого Isabelle использует архитектуру LCF, где проверка типов осуществляется в языке реализации, а не в логике, что гарантирует легитимность шагов доказательства. Robin Milner имел это фундаментальное понимание 50 лет назад.
Лоуренс Полсон рассказывает о своем опыте работы с AUTOMATH и Martin-Löf type theory. Первоначально Isabelle была реализацией Martin-Löf type theory, которая до сих пор включена в дистрибутив как Isabelle/CTT. Однако автор переключился на более общий подход, вдохновленный AUTOMATH - "большим рестораном, который обслуживает любую кухню". В итоге Isabelle/HOL стала доминирующей, хотя де Брёйн не одобрял растущую мощь теорий типов и презирал теорию множеств.
Комментарии (98)
- Обсуждение показало, что вопрос не в «плохих» зависимых типах, а в том, что они не нужны для большинства задач и не оправдывают свою сложность.
- Участники обсуждали, что отсутствие зависимых типов не мешает Isabelle/HOL доказать критически важные части математики, и что вместо этого важнее автоматизация и библиотеки.
- Сообщество отметило, что даже в языках без зависимых типов можно выразить «матрица 10×5 из float32», если размеры известны на этапе компиляции, и что это покрывает большинство практических случаев.
- Несколько участников поделились личным опытом, что попытка использовать зависимые типы в продакшене привела к тому, что команды отказались их использовать из-за кривой кривой обучения и отсутствия инструментальной поддержки.
- В итоге автор статьи подытожил, что выбор между зависимыми типами и другими системами типов часто сводится к личным предпочтениям и доступным инструментам, а не к объективным преимуществам.