× Want to read this newsletter every week?! × 👋  Join FAUN
 
Golang Weekly Newsletter, Gopa. Curated Golang news, tutorials, tools and more!
🌐 View in your browser.   |  ✍️ Publish on FAUN   |  🦄 Become a sponsor
 
GoLang best tutorials, news and libraries from last week!
GoPa
 
 
⭐ Patrons
 
namecheap.com namecheap.com
 
Get a .COM for just $6.98
 
 
A mighty domain for a mini price. Get your next big domain at Namecheap !
 
 
goteleport.com goteleport.com
 
Teleport - the easiest, most secure way to access all your infrastructure.
 
 
Only the open-source Teleport Access Plane consolidates connectivity, authentication, authorization, and audit into a single platform to improve security and agility.

Download Teleport at goteleport.com
 
 

👉 Spread the word and help developers find you by promoting your projects on FAUN. Get in touch for more information.

 
⭐ Sponsors
 
nordvpn.sjv.io nordvpn.sjv.io
 
Best VPN Deal
 
 
NordVPN 68% Black Friday discount is here!

👉 Access anything online without restrictions
👉 Add extra layers of security to your digital life
👉 Get the best online protection tools along with your NordVPN service.
👉 Get 3 months FREE with the 2-year plan
 
 
👉 Spread the word and help developers find you by promoting your projects on FAUN. Get in touch for more information.
 
🔗 From the web
 
amazingcto.com amazingcto.com
 
Comparing plain SQL, ORM and GraphQL performance in Golang   ✅
 
 
Using GraphQL instead of SQL for server development saves lines of code

This tutorial evaluates how to use GraphQL to render server-side HTML templates. It compares a GraphQL solution to bare-bones SQL and to an ORM. The tutorial uses Golang with Graphjin for GraphQL, GORM for the ORM and PGX for the bare-bones SQL solution.
 
 
thenewstack.io thenewstack.io
 
How Golang Evolves without Breaking Programs
 
 
Speaking at Gophercon 2022, the principal engineer for the Go programming language vowed that the Go will never not be backward compatible.
 
 
xeiaso.net xeiaso.net
 
The carcinization of Go programs
 
 
Sometimes you just need to embed this one library written in another language into your program. This is a common thread amongst programmers time immemorial. This has always been a process fraught with peril, fear, torment, and lemon-scented moist towelettes for some reason.

Normally if you want to call a Rust function from Go, you have to go through some middleman like cgo. This works and is somewhat elegant for how utterly terrible a hack cgo is.

However, the main problem is that when you use cgo to link a Rust function into a Go program, you need to copy around the shared object that Rust generates. You can't check this shared object into your source tree (it needs to be unique per OS distribution per OS per CPU architecture, much like normal dynamically linked binaries are).
 
 
tickelton.gitlab.io tickelton.gitlab.io
 
Creating transparent animated GIFs with Go and gg (golang)
 
 
The image/gif package of Go's standard library makes it quite easy to create animated GIF images. All you need to do is create your individual frames as an array of *image.Paletted and use gif.EncodeAll() to encode them into an animated GIF.
 
 
eli.thegreenplace.net eli.thegreenplace.net
 
SSH port forwarding with Go
 
 
This post shows how to set up SSH port forwarding ("tunnels") - both local and remote - using the extended Go standard library.
 
 

 
⭐ Supporters
 
faun.dev faun.dev
 
Advertise with FAUN
 
 
Meet developers where they are, not where you want them to be. Fill out the form and download our mediakit .
 
 
internxt.com internxt.com
 
70% off on the 2TB Internxt Annual Plan
 
 
✅ Encrypted file storage and sharing
✅ Access your files from any device
✅ Get access to all our services

Discount available until December 5th.
 
 
faun.dev faun.dev
 
Join Humans Behind Code
 
 
👉 If you're a Developer or a maintainer of a widely adopted Open Source project and you think it's worth talking about it and your experiences in building it, join Humans Behind Code and get interviewed and published on faun.dev!
 
 
faun.dev faun.dev
 
Post Developers Jobs for Free on FAUN
 
 
FAUN's Job Board offers an exceptional platform to connect with skilled developers, DevOps professionals, and software engineers who are eager to contribute to the success of your organization.

Post your job openings on FAUN's Job Board today and watch your talent pool grow.

Get started now .
 
 
👉 Spread the word and help developers find you by promoting your projects on FAUN. Get in touch for more information.
 
📺 Quick Hits
 
 
GitUI 0.22 now supports submodules and commit message history.
 
 
dongle (a golang package for encoding/decoding and encryption/decryption) v0.1.4 is out.
 
 
🎦 Videos
 
www.youtube.com www.youtube.com
 
A consistent logging format for Go
 
 
In this session, Jonathan Amsterdam discusses the Go team's proposal for a new standard library package which could provide structured logging with levels.
 
 
www.youtube.com www.youtube.com
 
Important Tips On How To Write Idiomatic Code In Golang
 
 
In this Golang tutorial, you'll see important tips on how to write idiomatic code in Golang.
 
 

 
📚 Book picks
 
www.amazon.com www.amazon.com
 
100 Go Mistakes and How to Avoid Them: How to Avoid Them
 
 
100 Go Mistakes and How to Avoid Them shows you how to:
  • Dodge the most common mistakes made by Go developers
  • Structure and organize your Go application
  • Handle data and control structures efficiently
  • Deal with errors in an idiomatic manner
  • Improve your concurrency skills
  • Optimize your code
  • Make your application production-ready and improve testing quality
 
 
 
⚙️ Tools
 
github.com github.com
 
aretext/aretext
 
 
Minimalist text editor with vim-compatible key bindings.
 
 
github.com github.com
 
superfly/litefs
 
 
FUSE-based file system for replicating SQLite databases across a cluster of machines
 
 
github.com github.com
 
superseriousbusiness/gotosocial
 
 
Fast, fun, ActivityPub server, powered by Go.
 
 
github.com github.com
 
Acyony/gopher-pattern
 
 
Do you know Golang and want to do yourself a handmade Gopher? This is the right repo for you.
 
 
github.com github.com
 
microsoft/flink-on-azure
 
 
Examples of Flink on Azure. Apache Flink is a framework and adistributed processing engine for stateful computations over unbounded and bounded data streams. It's written in Java and Golang.
 
 
github.com github.com
 
xyproto/algernon
 
 
Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support
 
 
👉 Spread the word and help developers find and follow your Open Source project by promoting it on FAUN. Get in touch for more information.
 
😂 Meme of the week
 
 
 
 
❤️ Thanks for reading
 
 
👉 Never miss an issue
Join FAUN Developer Community and subscribe to our newsletter here.

👋 Keep in touch and follow us on social media:
- 💼LinkedIn
- 📝Medium
- 🐦Twitter
- 👥Facebook
- 📰Reddit
- 📸Instagram

👌 Was this newsletter helpful?
We'd really appreciate it if you could share it with your friends! You can also donate to help us keep this newsletter going.

ℹ️ Have a question or feedback?
Feel free to reach out to us at community@faun.dev. We'd love to hear from you!

🤩 Want to sponsor our newsletter?
Reach out to us at sponsors@faun.dev and we'll get back to you as soon as possible.