Как я сделал полностью бесплатное Android-приложение для задач и финансов — и почему не взял ни копейки

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

Искусство создания компьютерных программ

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

Все в технологическом мире уже либо попробовали OpenClaw, либо у них есть коллега, который что-то на нём уже выкатывает в прод. И почти все упираются в одну и ту же проблему — браузерная автоматизация.
По умолчанию OpenClaw управляет локальным браузером. Для пары простых сценариев это ок. Но как только начинается что-то серьёзнее — параллельные сессии, большие флоу — машина становится узким местом. RAM улетает, всё начинает тормозить, прогоны становятся нестабильными. Плюс вы фактически запускаете агента рядом со своим реальным браузером — с куками, сессиями и всем остальным. С точки зрения безопасности это спорное решение.
Firecrawl выкатили решение — Browser S andbox. И это уже инфраструктурный подход, а не «девтул».
Добрый день, меня зовут Сергей Головкин.
Написать данную статью меня побудило осознание того, что очередной pet проект, возможно, будет полезен ИТ сообществу как решение или набор идей и реализаций, заложенных в него.
В статье я хочу рассказать и показать то, что у меня получилось — Универсальный Язык Трансформаций (UTL) и интеграционная платформа, его реализующая.

Один шведский разработчик заставляет curl работать на каждом телефоне, автомобиле и консоли на Земле. 47 автомобильных брендов используют его. Никто ему не платит. А теперь ИИ-боты заваливают его почтовый ящик.
Десять миллиардов установок. Один мейнтейнер.
curl - это маленькая утилита командной строки, которая передает данные через интернет. Когда ваш телефон скачивает обновление, когда браузер загружает страницу, когда ваша машина говорит с сервером - что-то должно обрабатывать этот сетевой запрос. На большинстве устройств это «что-то» - curl. Он невидим, он работает везде, и почти никто не знает о его существовании.
Это история об одном человеке, который поддерживает его работу, и о том, что происходит с ним сейчас.
Даниэль Стенберг взял на себя поддержку небольшого инструмента для загрузки по HTTP в 1996 году. Изначально утилита называлась httpget и была создана Рафаэлем Сагулой. Стенберг значительно расширил ее и переименовал в curl в 1998 году. Он никогда не прекращал поддерживать ее.
Сегодня curl поставляется внутри Windows, macOS, Linux, Android и iOS. Он работает на каждой PlayStation, каждом Xbox и каждой консоли Nintendo. Netflix стримит через него. Spotify стримит через него. Ваш умный телевизор, вероятно, зависит от него. Один шведский разработчик поддерживает работу всего этого.
В 2025 году Швеция назвала Стенберга Разработчиком года. В тот же период он начал писать посты в блоге о выгорании. Он также начал документировать новую угрозу: созданные ИИ фейковые баг-репорты, наводняющие его трекер задач, тратящие часы его времени каждую неделю.

Трудно определить аудиторию для кого эта статья. Профессионалы работы в Linux системах наверное просто засмеют, а кто вообще ничего не слышал про Linux возможно вообще ничего не поймет.
Я ее пишу для тех кто немного слышал про Linux и уже знает что такое виртуальный сервер но знаний пока не хватает. А еще возможно как памятку для себя.
На написание статьи меня натолкнула одна проблема, я запустил на своем сервере скрипт который должен был мне собрать данные с одного ресурса. И возникла проблема что IP адрес моего сервера был заблокирован, надеюсь что провайдер сменит мне выделенный IP.
И что бы не сталкиваться с проблемой блокировки выделенного IP адреса и походами к провайдеру с просьбой сменить IP, я решил создать личный прокси для запросов и главное что бы это было недорого.
Есть конечно решение проблемы, а именно использование VPN на сервере. Но тут есть проблема, на сервере работают несколько служб на разных портах и все висят на доменном имени привязанному к IP, а при запуске VPN все службы будут недоступны, а это недопустимо. Лучшем решением стала аренда виртуального сервера (VDS), но проблемой стало то, что многие хостеры в нагрузку добавляют панель управления сервером и конечно не бесплатно.
Ну и ближе к теме, мы не будем платить за панели администрирования, покупаем самый дешевый VDS с выделенным IP, у меня на это ушло примерно 240 рублей за месяц использования в зоне RU и чуть дороже в USA. Характеристики железа VDS слабенькие, но для запуска одного единственного PHP скрипта для анонимизации своих запросов вполне достаточно.

В 2026 году асинхронный Python уже никого не удивляет. Мы привыкли к автоскейлингу в облаках, но что делать, если ваш бюджет на инфраструктуру равен нулю, а в распоряжении есть только «печка» из 2012 года? Рассказываю про личный опыт выжимания максимума из FastAPI на AMD FX-8320: от тюнинга ядра Linux и PostgreSQL до миграции на Ed25519 и использования Rust-сервера Granian.

Минимум настроек — максимум результата: удобное управление окнами и быстрый workflow для работы без переключения на мышь. Подойдет как обывателю, так и профессионалу.

Хабр, привет!
Это история о том, как желание просто проверить, жив ли мой блог, привело к трём дням танцев с бубном вокруг SSL-сертификата, а затем — к созданию собственного сервиса мониторинга, который теперь используют сотни разработчиков. Расскажу, почему существующие решения перестали устраивать, как мы реализовали поддержку UDP и ICMP в облаке и почему мониторинг должен быть «скучным».

Я использую LLM в повседневной разработке уже больше года и довольно быстро упёрся в типовую проблему: модель генерирует “красивый код”, но по мере роста проекта появляется дублирование, разъезжается стиль, растёт число заглушек и отладка становится дорогой. В статье покажу процесс, который мне помог: как разделять контекст по чатам, какие артефакты требовать на каждом шаге и какими чек-листами я проверяю результат.

На Хабре любят хейтить менеджеров, которые «забыли, как кодить». Мол, оторвались от реальности, не понимают сроков, не чувствуют боль разработчика. Я раньше тоже так думал. А потом попал в команду к человеку, который три года не открывал IDE, и за полгода понял, что был неправ.

Язык программирования Zator представляет собой интересный и четко очерченный пример доменно-ориентированного языка, разработанного не для универсальных задач программирования, а для решения одной конкретной, но все более значимой проблемы — построения сложных генеративных пайплайнов для создания текста и изображений = Его философия коренится в стремлении минимизировать "шаблонный" код, который традиционно мешает созданию содержания, и предоставить разработчикам, дизайнерам и другим создателям контента высокоуровневые абстракции для работы с передовыми технологиями искусственного интеллекта . В отличие от мощных, но часто громоздких общепurpose языков, таких как Python или JavaScript, Zator делает ставку на простоту, скорость и специализацию, что определяет его место в экосистеме инструментов для ИИ =
Основная идея, лежащая в основе Zator, заключается в том, чтобы стать "языком описания пайплайнов", который работает поверх существующих сервисов искусственного интеллекта, а именно KoboldCpp и Stable Diffusion = Задача создания последовательностей, где результат одного шага (например, сгенерированный текст) используется как вход для следующего (например, промпт для генерации изображения), требует сложного взаимодействия с API. Это обычно включает в себя написание кода для сетевых запросов, управления состоянием, парсинга JSON-ответов и обработки файлов. Zator призван инкапсулировать всю эту сложность внутри нескольких ключевых функций, таких как generate_text() и generate_img(), которые абстрагируют низкоуровневые детали и позволяют пользователю сосредоточиться исключительно на логике своего пайплайна . Таким образом, язык позиционируется как инструмент, снижающий порог входа для людей без глубоких знаний в области системного программирования или веб-разработки, позволяя им быстро экспериментировать и создавать сложные генеративные сценарии .

Есть паттерн, который видит каждый, кто работает с агентами: первые 5–15 минут уходят не на задачу, а на "ориентацию". Где точка входа? Откуда растут зависимости? Почему эта библиотека, а не другая? Кто считает это публичным API? В маленьком проекте раздражает. В большом — превращается в постоянный налог на токены и внимание.
DSP (Data Structure Protocol) "выносит карту проекта наружу" — в простой, версионируемый, языковой граф, который живёт рядом с кодом и доступен агенту как постоянная память.
k-kolomeitsev/data-structure-protocol
Цель в архитектуре сформулирована так:
1) Цель и границы
Цель DSP — хранить минимальный, но достаточный контекст о репозитории/системе артефактов в виде графа «сущности → зависимости/публичный API», чтобы LLM могла:
- быстро находить нужные фрагменты по UID,
- понимать «зачем» сущности существуют и «как» они связаны,
- не требовать загрузки исходников целиком в контекстное окно.
DSP — это долговременная память и индекс проекта для LLM. Агент может в любой момент выполнить поиск (grep) по проекту, найти нужные сущности по описаниям/ключевым словам и от найденного UID раскрутить весь граф связей: входящие зависимости, исходящие импорты, реципиентов через exports. Это заменяет необходимость «помнить» структуру проекта или загружать его целиком — вся карта проекта всегда доступна через .dsp.

Язык программирования Rust в последние годы приобрел значительную популярность, выступая в качестве универсального языка, обеспечивающего высокую производительность и безопасную работу с памятью. Разработанный Mozilla, это современный язык программирования системного уровня, который является наиболее популярным среди разработчиков, работающих над различными приложениями, от операционных систем до веб-браузеров.
Эта статья предназначена для тех, кто только начинает свое знакомство с миром Rust. Мы рассмотрим основные преимущества этого языка, установим необходимые компоненты и соберем первое приложение.

Мы живем в эпоху, когда ИИ стал доступен каждому. Но за магией PyTorch скрывается колоссальная инженерная работа и сложные вычислительные процессы, которые для большинства остаются черным ящиком.
Это вторая статья из цикла От MNIST к Transformer, цель которого пошагово пройти путь от простого CUDA ядра до создания архитектуры Transformer - фундамента современных LLM моделей. Мы не будем использовать готовые высокоуровневые библиотеки. Мы будем разбирать, как все устроено под капотом, и пересобирать их ключевые механизмы своими руками на самом низком уровне. Только так можно по настоящему понять как работают LLM и что за этим стоит. В этой статье разберем основы работы с памятью и две простые математические операции с точки зрения математики, но не такие простые с точки зрения CUDA ядер.
Приготовьтесь, будет много кода на C++ и CUDA, работы с памятью и погружения в архитектуру GPU. И конечно же математика что за этим стоит. Поехали!

В одном и том же null часто прячут разные смыслы: “нет значения”, “неизвестно”, “неинициализировано”. Потом это всплывает в NPE и в кривой логике исполнения.
В Ceylon эту проблему решают через типовую систему, через Union типы. Подробнее, в переводе от Spring АйО.
Недавно наткнулся на статью про Echovault на Хабре — инструмент для памяти AI-агентов, написанный на Python. Автор описывал ровно ту же боль, что и я испытывал месяцами. Идея хорошая, реализация — рабочая. Но Python. Я ничего не имею против языка, просто не мой выбор для инструментов, которыми пользуюсь каждый день. Люблю скомпилированные бинарники: кинул файл — и работает, без virtualenv, без pip, без «а какая у тебя версия питона». Поэтому я взял идею и переписал её с нуля на Go. Получился Pantry.
Расскажу, зачем это вообще нужно и что внутри.

На прошлой неделе я попросил Claude устранить однострочный баг. Ему понадобилось 23 тысячи токенов. Потом тот же баг я попросил устранить Gemini. Он потратил 350 тысяч токенов. Да уж, на такое невозможно закрывать глаза.
Поэтому я написал Context Lens — трассировщик контекста, перехватывающий вызовы LLM API, чтобы показать, что же на самом деле находится в окне контекста с разбивкой по этапам. Я подключил его к четырём инструментам кодинга и дал им одну и ту же задачу. Результаты оказались настолько разными, что я решил написать об этом статью.
Вопрос
При работе с этими моделями мы платим за токены. Токены — это довольно сложная тема. По сути, это блоки информации; 1 токен приблизительно равен 4 символам английского текста. Чем больше токенов передаётся в модель, тем больше мы платим.
Но важнее то, что токены составляют контекст модели. Контекст — это всё, что есть у модели при генерации ответа, своего рода её кратковременная память. Как и у людей, она ограничена. И чем больше нужно запоминать, тем хуже мы справляемся при ответе на детализированный вопрос.
Итак, нам нужно быть аккуратными с нашим окном контекста, а для построения этого окна используются токены. Я задался вопросом: как инструменты справляются с этим ограничением? Насколько умно они его обрабатывают?

В результате долгих попыток упихнуть методологию разработки в телеграм-посты и Твиттер, пришел к выводу, что это невозможно. Слишком много информации, которую невозможно разрезать на мелкие куски.
Первая глава книги про AI-разработку - по ссылке. Прошу любить и жаловать :-)
Мы поговорим о том, почему отношения с нейросетью в формате «начальник → подчинённый» и «человек → инструмент» работают крайне отстойно. Введем модель сопроцессоров. Посмотрим, как устроено разделение когнитивной нагрузки в связке человек-машина. Что может только человек, что может только AI, и есть ли где-то пересечение.

Всем привет, меня зовут Илья Шишков, я пишу на С++ с 2006 года. Много лет я был разработчиком в больших C++-кодовых базах, но в 2024 году жизнь меня занесла в PostgreSQL. А именно в RnD-разработку СУБД Pangolin, это реляционная СУБД от СберТеха, PostgreSQL с нашими доработками под требования к усиленной безопасности, производительности и так далее. PostgreSQL, как известно, написан на чистом С. Так я поработал с этим языком несколько месяцев и… стал внедрять C++.
В этой статье я расскажу, зачем так сделал и почему это оказалось очень удобно. Например, некоторые технологии из C++ есть в PostgreSQL, при том, что их нет в C. Разберу практические примеры, как мне кажется, хороших абстракций на C++, которые упрощают программирование на C. И немного времени уделю разбору цены, которую нам приходится платить, когда мы используем в коде различные абстракции.

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