Артур Думчев
Попался любопытный продукт (youtube), который позволяет удобно располагать предметы на клавиатуре ноутбука — например, портативный монитор или механическую клавиатуру. Но есть нюанс — пластиковые палочки и противоскользящие наклейки обойдутся в ~10к рублей…
Кстати, с этой клавиатурой пришлось повозиться. Оформил опыт разбора проблемы и починки прошивки в статью https://habr.com/ru/articles/1056772/
Хабр
Калвиаутра путает калвиши: один байт изменил всё
Пришла моя долгожданная плата EC для клавиатуры Agar Mini . Собрал, начал пользоваться, но вот что-то слишком много опечаток. Думал, повожусь с настройками, да не тут-то было — приключение растянулось...
🔥14🤯3👾3
Решил почистить старый мак. Лень было этим заниматься, откладывал 3 года, а теперь попросил кодекс найти весь мусор, оставшийся после удаленных приложений. Итерация за итерацией, удалось избавиться от ~100gb.
Из интересного, нашлось несколько десятков гигабайт от удаленного клиента ТГ — огромный красный квадрат на скрине (визуализация сделана тулзой grandperspective).
Вспомнил, что в далеком прошлом, еще на винде, качал для подобного CCleaner, и только сейчас задумался, сколько сотен или даже тысяч утилит морально устарели с появлением агентов. В пределе вообще все.
Из интересного, нашлось несколько десятков гигабайт от удаленного клиента ТГ — огромный красный квадрат на скрине (визуализация сделана тулзой grandperspective).
Вспомнил, что в далеком прошлом, еще на винде, качал для подобного CCleaner, и только сейчас задумался, сколько сотен или даже тысяч утилит морально устарели с появлением агентов. В пределе вообще все.
👍10🤔6💯4❤1😡1
С выходом Fable и 5.6 Sol мне почему-то показалось, что эта статья уже устарела, но вот я решил активно повайбкодить, разбираясь с каждым предложенным решением LLM, и смело могу заверить, что если не контролировать выбор абстракций, получается раздутый из пальца пустопорожний код.
Прикладываю запечатленные скрины диалогов с LLM по ее предложениям. Буквально всегда создаются бесполезные классы и интерфейсы, которые уже были. Или потому что LLM так легче, или она обучалась на больших кодовых базах, где куча людей пересоздают одни и те же сущности из-за плохой коммуникации, текучки, спешки или чего-то еще.
И вот пример ПР на 5к строк кода на задачу, где 1к было бы подозрительно много. Sol 5.6 Ultra зачем-то созадала ручки, которые уже были, но немного иначе назывались.
Метафора, что LLM позволяет получить легаси не за несколько лет, а за неделю, по-прежнему актуальна.
Прикладываю запечатленные скрины диалогов с LLM по ее предложениям. Буквально всегда создаются бесполезные классы и интерфейсы, которые уже были. Или потому что LLM так легче, или она обучалась на больших кодовых базах, где куча людей пересоздают одни и те же сущности из-за плохой коммуникации, текучки, спешки или чего-то еще.
И вот пример ПР на 5к строк кода на задачу, где 1к было бы подозрительно много. Sol 5.6 Ultra зачем-то созадала ручки, которые уже были, но немного иначе назывались.
Метафора, что LLM позволяет получить легаси не за несколько лет, а за неделю, по-прежнему актуальна.
👍18❤7👾5😁3🤔2😡2🤝1
Forwarded from Öлёг Чёрёхён
1😁25🔥3🤔2💯2👾1
Артур Думчев
Мобильные разработчики поймут :) Кстати, если кто не знал, codex может через adb запускать приложения, читать логи, делать скрины и анализировать, что на экране, нажимать на кнопки и т.п. Сейчас раздебажил мне проблему логина в кодекс на андроиде, составил…
Еще один пример.
Вышло обновление на VR Шлем и не скачивается из-за региона. В прошлом я бы раздал Wi-Fi с VPN прямо с мака. Но помню, что опыт был неприятный. Куда удобнее иметь VPN на самом шлеме.
Только на шлеме нельзя просто скачать VPN-приложение из cтора. Надо найти APK, поставить его через adb и передавать URI через внутренний чат, который тоже без VPN не работает. В общем, проще отложить задачу на потом.
Но в современном мире можно подключить шлем по USB и попросить кодекс разобраться с этой рутиной.
Прямо сейчас обновление уже качается.
Вышло обновление на VR Шлем и не скачивается из-за региона. В прошлом я бы раздал Wi-Fi с VPN прямо с мака. Но помню, что опыт был неприятный. Куда удобнее иметь VPN на самом шлеме.
Только на шлеме нельзя просто скачать VPN-приложение из cтора. Надо найти APK, поставить его через adb и передавать URI через внутренний чат, который тоже без VPN не работает. В общем, проще отложить задачу на потом.
Но в современном мире можно подключить шлем по USB и попросить кодекс разобраться с этой рутиной.
Прямо сейчас обновление уже качается.
👍20✍5😁4🤯2
Артур Думчев
Не могу не поделиться эссе Рича Хикки, автора Clojure. Ниже перевод: Спасибо, ИИ! Мне пришло вот такое письмо: Рич, Ваше создание Clojure ... льстивый трёп, достойный письма третьеклассника “домашнее задание: написать письмо публичной персоне, которую ты…
забавно, как фанаты Рича Хикки троллят его, сами того не понимая :)
😁7💯4🔥3🤔2
Сейчас легко решить задачу, написав много-много кода с неадекватным подбором абстракций, как в примерах из предыдущего поста.
Но кодовая база разрастается и поддерживать ее становится дорого и по времени, и по когнитивной нагрузке, и — как следствие — по токенам.
Моя личная гордость за сегодня ☺️:
‣ удаление бесполезных абстракций
(+44 -715)
‣ рефакторинг скиллов на бэкенде
(+1643 -2275)
Над рефакторингом работал гранулярно, шаг за шагом. И даже на ревью от кодекса ничего не нашлось. Что интересно, попытки сделать тот же рефакторинг в несколько промптов, с GPT Sol Ultra, обернулись потерей времени и токенов на неудачные PR.
‣ https://github.com/D00mch/souz/pull/613
(+449 -287)
‣ https://github.com/D00mch/souz/pull/622
(+689 -276)
Хотя с одним из ПР-ов предварительно просидел полдня, готовя промпт в режиме планирования. Что не так с этими ПР-ами? И подбор абстракций плохой, и упрощения как такового не получилось.
А вот еще один “плохой” пример: реализация публичного контракта для бэкенда (+7210 -2096). Над контрактом поработал сам, а вот реализацию доверил LLM. Понадобился 101 комментарий ревью от самого же кодекса, прежде чем получилось влить ПР.
Кстати, Codex иногда ошибается с подсчетом добавленных и удалённых строк, поэтому добавил alias в zshrc, может, кому пригодится:
Резюмируя. LLM удешевляет производство кода, но делает дороже его сопровождение. Сложно ответить, когда это действительно выгодно. Но до сих пор имеет смысл работать гранулярно над важными участками кода. Например, над core-функциональностью.
Но кодовая база разрастается и поддерживать ее становится дорого и по времени, и по когнитивной нагрузке, и — как следствие — по токенам.
Моя личная гордость за сегодня ☺️:
‣ удаление бесполезных абстракций
(+44 -715)
‣ рефакторинг скиллов на бэкенде
(+1643 -2275)
Над рефакторингом работал гранулярно, шаг за шагом. И даже на ревью от кодекса ничего не нашлось. Что интересно, попытки сделать тот же рефакторинг в несколько промптов, с GPT Sol Ultra, обернулись потерей времени и токенов на неудачные PR.
‣ https://github.com/D00mch/souz/pull/613
(+449 -287)
‣ https://github.com/D00mch/souz/pull/622
(+689 -276)
Хотя с одним из ПР-ов предварительно просидел полдня, готовя промпт в режиме планирования. Что не так с этими ПР-ами? И подбор абстракций плохой, и упрощения как такового не получилось.
А вот еще один “плохой” пример: реализация публичного контракта для бэкенда (+7210 -2096). Над контрактом поработал сам, а вот реализацию доверил LLM. Понадобился 101 комментарий ревью от самого же кодекса, прежде чем получилось влить ПР.
Кстати, Codex иногда ошибается с подсчетом добавленных и удалённых строк, поэтому добавил alias в zshrc, может, кому пригодится:
alias lines="git add -N -- . && git diff HEAD --numstat | awk '{a+=\$1; d+=\$2} END {printf \"+%d -%d\\n\", a, d}'"Резюмируя. LLM удешевляет производство кода, но делает дороже его сопровождение. Сложно ответить, когда это действительно выгодно. Но до сих пор имеет смысл работать гранулярно над важными участками кода. Например, над core-функциональностью.
Telegram
Артур Думчев
С выходом Fable и 5.6 Sol мне почему-то показалось, что эта статья уже устарела, но вот я решил активно повайбкодить, разбираясь с каждым предложенным решением LLM, и смело могу заверить, что если не контролировать выбор абстракций, получается раздутый из…
1👍16🔥4✍3
Forwarded from Откровения от Олега
Моменты истинного величия маркетологов, которые даже не нужно фальсифицировать на скриншотах
😁28👍5💯4❤2
Наконец дошли руки поразбираться с https://codespeak.dev/
Удивило, что Бреслав взялся за проект с настолько очевидно слабой сутью.
Вкратце, CodeSpeak о том, чтобы писать спеки, которые, как ожидается, будут в 5-10 раз короче, чем код. А их “фреймворк” позаботится, чтобы ”скомпилировать” из этого исходный код, да еще и тестами покроет.
Фактически это просто перенос сложности из кода в спеку.
Если спека на естественном языке учитывает всё, она будет даже больше, чем код, потому что естественный язык двусмысленный в отличие от ЯП.
Если спека короче, остаётся пространство для решений LLM. Эти решения будут неявны и неоднозначны, т.е. повторный запуск может сгенерировать семантически не эквивалентный код.
Давайте возьмём простой пример с использованием piggy backing:
Чтобы пост не превратился в книгу, приведу в комментариях спеку, явно описывающую этот код. Пример скорее шуточный, но шутка хорошо раскрывает идею. Идею того, что точнее и короче именно кодом выражать идеи для компьютера.
Удивило, что Бреслав взялся за проект с настолько очевидно слабой сутью.
Вкратце, CodeSpeak о том, чтобы писать спеки, которые, как ожидается, будут в 5-10 раз короче, чем код. А их “фреймворк” позаботится, чтобы ”скомпилировать” из этого исходный код, да еще и тестами покроет.
Фактически это просто перенос сложности из кода в спеку.
Если спека на естественном языке учитывает всё, она будет даже больше, чем код, потому что естественный язык двусмысленный в отличие от ЯП.
Если спека короче, остаётся пространство для решений LLM. Эти решения будут неявны и неоднозначны, т.е. повторный запуск может сгенерировать семантически не эквивалентный код.
Давайте возьмём простой пример с использованием piggy backing:
@Volatile var a = 1
var b = 2
@ThreadSafe
fun change() {
b = 3
a = 4
}
Чтобы пост не превратился в книгу, приведу в комментариях спеку, явно описывающую этот код. Пример скорее шуточный, но шутка хорошо раскрывает идею. Идею того, что точнее и короче именно кодом выражать идеи для компьютера.
CodeSpeak
CodeSpeak: Software Engineering with AI
CodeSpeak is a next-generation programming system powered by LLMs. Human intent is all that matters.
1✍7👍4🤔2🤝2