Documentation

This week we have been discussing hiring some new people in the extraction department. Our current documentation situation is poor, at best. In the past few months, I’ve been experimenting with a GitLab installation to function as part code repo, and part documentation host. It’s not exactly tuned to be a documentation host, but it’s easy to use, and readily available. I appreciate the built in wiki features, and easy-to-adopt .md markdown language.

There are of course more thorough, proper solutions we could be implementing (and surely I’ll be shooting myself later for going this route), but for the time being, setting up wikis in our project spaces is infinitely better than what we are doing today. At worst, it gives us a starting point to have the kind of conversations that lead to better documentation systems all around. At best, we can hire a new guy and point him to our books.

Linux

I’ve also been helping a colleague wrap his head around linux systems. Not that I’m any sort of expert, but I’ve been dabbling in various linux environments for around seven years, so I can at least lay claim to “novice.” This has been an awesome experience, because I get to pass on my very limited knowledge, and witness the same frustrations I had while getting accustomed. We are starting with 14.04 Ubuntu Server, and Xubuntu Desktop. He’s mostly been learning common ways to interact with Bash, SSH, and the proceedings of installing Wordpress into a LAMP stack from their Famous Five-Minute Install. He’s also taken it upon himself to start with vim, completely forgoing more simple tools like nano or pico. That’s quite the ambitious way to dive-in, but I admire his tenacity!

In the past few days, he’s been experimenting with moving a WP installation into different directories, and learning about typical problems with permissions, and Apache. We discussed the many different ways Apache, folders, and permissions can be set up, and how most of them are bad ideas for various reasons. It was a fun topic, because one of the most common and aggravating issues people come across when getting accustomed to ‘nix is the newly required appreciation of file permissions.

In the very beginning, I told him to just leave owner:group as www-data, and use sudo as needed. These are just trash instances in a virtual machine while he explores how to use Bash and do cool things anyway. He quickly took grasp, and was eager to learn a more appropriate way to set up the file structure. The process we decided on for the time being is the general idea of 750 user:www-data.

I also got to show him the cool trick of greping for text within source code files in the system, i.e. grep -r "hotdogs" /path/to/search. That, and similar things, are some of my favorite moves. It’s really helpful when chasing down the location of some generated content in a large templated application.

Other thoughts

I keep bouncing ideas of how to kick start my .rb programming skills. I’ve read a book on rails, built some minimal simple apps mostly using the generators with minimal editing. Done the codeschool .rb class. Watched some presentations. Ruby is an awesome language. I need to work on the Client Target Proxy Manager.