-
A look into Go Scheduler’s Design
Go is a relatively recent language designed with concurrency first in mind (from introduction to Go byRob Pike). Its standard library is state of the art code written by coders who worked on Unix. My focus in my grad studies, from general to specific was Distributed Computing -> Concurrent Algorithms -> Shared Data Structures. I…
-
How Kubernetes works? (II)
In the previous part we talked about K8s architecture. In this post we talk about running a cluster and deploying an app to it. We are going to get started with K3s which is a lightweight version of K8s. It only contains the main components of Kubernetes. Since I don’t have a network of VMs…
-
How Kubernetes works? (I)
When you Google “why kubernetes is freaking hard to learn” you’ll discover thousands of results. It appears that learning how to work with Kubernetes is not easy, especially for people who don’t have backgrounds in software engineering or DevOps. It could be a nightmare for those who haven’t had experience deploying applications to VMs or…
-
About Time
This article is about how we keep time in our computers. First, let’s talk about the physical clocks in the world. There is no completely accurate physical clock; one clock runs slightly faster, and another clock runs slightly slower. This error can become quite significant over time. Even a clock with a 1 ppm skew…
-
Concurrency in Go
I chose GoLang to implement the algorithm that I was working on in my masters. You can find my repo here. After this experience I wanted to write on Go’s concurrency as a newbie gopher. Concurrency was important to Go designers so they developed it built in. Instead of using threads to achieve concurrency like…
-
Why Reads and Writes are not enough? (I)
For the past two years, I have been focused on Distributed Computing, and I feel pretty comfortable explaining ideas on this topic (at least, I think). So I start with a simple problem for complete strangers to the topic. For years, Intel, AMD, Apple and … market their products with the number of CPU cores.…