Ежемесячный пост в канал и опять про шрифты: шрифт со встроенной подсветкой синтаксиса.
Правда требуется чтобы был включен OpenFont COLR, но это не так важно особенно если используется в рамках браузера https://blog.glyphdrawing.club/font-with-built-in-syntax-highlighting/
Правда требуется чтобы был включен OpenFont COLR, но это не так важно особенно если используется в рамках браузера https://blog.glyphdrawing.club/font-with-built-in-syntax-highlighting/
🤯61👍10👎3🤔3😢1
  У моего любимого редактора Zed запилили альтернативу копайлоту через Claude - Zed AI https://zed.dev/blog/zed-ai
  
  zed.dev
  
  Introducing Zed AI
  From the Zed Blog: Powerful AI-assisted coding powered by Anthropic's Claude, now available.
👍38🔥14🥰5👎2🤔1
  в блоге go.dev подробно описали про range functions. Для тех, кто не совсем в теме - это свежее добавление (появилось в 1.23)  и по сути позволят сделать свой тип/коллекцию “обходимым” посредством стандартного range. 
https://go.dev/blog/range-functions
мистики в этом, на первый взгляд, есть определенное количество и она не вся пропадает даже посли понимания того, как именно это работает. Но причины понятны, и случаи когда такое надо тоже понятны. На мой взгляд, это, как и дженрики, фича в основном для авторов библиотек.
  
  https://go.dev/blog/range-functions
мистики в этом, на первый взгляд, есть определенное количество и она не вся пропадает даже посли понимания того, как именно это работает. Но причины понятны, и случаи когда такое надо тоже понятны. На мой взгляд, это, как и дженрики, фича в основном для авторов библиотек.
go.dev
  
  Range Over Function Types - The Go Programming Language
  A description of range over function types, a new feature in Go 1.23.
👍25
  попалась на глаза эта штука https://github.com/getsops/sops
они это называют “редактором для закодированных файлов” который поддерживает YAML, JSON, ENV, INI и BINARY. Насколько я понимаю, по сути это способ хранения encrypted секретов в конфигурационых файлах, чем-то напоминает мне то, как ansible-vault работает.
судя по описанию, штука могучая. Сам я не пробовал, но читал о ней у достойных доверия параноиков.
  
  они это называют “редактором для закодированных файлов” который поддерживает YAML, JSON, ENV, INI и BINARY. Насколько я понимаю, по сути это способ хранения encrypted секретов в конфигурационых файлах, чем-то напоминает мне то, как ansible-vault работает.
судя по описанию, штука могучая. Сам я не пробовал, но читал о ней у достойных доверия параноиков.
GitHub
  
  GitHub - getsops/sops: Simple and flexible tool for managing secrets
  Simple and flexible tool for managing secrets. Contribute to getsops/sops development by creating an account on GitHub.
👍29🔥7🤔3
  Если вам зачем-то надо рисовать диаграммы сервисов, и вы как и я беситесь от графических редакторов - вот простой способ рисовать их удобно и программно. Минус только один - на питоне :)
https://diagrams.mingrammer.com/
https://diagrams.mingrammer.com/
🔥90👍28👎5😱2🤩2❤1🤔1
  Вдруг попалось на глаза. Это прекрасно, я считаю и это один из тех моментов, когда фанаты го могут гордо сказать - “да, мы не зря его любим!”
https://danp.net/posts/synctest-experiment/
эта штука весьма необычная и подход очень интересный. Проблема, что они пытаюстся решить связана с тестированием кода в котором задействованно время, а точнее временные промежутки и текущие часы.
Тестировать такое непросто и прямого способа не было. Кривой был, например вместо time.Now использовать nowFn() и переопределять ее в тестах. Оно условно работало, но выглядело как грязный хак где нормальный код надо странно модифицировать исключительно для удобства тестов. Подобный хак можно и для Sleep навернуть, хотя тут все уже сложнее.
С этим новым synctest время внутри “пузыря” созданного synctest.Run виртуальное и может вести себя нелинейно. Тут надо смотреть на примеры, будет понятнее.
https://danp.net/posts/synctest-experiment/
эта штука весьма необычная и подход очень интересный. Проблема, что они пытаюстся решить связана с тестированием кода в котором задействованно время, а точнее временные промежутки и текущие часы.
Тестировать такое непросто и прямого способа не было. Кривой был, например вместо time.Now использовать nowFn() и переопределять ее в тестах. Оно условно работало, но выглядело как грязный хак где нормальный код надо странно модифицировать исключительно для удобства тестов. Подобный хак можно и для Sleep навернуть, хотя тут все уже сложнее.
С этим новым synctest время внутри “пузыря” созданного synctest.Run виртуальное и может вести себя нелинейно. Тут надо смотреть на примеры, будет понятнее.
👍51🔥23❤1🥰1
  я не помню, когда точно появилась в errgroup поддержка лимитов (смотри SetLimit и TryGo), но я точно этот момент упустил. Много лет использовал свой собственный враппер до этого, который добавлял туда семафор и все прочее, необходимое для ограничения конкурентности.
Если вы тоже в танке, то теперь это все можно https://medium.com/@yardenlaif/go-sync-or-go-home-errgroup-f91a0ee72d3f
Задание ему лимита гарантирует, что не больше n горутин будут запущены одновременно, когда мы вызываем eg.Go. У этого есть ожидаемый, с одной стороны, но неконцептуальный с другой, эффект, когда вызов этой Go функции может блокироваться. Т.е. понятно почему, но с точки зрения семантики запуска горутин это немного необычно.
На всякий случай, для тех, кто от темы далек - errgroup простой это способ организации выполнения конкурентных задач в Go. По сути, это обертка над каналами, контекстами и горутинами, превращающая эти, относительно низкоуровневые примитивы, в нечто, чем можно пользоваться почти не напрягая извилины мозга.
  
  Если вы тоже в танке, то теперь это все можно https://medium.com/@yardenlaif/go-sync-or-go-home-errgroup-f91a0ee72d3f
Задание ему лимита гарантирует, что не больше n горутин будут запущены одновременно, когда мы вызываем eg.Go. У этого есть ожидаемый, с одной стороны, но неконцептуальный с другой, эффект, когда вызов этой Go функции может блокироваться. Т.е. понятно почему, но с точки зрения семантики запуска горутин это немного необычно.
На всякий случай, для тех, кто от темы далек - errgroup простой это способ организации выполнения конкурентных задач в Go. По сути, это обертка над каналами, контекстами и горутинами, превращающая эти, относительно низкоуровневые примитивы, в нечто, чем можно пользоваться почти не напрягая извилины мозга.
Medium
  
  Go Sync or Go Home: ErrGroup
  It might be time to get rid of your dusty old WaitGroups and upgrade them to shiny new ErrGroups!
🔥28👍23❤1
  Очень красивый бюджет трекер в терминале. @umputun им пользоваться не сможет, т.к. трекер на питоне, но просто оцените как красиво и функционально это все выглядит! https://github.com/EnhancedJax/Bagels
🔥107😁52👍13❤8🤯4👎3
  Fish Shell официально зарелизился с переездом на Rust. Поздравляю всех причастных (в перрвую очередь меня). Поучительную историю от автора читать по ссылке, там прямо многобукв https://fishshell.com/blog/rustport
  
  Fishshell
  
  Fish 4.0: The Fish Of Theseus
  A smart and user-friendly command line shell
🔥72👍6❤2👎1
  Мы почему-то про это не говорили, но лучший эмулятор андроида BlueStack наконец-то выпустили версию для Apple Silicon Mac. Выпустили давно, но потестировал я только сегодня и это идеальный способ запускать андроидные приложения на маке https://www.bluestacks.com/mac
🔥44👍17❤5😁3👎1
  Если вы всё еще почему-то пользуетесь iTerm2 - обновляйтесь прямо сейчас. Хотя дыра там такая, что как говорит один русскоязычный подкастер "вон из профессии". Поэтому предлагаю обновляться сразу до kitty, wezterm или ghostty.
😁54😱14👍12🔥7❤5👏2🤔1
  Наткнулся тут на интересный проект - как использовать JSX / TSX синтаксис в Go темплейтах. Не SSR, а скорее альтернатива Templ или html/template. Любопытная идея, я даже пытался когда-то свой прототип сделать, но зашел через Goja и пытался рендерить честный Реакт, только без Ноды, и завяз в попытках добиться совместимости. А тут автор пошел другим путем - через esbuild под капотом. https://github.com/michal-laskowski/wax
  
  GitHub
  
  GitHub - michal-laskowski/wax: Generate HTML on the server side with TSX/JSX templates in Go
  Generate HTML on the server side with TSX/JSX templates in Go - michal-laskowski/wax
👍17🔥12❤2
  Горячая новость: тема Material Theme ушла в оффлайн в маркетплейсе вскода - в ней были множественные уязвимости https://fixupx.com/theo/status/1894661673388314710?s=12
  
  🧵 Thread • FxTwitter / FixupX
  
  Theo - t3.gg (@theo)
  The Material Theme has just been removed from GitHub and VS Code due to shipping malware
😁27🤔6😢6👍4
  Если вы (из-за меня конечно) пересели на Zed но страдаете без интеграции с Git - вот тут надо записываться на бету, дают интерфейс для коммита и подобное https://zed.dev/git?r=41
🔥55👍9😁1
  
  Daily Geek News
Если вы (из-за меня конечно) пересели на Zed но страдаете без интеграции с Git - вот тут надо записываться на бету, дают интерфейс для коммита и подобное https://zed.dev/git?r=41
Теперь поддержка Git есть в релизной версии Zed https://zed.dev/blog/git
  
  zed.dev
  
  Native Git support in Zed
  From the Zed Blog: You can now stage, commit, pull, push, and more, all natively within Zed.
🔥85👍24❤6😁3🤔1😱1
  
  Daily Geek News
Теперь поддержка Git есть в релизной версии Zed https://zed.dev/blog/git
This media is not supported in your browser
    VIEW IN TELEGRAM
  С вами рубрика "новости Zed". Поддержка дебага официально замержена https://github.com/zed-industries/zed/pull/13433
🔥97👏16👍10😁4❤3👎1
  Вот это то, о чем мы говорили в последнем радиот, просто чуть более детально - сравнение кодинга с последними Gemini и Claude. Краткий вывод - Gemini 2.5 pro это прям прорыв, особенно за свои деньги (бесплатно для теста) https://composio.dev/blog/gemini-2-5-pro-vs-claude-3-7-sonnet-coding-comparison/
  
  composio.dev
  
  Gemini 2.5 Pro vs. Claude 3.7 Sonnet: Coding Comparison - Composio
  Build agents that do more. Composio gives you APIs, SDKs, and prebuilt integrations to let your AI agents interact with apps like Slack, HubSpot, GitHub and beyond.
🔥32🤔15😁4👍2👎1
  Помните когда-то была мода на визуальные языки программирования? Оказывается людей не покидает эта идея и есть даже неплохие варианты - вот например Flyde. Это визуальный язык программирования, который матчится в TypeScript, работает в VS Code и вообще выглядит неплохо https://www.flyde.dev
  
  flyde.dev
  
  Visual AI Flows | In Your Codebase
  The missing link between developers and non-developers working on AI workflows
🔥15🤔12👍5😁3❤2👎2
  Если вы пользуетесь Syncthing радуйтесь - вышла версия 2.0. Главное изменение - переход на sqlite для внутренней базы данных. Выглядит минорно но решает почти все мои проблемы с этим инструментом https://github.com/syncthing/syncthing/releases/tag/v2.0.0
  
  GitHub
  
  Release v2.0.0 · syncthing/syncthing
  ⚠️ First 2.0 release ⚠️
This is the first release of the new 2.0 series. Expect some rough edges and keep a sense of adventure! 🙏
Major changes in 2.0
Database backend switched from LevelDB to SQ...
This is the first release of the new 2.0 series. Expect some rough edges and keep a sense of adventure! 🙏
Major changes in 2.0
Database backend switched from LevelDB to SQ...
🔥64👍21❤14
  я в подкасте пару раз спрашивал “а чем вайб кодеры разговаривают с AI агентами?” но никакого практического решения не получил. Вариант использовать встроенный в macos speech-to-text, который мне предлагали чаще всего, вообще не работает в kitty (у них про это тикет был, который автор закрыл с пояснением “делать не буду, фигня какая-то”) и в ghostty оно тоже работало очень странно
пару вариантов что мне дали были платные, с облачной моделью. Оба этих фактора сильно странные: платить за такое странно, а использовать внешнюю LLM для такой фигни еще страннее.
вчера нашлось решение: https://handy.computer
все просто, локально, шустро и без изысков. Делает то, что надо, и ничего лишнего. Качество разпознавания очень достойное (там parakeet v4 по умолчанию, можно на wisper переключить. Работает вроде на всем, хотя я лично только на маке пробовал.
  
  пару вариантов что мне дали были платные, с облачной моделью. Оба этих фактора сильно странные: платить за такое странно, а использовать внешнюю LLM для такой фигни еще страннее.
вчера нашлось решение: https://handy.computer
все просто, локально, шустро и без изысков. Делает то, что надо, и ничего лишнего. Качество разпознавания очень достойное (там parakeet v4 по умолчанию, можно на wisper переключить. Работает вроде на всем, хотя я лично только на маке пробовал.
Handy
  
  
  Handy is a cross platform, open-source, speech-to-text application for your computer
👍68❤25🔥18👎3🤩2
  