I’ve been learning some new and fun computer tech lately, mostly related to web development. I’m glad that my job allows me the time and even the motivation to dive in and learn some of this. Here’s a look at some of the things I’m trying to get my brain around lately:
Command Line and SSH: Command line is probably old hat to all the Linux and Dos people out there but pretty new to me. Command line lets you execute things on a computer (or server) by typing in commands to a terminal. Mac and Linux users get a terminal built right into the OS, as Unix (a command line OS) is built into the core of these. The benefit of typing in commands to a computer instead of navigating around a GUI (graphical user interface) is efficiency and speed. From what I’ve learned this is a much quicker way to run things and make changes. I’m still learning some of the basics, so we’ll see, but I’m eager to learn if it’ll speed up a lot of routine tasks. SSH (secure shell) lets you execute command lines to a remote server.
Drupal: This is a big one with a fairly steep learning curve. Drupal is a free, open-source, content management system (CMS). In other words, it’s free software that helps you build websites. It sits alongside the other two big CMS’s on the market, namely Joomla and WordPress. Drupal is considered to be the most powerful and flexible of the three, yet also arguably the hardest to learn. According to it’s website it has 24,000 modules (plugins), 1,800 themes, and over a million users. So it’s fairly big. =) I’m learning Drupal because I’m getting serious about making websites and want something that’ll help me take my abilities to the next level. I don’t expect to master this anytime soon, but it will set me up to make some fairly large sites without too much trouble. It’s very flexible and you can build just about anything you want with it. It’s a lot like Lego’s. Drupal gives you the building blocks and you just have to snap it all together in whatever shape you want. The sky’s the limit. Just have to get over that learning curve first.
Drush: What do you get when you put Drupal and command line together? You get Drush (Drupal shell). Drush is a command line tool used to modify, edit and maintain a Drupal website. It has all the benefits of command line plus the ability to work with Drupal. From what I’ve read if you’re going to use Drupal, Drush is a must.
Virtual Machines: This is also sorta tied with the command line, but it also relates to development. I’ve been getting some practice setting up and configuring virtual servers using something called Virtualbox. Basically virtual box allows you to create a virtual computer, or in my case a virtual server, on your home computer. This is useful for creating websites because I don’t have to upload stuff to a remote server to test things out. I can test things out on my laptop. Very handy.
LAMP: Lamp is an acronym for the four magic ingredients on a server. L-Linux, the operating system, A-Apache, the web server component (the part responsible for serving up pages), M-mySQL, the database that stores everything, and P-PHP, the server side programming language. You see these four together a lot on web hosts and I figured it was about time I tried to learn and configure this myself. I plan on installing Drupal on a Lamp stack for development purposes. So far so good.
PHP: As noted above this is a programming language found on a vast majority of websites. You pretty much can’t work with anything on the web and not run into PHP in one way or another. All the major CMS’s use PHP. I’ve been fiddling with PHP for years and although I have a programming background I haven’t bitten the bullet to actually sit down and learn it. It’s about time I bit the bullet.
So as you can see I have quite a lot on my plate. But it’s sorta neat to see how all the different parts fit together. It makes the web a little less mystical when you open up the hood and see all the moving parts. Websites have been a hobby of mine for several years. It’s fun to take it to the next level. This will also help me do a better job with the projects we’re working on, as well as anything else that might come along in the future. Bring it on!