Programming always has been that “thing” people did that I never understood. You've heard me lament about my lack of programming skills through the years, and honestly, I never thought I'd need to learn. Then along came the DevOps mentality, and I started introducing programmatic ways of managing my system administration world. And you know what? Programming is pretty awesome.
Reuven M. Lerner starts off the programming issue with a great article on how to begin in the Web development field. If you're like me, and have been ushered into the programmer's world blindfolded and scared, Reuven has a great starting point for you. Dave Taylor also teaches us programming as he continues his lessons on scripting dates and counting days. For some reason, shell scripting doesn't seem like programming, and I'm far more comfortable doing it. If that sounds silly, that's because it is! Shell scripting is programming, and if you've ever created sysadmin scripts or even written batch files in Windows, your programming skills are better than you think.
Kyle Rankin addresses an issue this month that can be really frustrating if you're automating a cloud environment. If you spin up a server that gets assigned a random IP address, how do you address it from the rest of your infrastructure? He shows us his method of dealing with that scenario and teaches us about DHCP along the way.
I decided to continue our summer vacation a bit with my Open-Source Classroom column and talk about recreation. Last month, I covered health-related technology, and so this month, I'm discussing mental-health-related technology—namely, games, TV, books and music. Next month, will be all command line and learning, but here I focus on enjoying the technology that is supposed to make our lives so much easier!
Next up is Richard Delaney. If you've ever tried to automate your infrastructure with something like Chef or Puppet, you know that spinning up VMs on demand can be challenging. With Vagrant, creating a brand-new virtual machine is a simple one-liner. It supports multiple virtualization platforms, multiple host OSes and abstracts the underlying process. Richard walks through using Vagrant in your VM infrastructure.
Mihalis Tsoukalos dives deep into programming as he shows how to create three-dimensional graphics with OpenGL. While creating a cube on the screen isn't exactly a contender for Game of the Year, the process is an invaluable building “block” for developing with OpenGL. If you want to manipulate graphics in your applications, Mihalis' article is a must-read.
As data centers grow, and IT budgets shrink, managing massive numbers of systems gets overwhelming quickly. In fact, gone are the days when a crusty old system administrator (ahem, me) can configure all the servers one by one and maintain them all him or herself. Mark Burgess describes Promise Theory, which is a framework on which to design and configure massive distributed systems. If you need to re-invent the way your data center works, Promise Theory is a great way to think.
Linux traditionally has been so flexible that it often is considered a one-size-fits-all solution to technology needs. For many use cases, that's still true. If your organization needs a custom Linux distribution or needs to develop something slightly different from what a mainstream distro offers, that flexibility proves to be malleable as well. David Brown walks through customizing a Linux operating system to fit specific needs, including custom development and system modifications. Rather than create a new 'buntu variant, David shows how to tweak existing distros to meet your needs.
I'll admit, programming still is scary territory for some of us, myself included. In this issue, we ease into some of the “development mindset” where we are no longer just consumers, but creators. The beauty of open source is that we get to build on the brilliance of others, and knowledge is freely shared, not guarded like a secret.
We've also included a plethora of non-development content this month. Whether you're a sysadmin, a Linux enthusiast or just someone looking to play some cool games, the August issue aims to please. We hope you enjoy this programming issue of Linux Journal.