HMAC Basics in Go

In cryptography, a keyed-hash message authentication code (HMAC) is a specific type of message authentication code (MAC). It involves a cryptographic hash function in combination with a secret cryptographic key. As with any message authentication code, it may be used to simultaneously verify both the data integrity and the authentication of a message. Any cryptographic… Read More »

Set Auth Header Using cURL

If it comes to testing REST APIs I’m a big fan of Postman. But for quick and command line testing I always prefer to use cURL. For developing and testing protected endpoints we need to pass an authorization header. How can we do this with cURL? Example of using Bearer tokens: Example request (invalid token):… Read More »

Bulk Upload to S3

Install and configure AWS command line tools. Run following command to upload content of a directory from your local machine to the given S3 bucket: $ aws s3 cp <path to your src dir> s3://bucket-name/folder-name –recursive If you have configured IAM role, policy and profile that restrict access to S3 you should use the command:… Read More »

How to Rename Git Branches

You type fast. One more function, one more docstring, one more test. You run ‘make test’. You see all tests green. You are ready to commit, push and finally start the weekend (yes, it’s late Friday afternoon and your colleagues are about to start production deployment). Oh, you suddenly realise that you named the git… Read More »

How to Forward SSH Connection

Meet Joe. From time to time he works from home. He needs to connect to his linux machine in the office. Also, from time to time he connects from home to his office linux box, and from there to the Jenkins CI server provisioned in company’s development AWS cloud environment.

How to Install Golang 1.10.3 on Ubuntu 16.04 LTS

Golang is an open source programming language developed by a team at Goole. Recently Google has released latest version 1.10.3. This short tutorial will guide you how to manually install Go version 1.10.3 on your machine. We assume you run Ubuntu 16.04 LTS operating system.

Python Progression Path – From Apprentice to Guru

Many new programmers who started learning, working, and playing with Python ask a question about progression paths. What should I learn now, what library, packages, techniques should I focus on to dive deeper in this beautiful language.