Pull to refresh
0
Василь Бєляєв@VXPread⁠-⁠only

C#, C++, Lua

Send message

Почему комната управления реактором покрашена в цвет морской пены

Level of difficultyEasy
Reading time5 min
Reach and readers28K

Когда я жила в Нэшвилле, мы с моими подругами часто выезжали на «экскурсии» по штату. Однажды мы поехали искать белоголовых орланов в западном Теннесси; в туалете национального парка нам встретилась женщина с кучерявыми волосами, которая сообщила, что вчера видела 113 орланов. Мы же за всю поездку увидели... двух.

Летом 2017 года мы поехали на ещё одну экскурсию на завод Манхэттенского проекта в Ок-Ридже. В 1942 году Ок-Ридж был выбран в качестве места создания завода по обогащению плутония и урана в рамках Манхэттенского проекта — совершенно секретного мероприятия по разработке первой атомной бомбы. Маленькое сельское поселение, расположенное в долине западного Теннесси, благодаря срочному проекту по созданию атомной бомбы превратилось в тайный посёлок под названием «Site X», увеличив своё население с трёх тысяч человек в 1942 году до 75 тысяч к 1945 году. Наряду с ростом населения были построены огромные здания комплекса.

Читать далее

Галактический ID: система идентификации для всех форм разумной жизни

Level of difficultyEasy
Reading time27 min
Reach and readers18K

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

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

Давайте придумаем наглядный и понятный галактический ID, с которым сосуществование разных форм разумной жизни станет более комфортным и упорядоченным.

Читать далее

Anubis: заморозка приложений по состоянию VPN

Level of difficultyMedium
Reading time24 min
Reach and readers161K

Приложения на вашем телефоне могут обнаружить VPN через SOCKS5 на localhost и слить IP-адрес сервера. Рабочий профиль (Island, Insular, Shelter) скрывает VPN от ConnectivityManager, но не от tun0, маршрутов и локальных портов. Так родился open-souce Anubis, который решает проблему иначе - автоматически отключает приложения через pm disable-user при смене состояния VPN. Мёртвое приложение не может ничего детектить, потому что его не существует.

Под капот Anubis

Моя коллекция полезных HTML-фич

Level of difficultyMedium
Reading time7 min
Reach and readers18K

Привет, Хабр.

Я часто рассказываю про CSS, потому что очень сильно люблю этот язык. И хочу, чтобы у вас с ним не было проблем. Но я совсем мало внимания уделяю HTML. А он тоже прекрасен и полезен!

Сегодня буду исправляться. Я собрал список полезных фич HTML. Большинство из них почему-то используются очень ограниченно. Хотя они могут помочь вам сделать интерфейсы проектов более дружелюбными к пользователям.

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

Давайте посмотрим, что я вам подготовил.

Читать далее

Как я взломал аппаратный криптокошелёк и вернул два миллиона долларов

Level of difficultyMedium
Reading time8 min
Reach and readers28K

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

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

Однажды со мной связались неизвестные мне люди. У них был аппаратный кошелёк Trezor, на котором хранилась пара миллионов долларов. Они спросили меня, смогу ли я взломать кошелёк и получить доступ к информации, чтобы они могли доказать, что деньги принадлежат им.

Меня зовут Джо Гранд, я хакер оборудования. Взлом подобного продукта — потрясающая задача, похожая на решение головоломки, и у нас есть только один шанс сделать всё правильно.

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

Читать далее

Рефакторил-рефакторил, и почти всё переписал в итоге

Level of difficultyEasy
Reading time12 min
Reach and readers8.7K

Дали мне недавно задачу написать тесты для одной CLI-тулзы. Это мне уже привычно и понимание, зачем тулза нужна, есть. Я только не знал, что меня ждёт в коде. Программист, писавший её, сделал гигантскую работу — претензий нет (не обижайся, пожалуйста, если читаешь это, но это стоит отдельной статьи). Там суммарно, наверно, порядка 30к строк кода написано. Нюанс в том, что, видимо, он раньше не писал на C#,

Так что тут я соберу для вас примеры, как нельзя писать и как стоит.

Читать далее

Как один уличный роутер вытащил деревню из цифровой тьмы. Апдейт статьи от 12.04.26

Level of difficultyEasy
Reading time9 min
Reach and readers34K

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

До недавнего времени мой «канал связи» — это телефон на подоконнике в режиме модема. Днём он упрямо прыгал между 2G и 3G, ночью иногда показывал заветные буквы LTE, но стабильным это назвать было сложно. Скорость 1–3 Мбит/с с обрывами, видеосвязь через раз, обновления и большие файлы — только «поставить качаться и идти пить чай». Спутниковый интернет я пробовал пару раз, но быстро понял: платить много за пинг под несколько секунд и стабильный, но дорогой канал — не мой вариант.

В какой‑то момент я всерьёз задумался, что проблема не только в вышке, но и в том, как я к ней подключаюсь. Телефон с маленькой антенной, спрятанный за стенами и утеплителем, — так себе модем, если ближайшая базовая станция в десятках километров.

Так я случайно наткнулся на NR‑712 — уличный 4G‑роутер с LTE Cat.12, панельной антенной MIMO 4×4 и двумя SIM‑карточками в одном всепогодном корпусе. На картинке — обычная белая коробка, в характеристиках — сухая фраза: «рассчитан на работу в зонах со слабым сигналом, монтаж на улице, питание по PoE». Для моей глухомани это звучало уже не как маркетинг, а как шанс.

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

Читать далее

Мой фреймворк для агентной разработки с Claude Code

Level of difficultyEasy
Reading time5 min
Reach and readers19K

Год назад я проникся идеей вайбкодинга и начал разбираться, как бы организовать процесс так, чтобы на выходе получалось что-то полезное.

В итоге собрал свой фреймворк агентной разработки и выложил его на Гитхаб. Это набор скиллов и команд для Claude Code, которые учат его уму-разуму.

Я не разработчик. Я учился кодить в школе и универе, но ни разу не писал код в настоящих проектах. Жизнь завела меня сначала в маркетинг, а потом в менеджмент.

Фреймворк заточен под таких же людей, как я. С техническим складом ума, но без реального опыта в настоящем программировании. Наш разработчик — это Claude Code. Он же devops, он же специалист по безопасности, он же технический писатель.

Человеку отводится роль продакта — придумывать, что делать, говорить, как оно должно себя вести в разных сценариях и edge cases, ставить задачи, понимать потребности пользователей. Ну и тестировать все это в конце, чтобы убедиться, что все работает так, как задумано.

Читать далее

Google окончательно убил OpenAI? Как Gemma 4 меняет правила игры

Level of difficultyEasy
Reading time8 min
Reach and readers20K

Буду честен. Я перестал следить за Gemma после второй версии. Не потому что она была плохой — просто она никогда не воспринималась как серьёзный конкурент китайским гигантам открытого ИИ: DeepSeek, Qwen — моделям, которые разработчики действительно разворачивали в продакшене. Gemma была моделью, которую ты один раз пробовал на Kaggle, а потом забывал. Сегодня Google всё изменил. Полностью.

Gemma 4 вышла 2 апреля 2026 года. И технический директор Hugging Face Жюльен Шомон написал об этом с буквальными эмодзи-огоньками, назвав это «ЭКСТРЕННОЙ НОВОСТЬЮ». Когда CTO платформы, которая хостит все открытые модели на планете, говорит, что Google вернулся в игру, — стоит обратить внимание.

Читать далее

JSON_TABLE в PostgreSQL: превращаем JSON в реляционные данные одним запросом

Level of difficultyMedium
Reading time5 min
Reach and readers8K

JSON в PostgreSQL давно перестал быть экзотикой, но работать с ним по-реляционному до сих пор приходилось не самым изящным способом: jsonb_array_elements, LATERAL, ручные касты, обработка ошибок на честном слове. В PostgreSQL 17 появился JSON_TABLE — стандартный SQL/JSON-механизм, который превращает JSON-документ в табличное представление одним выражением. В статье разберём, как он работает, чем отличается от привычного подхода, где действительно упрощает запросы и какие ограничения по производительности и применению у него остаются.

Читать далее

Как я с помощью автоматизации выиграл iPhone от McDonald’s

Level of difficultyMedium
Reading time7 min
Reach and readers11K

Несколько лет назад сеть McDonald проводила промо-акцию, в которой через простую мини-игру можно было выиграть iPhone. Называлась эта игра «FriesHit» и была доступна в мобильном приложении McDonald’s (бельгийская версия). Это просто примитивная тапалка, целью которой являлось занять первую строчку таблицы лидеров, чтобы заполучить заветный iPhone (или Samsung S10, если вы окажетесь на втором месте; но кому он нужен).

Каждый день таблица лидеров аннулировалась, то есть компания ежедневно отдавала iPhone X занявшему первое место (как я понял, это происходило целый месяц). Естественно, в игре есть свой подвох — чтобы набрать победные очки, нужно соревноваться с другими игроками. Хитрость в том, что для покупки жизней в игре вы тратите «баллы лояльности». Кто не знает, эти баллы вам начисляют за покупку товаров в сети (типа потратьте €1 в ресторане McDonald's и получите 10 баллов).

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

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

Читать далее

Мой VPN пережил белые списки. Архитектура из 4 уровней за 265₽ в месяц

Level of difficultyEasy
Reading time6 min
Reach and readers182K

Сделал себе VPN, который:

— работает через VLESS Reality, неотличимый от обычного HTTPS

— пробивает белые списки мобильных операторов через relay на Yandex Cloud

— имеет готовый код для аварийного канала через WebRTC и Яндекс.Телемост (пока не понадобился) — автоматически переключается между 4 уровнями защиты

— пропускает российские сайты (Яндекс, Госуслуги, банки) напрямую, без VPN

Весь код, конфиги, скрипты деплоя — всё написал Claude Code. Я только описал проблему и дал ему почитать несколько статей с Хабра про блокировки. Ну и бил его кнутом, пока всё не заработает.

Расскажу, как это устроено и как повторить.

Читать далее

Как мы продавали компьютеры в 90-х. Конфликты и контакты

Reading time9 min
Reach and readers8.8K

Главы из повести.Начало: [#01. Начало бизнеса], [#02. Кидалово], [#03. Тома, Наташа и Маша], [#04. Колбасный авиатор], [#05. Бизнес и платёжка] [#06. Доктор Джао] [ Зефиры ]

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

Читать далее

Как мы продавали компьютеры в 90-х. Зефиры⁠ #01

Level of difficultyEasy
Reading time5 min
Reach and readers8.2K

Главы из повести.
Начало: [#01. Начало бизнеса], [#02. Кидалово], [#03. Тома, Наташа и Маша], [#04. Колбасный авиатор], [#05. Бизнес и платёжка] [#06. Доктор Джао]

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

На первом этаже находилась фирма «Зефир», которая занималась офисными принадлежностями и, как ни странно – рациями. Носимыми и для установки в автомобили. Мобильных телефонов ещё не было и такая дистанционная связь была очень популярна. Руководили фирмой Рудик и Марик, дружили мы с ними еще до моего вхождения в компьютерный бизнес и между собой мы их так и звали — Зефиры:
— Зефиры, вечером после работы заходите, у нас тут тортик внеплановый.
— Это вам от Зефиров — мог проставиться кто-нибудь из Зефиров за настройку их компьютера.

Читать далее

Как мы продавали компьютеры в 90-х. Часть #06. Доктор Джао

Level of difficultyEasy
Reading time12 min
Reach and readers12K

С Беком зашел невысокий плотной комплекции китаец лет 45. Улыбчивый, с крепкой рукой, располагающий к себе. И ни слова не говорящий по-русски.
 - Джао! – сказал он и было непонятно – поздоровался он или представился.
 - Я уже с ним намучился, на вас – последняя надежда. – Бек с тоской посмотрел на китайца, китаец с готовностью улыбнулся. – Он хочет компьютер.
 - И?.. в чем мучения?

Читать далее

Как мы продавали компьютеры в 90-х. Часть #05. Бизнес и платёжка

Level of difficultyEasy
Reading time12 min
Reach and readers9.8K

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

Сосед Леха, например, промышлял всем, что попадалось под руку.
 - Стиралку надо? По оптовой цене, – мог позвонить он в самое раннее утро вывешиваясь из своей двери.
 - Ты же знаешь, у меня есть.
 - Друзьям кому-нибудь толкни? – напирал лёхин коммерческий авантюризм. За его плечом, насколько можно было разглядеть коридор, возвышалась мелкооптовая партия стиральных машин – их выпускал гражданский цех нашего ракетно-космического завода. Лёха там и работал – добавляя к зарплате вот такую «пушнину».

Читать далее

Как мы продавали компьютеры в 90-х. Часть #03

Level of difficultyEasy
Reading time9 min
Reach and readers11K

Главы из повести.
Начало: 
Как мы продавали компьютеры в 90-х. Часть #01
Как мы продавали компьютеры в 90-х. Часть #02

Тома, Наташа и Маша.

Моим первым секретарем была Тома, с которой мы познакомились еще в конструкторском бюро, в которое я  – она работала в соседнем отделе программистом-математиком и входила в нашу застольную банду молодых специалистов. Когда перестроечная пурга накрыла наш завод и зарплата инженера сравнялась стоимости шоколадного батончика в коммерческом киоске на остановке, я ушел из КБ на вольные хлеба, обслуживая компьютеры плодящихся фирм. Через какое-то время  один из таких заказчиков пригласил меня в кабинет:
 - Как у тебя с работой?

Читать далее

Как мы продавали компьютеры в 90-х. Часть #02

Reading time7 min
Reach and readers12K

Начало: Как мы продавали компьютеры в 90-х. Часть #01

Славик должен был улететь рано утром в пятницу, я - в субботу.

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

О звонке мы договорились и со Славой; если улететь ранним рейсом, такой звонок происходил не позже 12часов по московскому или в 15 по омскому, в это время я в офисе у телефона.

Звонка не было.

В 17 часов я позвонил поставщикам сам, по голосу я узнал старшего менеджера:
 - Славик приехал?
 - Да, он был, но уже уехал.
 - Все хорошо?
 - Ну... - менеджер замялся.
 - Что?
 - Не очень, честно говоря, все хорошо...
 - Что, деньги ушли?
 - Слава потом расскажет...

У меня перехватило дух.
 - Мой платеж отгрузили?
 - Да, твой отгрузили.
 - А его груз?
 - Не весь. Немного.
 - Хорошо, буду ждать Славу.

Слава появился поздно вечером, вид у него был подавленный.
 - Что случилось?
 - Деньги пропали...
 - Как?
 - Самолет утром задержали на 2 часа, я в аэропорту сел на такси, чтобы не ждать автобус и быстрее доехать. По дороге таксист подсадил попутчика, он приставил нож и забрал деньги.
 - Ты же отгрузил себе какие-то товары?
 - Я взмолился, чтобы оставил хоть немного - что семья, дети, надо кормить. Оставили...
 - Слава, мне рано утром лететь, обсудим по возвращении.

Я улетел домой, потом - похороны, возвращение - какое-то время хотелось побыть в стороне, чтобы прийти в себя. Со Славой мы встречались в подъезде, обменивались приветствиями, но о делах не разговаривали.

Читать далее

Я разучился получать удовольствие от программирования из-за LLM. Его вернул шкаф

Level of difficultyEasy
Reading time10 min
Reach and readers36K

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

А потом мне привезли шкаф. И он неожиданно все расставил по местам.

Читать далее

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity