Pull to refresh
60
0

Пользователь

Send message

За чистое небо над головой

Level of difficultyEasy
Reading time3 min
Views7.1K

В прошлом году мы запустили на орбиту пикоспутник с самым настоящим сервером, и в честь этого сделали Telegram-игру «Спутник против мусора». Рекомендуем попробовать свои силы, если вдруг она прошла мимо вас. Мы уже рассказывали о том, как пришли к идее игры и каких персонажей придумали для неё, повторяться не будем. Здесь мы расскажем о разработке.
Читать дальше →

Обманчиво простой и интересный RSA

Level of difficultyMedium
Reading time8 min
Views12K

Недавно, читая книгу Real-World Cryptography, я узнала об атаке Блейхенбахера, иначе называемой атакой миллионом сообщений. Этот вид атаки Даниэль Блейхенбахер продемонстрировал в 1998 году, взломав RSA через функцию шифрования PKCS #1. В книге об этой атаке было сказано немного, поэтому я решила изучить её сама и в конечном итоге реализовать.

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

Вместо этого я решила реализовать RSA сама, чтобы иметь возможность развернуть слабую схему шифрования, позволяющую осуществить атаку Блейхенбахера. Пока что у меня готова реализация RSA и PKCS (уязвимой версии). На создание основы RSA ушло около часа, плюс несколько дней на отладку. И теперь она (кажется) работает. Вскоре, если звёзды сойдутся, можно будет развернуть саму атаку.
Читать дальше →

Передавать пустые срезы между Rust и C/C++ на удивление сложно

Level of difficultyMedium
Reading time11 min
Views8.9K

Моя основная работа связана с браузерами и криптографией, а не компиляторами. Но я нередко сталкиваюсь с ситуацией, когда мне приходится проводить больше рабочего времени за изучением семантики языков программирования, чем за фактическим их использованием. Так что эта статья будет посвящена обсуждению острой межязыковой проблемы, касающейся С, С++ и Rust.

В общих чертах она выглядит так:

  • В правила работы с указателями и memcpy в С не заложены грамотные способы представления пустого среза памяти.
  • В С++ с правилами указателей проблем нет, но поведение memcpy здесь аналогично её поведению в С.
  • Интерфейс внешних функций (Foreign Function Interface, FFI) в Rust не лишён накладных издержек. Rust использует несовместимое с C/C++ представление срезов, требуя их преобразования при передаче в обоих направлениях. При этом о преобразовании очень легко забыть.
  • Срезы в Rust также несовместимы с арифметикой указателей, что создаёт проблемы в работе итератора срезов стандартной библиотеки. (Обновление от 2024-01-16: похоже, над этой проблемой работают).

Поскольку проблемы FFI касаются нескольких языков, я писал статью в качестве общей справки, описывающей их несогласованность.
Читать дальше →

Конурбация Рура: чем живёт бывшее индустриальное сердце Европы

Level of difficultyMedium
Reading time20 min
Views12K
Карта землепользования Рура из регионального плана развития. Видна сросшаяся городская ткань конурбации, плотная транспортная сеть и сохранившиеся очаги промышленности (серый цвет). Источник: RVR

Я долго откладывал материал по Руру на потом, для него нужно было созреть. Рурский бассейн, где до WWII добывалась половина угля и выплавлялась треть европейской стали, и который стал символом индустриальной мощи, за последние полвека сильно сдал. Но не сдался, пусть и прошёл через мучительную трансформацию. Мы приехали в Дортмунд в 2018 г. после учебного модуля в США. И, конечно, главным вопросом было, как региону после коллапса тяжёлой промышленности удалось избежать судьбы Детройта. Потрясло тогда отношение местных к ржавеющим остовам промышленных гигантов как к части истории, которую невозможно вычеркнуть. Два других принципиальных вопроса после США были: как агломерации удаётся заниматься развитием общей инфраструктуры (всегда и везде найдутся упёртые дядьки), и как удалось провернуть ревитализацию Рура, став центром экологических компетенций в пост-угольную эру. Но обо всём по порядку.
Читать дальше →

Реверс-инжиниринг электромеханического компьютера с самолёта-истребителя

Level of difficultyMedium
Reading time14 min
Views23K

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

В истребителях F-101 и F-111, в бомбардировщике B-58 ВВС США эту задачу решал Bendix Central Air Data Computer (CADC)1.

[1. Мне не удалось найти полный список самолётов, в которых использовался CADC. Судя по различным источникам, он применялся в F-86, F-101, F-104, F-105, F-106, F-111, а также в бомбардировщике B-58.]

Это электромеханическое чудо техники было реализовано на основе лучших технологий 1955 года: шестерней, кулачков, сельсинов и магнитных усилителей. В этом посте я загляну внутрь CADC, расскажу о выполняемых им расчётах и объясню, как он производил эти расчёты механически.
Читать дальше →

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2)

Level of difficultyMedium
Reading time24 min
Views9.4K

Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования, а также ситуацию с мапперами на других платформах.
Читать дальше →

Право на ремонт против запланированного устаревания. Битва двух концепций

Level of difficultyEasy
Reading time6 min
Views15K
На фото: Fairphone 4

Многие слышали о скандале с МФУ производства HP. Эти устройства отказываются сканировать документы, когда в картридже кончились чернила. В сознании производителя всё логично: если чернила кончились или пользователь вставил поддельный картридж, то устройство считается нефункциональным. В этом случае оно выдаёт сообщение об ошибке.

Но это противоречит обычной человеческой логике: ладно печать, но почему нельзя сканировать без чернил? Этот прецедент уже доведён до суда.
Читать дальше →

Как устроен виндсёрфер? И немного ещё…

Level of difficultyEasy
Reading time16 min
Views13K
Картинка Macrovector, Freepik

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

Разбираем самый маленький PNG в мире

Level of difficultyEasy
Reading time9 min
Views39K

Самый миниатюрный PNG в мире весит 67 байт и представляет собой один чёрный пиксель. Выше вы видите его в 200-кратном увеличении.

Красота, не так ли?

Состоит этот файл из четырёх частей:

  1. Сигнатура PNG, одинаковая во всех файлах этого формата: 8 байт.
  2. Метаданные изображения, включая его размеры: 25 байт.
  3. Данные пикселя: 22 байта.
  4. Маркер «конец изображения»: 12 байт.

Далее я опишу этот файл подробнее и постараюсь объяснить принцип работы формата PNG.

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

Прокачиваем вёрстку ARIA-атрибутами. Атрибут aria-hidden

Level of difficultyMedium
Reading time8 min
Views7.8K


Хабр, я рассказал вам, как создавать подсказки с помощью атрибута aria-label. Это отличный шаг к классному опыту для пользователей скринридера. А сегодня сделаем второй — мы научимся правильно скрывать элементы. Встречайте, атрибут aria-hidden.

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

Будни техпода. Как разместить Telegram-бота на виртуальном сервере

Level of difficultyEasy
Reading time9 min
Views57K


Чуть больше месяца назад мы запустили Telegram-бота, через который можно заказать виртуальный сервер. Этот бот помогает арендовать VPN-сервер, VPS из нашего маркетплейса или уникальную конфигурацию под ваши цели.

А не возникало ли у вас желания запустить собственный Telegram-бот на своей удалённой виртуалке? Если да, то добро пожаловать под кат, где мы разбираем весь процесс от заказа и подготовки виртуальной машины до запуска бота в работу. Скажем сразу, данная статья — для тех, кто мало знаком с работой Linux-систем и написанием кода Telegram-ботов, но хочет сделать по этому пути один из первых своих шагов.
Читать дальше →

0xide: локальный облачный сервер

Level of difficultyEasy
Reading time6 min
Views13K


26 октября 2023 года Oxide Computer Company объявила о начале продаж «первого в мире коммерческого облачного компьютера», анонс которого состоялся ещё в 2020 году на стэнфордской лекции «Душа новой машины. Преосмысление серверного компьютера».

Не все сразу поняли, чем 0xide отличается от обычного сервера и почему в маркетинговых материалах он называется «облачный компьютер».
Читать дальше →

Оснащение рабочего места стеклодува в домашней мастерской. Меры безопасности

Level of difficultyMedium
Reading time6 min
Views4.5K
«Содовое» свечение

Работа с горячим стеклом на горелке – определённо место повышенной опасности. Здесь соседствуют пламя и высокие температуры, разного рода летучие вредности и излучения, сжатые газы и само стекло – хрупкое, склонное к термоударам, растрескиванию и образованию горячих и острых осколков. Тем не менее, приняв ряд мер, около стеклодувной горелки удаётся существовать относительно безопасно и с удовольствием.
Полюбопытствовать

Испытания 5 отечественных автомобильных аккумуляторов в корпусе D23. Часть 5: резервная ёмкость

Level of difficultyEasy
Reading time8 min
Views14K


Привет, Хабр! Резервная ёмкость автомобильной аккумуляторной батареи (АКБ) измеряется в минутах и означает время, за которое полностью заряженный аккумулятор разрядится током 25 ампер до напряжения под нагрузкой 10.5 вольт.

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

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

Юристы продолжают пользоваться MD5 только из-за своего консерватизма

Level of difficultyMedium
Reading time11 min
Views13K

Недавно я узнала один загадочный факт: Международный уголовный суд хэширует электронные доказательства при помощи MD5.

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

Для начала мне нужно уточнить: я не юрист и не криптограф. Я разработчик ПО и консультант в сфере прикладной криптографии. И подозреваю, что я, возможно, единственный человек, интересующийся и криптографией, и юриспруденцией, в противном случае эту статью уже написал бы кто-то другой.

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

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

Неожиданное взаимодействие предсказания ветвлений и подсистем памяти

Reading time10 min
Views7.3K

Это 15-я статья в серии, посвящённая оптимизации подсистем памяти. Остальные доступны здесь (англ.).

В ней мы изучим взаимодействие механизма предсказания ветвлений с подсистемой памяти. В повествовании мы будем исходить из предположения, что вам знаком принцип предсказания ветвлений и работы подсистем памяти в современных процессорах.
Читать дальше →

Что нам стоит вязальный аппарат построить? Некоторая информация и ряд мыслей на тему…

Reading time10 min
Views18K
Картинка Macrovector, Catalyststuff, Freepik

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

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

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

Даже в космосе пылища: какой мусор кружит в вакууме

Level of difficultyEasy
Reading time4 min
Views7.5K


Когда 12 апреля 1961 года Юрий Алексеевич достиг первой космической, вокруг Земли уже летал космический мусор от предшествующих исследовательских и экспериментальных запусков СССР и США. Правда, общее количество объектов было меньше 1000. Учитывая объём околоземного пространства, это было пренебрежимо мало. А сегодня поголовье космического мусора уже оценивается во многие десятки миллионов единиц. Вроде бы, подавляющее большинство — это мелкий мусор. Вот только скорости полёта за пределами атмосферы совсем другие. Та же МКС движется с относительной скоростью 28 000 км/ч. И столкновение с каким-нибудь мелким обломком или, упаси боже, гайкой может стоить дыры в обшивке или иллюминаторе. Или повреждения внешнего оборудования. Станцию уже больше 30 раз переводили на новую орбиту, чтобы избежать столкновения. Но отследить мелкий мусор технически невозможно. Например, пару лет назад прилетело в манипулятор. К счастью, только шкурку попортило.
Читать дальше →

IT-2024: AI не решает — решают люди

Level of difficultyEasy
Reading time7 min
Views8.4K
Году в 2010-м я читал журнал с интервью одного из тогдашних топов диджитал-сферы и мне запомнилась фраза про то, что тот, кто может спрогнозировать ситуацию в отрасли на пять лет вперёд, тот идиот или мошенник. В наше время горизонт планирования сократился чуть ли не до квартала: трудно прогнозировать, понимая, что на твой бизнес, твою карьеру, твои инвестиции может оказать влияние что угодно, от международного конфликта до вируса или пожара в ЦОДе за тысячи километров от тебя. Уже давно пропало ощущение «островка стабильности» дома, в семье, среди коллег и друзей. В таких условиях остаётся одно, на что можно положиться, рассчитывать и что нужно ценить, — это люди. Увы, современные компании, да и сами люди этого не понимают. Я хочу вас предостеречь: берегите людей — это главный актив. И теперь это не фигуральное пафосное выражение, а формула выживания. 

В статье не будет универсальных рецептов и объективной логики — скорее, будет постановка проблемы, которую нам всем скоро придётся решать.

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

Собираем электрогитару из конструктора

Level of difficultyEasy
Reading time8 min
Views19K


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

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

Лично мне нравится не только играть на гитаре, но и мастерить, а также украшать свои поделки. Поэтому у меня теперь есть самодельная гитара, о процессе изготовления которой я подробно расскажу.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity