Generating Images of Graphs in Golang

One project I have been considering doing the last few days was generating an image of all my blog posts and how they relate to one another. In a sense, it would be a giant neural network, because every time I link two of my blog posts I link them in my brain as well. […]

Multithreading: Common Pitfalls

Deadlocks, Starvation, Livelock and Race Conditions If I had an hour to solve a problem I’d spend 55 minutes thinking about the problem and 5 minutes thinking about solutions. – Albert Einstein  Deadlocks, starvation, and race conditions are the bane of multithreaded programming and they can bring down any system in which they occur. Defining the […]

Multithreading: Dining Philosophers Problem

The Problem According to Wikipedia the Dinning Philosophers Problem is described as follows: Five silent philosophers sit at a table around a bowl of spaghetti. A fork is placed between each pair of adjacent philosophers. (An alternative problem formulation uses rice and chopsticks instead of spaghetti and forks.) Each philosopher must alternately think and eat. However, a philosopher can only […]