Go Binaries is an on-demand binary server, allowing non-Go users to quickly install tools written in Go without installing
goitself, and removing the burden of cross-compiling and uploading dozens of binaries for every command-line you write.
Johnny and Jon are joined by Denise to talk about her role at GitHub and what the community and safety team does to help open source project creators and contributors, GoCon Canada and the role of organizing a conference, and more.
This repository contains the examples, exercises, and quizzes for my Go course: Learn Go Programming: Complete Bootcamp Course. However, even without the course, using this repository, you can learn a great deal of information about Go. Inside, there are thousands of examples, exercises and quizzes.
You’re welcome to contribute your own exercises, quizzes and wiki.
Distributed systems are hard. Building a distributed messaging system for these systems to communicate is even harder. In this episode, we unpack some of the challenges of building distributed messaging systems (like NATS), including how Go makes that easy and/or hard as applicable.
Is this more proof of Cunningham’s law, which says, “The best way to get the right answer on the Internet is not to ask a question; it’s to post the wrong answer.”
Update: as some keen HN commenters have pointed out, it looks like the rust program is not actually equivalent to the go program. The go program parses the string once, while the rust program parses it repeatedly inside every loop. It’s quite late in Sydney as I write this so I’m not up for a fix right now, but this post is probably Fake News.
Put on your dark hoodie, turn all the lights off, and join the author of Black Hat Go as we explore the darker side of Go.
Caddy has been around for a while, so this is a major release for the project. Hard to believe this is true today (emphasis added)
Still the only web server to use TLS automatically and by default.
Caddy 2’s new architecture was inspired by 5 years of experience with Caddy 1 and took 14 months to design. There’s a lot here, so we probably need to get the team on The Changelog or Go Time to discuss in depth.
Mat, Johnny and Jon are joined by Elias, creator of Gio, to discuss GUIs. Specifically, we explore the pros and cons of immediate vs retained mode and explore some examples of each, as well how some frameworks like React are attempting to bring the benefits of immediate mode to a retained mode world (the DOM).
What are you most excited about for this upcoming release of Go?
Good news! For 2019 there were 10,975 responses to the survey — that’s almost twice as many as last year. Here are few major findings from the results, but of course, you should dig in because they make it really easy to scan and grok the details.
- The demographics of our respondents are similar to Stack Overflow’s survey respondents, which increases our confidence that these results are representative of the larger Go developer audience.
- A majority of respondents use Go every day, and this number has been trending up each year.
- Respondents are using Go to solve similar problems, particularly building API/RPC services and CLIs, regardless of the size of organization they work at.
- Most teams try to update to the latest Go release quickly; when third-party providers are late to support the current Go release, this creates an adoption blocker for developers.
- Almost everyone in the Go ecosystem is now using modules, but some confusion around package management remains.
- VS Code and GoLand have continued to see increased use; they’re now preferred by 3 out of 4 respondents.
The gang discusses WebRTC with Sean DuBois, creator of the Pion project and author of a pure Go WebRTC implementation. What exactly is WebRTC? Why is it so popular for video chatting? How does it work under the hood, and how does it compare with other real-time communication options?
For folks that do not have experience with lower level languages, understanding bytes and how to work with them can be challenging.
That’s why I wrote this article, taking a simple idea such as a Slack chat, turning the interactions (join/leave channel, send message to channel or user, etc) into a TCP protocol. Then I show the reader how they can implement the protocol in Go, by building a concurrent TCP server and learn more about bytes and working with bytes in the process.
I love it when people take things we do understand (like basic Slack interactions) and use them to teach us something we don’t understand (how to build a TCP protocol).
What is a microservice, and what is a monolith? What differentiates them? When is a good time for your team to start considering the transition from monolith to microservice? And does using microservices mean you can’t use a monorepo?
3muxis a terminal multiplexer with out-of-the-box support for search, mouse-controlled scrollback, and i3-like keybindings.
Sign me up ✋
What does it take to organize a community event? How do you ensure it is diverse? What does diversity even mean? Tune in to learn directly from organizers of some of the most diverse Go meetups (Gophercon EU and Go Bridge).
Rclone acts like its source of influence, rsync, but instead syncs files and directories to many cloud storage providers. It runs on all the Linux/macOS/Windows flavors. You can even install with Homebrew on macOS.
brew install rclone
Based on what I read in the HN comments there are tons of users/uses for Rclone.
Bryan Liles joins Johnny and Mat for a wide-ranging discussion that starts with the question: what even is enterprise Go?
If you use (and abuse) Gmail’s filters in order to wrangle your inbox, this tool might help you keep your sanity as you maintain them over time.
This utility helps you generate and maintain Gmail filters in a declarative way. It has a Jsonnet configuration file that aims to be simpler to write and maintain than using the Gmail web interface, to categorize, label, archive and manage your inbox automatically.
Working from home can be challenging, especially amid school closings and everything else caused by COVID-19. In this episode panelists Jon, Mat, Carmen, and Mark share advice and experiences they have accumulated over many years of working from home. They cover separating your work space from your personal space, signaling to your family that you are busy, ways to keep track of the time, and suggestions for getting some exercise in when you can.
In this post Carmen Andoh, Russ Cox, and Steve Francia share important notes about how the pandemic is affecting the Go community, what they’re doing to help, what you can do to help, and upcoming plans for Go itself.
Go always comes second to more basic concerns like personal and family health and safety. Around the world, the past couple months have been terrible, and we are still at the start of this awful pandemic. There are days when it seems like working on anything related to Go should be considered a serious priority inversion.
But after we’ve done all we can to prepare ourselves and our families for whatever is coming, getting back to some approximation of a familiar routine and normal work is a helpful coping mechanism. In that spirit, we intend to keep working on Go and trying to help the Go community as much as we can.
Dave Cheney talks to us about the Zen of Go (ten engineering values for writing simple, readable, maintainable Go code). What makes code good in Go? What guiding principles should we bear in mind when writing Go?
This repository contains a single-file implementation of YouTube video downloader written in Go. It does not require any third-party packages, only built-in packages from the standard library. The code is compact and easily-readable.
Nowhere near the features of youtube-dl (which is like a swiss army knife for downloading videos off the internet), but cool nonetheless. You can read the entirety of GoTube’s source code in a single sitting, which makes it great for learning and tinkering.
Johnny and John welcome Thorsten Ball back to the show. This time we’re talking power tools! Editors, operating systems, containers, cloud providers, databases, and more. You name it, we probably talk about.
tickgitis a tool for software developers to do project management within their codebase. It searches code comments for markers indicating areas and files worth returning to (
FIXME, etc). It can be used to proactively identify areas of technical debt, or handle day-to-day to-do items and checklists.
Free for public repos and open source.
In this episode Jaana and Mat are joined by Daniel and Miriah to dive into AI in Go. Why has python historically had a bigger foothold in the AI scene? Is machine learning in Go growing? What libraries and tools are out there for someone looking to get started with AI? And where do you start if you don’t have enough data for your own models?