41554 blogs · [ { "id": "01a0821b-162d-7203-ba98-2c99201e59c3", "title": "GoReleaser: 3 years later", "url": "https://carlosbecker.com/posts/goreleaser-3-years/", "published_at": "2020-01-21T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9920a89add", "title": "1º Open Source Joinville Meetup", "url": "https://carlosbecker.com/posts/joinville-oss/", "published_at": "2019-10-06T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99215e6a01", "title": "High availability with nats-streaming-server (fault-tolerance)", "url": "https://carlosbecker.com/posts/nats-streaming-server-ft/", "published_at": "2019-07-25T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9921ce193a", "title": "Faster Docker builds using go modules", "url": "https://carlosbecker.com/posts/docker-go-mod/", "published_at": "2019-05-19T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99224a2715", "title": "High availability with nats-streaming-server (clustering)", "url": "https://carlosbecker.com/posts/nats-streaming-server-cluster/", "published_at": "2019-05-16T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9922c3dd41", "title": "Git: check if a folder changed", "url": "https://carlosbecker.com/posts/git-changed/", "published_at": "2019-04-11T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9923b5b8f9", "title": "GoReleaser Docker support", "url": "https://carlosbecker.com/posts/goreleaser-docker/", "published_at": "2019-01-11T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992478537b", "title": "Golang: cache things using interfaces", "url": "https://carlosbecker.com/posts/golang-cache-interface/", "published_at": "2018-12-17T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992482f2a9", "title": "Monitoring GitHub releases with Prometheus", "url": "https://carlosbecker.com/posts/monitor-github/", "published_at": "2018-12-15T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9924a103e4", "title": "Using Goss to validate Packer builds", "url": "https://carlosbecker.com/posts/packer-goss/", "published_at": "2018-12-06T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992593f8f5", "title": "Keeping json files formatted", "url": "https://carlosbecker.com/posts/jsonfmt/", "published_at": "2018-11-12T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9926803138", "title": "GoReleaser: build and push Snapcraft packages from TravisCI", "url": "https://carlosbecker.com/posts/goreleaser-snap-travis/", "published_at": "2018-10-20T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99276dc3d7", "title": "Hacktoberfest Joinville", "url": "https://carlosbecker.com/posts/hacktoberfest-joinville/", "published_at": "2018-10-20T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99285e56e1", "title": "Couchbase: rolling upgrade from 4.5.x to 5.1.x", "url": "https://carlosbecker.com/posts/cb-upgrade/", "published_at": "2018-10-10T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9928cc0479", "title": "GopherCon Brasil 2018: my review", "url": "https://carlosbecker.com/posts/gobr-18/", "published_at": "2018-10-01T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9929508b66", "title": "Upgrading ElasticSearch 2 to 5: S3 snapshot/restore strategy", "url": "https://carlosbecker.com/posts/es2-to-es5-upgrade-s3/", "published_at": "2018-08-02T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99297409bf", "title": "GoReleaser: lessons learned so far", "url": "https://carlosbecker.com/posts/goreleaser-lessons-learned/", "published_at": "2018-07-31T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9929e3d146", "title": "One month working remote", "url": "https://carlosbecker.com/posts/one-month-working-remote/", "published_at": "2018-06-08T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992a2ccbe7", "title": "Cleanup old GitHub Forks", "url": "https://carlosbecker.com/posts/cleanup-old-github-forks/", "published_at": "2018-06-02T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992af51964", "title": "Prometheus authentication with oauth2_proxy", "url": "https://carlosbecker.com/posts/prometheus-authentication-with-oauth2_proxy/", "published_at": "2018-05-28T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992afa6f9a", "title": "I'm Joining TOTVS Labs", "url": "https://carlosbecker.com/posts/im-joining-totvs-labs/", "published_at": "2018-04-17T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992bb577f9", "title": "GoReleaser: 1k repositories and beyond", "url": "https://carlosbecker.com/posts/goreleaser-1k-repositories-and-beyond/", "published_at": "2018-04-09T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992c2a5fe5", "title": "On being an effective developer", "url": "https://carlosbecker.com/posts/effective-developer/", "published_at": "2018-04-07T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992c8ff23e", "title": "Moving to Hugo", "url": "https://carlosbecker.com/posts/moving-to-hugo/", "published_at": "2018-03-19T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992d751ddf", "title": "2º Joinville Go Meetup", "url": "https://carlosbecker.com/posts/2-joinville-golang/", "published_at": "2018-02-27T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992d8d9cfc", "title": "Creating debs and rpms with Go", "url": "https://carlosbecker.com/posts/nfpm/", "published_at": "2018-02-23T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992dfc718b", "title": "1º Joinville SRE Meetup", "url": "https://carlosbecker.com/posts/1-joinville-sre/", "published_at": "2017-11-25T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992ebbc62e", "title": "1º Changelog Meetup", "url": "https://carlosbecker.com/posts/1-changelog-meetup/", "published_at": "2017-11-21T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992f7cd477", "title": "A Repository Graveyard", "url": "https://carlosbecker.com/posts/repositories-graveyard/", "published_at": "2017-09-04T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c992fffe881", "title": "Charting Repository Stars", "url": "https://carlosbecker.com/posts/chart-repo-stars/", "published_at": "2017-08-08T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9930d8cb6d", "title": "GKE in production", "url": "https://carlosbecker.com/posts/gke/", "published_at": "2017-07-02T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99310f8423", "title": "Improving Jekyll build time", "url": "https://carlosbecker.com/posts/jekyll-build-time/", "published_at": "2017-05-14T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99315530e2", "title": "70% cheaper Kubernetes cluster on AWS", "url": "https://carlosbecker.com/posts/k8s-sandbox-costs/", "published_at": "2017-04-28T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99317cd08b", "title": "Writing CLI applications with Golang", "url": "https://carlosbecker.com/posts/golang-cli-apps/", "published_at": "2017-04-13T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993279099e", "title": "Measuring production code coverage with JaCoCo", "url": "https://carlosbecker.com/posts/production-code-coverage-jacoco/", "published_at": "2017-03-20T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9932fc415b", "title": "From Travis Enterprise to BuildKite in 50 repositories", "url": "https://carlosbecker.com/posts/travis-to-buildkite/", "published_at": "2017-03-11T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9933410dd9", "title": "Distributed Locking with Redis", "url": "https://carlosbecker.com/posts/distributed-locks-redis/", "published_at": "2017-03-04T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9933578c00", "title": "Fast and easy Go binaries delivery", "url": "https://carlosbecker.com/posts/goreleaser/", "published_at": "2017-01-02T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99335f1685", "title": "Watchub", "url": "https://carlosbecker.com/posts/watchub/", "published_at": "2016-10-06T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9933d9a63e", "title": "Fixing Alerts", "url": "https://carlosbecker.com/posts/alerts/", "published_at": "2016-10-02T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99348bbeb6", "title": "How to make people love your product", "url": "https://carlosbecker.com/posts/how-to-make-clients-love-your-product/", "published_at": "2016-09-27T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993492809f", "title": "Dealing with Maven dependency hell", "url": "https://carlosbecker.com/posts/maven-dependency-hell/", "published_at": "2016-09-03T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9934e4a776", "title": "Setting up a Go build with Glide on CircleCI", "url": "https://carlosbecker.com/posts/glide-circleci/", "published_at": "2016-08-07T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9935309745", "title": "Speeding up my ZSH load time", "url": "https://carlosbecker.com/posts/speeding-up-zsh/", "published_at": "2016-04-10T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9935afb8cb", "title": "Flag-oriented Programming", "url": "https://carlosbecker.com/posts/flag-oriented-programming/", "published_at": "2016-02-10T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9935dfba90", "title": "What is good code?", "url": "https://carlosbecker.com/posts/good-code/", "published_at": "2015-12-27T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99360af3b7", "title": "Continuous Delivery with GitHub, CircleCI, Docker and AWS Elastic Beanstalk", "url": "https://carlosbecker.com/posts/cd-github-circleci-docker-beanstalk/", "published_at": "2015-09-29T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993692ec48", "title": "2º #connect(dev)", "url": "https://carlosbecker.com/posts/2-connect-dev/", "published_at": "2015-09-24T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9936daad0e", "title": "Parse environment variables to structs in Go", "url": "https://carlosbecker.com/posts/env-structs-golang/", "published_at": "2015-07-30T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9937d1a7dc", "title": "Small Go Apps Containers", "url": "https://carlosbecker.com/posts/small-go-apps-containers/", "published_at": "2015-07-09T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9938c21bd3", "title": "Avoid static imports", "url": "https://carlosbecker.com/posts/avoid-static-imports/", "published_at": "2015-07-05T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9939864bea", "title": "Cross-compiling Go", "url": "https://carlosbecker.com/posts/cross-compile-go/", "published_at": "2015-06-29T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993a80323f", "title": "I wrote Antigen in Go: Antibody", "url": "https://carlosbecker.com/posts/go-antibody/", "published_at": "2015-06-06T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993a82f813", "title": "Running a Selenium Grid with docker-compose", "url": "https://carlosbecker.com/posts/selenium-grid-docker-compose/", "published_at": "2015-05-15T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993aff39e4", "title": "Docker: The very basics", "url": "https://carlosbecker.com/posts/docker-basics/", "published_at": "2015-05-12T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993ba9251d", "title": "Docker Protips™", "url": "https://carlosbecker.com/posts/docker-protips/", "published_at": "2015-05-10T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993ca6553b", "title": "QCon Sao Paulo - 2015: A short overview", "url": "https://carlosbecker.com/posts/qconsp-2015/", "published_at": "2015-03-28T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993da58d32", "title": "Using Mockito's InjectMocks", "url": "https://carlosbecker.com/posts/injectmocks/", "published_at": "2015-03-05T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993e84fb49", "title": "Introducing JVM - The Java Version Manager", "url": "https://carlosbecker.com/posts/introducing-jvm/", "published_at": "2015-02-22T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993ea3fc8d", "title": "Dump a PostgreSQL table as insert statements", "url": "https://carlosbecker.com/posts/dump-postgres-table-inserts/", "published_at": "2015-02-19T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c993fa1e620", "title": "Find non-ASCII chars", "url": "https://carlosbecker.com/posts/find-non-ascii-chars/", "published_at": "2015-02-17T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99400520ea", "title": "Integrating Minitest with Shippable", "url": "https://carlosbecker.com/posts/integrating-minitest-with-shippable/", "published_at": "2015-02-04T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9940b0d8d5", "title": "How to write a good tech job description", "url": "https://carlosbecker.com/posts/job-descriptions/", "published_at": "2015-02-02T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99413140ae", "title": "Jekyll: Reading time without plugins", "url": "https://carlosbecker.com/posts/jekyll-reading-time-without-plugins/", "published_at": "2015-01-19T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9941f9fc3d", "title": "OpenSourcing my blog again", "url": "https://carlosbecker.com/posts/opensourcing-my-blog-again/", "published_at": "2015-01-18T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99424a7190", "title": "Jekyll with Sass", "url": "https://carlosbecker.com/posts/jekyll-with-sass/", "published_at": "2015-01-09T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994283df0f", "title": "Lint your shell scripts", "url": "https://carlosbecker.com/posts/lint-shell-scripts/", "published_at": "2014-12-15T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9943706e3f", "title": "Don't use junit.framework", "url": "https://carlosbecker.com/posts/dont-user-junit-framework/", "published_at": "2014-12-14T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9944194cf6", "title": "Using JUnit Rules to simplify your tests", "url": "https://carlosbecker.com/posts/junit-rules/", "published_at": "2014-11-18T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99445554a4", "title": "Exponential Backoff with Java 8", "url": "https://carlosbecker.com/posts/exponential-backoff-java8/", "published_at": "2014-10-26T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99454bc0fc", "title": "Elections, in Ruby", "url": "https://carlosbecker.com/posts/elections/", "published_at": "2014-10-10T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9945f87528", "title": "Install JDK on OSX Yosemite", "url": "https://carlosbecker.com/posts/jdk-yosemite/", "published_at": "2014-08-18T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9946ce759d", "title": "Java 8", "url": "https://carlosbecker.com/posts/java-8/", "published_at": "2014-08-04T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9947271a7f", "title": "Find the slowest tests of a Java project", "url": "https://carlosbecker.com/posts/slow-tests/", "published_at": "2014-04-28T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9947b71154", "title": "PullRequest Coverage Blammer Maven Plugin", "url": "https://carlosbecker.com/posts/mvn-pr-coverage-blammer/", "published_at": "2014-03-18T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99480e8a4e", "title": "2º Joinville Software Meetup", "url": "https://carlosbecker.com/posts/2-joinville-software/", "published_at": "2014-03-06T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9948d454dd", "title": "This site is now powered by Turbolinks", "url": "https://carlosbecker.com/posts/turbolinks/", "published_at": "2013-12-26T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99493875b8", "title": "Fixing Rubygems Certificates", "url": "https://carlosbecker.com/posts/gem-certs/", "published_at": "2013-11-28T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9949cd30d2", "title": "UP v2", "url": "https://carlosbecker.com/posts/up-2/", "published_at": "2013-10-14T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994a925f12", "title": "Twitter drops Ruby - The Bullshit", "url": "https://carlosbecker.com/posts/twitter-drops-ruby-bullshit/", "published_at": "2013-09-19T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994ad58494", "title": "Ruby: Nil", "url": "https://carlosbecker.com/posts/ruby-nil/", "published_at": "2013-09-09T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994ae69bdf", "title": "Javascript Variable Hoisting", "url": "https://carlosbecker.com/posts/javascript-variable-hoisting/", "published_at": "2013-09-04T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994b5d8255", "title": "Javascript Context", "url": "https://carlosbecker.com/posts/js-context/", "published_at": "2013-08-12T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994bcdb3d4", "title": "JPA2 with Guice", "url": "https://carlosbecker.com/posts/persistence-base/", "published_at": "2013-06-26T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994cc43f66", "title": "Riding a MS Network with Linux", "url": "https://carlosbecker.com/posts/ms-network/", "published_at": "2013-06-03T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994d676232", "title": "Git Protips™", "url": "https://carlosbecker.com/posts/git-protips/", "published_at": "2013-02-08T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994d81f07a", "title": "Gemify your assets", "url": "https://carlosbecker.com/posts/gemify-your-assets/", "published_at": "2013-02-05T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994e54cb09", "title": "Turbolinks animated page transitions", "url": "https://carlosbecker.com/posts/animating-page-transitions-in-turbolinks/", "published_at": "2013-01-22T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994f523e80", "title": "Unobtrusive JS", "url": "https://carlosbecker.com/posts/unobtrusive-js/", "published_at": "2013-01-13T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994fce2770", "title": "Seven Languages in Seven Weeks: Erlang", "url": "https://carlosbecker.com/posts/seven-languages-in-seven-weeks-erlang/", "published_at": "2012-12-18T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c994fd6ec56", "title": "UP: A Jekyll theme", "url": "https://carlosbecker.com/posts/up-a-jekyll-theme/", "published_at": "2012-12-16T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c995044517b", "title": "Things that make me dislike Java", "url": "https://carlosbecker.com/posts/things-that-make-me-dislike-java/", "published_at": "2012-12-15T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c995118f455", "title": "Rails AJAXSpin", "url": "https://carlosbecker.com/posts/rails-ajaxspin/", "published_at": "2012-11-26T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9952078a03", "title": "Dotfiles Are Meant to Be Forked", "url": "https://carlosbecker.com/posts/dotfiles-are-meant-to-be-forked/", "published_at": "2012-11-23T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c99526c8061", "title": "Simple RoR AJAX Status", "url": "https://carlosbecker.com/posts/building-a-simple-and-non-intrusive-ajax-status-with-coffeescript-in-rubyonrails/", "published_at": "2012-11-08T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9952ac6a72", "title": "Configuring a git server with gitolite", "url": "https://carlosbecker.com/posts/howto-setup-a-git-server/", "published_at": "2012-10-03T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c995389dcab", "title": "GWT Bootstrap 2.0.4.0 released", "url": "https://carlosbecker.com/posts/gwt-bootstrap-2040-released/", "published_at": "2012-08-14T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9954029e70", "title": "Quick intro to Google Guava", "url": "https://carlosbecker.com/posts/rocking-out-with-google-guava/", "published_at": "2012-08-08T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c9954ec456c", "title": "Guice Junit test-runner", "url": "https://carlosbecker.com/posts/gunit-guice-and-junit-fall-in-love/", "published_at": "2012-08-07T00:00:00+00:00" }, { "id": "01a0821b-162d-7203-ba98-2c995571f023", "title": "Guice and JUnit", "url": "https://carlosbecker.com/posts/guice-and-junit/", "published_at": "2012-08-06T00:00:00+00:00" } ] posts Claim your blog
Back to Carlos Becker
Blog · corpus.blog/blogs/carlosbecker.com/posts

Carlos Becker

carlosbecker.com

2020

2019

2018

2017

2016

2015

2014

2013

2012