Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Проверка високосности года в трёх командах CPU

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров8.8K

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤ y ≤ 102499 всего примерно тремя командами CPU:

bool is_leap_year_fast(uint32_t y) {

return ((y * 1073750999) & 3221352463) <= 126976;

}

Как это работает? Ответ на удивление сложен. В статье я объясню процесс; в основном он связан с забавным битовым жонглированием. В конце мы обсудим применение этого кода на практике.

Читать далее

Новости

Озон и телефонные мошенники

Время на прочтение11 мин
Количество просмотров19K

"Предупрежден - значит вооружен"
(© народная мудрость)

Наверное все когда-нибудь сталкивались со звонками "старшего майора государственной безопасности" <имя неразборчиво>, объясняющего, что если не сделать то, что он скажет, то из свидетеля легко можно стать обвиняемым, или "службы безопасности банка" с предложением "перевести деньги на защищённый счет" для их сохранения, или "из пенсионного фонда" с просьбой "подтверждения рабочего стажа", для чего надо записаться на приём и продиктовать номер очереди из СМС, или другими случаями телефонного мошенничества.

Большинство при таких звонках сразу кладут трубку, а многие вообще не отвечают на звонки с незнакомых телефонных номеров, а то и просто блокируют их.

Но бывают ситуации, когда человек ждет подобного звонка, и поэтому становится особенно уязвимым. Например если вы заказали какой-то товар и ждете его доставку, то наверняка будете отвечать на все звонки, а если звонок окажется явно "по теме", то бдительность еще сильнее притупляется.

Читать далее

Как я случайно поучаствовал в Bug Hunting Яндекса и взломал почти все умные колонки и ТВ

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров24K

Предыстория:

Являюсь инженером и одновременно владельцем сервиса по ремонту электроники.
Однажды мне принесли Яндекс Станция Мини и попросили поглядеть. Дефект был: нет звука, но при этом слышит. Не исправен оказался DAC (i2s) цифро‑аналоговый преобразователь, но найти такой оказалось очень проблемно, поэтому была найдена точно такая же колонка, но заблокированная из за не оплаченной подписки.
Суть подписки в том, что устройство покупается в рассрочку и оплачивается ежемесячно до полного выкупа, а если пропустить платёж то устройство блокируется, пока он не будет внесен. Идея, конечно, хорошая и полезная, но этим начали пользоваться мошенники покупая колонки на подписке, а потом сбывая их за полную стоимость, пока они еще активны и в последствии жертве устройство разблокировать «НЕВОЗМОЖНО».

Пересадка DAC полностью оживила колонку, а вот плату от заблокированной отставили мне. Бросив её на полку, я благополучно о ней забыл.

Однако, через пару месяцев, была сильная просадка по работе, было прям скучно, и она мне снова попала в руки. Когда‑то давно, более 15 лет назад, я занимался портирование android 1.6 на wm телефон toshiba g900, поэтому решил оживить знания. Тогда я еще не знал, что такое кроличья нора, насколько она глубока и как туда залезть.

Оговорочка: сразу сообщаю, я не был знаком с Yandex f*ck или с кем‑то еще, всё делал сам в виде челленжа для себя, не преследуя никакую наживу. Всё было проделано исключительно в целях самообразования, а цикл статей решил написать так как Яндекс не совсем честно поступил по моему субъективному мнению, а именно не считает, что уязвимость есть и возможно не собирается/не может это исправить.

Follow the rabbit

Сказ о том, как один программист себе мебель из ДСП на PHP программировал

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров13K


Тут немного о том, как я сделал библиотеку для проектировки простой мебели из ДСП не визуальным методом, а в виде PHP-скрипта.
Вперед, в мир безумия!

В Политехнический музей будет передана одна из последних сохранившихся ЕС ЭВМ

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.2K
К возможности написать эти строки мы шли более десяти лет. Теперь уже решено: фонды крупнейшего научно-технического музея страны скоро пополнятся узлами вычислительной машины ЕС 1055М, почти 40 лет бережно сохранявшейся в стенах ЦЭМИ — Центрального экономико-математического института.


Читать дальше →

«Кем Вы видите себя через 5 лет», или HRско-русский разговорник

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров43K

Вас спрашивали «Кем Вы видите себя через 5 лет»? Меня тоже. За двадцать пять лет в IT я понял, зачем они так делают. Понял – это значит, что я «привык и научился пользоваться» (С). Но «неприятно удивлять» они меня не перестали.

Публикую свой личный русско-HRский разговорник. Он вряд ли поменяет ваше отношение к HRскому языку, но проходить собеседования вы будете проще и эффективнее.

Дисклеймер:

Я не призываю врать или «играть по правилам» HR. Я делюсь практической схемой подачи опыта и скиллов, чтобы минимизировать отказы «по софтам». В моем случае она работает.

Читать далее

Где бесплатно хостить пет-проект с собственным доменным именем

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров15K

У меня есть несколько персональных пет-проектов, где я тестирую различные технологии, сервисы и библиотеки или упрощаю собственную жизнь (например, персональный трекер с единственным пользователем — мной). Иногда хочется захостить эти проекты за пределами личного ноутбука, а еще лучше если есть возможность прикрутить собственный домен, чтобы можно было делиться с другими людьми. Так как все это абсолютно не коммерческие истории, то платить деньги за хостинг не очень хочется. Раньше для таких целей я пользовался Heroku, но еще несколько лет назад они закрыли бесплатный тариф. В очередной раз столкнувшись с желанием захостить свой проект я решил изучить вопрос.

Найденные варианты я собрал в табличку, актуальную на май 2025. ChatGPT o3 наврал в ответах, поэтому пришлось добавлять, фильтровать и перепроверять данные вручную. К сожалению, приходится сравнивать «яблоки с попугаями», потому что каждый Cloud провайдер рассчитывает стоимость хостинга немного «по‑своему» и включает в бесплатный тариф только часть функциональности.

Читать далее

Самодельная газоразрядная Хабралампа V 1.1

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров4.5K

Ещё одна самодельная лампа с символами, из учебно-тренировочной серии с упрощённой обработкой и из дешёвого стекла от ламп дневного света (ЛДС). От предыдущих работ отличается крупной надписью с оригинальным, условно-объёмным расположением букв, работой на постоянном токе, компактным электродом-геттером из титана.
Читать дальше →

Запускаем раритетные платы фискальной памяти

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.4K
Приветствую всех!
Давным-давно, во второй половине девяностых, с появлением больших супермаркетов начали получать распространение различные системы по автоматизации торговли, в числе которых были кассы на базе обычных компьютеров. Примерно в то же время появилось требование оснащать кассовые аппараты фискальной памятью, что в сочетании с подобными системами породило немало кажущихся сейчас забавными или просто нелогичными конструктивных решений.



Что же это были за девайсы и чем такие кассовые аппараты отличались от обычных ПК? Сейчас и узнаем: взглянем на железо пары таких компьютеров и фискальный регистратор тех же годов. И, конечно же, попробуем увидеть всё это в работе.
Читать дальше →

Процессор на коленке ч.1

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7.7K


Предыстория


Захотелось мне как-то перевести управление станком на ПЛИС, а для этого понадобилось ядро процессора. Поиск на opencores не особо помог, x86 лицензированный, ARM лицензированный, NIOS… ну, вы поняли. Если выдумывать свою систему команд, может получиться криво, и главное, где брать компилятор. В общем, всё было сложно, так что на время идею пришлось отложить.
С недавних пор ситуация изменилась, архитектура RISC-V пошла в массы.

Читать дальше →

Есть ли у AMD перспективы в AI/ML/DL. Часть 1

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.4K

Привет, Хабр! Я Ефим Головин, старший MLOps-инженер в Selectel. Некоторое время назад мы в отделе Data/ML начали задаваться вопросом: а как там поживает AMD? Понятно, что у них масса дел, но нас интересовало, скорее, что у них в плане AI/DL/ML. С NVIDIA все плюс-минус ясно, это стандарт. А вот AMD — что-то неизвестное. Я вообще предполагал, что у «красных» хотя бы в плане терминологии и документации все должно быть плюс-минус аналогично тому, как оно есть у NVIDIA. Но решил убедиться в этом, поэтому отправился изучать документацию обеих компаний и попал в дивный мир хаоса, бардака и разброса в терминах. Не могу держать в себе, давайте разбираться вместе. Начнем, как ни странно, с поиска истины в документации NVIDIA.
Читать дальше →

Скам на $700,000 в Solana: как токен с ростом в 4 млрд% обнуляется за секунды

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров42K

Как работает одна из самых массовых скам-схем на Solana?

В неё заливают сотни тысяч долларов ликвидности, рисуют +4 млрд% роста mCap — а на выходе оставляют тебе ноль.

👉 Наткнулся на эту стратегию случайно, пока анализировал скринеры с щиткоинами.. ещё до того, как взялся писать своего арбитражного бота.

Осознанно залетал несколько раз на разные суммы, пытаясь переиграть и заработать, но, естественно, ничего не вышло 😁

Зато копнул глубже, разобрался в деталях как все устроено и получил интересный опыт.

👉 После прочтения статьи сможете лучше понять механику под капотом и обезопасить себя от подобных скам-схем.

(Половина статьи это скриншоты, не пугайтесь обьема)

Читать далее

Как найти и потерять бэкдор в ESP32

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров8.3K

В марте маленькая платка внезапно оказалась в центре глобального технологического скандала. Заголовки пестрили страшилками про «бэкдор» в «миллиардах устройств», и по новостям казалось, что хакеры вот-вот захватят все умные лампочки, термостаты и прочий IoT.

А потом... все как-то поутихло. Что же на самом деле нашли испанские исследователи в популярном микроконтроллере? Почему новость о «бэкдоре» разлетелась со скоростью лесного пожара? И главное — насколько реальна была угроза?

Давайте разберемся в этой запутанной истории, где переплелись технические исследования, PR-ходы, погоня за кликами и, конечно же, всеми любимые низкоуровневые протоколы. Поехали!

Читать далее

Ближайшие события

Проект «Мультиключ». Эмулятор ключей от домофона на ESP8266

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K

Никак не доходили руки до написания этой статьи, точнее я её планировал написать после полноценного перевода устройства на esp32 c3, который никак не состоится.

Вкратце напомню о чем этот проект, и чем он закончился в прошлой статье. Мы разрабатываем компактное устройство для чтения, хранения, записи и эмуляции электронных ключей (которые чаще всего встречаются у нас в подъездах и на проходных). Изначально это был проект одного из моих учеников. Но в этом году, для участия во ВСОШ по робототехнике ему пришлось поменять тему работы, которая тоже довольно интересная, как-нибудь по неё тоже напишу). А я по наличию времени и энтузиазма продолжил добивать программную часть.

В прошлой статье мы перевели устройство на esp8266, что сделало его более производительным и решило проблему с памятью. У нас получилось прочитать и эмулировать контактные ключи dallas и русские Сyfral и Metacom. После этого мы решили перейти к бесконтактным ключам стандарта EmMarine.

Без контактные ключи уже так просто, при помощи одного резистора, не прочитаешь, нужен детектор-генератор на 125 кГц. На этом этапе опять очень помог проект от Alex Malov EasyKeyDublicator. У него я взял схему детектора без изменений. И первые тесты производил на Arduino Nano.

Читать далее

От инженеров до барыг, или откуда растут переработки и прочая корпоративная шиза. Часть 2

Уровень сложностиПростой
Время на прочтение46 мин
Количество просмотров54K

Почему в современном менеджменте столько глупости? Почему руководители принимают идиотские решения, верят в переработки, садистское отношение к сотрудникам и не умеют думать на 2 шага вперёд?

В прошлый раз мы разобрали, какие различные исторические явления, религия и рабовладение обеспечили массовое распространение корпоративной шизы.

В этот раз рассмотрим, как создающие системы инженеры сменились на сиюминутных барыг.

Разобрать механизм появления барыг

Всё про Generic Math в C#

Уровень сложностиСложный
Время на прочтение21 мин
Количество просмотров7.5K


С момента своего релиза в C# 11 и .NET 7 Обобщённая Математика так и осталась тёмной лошадкой в глазах программистов. Разработчики не понимают и не используют эту фичу, статья же ответит на все вопросы и разложит всё по полочкам.

Рассмотрим с нуля концепцию Generic Math. Как она выглядит в C# и других языках программирования, почему вообще появилась. Также зароемся в «кишки» System.Numerics и узнаем, как применить в продакшне кровавого ынтэрпрайза.
Читать дальше →

Курсы по тестированию — развод, маркетинг и пустышки

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров5.5K

В этой статье — без прикрас и маркетинговой мишуры. Жестко, честно и по фактам рассказываю, как устроены мошеннические курсы в тестировании (и не только), как вас обманывают, и на что стоит обращать внимание, чтобы не слить деньги впустую.

Читать далее

Откуда у Xiaomi так много разных устройств?

Время на прочтение11 мин
Количество просмотров15K

Сегодня Xiaomi - это огромная экосистема умных гаджетов (и не только), у которой чего только нет - от смартфонов, наушников и устройств умного дома до водяных пистолетов, прикроватных тумбочек и даже умных палочек для ушей. Но откуда у одной компании столько разных продуктов? Разбираемся.

Читать далее

Самоорганизация неприятностей

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.5K

Всевозможные катастрофы и «чёрные лебеди» бывают очень разнообразными, они тревожат, занимают наше внимание и забивают эфир подробностями. Для того чтобы выработать устойчивость к ним (то, что сейчас называют «антихрупкостью») стоит сосредоточиться и исследовать само явления катастрофизма. Выйдя за рамки философствования в духе «все там будем», можно обнаружить и общие закономерности и признаки систем, тяготеющих к катастрофическим сценариям развития.

Сегодня я предлагаю рассмотреть поведение очень простой, наглядной и прозрачной модели распространения лесных пожаров, для того чтобы познакомиться с важным и универсальным явлением самоорганизующейся критичности (СОК) и его свойствами.

Читать далее

Любителям x86-64 assembler посвящается: DIY волокна в C++

Уровень сложностиСложный
Время на прочтение26 мин
Количество просмотров11K

Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-доброго C++. Мы сделаем собственную реализацию... Волокон (fibers) без вызова Win API и звонков в службу спасения.

Читать далее
1
23 ...