Pull to refresh
3
0.9

User

Send message

Чтение Micro QR Code версии М3 (кириллица, первый тип библиотек)

Level of difficultyEasy
Reading time21 min
Views1.4K

Задание: необходимо прочитать Micro QR Code версии М3, содержащий кодовое слово, на примере закодированных слов – АБВГДЕ, абвгде, АБВГ и абвг (почему именно такое количество символов будет расшифровано далее), на основе алгоритмов, приведенных в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4, алфавитно-цифровой и/или байтовый режим). Аналогично версий М1 и М2 данный режим невозможно прочитать стандартными ресурсами мобильных устройств, производимых GAFAM (Ассоциация отказалась и от этого режима).

Примечание: здесь и далее будет использоваться информация ГОСТ Р ИСО/МЭК
18004-2015, в оригинале ISO/IEC 18004:2015 кодовой таблицы кириллицы не существует...

Читать далее

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views134K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее

История о том, как Google подсматривал за нашим сайтом и галлюцинировал

Level of difficultyEasy
Reading time5 min
Views31K

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

Читать далее

Технология VoWiFi с точки зрения Wi-Fi

Reading time11 min
Views45K

Мы привыкли к тому, что сотовая связь и Wi‑Fi существуют отдельно друг от друга. Но иногда бывает так — мы попадаем внутрь помещения, где точно нет сотовой связи, но есть Wi‑Fi. При этом сохраняется возможность звонить по телефону. Как это работает?

VoWiFi (Voice over Wi‑Fi) — технология, позволяющая пользователям сотовой связи совершать голосовые вызовы в зонах, где сотового покрытия нет, но есть покрытие Wi‑Fi. С ее помощью можно звонить привычным способом в помещении с отсутствием сотовой связи, а также сэкономить деньги в роуминге. В статье расскажем, как настроить свои беспроводные сети правильно, и тогда VoWiFi будет стабильной и удобной альтернативой сотовой сети.

Читать далее

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Level of difficultyHard
Reading time13 min
Views105K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



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

FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc. для обхода блокировок

Level of difficultyEasy
Reading time21 min
Views345K

Эта статья - сборник разных вопросов и ответов на них, которые звучали в комментариях к моим предыдущим статьям (Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-всеBleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто и других из той же серии) и в личных сообщениях.

Читать далее

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

Level of difficultyMedium
Reading time28 min
Views257K

> С 10 апреля 2024, 3 месяца спустя,
> данная статья заблокирована РКН на территории РФ,
> её также удалили с веб-архива archive.org.
> Статья на Хабре осталась доступна с IP других стран.
> Да, теперь, чтобы читать про ВПН, нужен ВПН.

На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.

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

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

Читать далее

Крупномасштабный стриминг видео с использованием Kubernetes и RabbitMQ

Level of difficultyMedium
Reading time8 min
Views13K
Давайте поговорим о тех проблемах, с которыми приходится сталкиваться на сайтах для стримингового видео, и как организовать архитектуру такого сайта, чтобы было проще справляться с нагрузками.

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

Настраиваем Syncthing. Синяя изолента в мелком бизнесе и дома

Reading time4 min
Views148K
image

image
У меня тут внезапно завалялся гайд по настройке syncthing. Я уверен, что многим это может пригодиться.

Про революцию в дистрибуции файлов, которую совершил torrent-протокол рассказывать излишне. Одна проблема была у классических версии технологии — статичность. Если данные в каталоге изменялись, приходилось заново создавать и передавать всем новый torrent-файл. И вдруг, внезапно появляется BitTorrentSync. Наступает всеобщее счастье, теперь можно синхронизировать целые массивы изменяющихся данных. Однако, спустя время проприетарность софта выливается в сильное урезание функциональности, привязку к своим серверам и довольно агрессивную монетизацию. Вот тут и выходит на сцену идеологически кошерный свободный преемник — Syncthing.
Читать дальше →

Мой вам подарок к Новому году или как наконец запустил то, что надо было давно запустить…

Level of difficultyMedium
Reading time6 min
Views40K

КДПВ


Немножко истории


Начну с истории вопроса.


Очень давно я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler.


Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его использовать, время от времени внося какие-то исправления и изредка новые функции.


Когда перешел полностью на Linux, оказалось, что Fresh IDE прекрасно работает под WINE, и я продолжил им пользоваться без угрызений совести. В процессе даже удалось исправить несколько багов WINE (вот, вот и вот).


Как бы то ни было, но я начал писать библиотеку для переносимости ассемблерных программ между Linux и Windows (и KolibriOS). Одновременно с этим задумался и над тем, чтобы сделать Fresh IDE переносимым. Из-за архитектуры библиотеки, огромная часть кода уже и так была переносимой. А точнее все, что не касалось GUI. К сожалению, GUI был полностью написан на Win32 API и его нельзя просто так перенести на другие платформы.


Поэтому и пришлось начинать все сначала. И третья версия Fresh IDE писалась почти с нуля.

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

KrakenD — новый друг для вашего backend

Reading time5 min
Views26K

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

Читать далее

Плагин на LibreOffice с Gigachat API

Level of difficultyEasy
Reading time4 min
Views5.8K

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

Читать далее

— Отлично, Егор, на следующей неделе скинем оплату и приступим к проекту

Reading time2 min
Views23K

Или бывало ещё так.

— Супер, нам всё нравится, давайте в ближайшие дни закрывать работу и решать вопрос с остатком оплаты.

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

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

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

Что это за вещи?

Читать далее

Игровая легенда из 90-х: Как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide

Level of difficultyMedium
Reading time26 min
Views17K
image


Полагаю, многие мои читатели так или иначе знакомы с такими видеокартами, как 3dfx Voodoo. Эти легендарные графические ускорители из середины\конца 90-х годов был чуть ли не в каждой второй сборке для игр, а о их производительности слагали легенды. До сих пор есть относительно небольшое сообщество фанатов ретро-игр, которые ценят, любят и собирают с цветмета те немногие видеокарты от 3dfx, что остались в СНГ. Однако обзоров на 3dfx Voodoo много, тестов игр — тоже, а вот материала «простыми словами» о его внутренней архитектуре и более того, практической части с написанием 3D-игры практически нет! Недавно я прикупил себе Voodoo 3, и начал зубрить Programmer's Manual с желанием запилить что-нибудь эдакое… Статью я долго и упорно готовил дабы успеть к новому году и сегодня у нас с вами: краткая история компании 3dfx, подробный разбор архитектуры видеочипов 3dfx «под капотом», что должен был уметь программист 3D-графики в 90х и написание 3D-приложения на Glide полностью с нуля. Интересно? Тогда жду вас в статье!
Читать дальше →

О будущем IT-отрасли в частности и страны в целом

Reading time5 min
Views100K

Примерно полгода назад мы с моим другом рассуждали о рынке IT в Черноруссии (вымышленной стране из серии видеоигр Armed Assault), сравнивая его с другими отраслями. Мы пытались понять: почему на западе врачи, учителя и инженеры зарабатывают хорошо, а в Черноруссии нет? Почему добиться чего-то было можно только получив профессию в сфере информационных технологий? (Предпринимательство и блогерство я профессиями не считаю, если что). Почему "в Черноруссии есть только 3 пути: вебкам, закладки и IT"? Тогда мой друг просто сказал мне: программистов, в отличие от врачей, учителей и прочих бюджетников, не успели приучить к бедности за время существования Советского Союза. Я тогда не согласился с этим: в СССР небольшая IT-отрасль всё же была, пускай и советские компьютеры отставали от западных, а круг специалистов в области информатики был немногочисленным. Тем не менее, этих людских и технологических ресурсов хватало для автоматизации производственных мощностей и обороны. И вот сейчас я наконец-то понял истинный ответ на заданный тогда вопрос.

Читать далее

Безвозмездная работа над проектами с открытым кодом — нежизнеспособная модель

Reading time5 min
Views6.5K
Вечер понедельника, без четверти полночь. Мой сын шести недель от роду спит у меня в кабинете, чтобы жена могла спокойно отдыхать первую половину ночи. Раз уж он наконец заснул, мне бы стоило последовать его примеру после целого дня за работой. Но я еще не закончил. По профессии я разработчик ПО, но программирование – это также моё увлечение и страсть. Поэтому я делаю то же, что и всегда по вечерам уже больше десяти лет: загружаю компьютер, чтобы поработать с кодом.

Чем бы заняться, чем бы заняться… Освоить что-то новое? Возможно. Написать статью в блог? Ну… как видите, этот вариант победил. Но при этом в глубине души я знаю, что стоило бы уделить внимание некоторым проектам с открытым кодом. Так вышло, что один из них активно используется. Я приближаюсь к отметке в три четверти миллиона скачиваний, и люди явно находят в нем определенную пользу для себя. Это если говорить о хороших сторонах. Если же говорить о плохих, скопилось уже с десяток отчетов об ошибках, которые я еще даже не открывал, не говоря о том, чтобы отсортировать, изучить и исправить. От сообщества поступило несколько pull request-ов – их тоже нужно просмотреть. Некоторые зависимости требуют обновлений. Список можно продолжать. Этот проект достиг той вехи, которой достигают и многие другие: человек, который его поддерживает, выгорел.
Читать дальше →

БагБаунти с АстраЛинус или то, что нужно знать о защищённости защищённой ОС

Level of difficultyEasy
Reading time12 min
Views45K

Хочу поделиться своим опытом участия в программе баг-хантинга ГК Астра (да, да - именно той, которая недавно совершила каминг‑аут IPO) на платформе BI.ZONE Bug Bounty.

Читать далее

Как получить нервное истощение, работая без выходных

Reading time3 min
Views21K

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

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

В конце лета 2020 года вдруг меня стало тошнить, без причины и постоянно. Ел я или нет - организму было все равно.

Читать далее

Боремся с блокировками с помощью Trojan TCP на слабых устройствах c OpenWRT

Level of difficultyMedium
Reading time8 min
Views18K

В данной статье рассмотрим как:

Настроить обход блокировок с помощью Trojan TCP, tun2socks и bird2 (BGP) на устройствах с 8 Мб ПЗУ и 64 ОЗУ (8/64);

Настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через Trojan TCP туннель (Websocket этой реализацией не поддерживается);

Собрать прошивку с Trojan, kmod-tun, zram и bird2 на базе OpenWRT 21.02.7 для устройств с 8/64.

Читать далее

Восстановление отдельных элементов из резервной копии Carbonio

Level of difficultyMedium
Reading time4 min
Views641

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

Читать далее

Information

Rating
1,984-th
Registered
Activity