Обновить

Разработка

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

Тайное уравнение, позволявшее США следить за всеми

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели29K

В 2006 году АНБ скрыла в криптографическом стандарте Dual EC DRBG математический бэкдор. Агентство отрицало его наличие восемь лет. Затем утечки Сноудена подтвердили его существование.

Двойные эллиптические кривые (Dual Elliptic Curve) используются как безопасные генераторы случайных чисел (RNG). Математический бэкдор позволял правительству США расшифровывать SSL-трафик Интернета (Green 2013)1.

Эта статья будет технически глубоким исследованием для программистов. Мы реализуем и исходную правительственную научную статью (SP 800-90 2006)2, и бэкдор, обнаруженный исследователями Microsoft (Shumow & Ferguson 2007)3.

На моём домашнем компьютере для взлома 28 байт (не бит) при помощи этого бэкдора требуется 2 минуты. Представьте, какой объём Интернет-трафика правительство США могло расшифровывать при помощи суперкомпьютеров Министерства обороны.

Читать далее

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

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

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

Читать далее

Проблема высоких каблуков в играх

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

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

Читать далее

Просто пиши код

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

По мотивам статьи: Не пиши простой код и старого манифеста

Эта статья о других, о тех кто случайно просто пишет код, или кому случайно пришлось писать код раньше. Или о тех, кто случайно код не пишет, но очень хочет.

Просто пиши код, пока остальные на митинге спорят, в какую борду переместить эту таску. Потому что ни одна Jira не напишет багфикс.

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

Просто пиши код, даже если это говнокод, он будет работать. Работающий говнокод гораздо лучше десятка тасок в жире.

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

Просто пиши код, потому что вместо инвестиций в инженеров компания вкладывалась в настолки и ворклайф баланс — теперь у нас в офисе есть чемпион по "Evolution", но инженеры не знают как пользоваться профайлером.

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

Простопиши код, потому что когда ты пытался разделить архитектуру на слои и модули, тебе отвечали: «Это всё теоретизация, у нас бизнес и фичи». А теперь этот бизнес держится на толпе джунов и пачке jsonов.

Просто пиши код, потому что Хабр завален «Как я продаю на маркетах когтеточки» и «Как я уволился ради душевного баланса», а вот статью про memory fences или perf counters — хрен найдёшь.

Пиши код, #$%^&!

Релятивистская трассировка лучей

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели7.6K

В этой статье я покажу как можно самому, бесплатно и без смс, нарисовать черную дыру при помощи OpenGL, в полном соответствии с ОТО.

Для этого, мы сначала выведем уравнения движения лучей света, напишем интегратор Рунге-Кутты на GLSL, и наконец, объединив одно с другим, получим фрагментный шейдер, который вычисляет путь лучей, отправленных из камеры назад во времени.

Читать далее

Двенадцать заповедей от тех, кто уже выжил в IT (и не потерял чувство юмора)

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

Каждый раз, когда меня спрашивают: «А как ты вообще пришел к этим заповедям?», я улыбаюсь и вспоминаю одну историю. Она началась не в IT, не в офисе и даже не за чашкой кофе (хотя кофе, конечно, был). Она началась там, где начинается всё важное — в голове одного человека, который однажды осознал, что его жизнь превратилась в бесконечный марафон без финишной черты.

Читать далее

Экологичное расставание с Алисой: строим полностью локальный и приватный голосовой ассистент

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

Идея отказаться от использования Яндекс Алисы в системе умного дома возникла у меня после новости о принятии Госдумой законопроекта, касающегося штрафов за поиск и доступ к экстремистским материалам в интернете. Казалось бы, при чём тут голосовой помощник? Однако Яндекс входит в реестр организаторов распространения информации, что означает определённые юридические и технические обязательства по хранению и передаче данных.

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

Тем более что сейчас единственным слабым звеном в моём умном доме остается Яндекс Алиса — которая требует постоянного интернет‑соединения даже для выполнения простейших команд управления локальными устройствами.

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

Алиса, извини

Самые отбитые проекты Github

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

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

Так что заваривайте чаю с ромашкой и запасайтесь успокоительными — с такой подборки поплохеет многим.

Читать далее

Дыра в щите Cloudflare: как атака на Jabber.ru вскрыла проблему, о которой молчат c 2023

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели21K

Многие помнят позапрошлогодний инцидент с Man-in-the-Middle атакой на XMPP-сервис jabber.ru. Эта история наделала много шума, но, как мне кажется, главный вывод из неё так и не был усвоен широкой аудиторией. А зря. Потому что эта атака вскрыла системную уязвимость в процессе выдачи TLS сертификатов, которая напрямую касается миллионов сайтов, особенно тех, кто доверяет свою безопасность Cloudflare.

В этой статье я расскажу вам о самой уязвимости и как вы можете быть ей подвержены.

В кроличью нору

l9ec: волшебный патч ядра Linux

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

Если вам неудержимо хочется использовать оборудование из музея для современной разработки — статья специально для вас.

Читать далее

Почему QR-коды в верхнем регистре меньше, чем в нижнем?

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели11K

Взгляните на эти два QR-кода. Отсканируйте их, если хотите: обещаю, в них нет ничего опасного.

Слева HTTPS://EDENT.TEL/ в верхнем регистре, а справа — https://edent.tel/ в нижнем.

Можно чётко заметить, что слева QR-код «меньше», то есть в нём меньше битов данных. Оба ведут на один и тот же URl, единственное различие заключается в регистре.

Что здесь происходит?

Читать далее

Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 3

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели22K

Продолжим вскрывать якобы отечественные микросхемы предназначенные для счетчиков электрической энергии. В прошлой статье мы рассказали про "отечественный" микроконтроллер К5553ВГ01Т от компании ООО "Интегральные Телематические Решения", который дает необходимые 28 баллов для получения статуса отечественной продукции для счетчика электроэнергии. Но на самом деле это оказался перемаркированный микроконтроллер V8530P от тайваньской компании VANGO. Но даже честного отечественного микроконтроллера недостаточно, чтобы набрать необходимые 113 баллов. Для этого требуется в том числе и специализированная микросхема Аналого-Цифрового Преобразователя, которая дает еще 13 баллов. У компании ООО "Интегральные Телематические Решения" в реестре есть еще микросхемы - К5553ХП01Т (реестровый номер 10577674) и К5553ХП02Т (реестровый номер 10577675). Неужели они и будут теми самыми АЦП? Давайте их посмотрим поближе...

Читать далее

Функциональное IT искусство

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

Иногда простая игра с идеями может завести гораздо дальше, чем планируешь. Так вышло и здесь: безобидный эксперимент с ASCII-артом превратился в создание собственного графического формата, быстрых алгоритмов кодирования, а затем и прототипа видеозвонка, работающего прямо в терминале. Между строк, десятки попыток, неожиданные находки, нестандартные решения и то самое удовольствие, когда техника оживает под руками.

И если всё это звучит как безумная смесь олдскула, низкоуровневой магии и настоящего инженерного кайфа? Вы правы! В статье я подробно рассказываю, как от студенческого мини приложения дошёл до своего кодека и p2p-звонилки, почему отказался от готовых решений, что пришлось invent-ить с нуля и какие открытия ждали на каждом шаге. Если хочется увидеть, как «а вдруг?» превращается в работающий проект, милости прошу внутрь.

Читать далее

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

Пишем свою мобильную ОС с нуля на Rust

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели35K

Почему бы не запустить своё ядро прямо на смартфоне? Без Android, без Linux — только Rust, загрузчик и паяльник. В этой статье расскажу о результатах своего эксперимента, как оживить голое ARM-железо, увидеть первые символы в UART и даже вывести что-нибудь на экран.

Читать далее

Переезжаем в Firefox. Советы по настройке

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели34K

Разработчики Chrome, наконец, урезали поддержку лучшего блокировщика рекламы, uBlock Origin, и теперь популярность моего любимчика Firefox снова растёт1. Так что здесь я постараюсь убедить вас перейти на этот браузер и покажу, как его использовать.

Читать далее

Self-hosted связь со своей семьей

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели35K

Я сделал видеосвязь для семьи: один бинарник, домен, 200 рублей в месяц — и всё работает

Когда российское правительство начало блокировать звонки один за другим, я понял, что нужно что-то делать. Семья должна оставаться на связи — это не обсуждается. Но все популярные решения либо заблокированы, либо требуют VPN, либо сложны для установки, а также не дают полного контроля над данными.

Казалось бы, простая задача. Но оказалось, что даже в 2025 году создать полностью автономное решение для видеозвонков — это целое приключение.

Читать далее

Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 2

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели15K

В прошлой статье мы искали отечественные микросхемы в отечественном счетчике Энергомера СЕ207 R7 и не нашли их там, вместо них мы нашли микросхемы микроконтроллера и АЦП от тайваньской компании VANGO. При этом если верить записи в реестре российской промышленной продукции по 719 ПП РФ, то этот счетчик набирал 117 баллов, что возможно сделать только с применением как минимум отечественной микросхемы микроконтроллера. Как же тогда счетчик смог набрать 117 баллов? Эксперты Торгово Промышленной Палаты очень грамотные и образованные люди, и обычной перемаркировкой их не провести. Значит на экспертизу в ТПП все же был представлен счетчик на отечественных микросхемах. Осталось только найти на каких? Ну собственно, пойдемте искать их вместе...

Читать далее

Телефон на 600 квартир

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели19K
Приветствую всех!
Когда-то давно попался мне на просторах вот такой мем:


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

Часы, будильник, GPS, генератор шума и всё-всё-всё…

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.6K


Приветствую, Хабр!

Начать нужно с того, а для чего все это вообще нужно? Ответ частично лежит на поверхности и исходит из названия, но все-таки не совсем очевиден. Все началось с того, что как-то я прочитал статью о благотворном влиянии белого и розового шума на процесс засыпания. Тема мне показалась интересной, так как с этим у меня есть некоторые проблемы. То есть я соблюдаю режим, не сижу перед сном с телефоном, стараюсь не есть на ночь, но факт остается фактом. Но при чем тут GPS, спросите вы! Давайте обо всем по порядку.
Читать дальше →

Перестань вайбкодить: почему «разработка на расслабоне» убьет твою карьеру

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели38K

Ты пишешь код быстрее, чем когда-либо. IDE угадывает твои мысли, тикеты закрываются. Кажется, что ты хакнул систему и поймал тот самый «вайб». Но есть нюанс: если завтра отключат интернет и помощников, сможешь ли ты написать сложную логику с чистого листа?

Читать далее