Side Projects Reverie
A short reflection on side projects, and how I do them.
A short reflection on side projects, and how I do them.
A couple of days ago, all of the sudden, my jobs started running out of space.
New release coming in hot! new: create macOS app bundles. Initially they are only usable with …
Recently I found a good use case for AI when migrating my dotfiles to another theme. This is a …
Continuity Camera is the macOS feature that allows to use an iPhone as a webcam.
I’ve been using Gumroad for payments of GoReleaser Pro since the beginning, around May …
Another month, another minor release full of improvements!
This is a quick post showing how to set up a Wireguard VPN in an UniFi Dream Machine.
In this interview I talk with Josh about my developer workflow including tmux, neovim, nix, and …
Another month, another minor release full of improvements!
I talked a bit about my career to some first year college students. Slides are in PT-BR.
Winter is here (in the South America)! Let’s see whats new!
I thought I would share some quick bits about how to do go.mod
version bumps.
This weekend’s side quest: installing Starlink as my second internet provider. …
The new major version of GoReleaser is here!
If you, like me, release your projects to the Snap Store using GoReleaser, you might need to …
Happy mother’s day! This will be probably the last minor v1 release of GoReleaser. V2 …
I was live with Natalie to discuss how GOOS and GOARCH spark joy. Go Time 311: Ship software, …
Happy Easter! The second release of 2024 is here! It’s the result of 2 months of work by …
Happy new year! The first release of 2024 is here! Highlights security: goreleaser would log …
The yearly Christmas edition, and the last release of 2023. This release contains mostly small …
This is how I automated my garage doors without using a BTN interface. Arriving home is always …
Another boring release, with mostly bug fixes and quality-of-life improvements. Highlights …
This post documents my journey implementing a Homekit integration for my Intelbras AMT8000 …
Twitter Spaces with some OSS developers: @caarlos0 @charmcli @jzmusings @meowgorithm …
A boring release, mostly bug fixes. Boring is good. Highlights You can now sort tags by semver …
In this post I’m going to talk about some old text editors you probably never heard of, …
A little over 100 commits in small-ish quality-of-life improvements.
Learn how to use the recently-added Tailscale, DNS, and Zeroconf endpoint discovery in …
Almost 200 commits adding Nix, Winget, and much more…
Learn how to use x/exp/teatest to write tests for your Bubble Tea apps.
May is the maintainers month, so I would first like to thank all the maintainers out there for …
Having your favorite commands available over SSH can be very convenient. I think I talked about …
The Easter release is here!
The February release got a little late… better later than even later, I guess! 😄 …
Keeping our pace of 1 minor a month, this is the January 2023 release. GoReleaser’s Ko …
I keep getting asked how my setup works, how I use tmux and nvim over ssh… all that good stuff. …
Another month, another release! In fact, the last release of the year. This one in particular …
Not long ago, when I was building melt, I learned something interesting: if you restore a …
This is a different kind of post: I’m sharing some music I enjoyed this year! If …
Another month, another release! Like the previous 2 releases, this is a beefy one: over 100 …
We launched GoReleaser v1 exactly 1 year ago today! onefetch First, I wanted to wholeheartedly …
Since v1.12.0-pro, GoReleaser can split and merge its release process. This means that you can …
GitHub Sponsors expanded to over 30 new regions this year, Abigail Cabunoc Mayes chat with …
SSH certificates allow system administrators to SSH into machines without having to manage …
Talking about improving sustainability of open source with some incredible open source …
The previous release had ~100 commits, and this one has 149 since previous feature release! …
Most people run GoReleaser by creating a tag locally, pushing it, and letting their CI takes …
This release took a while, for all the good reasons: a ton of new features and bug fixes for …
GoReleaser Pro v1.11+ added support to keeping a nightly release. That means that, whenever you …
Everyone likes command line completions, so much that some even install extra tools just to …
Since I joined Charm, I’ve been working and learning more about SSH, and I thought I …
Fun fact: it is actually winter now here in Brazil. Regardless, this release is packed with new …
A conversation about maintaining OSS and other software-related topics.
I wanted to share a quick thing that made my life easier on tmux lately, but before we dig into …
A conversation about maintaining OSS — in Portuguese.
Twitter Spaces with Twitter and Charm folks, discussing favorite developer tools. This Space …
This release contains several minor improvements and a couple of new features! Let’s have …
A couple of weeks ago I was working on adding SSH Certificate Authentication support to Wish, …
This post will describe my experience with a couple of firsts: first mechanical keyboard first …
GoReleaser can help you, to some extent, to have reproducible builds. Reproducible Builds What …
This release’s biggest feature is the GOAMD64 support. Highlights support GOAMD64(#3016) …
The title would have been more creative if it was GoReleaser 1.18 as well… maybe… …
GoReleaser 1.6 is out! Another “boring” release with some miscellaneous …
GoReleaser 1.5 is out, with a handful of miscellaneous improvements. Highlights Better manpages …
I’m doing 99% of my coding in a “big” machine instead of my laptop. I do that …
I’m still mad I haven’t found this out before. Imagine you’re working on …
GoReleaser can now create and publish Arch Linux PKGBUILD files to Arch User Repositories! …
We just launched GoReleaser v1.3, the first release of 2022! Highlights Announce to any HTTP …
$ glow charm.md Everyone who knows me knows that I love CLI tools. I have my own opinionated …
I got a MacBook Pro 14" with an Apple M1 Pro SoC, 16GB of memory and 500GB of disk a …
GoReleaser v1.2 is out — likely be the last feature release of 2021. It also marks the first 5 …
In the v1.1 release, GoReleaser introduced a new feature called “changelog groups”. …
One issue we had from time to time on GoReleaser was related to its Linux packages. We had a …
Hello everyone! I’ve been holding on the “v1” release for, checks notes, …
A hands-on talk on how to create and set up a project with GoReleaser. In Portuguese.
A hands-on talk on how to create and set up a project with GoReleaser.
You can now import pre-built binaries into GoReleaser! This feature was made with mainly two …
In GoReleaser v0.176.0 (both OSS and Pro), we released the ability to sign Docker images - with …
Since the infamous SolarWinds attack, supply chain integrity is something a lot of people are …
A few months ago, I published a post on Multi-platform Docker images with GoReleaser and GitHub …
I live in Brazil, and, if you’re not familiar, internet usually sucks here. I’m one …
A hands on talk on how to create and setup a project with GoReleaser.
GoReleaser Pro was released about a month ago, and with it, the ability to include GoReleaser …
After more than 4 years working on GoReleaser, I’m launching a Pro version! Why? I think …
I was live with Mat, Natalie & Johnny and we talked a bit about releases, with and without …
Last year, I made a blog post about GoReleaser turning 3 years old. I kind of like it, so this …
Today, again, I forgot the command to install Command Line Tools and had to search for it. This …
Back in June, I started porting my dotfiles from ZSH to Fish. Here’s why. Initial …
GoReleaser v0.148.0 is out, and with it, the ability to release multi-platform Docker images, …
If you run Python inside containers, chances are you have seen Linux’s OOMKiller working …
I always forget the details about Kubernetes pod shutdown lifecycle is something when I need …
A discussion with Tibor and Geanluca about Docker buildkit and GoReleaser.
What if I told you you can now automate the release of your libraries as well? I think some of …
Ever needed a simple leader election mechanism on something that will run on a Kubernetes …
Kubernetes Pod lifecycle does not cover everything just yet. I’m working on an app that …
Can we have a private Helm repository using GCS as backend? Yes we can! The easier way to …
I recently got a 4K display, and it didn’t work as I expected on my MacBook Pro. This is …
I recently fall into a trap using Traefik as the ingress controller in one cluster. I decided …
Sometimes people ask me what my setup looks like for remote work. I decided to try to keep a …
GoReleaser’s journey begins in December 21, 2016: the day I made its very first commit. …
Shared some tips about managing medium-sized OpenSource projects. The slides are in Portuguese.
I wanted to set up a fault tolerant nats-streaming-server, but couldn’t find a …
Quick tip to improve the docker build speed using go modules. Normally, I would do something …
I wanted to set up a high available nats-streaming-server cluster, but couldn’t find a …
Often I need to “do X only if files on some folder changed” or whatever. I always …
The next GoReleaser version will have a more flexible Docker configuration format. In this post …
Caching things can be hard to do and hard to test. In this post I’ll demonstrate a …
I have written some exporters to observe things on GitHub. This is how and why. We will talk …
Ever wanted to validate your Packer image with Goss? Well, you can! I was looking into ways to …
I’m working in a project that uses Chef, so it has a lot of JSON files. I like everything …
GoReleaser was able to build Snapcraft packages for a long time, but it wasn’t able to …
I shared some of my experiences coding GoReleaser, this time, more about community and less …
I have an old Couchbase 4.5.x cluster, and I though it would be nice to upgrade it. This are my …
A quick review of my second ever GopherCon - the first one as a speaker, and my experience …
My first ever talk at a GopherCon. I shared my experiences coding GoReleaser, more or less …
Migrating an ElasticSearch cluster from version 2 to 5 can be challenging, even more if it is a …
I’ve started GoReleaser almost 2 years ago. This is a summary of (some) things I’ve …
It has been one month since I started working fully remote, and I think I learned some things I …
I like to keep my GitHub clean. I delete forks I’m not using anymore, move old abandoned …
I wanted to set up a prometheus machine for me to monitor random stuff, but I was always …
Everything in life eventually comes to an end, including life itself. This is not that kind of …
When first announced GoReleaser roughly 1 year ago, on January 2017, I never thought it would …
Over the years I read several articles on how to be effective, and how the 10x engineer thing …
After some time, I finally decided to move my blog from Jekyll to Hugo. That was probably the …
It was the Go 1.10 Release party - my talk was about what changed in Go 1.10.
I’ve been working on GoReleaser for more than a year now, and one of the things that was …
I spoke about how we migrate our monitoring infrastructure to Prometheus & Friends, what we …
I showed how to build and release binaries in Go, including cross-compiling, Docker images, …
This past weekend I decided I need to clean up my GitHub profile. In this post I’ll write …
I always wanted to know how stargazers of my repos increased over time. I didn’t found a …
I’ve been working with DigitalOcean, Heroku and AWS for some years now. Recently, I …
I’ve been using Jekyll on my blog since 2012. It is great! But, lately, its slow build …
We are running Kubernetes on both sandbox and production for some months now. Our production …
Last few months I’ve been using Go to write quite a lot of tools. In this post I intent …
Microservices is the new fancy way of doing applications. Yet, most companies still have big …
At ContaAzul, we use the CI infrastructure a lot. We open several pull requests in several …
At ContaAzul, we have several old pieces of code that are still running in production. We are …
I have some apps written in Go, which I deliver as binaries for each platform using GitHub …
Watchub is a service that notifies you of people who followed/unfollowed you and …
As a DevOps/SRE, I spent a reasonable amount of time dealing with metrics and alerts. Usually, …
I have seen a lot of posts like this subject, but almost all of them were about stuff you …
Every now and then an active java-based project enters in a “dependency hell” …
I’ve lost a considerable amount of time trying to bind those things together, so I …
This is the story on how I speed up my terminal load time. Some time ago I shared my dotfiles …
booleans, am I right? What a wonderful piece of technology! They help us solve so many …
I’ve been wanting to write this for a long time, just to clarify my thoughts on the …
This is just a quick overview of how I did it in antibody’s homepage. Antibody's …
I gave a little intro on Docker and talked about when to use it or not. No slides or video …
In Go, it’s dead simple to get the value from an environment variable: …
Or: how to ship your app in a <20Mb container. Well, as you may know, there is a good amount …
There are a lot of Java API’s and Frameworks which rely in static methods and the sort. …
go build generates a binary for the platform you run it in. So, if I build antibody in a Linux …
Learning Go was in my TODO list for a while, and finally I did something about it. This post …
At ContaAzul, we had 31 Windows machines powering our Selenium tests - one running the grid and …
Or “what the hell is this Docker thing?” Intro According to their website, Docker …
Like my old post on git, this is somewhat a collection of useful Docker …
So, this week I attended to QCon-SP. The conference was great (congratulations everyone 🍻), …
FYI: Like the previous post, this is a really quick tip. Let’s imagine we have two …
Last years it becomes more and more common to work in different projects running on different …
FYI: Like the previous post, this is a really quick tip. This week I’m working closely to …
FYI: This is a really quick tip. Sometimes things break because of random characters, like '. …
I know, everyone uses Travis. I have nothing against it. But in case you want to test and/or …
Recently I saw a job description of a Brazilian company, more or less like this: Be a …
Estimated reading time of a post is a feature that became popular, I believe, with Medium. …
Once upon a time, my blog was OpenSource. People liked it and forked it tons of times, but they …
I followed @mdo recent article “Using Sass with Jekyll”, and wanted to point out …
I will start this by quoting the bashstyle’s readme: Bash is like the JavaScript of …
Every once in a while I see somewhere a wrong import to the old, deprecated junit.framework …
Have you ever wrote JUnit tests extending a class that does some before and after work, so you …
Exponential backoff is an algorithm that uses feedback to multiplicatively decrease the rate of …
Updated with second round script in Oct 26, 2014. Well, last sunday (Oct 5) was the brazilian …
For some reason, Oracle blocked the installers to run only on a fixed OSX version range with a …
Earlier this year, the new version of the Java Programming Language was released. Finally, it …
I found that it’s pretty hard to have a project with high test coverage and fast …
At the company I work Pull Requests are part of our culture. When someone opens a Pull Request, …
I encouraged people to start using git, showing some of its features.
I think that turbolinks is great: it mades it easy to add AJAX PushState to your Rails …
Today, once again, my environment start throwing that SSL cert error. I followed the basics of …
So, this is the all-new UP version. It is more based on my own blog in some way, which is a …
This post is about the Twitter change from Ruby to Java, some years ago, fact that, sadly, is …
Following my previous posts with basic Javascript aspects, like context and variable hoisting, …
This is article is the second of a series of n articles, where n could be any given number …
People make a lot of confusion about Javascript context mechanism. I don’t think …
Some time ago, I posted here about a simple project that I’ve done in my post-graduation …
I work in a company that have an enterily MS-based network, which means, all that domain login …
Git has a lot of features, and I bet that 90% of who use it (including me) doesn’t know …
Rails 3.1 introduced the asset pipeline, which make it easy to include versioned external …
Since I’ve seen the new Basecamp, I fall in love with it. It’s fast, had sleek …
One of the principles of Unobtrusive JS is the “separation of functionality (the …
So, I just bought “Seven Languages in Seven Weeks”. I’ve read the Ruby …
After a while using Jekyll Bootstrap, I just realized that it was so much bloated. Then, few …
So, I just compiled a little list of things that, I believe, make me dislike Java everyday a …
A couple of days ago I wrote about how to build a simple and non intrusive AJAX status with …
My desktop Well, it has been a while since I replaced my old (but gold) bash by the great zsh. …
tl;dr A simple tutorial explaining how to made a simple coffeescript that can automagically …
Setup You will need: git git-daemon-run ssh gitolite Install everything: $ apt-get install git …
For those wo don’t know, GWT-Bootstrap wants to port the Twitter Bootstrap widgets to GWT …
According to the project site on GitHub, The Guava project contains several of Google’s …
Yesterday, I wrote a small article talking about Guice and JUnit, so, this time, I’ll …
First of all: Do you use Guice as Depency Injection Container in your Apps? If not, why? Well, …
First of all, if you haven’t done it yet, read Getting started with GWT-Bootstrap. Create …
GWT-Bootstrap is a project that aims to provide all the Twitter Bootstrap styles and widgets to …
Hi everybody! One of the classes of my post-graduate was the Java Persistence API (JPA). The …
Hello everyone :) I just decided to start posting in my own blog, in English. I had a blog with …