Chris Kirkland

Software Engineer / Math Nerd / Barbershop Enthusiast


Welcome to my new website powered generated by Hugo, created by spf13, with the theme Blackburn. This will serve as both my professional webpage and semi-professional blog. Professionally, the blog will follow my experiences working with OpenStack and developing in Python/Bash/Golang. Additionally, I will probably blog about my time spent studying Go. For backgroud information, see the About Me page.


Motivation My name is Chris, and I have a problem. Hi, Chris. In all seriousness, I’m not sure I would call it a problem but I am (admittedly) obsessive when it comes to efficiency in my every day life. Finding little ways to improve how quickly I can complete day-to-day tasks is a game that I constantly play. I realized recently that my morning routine of making breakfast follows the general principles of least-constrained optimization: toast starts first, then tea, then coffee (instant kettle FTW) because tea has to steep and toast has to, well, toast which takes the longest.

Cellular Automata (part 2)

Goal Around two months ago, I created a blog post for my weekend project demonstrating 1-dimensional Cellulator Automata; you can see that post here. Since then, I’ve started looking more into more current Web Development technologies including some of the videos from Travis Nielson’s fantastic youtube channel addressing topics in Web Development and full process design. Through those videos, I was introduced to the preprocessing/templating languages Pug (formerly Jade) and Sass for HTML and CSS, respectively.

Cellular Automata

Inspiration It has been several years since I’ve touched any front-end web technologies. Past projects included: Rebuilding the Mercer University Computer Science deparment website. Building a personal website for hosting syllabi, course materials, etc. while teaching in Grad school. This blog; built using Hugo which is technically cheating. So recently I’ve been looking for an excuse to brush up on JavaScript, in particular. The inspiration for this side project came from this video from MPJ’s popular series “Fun Fun Function”; if you haven’t seen any of his videos already, shame on you.

Python Thread IDs

Python threading module and thread IDs In multithreaded Python applications, keeping up with what is happening in each thread can be nonintuitive. Context As a motivating example, consider the benchmark harness Rally. Rally makes heavy use of parallelism, through both the multiprocessing and threading Python modules, to provide concurrency for benchmarking. Consider a simple Rally scenario where the user wants to create a network, subnet, and boot a VM attached to that subnet.