13 August 2013


by mo

Today I completed the second day of Jesse Storimers 2 day Unix-Fu Workshop. This is an online class that focuses on teaching unix from the perspective of a ruby programmer. This was a fantastic introduction to unix and I really appreciate the code focused examples. This class is very practical for ruby programmers.

Jesse has lots of practical experience and was able to demystify many of the questions I had in my mind about things like unicorn, shells, evented servers. (e.g What does that unicorn.rb config do?)

This course was streamed online with the class asking questions via a campfire chatroom. As part of the course Jesse records all materials and makes that available to students. There’s a github repo for the class to do exercises and we all get a copy of his book, Working With Unix Processes.

I highly recommend this course to any ruby programmer who wants to get a better grasp of unix systems. If you want to have a better understanding of the tools that you use everyday, then this course will help you.

More information on the course can be found at The Unix fu workshop

Some topics that Jesse taught us about include:

  • Man Pages
  • System Calls
  • Process Anatomy
  • fork(2)
  • copy-on-write
  • pipe(2)
  • exec
  • socketpair(2)
  • shell pipelines
  • file descriptors
  • deferred signals
  • daemonizing
  • Inter Process Communication (IPC)
  • file locks

Examples include:

  • mini resque clone
  • mini unicorn clone
  • mini bash clone
  • evented server