Carlos Becker
Thoughts, rants, and discoveries on software development and related stuff.
GoSoftware / engineering practiceEssays / personalEngineering blogs
- Posts
- 209 from 1 Jan 2001 to 15 Aug 2026
- Posting
- monthly (19 in the last year)
- Kind
- personal blog
- Feed
- https://carlosbecker.com/index.xml
2026 16
- Old man goes to a Jiu Jitsu tournament
- GoReleaser v2.5
- Still doing less, for her
- GoReleaser announcements are moving
- AI didn't kill portfolios
- Unsubscribe from a GitHub organization
- Hello, GitHub
- Mapping Brazilian Cell Towers
- Keeping sponsor lists up-to-date
- Goodbye, Charm
- You'll never see my child's face
- How GoReleaser strengthened security through GitHub's Secure Open Source Fund
- Taste
- Doing less, for her
- Ultimate Go Software Design LIVE: Ep.63
- LIVE from GitHub Universe: Inside the GitHub Secure Open Source Fund
2025 14
- OpenSource Fridays Brasil
- Signing Git commits and tags with SSH
- Pinning GitHub Actions
- Escovando Bits #63 - Side projects que pagam as contas: guia realista
- Building GoReleaser: from shell script to paid product
- Codecon Summit 2025 - Building GoReleaser
- Moving on from Nix
- Gophercon Latam 2025 - Serving TUIs over SSH using Go ✨
- Fallthrough #17 - Maintainers, Monetization, and Making The Time
- Custom YAML marshal/unmarshal with Go
- Live chat: Elton Minetto and Carlos Becker
- Cup o' Go #100 - The strength of Go in the job market 📈, and some stress relief with Carlos Becker 🚀
- svu v3
- Using GoReleaser and GitHub Actions to release Rust and Zig projects
2024 14
- Testing only changed Go packages
- Automatically merge dependabot pull requests
- Side Projects Reverie
- Increasing GitHub Actions Disk Space
- Using AI to aid color scheme migrations
- I love Continuity Camera, I hate Continuity Camera
- Gumroad, where is my money?
- Setting up a Wireguard VPN in UniFi
- Interview with Josh Medeski
- Semana acadêmica ISEPE
- A pragmatic guide to Go module updates
- Starlink: installation, first impressions, and running it through UniFi
- Updating Snapcraft secrets
- GoTime #311 - Ship software, not code
2023 8
- Automating my hard-to-automate garage doors
- Integrating Alarm Systems with Homekit
- Getting love for your open source project, aka, marketing?!
- A brief and incomplete history of modal text editors
- Wishlist Endpoint Discovery
- Writing Bubble Tea Tests
- Using open, pbcopy and pbpaste over SSH
- My workflow, part 1
2022 20
- Marshaling SSH Private Keys - Why there's always a different block?
- 🎧 Replay: 2022
- GoReleaser v1 — one year later
- GoReleaser Split and Merge
- Expanding GitHub Sponsors globally - GitHub Universe
- Issuing and using SSH Certificates
- Sustainability in Open Source - Github and Charm
- Creating a tag and releasing from a GitHub Action, with GoReleaser
- Enabling Nightly releases using GoReleaser Pro
- Shipping completions for Go CLIs using GoReleaser and Cobra
- SSH Tips and Tricks
- The Maintainers of OSS @ Equinix
- My tmux workflow
- Open Source Brasil Maintainers Event @ GitHub
- @TwitterDev x @Charmcli: Developer Tools discovery session
- Using SSH Certificates with Go’s SSH Client
- Joining the split keyboards club: a Moonlander story
- Reproducible builds with GoReleaser
- Forwarding Discord's RPC socket over SSH
- git-worktree is awesome
2021 16
- ./charm.sh
- MacBook Pro 14 - a quick review
- Changelog grouping with GoReleaser v1.1
- Testing Linux packages on GitHub Actions
- Hacktoberfest Brasil Golang Meetup
- Schwarz Golang Monthly Meetup
- Using the new prebuilt builder on GoReleaser
- Signing releases with cosign and GoReleaser
- Supply chain integrity with GoReleaser using Go mod proxy
- Multi-platform Docker images with GoReleaser, Podman and GitHub Actions
- Incrementally measuring my internet speed with Prometheus
- Sri Lanka Golang meetup
- Using GoReleaser includes feature
- Announcing GoReleaser Pro
- GoTime #173 - Releasing with (and without) GoReleaser
- GoReleaser: 4 years releasing software
2020 14
- macOS Command Line Tools
- Why I migrated to the Fish Shell
- Multi-platform Docker images with GoReleaser and GitHub Actions
- Making Python respect Docker memory limits
- Kubernetes pod shutdown lifecycle
- Show me your code: how buildkit can help integrating GoReleaser with multi-arch Docker manifests
- Publishing libraries with GoReleaser
- Leader Election inside Kubernetes
- Kubernetes Jobs: shut down sidecar when main container finishes
- Easy private Helm repositories
- 4K display on MacOS: the saga
- GKE using Traefik as the ingress controller
- Uses
- GoReleaser: 3 years later
2019 6
2018 19
- Golang: cache things using interfaces
- Monitoring GitHub releases with Prometheus
- Using Goss to validate Packer builds
- Keeping json files formatted
- GoReleaser: build and push Snapcraft packages from TravisCI
- Hacktoberfest Joinville
- Couchbase: rolling upgrade from 4.5.x to 5.1.x
- GopherCon Brasil 2018: my review
- Upgrading ElasticSearch 2 to 5: S3 snapshot/restore strategy
- GoReleaser: lessons learned so far
- One month working remote
- Cleanup old GitHub Forks
- Prometheus authentication with oauth2_proxy
- I'm Joining TOTVS Labs
- GoReleaser: 1k repositories and beyond
- On being an effective developer
- Moving to Hugo
- 2º Joinville Go Meetup
- Creating debs and rpms with Go
2017 12
- 1º Joinville SRE Meetup
- 1º Changelog Meetup
- A Repository Graveyard
- Charting Repository Stars
- GKE in production
- Improving Jekyll build time
- 70% cheaper Kubernetes cluster on AWS
- Writing CLI applications with Golang
- Measuring production code coverage with JaCoCo
- From Travis Enterprise to BuildKite in 50 repositories
- Distributed Locking with Redis
- Fast and easy Go binaries delivery
2016 7
2015 21
- What is good code?
- Continuous Delivery with GitHub, CircleCI, Docker and AWS Elastic Beanstalk
- 2º #connect(dev)
- Parse environment variables to structs in Go
- Small Go Apps Containers
- Avoid static imports
- Cross-compiling Go
- I wrote Antigen in Go: Antibody
- Running a Selenium Grid with docker-compose
- Docker: The very basics
- Docker Protips™
- QCon Sao Paulo - 2015: A short overview
- Using Mockito's InjectMocks
- Introducing JVM - The Java Version Manager
- Dump a PostgreSQL table as insert statements
- Find non-ASCII chars
- Integrating Minitest with Shippable
- How to write a good tech job description
- Jekyll: Reading time without plugins
- OpenSourcing my blog again
- Jekyll with Sass
2014 10
2013 13
2012 15
- Seven Languages in Seven Weeks: Erlang
- UP: A Jekyll theme
- Things that make me dislike Java
- Rails AJAXSpin
- Dotfiles Are Meant to Be Forked
- Simple RoR AJAX Status
- Configuring a git server with gitolite
- GWT Bootstrap 2.0.4.0 released
- Quick intro to Google Guava
- Guice Junit test-runner
- Guice and JUnit
- Theming GWT-Bootstrap
- Getting started with GWT-Bootstrap
- Modular Persistence
- Hello World