The Pros and Cons of Eating Your Own Dog Food

Design Philosophy On Packaging

Prelude This post is part of a series of posts designed to make you think about your own design philosophy on different topics. If you haven’t read this post yet, please do so first: Develop Your Design Philosophy After this post, read this next one: Package Oriented Design Int...

Go 1.8 released. What is new?

Go team has released new version on February 16. You can get it from the download page. To celebrate the release, Go User Groups around the world are holding release parties this week.

Exploring shared objects in Go

This is a long overdue follow up to my glibc’s dynamic linker/loader post from last year. With the Go 1.8 release around the corner, which adds support for dynamic plugins, this is a good time to revisit the topic. Plugins in Go are described by Ian Lance Taylor in the &ldq...

Introducing Mastering Golang Programming

For the past year, I had worked really hard with Packt publishing on building an advanced video course about the Go language called “Mastering Go Programming“. Mastering Golang Programming is an extensive video course on the world of the Go language. The Go programming lang...

Perfectionism and Programming

Design Philosophy On Integrity

Updated on February 10th, 2017 Prelude This post is part of a series of posts designed to make you think about your own design philosophy on different topics. If you haven’t read this post yet, please do so first: Develop Your Design Philosophy Introduction I want to share with...

Naming tests to self-document

Go doesn’t specifically enforce you how you choose your test names. Tests are a significant contributors for the maintainability of your code. Tests not just providing correctness checking but also are useful in self documenting your code and its usage. On top of that, test...

Develop Your Design Philosophy

Prelude This post is part of a series of posts designed to make you think about your own design philosophy on different topics. I will not be laying out direct examples to prove my own thoughts and ideas. It takes me two or three days in the classroom to do that and it’s why I...

TCP/IP Networking

Connecting two processes at TCP/IP level might seem scary at first, but in Go it is easier than one might think.