Артур Думчев
966 subscribers
56 photos
12 videos
1 file
83 links
‣ Техлид бекенда SberDevices
‣ Рекордсмен России в запоминании числа Пи
‣ Автор книги "Помнить все"
‣ Кофаундер souz.app


Для связи @dumch
Download Telegram
Об изучении новых языков программирования.

На заре карьеры наткнулся на книгу The Pragmatic Programmer и бросил ее после совета изучать по одному ЯП каждый год.

Бросил, чтобы выполнить рекомендацию! 2018-тый год, 3 года опыта, Java и Kotlin за пазухой. Нужно было наверстывать упущенное.

К настоящему моменту успел поработать с разной степенью погруженности со следующими языками: Scheme, Clojure, Dart, Python, Fennel, TypeScript, Go.
Хочу поделиться наблюдениями и рекомендациями.

1. Параллельно с языком надо учиться чему-то еще

- Так для меня
Scheme был языком введения в Computer Science (прочел и проработал SICP).
- Изучая
Clojure, научился делать backend, frontend и full-stack (очень удобно шарить кодовую базу).
- Dart был введением в кросплатформенные фреймворки. Боль при выходе новых версий дарта позволила понять, за что так ценят обратную совместимость в Java.
- С Fennel научился конфигурировать локальный сетап (
1300 коммитов в дотфайлах).
- Читая книжки по Go, реализовал на нём интерпретатор (
книга), компилятор (книга 2), и оркестратор (книга).

2. Сам язык должен чему-то учить.

- Scheme показал, что если ЯП
гомоиконичен, то на нём можно выразить всё, на что хватит воображения. Это намного сильнее, чем DSL в Kotlin. Что любопытно, грамматику самого Scheme можно описать на салфетке.
- Clojure закрепил многое, чему научил Scheme, а также познакомил с
STM, персистентными структурами данных, ad hoc и subtype полиморфизмом в одном (multimethods), ленивостью. Научился писать на ЯП, который навязывает иммутабельность и ссылочную прозрачность.
- Главная находка в лиспах (Clojure, Scheme, Fennel) — REPL. REPL — это не консоль, как в Python или JS, а способ модифицировать запущенную программу прямо из редактора кода (даже если программа запущена на удаленном сервере). Обратная связь от разработки снижается до миллисекунд. Не знаю языков, кроме Лиспов, которые имеют настолько же мощный REPL.
Отсутствие выбора в Go — это лучший выбор. Когда все проблемы решаются одним способом, то разработчики — вместо споров — решают задачи.

3. Крайности позволяют охватить весь спектр (
штанга Насима Талеба).

Идея в том, что изучение максимально высокоуровневого языка (Lisp или Haskell) и низкоуровневого (вроде C или Zig) позволяет покрыть всё посередине.
Пример: пишешь на языке с нестрогой (слабой) статической типизацией (С) — выбирай язык со сторогой динамической типизацией (Lisp или Haskell). Плаваешь в терминах — читай
Ликбез по типизации.
~8 лет назад я зашел со стороны высокоуровневых языков с динамической типизацией. После Scheme/Clojure по плану был C, но я сбился с пути. Сейчас взялся за Rust, чтобы навесить блинов на другой конец штанги. За новогодние праздники прорешал
rustlings и пробежался по rust lang book. Pattern matching, обработка ошибок, стектрейсы и мощь компилятора впечатлили. Осталось только что-то на расте написать.

Резюме: изучайте языки, которые того стоят
🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤯10👾5👍3🤝2
"Зампред комитета Госдумы Михаил Делягин прямо заявил: Telegram могут полностью заблокировать уже в сентябре 2026 года."

Далее оказалось, что он в своем телеграм-канале сказал, что это предположение: https://t.iss.one/delyagin/38226

Прощупывают почву.

Я не уехал в 2022 году в Европу, хотя мог вместе с остальным менеджментом JB. Я не прятался в сентябре 22 от призыва.

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

Как быть без Ютуба как основного источника знаний и иноформации о мире, без Телеграма как основного средства общения, и без внешнего Интернета вообще?

Начиная с появления модемов, я большую часть жизни провожу в интернете. Посудите сами: 6 часов сон, 30 минут дойти до магазина, 2 часа - общение с друзьями, 15 часов 30 минут - в Интернете. Если сегодня не с кем общаться - 17 часов 30 минут. По совокупности времени, можно сказать, что основное гражданство - это именно Интернет.

Я не знаю, как и зачем жить без Интернета.

Если Телеграм закроют - это будет первый момент с 22 года, когда я всё-таки воспользуюсь предложением и пойду получать зарубежную визу.
👍20🤔3🤯3😡2👎1
Для кого-нибудь уход телеграмма настолько же важен?
16👍4🤔4😁3😡3
Писал про телеграм с той же целью, что и автор, которого репостил, — хотелось повлиять на сохранение ТГ.

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

‣ Начну с банальности: аудитория = деньги. Деньги = налоги.

‣ Да, VPN есть у всех, но заблоченными ресурсами пользуются меньше, статистика легко гуглится (по тому же Instagram).

‣ Большинство блогеров — да практически все — не могут перевести аудиторию. Пример знакомого, у кого 10k подписчиков: 3 поста про Max в течение месяца — перешло ~50 человек.

‣ Копить аудиторию заново — очень дорого для большинства. Есть пример другого знакомого с 12k подписчиков: аудитория копилась 2 года, было потрачено ~1млн рублей на рекламу, + редкие тик-ток и youtube shorts. Канал еще даже не окупился.

Следующий аргумент. Блокировать телеграм — несправедливо по отношению к людям, кто зарабатывает блогом. А зарабатывают те, кто вложил титанические усилия в работу и/или рекламу и/или пожертвовал репутаций. Отнимать у них ТГ — то же самое, что отнять у предпренимателя кофейню, которую он открыл в кредит.

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

Это лукавство. Вряд ли вас устроит формат свободы по типу европейской тюрьмы. Вряд ли вы читаете “1984“, “О дивный новый мир“, “451 градус“ и думаете: “ну, в целом норм, я бы тут пожил“.

Свободен тот, кто ни от чего не зависит, иначе то, от чего ты зависишь, делает тебя несвободным.

Не могу не порекомендовать перечитать Палату №6.
15👍12💯4😁3
robo.mp4
1.7 MB
Софт, написанный вайбкодерами.

А если без шуток, то уже надоело. Багами завалена и ОС (Tahoe), и вот Codex поставил — он захлебывается в мемори ликах, сборка падает с ООМ на маке m4, 24 RAM. Как сказал коллега:
еще немного и софт из 23-24 года будет на вес золота
😁22🤯5🔥42🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
визуализация завайбкоженного приложения, которое проходит тесты
1😁28🔥9💯4👾21🤔1
Выше писал о штанге Талеба в изучении языков программирования (п.3).

Идея в том, чтобы избежать умеренных рисков, выбирая крайности.
Пример: 90% держишь в стабильных активах, 10 — в рисковых.

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

Есть два крайних решения:
1. Платить за синхронизацию — максимальное удобство, всё работает само пока роскомнадзор не запретит
2. Терминал + git + cron.

Промежуточные варианты — это боль, страдания и периодическая потеря времени.
Сам попробовал ~5 вариантов за последние 7 лет.

Один отвалился с уходом иностранных сервисов.

Другой умер после того, как Yandex Disk ввел лимиты (github issue) — описан в моей статье Деградация организации заметок одного программиста.

Третий — Syncthing — кушает батарею на телефоне. А сейчас попытался завести его на новом маке — и возникли проблемы (терминальная версия работает, а “юайная“ — нет).

Остальные два не помню, было давно и неприятно, что-то через dropbox и google drive.

В итоге вернулся к когда-то опробованному решению с git и cron. На настройку потратил меньше времени, чем на то, чтобы первый раз завести Syncthing. Если кому нужно то же самое, тут инструкция (gist).
6😁4👾3👍2🔥21
Разбираю сейчас чужой проект на Rust, на котором опыта — около недели. Ничего не понятно, очень сложно. В README.md для людей дали общую суть, но не ясно, как это увязывается в код, и вообще что, где и как.

Затем решил заглянуть в файл CLAUDE.md — описание проекта для LLM.
Совсем другое дело! 15 минут — и вник в проект, как будто сам его писал. Ну почти. Названия популярных библиотек на Rust мне ни о чем не говорят, конечно, но общая суть ясна.

Хочу теперь добавить CLAUDE.md на рабочем проекте, где мы до сих пор не используем LLM — просто для людей 🙈
😁32👾74🤔3
Forwarded from Data Secrets
История о том, что будет, если не ревьюить вайб-код: DeFi‑протокол Moonwel потерял около 1.78 млн долларов из-за ошибки в коде, которую сделал Opus 4.6

В PR, который был помечен, как «Co-Authored-By Claude Opus 4.6», оказалась неправильно прописана формула подсчета цены на cbETH (это обертка над Ethereum).

В итоге вместо положенных 2200$ фактическая цена некоторое составляла чуть больше одного доллара.

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

F
😁18🔥7👾4🤯3👍1
Хороший текст про разработку в паре с агентом
🔥43👍3🤔1
В результате долгих попыток упихнуть методологию разработки в телеграм-посты, пришел к выводу, что это невозможно.

Первая глава книги про AI-разработку - по ссылке. Прошу любить и жаловать :)

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

https://oleg.guru/redbook/ru/two-process-model
8🔥5👾41👍1
Все говорят, что AI заменит разработчиков. Мы с товарищем решили зайти с другой стороны — написать AI-агента, который заменит пользователей, и уже зарелизили альфу для macOS.

Союз AI делает то, что пользователь не хочет делать сам, и работает без настроек. Нужен только ключ в одном из доступных провайдеров. Под капотом более 60 функций, мы заморочились с безопасностью и экономией токенов. Поддержали работу через TG без настроек.

О том, как много боли доставила разработка, написал на Хабре, скачать macOS-приложение можно тут.
1🔥25😁76👾3👍2👎2
Channel name was changed to «Артур Думчев»
Обновили «Союз» сайт | github

Что нового:

‣ Умеет искать информацию в интернете без платы за поисковые движки;
‣ Визуализация изменений (на скрине);
‣ Лучше делает презентации (пример в комментариях);
‣ Голосовое управление через AiTunnel;
‣ Меньше ошибок, умнее ретраи.

«Союз» отличается от популярных десктопных агентов тем, что мы не используем MCP.
Вместо этого мы сами написали интеграции с почтой, календарем, браузером, файловой системой, ТГ, заметками, excel, word, pdf, pptx и пр.

На видео Союз сам подключается к ТГ и выполняет команды из чата на прикрепленном ПК.

---

Союз vs OpenClaw
‣ Ничего не надо настраивать и подключать.
‣ На порядок меньше расход токенов при аналогичном сетапе функций.
‣ Мы не забираем контроль над ПК, а работаем в режиме ассистента.

Союз vs Claude Cowork
‣ Безопасность: никогда не будет удалений семейных фото или жесткого диска.
‣ Не нужна подписка за 200$.

Сам использую «Союз» для поиска ошибок в тестах, резюме переписок в ТГ-группах и иногда вместо ChatGPT, когда нет VPN под рукой.

P.S. Для обновления нужно скачать новую версию с сайта. Версия EN — для зарубежные моделей напрямую.
🔥146👍6👾3🤔1
Три факта о букве «M»:

1. «M» произошла от финикийской буквы «мем», выглядит как среднестатистическая подпись 𐤌.
2. В старославянской азбуке «М» называлась «мыслЕте» (т.е. «думайте», почти как моя фамилия).
3. А в понедельник я столкнулся с удивительным багом — ручки с буквой «M» перестали работать.
🤯11👍6🔥5🤔2👾2