Posts
Benchmarking in Go, with Example
· β˜• 3 min read
If you think it’s slow, first prove it with a benchmark. Don't assume if things are slow. Benchmark it and see if they are really slow. Benchmarking is the way we check how fast our algorithm is for a given unit of the program. In benchmarking, we typically see how many iterations can a piece of code can run in a given time.
https://d2kbulfv42d43j.cloudfront.net/2020/benchmarking_in_golang_car_432376_960_720.jpg

Top 6 Free Learning Resources I used to Learn Go
· β˜• 4 min read
I am a self-taught programmer from start. And have limited knowledge of computer science. Which of course is changing day by day. I had a background in Python before getting into Go. So my recommendations will also be aligned with my experience level.
https://d2kbulfv42d43j.cloudfront.net/2020/red-green-blue-gophers-smaller.png

Optional Parameters Using Option Struct
· β˜• 5 min read
There is another option to use optional parameter which we saw in last post. We use something called option struct. Much similar to what we do in JavaScript. Without further ado, let's get started.
https://d2kbulfv42d43j.cloudfront.net/2020/option_struct.png

Optional Parameters using Functional Options
· β˜• 5 min read
In Python we can set some parameters to default by doing option=True. But in Go we don't have that. In Go we do things differently. In Go we compose one function out of multiple helper functions. In this post we are going to explore the world of variadic function.
https://d2kbulfv42d43j.cloudfront.net/2020/functional_options.png

Sending POST Request in Go with a Body
· β˜• 3 min read
Sending a POST request in Go is not an easy cake. One need to structure every piece of data being send. Today I'm gonna show how you can make a little easier.
https://d2kbulfv42d43j.cloudfront.net/2020/go_http_post.png

Dynamically Insert Version Info From git tag to Your App
· β˜• 5 min read
There are two options, either you put version info in code and then use that in automation to create git tag. The another way is to let git tag drive the version info in the compiled application. In this post we see the later option.
https://d2kbulfv42d43j.cloudfront.net/2020/go_build_ldflags.png

Introduction to WebAssembly with Go
· β˜• 6 min read
In simple words, WASM let's us use code in browser, which is written in other language. The twist here is, that language does not have to be JavaScript or Node. It could be languages such as Python or Go. Today we see how we write code in Go to run that in browser environment.
https://d2kbulfv42d43j.cloudfront.net/2020/wasm_golang.jpg

Continuous Integration and Deployment to Beanstalk With Docker
· β˜• 4 min read
Docker makes it easy to develop and deploy application, reducing friction between the processes. And ElasticBeanstak is a great platform build upon EC2 infrastructure which provides provisioning capability without much effort.
https://d2kbulfv42d43j.cloudfront.net/2020/docker_beanstalk.png

Introduction to BoltDB
· β˜• 5 min read
Some of the features of BoltDB is... It's ability to do concurrent reads. It's nature of being Go native, which means it can compile where Go can compile. Read more about it in the post.
https://d2kbulfv42d43j.cloudfront.net/2020/boltdb-logo.png

Unit Testing, Test Coverage and CI with Travis in Go
· β˜• 7 min read
In this post, I talk about why TDD is important. Why it is essential part of build process. I also talk a little bit about test coverage and having more coverage is always better. I also provision a Travis CI pipeline to test same application in different environments.
https://d2kbulfv42d43j.cloudfront.net/2020/100-percent-coverage.png

2019 In a Review: Colemak, Code Reviews and More
· β˜• 5 min read
This year was a transition period for me from a career perspective. I was hearing, understanding and practicing stuff like microservices, fault tolerance, cross-site deployment, REST APIs, software deployment system, agile development and attending meetings & training sessions with the people on the other side of the planet.
https://d2kbulfv42d43j.cloudfront.net/2020/colemak.png

Switching to Hugo This New Year
· β˜• 8 min read
Earlier on, I was decided on to giving my website a go backend, but I later thought it was an overkill to use golang as a backend for a personal website and I should keep that enthusiasm for a real app. But for now, I'll use a static site generator called Hugo for blogging.
https://d2kbulfv42d43j.cloudfront.net/2019/hugo.png