melikhov.dev
4.8K subscribers
118 photos
2 videos
2 files
217 links
Фронтенд, фронт-бек и около. Всё, что в голову пришло.

нейрорак за нейроруку
нейрогреку нейрослоп
Download Telegram
В этом году старшей в школу (7 лет будет осенью). Она у нас пока счастливо живёт без экранов, но явно пора потихоньку вводить. Подумал передать ей свой прекрасный, но всё такой же бесполезный iPad Pro 11.

И тут я задумался: планшет-то этот старше ребёнка. Он был выпущен в 2018 году. У него корпус как у современной прошки. Те же клёвые чехлы на магнитах. Та же парящая Magic Keyboard. Тот же Apple Pencil второго поколения с магнитной зарядкой. У него последняя iPadOS со странными подвижными окошками. И никаких значимых тормозов (не летает, но жить можно вполне комфортно).

Погодите. Первый iPad вышел в 2010-м. Мой — в 2018-м. Между ними пропасть в дизайне и возможностях. И вот в прошке 2018 года они приблизились к идеалу этого форм-фактора. А дальше что? Засунули лидар, прокачали камеры (зачем?) и меняют M-процессоры. Всё.

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

А для ребёнка порисовать — самое то. Если не помрёт, то и младшей достанется. Ещё 7 лет потерпеть всего-то.
😁50👍208🤔3🔥2
Если вы думаете, что ваш проект как-то медленно двигается, то вот вам моя любимая статья в Википедии
https://ru.wikipedia.org/wiki/Ветра_зимы#Создание_и_публикация
😁66😢14🤣74🔥1
Один из интересных наблюдаемых эффектов от LLM-кодинга это лёгкое движение в сторону zero-dependency. Вместо того, чтобы тащить либу с пачкой дырявых транзитивных зависимостей, кучей неиспользуемых API и слоями совместимости с древними версиями node.js — можно быстро (правда быстро!) запилить код, решающий ту же задачу, но точечно, эффективно и покрыв всё тестами.

Конечно, есть либы ценность которых неумолима (сложность, выверенная безопасность, огромная работа сообщества). Но есть и целая пачка утилитарных обёрток над публичными API и прочие микрохелперы, ценность которых была только в том, чтобы самостоятельно код не писать.

И, более того, если вы не лентяй, то и код вычитаете полностью.
👍91👎114🤔3💯2
Ждали целый год? Дождались! Уже в эту субботу мы запускаем Frontend CTF 2026. Наконец-то у нас появился шикарный лэндинг https://ctf.ilovefrontend.ru

Приходите. Может быть у нас и не самый сложный CTF но точно очень красивый.

Как обычно, подсказки и полное прохождение тут.
41🎉17
Комментарий на ютьюбе

Он разработчик ИНТЕРФЕЙСОВ, но при этом он еще и нейронками занимается, т.е. работает за двоих.... лучшая антиреклама яндекса как работодателя


Ну, камон. Опять эта странная боязнь заглянуть чуть дальше, чем положено по названию должности. Бэкендеры, вон, не боятся залезть в вёрстку, наоборот, так и норовят везде HTMX протащить. И только счастливы будут всё сами напилить.

Я как считаю. Вот есть мы, фронтендеры. Мы ближе к интерфейсам. Есть бэкендеры, они ближе к данным. А есть рядом новые апишки, которые раньше не трогали ни фронты ни бэки. Апи эти ни к кому не ближе, ортогональные такие, новенькие, блестящие. И нет, по сути, большой разницы, кто эти апи потрогает. Вот кто свободен сейчас в команде, тому и повезло, выхватил золотой билет изучить новые технологии.

Не ставьте себе искусственные рамки, вот мой поинт. Вдруг окажется, что рядом не менее интересно, и вы уйдёте с головой в ML или кубер или ещё куда. Здорово, когда это можно сделать не меняя компанию. И вообще шикарно, когда можно всё попробовать и выбрать, что по душе.
🔥73👍52💯2613😁11💩2🤡2
Год назад в кулуарах «Я люблю фронтенд» Артём @artalog показал мне Roo. Я вернулся в Петербург, подключил Roo к Sonnet 3.7, удивился, что теперь действительно что-то можно отдать на откуп LLM и пошёл подсаживать команду. Мы нашли кейсы, где нейронка хороша, собрали мемори банк и настроили конфиги там, где она тупила. Именно тогда для меня и был переломный момент, когда я полностью поменял свое отношение к AI-кодингу.

А вчера я удалил папку .roo из проекта. И мемори банки удалил. Клод код пошуршал по этим файлам и сказал, что это прошлый век, там нет ничего полезного и он может лучше из коробки. Я с ним согласился и ушёл настраивать openclaw.
😁74🥱25💊12🤝9👍5🤣43
Вот так вот просто и красиво подошли к важнейшей проблеме с другой стороны. Вспоминаю, сколько мы сил и времени потратили когда-то на внедрение монады Either, которую отдел так и не принял всем сердцем.

Напомню прекрасный доклад Артёма Кобзаря и Димы Махнёва — (не|ну)жная монада Either на практике и в теории

И напомню, что ошибки и исключения — это принципиально разные сущности.

Мы считаем, что исключения должны редко использоваться в рамках обычной работы программы: они должны быть зарезервированы для непредвиденных событий. Предположим, что неперехваченное исключение завершит работу вашей программы. Спросите себя: «Будет ли этот код по-прежнему выполняться, если я удалю все обработчики исключений?» Если ответ «нет», то, возможно, исключения используются в неисключительных обстоятельствах.

Dave Thomas and Andy Hunt: The Pragmatic Programmer
16🔥7
Forwarded from artalog (artalar)
https://errore.org/

Кто-то запарился и сделал огромный лендос. Что же, я только всеми лапами за! И вам советую.

UPD: автор запилил сравнение
🔥19👍103💩2👀2
В поисках самого лучшего эмулятора терминала

Как подметил Тонский, пока мы пытались сделать хорошие интерфейсы — зумеры ушли в консоль. А для консоли нужен эмулятор терминала, чтобы вывозить все эти реакт-приложения (что? да!)

Сначала немного теории.

Что такое эмулятор терминала? Это программа, которая эмулирует древнюю железку — терминал. Например вот VT100. То, что в обиходе называет терминалом, на самом деле эмулятор такой железки.

Что такое эскейп последовательности? Нам нужно отправить в шелл или в программу, запущенную в консоли комбинацию клавиш, которую мы нажали. Но у нас нет никакой возможности, кроме как закодировать это набором символов. Как-то так `^[b` для option + left. Попробуйте сами — нажимаем `ctrl + v` и дальше нажимаем нужную нам комбинацию клавиш.

Проблема в том, что нет нормального стандарта на эскейп последовательности. Если в базовых option+left и т.д. все ещё более менее совпадают, то shift+enter кто во что горазд кодирует. Как система понимает, с каким эмулятором она работает? Знание об этом храниться в $TERM. Например, для terminal и item2 это будет `xterm-256color`. Для других терминало может быть другое значение. В системе есть целый справочник `/usr/lib/terminfo` где сказано, как читать эскейп последовательности для вашего эмулятора терминала.


Родной эмулятора терминала macOS — отлетает сразу, у него нет эскейп-последовательностей на shift + enter (а нам надо! мы же хотим в клод коде промпты писать!). И не круто же, из коробки белый фон. Мы такое не уважаем, эмулятор терминала должен всем показать, что ты крутой хакер.

iterm2 дефолт, но конечно достал. Не быстрый, из коробки пользовать им невозможно (ну реально раздражает каждый раз после установки идти проходить квест по настройке эскейп последовательностей в диких менюшках). Ну и просто старый. Фу. Но куда бежать?

Ghostty. Быстрый (написан на zig), нативный, с простым конфигом. Ну просто лепота. Но есть одно но, большинство линуксов ничего о нём не знает. И когда вы подключитесь по ssh и откроете клод код — shift + enter работать не будет. В ghostty это понимают и предлагают автоматический режим для закидывания terminfo на любую машинку куда вы подключаетесь. Даже два режима: прокидывай terminfo, либо автоматически подменяй $TERM на xterm-256color (нам не катит, мы же ищем shift + enter). Если вы готовы немножко помусорить на удалённых машинках, то всё ок.

Kitty Тоже быстрый, но не такой нативный и красивый как Ghostty. Супер конфигурируемый, мощь. Проблема с terminfo присутствует.

Warp. AI во все поля. Чтобы зайти — нужно создать в облаке учётку и залогиниться. Это я не понял и не уважаю. Не по нашему это, не по хакерски. Дизлайк, отписка.

Пока остановился на Ghostty за красоту. Но релизы там какие-то ну совсем редкие. Наверное дальше пойду на Kitty
19🥱9🔥2👍1🤮1
Кто хочет Маттео Коллину к себе в команду практически бесплатно? Он есть у меня у себя! Ну не весь, конечно, а только в виде своих лучших практик.

https://adventures.nodeland.dev/archive/my-personal-skills-for-ai-assisted-nodejs/

tl;dr


npx skills add mcollina/skills
🔥457👍7😁4💊2🤔1
Уже пару месяцев как присоединился к тренду не писать код руками (совсем). Пока ещё не перевёл агента на полный цикл «посмотри какие у меня там таски в трекере и сделай», но иногда, во время дежурств и правда получается ваншотить: входящее обращение от пользователя о багах превращается в прекрасно оформленный PR, в котором и придраться не к чему. А как HAR разбирает — так просто песня. А можно ещё и рядом репозиторий бэкенда подложить, ммм.

В рабочих задачах это всё ещё куча циклов брейшторма, ревью и откатов назад. Но код я не трогаю. Общаюсь в чате, в конце прошу оформит PR. Возможно, будь у меня дикий «безлимитный» тариф я бы и попробовал пожить в режиме ральф лупа, но имеем, что имеем. Нужно быть осторожным, чтобы Опуса хватило на месяц. Потому никаких запущенных параллельно агентов и x10 продуктивности. x3-x4 максимум (но плохо чтоль? хорошо!)

Удивительно удачно это наложилось на бессонные ночи и отсутствие личного времени. Буквально спасло меня от сваливание в андерперформера (ну или от смерти от истощения, хе-хе).

С одной стороны «Не можешь победить — возглавь». С другой — а зачем побеждать? Я пишу код уже без малого 30 лет и сам процесс написания кода никогда не был для меня источником удовольствия. Гораздо интереснее всегда было само комплексное решение задачи. И вот здесь (пока) ничего не меняется. Ну кроме того, что это стало веселей

Я думаю, что кодирование постепенно уйдёт в прошлое. И возможно пугающе быстро. Как когда-то исчезла профессия переноса алгоритмов на перфокарты. Останутся любители писать код вручную как хобби. Так же как сейчас кто-то пишет на функциональных языках для удовольствия. Да и я сам больше всего удовольствия получал от ассемблера (прямо как водить машину с ручной коробкой передач. Чистый кайф)

Останется ли человеко-читаемый код? Вот этот вопрос гораздо интересней. И пока никаких прогнозов тут дать не могу. Будут ли программы писаться сразу в машинных кодах? Сможет ли человек это раздебажить самостоятельно? Хорошие вопросы.

Что делать со всем этим? Я думаю, что стоит качаться в специалиста максимально широкого профиля. Швецы-жнецы с дудкой за пазухой — вот кто продержится дольше всех.

Ну а может завтра нам выкатят такие цены за инференсы, что забудем всю эту историю как страшный сон и снова будем код набивать.
👍65💩2921🔥9🤡7😁5🤔5💊4👎3💯21
Гармин работают на одном заряде так долго только потому, что никто не хочет смотреть на этот порт для зарядки чаще, чем раз в две недели. Питаются энергией ненависти владельцев.
🤣72💯163👍3🤷‍♂21
Раз уж я так не люблю mcp, то начал с себя, удалил их все, а там, где было нужно для корпоративного и прочего — напилил скиллами поверх курла.

И стало хорошо.

Ну не хочу я тратить контекст, не хочу жонглировать пачкой локальных сервачков. Да, mcp еще нанесут ответный удар через lazy стиль. Но пока мне без них лучше, чем с ними.
👍22💊10🤡5💯4🔥3👏2
А ещё мы недавно разобрали полирепозиторий нашей проектной матрешки. Как мы жили после выезда в опенсорс?

Был OSS репозиторий, который затягивался в closed source проект и добавлялись экстеншены из их собственного репозитория. Красиво, надёжно, но сложно и очень медленно в итерациях. 1 PR превращался зачастую в 6 (с полным CI циклом). В том числе сложно для ai, как не объясняй, что вот в этой папочке еще один git лежит и надо это учитывать.

В итоге продержавшись несколько лет мы вернулись в монорепу с зеркалом oss папки наружу.

И стало хорошо (разработчикам и ai).

Пришлось только pnpm прикрутить. И смириться, что опенсорс — это зеркало.
9👍4
Deep Research в Перплексити пока ещё молодец, Claude значительно медленней и хуже справляется не справляется.

Как я понимаю, Перплексити и дальше будет развивать тему «AI поиска для профессионалов» вместо «AI поиска для всех», в которой их уже успешно теснят сами поисковики. Но насколько их хватит — вопрос открытый.

Кстати. В @gravity-ui/charts патч уже сделали (это наша опенсор-либа которой мы успешно заменили Highcharts)
👍25🥱93🤔3👌1
С трудом выдерживаю поток новостей. Решил (как и многие сейчас наверное) автоматизировать дайджесты. OpenClaw тащить не хотелось, навайбкодил простые скрипты на Питоне — работает.

Поднял VPS (2 vCPU, 4 GB RAM):
- Telethon парсит телеграм каналы
- feedparser собирает RSS из Hacker News, Habr, dev.to, TechCrunch
- DeepSeek v3.2 через Yandex AI Studio (вот и грант пригодился) суммаризирует и оформляет
- Плюс тот же DeepSeek переписывает в подкаст-скрипт
- Yandex SpeechKit озвучивает

И всё это летит по крону в телеграм в виде текста и аудио.

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

Делитесь, а как вы парсите новости?
👍28🔥10😁53👀1
Audio
Звучит это как-то так. Не бог весть что, конечно, но сойдёт послушать, пока гуляю с коляской.

Может и оторву потом. Время такое, надо жечь токены и смеяться экспериментировать.
💩165👍4