home.social

#golang — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #golang, aggregated by home.social.

  1. I'm sure many older programmers will grunt at seeing this mentioned, but as much as AI annoys me just as much as the next guy (because of AI slop, increased hardware costs and stuff like that)...

    ... I can't deny that it feels like it's easier than ever to start learning to program these days.

    You've got yourself a personal tutor who guides you through step by step and answers all of your questions you might be wondering.

    You'll never be completely stuck.

    Learning #Golang with Gemini atm

  2. After reading about Hyrum-proofing in encoding/json/v2 I made a tiny errors compatible module doing exactly that.

    codeberg.org/vyskocilm/herrors

    #golang

  3. 𝗚𝗶𝘁𝗲𝗮:

    #Git #Golang

    thewhale.cc/posts/gitea

    Gitea is a painless self-hosted Git service. Gitea is a community managed fork of Gogs, lightweight code hosting solution written in Go and published under the MIT license.

  4. 𝗚𝗶𝘁𝗲𝗮:

    #Git #Golang

    thewhale.cc/posts/gitea

    Gitea is a painless self-hosted Git service. Gitea is a community managed fork of Gogs, lightweight code hosting solution written in Go and published under the MIT license.

  5. 𝗚𝗶𝘁𝗲𝗮:

    #Git #Golang

    thewhale.cc/posts/gitea

    Gitea is a painless self-hosted Git service. Gitea is a community managed fork of Gogs, lightweight code hosting solution written in Go and published under the MIT license.

  6. 𝗚𝗶𝘁𝗲𝗮:

    #Git #Golang

    thewhale.cc/posts/gitea

    Gitea is a painless self-hosted Git service. Gitea is a community managed fork of Gogs, lightweight code hosting solution written in Go and published under the MIT license.

  7. #gocon #goconjp attendee lanyard is an unpopulated PCB you can solder parts on and light it up with some rainbow leds driven by #tinygo #golang

  8. On my way to FyneConf.

    Stopped at Antwerp Centraal train station. It is gorgeous.

  9. Документация, которая не врёт

    С документацией к API есть две крайности, и обе плохие: написанная руками врёт через полгода, сгенерированная целиком стирает всё осмысленное, что в неё написали. Я перестал выбирать между ними и поделил файл: структура принадлежит коду и синхронизируется без спроса, проза принадлежит человеку и не трогается никогда. Заодно оказалось, что документацию можно проверять как golden-файл, и что проверить нельзя прозу, а вот её отсутствие можно.

    habr.com/ru/articles/1080460/

    #openapi #swagger #go #golang #документация_api #кодогенерация #rest_api #golden_tests #рефлексия #gorib

  10. Документация, которая не врёт

    С документацией к API есть две крайности, и обе плохие: написанная руками врёт через полгода, сгенерированная целиком стирает всё осмысленное, что в неё написали. Я перестал выбирать между ними и поделил файл: структура принадлежит коду и синхронизируется без спроса, проза принадлежит человеку и не трогается никогда. Заодно оказалось, что документацию можно проверять как golden-файл, и что проверить нельзя прозу, а вот её отсутствие можно.

    habr.com/ru/articles/1080460/

    #openapi #swagger #go #golang #документация_api #кодогенерация #rest_api #golden_tests #рефлексия #gorib

  11. Документация, которая не врёт

    С документацией к API есть две крайности, и обе плохие: написанная руками врёт через полгода, сгенерированная целиком стирает всё осмысленное, что в неё написали. Я перестал выбирать между ними и поделил файл: структура принадлежит коду и синхронизируется без спроса, проза принадлежит человеку и не трогается никогда. Заодно оказалось, что документацию можно проверять как golden-файл, и что проверить нельзя прозу, а вот её отсутствие можно.

    habr.com/ru/articles/1080460/

    #openapi #swagger #go #golang #документация_api #кодогенерация #rest_api #golden_tests #рефлексия #gorib

  12. I mostly wrapped up my #rbac implementation today. After reading through the #owasp recommendations for building rbac I can proudly say that the implementation is about what, 10 LOC? You be the judge, I cant count. What you don't see is the map that is 500+ LOC that makes it all work.

    #homelab #selfhosted #golang

  13. 🐹 Go 1.27 a fost lansat oficial: Metode generice, JSON v2, un nou pachet UUID și alocare mai rapidă a memoriei!

    Echipa Go a lansat Go 1.27, aducând o actualizare majoră cu evoluții importante la nivel de limbaj, optimizări de runtime și pachete extrem de așteptate în biblioteca standard, menținând în același timp garanția de compatibilitate înapoi (backward compatibility).

    ✨ Noutățile principale din Go 1.27:

    🧬 Suport pentru metode generice (Generic Methods):
    • Declarațiile de metode pot include acum proprii parametri de tip (type parameters). Acest lucru permite atașarea funcționalităților generice direct pe namespace-ul unei structuri (de exemplu (*Rand) N[Int intType](Int) Int în math/rand/v2), fără a mai fi nevoie de funcții generice la nivel de pachet.

    ⚡ Pachetul encoding/json/v2 și unificare:
    • Noul pachet encoding/json/v2 aduce o procesare JSON semnificativ mai rapidă, opțiuni configurabile flexibile și reguli implicite mai stricte (cum ar fi respingerea UTF-8 invalid și a cheilor duplicate). Vechiul pachet encoding/json este acum susținut de engine-ul v2 pentru o performanță mai bună, păstrând totuși comportamentul v1.

    🚀 Alocare mai rapidă a memoriei mici:
    • Compilatorul generează acum apeluri specializate pentru obiecte mici (<80 octeți), reducând costul de alocare cu până la 30% și aducând o creștere generală de performanță de ~1% în aplicațiile cu încărcare masivă de memorie.

    📦 Noi pachete oficiale: uuid, crypto/mldsa și simd:
    • Adaugă suport nativ pentru generarea și parsarea de ID-uri prin pachetul uuid. Include criptografie post-cuantică cu crypto/mldsa (FIPS 204) și introduce pachetul experimental simd pentru operațiuni vectoriale hardware portabile.

    🛠️ Diagnosticare & Unelte:
    • Introduce profilarea automată a goroutine-urilor blocate permanent (goroutineleak) în runtime/pprof, iar go mod tidy unifică acum automat blocurile require din fișierele go.mod într-o structură curată cu două secțiuni (directe și indirecte).

    O lansare masivă ce simplifică scrierea codului și crește performanța aplicațiilor fără a rupe proiectele existente! 🚀

    #Golang #Go127 #GoLang #JSONv2 #Generics #Programming #OpenSource #Linuxiac #TechNews #FOSS

  14. 🚀🎉 Woohoo! Go 1.27 is out, folks! Time to celebrate those groundbreaking dropdown menu updates and thrilling case studies that only a true Go-lang enthusiast could love. 🤔💤 Guess it's time to skip to main content... or maybe just skip it altogether. 😜👋
    go.dev/blog/go1.27 #GoLang #Go127 #Update #DropdownMenus #CaseStudies #Celebration #HackerNews #ngated

  15. Выпекаем тесты на Go с Testo: делимся нашим open-source-фреймворком

    Привет, Хабр! Я Вадим, разработчик QA-платформы в Ozon. Стандартного testing в Go хватает юнит-тестам, но большим end-to-end-сценариям нужно больше: Allure-отчёты, плагины, Suite’ы, параметризация, параллельные запуски. Мы не нашли в Go-экосистеме инструмент, который закрывал бы всё это, не ломая привычный go test , — и написали свой: Testo. Сегодня на нём работает больше 60 тысяч тестов для 500+ сервисов Ozon, а теперь мы опубликовали его в open source . В статье покажу Testo и плагины в деле: как небольшой Go-тест шаг за шагом превращается в полноценный e2e-сценарий с отчётами, фикстурами, хуками и шагами, сохраняя привычный вид.

    habr.com/ru/companies/ozontech

    #go #open_source #qa #allure #golang #qa_automation #тестирование #автотесты #фреймворк #ozon_tech

  16. Today's the last day of our summer sale. Use code SUMMERTIME to save on all 3-day and 4-day tickets!

    View keynotes, workshops & full schedule: techbash.com/

    #webdev #dotnet #cloud #ai #devops #softskills #python #csharp #azure #vscode #golang #javascript #softwaredev #devcommunity

  17. @readeck Hello there, I did some work to build Readeck on NetBSD:

    • For testing, and standalone installations: platform specific Makefile, diff patch and README files, will submit a PR on Codeberg 🙂

    • For production : a package for the pksrc repository (WIP), NetBSD 10.1 amd64 build available here https://pepperm.int.eu.org/pkgsrc/packages/All/readeck-0.22.3.tgz (will be submitted to pkgsrc)

    Happy notes on Readeck 🙂

    #netbsd #pkgsrc #readeck #readitlater #golang

  18. Trying Readeck a read-it-later web app 📑
    Custom native build for NetBSD ✅

    It seems alright, Readeck is written in Golang, lately I prefer native binaries to PHP or NodeJS and alike.

    It works. Smartphone companion app and browser plug works too 👍

    Might package it or send it upstream if it proves reliable.

    https://readeck.org

    #readeck #golang #netbsd #readitlater

  19. NEW: sulpher

    sulpher v0.2.0 is out — a Cypher graph query language parser written in Go.

    This release completes openCypher 9 coverage and adds several Neo4j 5+ idioms:

    ✓ CALL {} subquery blocks (with variable scope clause and IN TRANSACTIONS)
    ✓ COUNT {} / COLLECT {} subquery expressions
    ✓ Label boolean expressions: (n:Person&Employee), (n:!Bot)
    ✓ LOAD CSV, pattern comprehensions, reduce(), quantified paths {n,m}
    ✓ Hex/octal literals, || GQL string concatenation
    ✓ 45-file corpus, 269 queries, 100% pass rate

    Compatibility: openCypher 9 100% · Neo4j 5 ~85% · Neo4j 25 ~65%

    github.com/ha1tch/sulpher

    #Go #Golang #Neo4j #Cypher #GraphDatabase #OpenSource #Parser #FOSS #Sulpher

  20. Yggdrasil как встраиваемая библиотека

    Yggdrasil - это экспериментальная оверлейная IPv6 mesh-сеть, уже неоднократно обсуждавшаяся на хабре. Под катом рассматриваем ее использование в качестве встраиваемой библиотеки в вашем go приложении.

    habr.com/ru/articles/1033236/

    #yggdrasil_network #golang #встраиваемый_модуль #децентрализованные_сети #userspace

  21. MD6 - The Failed SHA-3 Hash You Likely Never Heard Of

    While MD6 never made it into NIST as SHA-3, it has recently made its way into a few hash cracking contests.

    After a suggestion from Vavaldi from HashMob to add MD6 support to hashgen, I began working on a Pure Go MD6 port. Once that was complete, I added support for 5x common MD6 digest sizes to hashgen.

    MD6 - Pure Go port
    github.com/cyclone-github/md6

    hashgen v1.3.1 - MD6 support
    github.com/cyclone-github/hash

    #md6 #nist #sha3 #hashcracking #hashgen #cmiyc #ctc #golang #port

  22. After a ton of compiling, the v2 release is official. Containers all work, the client works, and now I'm gonna relax and watch some YouTube videos. Releases are available on the website though I still need to update the docs with the new "installation" process (much simplified).

    Releases: git.jamesthebard.net/jweatherl

    #sisyphus #encoding #programming #golang

  23. The long test is looking good for the `av1an`, `mkvmerge`, and `cleanup` modules, the Golang client is doing exactly what its supposed to which is a welcome change from yesterday. I need to do long tests on the `ffmpeg` and `handbrake` modules next, but I'll handle those tomorrow.

    After that, I'll update documentation, release the `2.0.0` client, and deprecate the old client.

    #sisyphus #av1an #ffmpeg #matroska #encoding #programming #golang

  24. The long test is looking good for the `av1an`, `mkvmerge`, and `cleanup` modules, the Golang client is doing exactly what its supposed to which is a welcome change from yesterday. I need to do long tests on the `ffmpeg` and `handbrake` modules next, but I'll handle those tomorrow.

    After that, I'll update documentation, release the `2.0.0` client, and deprecate the old client.

    #sisyphus #av1an #ffmpeg #matroska #encoding #programming #golang

  25. The long test is looking good for the `av1an`, `mkvmerge`, and `cleanup` modules, the Golang client is doing exactly what its supposed to which is a welcome change from yesterday. I need to do long tests on the `ffmpeg` and `handbrake` modules next, but I'll handle those tomorrow.

    After that, I'll update documentation, release the `2.0.0` client, and deprecate the old client.

    #sisyphus #av1an #ffmpeg #matroska #encoding #programming #golang

  26. The long test is looking good for the `av1an`, `mkvmerge`, and `cleanup` modules, the Golang client is doing exactly what its supposed to which is a welcome change from yesterday. I need to do long tests on the `ffmpeg` and `handbrake` modules next, but I'll handle those tomorrow.

    After that, I'll update documentation, release the `2.0.0` client, and deprecate the old client.

    #sisyphus #av1an #ffmpeg #matroska #encoding #programming #golang

  27. The long test is looking good for the `av1an`, `mkvmerge`, and `cleanup` modules, the Golang client is doing exactly what its supposed to which is a welcome change from yesterday. I need to do long tests on the `ffmpeg` and `handbrake` modules next, but I'll handle those tomorrow.

    After that, I'll update documentation, release the `2.0.0` client, and deprecate the old client.

    #sisyphus #av1an #ffmpeg #matroska #encoding #programming #golang

  28. Lots of progress and a lots of pain. However, all of the Sisyphus modules have been implemented and I'm currently running a test across the `2.0.0b2` version. The most painful thing I fought was literally tailing a log file. Got lazy and brought in `hpcloud/tail` because it did what I needed it to, but what it _didn't_ do was work well for my application. After a day or two of battling it, I removed it and went with `bufio.NewReader`and a nice `context.CloseWith` setup and now it works every time.

    Also added a `PostRun()` call to each module just to have a place to do basic module cleanup if needed.

    Learned a ton on this one so far and while annoying at times: it's been pretty fun.

    Repo: git.jamesthebard.net/jweatherl

    #golang #sisyphus #encoding #programming