Представьте себе Европу конца XIX века. Немецкий физик Вильгельм Рентген только что открыл загадочные X-лучи. В крупных больницах уже делают первые снимки переломов, по городам открываются фотоателье, где можно запечатлеть свой позвоночник. А Томас Эдисон с командой пытается сконструировать домашний рентген-аппарат. Публика обеспокоена: насколько прилично то, что с помощью нового изобретения можно увидеть человека без одежды?
Тем временем учёные пытаются изучить необычное излучение с разных сторон. Среди них — французский физик Анри Беккерель. Если бы всё пошло по плану, он, возможно, лишь добавил бы пару строк в историю изучения рентгеновских лучей. Но благодаря одной ошибочной идее и нескольким пасмурным дням в Париже он фактически создал новую область физики — радиоактивность. Давайте посмотрим, как был устроен его эксперимент.
Читать далееЗадача в cron упёрлась в timeout, в логе код 124, а следующий запуск молча пропускается: lock занят. Я проверил в контейнере семь обычных способов оставить что-то работать в фоне — setsid -f, nohup, start-stop-daemon, двойной fork, ssh-agent, gpg-agent — под timeout и subprocess.run(timeout=). Демона не убила ни одна обёртка. Пропустит ли cron следующий запуск, решает сама утилита: gpg-agent держит lock, ssh-agent отпускает, но за пять запусков копится пять агентов. Код 124 у оборванного запуска при этом одинаковый.
Читать далееПредставьте, что ваш стартап уже приносит $500 тысяч годовой регулярной выручки. Есть клиенты, продукт работает, деньги поступают. А вы решаете всё закрыть и начать практически заново.
Примерно в такой ситуации оказалась команда Warmly в 2023 году.
К тому моменту основатели уже три года пытались найти работающую бизнес-модель и успели шесть раз поменять направление. Начинали с приложения для поиска сооснователей, затем делали цифровые визитки, отслеживали смену работы в LinkedIn и создавали инструменты для Zoom.
В апреле 2023 года новый продукт приносил всего $50 тысяч ARR. Спустя три года этот показатель превысил $7 млн, а в июне 2026 года Warmly объявила о соглашении по приобретению компанией HubSpot.
Мне стало интересно, как команда прошла такой путь, почему предыдущие продукты не сработали и можно ли извлечь из этой истории что-то полезное для поиска собственной бизнес-идеи.
Читать далее— Привет! Слушай, а как получить доступ к папке с проектами? Я уже полчаса ищу, куда нажать.
— Зайди в СЭД, найди заявку, заполни форму, подпиши у руководителя, потом зайди на ИT-портал, создай тикет, приложи скриншот из СЭД и напиши в личку специалисту поддержки.
— А можно как-то проще?
— Куда еще проще?
Читать далееПривет, Хабр!
В процессе преподавания дисциплин, связанных с анализом больших данных и распределёнными вычислениями, я регулярно сталкиваюсь с необходимостью организовывать практическую работу студентов с Apache Spark. На первый взгляд задача достаточно простая: подготовить серверы, установить необходимые компоненты, настроить взаимодействие между ними и предоставить студентам доступ к работающему кластеру.
Но когда речь идёт не об одном стенде, а о целой учебной группе, подготовка инфраструктуры превращается в отдельную задачу. Особенно если каждому студенту необходимо предоставить собственный кластер для выполнения лабораторных работ. Некоторое время назад я решил автоматизировать этот процесс и разработал небольшое настольное приложение для развёртывания Apache Spark на виртуальных серверах.
Со временем проект развивался, и недавно я завершил работу над его второй версией – Spark Cluster 2.
Это приложение с графическим интерфейсом, которое помогает развернуть учебный кластер Apache Spark на VPS, подготовить необходимые компоненты инфраструктуры и перейти непосредственно к выполнению практических заданий. При этом я решил не ограничиваться самой программой и дополнить проект учебными материалами. В этой статье расскажу, зачем понадобилось отдельное приложение, как оно устроено, какие задачи решает и что изменилось по сравнению с первой версией.
Читать далееПривет, Хабр! Я Полина, продакт платформы «Своё вино» в РСХБ — цифровой платформы, которая объединяет производителей вина, потребителей, сомелье, критиков и всех любителей российского вина. Когда гость на дегустации говорит «С вином что-то не так», я слышу примерно то же, что тимлид в пятничном сообщении «У нас все упало». В целом посыл понятен, но информации ноль.
Когда гость на дегустации говорит «С вином что-то не так», я слышу примерно то же, что тимлид в пятничном сообщении «У нас все упало». В целом посыл понятен, но информации ноль.
Я сомелье, и чем дольше смотрю, как коллеги из IT пишут тикеты, тем сильнее ощущение, что мы давно занимаемся одним делом: выясняем, почему система повела себя не так, как ожидалось, не имея доступа к исходникам. Откатить бочку к прошлому коммиту нельзя. Посмотреть diff погоды за август тоже.
Давайте разбираться, как устроен хороший баг-репорт на бутылку, какие коды ответа бывают у вина и почему самый известный винный дефект ведет себя как баг, который заодно отключает логирование.
Читать далее10 новых российских продуктов для холодных продаж, цифровизации СТО, рекламы в каналах MAX, подготовки ИТ-документации по ГОСТ, публикации статических сайтов, работы с отзывами и многого другого. Битва за «Продукт недели» 153-ого набора Product Radar началась!
Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд.
Читать далееЯ использую GLM как «молотилку»: отдаю ей большой объём реализации. Модель хорошая, “рабочая лошадка”, но иногда тупит. Я решил проверить, помогут ли ему несколько готовых примеров поверх уже существующих контрактов и автоматических проверок. И получится ли внедрить эту семантику в протоколы. Провёл два небольших эксперимента: сначала на локальных моделях, затем на GLM и Haiku. Академической строгости здесь нет, но практический сигнал получился достаточно заметным, чтобы продолжить тесты на рабочих проектах.
Читать далееFREECELL.EXE из комплекта Win32s с датой 22 февраля 1993 года запускается на свежей Windows 11 без правок и эмуляции, и в него можно играть. Можно ли найти программу с графическим интерфейсом ещё старше? 16-битные приложения отпадают сразу: в 64-битной Windows нет NTVDM. Автор перебрал предрелизные сборки Windows NT 3.1 из Internet Archive: самые ранние спотыкаются о черновой формат PE и о соглашение о вызовах cdecl вместо stdcall, из-за которого аргументы снимаются со стека дважды. Но CDPLAYER.EXE, слинкованный 16 ноября 1992 года, запускается: он берёт системную crtdll.dll, которую Windows 11 до сих пор поставляет в SysWOW64.
Читать далееЧасть первая. Пролог.
Здравствуйте, дорогие друзья! Яркое времяпрепровождение последних двух месяцев и природная впечатлительность заставляют меня написать этот пост. История эта берёт начало из моего предыдущего опыта, о котором я писал на этом ресурсе несколько лет назад (https://habr.com/ru/articles/803901/). Это был действительно полезный жизненный опыт, сложный путь, давший много полезных навыков и умений, способный научить любого, что авантюризм и импульсивные решения — это точно не путь к «успешному успеху». Если быть кратким: прошлая история меня ничему не научила, поэтому этой истории быть!
Читать далееПевец держит одну ноту, а обработанный голос на мгновение перескакивает на октаву. Такое случается, когда плагин принимает сильную гармонику за основной тон. Чем быстрее коррекция, тем заметнее может стать этот промах.
Разберу, как Auto-Tune Artist 9.x и модуль Pitch из Nectar 4 определяют высоту и что делают с волной после выбора ноты. Здесь есть интересные различия: как удержать оценку на ровном звуке, прочитать запись между сэмплами, перенести фрагмент без щелчка. На этих деталях и остановлюсь.
Для начала возьмём одну вокальную дорожку. С хором или аккордом задача была бы другой. Небольшие функции на C++ покажут отдельные расчёты, а пример на Python можно запустить целиком: он меняет высоту звука, сохраняя длину записи.
Как работает автотюнВ мае 2017 года я преисполнился успехом своей карточной настолки (настоящей из бумаги, про стартап) на локальных питерских тусовках и решил перенести её на ПК. Знаете как бывает, что идея сверлит мозг, потом эти вибрации передаются в руки, они сами вечерами что-то пишут, и в какой-то момент вы оказываетесь обладателем работающего концепта и, обычно, так начинается большинство независимых игровых проектов, которые потом никто никогда не увидит.
Замахиваться на вершины геймдева было страшно, поскольку определённый жизненный опыт к тому моменту уже имелся, а так же неприятная история с активиженами и большим количеством потраченых нервов, вместе с которыми появилось понимание собственных возможностей. Пробежавашись по знакомым, я вышел на небольшого издателя, который захотел вложиться временем, своим именем и финансами в игру... и казалось бы, что ещё нужно для счастья? Идея, команда из трех человеков, опыт разработки и даже некоторое представление о том, как всё это превратить в еще одну историю успеха.
Но... как говорится, скоро только кошки родятся, следующие полгода проект прошёл через изменение концепта и из игры про стартап и абсурдные решение превратился в айдл про стартап, фиг с ним... треть оригинальных правил оставались и работали, в альфе добавилась монетизация и реклама, добавив к команде программиста и еще одного художника. А к бете сменилась стилистика, потому что в моду ворвались фермы, и до релиза доехало совсем не то, что начиналось. Основной художник от такого счастья запил и уехал поправлять здоровье куда-то за Урал, вполне физичически изчезнув из жизни проекта, а второй художник был больше худо, чем жник.
Читать далееВ этой статье я расскажу, как устроена звуковая подсистема Nintendo Gameboy, с какими проблемами я столкнулся, пытаясь в реальном времени генерировать звук и синхронизировать с ним картинку. Статья является продолжением моей прошлой публикации.
Читать далееУязвимости в ядре PHP (CVE-2026-109618 и CVE-2026-109619, коллективно именуемые PHP2Shell) — это, безусловно, самая важная новость прошлой недели. Во вторник, 20 октября, разработчики PHP анонсировали патчи, в среду выпустили обновления для поддерживаемых веток PHP 8.2–8.5 и неподдерживаемых PHP 7.4, 8.0, 8.1, а также предложили частично работающие меры противодействия атакам для тех, кто по какой-то причине прямо сейчас обновиться не сможет.
Обе уязвимости в теории обеспечивают возможность выполнения произвольного кода на сервере без авторизации. Важной особенностью любого подобного инцидента является длительность окна между публикацией патчей и началом активной эксплуатации уязвимостей. И в данном случае ожидания были предельно пессимистические: предполагалось, что атаки на уязвимые серверы начнутся в течение 15 минут после выпуска патчей. Из-за этого в ряде стран были превентивно выключены сайты государственных сервисов. Представители Amazon сообщали также о попытках эксплуатации за 4 дня до выпуска патчей. Тем не менее подтвержденные атаки с работающими эксплойтами начались только в воскресенье 25 октября.
Читать далееМой домашний компьютер начал подвисать, когда на нём почти круглосуточно заработали ИИ-агенты. Я спросил в чате одной строкой, почему он тормозит, и получил две причины, которые сам искал бы долго: встроенный Defender проверял каждый из десятков тысяч файлов, которые пишут агенты, а сами агенты, вопреки инструкции, складывали гигабайты на диск C. Рассказываю, как это проверить руками, что мы исправили и чем за это пришлось заплатить. Загрузка процессора упала с 67% до 12%.
Читать далееСостоялся корректирующий релиз Strata 1.1.1 — файлового менеджера, написанного с использованием GTK4 и GIO. Проект изначально развивался как штатное решение для дистрибутива Omarchy, однако не завязан на него и работает в любых современных Linux-дистрибутивах с Wayland.
Ключевой акцент при разработке Strata — скорость отклика интерфейса и сквозное управление без мыши (keyboard-first).
( читать дальше... )
Три равные группы избирателей, три кандидата, у каждой группы вполне связный рейтинг, а при попарном сравнении Алиса обыгрывает Боба, Боб обыгрывает Кэрол, Кэрол обыгрывает Алису. Этот цикл описал Кондорсе в 1785 году, а в 1951-м Кеннет Эрроу доказал, что ни одна система голосования не выполняет сразу несколько простых демократических требований. Теперь трое математиков из Сиднея и Ченнаи показали, что у парадокса есть форма. Если изобразить каждый из шести возможных бюллетеней треугольником и склеить их, получится трубка, на краях которой лежат циклы Кондорсе. Склеить края без противоречий можно только с перекрутом, и тогда трубка превращается в бутылку Клейна — поверхность, у которой нет отдельной внутренней и внешней стороны.
Читать далееПереименовали одно поле в API — и мобильное приложение перестало корректно отображать заказы. Пока сервер уже работает с новым именем, часть клиентов продолжает использовать старое, и обновить их одновременно невозможно. Разбираемся, как провести такую миграцию по шагам, сохранить обратную совместимость и понять, когда старое поле действительно можно удалить.
Изучить решениеКурица, яйцо и CNI
Кластер без CNI — это не «почти рабочий» кластер. В нём не поднимется ни CoreDNS, ни сам Flux, а манифест, который поставил бы сетевой плагин, применить будет некому. Разбираю, из чего складывается этот круг, каким порядком действий он разрывается и какая ловушка ждёт на последнем шаге
Читать далееУ меня в семье регулярно звучит один и тот же вопрос: «А как скачать вот это видео?». Ответ «поставь yt-dlp» не работает: консоль, Python, ffmpeg, ключи командной строки — для человека, который просто хочет песню в машину, это стена. Готовые программы есть, но у одних реклама и платное «Pro», другие заброшены, третьи — онлайн-сервисы с баннерами, которые сами тянут файл через свой сервер.
Я поставил себе простую цель: один zip, двойной щелчок — и всё работает. Без установки Python, без рекламы, без регистрации и без чужих серверов. Внутри — тот же yt-dlp, а снаружи — понятная страница с кнопками. Получился «Универсальный скачиватель». Ниже — не столько про то, что он умеет, сколько про то, обо что я спотыкался по дороге: почти каждая «простая» задача на Windows оказалась с подвохом.
Читать далее