Программизд
178 subscribers
50 photos
2 videos
123 links
Backend developer, borisd.ru

Блог о программировании, бэкенде, IT и не только.

@hpdbru - собираю коллекции.

Иногда не пишу по две-три недели.


@purchase_list_bot
Download Telegram
Time Estimation и scope creep
Вспомнил, как однажды в школе придумал, как можно подзаработать летом: идти и спрашивать во всяких местах, нужны ли им работники.

Пришел в гаражный кооператив и мне сказали, что да, можно убраться на территории, деньгами не обидят.
Там было 4-5 пролетов, длиной в гаражей 20. Не асфальтированы, просто грунт с почти исчезнувшим щебнем.

Я принялся за первый, ожидая управиться за час: начал собирать все крышечки, травинки, некрасивые камни и прочее, как будто убирался в помещении. Спустя долгое время я понял, что продвинулся только на 3 гаража.

Забил на травинки и пылинки, выковыривал крышки, бутылки и прочее, но все равно прогресс был медленным.

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

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

Я все это собрал довольно быстро. Получил довольно мало денег, но по сути, работы то было на 10 минут, я сам себя занял лишней и никому не нужной вознёй.
👍3
Байки из 10ых: ИБ 101

Лет 8-9 назад, задолго до удаленки, я работал в одной из компаний, где у нас был этаж разработки. Наш "веб" отдел занимал один кабинет на 10 человек за стационарными компами.
Тимлид регулярно куда-нибудь отходил, но, видимо, не блокировал свой экран. И иногда, вслед за его уходом, забегал уважаемый сеньор из другого отдела и делал всякие пакости с его ПК.

Один раз это получилось довольно незаметно, он в рабочем чате около обеда написал "Сегодня сделаем короткий день, можете идти по домам". И мы даже начали собираться, но в кабинет забежал красный от стыда тимлид и все отменил 😬
После этого он научился блокировать экран, ну и мы тоже.
🥰3👍1
https://m.youtube.com/watch?v=RweoklWbLsw

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

Я тоже об этом думал. 80% работы позади, весь интернет уже давно на поддержке, все сделано, ничего не осталось.

Ajax
Redis, Kafka, Postgres (добавивший все возможные фичи)
S3
Http2.0/3.0
Go, rust
React
Kubernetes, terraform

Теперь уже нет вопроса «как реализовать», сейчас берешь и делаешь, все либы как минимум v4.0.0 с последним коммитом 3 года назад.

Вместо stack overflow теперь чатжпт, паразитирующий на его контенте.
Каждый второй разраб работает на 2 работах. Компаниям все равно, от разрабов ничего не зависит, все зависит от того, даст ли очередной богатый инвестор кучку денег, потому что ему их девать некуда.

Web3.0 сплошь pump&dump, пирамиды, скам.

Мы на цифровых наркотиках, мучаемся от того, что прожигаем время в рилсах, шортсах, тик токах.
Обучающие и полезные видео лежат в папке «посмотреть позже» уже 5-10 лет, вместо них просмотрена куча мусора. Причем самим начать снимать мусор не позволяет стыд/гордость, в итоге сидим наблюдаем, не делая ничего полезного.
💯9
Что-то подписчики снова решили отписываться, а я, тем временем, снова нашел мотивацию и настроение, вернулся к реализации одной из старых идей.

Первым делом вычистил свой кубер-кластер, убил все проекты, включая @purchase_list_bot, удалил MongoDB, которой перестал активно пользоваться еще года 3 назад.

Сам кластер останется для веба и всяких джоб, но так же нужны ml, gpu, по этому поводу смотрел на https://cocoon.org, но что-то я не созрел самостоятельно все делать, есть куча поставщиков, дающих апи уже до работающих моделей с оплатой за запросы, что проще и дешевле.

Возможно, будут писать что-то техническое.
👏2😭1
Изучаю всякое про NLP, в том числе Named Entity Recognition и на примере Tesla company / Nikola Tesla вспомнил о временах, когда по запросу "Дуров" было очень сложно найти Павла, потому что все результаты были о Льве.
Открыл тут старый ноутбук, на котором ничего не делал уже год, наверное. VS Code версии 2024, казалось бы, что еще надо.

Открываю md-файл, пишу заголовок, жду исправления орфографии, а их нет. Ни подсказок, ни исправлений, словно notepad открыл.

Какие-то древние технологии мы год назад использовали.
🔥3😁2👍1🤣1
После того, как стартанул свой новый кластер с нуля, решил побороть старый кривой подход с helm variables.yaml, в которых я держал секреты и, поэтому, их не коммитил.
Очевидно, что это было неудобно. Загуглил как можно поступить и нагуглил SOPS https://getsops.io/ - он позволяет коммитить yaml'ы с "секретами", тк secrets.yaml создаешь с его помощью и они зашифрованы. При этом структура yaml'а сохраняется.

Вспомнил, что я использовал этот инструмент до этого, в т.ч. на одной из работ.
Решил попробовать снова, посмотрю как пойдет.
🤔1
История моего "ника"

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

Мой дядя играл в quake3 по локальной сети, а когда я приходил к нему, играл под его именем matroskin, где matro и skin были разными цветами.
Я решил тоже сделать себе никнейм, но так, чтоб была какая-то связь. Получилось что-то типа boryas(h)kin (где цветовая схема была такая же, только (h) белый). Потом зарегал почту с таким ником и постепенно стал использовать везде.
Давно бросил, но вот гитхаб остался)
👍1
Прогресс
😁41🏆1
Кончился лимит в copilot, не могу понять, где мне его докупить?
Как можно было сделать такие странные интерфейсы, ни одна кнопка не ведет к "доплати и пользуйся дальше"

upd: нашел https://github.com/settings/billing/licensing
😁2
Ищу тех, кто использует speech-to-text в работе или коммерческом проекте. То есть тех, кто платит за STT.

@borisd ✉️ Порекомендуйте кого-нибудь, кто мог бы поделиться опытом использования, пожалуйста.
На примере другого канала заметил, что помимо основного канала и комментов, в группе (на основе которых комментарии и работают) могут идти отдельные обсуждения и социализация.

t.iss.one/borischgroup - группа этого канала, добавляйтесь, обсудим любые вопросы 🗯
Не то чтобы быстро, но время летит, иногда кто-нибудь да напомнит. Интересно, что за каждой цифрой какие-то воспоминания, не просто какой-то континуум. Какие-то первые проекты, сайты на заказ, работа, новые проекты, "опен-сорс", ну а потом зациклилось.

Помню еще до гитхаба у многих на сайтах были ссылки на sourceforge 👨‍🦳

https://github.com/boryashkin
🔥2
Переписал robots.txt с помощью AI и вылетел из поиска 😌

Пока подозреваю
Disallow: /_next/

Плохая идея была - мешать SEO вместе с кучей других технических задач.
😱1
Сейчас AI в документации - общепринятая норма. Но первый раз я увидел такое больше года назад на нишевом проекте - https://www.traccar.org/
Еще тогда стало понятно, насколько это удобно. Сейчас у всех топовых вендоров AI интегрирован везде и без него можно было бы терять дополнительные часы на разбирательства (например, в AWS, где все гранулировано и разбито на такие мелочи, что просто в панели управления заблудиться можно).
Время в UI
Когда клиентское приложение отображает дату и время события без указания таймзоны, я отношусь к данным скептически.
2025-02-06 18:10:00
Это время по моему часовому поясу или UTC, а может локальное время события, а таймзона просто отброшена?

Чего только я не видел на практике, от этого и сомнения.
Я тут подумал: со всеми этими AI свистелками, программист со стороны теперь больше похож на типичного хакера из фильмов — напечатал что-то, а на экране все мелькает, тексты крутятся, анимации и кнопки вылазят.
😁12💯2🔥1
Мой блог на сайте отставал от телеграма только лишь из-за неудобств: там надо писать tsx и пушить в репу, потом ждать регенерации и деплоя. Посмотрим что сделает агент.
Эффективная работа с AI
Я в этом деле, как и многие, только разгоняюсь, но по выходным работаю над парой пет-проектов и вот мой текущий рецепт продуктивных инструкций для агентов (они имели смысл и без агентов, но люди могли жить без четких процессов):
— Весь код должен отталкиваться от схем и быть сгенерирован (не важно, схема-first или схемагенерация): делаешь бэк, клиент генерится. Делаешь микросервис, прото клиент генерится, гейтвей его использует.
— Не использовать энвы в коде, использовать типизированные конфиги, которые наполняются из энвов (типа viper для го, zod для TS)
— Использовать линтер после изменений (иначе будет гадать и по сто раз пытаться запускать сервисы и падать)
— Все делать только через docker / docker compose, без локальных утилит (это мое личное предпочтение)

— Externalized thinking - есть папка (в gitignore или нет - не важно) tasks, в ней make-something, внутри md файл типа PLAN, где описана цель, а агент должен держать актуальный план, описания, идеи в этой папке. Это позволяет переиспользовать наработки, переключая модели, ide и тп

Не знаю, насколько это хорошо или не хорошо, но вроде работает.
🔥1