Search
Write a publication
Pull to refresh
126
23
Артур Думчев @arturdumchev

Программист

Send message

Пишем агента на Kotlin: KOSMOS

Level of difficultyMedium
Reading time25 min
Views2.1K

Интернет завален реализациями на Питоне, но иногда удобнее разбираться с технологиями на своём основном языке. Для мен;я это Kotlin.

Если вы программист, наверняка к вам приходят знакомые и предлагают писать агентов. Реализовав оного самостоятельно, вы поймете, что задача из себя представляет.

Статья обещает соблюдать два принципа, упрощающих восприятие:

‣ Движение от частного к общему, потому что легче воспринимать примеры, чем абстракцию.
‣ Быстрая обратная связь, как с REPL.

Агента реализуем так, чтобы легко было заменить лежащую в основе LLM. Посмотрим, как отличается работа при использовании REST API в сравнении с SDK, пощупаем Гигачат и Anthropic.

Ах да, 🪐 KOSMOS — акроним. Kotlin Open Synthetic Mind Orbiting System.

Читать далее

Путеводитель по Ktor JWT auth на стороне сервера

Level of difficultyMedium
Reading time10 min
Views1K

Документация Ktor по server-jwt неполна. Если необходимо сделать что-то за рамками «Hello world», придется лезть в исходники и городить костыли. Какой-то консистентности и предсказуемости ждать не стоит, возможно, не обошлось без заговорщиков.

Статья покроет необходимую базу для работы с JWT и убережет от множества подводных камней.

Читать далее

Заговор разработчиков против корпораций: работа с командой

Level of difficultyEasy
Reading time9 min
Views8.3K

‣ Почему для перехода в другую компанию нужно тренировать навыки, никак не относящиеся к работе?
‣ Почему вместо работы мы ходим на встречи, а вместо принятия рисков занимаемся гаданием?
‣ Почему нам говорят: «владейте продуктом», но прибылей от продукта не достается?

На все вопросы легко находятся ответы, если перестать притворяться, что братства техно-анархистов не существует.

Статья является последней в цикле «Заговора разработчиков».

Читать далее

Халява уходит из программирования

Level of difficultyEasy
Reading time8 min
Views206K

Для меня халява — гарантированный результат за вложенные усилия. Логика повествования требует такого определения, дальше всё будет ясно.

Халяве учили и учат в школе. Сделай домашнее по алгебре, выучи стихотворение, научись решать линейные уравнения — и получишь пятерку. Любовь получать пятерки сыграла злую шутку со многими, ведь в жизни вне учебных заведений халявы практически нет.

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

Читать далее

Бокс в VR: Руководство по выживанию

Level of difficultyEasy
Reading time8 min
Views4.5K

Когда-то я думал, что бокс в VR — просто игра. Оказалось, она хочет меня убить. Статья о том, как:

‣ не приобрести проблемы с сердцем, но получить профилактику сердечно-сосудистых заболеваний;
‣ не потянуть связки, но укрепить мышцы;
‣ не нарабатывать ошибки, но транслировать навык в реальную жизнь;
‣ не получить проблемы с осанкой, связанные с асимметрией спорта, но развить «физический интеллект».

Проблема ассиметрии решается легко — проводите 50% времени в непривычной стойке. Это откроет множество новых комбинаций и движений, которые нужно будет разобрать и отработать.

По остальным пунктам двумя предложениями не отделаться.

Читать далее

Один выгоревший сеньор или два джуна с горящими глазами?

Level of difficultyEasy
Reading time7 min
Views12K

На Highload++ 2024, в рамках конкурса за VR-шлем, попался вопрос из заголовка статьи. Я без сомнений ответил, что сеньор, и вот почему...

Читать далее

Заговор разработчиков против корпораций: архитектура и принципы

Level of difficultyMedium
Reading time14 min
Views14K

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

— Нет никакой организации! — вопили они.

Подозреваю, что слежка велась через мой телеграм-канал.

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

Узнать тайны, о которых молчали

Заговор разработчиков против корпораций

Level of difficultyMedium
Reading time15 min
Views52K

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

Читать далее на свой страх и риск

Деградация организации заметок одного программиста

Level of difficultyEasy
Reading time8 min
Views33K

О ведении и организации заметок пишут книги, создают приложения и плагины, продают курсы. Кажется, все должно быть значительно проще. Я сознательно веду заметки более 15 лет и хочу поделиться опытом.

Читать далее

Как небольшие изменения горячих клавиш спасли мои запястья

Level of difficultyMedium
Reading time7 min
Views8.8K

Когда-то внес одну незначительную модификацию в клавиатуру, и мои запястья практически перестали болеть. Затем внес десятки — и забыл про дискомфорт.

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

Читать далее

Эволюция рабочего места одного программиста

Level of difficultyEasy
Reading time8 min
Views57K

Начались боли в спине — пошли эксперименты. Год за годом, стол за столом приходил к идеалу: ортопедический стул, стол с вырезом и регулировкой высоты, кронштейн для фиксации монитора на уровне глаз.

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

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

Читать далее

Как поставить Skyrim VR с модами FUS: нейроинтерфейс и говорящие жители

Level of difficultyMedium
Reading time16 min
Views20K

Хотели бы вы попробовать себя в роли мага, сила заклинаний которого зависит от концентрации в реальном мире? Cвободно разговаривать со всеми NPC на естественном языке и получать вразумительные ответы? Или, может быть, просто поиграть в Skyrim VR с улучшенными текстурами, интерфейсами и физикой?

Читать далее

Git. Скачем между ветками как древесные лягушки

Level of difficultyEasy
Reading time6 min
Views33K

Статей на тему много, но, видимо, недостаточно. Последние 10 лет в 4-х разных компаниях время от времени слышу от коллег:

— Не могу пошарить экран с кодом, у меня другая ветка сейчас.

— Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!.

— Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать.

Читать далее

Как я продолжил заниматься спортом по 2-4 часа в день

Level of difficultyEasy
Reading time11 min
Views13K

Продолжил с отмены подписки в фитнес-зал рядом с домом в пользу VR. Но вот беда — энтузиазм и дух исследования новой платформы спал, основные симуляторы, рекомендованные в предыдущей статье, начали понемногу надоедать.

Тогда я перестал отсеивать VR-игры через фильтр спортивного эффекта, и в какой-то момент, играя только ради развлечения, понял, что практически любая игра может стать фитнес-тренажером, если добавить веса на руки. Статья об этой и нескольких других идеях, плюс поделюсь списком игр, которые мне показались подходящими для спортивных и развлекательных целей.

Читать далее

Как я начал заниматься спортом по 2-3 часа в день

Level of difficultyEasy
Reading time6 min
Views43K

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

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

Читать далее

Пример исследовательского реверс-инжиниринга приложения Zone Launcher

Level of difficultyMedium
Reading time6 min
Views12K

Друг порекомендовал приложение, но купить его не получилось с территории России. Статья о том, как поисследовать приложение до той степени, чтобы покупка потеряла свою актуальность. Может быть полезно почитать и разработчикам, чтобы понимать, что полную версию приложение включить достаточно легко.

Читать далее

Как распараллелить тесты с базой данных

Level of difficultyMedium
Reading time5 min
Views5.5K

Представьте проект, в котором уже написано несколько сотен тестов. Каждый тест настраивает базу под себя: добавляет данные, вызывает truncate по окончанию. Хочется запускать тесты параллельно, чтобы ускориться, но если два теста запустить одновременно, они почти наверняка друг другу помешают.

В данной статье поделюсь подходом, который позволил решить проблему без рефакторинга.

Читать далее

Обращение к издательствам: пожалуйста, не переводите термины

Level of difficultyEasy
Reading time2 min
Views35K

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

Читать далее

Рабочий стол OSX: консистентные горячие клавиши

Level of difficultyMedium
Reading time14 min
Views3.6K

Сергей хочет открыть Slack. Запускает Spotlight и в нем начинает писать "Slack". Печатается "Ыдфсл". Ок, нужно стереть "Ыдфсл", а для этого эксплуатировать лучезапястный сустав в попытке дотянуться до BACKSPACE... Когда Slack наконец-то(!) открылся, Сергей пишет сообщение и хочет вставить ссылку в текст, используя привычный <CMD+K>, но Slack начинает поиск по личным сообщениям.

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

Читать далее

Зачем Clojure Flutter

Reading time13 min
Views8.4K

”Если вам нравятся Руби, Свифт, Дарт, Эликсир, Эльм, С++, Питон или даже С, используйте их ради бога. Но выучите Кложур, и выучите его хорошо” — Дядя Боб (твит, а также твиты: 1, 2, 3).

Статей о Clojure написано много, цель этой — дать свое видение некоторых преимуществ языка для кросплатформенной разработки на Flutter. Ориентируюсь в первую очередь на dart-разработчиков, но статья может быть интересна всем, кто работает с Clojure и/или Flutter.

Читать далее
1

Information

Rating
563-rd
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity