Introduction Interfaces should only be used when their added value is clear. I see too many packages that declare interfaces unnecessarily, sometimes just for the sake of using interfaces. The use of interfaces when they are not necessary is called interface pollution. This is a...
Last week, I was at dotGo. I gave a very short lightning talk about inspection of code generation with the tools already available in the toolchain. This post goes through the talk for those who didn’t have the privilege to be at the conference. Slides are also available at...
Disclaimer: I forked my opinions on this one from a barely readable Twitter thread and wanted to write it down how I feel about keeping the language internals away from the users, especially from the newcomers. This is not a skill-level concern, it is a core goal of Go to provide...
How to generate random numbers, and the difference between math/rand and crypto/rand.
Introduction I see a lot of developers coming to Go from object oriented programming languages such as C# and Java. Because these developers have been trained to use type hierarchies, it makes sense for them to use this same pattern in Go. However, there are aspects of Go that do...
Hugo is going Global! Hugo 0.17, released today, is our best and fastest
release ever! Hugo 0.17 is nearly twice as fast as Hugo 0.16 and adds
full support for multilingual websites with i18n support throughout all
of Hugo.
Watchub is a service that notifies you of people who followed/unfollowed you and starred/unstarred your repositories.
Watchub home page.
It runs every day and sends you an email if something changed.
The first commit was about 1 month ago, and I first deployed it to production ex...