Дебаж 🪲 с ноги 🦶
368 subscribers
262 photos
47 videos
2 files
172 links
🪲Дебажу код,🐞отлаживаю жизнь
Download Telegram
К новостям.

Всё чаще замечаю, что реально важные новости до меня и так долетают. Причем в идеале новость - это уже случившийся факт. Типа, 1 июня 2026 года TON переименовали в Gram. Никаких прогревов, сплетен или диванной аналитики от админов телеграм-каналов. Только сухой факт.

Недавно меня позвали в проект "Сигнал". И там ребята делают ровно то, как я сам привык потреблять контент. Случился мэтч.

Позвали, кстати, не кодить, а консультировать. Пока, если честно, идет туго. Я впервые вживую столкнулся с последствиями вайб-кодинга, и прям ломает. Физически проще забрать клаву и быстро всё переписать самому, чем объяснять, почему в разработке так не делают. Но окей, буду качать навык консалтинга.

Короче, про Сигнал. По мне, так это идеальный детокс от думскроллинга. Отдельная прила, которая раз в сутки присылает то, что уже произошло.

Самый кайф это фича "Скринер". Настраиваешь её, и она сама хантит нужные тебе темы. Например, следит только за сливами по GTA 6 или запусками web3-проектов под ИИ. Весь остальной инфошум просто идет мимо, голова остается чистой.

Запуск планируют в середине июня (но вы сами знаете, как это бывает с планами). Лендос уже можно потыкать тут: https://the-signal.ru/

👇 К вам вопрос: если бы настраивали такой Скринер под себя, какие 2-3 темы вбили бы туда, чтобы читать только их и снести лишний мусор из подписок?

❤️ - не читаю новости совсем и вам не советую
👍 - интересная идея
👎 - шляпа какая-то

#bip

Дебаж 🐞с ноги 🦶
👍32
Задеплоил тут простенького бота. Код работает, webhook проброшен, жму /start и тишина. Убил время на дебаг и раскопал шикарное: Яндекс втихаря режет трафик от Телеграма.

Для мелких задач я по привычке беру Yandex Cloud. Claude накидал скрипт, я его загрузил, всё настроил. Не пашет. Лезу в API телеги через /getWebhookInfo смотреть ошибки, а там висит Connection timed out.

Начинаю проверять эндпоинт. Открываю URL в браузере, логи в YC летят, всё чётко. Отправляю команду через бота - пустота. Получается, с моего айпишника достучаться можно, а телеграмовские пакеты просто дропаются на подлёте. Вывод один: YC тупо блочит входящие запросы от TG.

Пришлось на коленке поднимать свою проксю. Добавил роут в Nginx на другом сервере, чтобы он прокидывал запросы на functions.yandexcloud.net. Обновил конфиг и бот моментально ожил.

Выходит, трафик теперь рубит не РКН, а балансировщики Яндекса. Костыль с Nginx перед YC Functions спасает, но это же дичь.

👇 Кто ещё ловил такие приколы в YC за последнее время?

🤡 - Яндекс контора п.....

#лайф

Дебаж 🐞с ноги 🦶
🤡8
🎉 Внимание: розыгрыш проекта!

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

В моем портфеле лежит проект, который меня многому научил. Я уже рассказывал про него (все посты можно найти по тегу #photo_math), и теперь я решил разыграть его целиком среди своих подписчиков.

Что именно на кону:

🧩 Chrome-расширение в Chrome Web Store вместе с исходным кодом.

🌐 Красивый домен mathgpt.site.

⚙️ Исходный код сервера на базе Supabase.

💳 Готовая и настроенная монетизация через Paywall.

📧 Подключенный email-хостинг.

📄 Готовый лендинг (посмотреть можно тут: mathgpt.site).

Правила участия максимально простые:

Быть подписчиком этого канала.

Зарегистрироваться в боте как участник.

Победителя выберу случайным образом ориентировочно 8 июля. Удачи всем участникам! 🚀
🔥71
This media is not supported in your browser
VIEW IN TELEGRAM
😱1😭1
Я встроил браузер в браузер

Недавно писал, что вписался консультантом в проект Signal. Бекенд развернут на self-host Supabase. Мне дико не нравится работать с их логами, поэтому решил поднять VictoriaLogs + VictoriaMetrics и прикрутить Grafana как UI.

Вся эта связка живет на одной железке в докере. У такого конфига есть только одна огромная проблема это безопасность. Виктория из коробки вообще не идет ни с какой авторизацией. Обычно это не парит: засовываешь всё за VPN и забываешь. Но с 2025 года с VPN всё туго. Его надо постоянно поддерживать и оживлять, а времени на это нет.

Отсюда вопрос: как не светить Викторию голой в сеть, но при этом иметь доступ к админке, если вдруг что сломается?

Докер сам строит внутри себя сети, и контейнеры отлично общаются по адресам типа grafana:3000. Мой локальный браузер про эти внутренние адреса на VPS, конечно, ничего не знает. Но оказалось, что кто-то уже столкнулся с этой проблемой до меня и собрал докер-образ с Хромом (lscr.io/linuxserver/chromium).

Работает это так: на удаленной виртуалке поднимается браузер, к которому я подключаюсь из своего обычного браузера. Получается такой фрейм прямо в приватную сеть докера. Сидишь и вбиваешь в строку имена контейнеров. Естественно, сам веб-интерфейс этого Хрома надо закрыть паролем, иначе вся затея теряет смысл.

Штука прикольная. Можно даже срезать качество картинки и FPS, если инет тупит. Но есть боль с буфером обмена. Текст просто так не скопируешь, приходится пихать его в отдельное окошко. Плюс у меня Мак с cmd+c/v, а на сервере крутится линукс с ctrl и мозг при переключении немного ломается.

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

👍 - надо юзать vpn
❤️ - норм костыль

Дебаж 🐞с ноги 🦶
👍42
Экономика ИИ-продуктов. Покупаешь подписку за $200, а сжигаешь серверного времени на $14 000.

Забавно, но сейчас OpenAI и Anthropic фактически оплачивают мне разработку пет-прожектов из своего кармана. Ребята из SemiAnalysis провели крутой стресс-тест: купили максимальные тарифы ChatGPT Pro и Claude Max (по $200 в месяц) и гоняли на них хардкорные агентурные таски, пока не уперлись в недельные лимиты. Потом они пересчитали потраченные токены по официальным API-прайсам. Оказалось, что из Claude Max за 200 баксов можно выжать лимитов на $8 000. А из ChatGPT Pro (20x) — на безумные $14 000.

Для меня это вообще не абстрактные цифры. Я постоянно юзаю агентов (в связке с тем же Cursor) и скармливаю им гигантские простыни кода. При таком подходе маржинальность OpenAI улетает в жесткий минус: они работают в убыток уже после того, как юзер тратит 5,7% от лимита. По сути, люди, которые за $20 генерят по три письма в день, спонсируют технарей вроде меня, выжимающих из моделей все соки.

Какой продуктовый вывод я делаю для себя?

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

А вот для тяжелых локальных тасков, парсинга и агентов, пока эту дыру не прикрыли, выгоднее веб-подписки OpenAI/Anthropic (через эмуляцию или прокси), чем платить им за API.

А вы как гоняете нейронки для рабочих задач?

👍 - Только API, мне важна интеграция в код
🔥 - Сижу на подписке и выжимаю из неё максимум
👀 - У меня вообще локальные модели крутятся / юзаю китайцев

Дебаж 🐞с ноги 🦶

#толки
🔥6👀1
Мой опыт с Supabase: 8 неочевидных костылей, о которых молчат в красивых туториалах.

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

Спойлер: пилится-то всё реально быстро. Только потом ты ловишь тихие баги, пропадающие логи и жесткий вендор-лок. Я собрал на Supabase уже несколько проектов и успел поседеть.

Короче, вот за что вы будете страдать на бесплатном тарифе (да и не только на нем).

Логи. Их просто нет
Точнее, они живут ровно 24 часа. Упало что-то в пятницу вечеро - в понедельник с утра ты дебажишь святым духом. Встроенный поиск это вообще кровь из глаз. Без какого-нибудь Datadog или Logflare там тупо не выжить.

Edge-функции и проклятые холодные старты
Это отдельный котел. Писать надо на Deno, так что половина привычных npm-пакетов идет лесом. Лимиты на вызовы жесткие, долгую таску не запустить. Но самое бесячее — холодные старты. Пока поднимется пул коннектов к базе, проходит до трех секунд. В моем сервисе post-cooler.ru edge-функция отдает HTML для линк-страничек. Я смотрю в метрики и плачу: кликов куча, а дожидаются загрузки единицы. Конверсия просто умирает на этапе бесконечного лоадера.

Палево с доменами в OAuth
Юзер логинится через Google, а в окне авторизации торчит <project-id>.supabase.co. Я когда делал photo math, целый час дебажил эту хрень. Думал, что сам где-то накосячил — на локалке-то всё выглядело нормально! Оказалось, не баг, а фича. Хочешь свой домен? Плати.

Хаос со схемами БД
Экспорт схем из дашборда выпилили еще в 2025 году. Сейчас помогаю проекту the-signal переехать на селф-хост. До этого код там писали vibe-кодеры, которые вообще не парились про миграции. Вытащить дамп схемы из облака было той еще болью. Без жесткой дисциплины база очень быстро превращается в неуправляемую помойку.

Тормоза локальной разработки
Я постоянно прыгаю между проектами. И каждый гребаный раз supabase start лезет тянуть свежие Docker-образы. Поднимает 10+ контейнеров, а ты сидишь и тупишь в терминал. Весь кайф от "быстрой" разработки улетучивается.

Тихие RLS-ошибки
RLS (Row Level Security) ошибается молча. Накосячил в политиках? БД тебе не скажет. UPDATE просто вернет 0 affected rows, а SELECT подтянет половину данных.

Транзакции и боль SQL-функций
Через REST API нельзя сделать нормальную транзакцию на несколько таблиц. Нужно атомарно создать юзера, профиль и настройки? Обломись. У меня пока ничего не отвалилось, но я с ужасом жду, когда в базе начнут копиться "осиротевшие" записи.
Чтобы это обойти, приходится писать логику на PL/pgSQL прямо в базе. Редактор там примитивный, автокомплита толком нет и дебажить то еще удовольствие.

Вендор-лок
Клиентский SDK намертво завязан на специфичный синтаксис PostgREST и их собственные токены. Если однажды решишь переехать на нормальный самописный бэк: придется рефакторить вообще весь клиентский код.

Короче. Для MVP или пет-проекта, чтобы просто проверить гипотезу на коленке - это топ. Да, часть этих костылей можно вылечить, если закинуть денег и перейти на платную версию. Но возникает резонный вопрос: за те же 25 баксов в месяц можно спокойно поднять Supabase на нормальной VPS-ке и вообще забыть про лимиты.

Кто еще сидит на Supabase или Firebase? С чем боретесь? И есть тут те, кто уже психанул и переехал на свой бэк?

👍 - Supabase и полет нормальный
🔥 - надо сразу делать хорошо и писать нормальный бек

Дебаж 🐞с ноги 🦶

#тек
🔥4👍3👎2
Сегодня традиционно пробежал Гонку Героев! В этот раз в компании создателя проекта «Масштаб», который в свое время и втянул меня во все эти side-проекты. Кстати, у ребят из «Масштаба» всё отлично, сейчас они активно работают с «Автодором». Сама гонка прошла максимально круто: было море грязи и драйва. Вот пара фоток!

#лайф

Дебаж 🐞с ноги 🦶
🔥51🥰1
React-приложение и SEO: как я решил проблему индексации практически бесплатно

Сейчас у меня в активной разработке проект The Signal — это платформа с редакторскими новостями для снижения тревожности (как минимум у меня). Ниша «новости» сложная и высококонкурентная, поэтому тут критически важно, чтобы сайт хорошо индексировался поисковиками.

Но The Signal - это React-SPA (Single Page Application). Проблема SPA в том, что поисковые роботы (особенно Яндекс) плохо переваривают динамический JS-контент. Им подавай готовый HTML, иначе в поиск страница может просто не попасть или попадет криво.

Поднимать полноценный SSR (Server-Side Rendering) было долго, поэтому я нашел хак: индексировать статику на субдомене. То есть основное приложение живет своей жизнью, а статьи публикуются на дополнительный сайт-витрину, который уже легко съедается Google и Yandex.

Как сделать это за копейки
Я использую Yandex Cloud S3 (за хранение HTML и трафик поисковиков там набегают сущие рубли), но подойдет любой провайдер. Инструкция:

Создаем бакет и называем его как наш новый субдомен: у меня это digest.the-signal.ru.

В настройках бакета включаем «Веб-сайт хостинг».

Идем туда, где заводили домен, и создаем CNAME-запись: направляем digest.the-signal.ru на digest.the-signal.ru.website.yandexcloud.net.

Возвращаемся в Yandex Cloud, идем в Certificate Manager и добавляем бесплатный сертификат Let's Encrypt.

Подтверждаем права на домен. Для этого нужно положить специальный файл-ключ от Let's Encrypt в скрытую папку .well-known/acme-challenge/ в нашем бакете. Так сервис по урлу проверит, что домен ваш. Подробнее о том, как вообще работает валидация и подключение SSL (на примере Nginx), я писал в своей статье на Хабре.

Переходим в настройки бакета -> Безопасность -> HTTPS и выбираем созданный сертификат.

Любыми мыслимыми и немыслимыми способами (руками, скриптами, CI/CD) закидываем сгенерированные HTML-странички в бакет.

Не забываем добавить sitemap.xml и robots.txt для поисковиков.

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

👍 - интересное решение, забираю
💩 - это костыль, который сломается

#тек

🫥 Дебаж 🐞с ноги 🦶
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2🤔1
Мой главный вывод о любых маркетплейсах и сторах: если бизнес завязан на чужую площадку, это больше не твой бизнес.
Сегодня у миллионы установок и стабильный доход, а завтра приду удаляют по щелчку пальцев, и ничего не можешь с этим сделать. Платформа всегда диктует свои условия. Если нет независимых каналов связи с пользователями, проект просто находится в заложниках у корпораций.

#толки

🫥 Дебаж 🐞с ноги 🦶
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3💯2