Совсем недавно мы писали о приписываемой северокорейской группировке атаке, целью которой были разработчики ПО, находящиеся в процессе поиска работы. На прошлой неделе исследователи компании Microsoft опубликовали отчет о еще одной похожей атаке. В более раннем исследовании основное внимание было уделено социальной инженерии, в то время как Microsoft подробно рассказывает о технической стороне атаки.
Общая схема атаки показана на скриншоте выше. В процессе интервью разработчику присылают ссылку на код веб-приложения, написанного с использованием фреймворка Next.js. Код хранился на сервисе Bitbucket. Организаторы атаки предусмотрели несколько вариантов выполнения вредоносного кода, содержащегося в проекте. Например, может использоваться автоматизация для Visual Studio Code, которая дает команду на выполнение сразу после того, как разработчик открыл проект и обозначил его как доверенный.
Читать далееПривет, Хабр! Это четвёртая статья из серии про QA собеседования. Уже разобрали тест-дизайн, API и Security и System Design. Теперь — SQL. На собеседованиях SQL задают чаще, чем многие ожидают. Не уровня DBA, но и не SELECT * FROM users. Обычно дают таблицу и просят написать запрос прямо на доске или в Google Docs. Если впадаете в ступор при слове JOIN — эта статья для вас.
Читать далееМногие запуски в Telegram Ads признают “неокупившимися” слишком рано — и часто проблема оказывается не в самой рекламе, а в том, как бизнес смотрит на результат.
В этой статье разбираю, где обычно ломается экономика после клика, почему возникает ощущение “слили бюджет”, и как отличить реальный провал от ошибки в интерпретации метрик.
Читать далееdef get_features_all(y, sr):
"""
Получаем различные параметры аудио которые в сумме дадут уникальный набор признаков
"""
# Частота цветности
chst = librosa.feature.chroma_stft(y=y, sr=sr)
# Среднеквадратичные колебания (энергия сигнала)
rmse = librosa.feature.rms(y=y)
# Пересечения нуля (частота смены знака сигнала)
zcr = librosa.feature.zero_crossing_rate(y)
# Центр масс звука (спектральный центр)
spe_c = librosa.feature.spectral_centroid(y=y, sr=sr)
# Ширина полосы частот
spe_b = librosa.feature.spectral_bandwidth(y=y, sr=sr)
# Спектральный спад частоты
rol = librosa.feature.spectral_rolloff(y=y, sr=sr)
# Значимые для обработки частоты (MFCC)
mfcc = librosa.feature.mfcc(y=y, sr=SR, n_mfcc=50,
n_mels=50, hop_length=1024)
return chst, rmse, zcr, spe_c, spe_b, rol, mfcc
На фото ниже - Tungsten T5, пожалуй самый мощный КПК от Palm на ARM-процессоре. Будучи построенным на чипсете Intel PXA270 и с невероятными для PalmOS 64МБ SDRAM ОЗУ, девайс стал одним из последних классических хэндлхэлдов от Palm. Но у него есть беда...
Читать далееВ статье рассматривается концепция безнейтронного термоядерного реактора (Aneutronic Fusion), использующего топливный цикл дейтерий–гелий-3 (D-3 He). Основное внимание уделено решению проблемы деградации материалов первой стенки и электростатических коллекторов через внедрение системы модульного горячего резервирования (схема 1+2), механизмов адаптивной ориентации защитных сегментов (Flip-Flop) и иерархической системы управления с распределенной автономностью узлов.
Читать далее19 января 1999 года на рынке появилось устройство, которое без преувеличения совершило революцию на рынке корпоративных коммуникаций: BlackBerry 850 Pager. Компактный гаджет, умещавшийся на ладони, был оснащен процессором Intel 386, работал от одной батарейки типа АА (заряда хватало на 2-3 недели) и позволял отправлять и получать электронные письма в реальном времени.
Успех устройства моментально поднял выручку производителя, канадской компании Research in Motion, на 80%. Из небольшой, но гордой фирмы они в одночасье стали законодателями моды бизнес-сегмента рынка электроники. На родине BlackBerry 850 предлагалось купить за $549 при ежемесячной плате $49,99 за безлимитный доступ. Кроме того, устройство можно было взять в аренду: $24,99 в месяц с доплатой $49,99 за связь и $69 за активацию. Всего через полтора года после запуска компания наняла почти 500 новых сотрудников, доведя штат до 740 человек, и инвестировала десятки миллионов долларов в покупку офисных зданий рядом с Университетом Ватерлоо.
Так оптимистично начинается на самом деле грустная история о взлете и падении бренда BlackBerry.
В начале нулевых BlackBerry был символом статуса и успеха. Носить его означало демонстрировать принадлежность к профессиональной элите. Но уже к 2016 году, выпустив больше десятка удобных, эргономичных и горячо принятых на рынке гаджетов, бренд растерял почти все, что имел, и перевел фокус на разработку программного обеспечения.
В этой статье мы проследим путь компании — и постараемся найти собственный ответ на вопрос «а есть ли в современном мире будущее у идеологии, заложенной создателями BlackBerry?».
Читать далееСтатья представляет компактную математическую нотацию для SQL-препроцессора, разработанную для формирования сложных условных выражений из JSON-конфигураций. Нотация позволяет кратко записывать операции с множествами и интервалами: комбинированные операторы (>=[18,65]), стрелочные символы для интервалов (>> — BETWEEN, >< — NOT BETWEEN) и логическое отрицание через знак минус. Цель — создать интуитивно понятный, непротиворечивый и расширяемый язык запросов. Практическое применение — генерация SQL-кода в препроцессорах, DSL для построителей запросов, компактные фильтры в JSON-API. Рассматриваются сильные стороны и потенциальные проблемы нотации, сравнительный анализ с аналогами (Quist, SQL++, PRQL), выявляется уникальность подхода. Автор приглашает к обсуждению и предлагает сотрудничество.
Читать далееПоследнее время вся моя работа связана с энтерпрайзом и бигтехом. Но так было не всегда. Лет 12-15 назад работал в производственной компании, и там довелось создать «на коленке» систему мониторинга для промышленного оборудования.
У компании были современные импортные станки с проприетарным софтом, дорогим обслуживанием. Непрерывное круглосуточное производство. Но собственная IT-инфраструктура была слаба – всего несколько разработчиков, а аналитики бизнесовые. Всё же бизнесу нужно было следить за оборудованием: кто работает, кто простаивает, кто отключает датчики. Крайне необходимо было снизить вероятность поломок и простаивания.
В статье расскажу, как «на коленке» собрали многомодульную систему.
Вперёд в прошлое!В машинном обучении есть такой метод - обучение с подкреплением (reinforcement learning, RL), который используется для решения задач последовательного принятия решений. В этом методе агент на каждом шаге взаимодействует со средой, изменяя её. Обратной связью для него является некая искусственно сконструированная награда, которая выдаётся на каждой итерации взаимодействия. Основная проблема в том, что действие и награда напрямую не коррелируют. Часто, награда назначается за какое-то финальное достижение, которого можно достичь только выполнив определенную последовательность действий с нулевым или даже отрицательным вознаграждением. Существуют различные способы "протянуть" награду вдоль всей траектории, чтобы в конце концов агент осваивал более-менее приемлемую стратегию поведения.
Удивительно, но обучение с подкреплением никак не использует информацию о том, какие изменения происходят в среде в результате выбранного агентом действия, а только скалярную величину награды. В этом небольшом эксперименте, мы хотим проверить, может ли эта информация как-то быть обработана и использована для построения стратегии агента.
Читать далее2 марта 2026 года я получил на анализ фишинговое письмо. Отправитель - «M e t a», тема - «[Требуется действие] Завершите проверку, чтобы восстановить показ объявлений». SPF pass, DKIM pass, ARC pass - письмо прошло все проверки и лежало во входящих Gmail. Ключ - цепочка Resend.com → Amazon SES → Gmail, где каждый элемент легитимен. Разбираю, как атакующие этого добились и почему это работает.
Читать далееtldr: ИБП использует Modbus (а не Megatec/Voltronic), параметры BAUDRATE = 9600, DEVICE_ID = 10, START_ADDR = 30000.
У меня была задача - купить ИБП для домашней системы хранения / homelab сервера.
Идея была купить что-то не слишком дорогое, с возможностью подключения внешних АКБ и мониторинга через стандартный протокол NUT (Network UPS Tools, стандартный протокол по которому можно мониторить UPS в linux, NAS типа Synology и т.д.) .
Читать далееНа почти каждой Linux-машине в мире живёт один маленький бинарник. Весит несколько мегабайт, несколько десятков тысяч строк кода, поставляется со своим собственным конфигурационным языком, и CVE-шек за ним накопилось столько, что хватит на хорошую таблицу с фильтрами. Большинство из нас запускает его по десятку раз в день, не задумываясь.
Этот бинарник — sudo.
В мире Docker-контейнеров, эфемерных CI-раннеров и Kubernetes-подов, которые живут тридцать секунд и умирают без предупреждения, большая часть того, что умеет sudo, попросту не нужна для той работы, ради которой мы его вообще вызываем.
Вот о чём эта статья: что это за работа, как она обросла такой сложностью, и как маленькая программа на C справляется с ней лучше.
Читать далееAI‑инструменты часто делают одно и то же: они выбирают слишком тяжёлое решение там, где достаточно простого. Ценность человека — в инженерном суждении: распознать плохую архитектуру, остановить усложнение, выбрать более простой путь, держать систему в здравом состоянии.
Читать далееВы попросили ChatGPT добавить скидку 10% на заказы больше $100. Он выдал 40 строк кода. Скидка работает - проверили на заказе в $150, получили $135. Закоммитили.
Чего вы не заметили: модель переписала функцию расчёта цены целиком. Не потому что нужно было. Просто так получилось - LLM не "редактирует" код, он генерирует новый текст на основе вашего промпта и контекста. В процессе он изменил порядок вычисления налога. Заказы меньше $100 теперь считают налог дважды. Товар за $10 стоит $10.80 вместо $10.50. Вы узнаете об этом через три недели, когда клиент напишет в поддержку.
Читать далееКогда я собирал систему «Умный дом» в загородном доме, столкнулся с двумя классическими проблемами, которые, наверное, знакомы многим, кто строит IoT на Wi-Fi:
1. В подвале коммутатор управления отоплением периодически «глотал» команды. Аналогичные пропуски случались и в других менее критичных системах, расположенных в дальних пыльных (от туда и название проекта) углах дома с неуверенным покрытием Wi-Fi.
2. Не все устройства одинаково хорошо переносили слишком частую отправку команд.
Тянуть Ethernet по всему дому и сверлить стены или развешивать дополнительные роутеры/повторители мне категорически не хотелось. Поэтому первую проблему нужно было решать чисто программно.
### Почему стандартные возможности брокера не подошли
Многие MQTT-брокеры (в том числе популярный Mosquitto) позволяют включить «хранение последнего сообщения» (retain) и QoS 1/2. Но этого оказалось недостаточно.
Например, когда нужно передать на электронный замок целый список RFID-меток — одной «последней» командой не обойтись. Если устройство в момент отправки было недоступно, список просто терялся.
### Решение: контракт с подтверждением
Я изменил договорённость между брокером и потребителем (consumer):
- При получении любого сообщения устройство обязано ответить подтверждением.
- Только после получения подтверждения сообщение считается доставленным.
- Если подтверждение не пришло за заданное время — сообщение автоматически уходит в очередь на повторную отправку.
В тот же модуль я добавил защиту от слишком частой отправки:
Читать далееВ пасмурный январский день историк Иван Малара сидел в Национальной центральной библиотеке Флоренции, внимательно изучая семь экземпляров древнейшего и наиболее влиятельного астрономического текста XVI века. Страницы принадлежали «Альмагесту», в котором ученый-энциклопедист II века Клавдий Птолемей описал свое видение геоцентрической модели Вселенной. Листая страницы, Малара заметил нечто необычное. Кто-то записал Псалом 145 на пустой странице — почерком, напоминающим почерк очень известного тосканского астронома.
Малара понял, что в этой книге оставил огромное количество примечаний не кто иной, как Галилео Галилей. Открытие Малары, описанное в статье, которая сейчас находится на рассмотрении в журнале «Journal for the History of Astronomy», уточняет наше представление об одном из самых известных идеологических переходов в истории науки: моменте, когда Землю вытеснили из центра нашей Вселенной.
Читать далееДве недели. Именно столько понадобилось, чтобы гонка ИИ-гигантов превратилась в полноценную войну миров.
5 февраля Anthropic выпускает Claude Opus 4.6 – короля экспертных задач, который мгновенно захватывает вершины рейтингов качества и пользовательских симпатий. Ажиотаж, восторг, заголовки.
Но 19 февраля Google берёт паузу... и выстреливает Gemini 3.1 Pro. Результат? +46 процентных пунктов в тесте ARC-AGI-2 (77,1% против 31,1% у предшественника), лидерство в 12 из 18 бенчмарков и ценник, от которого у конкурентов округляются глаза.
Gemini 3.1 Pro вдвое обходит предшественника в тестах на рассуждение, стоит в 6,5 раза дешевле флагмана конкурента и штампует 3D-симуляции птичьих стай по текстовому описанию. Claude Opus 4.6, который не гонится за скоростью, а размышляет вслух, взвешивает моральные дилеммы и остаётся любимцем людей в слепых тестах.
Как не запутаться в этом треугольнике и выбрать модель под свои задачи? И почему эксперты в финансах и юриспруденции отдают предпочтение Sonnet 4.6, оставляя “тяжеловесов” далеко позади?
Разобрали 18 бенчмарков, чтобы вы поняли, за какой моделью – ваше завтра. В этом материале мы свели все цифры, графики и пользовательские ощущения, чтобы у вас была полная картина февральской перезагрузки. Узнайте, какая модель сделает вашу работу лучше, быстрее и дешевле и кто победит в этой дуэли – цифровой гений-отличник или философ с душой.
Читать далееУ нас появились долгожданные подписки! Мы добавили модели, которых раньше не было. И теперь полный список выглядит следующим образом: GLM-4.7, GLM-5, MiniMax-M2.5, DeepSeek-v3.2, Kimi-K2.5, Gemini 3 Flash Preview и GPT 5.3 Codex. Sonnet и Gemini Pro сейчас тестируем — подключим после проверки стабильности в IDE и CLI.
Читать далееСнижение веса, рекомпозицию тела, рост мышц я часто описываю с разных сторон, ситуаций и концепций, потому что мы разные, имеем разные цели и живем по разному. Несмотря на это самый высокочастотный комментарий под любыми публикациями про контроль веса был есть и будет про то, что «надо меньше есть, больше двигаться».
Читать далее