Рабочий код
89 subscribers
29 photos
1 video
33 links
Меня зовут Сергей Рабочий, я системный архитектор и предприниматель. Пишу как разработать и заработать.
Download Telegram
Началось новое тысячелетие.

Мир только что пережил проблему 2000 года, компьютеры продолжили работать в «новом измерении». Я переписывался с друзьями в «мирке» (mIRC — приложение для общения в IRC), надолго оккупировав телефонную линию модемом.

Интернет был буквально по карточкам. Они покупались на почте за много денег. Тарификация — поминутная. Одного часа хватало, чтобы скачать содержимое нескольких сайтов, книг и какую-нибудь небольшую программу. Пока оно скачивалось, можно было неспешно переписываться. Стоило это как «крыло от Боинга», но оно того стоило!

В то время простой текстовый чат с возможностью написать человеку из другого далёкого города вызывал дрожь. Мало кто в принципе осознавал такую возможность. В ходу ещё оставались текстовые телеграммы и дорогущие междугородние звонки.

Но не только интернетом можно было занять модем.

Стали появляться локальные сети. Маленькие — на несколько компьютеров по толстому коаксиальному кабелю. Покрупнее — на основе медной витой пары — обычно сети учебных заведений и предприятий. Эти разрозненные лоскуты коммуникации объединяли через телефонную сеть по обычному модему, а позже через DSL. Но я забежал чуть вперёд…

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

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

Я тогда выписывал журнал (да, да, бумажный!) с говорящим названием ][akep. Кажется, в нём я впервые прочёл про интересный конкурс по взлому алгоритма шифрования RC5 (RSA Secret Key Challenge). И хотя конкурс продолжался уже несколько лет, алгоритм так и не поддался. Это навело на интересные мысли.

В mIRC был (и есть — я в шоке, что он ещё жив) механизм скриптов. Я активно ими пользовался, чтобы обеспечить поистине «чатланскую» (😜) жизнь и удивить друзей. Немного поизучав алгоритмы симметричного шифрования, я реализовал один из них прямо в mIRC. Работало это так:

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

Попутно пришлось преодолеть ограничения текстового формата и длины сообщений в 512 символов: непечатаемые символы экранировались, а длинные сообщения разбивались на несколько и затем обратно склеивались. Со временем всё это обросло менюшечками и рюшечками… Но об этом в другой раз.

Конечно, мой скрипт имел ряд недостатков по сравнению с современными решениями. В частности, секретный ключ не передавался автоматически с помощью асинхронного шифрования. Однако это было настоящее end‑to‑end шифрование полностью на стороне клиента, которое работало поверх доступной инфраструктуры. Чтобы скрыть секретные IDDQD и IDKFA было более чем достаточно.

Делитесь реакциями, если тема интересна! А ещё лучше, делитесь собственным опытом колонизации Плюка 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👏4👍2😢2
Кстати!

Я зарегистрировался в MAX.

Угадайте, кто написал мне в самый безопасный мессенджер первым?

А зачем мне понадобился MAX, я расскажу позже 😏
😁2👀2🕊1
---

С праздником, друзья! 🤪
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2🎉1
Напоминание про безопасность в интернете.

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

После начала замедления Телеграм стали появляться различные решения для «размедления»:
— разного рода прокси и VPN;
— специальные приложения для обхода-обмана DPI;
— альтернативные клиенты Телеграм;
— и всякое прочее.

99,99% этих решений предназначены для того, чтобы похитить ваши данные и деньги .

Поэтому, пожалуйста, не ставьте никаких приложений по ссылке или переданных файлом. Обычные прокси (SOCKS5, HTTP) могут расшифровывать ваши сообщения — они видят трафик. Даже MTProto-прокси, хотя и шифрует данные, при переходе по ссылке автоматически отправляет тестовый запрос, выдавая ваш IP-адрес владельцу сервера ещё до вашего согласия . А ещё такие прокси часто добавляют вас в канал, где админы будут видеть вас как участника.

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

Помните, что ваша безопасность зависит от вас.
👍5
Зачем откопали человека-месяца?

Давным-давно (в 1975 году) один менеджер из IBM по имени Фредерик Брукс написал книгу о том, как он успешно провафлил все дедлайны по разработке операционной системы OS/360. В отличие от многих других менеджеров, он не списывал проблемы на лень программистов или недостаток системных аналитиков. Нет, он извлёк уроки, описал организационные решения, которые привели к провалу, и предложил способы их избежать.

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


Советы оказались настолько универсальными, что книга «Мифический человеко-месяц» стала одной из самых читаемых и почитаемых среди менеджеров проектов и тимлидов. Её идеи перекликаются с множеством современных течений, включая (но не ограничиваясь) Agile, Scrum, XP, BBQ…

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

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

А потом пришёл ИИ…

Работает ли закон Брукса для ИИ-агентов? Что будет, если запустить 1000 агентов работать над одним проектом? А как таким проектом управлять?

Я категорически в замешательстве. Какие у вас идеи? Самые неожиданные только приветствуются!
В прошлый раз я спросил про применимость тезисов Брукса из книги «Мифический человеко-месяц» к работе ИИ-агентов.

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


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

Хотя агента, в отличие от человека, можно просто клонировать вместе с его контекстом, это не отменяет другие тезисы:
— есть неделимые задачи, которые просто физически невозможно дать разным агентам;
— декомпозиция задачи — тоже задача, причём сложная;
— чем больше задач, тем сложнее их координация;
— если задачи очень маленькие, то затраты на их координацию выше, чем их выполнение.

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

Как верно заметила Елена в комментариях:
Для ИИ-агентов коммуникационные издержки — нулевые по времени, но бесконечные по деструктивности. Они не устают, не обижаются, но они идеально плодят хаос, если им дать волю.


Для меня выглядит так, что фундаментально закон Брукса работает для любых агентов — хоть лингвистических, хоть кожаных. Можно построить график эффективности команды в зависимости от её состава. Так как разные агенты обладают разными характеристиками, это смещает и растягивает (или сжимает) «кривую эффективности», но её форма остаётся неизменной — это парабола с максимумом: резкий рост, пик, затем спад.

Вы всё ещё можете поспорить или дополнить в комментариях 😉
👍2👏2🔥1💩1🦄1
Помните, я обещал рассказать зачем я установил МАХ, где мне сразу же написали мошенники?

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

А ещё! Помните историю про реализацию e2e шифрование в IRC, который этого не поддерживал?

Не переключайтесь 😏
🐳2🤓1
Уверен, вы уже догадались, что я задумал прикрутить e2e-шифрование к MAX. Как когда-то сделал это с mIRC.

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

В первом комментарии приложил небольшой пример скрипта для подключения к веб-версии MAX. Скрипт оформлен для сохранения в закладки. То есть его можно в поле URL закладки указать префикс javascript: и далее вставить текст скрипта. Но можно использовать и другие способы подключения: от простой вставки в консоль до специальных расширений вроде Gearmonkey, Tampermonkey и прочих.

Для работы шифрования нужно указать пароль и соль. Пароль — секрет, который нужно передать «на листочке». Соль скрывать не обязательно, можно передать прямо в чате.

Всё сохраняется в открытом виде в local storage браузера. Поддерживаются только текстовые сообщения. Файлы, изображения и остальное не шифруются.

Помните, что это просто пример.

Как это работает, видно на картинке.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Я ожидал, что скрипт не вызовет бурю эмоций, так как ставить ради него МАХ вряд ли кто-то захочет.

Поэтому записал видео, где показано как оно работает 🌈

Да, я действительно не проверял входящие. У меня нет ещё одного аккаунта. Так что если это у кого-то заработает, дайте знать 😉

Скоро напишу зачем это было нужно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Джуны не нужны!
Теперь точно!
То есть вот теперь!
Ну, вот, вот...
Да что же такое?!

Опять пошла волна о том, что ИИ заменит как минимум джунов. Что и мидлы под вопросом. Учиться не на чем. Мол, раньше они CRUD-ы писали, а теперь это LLM делает за минуту. Вход в профессию усложняется и прочее, прочее.

Это полная ерунда!

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

Задача джуна: приносить пользу.

Если для этого нужно подкладывать токены в контекстное окно, чтобы поддерживать температуру вывода — значит, учиться нужно этому.
Если для этого нужно окроплять промпты слезами отчаяния, чтобы Claude не спалил кошелёк — значит, учиться нужно этому.
Если для этого нужно правильно формулировать промпты лиду, чтобы он не говорил «в README всё написано» — значит, учиться нужно этому.

Если сегодня (именно в марте 2026) дать ИИ-агенту задачу реализовать нетривиальный API по спецификации, он довольно быстро нагенерирует нейроспагетти и проиграет. Если же дать такую задачу джуну в паре с ИИ, то через некоторое количество итераций задача будет решена.

Джун, как минимум, способен учиться прямо в процессе работы. LLM пока что таким свойством не обладают (но надежда есть).

Что же до джуноненавистников?

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

То есть — понять, простить и забыть.
👏3
Хороший код. Плохой код.

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

Для непосвящённых в процесс, кто видит только конечные изменения, они кажутся незначительными. Это часто вызывает недоумение со стороны менеджмента, о чём насочиняли баек.

А самое тяжкое то, что можно потратить много сил и времени, но так и не достичь результата.

Продолжительная работа без результата истощает и ментально, и физически.

Хроническая усталость: энтузиазм сменяется разочарованием и безразличием.
Раздражительность: эмоции, не находя выхода, выливаются в агрессию на окружающих.
Тревожность и чувство вины: человек ищет причину в себе: «Я недостаточно стараюсь», «Я глупый, некомпетентный».
Выученная беспомощность: без позитивной обратной связи создаётся установка, что все усилия тщетны.
Хронический стресс: мозг постоянно находится в состоянии «бей или беги», но разрядки не происходит.
Психосоматика: проблемы со сном, головные боли, гастрит, судороги и т.д.
Снижение иммунитета: организм тратит все ресурсы на поддержание нервной системы.

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

И вы скажете, что теперь есть ИИ!

Да — есть. Он генерирует говнокод с тысячекратной скоростью и сам мгновенно в нём путается. Его постоянно приходится перепроверять и подсказывать, где же он налажал. Много раз просить исправить и переделать. До какого-то момента прогресс есть...

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

Можно ли с этим справиться?
👍71🔥1
Бесплатный сыр или троянский конь?

Сразу к делу. MAX обзавёлся несколькими альтернативными клиентами. Некоторыми давно. Вот список:

Komet — работает поверх WebSocket от веб-версии. Исходников нет.
Зеленый Макс — похоже на старый/новый бренд Komet.
WhiteMax — декомпилированный и патченый клиент Android. Исходники есть, но кто их смотрел? Можно скачать готовый .apk.
DERZHAVA — похоже на мод Android клиента, но это не точно. Исходников нет.
WhiteMax для iOS — на ранней стадии разработки, ничего не понятно.
MIN — как и WhiteMax есть исходники от декомпилированного патченого клиента Android. Только обновлялся более полугода назад.
reMAX Mod — сдох, репозиторий удалён.

Ссылок не дам. Если знаете ещё, жду комментарий.

Официальная позиция VK по этому поводу:
Установка неофициальных сторонних приложений — так называемых «альтернативных клиентов», которые предоставляют доступ к Max, представляет угрозу для персональных данных пользователя, а также позволяет злоумышленникам отправлять от имени пользователя вредоносные и опасные файлы. Центр безопасности Мax оперативно блокирует доступ через подобные приложения. Это необходимо, чтобы оградить пользователей Мax от злоумышленников и мошенников. Для того, чтобы безопасно и комфортно общаться, а также иметь доступ к полезным сервисам — установите официальный Max в любом онлайн‑магазине приложений.


З — Забота 🤷

Что именно и как они блокируют кроме аккаунта самого пользователя не пояснили: какой-нибудь WhiteMax при подключении не сообщает серверу: «Привет! Я альтернативный клиент». Потому выявить это можно только по косвенным признакам и, вероятно, ретроспективно.

Б — Безопасность 🤦

По функционалу у всех заявлено удаление трекеров и «лишнего»: логов об ошибках, проб STUN-серверов, аналитики VK. И только у WhiteMAX заявлены планы на добавление шифрования.

Вероятно, я ещё немного улучшу свой скриптик.

А пока — максимальное голосование. Альтернативный MAX — это
🦄 — троянский конь
💩 — просто мусор
🤓 — напишу в комментариях
🦄5💩2🤓2
В посте ранее я приоткрыл шторку над тяжёлой судьбинушкой инженера, вынужденного работать с хромым legacy (или в конченой неэффективной бюрократии), где работа скорее напоминает онанизм под транквилизаторами, чем осмысленный процесс. И приводит к тяжелым (профессиональным?) заболеваниям.

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

Реверс-инжиниринг — это процесс анализа готового решения для изучения принципов его работы, структуры и создания аналогичного или модификации существующего.

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

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

Так что если кто-то молодой и упрямый читает эти строки... 😉

Да, учиться классическому программированию в 2026 — затея для тех, кому реально надо. Впрочем, как и реверс-инжинирингу.
👍1👏1
В этот день хочется сказать спасибо всем женщинам, которые нас окружают — дома, на работе, в комментариях и в жизни.

Вы — те самые люди, которые напоминают нам, что даже в мире сухих алгоритмов есть место чему-то большему. Вы делаете нас лучше. Иногда просто тем, что существуете.

С 8 марта! Пусть у вас всё будет хорошо. И пусть ваш код всегда работает с первого раза. 🥂
4🎉2🥰1
Приложение не видит Bluetooth наушники?

Бывало ли у вас, что в одних приложениях наушники нормально работают, а в других не хотят ни в какую?

Зачастую дело в разрешениях. Для доступа к Bluetooth устройствам в Android есть специальное разрешение: "Устройства поблизости".

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

Как проверить и включить
1. Долгим нажатием на икону приложения вызвать меню.
2. Открыть информацию о приложении.
3. Найти и открыть раздел Разрешения.
4. Найти там нужное разрешение.
5. Включить.

Ставьте 👍 если помогло
👍4👏1
Не проходит и нескольких недель, чтобы мессенджер MAX в чём-нибудь не обвинили: в лишних разрешениях, слежке, небезопасности хранения данных и чем только не…

И хотя обвинения часто не беспочвенны, люди упускают из виду несколько деталей.

1️⃣ Все несистемные приложения на Android имеют равные возможности по контролю над устройством.

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

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

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

2️⃣ Все несистемные приложения имеют равные возможности для сбора данных.

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

MAX собирает тьму информации. Кажется, он логирует всё, до чего может дотянуться. Его мотивы загадочны, а методы и объемы пугающи!

Такого уровня «заботы» я ещё не встречал. Очень рекомендую к ознакомлению.

🏁 Все несистемные приложения одинаково опасны!

Системные приложения ещё опаснее, но их сложнее устанавливать и удалять.

В любом случае, MAX не единственный, кто злоупотребляет доступом к устройству и данным пользователя. Это делают множество других приложений, которые мы добровольно устанавливаем. Стоит помнить, что цифровой мир — это агрессивная среда, где нам нужно самостоятельно и постоянно заботиться о своей безопасности:
+ устанавливать обновления;
+ не давать лишних разрешений (да, у MAX их можно забрать);
+ не «хакать» устройство без понимания зачем;
+ использовать «песочницы» для исследований;
+ регулярно проверять активность на устройстве;
+ в принципе соблюдать правила цифровой гигиены.

Если хотите пост как «обезвредить» MAX, ставьте больше 🤡
🤡4
---

Просто напоминание.
😁4👏1
Возможно, вы заметили некоторую паузу в публикациях. Дело не в том, что нечего написать, а в том, что отложки закончились актуальные темы довольно болезненные.

Ситуация с ИИ сложная и не радует. Шутки про чебурнет перестали быть смешными. Телеграм убивают по всем портам.

Уровень бюрократии, лишённой эффективности, который я наблюдаю, напоминает истории из книг про последние месяцы СССР, Царской России...

А продвижение MAX — это отдельная история. На ней я остановлюсь чуть подробнее. Черновик написан, проверяю факты. Будет душно.
👏4👍2👌2
Китайские LLM такие китайские 🤣
😁7
Как на самом деле работают ИИ?

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

Из-за этого, если задать один и тот же вопрос немного разными словами, ИИ может давать противоположные ответы.

Попытка модели рассуждать — это внешние дополнительные инструкции (вставки текста в запрос), которые направляют её на решение задачи вместо фантазирования. Но это «костыль», который помогает не всегда.

Что важно: модель всегда стремится подтвердить твоё намерение, а не найти истину.

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

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

Помни об этом перед тем, как следовать его советам.
👍4👏1