.
Облако драгоценностей за неделю.
Основной паблик:
Программный пост, типа.
Но с сегодняшнего дня паблик vk закрытый: все посты видны только папищекам, вступление только через моё личное приглашение.
Для донов-начинающих:
Мне периодически пишут
— Сергей Игоревич, я прошёл известные онлайн-курсы, потратил 200 тысяч рублей. Результата ноль. В программировании так ничего и не понимаю. Что со мной не так?
С вами всё в порядке. Проблема в том, что 98% современных курсов по программированию учат обрезанной версии!..
Контринтуитивная проблема обучения программированию заключается в том, что мы стараемся развивать прежде всего алгоритмическое мышление, однако для качественного обучения чему угодно от человека требуется высокий уровень самостоятельности при полном отсутствии каких-либо готовых алгоритмов...
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим ментатам, но тут расширенные и дополненные версии.
49. Как найти смысл данных в вашем проекте.
Как AI-агенты угрожают SaaS-модели.
Какой из фреймворков потянет сегодня миллиард запросов в секунду (без кэша, HAProxy, Prometheus/Grafana)?
Условия: идентичные ноды, JSON-запросы, равномерное распределение.
Ключевые метрики: P99 latency, использование CPU/RAM, стабильность.
(поразительно, но go gin и не первый и не второй, и даже проиграл кору asp net)
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
=
Новые материалы для ментатов Лаборатории.
В "Бесстрашные переговоры по зарплате" добавлен 55-й материал "98% программистов не знают Это!".
У всех программистов, испытывающих трудности с работой, есть одна общая черта. Дело не в недостатке знаний. Это не слабое резюме. Это не плохие софт-скиллы. Дело в том, что ...
что вы годами тратите всё своё время на рутину в интересах других людей, скребя копейки, вместо того, чтобы постоянно развивать скиллы, за которые хорошо платят на рынке труда, и стратегически по ит-бизнесу (что будешь делать после 40?), т.к. у вас на это "нету времени". Ну ок, это ваша жизнь; просто не забывайте, что "всем пофиг".
В СильныеИдеи добавлены материалы
"121) 1, 2, 3... Много!" (поговорим о классах эквивалентности для Много),
"119) Самый лучший микро-стиль кодирования".
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Готово 42(+0) уровней из 54 альфа-версии,
этим летом бета-версия 💯 будет готова.
Таки игра рассыпалась ) ну, когда надо 1.58 возводить в степень 20,000, и много раз в секунду подобных вычислений, и это далеко не конец. так-то работает, но начались тормоза, а кто знал... Пришлось перефигачивать код более чем полностью.
Нашёл древнюю либу gnu mpfr из 90-х, там есть условный bigfloat (на экспоненту отведён int, т.е. до 2+ миллиардов), но синтаксис по понятным причинам префиксный, поэтому рефакторинг получился эпичным.
Облако драгоценностей за неделю.
Основной паблик:
Программный пост, типа.
Но с сегодняшнего дня паблик vk закрытый: все посты видны только папищекам, вступление только через моё личное приглашение.
Для донов-начинающих:
Мне периодически пишут
— Сергей Игоревич, я прошёл известные онлайн-курсы, потратил 200 тысяч рублей. Результата ноль. В программировании так ничего и не понимаю. Что со мной не так?
С вами всё в порядке. Проблема в том, что 98% современных курсов по программированию учат обрезанной версии!..
Контринтуитивная проблема обучения программированию заключается в том, что мы стараемся развивать прежде всего алгоритмическое мышление, однако для качественного обучения чему угодно от человека требуется высокий уровень самостоятельности при полном отсутствии каких-либо готовых алгоритмов...
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим ментатам, но тут расширенные и дополненные версии.
49. Как найти смысл данных в вашем проекте.
Как AI-агенты угрожают SaaS-модели.
Какой из фреймворков потянет сегодня миллиард запросов в секунду (без кэша, HAProxy, Prometheus/Grafana)?
Условия: идентичные ноды, JSON-запросы, равномерное распределение.
Ключевые метрики: P99 latency, использование CPU/RAM, стабильность.
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
=
Новые материалы для ментатов Лаборатории.
В "Бесстрашные переговоры по зарплате" добавлен 55-й материал "98% программистов не знают Это!".
У всех программистов, испытывающих трудности с работой, есть одна общая черта. Дело не в недостатке знаний. Это не слабое резюме. Это не плохие софт-скиллы. Дело в том, что ...
В СильныеИдеи добавлены материалы
"121) 1, 2, 3... Много!" (поговорим о классах эквивалентности для Много),
"119) Самый лучший микро-стиль кодирования".
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Готово 42(+0) уровней из 54 альфа-версии,
этим летом бета-версия 💯 будет готова.
Таки игра рассыпалась ) ну, когда надо 1.58 возводить в степень 20,000, и много раз в секунду подобных вычислений, и это далеко не конец. так-то работает, но начались тормоза, а кто знал... Пришлось перефигачивать код более чем полностью.
Нашёл древнюю либу gnu mpfr из 90-х, там есть условный bigfloat (на экспоненту отведён int, т.е. до 2+ миллиардов), но синтаксис по понятным причинам префиксный, поэтому рефакторинг получился эпичным.
1✍35❤15👍5❤🔥4⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
Вопрос, а кому вообще всё это надо? MLTT, HoTT, индуктивные типы, процесс-алгебры, pi-калкулусы, кодирование топосов, hopf fibrations и прочая попса, которая сделает вас overengineering и в результате полностью unemployable? :-)
Я не знаю. Понятно, что в айтишке - по определению - лучше быть умненьким, чем глупеньким, и тем не менее вы можете строить прекрасную карьеру и зарабатывать хорошие деньги(или уже нет?) , всю жизнь занимаясь например джоном рестом, crud-ом-шмудом, saas-ом-фигасом, микросервисами-фигервисами, парсингом-шмарсингом, сайтами-фигайтами, и прочей примитивной (хотя и доходной до поры до времени) линейной туфтой с нулевыми перспективами и задачками уровня первокурсников (впрочем, в универах хотя бы АСД изучают...).
Тема чистого проектирования сегодня немножечко понимаема фактически только в геймдеве. Тамошний уровень сложности логики, да и system design, на 1-2 порядка круче любого бизнес-проэкта, и пацанов надо брать на работу с опытом прежде всего из разработки игр. Представляете - симулировать сложнейшие миры с тысячами особенностей в реалтайме, с тучами юзеров в онлайне...
Я где-то в середине 2000-х делаль ММО про пиратские войны на Java, по-моему Java 2 :) Тогда очередной хайп шёл про перспективы java-апплетов для браузеров, ну и J2ME наверное на миллиарде устройств уже была, телефоны точно все её держали. Клиент просил игру на 150 krps! :) Я хз откуда он такую оценку взял, и сделал тайно для начала на 1000 rps :) ибо понимал, что до такого хайлоада либо шах либо ишак сдохнет(сдох в итоге шах - финансы закончились :) - но закладывался на масштабирование конечно...
Всегда любил gamedev, у меня валяются на флешках где-то сотни начатых - и заброшенных - проектов, но могу сказать 💯 что в 💯 случаев, когда я после игрового кодинга переключался на рабочие задачки, то всегда поражался их примитивизму.
Собственно из-за геймдева я и зашёл в computer science, потому что меня всегда дико бесило (буквально до этого месяца 🤓), что проекты достаточно быстро запутываются, а классические рекомендации программной инженерии помогают слабо и не выдирают корень проблемы. Но я всё же продолжал бороться со злом, а не примыкать к нему, как все остальные, и вот, спустя где-то ~20 лет, наконец победил! 🏆
Это кстати вполне нормальный срок для достижения истинного мастерства 💥 буквально на днях слушал историю русского автогонщика из assetto corsa competizione, который рассказывал, что наконец научился профессионально проходить повороты, а учился он этому 25 лет 😁
Начинал он, я так понял, с Grand Prix из 90-х и Indi500, где появились первые действительно реалистичные физические модели. Ну а потом netKar и rFactor.
Я не знаю. Понятно, что в айтишке - по определению - лучше быть умненьким, чем глупеньким, и тем не менее вы можете строить прекрасную карьеру и зарабатывать хорошие деньги
Тема чистого проектирования сегодня немножечко понимаема фактически только в геймдеве. Тамошний уровень сложности логики, да и system design, на 1-2 порядка круче любого бизнес-проэкта, и пацанов надо брать на работу с опытом прежде всего из разработки игр. Представляете - симулировать сложнейшие миры с тысячами особенностей в реалтайме, с тучами юзеров в онлайне...
Я где-то в середине 2000-х делаль ММО про пиратские войны на Java, по-моему Java 2 :) Тогда очередной хайп шёл про перспективы java-апплетов для браузеров, ну и J2ME наверное на миллиарде устройств уже была, телефоны точно все её держали. Клиент просил игру на 150 krps! :) Я хз откуда он такую оценку взял, и сделал тайно для начала на 1000 rps :) ибо понимал, что до такого хайлоада либо шах либо ишак сдохнет
Всегда любил gamedev, у меня валяются на флешках где-то сотни начатых - и заброшенных - проектов, но могу сказать 💯 что в 💯 случаев, когда я после игрового кодинга переключался на рабочие задачки, то всегда поражался их примитивизму.
Собственно из-за геймдева я и зашёл в computer science, потому что меня всегда дико бесило (буквально до этого месяца 🤓), что проекты достаточно быстро запутываются, а классические рекомендации программной инженерии помогают слабо и не выдирают корень проблемы. Но я всё же продолжал бороться со злом, а не примыкать к нему, как все остальные, и вот, спустя где-то ~20 лет, наконец победил! 🏆
Это кстати вполне нормальный срок для достижения истинного мастерства 💥 буквально на днях слушал историю русского автогонщика из assetto corsa competizione, который рассказывал, что наконец научился профессионально проходить повороты, а учился он этому 25 лет 😁
Начинал он, я так понял, с Grand Prix из 90-х и Indi500, где появились первые действительно реалистичные физические модели. Ну а потом netKar и rFactor.
3🔥48❤15✍8👍4
Чем в айтишке глупенькие отличаются от умненьких?
Глупенькие a) ненавидят писать тесты, и b) ненавидят думать заранее.
Таким образом умненькие в дополнение к своим преимуществам по определению получают ещё новые огромные бонусы, потому что
a) AI действительно хорош в написании тестов, снимая много шаблонной нагрузки, и
b) AI непропорционально сильно вознаграждает тех, кто продумывает максимально много заранее. Команды, добивающиеся топовых результатов -- это те, кто умеет разрабатывать хорошие спецификации (в идеале, в формальном виде, например через BDD, или с помощью TLA+), качественно занимаются проектированием и позволяют AI реализовывать проект в TDD-наморднике под строгим контролем сверху вниз.
Мой гайд по вайб-проектированию в помощь.
Всё идёт норм и очень радует: результаты будут отличаться на всё больше и больше порядков.
Глупенькие a) ненавидят писать тесты, и b) ненавидят думать заранее.
Таким образом умненькие в дополнение к своим преимуществам по определению получают ещё новые огромные бонусы, потому что
a) AI действительно хорош в написании тестов, снимая много шаблонной нагрузки, и
b) AI непропорционально сильно вознаграждает тех, кто продумывает максимально много заранее. Команды, добивающиеся топовых результатов -- это те, кто умеет разрабатывать хорошие спецификации (в идеале, в формальном виде, например через BDD, или с помощью TLA+), качественно занимаются проектированием и позволяют AI реализовывать проект в TDD-наморднике под строгим контролем сверху вниз.
Мой гайд по вайб-проектированию в помощь.
Всё идёт норм и очень радует: результаты будут отличаться на всё больше и больше порядков.
6👍50✍19❤4❤🔥1
.
Продолжаю работу с ментатами 🤓
...наше внутреннее ядро поменяло формат даты на UTC
Теперь нужно было перелопачивать кучу мест где мы получаем сущность из ядра, переделывать формат для отправки внешней интеграции и переделывать обработку ответа с последующим сохранением сущности.
Одновременно с этим сыпались критические баги на проде в секции, по которой работал и развивал недавно ушедший человек,
...До этого я вообще не знал, что такое дефункционализация. Когда впервые услышал — показалось чем-то сложным и непрактичным. Типа "зачем заменять функции на классы?"
Перечитывал материал раз 10. И только после переписывания примеров начало доходить что это такое и зачем нужно.
Вывод: раньше казалось «overengineering», теперь — нормальный инструмент, особенно в проде, особето в ETL и распределенных вычислениях.
...Раньше я боялся глобального состояния, но теперь вижу в нём инструмент, а не антипаттерн. Главное - использовать его осознанно.
Спасибо!
...В целом, это задание научило меня думать о коде как о тексте для чтения, а не просто как о механизме выполнения. Принцип "встраиваемого проектирования" оказался неожиданно простым и мощным инструментом, который я точно буду использовать дальше.
...Удивительно, как можно задание из трех строчек прочитать неправильно. Максимальный размер словаря, конечно, взялся "по инерции" из предыдущего задания и задания курса АСД.
Хотя в условии об этом ни слова.
...Пока что для меня это похоже на магический лес. Очень впечатляюще, и если саму выборку из табличек я могу приблизительно понять, то способ вычислений значений вызывает ступор. По крайней мере я знаю к чему стремиться и буду поэтапно разбираться с построением подобных конструкций. К слову сам GPT мне уже не так сильно помог в решении подобной задачи, хотя впоследствии разобрать её решение с его помощью было удобно. Разбираться с незнакомыми понятиями здесь действительно придётся..)
...Всю эту isinstance грязь можно упаковать в фабрику которая бы проверяла результаты и возвращала или результат или "подходящее" исключение. Ой, подождите, это что опять монады?...
Дальше еще 40 таких примеров, где то есть методы в которых разные такие вот BusinessLogicError рейзятся за условиями, ногу сломишь. вы были правы, я расстроился, мне никогда не переписать все это на монады, или хотя бы на внутренние коды ошибок которые можно было бы мапить в одном месте красиво :( :( :(
...Из состояний в проекте был использован локальный ин-мемори кэш, представляющий собой хэш-таблицу и наполняемый внешним сетевым вызовом определенной клиентской ручки.
Сейчас очевидно, что такой механизм был ненадежен. Из распространенных проблем: шквал запросов на клиента, когда ин-мемори кэш пустой и необходимо его заполнить, а также проблема с инвалидацией данных при "протухании" данных, что вело к неконсистентности.
...спроектировал класс "разделяемого состояния" для нескольких элементов GUI, который весь обмен сообщениями через шину инкапсулирует внутри себя. Заняло ~20 строк, по факту думал больше месяца. Без курсов по ООАП бы еще полгода городили костыли.
[по последнему, кстати, я ровно вот это и делаю для подобных случаев, чтобы не надо было думать вообще, по большому счёту]
Продолжаю работу с ментатами 🤓
...наше внутреннее ядро поменяло формат даты на UTC
Теперь нужно было перелопачивать кучу мест где мы получаем сущность из ядра, переделывать формат для отправки внешней интеграции и переделывать обработку ответа с последующим сохранением сущности.
Одновременно с этим сыпались критические баги на проде в секции, по которой работал и развивал недавно ушедший человек,
...До этого я вообще не знал, что такое дефункционализация. Когда впервые услышал — показалось чем-то сложным и непрактичным. Типа "зачем заменять функции на классы?"
Перечитывал материал раз 10. И только после переписывания примеров начало доходить что это такое и зачем нужно.
Вывод: раньше казалось «overengineering», теперь — нормальный инструмент, особенно в проде, особето в ETL и распределенных вычислениях.
...Раньше я боялся глобального состояния, но теперь вижу в нём инструмент, а не антипаттерн. Главное - использовать его осознанно.
Спасибо!
...В целом, это задание научило меня думать о коде как о тексте для чтения, а не просто как о механизме выполнения. Принцип "встраиваемого проектирования" оказался неожиданно простым и мощным инструментом, который я точно буду использовать дальше.
...Удивительно, как можно задание из трех строчек прочитать неправильно. Максимальный размер словаря, конечно, взялся "по инерции" из предыдущего задания и задания курса АСД.
Хотя в условии об этом ни слова.
...Пока что для меня это похоже на магический лес. Очень впечатляюще, и если саму выборку из табличек я могу приблизительно понять, то способ вычислений значений вызывает ступор. По крайней мере я знаю к чему стремиться и буду поэтапно разбираться с построением подобных конструкций. К слову сам GPT мне уже не так сильно помог в решении подобной задачи, хотя впоследствии разобрать её решение с его помощью было удобно. Разбираться с незнакомыми понятиями здесь действительно придётся..)
...Всю эту isinstance грязь можно упаковать в фабрику которая бы проверяла результаты и возвращала или результат или "подходящее" исключение. Ой, подождите, это что опять монады?...
Дальше еще 40 таких примеров, где то есть методы в которых разные такие вот BusinessLogicError рейзятся за условиями, ногу сломишь. вы были правы, я расстроился, мне никогда не переписать все это на монады, или хотя бы на внутренние коды ошибок которые можно было бы мапить в одном месте красиво :( :( :(
...Из состояний в проекте был использован локальный ин-мемори кэш, представляющий собой хэш-таблицу и наполняемый внешним сетевым вызовом определенной клиентской ручки.
Сейчас очевидно, что такой механизм был ненадежен. Из распространенных проблем: шквал запросов на клиента, когда ин-мемори кэш пустой и необходимо его заполнить, а также проблема с инвалидацией данных при "протухании" данных, что вело к неконсистентности.
...спроектировал класс "разделяемого состояния" для нескольких элементов GUI, который весь обмен сообщениями через шину инкапсулирует внутри себя. Заняло ~20 строк, по факту думал больше месяца. Без курсов по ООАП бы еще полгода городили костыли.
[по последнему, кстати, я ровно вот это и делаю для подобных случаев, чтобы не надо было думать вообще, по большому счёту]
1❤34👍19⚡3❤🔥2
Очередное шаблонное нытьё "Live coding sucks" - синьор Мустафа с десятилетним опытом жалуется, ой-ой-ой как тяжело решать задачки когда кто-то смотрит со стороны, а я так не могу для меня это стресс, в реальной работе всё совсем другое бла-бла-бла... И подводит под это "научную" базу вдобавок.
Детский сад штаны на лямках.
Какой же ты сеньор, если не можешь быстро закодить алгоритмическую задачку просто на скиллах, на быстром мышлении. Даже если особо никогда АСД не изучал (что уже само по себе зашквар), ну за столько-то лет должен был осознанно выработать набор типовых паттернов кодирования задачек подобной сложности. Ну и натренировываться на собесах постоянно, это же абсолютное требование по карьере.
Если честно, в последнее время я всё больше склоняюсь к тому, чтобы не бороться с эйчаровским злом, а примкнуть к нему. Ужесточить найм до абсолютного предела, спрашивать обязательно например на собесахгде в Django используется паттерн Мост такое:
1. Вам надо выбрать стиль (ООП,ФП...)/язык/фреймворк для нового проекта. Определите требуемые свойства как типы-предикаты (пропозиции) и постройте формальные пути между ними, показывающие их совместимость или конфликты. Используйте одну из наиболее сильных систем классификаций -- h-levels из гомотопической теории типов.
2. Смоделируйте каждую сущность в проекте (таблицу базы, модель ORM) как Sigma-тип, где первая проекция содержит сами данные, а вторая - доказательство инвариантов. Например
Σ(x:User).(valid_email(x .email) × valid_password(x .password)))
Реализуйте каждый эндпоинт как функтор
F: Request → Response
где естественное преобразование
η: F ⇒ G
между функторами разных эндпоинтов автоматически обеспечит согласованность их композиции.
=
Вот тогда и найм быстро самовосстановится.
Детский сад штаны на лямках.
Какой же ты сеньор, если не можешь быстро закодить алгоритмическую задачку просто на скиллах, на быстром мышлении. Даже если особо никогда АСД не изучал (что уже само по себе зашквар), ну за столько-то лет должен был осознанно выработать набор типовых паттернов кодирования задачек подобной сложности. Ну и натренировываться на собесах постоянно, это же абсолютное требование по карьере.
Если честно, в последнее время я всё больше склоняюсь к тому, чтобы не бороться с эйчаровским злом, а примкнуть к нему. Ужесточить найм до абсолютного предела, спрашивать обязательно например на собесах
1. Вам надо выбрать стиль (ООП,ФП...)/язык/фреймворк для нового проекта. Определите требуемые свойства как типы-предикаты (пропозиции) и постройте формальные пути между ними, показывающие их совместимость или конфликты. Используйте одну из наиболее сильных систем классификаций -- h-levels из гомотопической теории типов.
2. Смоделируйте каждую сущность в проекте (таблицу базы, модель ORM) как Sigma-тип, где первая проекция содержит сами данные, а вторая - доказательство инвариантов. Например
Σ(x:User).(valid_email(x .email) × valid_password(x .password)))
Реализуйте каждый эндпоинт как функтор
F: Request → Response
где естественное преобразование
η: F ⇒ G
между функторами разных эндпоинтов автоматически обеспечит согласованность их композиции.
=
Вот тогда и найм быстро самовосстановится.
6🤯40❤27👍11😁5❤🔥1
Я повторил эксперимент с картинки применительно к нашей любимой айтишке =>
ЖПТ5
- Не торгуются за оффер — соглашаются на первое, теряют 20–40% на старте.
- Не понимают деньги — налоги/RSU/опционы/бенефиты, берут худшие пакеты.
- Продают часы, не leverage — не автоматизируют, не строят инструменты/продукты.
- Ноль бренда и нетворка — резюме тонет, цену диктует рынок, не они.
- Тратят всё — нет подушки и инвестиций, кредиты на гаджеты, любой простой = кассовый разрыв.
Клод Опус 4.1
1. "Я же программист, зарплата всегда будет"
Тратят всё, что зарабатывают. Нулевые сбережения. Один увольнение = паника и долги.
2. "Инвестиции? Это скам!"
Держат деньги на дебетовой карте под 0%. Инфляция съедает покупательную способность. В 40 лет понимают, что опоздали.
3. "Новый MacBook каждый год - это инвестиция в себя"
Покупают топовое железо для написания CRUD'ов. $3000 ноутбук для работы, которую делает машина за $800.
4. "Фриланс/стартап - это моё будущее богатство"
Прыгают с работы на работу за +10% зарплаты. Теряют бенефиты, опционы, карьерный рост. В итоге - вечный мидл.
5. "Я слишком умный для финансового планирования"
Не знают свои расходы. Не ведут бюджет. "Зачем Excel, если есть зарплата?" Удивляются, куда деваются деньги.
Итог: В 35 лет - съёмная квартира, кредитная машина и страх потерять работу.
Gemini 2.5 Pro
Держи. Без соплей.
Мгновенное «прожирание» прибавки. Получил +$500 к зарплате — тут же поднял расходы на $600. Новый айфон в кредит, модный смузи, квартира покруче. Итог: вечный ноль на счету, сколько бы ни платили.
«Верность» низкооплачиваемой «галере». Годами сидеть на одном месте из-за «стабильности» и «хорошего коллектива», пока рынок улетает в космос. Боязнь собеседований и торга за зарплату — прямой путь к нищете.
Финансовая безграмотность при высоком IQ. Знать всё о сложности алгоритмов, но не понимать, что такое сложный процент. Считать, что инвестиции — это для банкиров, а бюджет — для нищих. Деньги лежат на дебетовой карте и сжираются инфляцией.
Фетиш на гаджеты. Скупать новейшие макбуки, механические клавиатуры и 49-дюймовые мониторы, хотя старые работают идеально. Это не инвестиция в производительность, а дыра в бюджете ради дофамина.
Синдром «дешёвого фрилансера». Тратить вечера на копеечные заказы с бирж, вместо того чтобы вложить это время в обучение, которое поднимет твою основную ставку в 5 раз. Продавать час своей жизни за гроши.
=
И тут локально особо не поможет ни проработка финансовой грамотности, ни прокачка денежного мышления; корень проблемы в другом: само наше дефолтное мышление -- это кривейшая ОС уровня Windows 95.
Почему так? Вот например хорошая метафора:
"Хищник пришел к нам из глубин космоса и установил нам правила жизней наших. Человеческие существа — его пленники. Хищник нам бог и хозяин. Он сделал нас покорными и беспомощными. Если мы хотим протестовать — он подавляет наши протесты. Если мы хотим самостоятельности — он требует не делать этого."
Думайте прежде всего, как полностью сменить в своей голове дерьмовый инопланетный продукт с кучей вирусов и багов на норм ось уровня arch linux.
ЖПТ5
- Не торгуются за оффер — соглашаются на первое, теряют 20–40% на старте.
- Не понимают деньги — налоги/RSU/опционы/бенефиты, берут худшие пакеты.
- Продают часы, не leverage — не автоматизируют, не строят инструменты/продукты.
- Ноль бренда и нетворка — резюме тонет, цену диктует рынок, не они.
- Тратят всё — нет подушки и инвестиций, кредиты на гаджеты, любой простой = кассовый разрыв.
Клод Опус 4.1
1. "Я же программист, зарплата всегда будет"
Тратят всё, что зарабатывают. Нулевые сбережения. Один увольнение = паника и долги.
2. "Инвестиции? Это скам!"
Держат деньги на дебетовой карте под 0%. Инфляция съедает покупательную способность. В 40 лет понимают, что опоздали.
3. "Новый MacBook каждый год - это инвестиция в себя"
Покупают топовое железо для написания CRUD'ов. $3000 ноутбук для работы, которую делает машина за $800.
4. "Фриланс/стартап - это моё будущее богатство"
Прыгают с работы на работу за +10% зарплаты. Теряют бенефиты, опционы, карьерный рост. В итоге - вечный мидл.
5. "Я слишком умный для финансового планирования"
Не знают свои расходы. Не ведут бюджет. "Зачем Excel, если есть зарплата?" Удивляются, куда деваются деньги.
Итог: В 35 лет - съёмная квартира, кредитная машина и страх потерять работу.
Gemini 2.5 Pro
Держи. Без соплей.
Мгновенное «прожирание» прибавки. Получил +$500 к зарплате — тут же поднял расходы на $600. Новый айфон в кредит, модный смузи, квартира покруче. Итог: вечный ноль на счету, сколько бы ни платили.
«Верность» низкооплачиваемой «галере». Годами сидеть на одном месте из-за «стабильности» и «хорошего коллектива», пока рынок улетает в космос. Боязнь собеседований и торга за зарплату — прямой путь к нищете.
Финансовая безграмотность при высоком IQ. Знать всё о сложности алгоритмов, но не понимать, что такое сложный процент. Считать, что инвестиции — это для банкиров, а бюджет — для нищих. Деньги лежат на дебетовой карте и сжираются инфляцией.
Фетиш на гаджеты. Скупать новейшие макбуки, механические клавиатуры и 49-дюймовые мониторы, хотя старые работают идеально. Это не инвестиция в производительность, а дыра в бюджете ради дофамина.
Синдром «дешёвого фрилансера». Тратить вечера на копеечные заказы с бирж, вместо того чтобы вложить это время в обучение, которое поднимет твою основную ставку в 5 раз. Продавать час своей жизни за гроши.
=
И тут локально особо не поможет ни проработка финансовой грамотности, ни прокачка денежного мышления; корень проблемы в другом: само наше дефолтное мышление -- это кривейшая ОС уровня Windows 95.
Почему так? Вот например хорошая метафора:
"Хищник пришел к нам из глубин космоса и установил нам правила жизней наших. Человеческие существа — его пленники. Хищник нам бог и хозяин. Он сделал нас покорными и беспомощными. Если мы хотим протестовать — он подавляет наши протесты. Если мы хотим самостоятельности — он требует не делать этого."
Думайте прежде всего, как полностью сменить в своей голове дерьмовый инопланетный продукт с кучей вирусов и багов на норм ось уровня arch linux.
4❤43💯19🤔7👏2
.
В продолжение сегодняшнего поста (теперь доступен только избранным:), даю там 4 простых шага, как вы можете тренироваться в теме проектирования самостоятельно, при этом не тратя месяцы и годы на изучение тяжёлых методологий наподобие DDD.
Я экспериментировал где-то 20-30 часов с моей новой методикой "как обучать формальному проектированию просто как готовой пошаговой технологии, чтобы человек с небольшим опытом мог создавать системы с полного нуля не на 20 классов, а на 20,000 классов, сохраняя сложность проекта линейной". Ключевая идея, что у нас есть 5-7 гибридных паттернов (повыше уровень абстракции, чем классические 23 GoF паттерна), для каждого из которых задано предусловие - когда тот или иной паттерн надо просто "тупо" применять, и как именно это делать. Ну например это "инвертированный" Visitor, который я вчера выложил для ментатов в СильныеИдеи (если угодно, это версия Double Dispatch с Action Interface).
И вот что я должен сказать по итогу: да, в результате действительно получается использовать эти паттерны так, что сложность проекта остаётся линейной: практически любую новую фичу мы добавляем за O(1), максимум за O(log N). Но при этом во-первых нужен приличный скилл и опыт применения паттернов (хотя бы классических), приличный порог вхождения, во-вторых сама архитектура быстро становится весьма громоздкой (очереди, синхронные шины приходится внедрять практически с самого начала) и тяжеловатой для понимания, если брать уровень среднего миддла, и в-третьих AI в этом вообще ничего не понимает, тупит и плавает, а так как многие моменты уже неформальны, вообще непонятно, стоит ли его рекомендациям доверять или нет.
Это была моя мета-ошибка: мне надо было сразу начинать с того факта, что ООП -- это полный sucks 💩
Я плюнул на это всё, и за полчаса начисто зафигачил с нуля тот же самый учебный проект в функциональном стиле 💥 При этом и AI классно помогал, так как все функции чистые, а он в алгоритмических задачках реально хорош. Ну и TDD на ФП ложится вообще идеально, плюс ещё куча других плюсов.
В общем, буду дальше учить проектированию только в функциональном стиле, это же чистая математика ❤️ и постепенно к моей модели сохранения линейной сложности в дополнение к тем десяткам паттернов, что даю на первом курсе по функциональному программированию, соответственно добавлю несколько ключевыхсекретных гибридных паттернов, и плавно буду подключать абстракции из гомотопической теории типов.
Тут вообще всё элементарно, куда проще чем классы, вот смотрите: HOFs как экспоненциалы, свободные композиции при совпадении доменов-кодоменов, финальные ко-алгебры для описания индуктивных рекурсивных типов, ограниченные типом функции (поведения в поведениях), монадические трансформеры, категорные классы как паттерны декомпозиции, и прочая попса 😇
Ну а те десятки часов, которые я потратил на эксперименты с ООП, в принципе тоже не пропадут: я просто в СильныеИдеи добавлю отдельный материал с теми гибридными паттернами.
В продолжение сегодняшнего поста (теперь доступен только избранным:), даю там 4 простых шага, как вы можете тренироваться в теме проектирования самостоятельно, при этом не тратя месяцы и годы на изучение тяжёлых методологий наподобие DDD.
Я экспериментировал где-то 20-30 часов с моей новой методикой "как обучать формальному проектированию просто как готовой пошаговой технологии, чтобы человек с небольшим опытом мог создавать системы с полного нуля не на 20 классов, а на 20,000 классов, сохраняя сложность проекта линейной". Ключевая идея, что у нас есть 5-7 гибридных паттернов (повыше уровень абстракции, чем классические 23 GoF паттерна), для каждого из которых задано предусловие - когда тот или иной паттерн надо просто "тупо" применять, и как именно это делать. Ну например это "инвертированный" Visitor, который я вчера выложил для ментатов в СильныеИдеи (если угодно, это версия Double Dispatch с Action Interface).
И вот что я должен сказать по итогу: да, в результате действительно получается использовать эти паттерны так, что сложность проекта остаётся линейной: практически любую новую фичу мы добавляем за O(1), максимум за O(log N). Но при этом во-первых нужен приличный скилл и опыт применения паттернов (хотя бы классических), приличный порог вхождения, во-вторых сама архитектура быстро становится весьма громоздкой (очереди, синхронные шины приходится внедрять практически с самого начала) и тяжеловатой для понимания, если брать уровень среднего миддла, и в-третьих AI в этом вообще ничего не понимает, тупит и плавает, а так как многие моменты уже неформальны, вообще непонятно, стоит ли его рекомендациям доверять или нет.
Это была моя мета-ошибка: мне надо было сразу начинать с того факта, что ООП -- это полный sucks 💩
Я плюнул на это всё, и за полчаса начисто зафигачил с нуля тот же самый учебный проект в функциональном стиле 💥 При этом и AI классно помогал, так как все функции чистые, а он в алгоритмических задачках реально хорош. Ну и TDD на ФП ложится вообще идеально, плюс ещё куча других плюсов.
В общем, буду дальше учить проектированию только в функциональном стиле, это же чистая математика ❤️ и постепенно к моей модели сохранения линейной сложности в дополнение к тем десяткам паттернов, что даю на первом курсе по функциональному программированию, соответственно добавлю несколько ключевых
Тут вообще всё элементарно, куда проще чем классы, вот смотрите: HOFs как экспоненциалы, свободные композиции при совпадении доменов-кодоменов, финальные ко-алгебры для описания индуктивных рекурсивных типов, ограниченные типом функции (поведения в поведениях), монадические трансформеры, категорные классы как паттерны декомпозиции, и прочая попса 😇
Ну а те десятки часов, которые я потратил на эксперименты с ООП, в принципе тоже не пропадут: я просто в СильныеИдеи добавлю отдельный материал с теми гибридными паттернами.
5❤47🔥7👍3👌2
.
Облако драгоценностей за неделю.
Основной непаблик (с 19.08.25 закрытый):
Какой же кайф писать в функциональном стиле после ООП, как всё получается легко и просто, естественно и масштабируемо, я вам передать не могу. Точнее, могу :)
Для донов-начинающих:
Самое бестолковое решение из всех возможных — ввязаться в это дело, отдать ему свои силы, время и деньги, а затем бросить...
Списки дел/todo — добро или зло?
Хотя я большой фанат списков дел, всё же есть две достаточно большие группы людей, которым они не очень зайдут... Поэтому для этих групп я предлагаю такую модель как ...
База по карьере, серия 17: Данная группа внутренних стремлений — это в основном то, что будет определять ваш выбор профессии...
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим ментатам, но тут расширенные и дополненные версии.
50. Как готовить сверхгибкий код.
Моделирование предметной области (домена), превращение мира в чистые красивые структуры данных выглядит увлекательным занятием. Однако вам быстро становится совсем не так весело, когда реальный мир даёт контрпример, который портит всю вашу чистую онтологию более чем полностью...
Золотые правила карьеры разработчика.
3. Если тебя на работе не уважают — ...
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
=
Новые материалы для ментатов Лаборатории.
В раздел "Элитный программист" добавлены
75-й материал "Списки дел -- добро или зло?"
74-й "Шиза полезна не только в программировании"
В СильныеИдеи добавлен 122-й материал "Анти-Visitor".
Я не раз рассказывал о том, насколько хорош паттерн Visitor ("Всё, что вы знаете об ООП, неверно", "Ключевой паттерн Visitor в ООП и ФП"), но и у него конечно имеется своя тёмная сторона, о которой необходимо знать...
В курс карьеры добавлен 107-й материал "Нетворк-лайт".
Ты когда-нибудь проводил всю ночь, уставившись в экран, просто пытаясь улучшить своё резюме?..
И ты продолжал рассылать и рассылать их, одно за другим, пока не взойдёт солнце?
Но ни единого ответа, только тишина, из-за которой ты чувствуешь себя совершенно невидимым...
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Готово 43(+1) уровней из 54 альфа-версии,
этим летом бета-версия 💯 будет готова.
Хорошая новость, что вся игровая механика в целом собрана и более-менее сбалансирована, остаётся добавить несколько игровых фич по шаблонам (патриархи криптодуш :), ну и дойти до конца, а т.к. это idle, времени требуется прилично.
Как закончу все уровни, сперва отдам на тестирование моим ребятам, а потом будет полностью открыто для всех бесплатно.
Облако драгоценностей за неделю.
Основной непаблик (с 19.08.25 закрытый):
Какой же кайф писать в функциональном стиле после ООП, как всё получается легко и просто, естественно и масштабируемо, я вам передать не могу. Точнее, могу :)
Для донов-начинающих:
Самое бестолковое решение из всех возможных — ввязаться в это дело, отдать ему свои силы, время и деньги, а затем бросить...
Списки дел/todo — добро или зло?
Хотя я большой фанат списков дел, всё же есть две достаточно большие группы людей, которым они не очень зайдут... Поэтому для этих групп я предлагаю такую модель как ...
База по карьере, серия 17: Данная группа внутренних стремлений — это в основном то, что будет определять ваш выбор профессии...
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим ментатам, но тут расширенные и дополненные версии.
50. Как готовить сверхгибкий код.
Моделирование предметной области (домена), превращение мира в чистые красивые структуры данных выглядит увлекательным занятием. Однако вам быстро становится совсем не так весело, когда реальный мир даёт контрпример, который портит всю вашу чистую онтологию более чем полностью...
Золотые правила карьеры разработчика.
3. Если тебя на работе не уважают — ...
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
=
Новые материалы для ментатов Лаборатории.
В раздел "Элитный программист" добавлены
75-й материал "Списки дел -- добро или зло?"
74-й "Шиза полезна не только в программировании"
В СильныеИдеи добавлен 122-й материал "Анти-Visitor".
Я не раз рассказывал о том, насколько хорош паттерн Visitor ("Всё, что вы знаете об ООП, неверно", "Ключевой паттерн Visitor в ООП и ФП"), но и у него конечно имеется своя тёмная сторона, о которой необходимо знать...
В курс карьеры добавлен 107-й материал "Нетворк-лайт".
Ты когда-нибудь проводил всю ночь, уставившись в экран, просто пытаясь улучшить своё резюме?..
И ты продолжал рассылать и рассылать их, одно за другим, пока не взойдёт солнце?
Но ни единого ответа, только тишина, из-за которой ты чувствуешь себя совершенно невидимым...
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Готово 43(+1) уровней из 54 альфа-версии,
этим летом бета-версия 💯 будет готова.
Хорошая новость, что вся игровая механика в целом собрана и более-менее сбалансирована, остаётся добавить несколько игровых фич по шаблонам (патриархи криптодуш :), ну и дойти до конца, а т.к. это idle, времени требуется прилично.
Как закончу все уровни, сперва отдам на тестирование моим ребятам, а потом будет полностью открыто для всех бесплатно.
❤41👍16⚡2
🤔40👍1
Какой ещё Эрланг? Это же винтажный гаджет, типа первого айфона! Все уже переехали на нейросети и квантовые вычисления, а вы тут со своими процессами, которые общаются почтовыми голубями.
Весь современный мир понял, что асинхронность нужна в 10% случаев — и это прекрасно делается парой
Какие там есть легенды про Эрланг?
* Распределённость из коробки? Да это как получить в подарок конструктор "Собери свой кластер", где нет инструкции, а все детали от разных производителей. В итоге каждый инженер-алхимик месяцами варит свой эликсир из
* Отказоустойчивость? Какая отказоустойчивость в языке, где главный принцип — "Let it crash", а потом "перезапустим и будем делать вид, что так и задумано"? Перезапустили упавший сокет? Ага, конечно. Пересоздали таблицу в памяти, которая испарилась? Без проблем! Просто представьте, что это фича — самоочищающаяся база данных. А знаменитый RabbitMQ, написанный на Эрланге? Он иногда выглядит как сырая поделка, которая падает от
* Параллельность? А зачем, если есть ZeroMQ, который как рок-звезда — приходит, бросает в сокет месседж и уходит, не дожидаясь ответа? Зачем городить лес из процессов, которые перешептываются между собой, когда можно просто бросить в общую шину событие и забыть?
Короче, Эрланг — это как пытаться запустить SpaceX при помощи парового двигателя и энтузиазма. Почётно, исторически значимо, но пока вы настроите безаварийный полёт, OCaml уже на Марсе яблони сажать будет.
Весь современный мир понял, что асинхронность нужна в 10% случаев — и это прекрасно делается парой
async/await на подоконнике, ивентлупом на коленке или setTimeout(() => {}, 0) с магической надписью "Node.js". А в Эрланге 90% кода — это ритуал вызова шаманских духов через send... receive... и надежда, что они не перепутают сообщение с предсказанием погоды.Какие там есть легенды про Эрланг?
* Распределённость из коробки? Да это как получить в подарок конструктор "Собери свой кластер", где нет инструкции, а все детали от разных производителей. В итоге каждый инженер-алхимик месяцами варит свой эликсир из
gproc, libcluster и молитв на удачу. И всегда найдётся один главный процесс-баттлнек, который хранит состояние и смотрит на вас, как суслик из "Джуманджи".* Отказоустойчивость? Какая отказоустойчивость в языке, где главный принцип — "Let it crash", а потом "перезапустим и будем делать вид, что так и задумано"? Перезапустили упавший сокет? Ага, конечно. Пересоздали таблицу в памяти, которая испарилась? Без проблем! Просто представьте, что это фича — самоочищающаяся база данных. А знаменитый RabbitMQ, написанный на Эрланге? Он иногда выглядит как сырая поделка, которая падает от
badmatch на ровном месте, словно кот с дивана во сне. Привет пока, ОTP!* Параллельность? А зачем, если есть ZeroMQ, который как рок-звезда — приходит, бросает в сокет месседж и уходит, не дожидаясь ответа? Зачем городить лес из процессов, которые перешептываются между собой, когда можно просто бросить в общую шину событие и забыть?
Короче, Эрланг — это как пытаться запустить SpaceX при помощи парового двигателя и энтузиазма. Почётно, исторически значимо, но пока вы настроите безаварийный полёт, OCaml уже на Марсе яблони сажать будет.
✍42🤔14😁7❤5🐳1
Какие вам ещё монады-шмонады?? По ним написано 100500 гайдов "монада -- это моноид в категории эндофункторов" (включая мой сериал для малышей :) , и всё равно фактически никто из программистов их так и не понимает в прикладном плане: реальная композиционность в монадах отсутствует более чем полностью. По сути это просто чрезмерно и совершенно излишне абстрагированная версия алгебраических эффектов с хендлерами, которые как раз и легко понимаемы, и прекрасно компонуются.
"Вы не можете обучать новичков программированию сверху вниз, поскольку они не знают, какой низ является верхом"
-- Чарльз Энтони Ричард Хоар
"Вы не можете обучать новичков программированию сверху вниз, поскольку они не знают, какой низ является верхом"
-- Чарльз Энтони Ричард Хоар
👌41👍17❤6✍2
Такое мы забираем:
Omarchy: turn a fresh Arch installation into a fully-configured, beautiful, and modern web development system based on Hyprland by running a single command.
An opinionated Arch + Hyprland Setup by аж сам DHH (автор RoR)
Omarchy: turn a fresh Arch installation into a fully-configured, beautiful, and modern web development system based on Hyprland by running a single command.
An opinionated Arch + Hyprland Setup by аж сам DHH (автор RoR)
❤🔥30✍13👍9🔥5
Какой вам ещё OCaml-шмакамл? Это древнейший стрелочный патриарх, ископаемое из палеозойской эры функционального программирования: "смотрите, они уже тогда пытались вывести монаду из-под контроля!"
OCaml сделан с той первобытной непосредственностью, с которой неандерталец впервые догадался использовать палку. Под личиной F# он идеально вписывается в мэйнстрим: все "промышленные" языки — это исторически сложившиеся техногенные катастрофы. Унаследовали миллионы строк кода? Поздравляем, ваш язык теперь официально "практичный". ML просто ждёт своего часа, чтобы присоединиться к этому пантеону уродцев.
Программист на OCaml уже вкусил запретный плод чистых функций, но его психика ещё не готова смотреть в бездну высших уровней куба Барендрехта без последствий.
А типичный фисярп-крестоносец — это шизофрения в чистом виде. Днём он на работе вкалывает на Си-образных ассемблероподобных конструктах C++/C#, отлавливая утечки памяти и выстрелы в ногу, а вечером, чтобы успокоиться, пишет на ML, убеждая себя, что это "близко к математике". Это не карьера, а когнитивная ломка на постоянной основе.
(обратите внимание на модную одежду на картинке: ничего не напоминает? :) а это 1971-й год)
OCaml сделан с той первобытной непосредственностью, с которой неандерталец впервые догадался использовать палку. Под личиной F# он идеально вписывается в мэйнстрим: все "промышленные" языки — это исторически сложившиеся техногенные катастрофы. Унаследовали миллионы строк кода? Поздравляем, ваш язык теперь официально "практичный". ML просто ждёт своего часа, чтобы присоединиться к этому пантеону уродцев.
Программист на OCaml уже вкусил запретный плод чистых функций, но его психика ещё не готова смотреть в бездну высших уровней куба Барендрехта без последствий.
А типичный фисярп-крестоносец — это шизофрения в чистом виде. Днём он на работе вкалывает на Си-образных ассемблероподобных конструктах C++/C#, отлавливая утечки памяти и выстрелы в ногу, а вечером, чтобы успокоиться, пишет на ML, убеждая себя, что это "близко к математике". Это не карьера, а когнитивная ломка на постоянной основе.
❤29😁15👍6👏2
Имеет ли сегодня смысл платить за любое обучение по теме программирования? От обучения с нуля до повышения сеньорской квалификации? Сотни (десятки, единицы, десятые, сотые, тысячные...) тысяч рублей? Когда всё есть бесплатно в интернете в открытом доступе -- и подробнейшие курсы по любым темам, и великолепные лекции индусов на ютубе с автоматическим переводом, и ЖПТ как отличный ментор 24/7, который всегда под пальцами, и в любой момент даст идеальный совет?
Я уж молчу про высшее образование, которое стало абсолютно бесполезным: просто выбросишь годы на изучение древних учебников престарелых профессоров, застрявших на уровне Фортрана и Паскаля.
AI сегодня в любом случае развивается куда быстрее, чем ты.
Хорошее дело например -- изучить профессию столяра-краснодеревщика, и пилить реплики итальянской мебели. В строительной индустрии безумные деньги будут вливаться ещё много-много лет, и там жуткий спрос на профессиональные кадры. Крановщики например у нас в Северном порту на Речном вокзале зашибают многие сотни тысяч только так.
Платное обучение программированию сегодня -- это лотерея, причём не красное/чёрное 50 на 50, а чисто ставка на зеро.
Это действительно близко к казино...
-- Эльвира Набиуллина
это чем-то похоже на спорт
чем-то на казино
чем-то на караван-сарай
чем-то на отряды Махно
Я уж молчу про высшее образование, которое стало абсолютно бесполезным: просто выбросишь годы на изучение древних учебников престарелых профессоров, застрявших на уровне Фортрана и Паскаля.
AI сегодня в любом случае развивается куда быстрее, чем ты.
Хорошее дело например -- изучить профессию столяра-краснодеревщика, и пилить реплики итальянской мебели. В строительной индустрии безумные деньги будут вливаться ещё много-много лет, и там жуткий спрос на профессиональные кадры. Крановщики например у нас в Северном порту на Речном вокзале зашибают многие сотни тысяч только так.
Платное обучение программированию сегодня -- это лотерея, причём не красное/чёрное 50 на 50, а чисто ставка на зеро.
Это действительно близко к казино...
-- Эльвира Набиуллина
это чем-то похоже на спорт
чем-то на казино
чем-то на караван-сарай
чем-то на отряды Махно
❤32🤔25💯8✍2👍2
Прекрасный сайд-проект, дико уважаю:
"This Website is Served from Nine Neovim Buffers on My Old ThinkPad"
Автор создал плагин nvim-web-server для Neovim, который превращает редактор в HTTP-сервер. Написан на чистом Lua и использует встроенные в Neovim возможности асинхронного I/O через библиотеку libuv. Несмотря на то, что сервер работает внутри редактора на интерпретируемом языке, он оказался заметно быстрее Nginx! Да и стандартный питоновский сервер http.server на потоках на его фоне смотрится весьма печально.
При этом сервер успешно работает на стареньком ноуте ThinkPad E430.
Очень шустрый рантайм благодаря LuaJIT компилятору + быстрый event-loop от libuv.
Neovim запущен в Docker-контейнере с ограниченными правами, профилями AppArmor и seccomp, а также правилами netfilter для изоляции.
Обеспечено фактически моментальное обновление контента на сайте при сохранении файла прямо в буфере Vim. Плагин имеет встроенную поддержку формата Djot (аналогично Markdown) с автоматической конвертацией в HTML.
"This Website is Served from Nine Neovim Buffers on My Old ThinkPad"
Автор создал плагин nvim-web-server для Neovim, который превращает редактор в HTTP-сервер. Написан на чистом Lua и использует встроенные в Neovim возможности асинхронного I/O через библиотеку libuv. Несмотря на то, что сервер работает внутри редактора на интерпретируемом языке, он оказался заметно быстрее Nginx! Да и стандартный питоновский сервер http.server на потоках на его фоне смотрится весьма печально.
При этом сервер успешно работает на стареньком ноуте ThinkPad E430.
Очень шустрый рантайм благодаря LuaJIT компилятору + быстрый event-loop от libuv.
Neovim запущен в Docker-контейнере с ограниченными правами, профилями AppArmor и seccomp, а также правилами netfilter для изоляции.
Обеспечено фактически моментальное обновление контента на сайте при сохранении файла прямо в буфере Vim. Плагин имеет встроенную поддержку формата Djot (аналогично Markdown) с автоматической конвертацией в HTML.
⚡36🔥24❤4😁3❤🔥1
Ладно, спалю таки вам секретнейшие секреты тибетских гуру по старту айти-предпринимательства в 2025-м, которые рассказывают только илитные бизнес-коучи на курсах за многие миллионы долларов.
Вам НЕ надо начинать "свой дело" с нуля.
Вот вам базовая схема из 4-х путей.
1. Находите любую из десятков тысяч средних-малых it-компаний, которая занимается той темой, в которых вы намеревались создать свой уникальный супер-доходный проэкт. Например, какой-нибудь классический SaaS парсинга. Связываетесь с овнером (это важно! главное, не с наёмными менеджерами, которым абсолютно пофиг на свою контору), благо многие из них присутствуют в соцсетях, и предлагаете добавить/встроить в более-менее раскрученную линейку его продуктов, в готовую и более-менее известную инфраструктуру в своей ЦА с уже существующим спросом, и ваш сервис.
Профит :)
Только не отдавайте эксклюзивные права, потому что совсем не факт что кто-то будет заниматься его реальным продвижением. Ну, будете заниматься этим сами, всё равно это от вас потребуется, но зато сэкономите кучу ресурсов на организационно-инфраструктурной рутине.
Можете кстати делать просто более лучшую версию уже существующих сервисов, благо и API могут быть приоткрыты, и код клиентов бывает выложен на гитхаб.
(Это в том числе и прекрасный путь для нахождения хорошей и интересной работы.)
(продолжение следует)
Вам НЕ надо начинать "свой дело" с нуля.
Вот вам базовая схема из 4-х путей.
1. Находите любую из десятков тысяч средних-малых it-компаний, которая занимается той темой, в которых вы намеревались создать свой уникальный супер-доходный проэкт. Например, какой-нибудь классический SaaS парсинга. Связываетесь с овнером (это важно! главное, не с наёмными менеджерами, которым абсолютно пофиг на свою контору), благо многие из них присутствуют в соцсетях, и предлагаете добавить/встроить в более-менее раскрученную линейку его продуктов, в готовую и более-менее известную инфраструктуру в своей ЦА с уже существующим спросом, и ваш сервис.
Профит :)
Только не отдавайте эксклюзивные права, потому что совсем не факт что кто-то будет заниматься его реальным продвижением. Ну, будете заниматься этим сами, всё равно это от вас потребуется, но зато сэкономите кучу ресурсов на организационно-инфраструктурной рутине.
Можете кстати делать просто более лучшую версию уже существующих сервисов, благо и API могут быть приоткрыты, и код клиентов бывает выложен на гитхаб.
(Это в том числе и прекрасный путь для нахождения хорошей и интересной работы.)
(продолжение следует)
🤔42🙏12✍9❤3👍2
2-й путь вхождения в ит-предпринимательство в 2025-м.
Он даже ещё более простой и более лучший чем первый, который подразумевал, что у вас уже есть некоторый продукт.
Вот вы хотите стать бизнесменом, но при этом опыт в бизнесе у вас нулевой, и выше чем тимлидом (или максимум техдиром) вы не работали. Но при этом у вас есть гениальнейшая супер-идея продукта на 100500 мильонов, который, вы почему-то "просто уверены", будут расхватывать как горячие пирожки, и вы собираетесь продать квартиру, чтобы вложиться в разработку (сколько же раз я такое встречал; некоторых даже удавалось отговорить от подобного идиотизма...).
Ну ок, допустим что это действительно так(это не так на 💯 даже гипотетически) . Вы запускаете продажи, в первый же день к вам вообще непонятно откуда ("вирусный эффект"; да-да, конечно) набегает куча покупателей. Профит? На следующий день оказывается тотально перегруженными и ваша техподдержка, и отдел продаж, и бухгалтерия... Или вы собираетесь делать в одиночку? или планируете найти вхолодную помощника, который вас сразу же кинет?
Ладно, эти вещи бесполезно объяснять, потому что бараны просто бесконечно упорствуют "а я хочу!" без малейшей рациональной аргументации. Детский сад штаны на лямках.
Это я к тому, что, ну вот если вы так абсолютнобезосновательно уверены в своих бизнес-скиллах, ну проверьте их практикой-то для начала. А если ваша цель - прежде всего деньги, тогда вообще зачем вам "свой продукт"?
Схема из первого пути, но только ещё проще:
Находите любую из десятков тысяч средних-малых it-компаний, которая занимается той темой, в которых вы cчитаете себя бизнес-гением.
Связываетесь с овнером (это важно! главное, не с наёмными менеджерами, которым абсолютно пофиг на свою контору), благо многие из них присутствуют в соцсетях,
и предлагаете, что будете работать на него бесплатно,
в течение трёх месяцев повысите продажи например вот этого SaaS-парсинга на 50% по отношению к среднему за последний год,
а себе возьмёте 50% прибыли (на самом деле, даже за 5% стоит соглашаться ради опыта).
И очень быстро получите реальный фидбэк, что же стоит ваша самоуверенность на реальном рынке.
Спойлер:НИЧЕГО .
(продолжение следует)
Он даже ещё более простой и более лучший чем первый, который подразумевал, что у вас уже есть некоторый продукт.
Вот вы хотите стать бизнесменом, но при этом опыт в бизнесе у вас нулевой, и выше чем тимлидом (или максимум техдиром) вы не работали. Но при этом у вас есть гениальнейшая супер-идея продукта на 100500 мильонов, который, вы почему-то "просто уверены", будут расхватывать как горячие пирожки, и вы собираетесь продать квартиру, чтобы вложиться в разработку (сколько же раз я такое встречал; некоторых даже удавалось отговорить от подобного идиотизма...).
Ну ок, допустим что это действительно так
Ладно, эти вещи бесполезно объяснять, потому что бараны просто бесконечно упорствуют "а я хочу!" без малейшей рациональной аргументации. Детский сад штаны на лямках.
Это я к тому, что, ну вот если вы так абсолютно
Схема из первого пути, но только ещё проще:
Находите любую из десятков тысяч средних-малых it-компаний, которая занимается той темой, в которых вы cчитаете себя бизнес-гением.
Связываетесь с овнером (это важно! главное, не с наёмными менеджерами, которым абсолютно пофиг на свою контору), благо многие из них присутствуют в соцсетях,
и предлагаете, что будете работать на него бесплатно,
в течение трёх месяцев повысите продажи например вот этого SaaS-парсинга на 50% по отношению к среднему за последний год,
а себе возьмёте 50% прибыли (на самом деле, даже за 5% стоит соглашаться ради опыта).
И очень быстро получите реальный фидбэк, что же стоит ваша самоуверенность на реальном рынке.
Спойлер:
(продолжение следует)
❤33👍20✍5😁4🔥1
.
Облако драгоценностей за неделю.
(школьники студенты ахахаха :)
Приватный клуб:
Ладно, сейчас я вам дам лайт-версию DDD, из которой вам надо будет самостоятельно вывести одно - главное - мета-правило проектирования.
Для донов-начинающих:
Следующая простая, но весьма эффективная система управления задачами — так называемый метод ...
Итак, вы уже знаете, что зарабатывать деньги с помощью программирования в 2025-м стало проще, чем когда-либо :)
Но сколько раз вы нажимали "подать заявку" на хэх ру, и так и не получали ответа?..
Сотни, тысячи раз? Ты знаешь, почему?
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
51. 4 универсальных принципа проектирования API
Вы когда-нибудь использовали в очередном проекте JSON "вручную", чтобы сохранить что-то на диске (например, сэйв игры) -- причём раньше вы уже не раз писали идеологически похожий код, и при этом мечтали, что хорошо бы сделать сохранение заданных данных в файл универсальным и независимым от конкретного формата?
Продолжение трека "Элитный программист":
Переходим к взрослой теме:
32) Экстремальная ответственность
(чему программисты могут научиться у морских котиков США)
Лидеры должны отвечать за всё, что происходит в их мире. Винить больше некого.
...Настоящие профи в программировании? Они выглядят безупречно. Они соответствуют своей роли. Они быстро двигаются. Даже в условиях спада на рынке труда они собирают кучу предложений. В то время, как вот этот парень только ещё встает с кровати с волосами набекрень и в пижамных штанах, чтобы подключиться к созвону на беспросветной удалёнке. Он ноет о "низкой энергии" — и деньги слышат это громко и отчетливо.
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 108-й материал "Вкат начинающего в 2025-м".
(выложен также донам паблика "Материалы для начинающих программистов" ↑↑↑)
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Собственно, готовы все 54 уровня 💥 Чётко уложил многомесячный пет-проект за 3 дня до срока.
этим летом бета-версия 💯 будет готова.
Но есть нюансы.
1. Галя, у нас отмена!
Объединить в одном флаконе тайм-менеджер + мотиватор + idle-игру особо не получилось: мотивация через геймификацию в данном случае не работает.
"Ну пжлста сделай ещё помидорку вот за такие-то бонусы/ачивки в игре" - неа.
"только кнут" (с)
Лучше всего здесь конечно сработает "мультиплеер", но проконтролировать невозможно, действительно ли другие работают или просто включили таймер и двигают мышкой.
Но эксперименты в этой области продолжаю. Скорее всего, будет наоборот некий Надсмотрщик С Кнутом, который следит за каждой секундой твоего, никчемный ты слабак, сливаемого впустую времени и всяческизапугивает мотивирует словами. Тут вполне полезно выработать качественный такой невроз 🦾
Соберись, тряпка!
2. Матриц Хакер
А саму игру я сделал просто игрой. Называться она будет Матриц Хакер (МАХ).
Осталось ещё мелкие штрихи доделать и, главное, сейчас прохожу её заново с полного нуля, чтобы сделать базовый walkthrough, потому что без гайда пройти её просто нереально 😁 Как закончу финальный тест (план: до октября), так сперва дам моим пацанам потестить, а потом выложу для всех. Ну и дальше продолжу развивать геймплей MAX, чтобы играть в неё можно было многие-многие годы.
Облако драгоценностей за неделю.
(школьники студенты ахахаха :)
Приватный клуб:
Ладно, сейчас я вам дам лайт-версию DDD, из которой вам надо будет самостоятельно вывести одно - главное - мета-правило проектирования.
Для донов-начинающих:
Следующая простая, но весьма эффективная система управления задачами — так называемый метод ...
Итак, вы уже знаете, что зарабатывать деньги с помощью программирования в 2025-м стало проще, чем когда-либо :)
Но сколько раз вы нажимали "подать заявку" на хэх ру, и так и не получали ответа?..
Сотни, тысячи раз? Ты знаешь, почему?
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
51. 4 универсальных принципа проектирования API
Вы когда-нибудь использовали в очередном проекте JSON "вручную", чтобы сохранить что-то на диске (например, сэйв игры) -- причём раньше вы уже не раз писали идеологически похожий код, и при этом мечтали, что хорошо бы сделать сохранение заданных данных в файл универсальным и независимым от конкретного формата?
Продолжение трека "Элитный программист":
Переходим к взрослой теме:
32) Экстремальная ответственность
(чему программисты могут научиться у морских котиков США)
Лидеры должны отвечать за всё, что происходит в их мире. Винить больше некого.
...Настоящие профи в программировании? Они выглядят безупречно. Они соответствуют своей роли. Они быстро двигаются. Даже в условиях спада на рынке труда они собирают кучу предложений. В то время, как вот этот парень только ещё встает с кровати с волосами набекрень и в пижамных штанах, чтобы подключиться к созвону на беспросветной удалёнке. Он ноет о "низкой энергии" — и деньги слышат это громко и отчетливо.
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 108-й материал "Вкат начинающего в 2025-м".
(выложен также донам паблика "Материалы для начинающих программистов" ↑↑↑)
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Собственно, готовы все 54 уровня 💥 Чётко уложил многомесячный пет-проект за 3 дня до срока.
Но есть нюансы.
1. Галя, у нас отмена!
Объединить в одном флаконе тайм-менеджер + мотиватор + idle-игру особо не получилось: мотивация через геймификацию в данном случае не работает.
"Ну пжлста сделай ещё помидорку вот за такие-то бонусы/ачивки в игре" - неа.
"только кнут" (с)
Лучше всего здесь конечно сработает "мультиплеер", но проконтролировать невозможно, действительно ли другие работают или просто включили таймер и двигают мышкой.
Но эксперименты в этой области продолжаю. Скорее всего, будет наоборот некий Надсмотрщик С Кнутом, который следит за каждой секундой твоего, никчемный ты слабак, сливаемого впустую времени и всячески
Соберись, тряпка!
2. Матриц Хакер
А саму игру я сделал просто игрой. Называться она будет Матриц Хакер (МАХ).
Осталось ещё мелкие штрихи доделать и, главное, сейчас прохожу её заново с полного нуля, чтобы сделать базовый walkthrough, потому что без гайда пройти её просто нереально 😁 Как закончу финальный тест (план: до октября), так сперва дам моим пацанам потестить, а потом выложу для всех. Ну и дальше продолжу развивать геймплей MAX, чтобы играть в неё можно было многие-многие годы.
5❤43👍8❤🔥2⚡1