Pull to refresh
0
0

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

Send message

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

Level of difficultyMedium
Reading time10 min
Views19K

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Views33K

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

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

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

Апгрейды для Денди: часть 2/2

Level of difficultyEasy
Reading time18 min
Views7.9K

Продолжаем разговор об исторических, практических и теоретических улучшениях восьмибитных игровых приставок типа «Денди», она же Famicom в Японии, Nintendo Entertainment System в США и Европе, и «любое-безумное-название» в Китае.

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

Сегодня узнаем, что ещё интересного смогли сотворить с классической 8-битной платформой разработки 1983 года китайские разработчики, радиолюбители прошлых лет и современные энтузиасты!
Читать дальше →

Нейропиксели для небогатых

Level of difficultyEasy
Reading time22 min
Views14K

В наше время только ленивый не пишет статей про ИИ, нейросети, ChatGPT, и вот это всё. Но вот незадача, я-то пишу про мало кому интересные старые компьютеры из далёкого прошлого, где никакими нейросетями отродясь не пахло. Как же с таким багажом влиться в модно-молодёжную струю и хайпануть немножечко на горячем тренде?

Не волнуйтесь, решение есть. Сегодня речь пойдёт про следующую ядрёную смесь: пиксельная графика и нейросети применительно к разработке инди-игр. Примитивные технологии древности, новейшие достижения прогресса и бедные свободные творцы. High tech, low life — киберпанк ещё никогда не был так близок!

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

Устройство «музыкалки» AY-3-8910 и эмулятор на Arduino

Level of difficultyMedium
Reading time25 min
Views13K

Астрологи объявили месяц статей про ZX Spectrum, звук и Arduino. Количество публикаций увеличилось вдвое!

В прошлый раз я показывал, как можно перенести однобитные, они же «биперные», музыкальные «движки» с ZX Spectrum на Arduino. Но всё-таки это была максимально нишевая тема внутри нишевой темы, весьма узкоспециализированный проект.

Сегодня сделаю шаг ближе к народу. Расскажу, как работает легендарный звуковой чип AY-3-8910, как написать его простой эмулятор полностью с нуля, и как проиграть им музыкальный файл формата PT3 на обычной Arduino Nano.
Читать дальше →

Всё об устройстве и работе SSTV с примерами на Python

Level of difficultyMedium
Reading time23 min
Views2.9K

SSTV (slow-scan television) — телевидение с медленной разверткой, узкополосный формат передачи данных, позволяющий передавать изображения через эфир. В этой статье будут рассмотрены подробности кодирования, декодирования SSTV-сигнала.
Статья может быть интересна радиолюбителям, желающим познакомиться с новым форматом связи, а также тем, кто хочет в подробностях понять как же работает эта технология.

Читать далее

Спутник — это очень просто

Reading time19 min
Views65K
Мы быстро привыкаем к прогрессу. Вещи, которые нам несколько лет назад казались фантастикой, сегодня не замечаются и воспринимаются как всегда существовавшие. Достаточно покопаться в старых вещах, как вдруг найдется монохромный мобильный телефон, дискета, магнитофонная кассета или даже катушка. Не так давно это было. Не так давно и интернет был «по талонам» под скрип модема. А кто-то помнит 5,25" жесткие диски или даже магнитофонные кассеты с компьютерными играми. И обязательно найдется тот, кто скажет, что в его время были 8" дискеты и бобины для ЕС ЭВМ. И в тот момент ничего не было современнее, чем это.

В эти недели можно наблюдать традиционные мероприятия, посвященные запуску первого Спутника — началу Космической эры. Силой случая спутник, который должен быть первым, стал третьим. А первым полетел совсем другой аппарат.
Этот текст о том, как просто сейчас услышать спутники на околоземных орбитах и как это было в начале космической эры. Перефразируя известной когда-то книги Е. Айсберга: «Спутник — это очень просто!»

image

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

Псевдослучайный рандом в Python

Level of difficultyMedium
Reading time6 min
Views4.8K

В этой статье хочу рассказать про нерандомность модуля random в стандартной библиотеке Python. С точки зрения криптографии и математики числа, генерируемые этим модулем, случайные лишь на вид — они порождаются детерминированным алгоритмом, что делает их псевдослучайными. Рассмотрим, как устроен генератор на основе алгоритма Mersenne Twister (MT19937), почему его выходы «нерандомны» в формальном смысле и какие практические следствия это имеет.

написано для новичков и плохо посвященных в тему людей…

Читать далее

Эволюция одноразовых кодов: от TAN к Passkeys

Level of difficultyMedium
Reading time4 min
Views2.9K

От TAN-листов и SMS-кодов до Passkeys и FIDO2 — за 20 лет одноразовые коды прошли путь от бумажек до криптографии.

Почему TOTP стал стандартом? Чем push-уведомления лучше? И правда ли, что будущее — без паролей?

В статье — краткий и наглядный разбор всей эволюции OTP: алгоритмы, уязвимости, UX и рекомендации для современных систем.

Читать далее

Deployer — удобный и гибкий деплой приложений

Reading time5 min
Views53K

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


Deployer хорош во многих отношениях. Код скрипта для деплоя получается коротким. Написан на старом добром Пыхчанском — то бишь, скорее всего, ставить отдельно какие-то другие инструменты на сервер вам не придётся. Если же и придётся — то PHP обычно устанавливается одной командой на любом сервере. Почему-бы и не заюзать его в своих проектах?

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

FastExcelWriter — избавление от проклятия PhpSpreadsheet

Level of difficultyMedium
Reading time3 min
Views5.9K

Наверняка каждый php-разработчик, хоть раз сталкивавшийся с чтением или записью Excel-файлов, знает про библиотеку PhpSpreadsheet (в прошлом - PHPExcel). Это мощная библиотека на чистом php, которая позволяет читать, а, главное, создавать Excel-таблицы. И все с ней хорошо, пока работаешь с небольшим набором данных. Но при работе с большими файлами PhpSpreadsheet начинает чудовищно отжирать память, да и производительность резко падает, и php-скрипт, использующий библиотеку, часто просто отваливается по таймауту. И проблема - в архитектуре библиотеки.

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

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

Читать далее

Поиск аномалий во временных рядах

Reading time10 min
Views26K

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

Изучим этот процесс более подробно

Видеосалоны. Ретроспектива

Reading time21 min
Views18K
Этот шухер, этот сон — видеомагнитофон,
Мой дружбан взял анадысь на толпе,
Купил за семь кусков всего, не жрал не ел он целый год,
Ну совсем мой корефан опупел.
Я пришёл к нему вчера, чтоб позырить до утра,
Драки, секс, вампиров, трупов, Брюса Ли,
Я глазел во все глаза и мой разум отказал,
А по утру меня в психушку отвезли.
Вида-ак! (с) Сектор Газа «Видак»


Сегодня разговор пойдет о модных течениях в СССР 80-х — просмотре кино. Но не абы какого, а западного. Вместе с Перестройкой, к нам широким шагом, влетая буквально с «двух ног», ворвалась кинопродукция Голливуда, заполнив собою всё культурное пространство.

image
Видеосалоны. Советское детство в миниатюрах Зои Черкасской.

Ужасное состояние двоичной совместимости Linux (и что с ним делать)

Level of difficultyMedium
Reading time20 min
Views19K

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

Читать далее

Звуки музыки Sega Mega Drive

Level of difficultyEasy
Reading time25 min
Views12K

Сегодня в центре нашего внимания Sega Mega Drive, она же Genesis — называйте как хотите, всё равно все понимают, что речь идёт о некогда популярнейшей в наших краях 16-битной консоли. Comix Zone, Sonic the Hedgehog, Ultimate Mortal Kombat 3 — вот это вот всё. Но речь пойдёт не о платформе в целом, а об одной специфической её части: звуковой системе и звуках, которые она издавала. Изучим железную и программную части, вспомним холивары, послушаем кое-какую музыку.

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

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все

Reading time20 min
Views437K

Три месяца назад здесь на Хабре была опубликована статья “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нас для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.

Мировым лидером в области интернет-цензуры является Китай, поэтому имеет смысл обратить на технологии, которые разработали энтузиасты из Китая и других стран для борьбы с GFW (“великим китайским файрволом”). Правда, для неподготовленного пользователя это может оказаться нетривиальной задачей: существует огромное количество программ и протоколов с похожими названиями и с разными не всегда совместимыми между собой версиями, огромное количество опций, плагинов, серверов и клиентов для них, хоть какая-то нормальная документация существует нередко только на китайском языке, на английском - куцая и устаревшая, а на русском ее нет вообще.

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

Читать далее

Необычный интерфейс

Level of difficultyMedium
Reading time10 min
Views14K

Собрал для вас подборку редких, необычных и малоизвестных UI-библиотек — для построения интерфейсов в играх, на устройствах и десктопном ПО.

Читать далее

Почему въехав по «визе талантов» в США я с радостью вернулся в Россию

Level of difficultyMedium
Reading time32 min
Views106K

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

Читать далее

Люди с кодопрошлым или закат программистов

Level of difficultyEasy
Reading time4 min
Views180K

— Багнутый диван! — чертыхнулся Антон, в очередной раз придавив пальцы тяжеленным диваном, который они с Сергеем тащили уже 14 пролётов.
— Багнутый? — переспросил Сергей, — ты тоже программистом раньше работал?
Они уже почти месяц работали вместе, но Сергей ни разу не заподозрил в нем бывшего программиста. Жилистый, мускулистый Антон как-то мало походил на бывшего программиста.
— Приходилось подрабатывать в студенческие годы, — немного сконфузившись ответил Антон.
— Да не дрейфь! Я свой. Три года вёрстки и js под все браузеры, — Сергей оживился и надавил чуть сильнее, придавив Антона.
— Тише ты! Штука тяжелая! Из-за нее у меня уже функционируют только 7 пальцев. И вообще тут лучше о кодопрошлом разговаривать вполголоса. Настучат — вмиг вылетим с работы. Фуух, какой тяжелый! Двигай влево до упора.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity