полезная библиотека для go, я даже сам такую хотел написать пока эта не попалась https://github.com/bitfield/script
набор всего на свете что может понадобится для того, чтоб писать программы для тех дел, что нормальные люди используют питон с plumbum (или что там теперь модно).
Без подобной приблуды писать подобные glue штуки конечно можно, но с ней гораздо удобнее и короче
  
  набор всего на свете что может понадобится для того, чтоб писать программы для тех дел, что нормальные люди используют питон с plumbum (или что там теперь модно).
Без подобной приблуды писать подобные glue штуки конечно можно, но с ней гораздо удобнее и короче
GitHub
  
  GitHub - bitfield/script: Making it easy to write shell-like scripts in Go
  Making it easy to write shell-like scripts in Go. Contribute to bitfield/script development by creating an account on GitHub.
👍41🔥6❤1🤯1😢1
  если вы наконец пришли к выводу что systemd победил всех, но все еще не ощущаете его настолько знакомо и разношено как ощущали его предшественников, то https://systemd-by-example.com может быть полезным. Там не только примеры но и репл для их запуска.
в ссылке что идет на блог автора, более развернутое объяснение куда там коней запрягать
в ссылке что идет на блог автора, более развернутое объяснение куда там коней запрягать
👍64🔥23👎1
  Невероятное красивое решение, в буквальном смысле: тарпит и ханипот для ssh, умеющий экспортировать красивые данные для графиков в графане. Теперь все те боты, которые ходят по сети и пытаются попасть на ваш ssh сервер будут тормозить, а вы их будете автоматом банить, берите, я у себя проверил https://github.com/shizunge/endlessh-go?tab=readme-ov-file
  
  GitHub
  
  GitHub - shizunge/endlessh-go: A golang implementation of endlessh (SSH tarpit) exporting Prometheus metrics, visualized by a Grafana…
  A golang implementation of endlessh (SSH tarpit) exporting Prometheus metrics, visualized by a Grafana dashboard. - shizunge/endlessh-go
👍52❤9👎1
  Опробовал, теперь рекомендую вам. Если вы вдруг такой же фанат идеи webassemby на сервере как и я - вот вам чудесное решение: SpinKube. В рамках любого кубернетес кластера появляется рантайм+оператор для удобного запуска wasm приложений. Ну и если вы еще не пробовали spin (это такой фреймворк и система запуска приложений на вебассембли) - очень рекомендую. https://www.spinkube.dev/
🤔21👍10🔥4❤2🤯1
  У нас тут с Умпутуном сообщения от лица канала, но сразу будет понятно кто написал эту новость по трем признакам: Cloudflare* запустили в бету поддержку своих воркеров на python*. Все это за счет компиляции интерпретатора питона в WebAssembly* через Pyodide https://blog.cloudflare.com/python-workers
  
  The Cloudflare Blog
  
  Bringing Python to Workers using Pyodide and WebAssembly
  Introducing Cloudflare Workers in Python, now in open beta! We've revamped our systems to support Python, from the runtime to deployment. Learn about Python Worker's lifecycle, dynamic linking, and memory snapshots in this post
😁75👍11😱3🤯1
  После того как меня подсадили на Raycast, я хотел себе устроить TLDR-сервис для Safari. То есть, оно берет текст той страницы, что я смотрю, отправляет в GPT API и показывает краткое содержание.
В Raycast нечто подобное есть из коробки, если вы подписаны на платную версию. Но, во-первых, оно только для Chrome (пока), а во-вторых, только для GPT-3.5, если не платите за продвинутый AI им отдельно.
В результате получился такой скрипт https://gist.github.com/umputun/151063e94a55fcf0ff67ae4c75ee871f
Там всё совсем просто, но на практике вышла весьма полезная штуковина. А если повесить её на хоткей, то вообще огонь.
В Raycast нечто подобное есть из коробки, если вы подписаны на платную версию. Но, во-первых, оно только для Chrome (пока), а во-вторых, только для GPT-3.5, если не платите за продвинутый AI им отдельно.
В результате получился такой скрипт https://gist.github.com/umputun/151063e94a55fcf0ff67ae4c75ee871f
Там всё совсем просто, но на практике вышла весьма полезная штуковина. А если повесить её на хоткей, то вообще огонь.
❤70👍26🔥15😁4😱1
  Приятная новость - прелестный плагин для IDEA (и прочих продуктов JB) CodeGPT https://plugins.jetbrains.com/plugin/21056-codegpt обновился, и теперь в нем есть возможность автодополнения в стиле Copilot.
Оно реально работает, и даже слишком работает. Включенный Copilot его вообще не волнует, и два предложения на дополнение, показанные в одной строке, могут свести с ума. Следует одно из них отключить.
Надо сказать, что в ситуации, когда есть подсказка от IDEA и дополнение от CodeGPT, оно работает как-то не совсем так, как Copilot, видимо, пока не допилили.
Но вообще, это крутая штука. Теперь можно иметь "Copilot", который, например, работает с Claude, или еще круче - с локально поднятой моделью.
  
  Оно реально работает, и даже слишком работает. Включенный Copilot его вообще не волнует, и два предложения на дополнение, показанные в одной строке, могут свести с ума. Следует одно из них отключить.
Надо сказать, что в ситуации, когда есть подсказка от IDEA и дополнение от CodeGPT, оно работает как-то не совсем так, как Copilot, видимо, пока не допилили.
Но вообще, это крутая штука. Теперь можно иметь "Copilot", который, например, работает с Claude, или еще круче - с локально поднятой моделью.
JetBrains Marketplace
  
  ProxyAI - IntelliJ IDEs Plugin | Marketplace
  ProxyAI is an AI-powered code assistant designed to help you with various programming activities. It's a powerful alternative to Cursor, Windsurf, GitHub Copilot, AI...
👍67❤2🤯2😁1
  Из серии "хозяйке на заметку": сегодня случайно нашел, что GoLand умеет связывать template с типами приложения. Это не делается само, нужно добавить волшебный комментарий 
https://www.jetbrains.com/help/go/integration-with-go-templates.html
  
  /*gotype blah*/. Не уверен, является ли это чем-то новым, либо всегда было, и я, как последний лох, не знал об этом.https://www.jetbrains.com/help/go/integration-with-go-templates.html
GoLand Help
  
  Go templates | GoLand
  
👍18❤4😁3👎1
  Если вы как и я иногда живете на win11 - есть святой человек, который сделал скрипты, удаляющие из образа для установки всё ненужное барахло (вроде GetStarted и Edge). Получается отличный мини-дистрибутив, а все что надо можно установить из стора или winget’ом. https://github.com/ntdevlabs/tiny11builder
  
  GitHub
  
  GitHub - ntdevlabs/tiny11builder: Scripts to build a trimmed-down Windows 11 image.
  Scripts to build a trimmed-down Windows 11 image. Contribute to ntdevlabs/tiny11builder development by creating an account on GitHub.
❤55👍25👎3🥰1😱1
  Эта фиговина стиля “я не знал что такое бывает, не очень понимаю зачем оно мне, но ощущаю как нечто потенциально полезное”. 
https://github.com/1buran/rHttp
Автор называет это “REPL for HTTP”. Я не уверен, насколько оно тянет на repl, но по сути это интерактивный построитель http запросов и визуалайзер ответов. Навигация у этой штуке немного неожиданная, это да. Но что-то в этом есть, хотя я пока не придумал зачем оно может понадобиться. Если у вас есть идеи то поделитесь в коментах.
  
  https://github.com/1buran/rHttp
Автор называет это “REPL for HTTP”. Я не уверен, насколько оно тянет на repl, но по сути это интерактивный построитель http запросов и визуалайзер ответов. Навигация у этой штуке немного неожиданная, это да. Но что-то в этом есть, хотя я пока не придумал зачем оно может понадобиться. Если у вас есть идеи то поделитесь в коментах.
GitHub
  
  GitHub - 1buran/rHttp: REPL for HTTP
  REPL for HTTP. Contribute to 1buran/rHttp development by creating an account on GitHub.
👍20🤔7❤1
  У IBM появился новый опенсорс продукт - Terraform(c) by IBM(r)
https://www.reuters.com/markets/deals/ibm-nearing-buyout-deal-hashicorp-wsj-reports-2024-04-23/
  
  https://www.reuters.com/markets/deals/ibm-nearing-buyout-deal-hashicorp-wsj-reports-2024-04-23/
Reuters
  
  IBM nearing deal for cloud software provider HashiCorp, source says
  International Business Machines is nearing a deal to buy cloud software provider HashiCorp , according to a person familiar with the matter.
😱18🤔10❤1😢1
  Автор громко называет это "the hidden gem of 1.22”, но на самом деле это довольно мелкая полезность. Я, краем глаза, обратил на этот 
А вообще, это весьма полезная мелочь. Он приводит 2 основных использования:
-
- второе менее очевидно, но тоже весьма полезно - для упрощения цепочек сортировки по нескольким значениям.
https://blog.carlana.net/post/2024/golang-cmp-or-uses-and-history/
UPD: важно иметь ввиду, что эта функция “cannot do short-circuit evaluation”
  
  cmp.Or внимание, когда читал “что нового в 1.22”, но прошел мимо. И да, это про Go, если вдруг вы сами еще не догадались.А вообще, это весьма полезная мелочь. Он приводит 2 основных использования:
-
name := cmp.Or(jwt.Username(), "Almanack”)  типа orElse для того, чтобы взять default, если первый (первые) параметры zero для этого типа.- второе менее очевидно, но тоже весьма полезно - для упрощения цепочек сортировки по нескольким значениям.
https://blog.carlana.net/post/2024/golang-cmp-or-uses-and-history/
UPD: важно иметь ввиду, что эта функция “cannot do short-circuit evaluation”
blog.carlana.net
  
  What’s New in Go 1.22: cmp.Or
  The uses and history of a new function in the cmp package of Go 1.22.
👍30❤4🤔1🤯1😱1
  Настали последние дни: гугл уволил (простите, сократил) всю свою команду разработки Python. Понятное дело, что в гугле очень мало кода на питоне (говорят, что примерно 20% кодовой базы, и эта цифра стабильна, не падает но и не растет). И понятное дело, что для того чтобы пользоваться питоном не надо держать core team разработчиков питона на зарплате. Но сигнальчик такой себе, причем не для питона, а для гугла.
https://social.coop/@Yhg1s/112332127058328855
  
  https://social.coop/@Yhg1s/112332127058328855
social.coop
  
  Thomas Wouters (@[email protected])
  It's a tough day when everyone you work with directly, including your manager, is laid off -- excuse me, "had their roles reduced", and you're asked to onboard their replacements, people told to take those very same roles just in a different country who are…
🤯43👍10🤔6😁5😱4❤1👎1
  мелкая полезность для пользователей raycast https://github.com/marekbrze/categorized-raycast-extensions
тут полный список всех extensions с короткики пояснениями. Есть и секция последних за неделю. Ничего особенного, но удобно
  
  тут полный список всех extensions с короткики пояснениями. Есть и секция последних за неделю. Ничего особенного, но удобно
GitHub
  
  GitHub - marekbrze/categorized-raycast-extensions: Easily find Raycast Extensions!🚀
  Easily find Raycast Extensions!🚀. Contribute to marekbrze/categorized-raycast-extensions development by creating an account on GitHub.
👍40🔥7❤1
  Ежемесячная запись в Daily Geek News - очень любопытная идея, использовать языковые модели внутри lsp-сервера для текстовых редакторов. LSP сейчас поддерживает всё, что касается программирования, так что автоматом вы получаете интеграцию во всё что движется. Проект называется LSP-AI https://github.com/SilasMarvin/lsp-ai/
  
  GitHub
  
  GitHub - SilasMarvin/lsp-ai: LSP-AI is an open-source language server that serves as a backend for AI-powered functionality, designed…
  LSP-AI is an open-source language server that serves as a backend for AI-powered functionality, designed to assist and empower software engineers, not replace them. - SilasMarvin/lsp-ai
👍45❤1
  а вот вам гугуловая альтернатива для tmux – https://github.com/shell-pool/shpool
строго говоря, это не совсем альтернатива, но скорее только способ создать сессию и потом к ней подключиться. При этом, весь терминал становится этой сессией. Больше всего это похоже на запуск с nohup с возможностью туда вернуться.
Из преимуществ - штука простая и она не добавляет всех красот TUI, но зато никаких проблем с нативным scrollback или copy-paste.
и да, написано на расте 😉
  
  строго говоря, это не совсем альтернатива, но скорее только способ создать сессию и потом к ней подключиться. При этом, весь терминал становится этой сессией. Больше всего это похоже на запуск с nohup с возможностью туда вернуться.
Из преимуществ - штука простая и она не добавляет всех красот TUI, но зато никаких проблем с нативным scrollback или copy-paste.
и да, написано на расте 😉
GitHub
  
  GitHub - shell-pool/shpool: Think tmux, then aim... lower
  Think tmux, then aim... lower. Contribute to shell-pool/shpool development by creating an account on GitHub.
👍27😁6🔥1🤩1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Очень удобная консольная утилита, позволяющая использовать разные языковые модели. В этот раз действительно удобно, без сарказма. https://github.com/charmbracelet/mods
🔥29👍13❤4👎3
  Я тут нашел прекрасную супер-маленькую штуку - GUI текстовый редактор, который решает только одну задачу, писать коммит-мессиджи. Но выглядит красиво и просто, есть темы, приложение нативное (для мака), рекомендую https://github.com/zorgiepoo/Komet
👎54👍10😁8🤯6🤔2
  неожиданно полезная штука - https://plugins.jetbrains.com/plugin/24753-combine-and-copy-files
этот плагин для продуктов JB (IDEA и все прочие), добавляет простую вещь - возмжность выделить несколько файлов прямо в ide и все сразу добавить в clipboard.
На резонный вопрос “а зачем?”, ответ простой - чтоб потом результат можно было вставить в ChatGTP и прочие одним нажатием. Реально, мелочь, но очень полезная однако.
  
  этот плагин для продуктов JB (IDEA и все прочие), добавляет простую вещь - возмжность выделить несколько файлов прямо в ide и все сразу добавить в clipboard.
На резонный вопрос “а зачем?”, ответ простой - чтоб потом результат можно было вставить в ChatGTP и прочие одним нажатием. Реально, мелочь, но очень полезная однако.
JetBrains Marketplace
  
  Combine and Copy Files to Clipboard For AI and LLM - IntelliJ IDEs Plugin | Marketplace
  Effortlessly merge and copy the content of multiple files into your clipboard, organized by their paths and relative filenames. Perfect for delivering crystal-clear...
👍44🤯7🥰3👎1
  Cloudflare популярна среди гиков, несмотря на страшные истории, о которых мы рассказывали в подкасте. Вот простой скрипт, который реализует простой DDNS (они это называют NoIP Alternative). То есть, для машины с динамическим IP он обновляет DNS-запись на Cloudflare через его API.
Сделать такой скрипт самому, конечно, несложно, но здесь уже есть готовый вариант. Просто заверните его в контейнер и запустите на своем сервере/syno, и все будет готово. Хотя на syno уже есть свой DDNS, но здесь зато можно использовать любой домен.
https://github.com/devrim/cloudflare-noip
  
  Сделать такой скрипт самому, конечно, несложно, но здесь уже есть готовый вариант. Просто заверните его в контейнер и запустите на своем сервере/syno, и все будет готово. Хотя на syno уже есть свой DDNS, но здесь зато можно использовать любой домен.
https://github.com/devrim/cloudflare-noip
GitHub
  
  GitHub - devrim/cloudflare-noip: free alternative to paid dynamic DNS services like NoIP.com
  free alternative to paid dynamic DNS services like NoIP.com - devrim/cloudflare-noip
👍33❤2😁2🤔1
  