Проверил реализацию Boyer-Moore в TheAlgorithms/Python (190K+ звёзд). Оказалось, что сдвиг bad character записывается в переменную for-цикла, что в Python не имеет эффекта. Алгоритм выдаёт правильные результаты, но работает как brute-force O(nm) вместо O(n/m). Плюс ещё две находки: бесконечный цикл в типичных реализациях full BM и ошибка в оригинальной статье 1977 года, которую исправили только в 1980-м. Читать далее
Когда я пришёл в Instameal, у нас был бэклог на сорок задач и ни одного чёткого критерия почему одно важнее другого.Мы попробовали RICE. Потом ICE. Потом MoSCoW. Потом снова RICE с другими весами.Проблема была не в том, что мы выбирали неправильный фреймворк. Проблема была в том, что мы думали:…
Недавно в интернете начал работу сервис рефакторинга Malus.sh по «очистке кода от опенсорсных лицензий». Он позиционирует себя как «чистая комната», где софт очищается от лицензионного бремени. Туда загружается манифест свободного проекта, а LLM за небольшую плату переписывает код
На Хабре сейчас высокая конкуренция среди авторов за внимание читателей. По данным самого Хабра, в 2025 году на сайте было более 10 тысяч уникальных авторов контента, а количество публикаций превысило 51 тысячу. Это означает, что даже качественный материал может не получить…
Как я думаю, вы уже догадались, IT-отрасль попала в кризис на фоне высокой стоимости денег в развитых экономиках и геополитической ситуации, которая мешает IT-продуктам двигаться в сторону новых рынков. Как итог, IT-компании сокращают программистов, морозят запуск новых проектов и…
За последний месяц я насчитал минимум семь свежих статей с заголовком в духе "Playwright быстрее Selenium на N%". Проблема в том, что N у всех разный: 23%, 42%, 63%, "1.85x". Методология почти нигде не раскрыта дальше фразы "controlled environment". Для решения, которое определяет CI-бюджет и архитектуру тестов на…
В феврале я публиковал первую статью про Yttri: что это за приложение, зачем я его делаю и почему мне не хватало Obsidian, Notion, почтового клиента, таск-трекера и AI-чата по отдельности.Тогда это был первый публичный заход в бета-тестирование. Первая сотня мест ушла быстрее, чем я ожидал, а…
Каждый раз, когда вы пишете .await, происходит не магия, а вполне конкретный механизм: Future, Waker и опрос состояния. Чтобы увидеть это своими глазами, я написал собственный async-рантайм на Rust с нуля - с executor, reactor на epoll и рабочим TCP-эхо-сервером. По пути разобрался, как именно tokio будит ваши задачи, и нашёл баг, который тихо висел у меня в проде. Внутри - весь код целиком и объяснение без отсылок к чёрным ящикам. Читать далее
https://security-tracker.debian.org/tracker/DSA-6356-1
Существует немало бесплатных инструментов, способных выявлять веб-уязвимости, обнаруживать ошибки конфигурации и автоматизировать проверки безопасности. Если посмотреть на мировую IT-индустрию, огромный вклад в ее развитие вносит именно Open Source.В этой статье рассмотрим ряд…