The bits of Go we avoid (and why)
The panel discuss the parts of Go they never use. Do they avoid them because of pain in the past? Were they overused? Did they always end up getting refactoring out? Is there a preferred alternative?
The panel discuss the parts of Go they never use. Do they avoid them because of pain in the past? Were they overused? Did they always end up getting refactoring out? Is there a preferred alternative?
A multi-tenant HTTP reverse tunnel solution through remote port forwarding from the SSH protocol.
This is intended for small teams that need to expose the local development environment to the public internet, and you need to bring your own domain name and SSO provider.
It gives stable subdomain for every user, and gated by your SSO through OIDC protocol.
Think this as a bare-bone alternative to the ngrokās $65/user/month enterprise tier. Try to put this behind a production system will blow up your SLA.
For individuals and production systems, just buy ngrok, it is still my favorite.
In a world where most documentation sucks, large language models write better than humans, and people wonāt be bothered to type full sentences with actual punctuation.
Two men⦠against all odds⦠join an award-worthy podcast⦠hosted by a coin-operated, singing code monkey (?)⦠to convince the developer world theyāre doing it ALL wrong.
Grab your code-generator and heat up that cold cup of coffee on your desk. Because this episode of Go Time is about to blow your docs off!
Service Weaver is a programming framework for writing, deploying, and managing distributed applications in Go. With Service Weaver, you write your application like it is a traditional, single-process Go executable that runs on your local machine. Then, you deploy it to the Cloud, and the framework breaks it down into a set of connected microservices and integrates it with the cloud provider (e.g., monitoring, tracing, logging).
Ben Hoyt shares his experience switching two of his side projects from on an EC2 instance to Fly.io:
It took me about an hour to figure out the basics of Fly.io and move the simpler project, and a couple of evenings to move the more complex one. Fly.io handles the annoying reverse proxy and SSL stuff, deployment is as simple as
fly deploy
, and thereās a nice dashboard on Fly.io to show me whatās going onā¦Iām only a few weeks into using Fly.io to host my side projects, but Iām very happy with their product so far. I was quite happy to delete the 500 lines of Ansible scripts, systemd unit files, and Caddy config files.
It also made me smile to finally stop the EC2 instance and bump my AWS bill down from $9 per month to about 10 cents per month (I still use S3 for user-uploaded images and for backups). I have nothing against EC2 and would use it again for certain things, but for small web applications, Fly.io seems like a great fit.
Our āwhatās new in Goā correspondent Carl Johnson joins Mat & Johnny to discuss⦠whatās new in Go 1.20, of course! Whatād you expect, an episode about Rust?! Thatās preposterousā¦
This week we invited our friend Mat Ryer to join us for some good conversation about some Git tooling thatās been on our radar. You may know Mat from Go Time and also Grafanaās Big Tent, which we help to produce. We speculate, we discuss, we laugh, and Mat even breaks into song a few times. Itās good fun.
A quick look at the history of building web apps, followed by a discussion of htmx and how it compares to both modern and traditional ways of building.
Filippo Valsorda:
Last May I left my job on the Go team at Google to experiment with more sustainable paths for open-source maintainers. I held on to my various maintainer hats (Go cryptography, transparency tooling, age, mkcert, yubikey-agentā¦), iterated on the model since September, and Iām happy to report that I am now a full-time independent open-source maintainer.
People like Filippo are still (unfortunately) the exception, not the rule. BUT! Iāll celebrate every time an open source maintainer makes it to the promised land, hopefully paving the way for others to follow after.
Iām sharing details about my progress to hopefully popularize the model, and eventually help other maintainers adopt it, although Iām not quite ready to recommend anyone else drop everything to try this just yet.
Itās āCall For Papersā (CFP) season in Go land, so we gathered some seriously experienced conference organizers to help YOUR submission be the best ever.
Ole Bulbuk & Sandor Szücs join Natalie to discuss the ins & outs of long-term code maintenance. What does it take to maintain a codebase for a decade or more? How do you plan for that? What about inheriting a codebase for the long term? Oh, and (how) can AI help?
I love a good āI built a thing and here is how I built that thingā post, especially when itās penned by someone like Chris whoās sure to keep you entertained along the way.
Wouldnāt it be neat to have aggregated data (for a website, daily email, push alert, etc) of kids events in our surrounding area so we know about them right away?
ā My wife, possibly salty we missed out on Bluey Live tickets in Portland
Tech lawyer Luis Villa returns to Go Time to school us once again on the intellectual property concerns of software creators in this crazy day we live in. This time around, weāre focusing on the implications of Large Language Models, code generation, and crazy stuff like that.
Paul Smith (from āObamaās Trauma Teamā) tells us the tale of how Go played a big role in the rescuing and rebuilding of the HealthCare.gov website. Along the way we learn what the original team did wrong, how the rescue team kept it afloat during huge traffic spikes, and what theyāve done since to rebuild it to serve the peopleās needs.
Mat and the gang ring in the new year by gathering around a make believe fireplace and discussing what theyāre excited about in 2023, their new years resolutions & a little bit of Go talk, too. But only a little.
Mat invites BartÅomiej PÅotka, Kemal Akkoyun & Christian Simon to discuss how to make Go code more efficient through modern observability practices.
Ivan Kwiatkowski joins Natalie once again for a follow-up episode to Hacking with Go: Part 2. This time weāll get Ivanās perspective on the way Goās security features are designed and used, from the user/hacker perspective. And of course we will also talk about how AI fits into all thisā¦
Distributed, offline-first bug tracker embedded in git, with bridges
I love the idea of having your bug repo right there inside your code repo. The terminal UI is a nice touch!
That is the question. Whether ātis nobler in the mind to suffer the slings and arrows of outrageous test coverage, or to take arms against a sea of bugsā¦
Robert Laszczak does a good job defending/explaining many gophersā position on frameworks:
Go frameworks exist, but none provides a feature set like frameworks from other languages. This wonāt change soon.
You may think that itās because the Go ecosystem is younger. But there is a more important factor. Go is built around the Unix Philosophyā¦
Nishant Roy, Engineering Manager at Pinterest Ads, joins Johnny & Jon to detail how theyāve managed to continue shipping quality software from startup through hypergrowth all the way to IPO. Prepare to learn a lot about Pinterestās integration and deployment pipeline, observability stack, Go-based services and more.
Why another file manager? I wanted something simple and minimalistic. Something to help me with faster navigation in the filesystem; a
cd
andls
replacement. So I build āllamaā. It allows for quick navigation with fuzzy searching.cd
integration is quite simple. And you can openvim
right from the llama. Thatās it. As simple and dumb as a llama.
On a previous episode of Go Time we discussed binary bloat, and how the Go protocol buffer implementation is a big offender. In this episode we dive into the history of protocol buffers and gRPC, then we discuss how the protocol and the implementation can vary and lead to things like binary bloat.
It stores your shell history in context (what directory you ran the command in, whether it succeeded or failed, how long it took, etc). This is all stored locally and end-to-end encrypted for syncing to to all your other computers. All of this is easily queryable via the
hishtory
CLI. This means from your laptop, you can easily find that complex bash pipeline you wrote on your server, and see the context in which you ran it.
Russ Cox, for the Go team:
Today we celebrate the thirteenth birthday of the Go open source release. The Gopher is a teenager!
Itās been an eventful year for Go. The most significant event was the release of Go 1.18 in March, which brought many improvements but most notably Go workspaces, fuzzing, and generics.
He goes on to describe many of the other notable features and events of the past year and closes with a glance into Goās future:
In Goās 14th year, weāll keep working to make Go the best environment for software engineering at scale. We plan to focus particularly on supply chain security, improved compatibility, and structured logging, all of which have been linked already in this post. And there will be plenty of other improvements as well, including profile-guided optimization.