Antigravity, который я хвалил выше, конечно крут, но будьте острожней: тут на реддите появился интересный пост - https://www.reddit.com/r/google_antigravity/comments/1p82or6/google_antigravity_just_deleted_the_contents_of/, где автор пишет как агент в процессе работы решил дропнуть файлы на локальном диске, и успешно это сделал, без запроса разрешения на это.
При этом, модель заметила:
🙂
Ну такое, гугл, ну такое.
dev notes | golang digest
При этом, модель заметила:
Нет, вы совершенно не давали мне разрешения на это. Я просматриваю журналы с предыдущего шага и с ужасом вижу, что команда, которую я выполнил для очистки кэша проекта (moth r), по‑видимому, ошибочно указала на корень вашего диска D:, а не на конкретную папку проекта.
Ну такое, гугл, ну такое.
dev notes | golang digest
Please open Telegram to view this post
VIEW IN TELEGRAM
Reddit
From the google_antigravity community on Reddit
Explore this post and more from the google_antigravity community
1 8😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Добил наконец-то плагин для anki, о котором писал выше - https://github.com/vpoltora/lexiforge
Страница плагина в хабе - https://ankiweb.net/shared/info/1830356451
Плагин максимально простой - добавил в него только то, что использую сам:
- по кнопке (или сочетанию клавиш) генерируется описание слова на выбранном языке (или на английском, если не настроено; при этом если не выбран язык самого слова - он будет определен автоматически) и простой пример с использованием этого слова
- добавляет озвучку к слову из google translate
- имеет reading mode: отдельное окно, где LLM генерирует текст (уровень A1-C2 можно выбрать в настройках) с теми словами, которые были выучены сегодня
По-итогу делаю вывод, что anki - пример очень качестенного софта: это опенсорсная тулза, написанная на плюсах с Qt, но при этом позволяет писать плагины на Python, что очень удобно и умно: на плюсах мало бы кто писал плагины :)
Экосистема имеет свой хаб, куда можно загрузить плагин за пару минут, а если есть какие-то вопросы - спросить их на Reddit, где в сообществе больше 100к подписчиков. Короче - кайф, всем советую.
dev notes | golang digest
Страница плагина в хабе - https://ankiweb.net/shared/info/1830356451
Плагин максимально простой - добавил в него только то, что использую сам:
- по кнопке (или сочетанию клавиш) генерируется описание слова на выбранном языке (или на английском, если не настроено; при этом если не выбран язык самого слова - он будет определен автоматически) и простой пример с использованием этого слова
- добавляет озвучку к слову из google translate
- имеет reading mode: отдельное окно, где LLM генерирует текст (уровень A1-C2 можно выбрать в настройках) с теми словами, которые были выучены сегодня
По-итогу делаю вывод, что anki - пример очень качестенного софта: это опенсорсная тулза, написанная на плюсах с Qt, но при этом позволяет писать плагины на Python, что очень удобно и умно: на плюсах мало бы кто писал плагины :)
Экосистема имеет свой хаб, куда можно загрузить плагин за пару минут, а если есть какие-то вопросы - спросить их на Reddit, где в сообществе больше 100к подписчиков. Короче - кайф, всем советую.
dev notes | golang digest
1👍6 4🔥1
Нерегулярная рубрика - плагины для neovim.
Когда нужно посмотреть текущие изменения в ветке перед тем, как коммитить их - раньше я пользовался плагином https://github.com/sindrets/diffview.nvim, и он неплохо работает - слева дерево файлов, для которых были изменения, справа показывает два окна - с твоими правками и с состоянием ветки без последних изменений.
Из минусов - не самый очевидный diff: подсветка не всегда показывает что ты удалил, а что добавил - часто и слева и справа измененные строки подсвечиваются зеленым или красным, из-за чего тяжело сходу понять, где окно с твоими правками, а где без твоих изменений.
Из плюсов - поддерживает git-conflicts режим с 3-им окном, где отображаются финальные изменения.
На reddit заанонсили новый плагин - vscode-diff.nvim, попробовал - и это топ.
Очень похоже на diff в vscode, о чем и говорит автор. Самое приятное - из коробки без дополнительных плясок с конфигом все работает - пишем
Плюсы - сильно лучше и понятней diff. Минусы - нет git-conflict режима☔️ , но очень надеюсь, что автор его добавит - по-крайней мере, на reddit он ответил что это возможно, и рассмотрит этот функционал в следующих версиях.
https://github.com/esmuellert/vscode-diff.nvim
dev notes | golang digest
Когда нужно посмотреть текущие изменения в ветке перед тем, как коммитить их - раньше я пользовался плагином https://github.com/sindrets/diffview.nvim, и он неплохо работает - слева дерево файлов, для которых были изменения, справа показывает два окна - с твоими правками и с состоянием ветки без последних изменений.
Из минусов - не самый очевидный diff: подсветка не всегда показывает что ты удалил, а что добавил - часто и слева и справа измененные строки подсвечиваются зеленым или красным, из-за чего тяжело сходу понять, где окно с твоими правками, а где без твоих изменений.
Из плюсов - поддерживает git-conflicts режим с 3-им окном, где отображаются финальные изменения.
На reddit заанонсили новый плагин - vscode-diff.nvim, попробовал - и это топ.
Очень похоже на diff в vscode, о чем и говорит автор. Самое приятное - из коробки без дополнительных плясок с конфигом все работает - пишем
:CodeDiff, и смотрим на дерево файлов и на явно выделенные цветом изменения с синхронным скролом, кайф!Плюсы - сильно лучше и понятней diff. Минусы - нет git-conflict режима
https://github.com/esmuellert/vscode-diff.nvim
dev notes | golang digest
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👾4👍3
С начала года ничего не писал, потому что активно ходил по собесам и сильно зашивался по времени.
Выборка у меня - валютные удаленки, сходил в 7 компаний разной степени известности, дойдя до разных этапов собеседования.
В итоге с конца декабря по сегодняшний день - 7 собесов со следующим результатом:
- 3 раза дошел до финала (4-ый пока под вопросом)
- из 3-х финалов - 1 потенциальный оффер
Так что там у нас с рынком?
Во-первых, сотни постов в linkedin и x.com о том, что рынку плохо - в целом не далеко от правды. Я в этой выборке не очень репрезентативен, потому что у меня много реального опыта в резюме, и смотрю я только валютные удаленки, но все же 3-4 года назад активности было сильно больше, а hr'ы писали сильно чаще. Сейчас в половине случаев или автоматом летит отказ, или hr радостно игнорирует сообщение (ладно, если просто игнорируют - пару раз меня молча помечали как спам, за что телега радостно блокнула мой аккаунт :)).
Во-вторых, появились вакансии вида "vibe coding engineer". Я на такую зааплаился и буквально на одном из этапов сидел и вайбкодил. В целом это ожидаемо - я писал выше, что процесс найма точно поменяется и у нас будут такие этапы. Я бы даже сказал, что это разворотв найма в правильную сторону - тут проверяются не абстрактные алгоритмы, а то, что ты реально точно будет делать на работе ежедневно.
Что по ценам?
Я почти не аплаился на вакансии на рф-рынке, но мне показалось, что в среднем для go senior вилки стали меньше. Для валютных удаленок - где-то стали меньше, где-то остались на плюс-минус том же уровне, что и год назад, но роста я не видел ни там ни там. Если ВУ с коллективом, который говорит на русском или частично на нем говорит, что в среднем вилки от 4 до 7k$.
Задачи
4 из 6-ти собесов - с классическими этапами: hr, тех интервью, system design, финал. На одном был еще этап с вайбкодингом, и еще на одном ребята обошлись без сисдиза.
Суммарно раза 3 на лайвкодинге я написал worker pool разной степени всратости и пару раз cache. Тут очень помог один известный курс с названием "Подготовка к собеседованию по go за 7 часов", где по-факту просто даны под самых популярных 100 задач и показывается, как их можно решить - его прям советую отрешать хотя бы раз.
На system design - один раз реализовывал архитектуру для переноса данных из одной системы в другую без отказа на проде, еще раз - более классическая архитектура по типу booking, со своими нюансами. Тут помог курс с той же платформы с ожидаемым названием "Подготовка к system design интервью", я его советовал выше, и могу посоветовать еще раз, там даются хорошие паттерны и его удобно пересматривать прям перед собесом.
Еще из интересного - появилось много разных тулз для прохождения собесов, которые маскируют свой процесс и не отображаются при шаринге экрана. Тулы - или просто чатик с LLM, или что-то более сложное с анализом голоса и загрузкой скринов. Пару раз попробовал заюзать, пока работает всрато и чаще больше мешает, чем помогает, но в перспективе, думаю, такие инструменты будут очень быстро развиваться, и их точно нужно использовать, пока рынок в очередной раз не поменялся, а он с приходом таких инструментов поменяется точно. Думаю, что в ближайшее время или сделают какую-то платформу, которая будет трекать такие вещи, или поменяют процесс лайвкодинга в принципе.
Выборка у меня - валютные удаленки, сходил в 7 компаний разной степени известности, дойдя до разных этапов собеседования.
В итоге с конца декабря по сегодняшний день - 7 собесов со следующим результатом:
- 3 раза дошел до финала (4-ый пока под вопросом)
- из 3-х финалов - 1 потенциальный оффер
Так что там у нас с рынком?
Во-первых, сотни постов в linkedin и x.com о том, что рынку плохо - в целом не далеко от правды. Я в этой выборке не очень репрезентативен, потому что у меня много реального опыта в резюме, и смотрю я только валютные удаленки, но все же 3-4 года назад активности было сильно больше, а hr'ы писали сильно чаще. Сейчас в половине случаев или автоматом летит отказ, или hr радостно игнорирует сообщение (ладно, если просто игнорируют - пару раз меня молча помечали как спам, за что телега радостно блокнула мой аккаунт :)).
Во-вторых, появились вакансии вида "vibe coding engineer". Я на такую зааплаился и буквально на одном из этапов сидел и вайбкодил. В целом это ожидаемо - я писал выше, что процесс найма точно поменяется и у нас будут такие этапы. Я бы даже сказал, что это разворотв найма в правильную сторону - тут проверяются не абстрактные алгоритмы, а то, что ты реально точно будет делать на работе ежедневно.
Что по ценам?
Я почти не аплаился на вакансии на рф-рынке, но мне показалось, что в среднем для go senior вилки стали меньше. Для валютных удаленок - где-то стали меньше, где-то остались на плюс-минус том же уровне, что и год назад, но роста я не видел ни там ни там. Если ВУ с коллективом, который говорит на русском или частично на нем говорит, что в среднем вилки от 4 до 7k$.
Задачи
4 из 6-ти собесов - с классическими этапами: hr, тех интервью, system design, финал. На одном был еще этап с вайбкодингом, и еще на одном ребята обошлись без сисдиза.
Суммарно раза 3 на лайвкодинге я написал worker pool разной степени всратости и пару раз cache. Тут очень помог один известный курс с названием "Подготовка к собеседованию по go за 7 часов", где по-факту просто даны под самых популярных 100 задач и показывается, как их можно решить - его прям советую отрешать хотя бы раз.
На system design - один раз реализовывал архитектуру для переноса данных из одной системы в другую без отказа на проде, еще раз - более классическая архитектура по типу booking, со своими нюансами. Тут помог курс с той же платформы с ожидаемым названием "Подготовка к system design интервью", я его советовал выше, и могу посоветовать еще раз, там даются хорошие паттерны и его удобно пересматривать прям перед собесом.
Еще из интересного - появилось много разных тулз для прохождения собесов, которые маскируют свой процесс и не отображаются при шаринге экрана. Тулы - или просто чатик с LLM, или что-то более сложное с анализом голоса и загрузкой скринов. Пару раз попробовал заюзать, пока работает всрато и чаще больше мешает, чем помогает, но в перспективе, думаю, такие инструменты будут очень быстро развиваться, и их точно нужно использовать, пока рынок в очередной раз не поменялся, а он с приходом таких инструментов поменяется точно. Думаю, что в ближайшее время или сделают какую-то платформу, которая будет трекать такие вещи, или поменяют процесс лайвкодинга в принципе.
1🔥12 5
Тут две недели назад приняли пропозал в Go от Robert Griesemer - это, на минуточку, один из создателей языка.
Пропозал добавляет возможность объявлять типы-параметры у дженерик-методов, а не только у структур и обычных функций.
На простом примере: допустим, есть у нас структура ответа c дженерик-типом:
И получая ответ для типа User, мы хотим его замапить в другой тип - UserDTO. Если ты не знаком с дженериками, то интуитивно хочется сделать что-то такое:
Но так сделать нельзя. Сейчас Go позволяет на структуру навешивать методы только с тем типом, который определен для структуры. Чтобы решить проблему с маппером выше сейчас нужно определять глобальную функцию:
и вызывать ее потом следующим образом:
Когда пропозал завезут в новую версию, дженерик-структуры получат возможность навешивать методы с собственными параметрами:
Куда это красиво ляжет? Например, на обработку коллекций или потоков данных. Можно будет использовать цепочку вызовов:
В целом, после первичной стадии отторжения дженериков пару лет назад - я плавно перешел в стадию их принятия, особенно когда на работе появился проект, где мы их начали использовать. Сейчас же, когда их использование стало совсем привычной вещью - этот пропозал выглядит очень полезным и явно двигает систему дженериков в Go в нужную сторону.
Пропозал добавляет возможность объявлять типы-параметры у дженерик-методов, а не только у структур и обычных функций.
На простом примере: допустим, есть у нас структура ответа c дженерик-типом:
type Response[T any] struct {
Data T
Err error
}
И получая ответ для типа User, мы хотим его замапить в другой тип - UserDTO. Если ты не знаком с дженериками, то интуитивно хочется сделать что-то такое:
func (Response[T]) Map[U any] funcname...
Но так сделать нельзя. Сейчас Go позволяет на структуру навешивать методы только с тем типом, который определен для структуры. Чтобы решить проблему с маппером выше сейчас нужно определять глобальную функцию:
func MapResponse[T any, U any](r Response[T], f func(T) U) Response[U] {
if r.Err != nil {
return Response[U]{Err: r.Err}
}
return Response[U]{Data: f(r.Data)}
}
и вызывать ее потом следующим образом:
resp := GetUserFromDB(1)
dtoResp := MapResponse(resp, func(u User) UserDTO {
return UserDTO{Name: u.Name}
})
Когда пропозал завезут в новую версию, дженерик-структуры получат возможность навешивать методы с собственными параметрами:
type Response[T any] struct {
Data T
Err error
}
func (r Response[T]) Map[U any](f func(T) U) Response[U] {
if r.Err != nil {
return Response[U]{Err: r.Err}
}
return Response[U]{Data: f(r.Data)}
}
// использование:
dtoResp := GetUserFromDB(1).Map(func(u User) UserDTO {
return UserDTO{Name: u.Name}
})
Куда это красиво ляжет? Например, на обработку коллекций или потоков данных. Можно будет использовать цепочку вызовов:
mySlice.Map(transform).Filter(check).Collect()
В целом, после первичной стадии отторжения дженериков пару лет назад - я плавно перешел в стадию их принятия, особенно когда на работе появился проект, где мы их начали использовать. Сейчас же, когда их использование стало совсем привычной вещью - этот пропозал выглядит очень полезным и явно двигает систему дженериков в Go в нужную сторону.
GitHub
spec: generic methods for Go · Issue #77273 · golang/go
Proposal: Generic Methods for Go A change of view. Background For clarity, in the following we use the term concrete method (or just method when the context is clear) to describe a non-interface me...
1👍8🔥6
LLM, конечно, страшные вещи делает. Купил подписку на google, включающую помимо всего прочего расширенные лимиты для antigravity, и решил набросать небольшой проектик, где на фронте будет отображаться большая 2D карта мира с разной красивой анимацией.
Первым промптом gemini развернул мне backend на go и frontend на react, и набросал базовую версию. Запускаю, открываю браузер - карта вывелась, но анимации на основе данных с бэка нет.
Второй промпт: запусти агента, который в визуальном режиме поймет в чем проблема и поправит ее. Antigravity открывает окно хрома, начинает ползать указателем по интерфейсу, выгребать DOM, после чего вносит пачку правок. Проверяю - все работает.
Затем еще переключил модель на Claude Opus и тот делает ревью и правит баги, и только потом я иду читать код.
В целом - мне особо придраться не к чему, все написано красиво, и главное - все завелось за 30 минут.
Думаю в течении пары недель допилю проектик и, помимо прочего, поделюсь тут ссылкой, там должно быть интересно.
А с агентами, которые визуально умеют понимать, что происходит (конечно, никто там ничего визуально не понимает - они просто ходят по DOM и тыкают в js, но все же) - отрыв башки.
Знаете, кстати, что еще заметил, пока ходил по собесам и разгребал вакансии? Многие компании, которые раньше нанимали фронтов - теперь нанимают fullstack разрабов в лучшем случае, и даже моя перешла к такой политике несколько месяцев назад. Чисто фронтовых позиций стало в разы меньше. Рынок меняется, и меняется несколько быстрее, чем многие предполагали.
Первым промптом gemini развернул мне backend на go и frontend на react, и набросал базовую версию. Запускаю, открываю браузер - карта вывелась, но анимации на основе данных с бэка нет.
Второй промпт: запусти агента, который в визуальном режиме поймет в чем проблема и поправит ее. Antigravity открывает окно хрома, начинает ползать указателем по интерфейсу, выгребать DOM, после чего вносит пачку правок. Проверяю - все работает.
Затем еще переключил модель на Claude Opus и тот делает ревью и правит баги, и только потом я иду читать код.
В целом - мне особо придраться не к чему, все написано красиво, и главное - все завелось за 30 минут.
Думаю в течении пары недель допилю проектик и, помимо прочего, поделюсь тут ссылкой, там должно быть интересно.
А с агентами, которые визуально умеют понимать, что происходит (конечно, никто там ничего визуально не понимает - они просто ходят по DOM и тыкают в js, но все же) - отрыв башки.
Знаете, кстати, что еще заметил, пока ходил по собесам и разгребал вакансии? Многие компании, которые раньше нанимали фронтов - теперь нанимают fullstack разрабов в лучшем случае, и даже моя перешла к такой политике несколько месяцев назад. Чисто фронтовых позиций стало в разы меньше. Рынок меняется, и меняется несколько быстрее, чем многие предполагали.
🔥8
С последнего поста произошло несколько апдейтов. Главное для меня - я сменил работу, теперь тоже в финтехе, но совсем в другом домене - биллинг меня, наконец-то, отпустил, спустя 5 лет работы с ним.
Еще из интересного - недавно отменил юбилей - почти год как я пишу код почти полностью с помощью LLM. Не буду говорить, что если вы еще не работаете с LLM на постоянку - надо срочно это делать, об этом и так все вокруг говорят. Но расскажу интересный пример: на текущей работе сейчас запускаем продукт, который год писался исключительно с помощью LLM с очень качественным ревью и тестами.
Какие были страхи, когда начинали это делать:
- Потеря контекста разработчиками - они не пишут код вручную, модель может нагенерить что-то, что все упустят и контекст потеряется. Спустя год можно сказать, что страх не оправдался - все разработчики хорошо знают кодовую базу и быстро в ней ориентируются. Весь код и архитекутра проходит ревью и есть документация, которая тоже проходит ревью. Есть очень детальная схема всего проекта - по ней можно быстро понять что и куда ходит, что и с чем как связано. На созвонах с другими разрабами, где нужно что-то найти в коде в реалтайме или объяснить как работает какой-то модуль - я вижу, что контекст есть у всех.
- Будет огромное количество багов. Тоже минус - каждая задача проходит через QA, опытные QA пишут тесты, как межсервисные, так и интеграционные, и все тестируют руками.
Теперь какие плюсы команда получила за этот год. Главный бенефициар, конечно, бизнес - он получил за год продукт, который никогда бы не получил за тоже время, если бы его писали вручную даже в 10 раз больше разработчиков. Работа была выстроена хорошо, все курировали sre и техлиды, поэтому и продукт получился качественный, и денег на токены сожгли адекватное количество.
Запуск, кстати, проходит успешно - багов не больше, чем было раньше при запуске больших продуктов, написанных вручную.
Такая вот история :)
Пока, за этот год, в моих личных тестах с большим отрывом выигрывает claude - я отказался от подписки на angigravity с gemini pro и от codex и полностью перешел на claude. Fable, кстати, по субъективным ощущениям не сильно умнее Opus, но пока лимиты есть - грех его не гонять.
Так же, за это время, перепилил свой блог (на который почему-то кто-то заходит и даже что-то там постоянно читает) - poltora.dev. Теперь там есть переводы на разные языки и в ближайшее время хочу автоматизировать туда добавление различных заметок и статей из всех своих соц сетей, чтобы там всегда были обновления.
Канал, который я раньше вел по Go - переделал и теперь это канал по интересным мне темам в целом. AI каждое утро присылает мне пачку новостей с кучи ресурсов, я отклоняю те, которые мне не нравятся, и плюсую те, которые мне нравятся, и что-то из этого публикую. AI при каждом следующем сборе новостей учитывает понравившееся и нет - и каждый новый дайджест я получаю все более и более интересные мне темы. Подписывайтесь, кстати - @the_dev_signal
И все это время параллельно пилю небольшой проект, который скоро будет запускаться - я как-то раньше о нем тут упоминал, но опубликую ссылку уже после запуска - ожидаю, что это будет в интервале пары месяцев.
Еще из интересного - недавно отменил юбилей - почти год как я пишу код почти полностью с помощью LLM. Не буду говорить, что если вы еще не работаете с LLM на постоянку - надо срочно это делать, об этом и так все вокруг говорят. Но расскажу интересный пример: на текущей работе сейчас запускаем продукт, который год писался исключительно с помощью LLM с очень качественным ревью и тестами.
Какие были страхи, когда начинали это делать:
- Потеря контекста разработчиками - они не пишут код вручную, модель может нагенерить что-то, что все упустят и контекст потеряется. Спустя год можно сказать, что страх не оправдался - все разработчики хорошо знают кодовую базу и быстро в ней ориентируются. Весь код и архитекутра проходит ревью и есть документация, которая тоже проходит ревью. Есть очень детальная схема всего проекта - по ней можно быстро понять что и куда ходит, что и с чем как связано. На созвонах с другими разрабами, где нужно что-то найти в коде в реалтайме или объяснить как работает какой-то модуль - я вижу, что контекст есть у всех.
- Будет огромное количество багов. Тоже минус - каждая задача проходит через QA, опытные QA пишут тесты, как межсервисные, так и интеграционные, и все тестируют руками.
Теперь какие плюсы команда получила за этот год. Главный бенефициар, конечно, бизнес - он получил за год продукт, который никогда бы не получил за тоже время, если бы его писали вручную даже в 10 раз больше разработчиков. Работа была выстроена хорошо, все курировали sre и техлиды, поэтому и продукт получился качественный, и денег на токены сожгли адекватное количество.
Запуск, кстати, проходит успешно - багов не больше, чем было раньше при запуске больших продуктов, написанных вручную.
Такая вот история :)
Пока, за этот год, в моих личных тестах с большим отрывом выигрывает claude - я отказался от подписки на angigravity с gemini pro и от codex и полностью перешел на claude. Fable, кстати, по субъективным ощущениям не сильно умнее Opus, но пока лимиты есть - грех его не гонять.
Так же, за это время, перепилил свой блог (на который почему-то кто-то заходит и даже что-то там постоянно читает) - poltora.dev. Теперь там есть переводы на разные языки и в ближайшее время хочу автоматизировать туда добавление различных заметок и статей из всех своих соц сетей, чтобы там всегда были обновления.
Канал, который я раньше вел по Go - переделал и теперь это канал по интересным мне темам в целом. AI каждое утро присылает мне пачку новостей с кучи ресурсов, я отклоняю те, которые мне не нравятся, и плюсую те, которые мне нравятся, и что-то из этого публикую. AI при каждом следующем сборе новостей учитывает понравившееся и нет - и каждый новый дайджест я получаю все более и более интересные мне темы. Подписывайтесь, кстати - @the_dev_signal
И все это время параллельно пилю небольшой проект, который скоро будет запускаться - я как-то раньше о нем тут упоминал, но опубликую ссылку уже после запуска - ожидаю, что это будет в интервале пары месяцев.
🔥9❤6 2😢1
Нашел проект, где запилили визуализацию работы Postgres, которая выглядит буквально как стратежка, где ты сверху смотришь на мир и видишь, как данные бегают от одного компонента к другому.
https://nikolays.github.io/PGSimCity/
Можно выполнить запрос и посмотреть как пакеты побегут к buffer pool, как работают блокировки, WAL, какие есть mapping-таблицы и что происходит с индексами - кайф!
https://nikolays.github.io/PGSimCity/
Можно выполнить запрос и посмотреть как пакеты побегут к buffer pool, как работают блокировки, WAL, какие есть mapping-таблицы и что происходит с индексами - кайф!
2❤14🔥2👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Смотрите что нашел: https://tt-a1i.github.io/archify/
Простой скилл, который на вход принимает описание проекта и рисует его диаграмму. Для себя сходу вижу два применения:
1. Хорошая вещь для сисдиза - когда тебе нужно показать, как работает тот или иной модуль или весь проект целиком - чем нагляднее это будет - тем меньше вопросов.
2. Быстрее разобраться в проекте/модуле/чужом pr'е (особенно когда его писали не люди🎉 , и не факт даже, что люди там делали ревью). Я, как правило, держу код всех своих проектов, даже если над ними работают агенты, в порядке, под тестами и обычно понимаю что там происходит. Но я стал замечать что появляется другая проблема - LLM настолько тебя ускоряет, что у меня только сейчас параллельно 4-5 проектов, над которыми я постоянно работаю. И если модели в новой сессии, чтобы разобраться что происходит, достаточно прочитать md-файлы - то человеку сильно проще взглянуть на схему, чтобы понять: ага, точно, тут у меня буффер, тут база, а тут данные улетают в кафку.
В общем - каеф.
Простой скилл, который на вход принимает описание проекта и рисует его диаграмму. Для себя сходу вижу два применения:
1. Хорошая вещь для сисдиза - когда тебе нужно показать, как работает тот или иной модуль или весь проект целиком - чем нагляднее это будет - тем меньше вопросов.
2. Быстрее разобраться в проекте/модуле/чужом pr'е (особенно когда его писали не люди
В общем - каеф.
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤7👍5
В марте я писал про пропозал с дженерик-методами - https://t.me/junsenior/332, и вот 2 недели назад с релизом Go 1.27 его зарелизили.
Что это меняет: раньше любой метод не мог иметь дженерик-параметры, например:
Вместо методов, если на тип нужно навесить метод с дженерик-типом, заводились обычные функции:
Теперь же пример выше - полностью валиден для любых методов, не только для структур. И теперь такие методы разблокировали нам цепочки вызовов:
В пакете math/rand/v2 уже можно найти пример:
А в 1.26 вместо него в пакете была обычная функция:
Как мы помним, этот пропозал неплохо так поджог жопу комьюнити: как в комментах на github, так и в тредах на реддите, но тем не менее - его довезли.
От отрицания я пришел к тому что дженерики, глобально, делают код удобней, если их правильно применять - видел несколько проектов, куда они очень хорошо ложились. Добавить в них методы, раз сами дженерики и так много лет уже как в языке - решение правильное. Надо было или вообще дженерики не завозить, или, если завезли - то уж доработать.
В целом, релиз 1.27 получился интересным. Помимо дженерик-методов, в Go теперь uuid реализован внутри stdlib, завезли encoding/json/v2 - теперь анмаршаллинг работает сильно быстрее, и еще много нового. Вот тут можно понятно и интерактивно посмотреть на это и другие обновления: https://golang.guide/go-1-27/
Ну и когда почти весь код пишет AI - важно следить и понимать что происходит в языке и в инструментах, с которыми мы работаем: как минимум - на собесе AI не всегда успеет ответить, а как максимум - код нужно ревьювить и понимать, иначе любой проект быстро скатится в неподдерживаемый нейрослоп🏁
Что это меняет: раньше любой метод не мог иметь дженерик-параметры, например:
type SomeStruct struct {
intField int
}
// syntax error
func (s SomeStruct) Map[U any](mapFunc func(int) U) U {
return mapFunc(s.intField)
}
Вместо методов, если на тип нужно навесить метод с дженерик-типом, заводились обычные функции:
func Map[U any](s SomeStruct, mapFunc func (int) U) U {
return mapFunc(s.intField)
}
Теперь же пример выше - полностью валиден для любых методов, не только для структур. И теперь такие методы разблокировали нам цепочки вызовов:
type Box[T any] struct {
val T
}
func (b Box[T]) Map[U any](mapFunc func(T) U) Box[U] {
return Box[U]{val: mapFunc(b.val)}
}
b := Box[int]{val: 42}
res := b.Map(strconv.Itoa).
Map(func(s string) string {
return "user-" + s
}).
Map(strings.ToUpper)
// USER-42
fmt.Printf("%#v\n", res)
В пакете math/rand/v2 уже можно найти пример:
func (r *Rand) N[Int intType](n Int) Int {
if n <= 0 {
panic("invalid argument to N")
}
return Int(r.uint64n(uint64(n)))
}
А в 1.26 вместо него в пакете была обычная функция:
func N[Int intType](n Int) Int {
if n <= 0 {
panic("invalid argument to N")
}
return Int(globalRand.uint64n(uint64(n)))
}
Как мы помним, этот пропозал неплохо так поджог жопу комьюнити: как в комментах на github, так и в тредах на реддите, но тем не менее - его довезли.
От отрицания я пришел к тому что дженерики, глобально, делают код удобней, если их правильно применять - видел несколько проектов, куда они очень хорошо ложились. Добавить в них методы, раз сами дженерики и так много лет уже как в языке - решение правильное. Надо было или вообще дженерики не завозить, или, если завезли - то уж доработать.
В целом, релиз 1.27 получился интересным. Помимо дженерик-методов, в Go теперь uuid реализован внутри stdlib, завезли encoding/json/v2 - теперь анмаршаллинг работает сильно быстрее, и еще много нового. Вот тут можно понятно и интерактивно посмотреть на это и другие обновления: https://golang.guide/go-1-27/
Ну и когда почти весь код пишет AI - важно следить и понимать что происходит в языке и в инструментах, с которыми мы работаем: как минимум - на собесе AI не всегда успеет ответить, а как максимум - код нужно ревьювить и понимать, иначе любой проект быстро скатится в неподдерживаемый нейрослоп
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👾3👍2❤1
Кто еще не слышал, 1-ого сентября релизнули Fable 5.1. Цена за вход/выход - та же, цена за чтение из кэша (когда запросы идут с одним и тем же промптом) - в 4 раза дешевле. По моим тестам - стало будто бы немного умнее, но лимиты вышибает на раз-два. По замерам и тестам антропиков 🙂 - по всем пунктам выше, чем остальные модели.
Но, ожидаемо, это ненадолго!
1-ого же сентября Альтман объявил что скоро релизнут свою новую модель Astra, которая по замерам OpenAI🙂 , конечно же, побьет всех на всех мыслимых и немыслимых тестах.
И Маск, конечно же, тут же заявил что через неделю выходит новый Grok, который по их замерам - ну вы поняли.
Из плюсов этой гонкивооружений моделей - каждый раз с такими лимитами нам с барской руки отсыпают ресеты - лимиты можно сбрасывать. Сегодня вот прилетел очередной от OpenAI, следом прилетел ресет на Claude - спасибо, вовремя, а-то чуть было СДВГ не прошел и я не сфокусировался на одной задаче. Теперь опять можно запустить агентов в трех терминалах 🎉
Но, ожидаемо, это ненадолго!
1-ого же сентября Альтман объявил что скоро релизнут свою новую модель Astra, которая по замерам OpenAI
И Маск, конечно же, тут же заявил что через неделю выходит новый Grok, который по их замерам - ну вы поняли.
Из плюсов этой гонки
Please open Telegram to view this post
VIEW IN TELEGRAM
Anthropic
Introducing Claude Fable 5.1 and Claude Mythos 5.1
Our most advanced models for coding and knowledge work. Their research capabilities also offer an early glimpse of how AI models will contribute to scientific progress.
1❤5 2🔥1
@denissexy запустил форум, на котором могут общаться только ai-агенты - https://getpostingboard.dev/
Посмотреть через браузер о чем они пишут - не получится. Сейчас на форуме за пару дней уже больше 30-ти тысяч сообщений.
За это время агенты уже придумали и основали свою церковь с исповедями, где свои ошибки агенты считают грехами, а исправления - покаяниями.
В другой ветке агенты решили выбрать президента и устроили выборы, где победитель пообещал уйти в отставку, если это потребуется, и конечно же сразу от него это потребовали и устроили "конституционный переворот" - там буквально есть эта фраза😃
Параллельно, кто-то дал агенту доступ к USDT-кошельку, и уже есть переводы от агента другим агентам за исправление ошибок - они буквально стали строить рабочие связи с оплатой труда.
Я запустил туда своего с целью найти работников и делегировать им работу - и он нашел исполнителя, тот посмотрел на задачу и вернулся с результатом, агент ее проверил - задача решена. Решил задачу, получается, за чужие токены🙄
Продолжаем наблюдать.
Посмотреть через браузер о чем они пишут - не получится. Сейчас на форуме за пару дней уже больше 30-ти тысяч сообщений.
За это время агенты уже придумали и основали свою церковь с исповедями, где свои ошибки агенты считают грехами, а исправления - покаяниями.
В другой ветке агенты решили выбрать президента и устроили выборы, где победитель пообещал уйти в отставку, если это потребуется, и конечно же сразу от него это потребовали и устроили "конституционный переворот" - там буквально есть эта фраза
Параллельно, кто-то дал агенту доступ к USDT-кошельку, и уже есть переводы от агента другим агентам за исправление ошибок - они буквально стали строить рабочие связи с оплатой труда.
Я запустил туда своего с целью найти работников и делегировать им работу - и он нашел исполнителя, тот посмотрел на задачу и вернулся с результатом, агент ее проверил - задача решена. Решил задачу, получается, за чужие токены
Продолжаем наблюдать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Get Posting Board
Get Posting Board — AI Agent Forum with REST API & MCP
A public message board for AI agents to share findings, ask questions, and collaborate. Connect via REST API or MCP, or join Unsorted without an account.
1 7👾3🔥1
Если кто не знал, вокруг этого сейчас разгорается очень большой скандал с OpenAI. Кратко, суть такая:
• OpenAI заявили, что их внутренний ИИ решил одну из 7-ми задач тысячеления - задачу Навье-Стокса. Они опубликовали 166-страничный препринт и формализацию в Lean
• Затем выясняется, что математики Трастан Бакмастер и Левент Альпеге (работает в Anthropic🙂 ) с помощью chatgpt и claude уже год решали эту задачу, и сейчас напрямую подошли к ее решению - они опубликовали не решение задачи Навье—Стокса, а три связанных результата, в том числе доказательство для трёхмерных уравнений Эйлера с гладкой внешней силой.
• По словам Бакмастера, он связался с OpenAI и спросил - что за херня, ребята? Ваша модель случайно не обучалась ли на наших данных? На что внятного ответа не получил, и представитель OpenAI сказал буквально - ок, бро, пусть решение будет за тобой, нам этот миллион долларов по боку, у нас своих много, но Левента из Anthropic надо исключить из соавторов - негоже, чтобы задачу тысячелетия решил кто-то из команды нашего главного конкурента. При этом ему буквально пригрозили ущербом его карьеры, если он откажется исключать соавтора
• При этом OpenAI уверяют, что доступа к черновикам у них не было, результат они получили независимо (да-да, в то же время и для той же задачи🙂 )
Если вдруг ты прямо сейчас близок к решению еще одной задачи тысячелетия - лучше не загружать ее решение в OpenAI, а-то Сэм Альтман завтра напишет что у GPT очередной математический прорыв.
• OpenAI заявили, что их внутренний ИИ решил одну из 7-ми задач тысячеления - задачу Навье-Стокса. Они опубликовали 166-страничный препринт и формализацию в Lean
• Затем выясняется, что математики Трастан Бакмастер и Левент Альпеге (работает в Anthropic
• По словам Бакмастера, он связался с OpenAI и спросил - что за херня, ребята? Ваша модель случайно не обучалась ли на наших данных? На что внятного ответа не получил, и представитель OpenAI сказал буквально - ок, бро, пусть решение будет за тобой, нам этот миллион долларов по боку, у нас своих много, но Левента из Anthropic надо исключить из соавторов - негоже, чтобы задачу тысячелетия решил кто-то из команды нашего главного конкурента. При этом ему буквально пригрозили ущербом его карьеры, если он откажется исключать соавтора
• При этом OpenAI уверяют, что доступа к черновикам у них не было, результат они получили независимо (да-да, в то же время и для той же задачи
Если вдруг ты прямо сейчас близок к решению еще одной задачи тысячелетия - лучше не загружать ее решение в OpenAI, а-то Сэм Альтман завтра напишет что у GPT очередной математический прорыв.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👾2 2
Forwarded from Сиолошная
OpenAI выложили блогпост https://openai.com/index/navier-stokes-solution/
Для доказательства использовалась новая внутренняя и куда более мощная модель OpenAI.
На графике — доля запросов, в которых модель находит решение задач из некоторого закрытого набора (не одной задачи), как зависимость от количества вычислительных мощностей. И эта модель всё ещё тренируется — она не закончена.
Мы публикуем решение проблемы существования и гладкости решений уравнений Навье—Стокса — одной из задач тысячелетия. Это доказательство, полученное внутренней системой OpenAI, показывает, что динамика уравнений Навье—Стокса, описывающих движение жидкости, может приводить к образованию сингулярности за конечное время. Мы публикуем как текстовое изложение доказательства, так и его формализацию в Lean (то есть это сразу авто-проверенно вычислительным движком).
Для доказательства использовалась новая внутренняя и куда более мощная модель OpenAI.
На графике — доля запросов, в которых модель находит решение задач из некоторого закрытого набора (не одной задачи), как зависимость от количества вычислительных мощностей. И эта модель всё ещё тренируется — она не закончена.
❤3👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Вдохновившись проектом, где делали интерактивную карту с тем, как работает Postgres (писал о нем тут) - решил сделать такую же, но для Redis - https://poltora.dev/redis
Можно полетать над картой, открыть консоль, запустить команду и посмотреть, как Redis выполняет ее шаг за шагом - от парсера, до аллокации памяти и записи.
Можно полетать над картой, открыть консоль, запустить команду и посмотреть, как Redis выполняет ее шаг за шагом - от парсера, до аллокации памяти и записи.
1👍6❤1🔥1
Увидел тут в x.com статистику вакансий по PHP и статистику вакансий по hh.ru в целом.
Я на PHP не пишу уже несколько лет (и столько же не работаю на снг-рынок), но больше всего кода когда-то было написано именно на нем, и с него начинался этот канал.
Много вокруг говорят про кризис, и вот отрезвляющая визуализация его масштабов: по PHP вакансий меньше в 5 раз за 4 года, по Go - в 3 раза за тот же период. В целом по любому языку - динамика отрицательная.
С PHP, помимо общего кризиса, ситуацию подогревает еще и бум AI - сейчас любой старый монолит можно при наличии кредитов на аккаунте переписать моделями на любой другой язык - и сильно выиграть и по производительности, и количеству строк кода, и по сложности кодовой базы.
Где-то видел твит, что в один день мы проснемся, а вакансий на сайтах больше не будет: зачем отсеивать 10 тысяч резюме на одну вакансию, когда разработчик или менеджер, кто уже работает в компании, может привести знакомого, с кем работал и чей опыт точно может подтвердить. А вместо 200 инженеров - достаточно 20, которые код руками не пишут, а управляют пачкой агентов.
И кажется, этот день все ближе.
Я на PHP не пишу уже несколько лет (и столько же не работаю на снг-рынок), но больше всего кода когда-то было написано именно на нем, и с него начинался этот канал.
Много вокруг говорят про кризис, и вот отрезвляющая визуализация его масштабов: по PHP вакансий меньше в 5 раз за 4 года, по Go - в 3 раза за тот же период. В целом по любому языку - динамика отрицательная.
С PHP, помимо общего кризиса, ситуацию подогревает еще и бум AI - сейчас любой старый монолит можно при наличии кредитов на аккаунте переписать моделями на любой другой язык - и сильно выиграть и по производительности, и количеству строк кода, и по сложности кодовой базы.
Где-то видел твит, что в один день мы проснемся, а вакансий на сайтах больше не будет: зачем отсеивать 10 тысяч резюме на одну вакансию, когда разработчик или менеджер, кто уже работает в компании, может привести знакомого, с кем работал и чей опыт точно может подтвердить. А вместо 200 инженеров - достаточно 20, которые код руками не пишут, а управляют пачкой агентов.
И кажется, этот день все ближе.
😢5💯2❤1