How to Spin Up Your Own VPN
How to Spin Up Your Own VPN
· ☕ 8 min read
There are a plenty of VPN providers out there. What's common between all of them? You can't trust them. They may have a no-log policy but as a company, there is always a tendency that they might share our browsing data to some third party. In this post you'll learn how you can spin up your own VPN with Amazon AWS.

Port Forwarding and How to Do It With SSH
Port Forwarding and How to Do It With SSH
· ☕ 2 min read
In this short post, I will show how we can forward port from a remote host to a local computer. We will forward a port from AWS EC2 to local computer with openssl.

When User Data Scripts Are Not Enough, Create a New Image
When User Data Scripts Are Not Enough, Create a New Image
· ☕ 7 min read
I have been using AWS with Terraform to provision my development instance on AWS cloud. When I wanted to configure dotfiles, change SSH port and configure some cron jobs, I hit a bottleneck. I literally was not able to do those tasks with user scripts because they had no effect. That was the time when creating custom image of the distro came into my mind.

Microservices and AWS
Microservices and AWS
· ☕ 6 min read
This is my rundown of AWS's whitepaper about Implementing Microservices on AWS. In this article I talk more about micrsoservices and less about AWS. I also talk about paths already engraved around microservices. So, without further ado, let's get started.

Very Basics of Concurrency in Go
Very Basics of Concurrency in Go
· ☕ 7 min read
I've dabbled over many languages in the past, from PHP, Java, Python, C/C++, JavaScript and now Go (some of them I only know the syntax of). I never experienced concurrency the way it does in Go. In my first company I did some concurrent programming using Python threads, but the threads didn't share any data between them.

Git Submodules Basics and How to Replace One Submodule With Another
Git Submodules Basics and How to Replace One Submodule With Another
· ☕ 7 min read
Suppose you are working with softwareA which depends on libraryA, instead of copy-pasting the libraryA over and over again when a new version of the library is released what we can do is use submodule to make this process DRY and elegant.

How I Enabled HTTPS on My EC2 Hosted Website
How I Enabled HTTPS on My EC2 Hosted Website
· ☕ 6 min read
In 2014, Google hinted that they are running tests taking into account whether sites use secure, encrypted connections as a signal in our search ranking algorithms. This means it will affect SEO in some way. Today in the age of HTTP2, https is defualt. Default in the sense that many server software will only allow HTTP2 when https is configured.

The Year in Review 2020
The Year in Review 2020
· ☕ 10 min read
Each year I post about what have I done in that particular year, inclining it more toward career. This is to document my process of learning over the year of 2020. I would say this was a productive year for people in IT. I myself completed some courses this year which would take more time if it was a non-corona year.

Beginner's Introduction to Promises in JavaScript
· ☕ 2 min read
Promise is a language feature for asynchronous programming in JavaScript. Today we see the basic syntax which will get you running while you learn more on the go.

Data Structures 101
Data Structures 101
· ☕ 8 min read
Like most of the self-taught programmers, I spent a lot of my years dabbling with different technologies. But there comes a time in every programmer's life when they have to learn data structures and algorithms to proceed in their careers. In this post I will go through the basics of data structures, what purpose they server and what's common between all of them.

A Brief Evolution of HTTP
· ☕ 7 min read
In this post I have gone through and collected events related to HTTP and it's gradual development.

Difference Between Handler, Handle and HandlerFunc
· ☕ 6 min read
Are you lost between Handle, HandleFunc, and HandlerFunc? If the answer is yes then this post is for you. To understand these pretty well we need to be familiar with interafces. Although `interface` is just a keyword, it's confusing at first when you are switching from Python like language; which does not have a similar keyword.