A Repository Graveyard

This past weekend I decided I need to clean up my GitHub profile. In this post I’ll write about why I cleaned everything up and also how I did, as well as some initial results. Why I’ve been using GitHub for years now, and I tend to create a lot of repositores. Most o...

Impermanence: The Single Root Cause

o means open. Simple CLI tool to open repository in browser.

Here is my small bash function! When you run it from the terminal it opens the GitHub/BitBucket/GitLab page in your browser for the git repository you are currently in.

A Primer on Automating Chaos (Gremlin)

Charting Repository Stars

I always wanted to know how stargazers of my repos increased over time. I didn’t found a good way of doing that, so I wrote an app for that™. The app stack is simple: go 1.8+ glide gorilla/mux apex/log go-chart go-redis heroku It is live at starchart.cc and the code is...

Validation Snippets for Go

Over the past few years I've built up a collection of snippets for validating inputs in Go. There's nothing new or groundbreaking here, but hopefully they might save you some time. The snippets assume that the data to validate is stored as strings in r.Form, but the pri...

Advanced CircleCI docker testing

In a recent blog post I talked about automating the testing of an advanced GopherJS library using a combination of QUnit, Ginkgo and Agouti. That allowed me to run a complete integration test suite against my library by automatically spinning up browsers and pointing them at my Q...

Go slices are not dynamic arrays

Go's slices are cleverly designed. They provide the look-and-feel of truly dynamic arrays while being optimized for performance. However, not being aware of the slice mechanisms can bring you into trouble.

Learning From Failure and Success Through Postmortems

Grammarly is a Must-Have Tool for Bloggers

English is not my native language, and I always feel that my texts which I post here are hard to read.