Как стать автором
Обновить
1
0
Александр @VirtualVoid

Разработчик

Отправить сообщение

Введение в ПЛИС: Содержание курса

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

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

Читать далее
Всего голосов 6: ↑4 и ↓2+4
Комментарии24

Ключ от всех дверей: как нашли бэкдор в самых надежных* картах доступа

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

Вы прикладываете ключ-карту к считывателю, и дверь офиса открывается. Но что, если такой пропуск может взломать и скопировать любой желающий?

В 2020 году Shanghai Fudan Microelectronics выпустила новые смарт-карты FM11RF08S. Производитель заявил об их полной защищенности от всех известных методов взлома. Группа исследователей проверила эти заявления и обнаружила встроенный бэкдор, позволяющий получить полный доступ к данным карты.

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

Читать далее
Всего голосов 65: ↑65 и ↓0+80
Комментарии15

Как устроены серийники для Windows, и как восстановить стёршийся COA

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

Эта история начинается с того, что я попытался переустановить Windows на ноутбуке, доставшемся мне вот с такой наклейкой Certificate of Authenticity (COA): часть символов серийника видны хорошо, остальные – в большей или меньшей степени угадываются; но несколько попыток ввести серийник «на глаз» успехом не увенчались. Пришлось углубляться в вопрос подробнее.

Читать далее
Всего голосов 128: ↑127 и ↓1+165
Комментарии29

Учимся читать QR-коды без компьютера

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

Задавались ли вы когда-нибудь вопросом, как работают QR-коды? Если да, то эта статья для вас. Здесь вас ждёт интерактивное объяснение*, которое мы составили для семинара, проводившегося в рамках Всемирного конгресса хакеров 37C3, но вы также можете использовать его самостоятельно.

Прочитав статью, вы узнаете:

  • Из чего состоят QR-коды.
  • Как декодировать QR-коды вручную (используя нашу шпаргалку).
Читать дальше →
Всего голосов 105: ↑102 и ↓3+128
Комментарии33

Точки соприкосновения: Java & GC

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

Можно писать на Java, вообще не задумываясь, как работает сборка мусора: «ну оно же там само собой происходит как-то». Однако разобраться как следует — не только интересно, но и полезно: например, какой из подходов к GC лучше соответствует конкретно вашему проекту?

На нашей конференции JPoint 2024 был доклад Дмитрия Силина об этом, участникам он понравился, и мы решили сделать для Хабра текстовую версию. Публикуем и текст, и видеозапись.

Читать далее
Всего голосов 27: ↑23 и ↓4+26
Комментарии4

Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком

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

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

Если вы ловили себя на мысли: ‭«А почему мне бы не создать свою полноценную библиотеку?‭», то я рекомендую прочитать вам мою статью.

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

Некоторые из вас могут подумать что мы изобретаем велосипед. А я в ответ скажу — сможете ли вы прямо сейчас, без подсказок, только по памяти, нарисовать велосипед без ошибок?

Читать далее
Всего голосов 49: ↑48 и ↓1+59
Комментарии68

Подчини паузы своей воле с Generational ZGC

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

Netflix перешел с G1 на Generational ZGC, начиная с JDK 21, из-за значительных преимуществ, связанных с многопоточной сборкой мусора.

Команда Spring АйО подготовила перевод статьи, в которой инженеры стримингового сервиса рассказали о неожиданных и ожидаемых преимуществах Generational ZGC.

Читать далее
Всего голосов 13: ↑13 и ↓0+16
Комментарии2

Обходим замедление Youtube на Android TV без VPN

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

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

Читать далее
Всего голосов 51: ↑48 и ↓3+56
Комментарии85

Шаблоны для эффективной работы с DOM с помощью современного чистого JavaScript

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



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

Читать дальше →
Всего голосов 34: ↑34 и ↓0+44
Комментарии5

Windows Product Policy – меняем политику продукта, добавляем русский в Windows Enterprise G без телеметрии и больше…

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

Сегодня я хочу начать разговор о редко обсуждаемой в сети, но крайне интересно технологической особенности ОС Windows – о политике продукта (далее буду назвать её оригинальным названием Product Policy). Каким образом Microsoft решает, сколько RDP сессий возможно одновременно открыть на ОС (почему в IOT их 2)? Где сказано, что у издания Windows Enterprise G может быть лишь английский или китайский языковой пакет? Где определено максимальное количество процессоров и памяти, максимальное количество подключений к расшаренной сетевой папке, как решается поддерживает ли ОС RDMA, требует ли SMB Signing, отключаются ли SMB1, Defender и Cortana. Да практически все компоненты и отличия разных изданий Windows контролируются именно через Product Policy, и пора бы нам разобраться, что это такое, где хранится, как изменять, и к чему приведут изменения.

Я расскажу об инструменте, позволяющем не только смотреть, но и изменять Product Policy, поговорим о Product Policy Editor, рассмотрим, где хранятся текущие значения Product Policy в Windows, и почему они возвращаются к исходным значениям, ну и, конечно, о том, можно ли как-то поменять это всё раз и навсегда для своей ОС, навсегда отключив нелюбимый Defender, разрешив неограниченное количество RDP сессий.  Ну и, конечно, cделаем ранее невозможное добьёмся русского интерфейса для интересного издания, описанного мной в наделавшей шума статье Windows 11 Enterprise G – Что за издание для правительства Китая и зачем оно вам? Судя по огромному интересу читателей именно к Windows Enterprise G, я начну с неё, а другие аспекты Product Policy, сравнение параметров между изданиями расскажу в другой статье, там же поясню свою мысль о том, что теперь «все издания нужны, все издания равны», мы можем включить ранее выключенные и отключить ненужные компоненты в любых изданиях, например, разрешить многое в самом лёгком Starter, или поотключать ненужное в любимом мной IoT Enterprise LTSC.

Добавить русский в Windows Enterprise G?
Всего голосов 30: ↑30 и ↓0+39
Комментарии22

Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)

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

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.

В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.

Инструкция:
Всего голосов 144: ↑144 и ↓0+165
Комментарии136

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

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

Всем привет, это моя первая статья на хабре. Многие пользователи GoodbyeDPI столкнулись с проблемой доступа к YouTube. Существующие гайды не всегда решают проблему, поэтому я подготовил универсальную настройку, подходящую для большинства регионов и провайдеров. Приступим.

Читать далее
Всего голосов 96: ↑84 и ↓12+83
Комментарии203

Отладочная плата с жирной ПЛИС за 500р или что делать со старым антмайнером — как я делаю собственную платформу

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

С незапамятных времён, когда ещё существовали браузеры под ДОС, я взял себе ник Astra.

Поэтому и назвал проект превращения запчасти от майнера с мусорки в годную "отладку", с которым вожусь несколько месяцев, --Аstra_S9_SoC(+FPGA)-- или "платформа Astra9" Собственно, сама плата уже давно запроектирована и наштампована конторой Битмаин невероятно большим тиражом- порядка нескольких сотен тысяч (а то и миллиона) экземпляров. Сотни тысяч этих плат УЖЕ находятся у нас в стране, их не надо тащить с Али. Плата предназначена чисто для управления майнингом на хешплатах и не имеет никакой либо документации. Однако, "сердцем" платы является SoC+FPGA микросхема американской корпорации Xilinx -- ZYNQ 7010 xc7z010-clg400, что позволяет использовать её как FPGA девборд и как одноплатник

Я взял на себя труд разработать рабочую документацию на эту плату. https://dzen.ru/a/ZtTuMNBQ3gFhmskj

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

0. Никакой возни, раздобыл плату, микро-СД-флешку - и через полчаса всё заработало https://dzen.ru/a/ZtumRpI4dV3u1R7v

1. Привет, народ или Как помигать светодиодом

2. Запустить Убунту

Читать далее
Всего голосов 47: ↑46 и ↓1+58
Комментарии86

Дорогая, я уменьшил {fmt}: уменьшил размер до 14kB и избавился от рантайма C++

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

Библиотека форматирования {fmt} известна своим небольшим влиянием на размер бинарников. Чаще всего её код в несколько раз меньше по сравнению с такими библиотеками, как IOStreams, Boost Format или, что иронично, tinyformat.

Давайте разберем, как можно уменьшить размер бинарников еще больше!

Читать далее
Всего голосов 40: ↑38 и ↓2+47
Комментарии26

Хранение данных в Postgresql

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

В этом тексте хочется подробнее рассмотреть хранение данных в PostgreSQL на физическом уровне.

Для начала определимся с общеизвестными вещами. Данные хранятся в таблицах, таблицы находятся в схемах, схемы, в свою очередь, в базах данных. Под данными я тут подразумеваю одну или несколько строк. В качестве примера будем рассматривать эталон критики, по моему личному мнению, цитаты Линуса Торвальдса.

Подробнее под катом
Всего голосов 19: ↑18 и ↓1+21
Комментарии3

Зачем в iPhone чип, который убивает FaceID

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

Разбирался я в низкоуровневой работе камер iPhone, и дошёл до FaceID — системы распознавания лиц, используемой Apple для разблокировки смартфона. И наткнулся внутри на интересную вещь: чип, единственное предназначение которого в том, чтобы вывести из строя FaceID. Навсегда.

О том, как в iPhone вообще работает FaceID, где там этот чип стоит, что именно он делает, зачем его сделали таким злым, и как в ремонте справляются с этой напастью — под катом!

Читать далее
Всего голосов 641: ↑640 и ↓1+758
Комментарии178

Строки в игровых движках

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

Исторически потребность в строках и их использование в игровых движках было довольно ограниченое, кроме, разве что, локализации ресурсов, где была необходимость полноценной поддержки чего-то отличного от набора ASCII символов. Но, при желании, даже эти ресуры разработчики умудрялись упаковать в доступные 200 элементов набора ASCII, а учитывая что игра обычно запускается только в одной локали, то никаких потребностей в конвертации не было. Но есть тут и отличия от стандарта, стараниями Sony практически с начала нулевых, еще до 20 стандарта разработчикам игр были доступны несколько моделей символьных литералов. Стандартый ASCII на PS1 и частичная поддержка Unicode (ISO 10646), с выпуском сдк для второй плойки добавили поддержку UTF-16 и UTF-32, а после выхода PS3 добавили поддержку UTF-8.

strcpy(destination, source);
Всего голосов 20: ↑20 и ↓0+24
Комментарии11

Как в разы увеличить дальность приема WiFi / BT при помощи паяльника

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

Ну или точнее при помощи двух паяльников. Несколько простых и эффективных решений, подходящих для компактных модулей с чип антенной.

Читать далее
Всего голосов 108: ↑107 и ↓1+128
Комментарии135

Как Linux создаёт и подсчитывает сокеты

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

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

Читать далее
Всего голосов 33: ↑32 и ↓1+44
Комментарии2

Обходим блокировку VPN

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

Мой провайдер помимо замедления (читай полная блокировка) YouTube так-же стали блокировать соединения с моими рабочими VPN. Работодатель не очень любит, когда на встречах на вопрос о прогрессе, я неделю отвечаю, что у меня не работает VPN! Своими действиями, мой провайдер сам меня подтолкнул к поиску обходных путей.

Сразу скажу, обходной путь придумал не сам, мне его подсказал автор проекта zapret, а точнее его комментарий, более того, я использую его проект, чтоб смотреть нормально YouTube. Спасибо огромное!

Добавлю, я использую nftables и nfqws, если этот вариант работает у меня — это не значит, что оно заработает и у вас! Возможно, вам придётся изменить некоторые параметры.

Читать далее
Всего голосов 36: ↑34 и ↓2+39
Комментарии81
1
23 ...

Информация

В рейтинге
6 270-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность