Немного Алтайских видов вам из отпуска
Очень рекомендую к посещению! Невероятные виды – горы, степи, мощные реки, кедровые леса, МАРС🤯 Золотая осень – это восторг. Доволен выбором сезона на 200%. А еще это очень мистические места, где живут шаманы, люди верят в духов, а на скалах раскиданы рисунки 4000летней давности. Что-то в этом есть.
Я впервые в этом регионе, поэтому взял обзорный тур – очень много в дороге, зато смотрим все-все-все по чуть-чуть.
Но уже наметил для себя две следующие точки на Алтае, куда поеду целенаправленно:
- альплагерь для подготовки к восхождениям @aktrucamp
- трекинговый тур в южный район
А планы на ближайшие три дня: уехать в лес без связи, колоть дрова, топить печку и мыться в бане🌚 (это тоже часть тура, ага)
Очень рекомендую к посещению! Невероятные виды – горы, степи, мощные реки, кедровые леса, МАРС🤯 Золотая осень – это восторг. Доволен выбором сезона на 200%. А еще это очень мистические места, где живут шаманы, люди верят в духов, а на скалах раскиданы рисунки 4000летней давности. Что-то в этом есть.
Я впервые в этом регионе, поэтому взял обзорный тур – очень много в дороге, зато смотрим все-все-все по чуть-чуть.
Но уже наметил для себя две следующие точки на Алтае, куда поеду целенаправленно:
- альплагерь для подготовки к восхождениям @aktrucamp
- трекинговый тур в южный район
А планы на ближайшие три дня: уехать в лес без связи, колоть дрова, топить печку и мыться в бане🌚 (это тоже часть тура, ага)
2🔥30👍8❤🔥5 2
Как не пилить фичи, которые никому не нужны? Модель Кано в разработке.
Вот и отпуск прошел, пора возвращаться к работе...
Сейчас я работаю над AG2 и пытаюсь make this project great again. В общем, составляем родмап для фич.
И в этом мне сильно помогает модель Кано, которую я изначально подсмотрел у Дорофеева. Максим в своей книге адаптировал 5 категорий "фич" под продуктивность. Но это только подтверждает состоятельность методолгии – ведь ее можно применять к любой области!
Итак, 5 категорий фич (задач) по Дорофееву (Кано):
🤩 1. Ублажители (Delighters)
Это те самые "вау-фичи". Их никто не ждет, но их минимальное наличие вызывает восторг.
- Пример: AI-ассистент в документации, который отвечает на вопросы. Или забавная анимация загрузки. FastStream, который сам генерирует документацию для сервиса.
- Суть: Пользователь не расстроится, если их нет (он их может даже не ожидать), но будет в восторге, если они есть. Хотя, может быть и сильным конкурентным преимуществом.
✅ 2. "Должно быть" (Must-be)
Это базовые, ожидаемые вещи. Если они работают хорошо, этого никто не замечает. Но если они сломаны — удовлетворенность пользователя падает до нуля.
- Пример: Кнопка "Сохранить" действительно сохраняет. pip install вашего пакета работает без ошибок. API отдает валидный JSON.
- Суть: Их наличие не радует, но их отсутствие или плохая работа — это катастрофа. Это фундамент, на котором все строится.
🚀 3. "Больше — лучше" (Performance)
Здесь все просто: чем лучше реализация, тем выше удовлетворенность.
- Пример: Скорость работы вашего приложения, точность поисковой выдачи, количество поддерживаемых интеграций.
- Суть: Прямая, линейная зависимость. Вкладываясь сюда, вы гарантированно повышаете ценность продукта в глазах пользователя.
🤷♂️ 4. Нейтральные (Indifferent)
Пользователям на них все равно. Вы можете потратить недели на их реализацию, но никто этого не оценит.
- Пример: 15-й способ кастомизации цвета кнопки в настройках, которым воспользуются 0.01% пользователей.
- Суть: Чистая трата ресурсов. Главная задача - научиться распознавать их до начала разработки.
🤬 5. Реверсивные (Reverse)
Фичи, наличие которых ухудшает пользовательский опыт. Да, и такое бывает.
- Пример: Обязательная регистрация для того, чтобы воспользоваться простейшей утилитой. Слишком сложный и запутанный UI там, где все могло быть просто.
- Суть: Это выстрел себе в ногу. Такие фичи не просто не приносят пользы — они вредят.
Как это применить на практике?
Эта модель — мощный инструмент для приоритизации и принятия решений. Прежде чем бросаться кодить очередную гениальную идею, спросите себя:
- Это "ублажитель", который можно сделать потом, или "должно быть", без которого все развалится?
- Мы сейчас улучшаем метрику "больше — лучше" или пилим "нейтральную" фичу, которая никому не нужна?
- А не создаем ли мы "реверсивную" фичу, которая только усложнит жизнь пользователю?
Понимание этих типов помогает не только писать код, но и говорить на одном языке с продакт-менеджерами, защищать свои решения и, в конечном итоге, создавать продукты, которые действительно ценят. Это помогает экономить самый ценный ресурс — время разработки — и не выгорать от бесполезной работы.
А теперь вопрос в зал: какая самая бесполезная или даже "реверсивная" фича, которую вам приходилось делать?🌚
#программирование #продуктивность #карьера #дорофеев
Вот и отпуск прошел, пора возвращаться к работе...
Сейчас я работаю над AG2 и пытаюсь make this project great again. В общем, составляем родмап для фич.
И в этом мне сильно помогает модель Кано, которую я изначально подсмотрел у Дорофеева. Максим в своей книге адаптировал 5 категорий "фич" под продуктивность. Но это только подтверждает состоятельность методолгии – ведь ее можно применять к любой области!
Итак, 5 категорий фич (задач) по Дорофееву (Кано):
🤩 1. Ублажители (Delighters)
Это те самые "вау-фичи". Их никто не ждет, но их минимальное наличие вызывает восторг.
- Пример: AI-ассистент в документации, который отвечает на вопросы. Или забавная анимация загрузки. FastStream, который сам генерирует документацию для сервиса.
- Суть: Пользователь не расстроится, если их нет (он их может даже не ожидать), но будет в восторге, если они есть. Хотя, может быть и сильным конкурентным преимуществом.
✅ 2. "Должно быть" (Must-be)
Это базовые, ожидаемые вещи. Если они работают хорошо, этого никто не замечает. Но если они сломаны — удовлетворенность пользователя падает до нуля.
- Пример: Кнопка "Сохранить" действительно сохраняет. pip install вашего пакета работает без ошибок. API отдает валидный JSON.
- Суть: Их наличие не радует, но их отсутствие или плохая работа — это катастрофа. Это фундамент, на котором все строится.
🚀 3. "Больше — лучше" (Performance)
Здесь все просто: чем лучше реализация, тем выше удовлетворенность.
- Пример: Скорость работы вашего приложения, точность поисковой выдачи, количество поддерживаемых интеграций.
- Суть: Прямая, линейная зависимость. Вкладываясь сюда, вы гарантированно повышаете ценность продукта в глазах пользователя.
🤷♂️ 4. Нейтральные (Indifferent)
Пользователям на них все равно. Вы можете потратить недели на их реализацию, но никто этого не оценит.
- Пример: 15-й способ кастомизации цвета кнопки в настройках, которым воспользуются 0.01% пользователей.
- Суть: Чистая трата ресурсов. Главная задача - научиться распознавать их до начала разработки.
🤬 5. Реверсивные (Reverse)
Фичи, наличие которых ухудшает пользовательский опыт. Да, и такое бывает.
- Пример: Обязательная регистрация для того, чтобы воспользоваться простейшей утилитой. Слишком сложный и запутанный UI там, где все могло быть просто.
- Суть: Это выстрел себе в ногу. Такие фичи не просто не приносят пользы — они вредят.
Как это применить на практике?
Эта модель — мощный инструмент для приоритизации и принятия решений. Прежде чем бросаться кодить очередную гениальную идею, спросите себя:
- Это "ублажитель", который можно сделать потом, или "должно быть", без которого все развалится?
- Мы сейчас улучшаем метрику "больше — лучше" или пилим "нейтральную" фичу, которая никому не нужна?
- А не создаем ли мы "реверсивную" фичу, которая только усложнит жизнь пользователю?
Понимание этих типов помогает не только писать код, но и говорить на одном языке с продакт-менеджерами, защищать свои решения и, в конечном итоге, создавать продукты, которые действительно ценят. Это помогает экономить самый ценный ресурс — время разработки — и не выгорать от бесполезной работы.
А теперь вопрос в зал: какая самая бесполезная или даже "реверсивная" фича, которую вам приходилось делать?🌚
#программирование #продуктивность #карьера #дорофеев
1👍12🔥7❤1
FastNews | Никита Пастухов
В полку AI IDE прибыло –Amazon выпустили своего конкурента Cursor https://kiro.dev/ UPD: я упустил еще одну IDE'шку https://www.trae.ai/🤯 Теперь у нас есть на выбор Cursor, Windsurf, Kiro, Trae, Codebuddy, Claude Code, Aider. Посмотрим, как рынок поделится…
Оказывается Open Router выкладывает у себя на странице ранкинги - там можно посмотреть, на какие модели через них идет больше всего запросов, что может помочь сориентироваться, какую модель для каких целей юзать
А еще - там есть ранкинг LLM тулов (IDE плагины, CLI утилиты, библиотеки и тд)🤯 А вот это уже прикольнее, т.к. там можно подсмотреть какие-нибудь прикольные тулы, о которых ты не знал.
Например, я увидел, что можно попробовать юзать Kilocode вместо Continue в качестве AI плагина для VSCode🚀 (continue безбожно лагает по моему опыту)
А еще - там есть ранкинг LLM тулов (IDE плагины, CLI утилиты, библиотеки и тд)🤯 А вот это уже прикольнее, т.к. там можно подсмотреть какие-нибудь прикольные тулы, о которых ты не знал.
Например, я увидел, что можно попробовать юзать Kilocode вместо Continue в качестве AI плагина для VSCode🚀 (continue безбожно лагает по моему опыту)
OpenRouter
LLM Rankings | OpenRouter
LLM rankings and leaderboard based on real usage data from millions of users. See which AI models developers actually use.
👍5😢1🏆1
Так, я уже третий день сижу разбираюсь с библиотеками, протоколами и прочей LLM и агентным тулингом. И просто накипело😑
Пожалуйста, позовите меня на какой-нибудь митап ныть про то, как все плохо, когда
1) нет стандартов
2) нет библиотек для работы с экспериментальными стандартами
3) то, что есть - написано MLщиками или LLM
4) ничего друг с другом не стыкуется
Я потратил около 6ти часов, чтобы запустить хоть что-то осмысленное поверх A2A, т.к. документации нет, примеры кода в samples устарели, а те, что запустились - так и сыплют ошибками и варнингами в рандомных местах😭
Если вы думаете, что "умные ребята из Google уже написали все библиотеки, мне просто нужно сделать pip install" - ЭТО ТАК НЕ РАБОТАЕТ. По крайней мере для меня💀
Пожалуйста, позовите меня на какой-нибудь митап ныть про то, как все плохо, когда
1) нет стандартов
2) нет библиотек для работы с экспериментальными стандартами
3) то, что есть - написано MLщиками или LLM
4) ничего друг с другом не стыкуется
Я потратил около 6ти часов, чтобы запустить хоть что-то осмысленное поверх A2A, т.к. документации нет, примеры кода в samples устарели, а те, что запустились - так и сыплют ошибками и варнингами в рандомных местах
Если вы думаете, что "умные ребята из Google уже написали все библиотеки, мне просто нужно сделать pip install" - ЭТО ТАК НЕ РАБОТАЕТ. По крайней мере для меня💀
Please open Telegram to view this post
VIEW IN TELEGRAM
a2a-protocol.org
A2A Protocol
The official documentation for the Agent2Agent (A2A) protocol. The A2A protocol is an open standard that allows different AI agents to securely communicate, collaborate, and solve complex problems together.
🤬12❤3
Как работает MCP
MCP - это очень простой протокол, который изменил мир. По сути, MCP - это RPC (Remote Procedure Call) для LLM, где "процедурами" выступают поставщики контекста. Весь обмен построен на стандартизированных JSON-сообщениях. ЭТО ПРОСТО HTTP РУЧКИ С ОПРЕДЕЛЕННЫМ ПОРЯДКОМ ВЫЗОВА
В протокол MCP вовлечены 3 действующих лица:
- MCP Server - HTTP (и не только) приложение, которое поддерживает обращения по протоколу MCP. Например, в IDE включены некоторые MCP-тулы по работе с файловой системой / историей коммитов / etc. Но вы можете поднять любые удаленные MCP серверы и просто указать их для работы.
- MCP Client - приложение, которое хочет работать с MCP сервером. Например, IDE-ассистент, CLI-утилита, или даже ChatGPT (ему тоже можно дать доступ к MCP)
- LLM провайдер - это "голова" вашего MCP клиента. Туда клиент передает вопросы и получает ответы (или команды на запуск MCP)
Основной флоу: Знакомство, Запрос, Ответ
Представим, что вы подключили к Chat GPT MCP сервер для арифметики. И задаете ему вопрос: "Сколько будет 2 + 2 * 2?" (я пропущу пару шагов, чтобы не усложнять)
Шаг 1: Tool Discovery (Знакомство)
Как только вы начинаете диалог, MCP Client (Chat GPT) опрашивает MCP Server'ы, чтобы узнать, что те вообще умеют. MCP Server отвечает сообщением типа ContextProvider.
Это как если бы сервер сказал клиенту: "Привет, я сервер. Вот мой Swagger / OpenAPI. Ты можешь вызывать вот такие эндпоинты".
Что здесь происходит:
* name:
* title + description: Человекопонятное описание, чтобы LLM поняла, что эта штука делает и когда ее стоит вызывать.
* inputSchema: А вот и "сигнатуры функций". Это, по сути, JSON Schema, описывающая, какие параметры принимают методы этого сервера.
Теперь LLM Client отправит это сообщение вместе с вашим вопросом прямо в GPT. И GPT уже знает, что он может вызвать операцию
Шаг 2: Request (Запрос контекста)
Агент анализирует ваш вопрос и решает, что для ответа ему нужно вызвать операцию
Агент формирует и отправляет MCP Client сообщение ContextRequest. Client понимает, что LLM хочет вызвать MCP сервер и передает ему это сообщение.
Это и есть тот самый "вызов функции".
Шаг 3: Response (Ответ)
MCP Server получает этот запрос (HTTP запрос), делает свое дело и возвращает результат MCP Client'у. А тот отправляет его обратно LLM.
Теперь LLM "мозг" решает – готов ли он дать окончательный ответ или нужно вызвать еще парочку MCP
И вот так MCP Client менеджит команды LLM "мозга" на выполнение разных запросов к MCP серверам. Так мы приделали к "мозгу" "руки". С помощью MCP нейронки могут общаться с внешним миром - спрашивать данные, выполнять действия во внешних системах и тд.
Важно понимать, что информацию о подключенных MCP серверах тоже является частью контекста. Подключишь много серверов - это будет путать и сбивать нейронку.
#MCP #протоколы #LLM #AI
MCP - это очень простой протокол, который изменил мир. По сути, MCP - это RPC (Remote Procedure Call) для LLM, где "процедурами" выступают поставщики контекста. Весь обмен построен на стандартизированных JSON-сообщениях. ЭТО ПРОСТО HTTP РУЧКИ С ОПРЕДЕЛЕННЫМ ПОРЯДКОМ ВЫЗОВА
В протокол MCP вовлечены 3 действующих лица:
- MCP Server - HTTP (и не только) приложение, которое поддерживает обращения по протоколу MCP. Например, в IDE включены некоторые MCP-тулы по работе с файловой системой / историей коммитов / etc. Но вы можете поднять любые удаленные MCP серверы и просто указать их для работы.
- MCP Client - приложение, которое хочет работать с MCP сервером. Например, IDE-ассистент, CLI-утилита, или даже ChatGPT (ему тоже можно дать доступ к MCP)
- LLM провайдер - это "голова" вашего MCP клиента. Туда клиент передает вопросы и получает ответы (или команды на запуск MCP)
Основной флоу: Знакомство, Запрос, Ответ
Представим, что вы подключили к Chat GPT MCP сервер для арифметики. И задаете ему вопрос: "Сколько будет 2 + 2 * 2?" (я пропущу пару шагов, чтобы не усложнять)
Шаг 1: Tool Discovery (Знакомство)
Как только вы начинаете диалог, MCP Client (Chat GPT) опрашивает MCP Server'ы, чтобы узнать, что те вообще умеют. MCP Server отвечает сообщением типа ContextProvider.
Это как если бы сервер сказал клиенту: "Привет, я сервер. Вот мой Swagger / OpenAPI. Ты можешь вызывать вот такие эндпоинты".
// Сообщение от MCP Server -> MCP Client
{
"jsonrpc": "2.0",
"result": {
"tools": [{
"name": "calculator_arithmetic",
"title": "Calculator",
"description": "Perform mathematical calculations including basic arithmetic, trigonometric functions, and algebraic operations",
"inputSchema": {
"type": "object",
"properties": {
"expression": {
"type": "string",
"description": "Mathematical expression to evaluate (e.g., '2 + 3 * 4', 'sin(30)', 'sqrt(16)')"
}
},
"required": ["expression"]
}
},
]}
}
Что здесь происходит:
* name:
calculator_arithmetic — уникальное имя операции.* title + description: Человекопонятное описание, чтобы LLM поняла, что эта штука делает и когда ее стоит вызывать.
* inputSchema: А вот и "сигнатуры функций". Это, по сути, JSON Schema, описывающая, какие параметры принимают методы этого сервера.
Теперь LLM Client отправит это сообщение вместе с вашим вопросом прямо в GPT. И GPT уже знает, что он может вызвать операцию
calculator_arithmetic, если понадобится что-то посчитать.Шаг 2: Request (Запрос контекста)
Агент анализирует ваш вопрос и решает, что для ответа ему нужно вызвать операцию
calculator_arithmetic с параметром expression равным 2 + 2 * 2.Агент формирует и отправляет MCP Client сообщение ContextRequest. Client понимает, что LLM хочет вызвать MCP сервер и передает ему это сообщение.
// Сообщение от Агента (LLM) -> MCP Server
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "calculator_arithmetic",
"arguments": { "expression": "2 + 2 * 2" }
}
}
Это и есть тот самый "вызов функции".
Шаг 3: Response (Ответ)
MCP Server получает этот запрос (HTTP запрос), делает свое дело и возвращает результат MCP Client'у. А тот отправляет его обратно LLM.
// Сообщение от MCP Server -> MCP Client
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [{
"type": "text",
"text": "6"
}]
}
}
Теперь LLM "мозг" решает – готов ли он дать окончательный ответ или нужно вызвать еще парочку MCP
И вот так MCP Client менеджит команды LLM "мозга" на выполнение разных запросов к MCP серверам. Так мы приделали к "мозгу" "руки". С помощью MCP нейронки могут общаться с внешним миром - спрашивать данные, выполнять действия во внешних системах и тд.
Важно понимать, что информацию о подключенных MCP серверах тоже является частью контекста. Подключишь много серверов - это будет путать и сбивать нейронку.
#MCP #протоколы #LLM #AI
Model Context Protocol
What is the Model Context Protocol (MCP)? - Model Context Protocol
👍12❤3🙏2👌1
Кстати, чтобы написать свой простейший MCP сервер очень просто:
FastMCP - это небольшая обертка над библиотекой Starlette, которая позволяет легко создавать MCP серверы - тут вы видите и title, и description, и inputSchema каждого метода.
#MCP #протоколы #LLM #AI
from fastmcp import FastMCP
mcp = FastMCP("Demo 🚀")
@mcp.tool
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
FastMCP - это небольшая обертка над библиотекой Starlette, которая позволяет легко создавать MCP серверы - тут вы видите и title, и description, и inputSchema каждого метода.
#MCP #протоколы #LLM #AI
FastMCP
Welcome to FastMCP 2.0! - FastMCP
The fast, Pythonic way to build MCP servers and clients.
👍9🔥2😁2
Спасибо dependanbot за такую "классную" поддержку uv
https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem-
А я все думал, почему у меня локфайл не обновляется?😕
Вот скажите, почему
https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem-
А я все думал, почему у меня локфайл не обновляется?😕
Вот скажите, почему
pip - pip, pip-compile - pip, даже poetry - pip, но uv - uv!?🤬🥴11😭2❤1
FastNews | Никита Пастухов
Моя система эффективности: как я выбрался из выгорания и начал перформить Как и обещал вчера, делюсь своим списком "рецептов", которые помогают мне быть не просто продуктивным, а именно эффективным. Это не волшебная таблетка, а система, которую я выстраивал…
Моя система планирования
В комментах меня спросили, как я веду ежедневник и планирую задачи. Вопрос отличный, потому что я очень ленив. Заставить эту тушу работать - та еще задачка🌚 Поэтому рассказываю про подход, который помогает совмещать фуллтайм, парт-тайм, Open Source, личную жизнь и не сойти с ума.
Сразу скажу: я фанат бумаги и списков. И дело не только в эстетике.
Существует РЕАЛЬНОЕ подтверждение тому, что запись целей от руки напрямую влияет на вероятность их достижения. Dr. Gail Matthews из Доминиканского университета выяснила, что люди, которые записывают свои цели, достигают их на 42% чаще, тех, кто держит их в голове. И в принципе чаще тех, кто их не формулирует вообще. Вот ссылка на резюме исследования
Суть в том, что запись от руки задействует больше нейронных цепей, заставляя мозг глубже обрабатывать информацию и формируя более сильную эмоциональную привязку к цели.
Наверное, поэтому моя система на 90% аналоговая. Хотя мне просто нравится писать от руки. Итак, основные принципы:
1️⃣ Вечерний ритуал: Анализ и план на завтра (каждый день)
Каждый вечер я трачу 15-20 минут, чтобы подвести итоги дня в ежедневнике:
- Что сделал? - просто радуемся галочкам
- Что планировал, но не сделал? - выкидываем или переносим на другой день
- Что помешало? - анализируем, почему не получилось закрыть список. Если задача часто переносится - переформулируем
- План на завтра - смотрим, что уже записано в ежедневнике. Докидываем задачи из беклога или головы
Этот ритуал — моя петля обратной связи. Она помогает проталкивать залежавшиеся задачи и выполнять "важное и срочное".
2️⃣ Воскресная синхронизация: Стратегический обзор недели
Каждое воскресенье я открываю свой календарь и блокнот. Это время для расстановки задач на предстоящую неделю:
- Жесткие встречи - все, что привязано к конкретному времени (митинги, записи к врачу, митапы, доставки), достается из календаря и переносится в ежедневник
- Ритуалы - выделяю время под спорт, изучение чего-то нового, личные проекты. Не "два раза в неделю займусь спортом", а конкретно: "Вторник, 19:00 — зал", "Пятница, 8:00 — пробежка".
- Цели на неделю - достаю из беклога задачи, которые хочу "подвигать" за неделю
3️⃣ Рабочий спринт: Тактический планер-помидорка
Когда я сажусь за работу (утром на основной или вечером за свои проекты), я не смотрю в огромный список дел. Я беру отдельный лист или страницу и выписываю 3-4 задачи на ближайший спринт (1.5-2 часа). Напротив каждой ставлю примерное количество "помидорок" (25-минутных слотов), которые планирую потратить.
Это превращает аморфный список дел в конкретный, выполнимый план на сейчас.
4️⃣ Сверка с курсом (в течение дня)
Каждые 1-2 часа я быстро заглядываю в свой ежедневник или планер-помидорку. Это помогает понять, то ли я вообще делаю. Если я не знаю, что делать дальше — ответ всегда там.
Главный результат всего этого — разгрузка мозга🧠
Самое главное тут - разгрузить мозг от "блин, мне еще надо сделать Х во вторник, не забыть бы". Я всегда знаю, что делать сегодня, завтра и в четверг. Где-то примерно, где-то в конкретные часы. Но ничего помнить и думать не надо. Ну и аналитика очень важна - если ты постоянно делаешь не то, что планируешь, то это повод задуматься, что тебя отвлекает.
По хорошему - надо бы еще докинуть полугодовые ревью с достижением долгосрочных целей. Но пока и так хорошо.
А как вы планируете свое время? Я слышал что-то про GTD, но сильно не углублялся.
#продуктивность #планирование #саморазвитие
В комментах меня спросили, как я веду ежедневник и планирую задачи. Вопрос отличный, потому что я очень ленив. Заставить эту тушу работать - та еще задачка🌚 Поэтому рассказываю про подход, который помогает совмещать фуллтайм, парт-тайм, Open Source, личную жизнь и не сойти с ума.
Сразу скажу: я фанат бумаги и списков. И дело не только в эстетике.
Существует РЕАЛЬНОЕ подтверждение тому, что запись целей от руки напрямую влияет на вероятность их достижения. Dr. Gail Matthews из Доминиканского университета выяснила, что люди, которые записывают свои цели, достигают их на 42% чаще, тех, кто держит их в голове. И в принципе чаще тех, кто их не формулирует вообще. Вот ссылка на резюме исследования
Суть в том, что запись от руки задействует больше нейронных цепей, заставляя мозг глубже обрабатывать информацию и формируя более сильную эмоциональную привязку к цели.
Наверное, поэтому моя система на 90% аналоговая. Хотя мне просто нравится писать от руки. Итак, основные принципы:
Каждый вечер я трачу 15-20 минут, чтобы подвести итоги дня в ежедневнике:
- Что сделал? - просто радуемся галочкам
- Что планировал, но не сделал? - выкидываем или переносим на другой день
- Что помешало? - анализируем, почему не получилось закрыть список. Если задача часто переносится - переформулируем
- План на завтра - смотрим, что уже записано в ежедневнике. Докидываем задачи из беклога или головы
Этот ритуал — моя петля обратной связи. Она помогает проталкивать залежавшиеся задачи и выполнять "важное и срочное".
Каждое воскресенье я открываю свой календарь и блокнот. Это время для расстановки задач на предстоящую неделю:
- Жесткие встречи - все, что привязано к конкретному времени (митинги, записи к врачу, митапы, доставки), достается из календаря и переносится в ежедневник
- Ритуалы - выделяю время под спорт, изучение чего-то нового, личные проекты. Не "два раза в неделю займусь спортом", а конкретно: "Вторник, 19:00 — зал", "Пятница, 8:00 — пробежка".
- Цели на неделю - достаю из беклога задачи, которые хочу "подвигать" за неделю
Когда я сажусь за работу (утром на основной или вечером за свои проекты), я не смотрю в огромный список дел. Я беру отдельный лист или страницу и выписываю 3-4 задачи на ближайший спринт (1.5-2 часа). Напротив каждой ставлю примерное количество "помидорок" (25-минутных слотов), которые планирую потратить.
Это превращает аморфный список дел в конкретный, выполнимый план на сейчас.
Каждые 1-2 часа я быстро заглядываю в свой ежедневник или планер-помидорку. Это помогает понять, то ли я вообще делаю. Если я не знаю, что делать дальше — ответ всегда там.
Главный результат всего этого — разгрузка мозга🧠
Самое главное тут - разгрузить мозг от "блин, мне еще надо сделать Х во вторник, не забыть бы". Я всегда знаю, что делать сегодня, завтра и в четверг. Где-то примерно, где-то в конкретные часы. Но ничего помнить и думать не надо. Ну и аналитика очень важна - если ты постоянно делаешь не то, что планируешь, то это повод задуматься, что тебя отвлекает.
По хорошему - надо бы еще докинуть полугодовые ревью с достижением долгосрочных целей. Но пока и так хорошо.
А как вы планируете свое время? Я слышал что-то про GTD, но сильно не углублялся.
#продуктивность #планирование #саморазвитие
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍17🔥12👏3❤1❤🔥1
Шок-контент - Django 6.0 (господи, я последний раз на третьей писал), которая выйдет в декабре, релизит built-in Celery🤯
https://docs.djangoproject.com/en/dev/topics/tasks/
Кажется, Celery убьют не с той стороны, с которой все ждали😂
Ладно, это не совсем Celery, но очень похоже.
А еще они планируют дропать python3.10 и 3.11 - кто-нибудь объясните мне, почему я поддерживаю все живые версии питона в FastStream?
https://docs.djangoproject.com/en/dev/topics/tasks/
Кажется, Celery убьют не с той стороны, с которой все ждали😂
Ладно, это не совсем Celery, но очень похоже.
А еще они планируют дропать python3.10 и 3.11 - кто-нибудь объясните мне, почему я поддерживаю все живые версии питона в FastStream?
🔥11😁9🤯6
Как зарабатывать на OpenSource
Когда люди удивляются "а почему ты ничего не зарабатываешь на Open Source? - я вспоминаю вот этот пост. Ни одна из 40 автомобильных компаний, использующих curl не донатит curl😢
Но я решил копнуть чуть глубже и собрать статистику по другим крупным и важным инфраструктурным проектам
1️⃣ Django — "У нас есть фонд!"
У Django, казалось бы, все хорошо. Есть Django Software Foundation (DSF), корпоративные члены, прозрачная страница для сбора средств.
- Спонсоры: Есть несколько "Corporate Fellows" (например, Divio, Sentry), которые платят $2-8k в год. Есть и более мелкие спонсоры.
В 2022 году бюджет DSF составил около $250,000. В 2025 году пока что собрали только 40% от запланированного бюджета. Эти деньги идут на оплату одного-двух фуллтайм-мейнтейнеров, организацию конференций и инфраструктуру. Это бюджет проекта, на котором работают Instagram, Spotify и Dropbox.
2️⃣ Pytest - полная прозрачность
Pytest использует Open Collective, где все финансы видны как на ладони.
- Бюджет: собрано за все время - 80000$, годовой бюджет - 12000$, ежемесячных стабильных поступлений - 390$
- Спонсоры: Есть крупные доноры вроде Bloomberg и Microsoft, но большая часть — это небольшие пожертвования от компаний и частных лиц.
Этих денег хватает на оплату работы нескольких ключевых контрибьюторов на парт-тайм основе и покрытие расходов. Этого достаточно, чтобы проект не умер, но недостаточно для стратегического развития силами выделенной команды.
3️⃣ FastAPI (tiangolo) - человек-оркестр
Здесь спонсорство идет не фонду, а напрямую одному человеку — Себастьяну Рамиресу.
- Спонсоры: На GitHub у него ~140 спонсоров. А еще "золотые спонсоры" получают плашку в документации. Так что Себастьян продает еще и рекламу таким образом. Сумма не раскрывается, но по моим прикидкам - что-то около 8000$ в месяц.
Весь фреймворк, которым пользуются в Uber, Netflix и Microsoft, держится на плечах одного человека. Это колоссальное давление и огромный "bus factor". Видимо, всех все устраивает.
4️⃣ MkDocs-Material (squidfunk) - Open Core бизнес-модель
Основной функционал бесплатен, но есть "Insiders" - платная версия для спонсоров с эксклюзивными фичами.
- Спонсоры: Более 400 спонсоров на GitHub. 15000$ в месяц. Это один из самых успешных примеров индивидуального спонсорства.
Мартин смог сделать это своей фуллтайм-работой. Но опять же, это зарплата одного очень крутого разработчика, а не бюджет, сопоставимый с пользой продукта для тысяч компанийю
5️⃣ FastStream
За все время я получил около 8600 рублей пожертвованиями от пользователей. Спасибо вам за пиво!❤️
В итоге мы видим гиганскую пропасть между ценностью Open Source для бизнеса, и финансовой поддержкой, которую он получает взамен. Даже самые успешные проекты балансируют на грани. Их бюджеты - это не зарплаты топ-менеджеров в FAANG. Это зарплата одного-двух инженеров, которые тащат на себе инфраструктуру, от которой зависят триллионы долларов.
Казалось бы, 500$ в месяц от компании - это ничто. Но 10 таких компаний могут обеспечить фуллтайм-работу одного инженера. Представьте, насколько качественным может быть такой OSS продукт?
А что делать? Ничего. Работает же.
#OpenSource #карьера #экономика
Когда люди удивляются "а почему ты ничего не зарабатываешь на Open Source? - я вспоминаю вот этот пост. Ни одна из 40 автомобильных компаний, использующих curl не донатит curl😢
Но я решил копнуть чуть глубже и собрать статистику по другим крупным и важным инфраструктурным проектам
1️⃣ Django — "У нас есть фонд!"
У Django, казалось бы, все хорошо. Есть Django Software Foundation (DSF), корпоративные члены, прозрачная страница для сбора средств.
- Спонсоры: Есть несколько "Corporate Fellows" (например, Divio, Sentry), которые платят $2-8k в год. Есть и более мелкие спонсоры.
В 2022 году бюджет DSF составил около $250,000. В 2025 году пока что собрали только 40% от запланированного бюджета. Эти деньги идут на оплату одного-двух фуллтайм-мейнтейнеров, организацию конференций и инфраструктуру. Это бюджет проекта, на котором работают Instagram, Spotify и Dropbox.
2️⃣ Pytest - полная прозрачность
Pytest использует Open Collective, где все финансы видны как на ладони.
- Бюджет: собрано за все время - 80000$, годовой бюджет - 12000$, ежемесячных стабильных поступлений - 390$
- Спонсоры: Есть крупные доноры вроде Bloomberg и Microsoft, но большая часть — это небольшие пожертвования от компаний и частных лиц.
Этих денег хватает на оплату работы нескольких ключевых контрибьюторов на парт-тайм основе и покрытие расходов. Этого достаточно, чтобы проект не умер, но недостаточно для стратегического развития силами выделенной команды.
3️⃣ FastAPI (tiangolo) - человек-оркестр
Здесь спонсорство идет не фонду, а напрямую одному человеку — Себастьяну Рамиресу.
- Спонсоры: На GitHub у него ~140 спонсоров. А еще "золотые спонсоры" получают плашку в документации. Так что Себастьян продает еще и рекламу таким образом. Сумма не раскрывается, но по моим прикидкам - что-то около 8000$ в месяц.
Весь фреймворк, которым пользуются в Uber, Netflix и Microsoft, держится на плечах одного человека. Это колоссальное давление и огромный "bus factor". Видимо, всех все устраивает.
4️⃣ MkDocs-Material (squidfunk) - Open Core бизнес-модель
Основной функционал бесплатен, но есть "Insiders" - платная версия для спонсоров с эксклюзивными фичами.
- Спонсоры: Более 400 спонсоров на GitHub. 15000$ в месяц. Это один из самых успешных примеров индивидуального спонсорства.
Мартин смог сделать это своей фуллтайм-работой. Но опять же, это зарплата одного очень крутого разработчика, а не бюджет, сопоставимый с пользой продукта для тысяч компанийю
5️⃣ FastStream
За все время я получил около 8600 рублей пожертвованиями от пользователей. Спасибо вам за пиво!
В итоге мы видим гиганскую пропасть между ценностью Open Source для бизнеса, и финансовой поддержкой, которую он получает взамен. Даже самые успешные проекты балансируют на грани. Их бюджеты - это не зарплаты топ-менеджеров в FAANG. Это зарплата одного-двух инженеров, которые тащат на себе инфраструктуру, от которой зависят триллионы долларов.
Казалось бы, 500$ в месяц от компании - это ничто. Но 10 таких компаний могут обеспечить фуллтайм-работу одного инженера. Представьте, насколько качественным может быть такой OSS продукт?
А что делать? Ничего. Работает же.
#OpenSource #карьера #экономика
Please open Telegram to view this post
VIEW IN TELEGRAM
Linkedin
#curl #curl | Daniel Stenberg | 43 comments
An Open Source sustainability story in two slides. (for a coming talk of mine)
Slide 1: car brands using #curl
Slide 2: car brands sponsoring or paying for #curl support | 43 comments on LinkedIn
Slide 1: car brands using #curl
Slide 2: car brands sponsoring or paying for #curl support | 43 comments on LinkedIn
👍41😢33❤4 4😁1🤡1💅1
Пятничный мем, который больше всего понравился мне на этой неделе
Хотя, мне он кажется не совсем точным - сейчас все больше внедряют AI тулы именно для кодревью, а не написания кода
Типа такого - https://www.coderabbit.ai/
Поэтому моя ситуация выглядит обратно этому мему - я прислал PR, а на меня орет куча нейронок и прочих инструментов😭
Хотя, мне он кажется не совсем точным - сейчас все больше внедряют AI тулы именно для кодревью, а не написания кода
Типа такого - https://www.coderabbit.ai/
Поэтому моя ситуация выглядит обратно этому мему - я прислал PR, а на меня орет куча нейронок и прочих инструментов😭
😁15❤1🤔1💯1🙉1
Суббота - отличный день, чтобы зарелизить что-нибудь! Не пятница же🌚
Например:
FastStream 0.6 (ага, спустя год) - https://github.com/ag2ai/faststream/releases/tag/0.6.0
FastDepends 3.0.0, в котором Pydantic стал опциональным - https://github.com/Lancetnik/FastDepends/releases/tag/3.0.0
taskiq-faststream 0.3 с поддержкой FastStream 0.6 - https://github.com/taskiq-python/taskiq-faststream/releases/tag/0.3.0
dishka-faststream 0.5 - интеграция дишки переехала в отдельный пакет - https://github.com/faststream-community/dishka-faststream/releases/tag/0.5.0
Кстати, часть репозиториев, связанных с FastStream перехали в новую организацию на GitHub - FastStream Community🚀
Объяснить все детали пока не могу - надеюсь, на следующей неделе все прояснится. Пока боюсь сглазить. Но чтобы все получилось, нужна ваша поддержка. Поэтому сейчас очень прошу всех зайти в эту организацию и поставить звезды на репозиториях🙏
А пока - идем пробовать новые фичи и засыпать меня баг репортами😢
Например:
FastStream 0.6 (ага, спустя год) - https://github.com/ag2ai/faststream/releases/tag/0.6.0
FastDepends 3.0.0, в котором Pydantic стал опциональным - https://github.com/Lancetnik/FastDepends/releases/tag/3.0.0
taskiq-faststream 0.3 с поддержкой FastStream 0.6 - https://github.com/taskiq-python/taskiq-faststream/releases/tag/0.3.0
dishka-faststream 0.5 - интеграция дишки переехала в отдельный пакет - https://github.com/faststream-community/dishka-faststream/releases/tag/0.5.0
Кстати, часть репозиториев, связанных с FastStream перехали в новую организацию на GitHub - FastStream Community🚀
Объяснить все детали пока не могу - надеюсь, на следующей неделе все прояснится. Пока боюсь сглазить. Но чтобы все получилось, нужна ваша поддержка. Поэтому сейчас очень прошу всех зайти в эту организацию и поставить звезды на репозиториях
А пока - идем пробовать новые фичи и засыпать меня баг репортами😢
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Release v0.6.0 · ag2ai/faststream
Description
FastStream 0.6 is a significant technical release that aimed to address many of the current project design issues and unlock further improvements on the path to version 1.0.0. We tried ...
FastStream 0.6 is a significant technical release that aimed to address many of the current project design issues and unlock further improvements on the path to version 1.0.0. We tried ...
27❤23🔥10👍4👏1
Оказывается, если вы хотите подчеркнуть, что ваш контент "NOT BY AI", то для вас уже сделали специальный trademark - https://notbyai.fyi/
Эти ребята сделали целый бизнес по продаже этих вотермарок (не знаю, насколько успешный). Для индивидуального использования вы можете просто задонатить сколько хотите - и значки отправят вам на почту. Но корпоративные юзер - расчехляйте кошельки🌚
Просто удивительно, на чем только люди не делают деньги
Эти ребята сделали целый бизнес по продаже этих вотермарок (не знаю, насколько успешный). Для индивидуального использования вы можете просто задонатить сколько хотите - и значки отправят вам на почту. Но корпоративные юзер - расчехляйте кошельки🌚
Просто удивительно, на чем только люди не делают деньги
notbyai.fyi
Not By AI — Add the Badge to Your Human-Created Content
Download and add the Not By AI badge to showcase your AI-free & human-first approach to content creation (writings, art, photos, paintings, videos, and music)
😁10 9❤1👍1🌭1
Еще один пранк, который вышел из-под контроля😅
Изначально идея была в том, чтобы просто отправлять нотификашки об Issue в телегу и я попросил @smqwe12 сделать GitHub Action. Теперь же этот проект оброс кучей фич и пополз по гитхаб репозиториям
Кстати, один из каналов, куда бот репостит Issues – @opensource_findings_python
Если хотите включиться в Open-source и не знаете, с чего начать - просто подпишитесь. Там можно найти простейшие задачки на +1/-1 PR'ы в cpython, FastStream, dishka, Litestar и другие проекты
А на relator поставьте звездочку на Github😎
https://t.iss.one/rupython_channel/32
Изначально идея была в том, чтобы просто отправлять нотификашки об Issue в телегу и я попросил @smqwe12 сделать GitHub Action. Теперь же этот проект оброс кучей фич и пополз по гитхаб репозиториям
Кстати, один из каналов, куда бот репостит Issues – @opensource_findings_python
Если хотите включиться в Open-source и не знаете, с чего начать - просто подпишитесь. Там можно найти простейшие задачки на +1/-1 PR'ы в cpython, FastStream, dishka, Litestar и другие проекты
А на relator поставьте звездочку на Github😎
https://t.iss.one/rupython_channel/32
Telegram
Рупитон
🔔 Relator от reagento (@smqwe12 и @Tishka17) — это GitHub Action, который позволяет отправлять уведомления о новых issues и PRs в телеграм.
Решение было разработано, т.к. все существующие альтернативы требуют админский доступ от вашего аккаунта для всех…
Решение было разработано, т.к. все существующие альтернативы требуют админский доступ от вашего аккаунта для всех…
FastNews | Никита Пастухов
Еще один пранк, который вышел из-под контроля😅 Изначально идея была в том, чтобы просто отправлять нотификашки об Issue в телегу и я попросил @smqwe12 сделать GitHub Action. Теперь же этот проект оброс кучей фич и пополз по гитхаб репозиториям Кстати, один…
Сегодня @smqwe12 решил закрыть все долги и наконец-то выпустил продолжение статьи про организацию кода вашего приложения! Теперь про тесты👍
Практическое тестирование приложений
Тут как раз Dishka + FastStream + Litestar, бизнес-логика не на котиках. В общем, самое оно, чтобы взять как пример для написания тестов типового приложения с dishka (и FastStream🔥 , ага)! Так что - все бегом читать! Будем холиварить в комментах, т.к. я сам пока пролистал до середины и не со всем согласен😅
Если кто-то пропустил, то:
1️⃣ Первая часть статьи - Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
2️⃣ Сам репозиторий на Github с полным кодом
А в комментах предлагаю подкинуть тему для следующей статьи автора, попробуем заставить его работать вместе🌚 Меня заставлять писать статьи бесполезно, я уже почти год торчу TDD
Практическое тестирование приложений
Тут как раз Dishka + FastStream + Litestar, бизнес-логика не на котиках. В общем, самое оно, чтобы взять как пример для написания тестов типового приложения с dishka (и FastStream
Если кто-то пропустил, то:
1️⃣ Первая часть статьи - Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
2️⃣ Сам репозиторий на Github с полным кодом
А в комментах предлагаю подкинуть тему для следующей статьи автора, попробуем заставить его работать вместе🌚 Меня заставлять писать статьи бесполезно, я уже почти год торчу TDD
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Практическое тестирование приложений на python
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений . В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот...
Наконец-то мне больше не придется искать "ту самую фигню с фотки" на маркетплейсе самостоятельно
https://openai.com/index/introducing-chatgpt-atlas/
Да, у нас уже был браузер от Perplexity, но его я так и не потыкал. Да и в OpenAI больше верю, если честно
Осталось разобраться, как заставить эту штуку выглядеть нормально
https://openai.com/index/introducing-chatgpt-atlas/
Да, у нас уже был браузер от Perplexity, но его я так и не потыкал. Да и в OpenAI больше верю, если честно
Осталось разобраться, как заставить эту штуку выглядеть нормально
🤮10❤5😁3🤨2😢1👀1🗿1
Если вы вдруг не знаете, как оплатить подписку на OpenAI из РФ, то хочу вам прорекламировать отличный сервис - поисковик Github!🚀
Пара тысяч совершенно бесплатных ключей от вайбкодеров ждет вас🌚
https://github.com/search?q=OPENAI_API_KEY%3D%22&type=code
Пара тысяч совершенно бесплатных ключей от вайбкодеров ждет вас🌚
https://github.com/search?q=OPENAI_API_KEY%3D%22&type=code
Please open Telegram to view this post
VIEW IN TELEGRAM
2😁58🥰7 5🍾1