Home : Webmonkey : Geek Basics

primers on basic concepts that wanna-be geeks would find interesting

Webmonkey | Operating systems, Linux and computer basics | Perl

Webmonkey

Webmonkey is actually a derogatory term for an unskilled web worker. I liked the sound of it and, because I rarely take myself seriously, I use it as an ironic term to describe myself.

A true webmonkey would normally have a very rudimentary understanding of HTML and web concepts. As the name implies, a trained monkey could do their job.

If you want to pick up a lot of very old techie jargon, you can start with a search for webmonkey at dictionary.com

top

Operating systems, Linux and computer basics

Firstly, Linux is an operating system (well, GNU/Linux, if you want to precise). OK, that's probably not much help if you had to ask what it was. What is an operating system? Hmm, ok, some examples are Windows and Macintosh. But that probably still doesn't help all that much.

An operating system is a great wad of programming that bridges the gap between the physical components of your computer and applications such as word processors and spreadsheets. It provides you with, amongst other things, your animated menus, your mouse pointer, and your funky wall paper.

And here's the technical explanation - somewhat simplified: Your computer is made up of electronic bits (hardware) that communicate using electrical signals. One way or another, these bits of hardware are plugged into a large flat board, known as a mainboard or motherboard.

The mainboard has a bios, which is a computer program (software - ok, technically bios is firmware) that makes sure that the mainboard can talk to all the bits plugged into it. When you turn your computer on, the bios runs around, making sure everything it needs is there and making notes of what is plugged into it.

When it's ready, the bios looks on your hard drive for your operating system. The operating system actually incorporates a number of layers. But the basic philosophy is that each layer smooths out some complexities. This is done so that the programmer who wrote your wordprocessor didn't have to worry about the difference between writing to X brand of video card as opposed to Y brand.

We'll start with the kernel. The operating system's kernel is a thin layer of software that wraps around your computer's hardware. There's a lot of different types of hardware out there, and they all talk a little differently. What the kernel does is create standard interfaces with your hardware to smooth out the differences.

Next comes the shell. The shell is a very basic interface for humans. Its often a black and white text screen where you have available to you, command line programs to make directories, copy files, etc. The shell leverages off the kernel's interfaces.

Finally comes the Graphical User Interface or GUI. The GUI takes advantage of the tools provided by the kernel and shell, but gives you a pretty, graphical representation. If you move a file, you see a funky animation of a piece of paper moving from one folder to another while the GUI calls the shell command, the shell interacts with the kernel and the kernel instructs the hardware to actually do the job.

What the GUI also does is provide a set of tools to software developers. So Bob, who writes your spreadsheet program, doesn't have to worry about code for window controls and colours. This makes Bob's program smaller (because he needs less code) and makes his program easily look and behave like all the others that you'd run in that GUI.

So, essentially, GNU/Linux is a kernel, shell and GUI. And here's the bad news: by simplifying it to a couple of paragraphs, I've lost a lot of accuracy. For instance, Linux (and Unix in general) generally come with a choice of several shells which behave slightly differently. Linux/Unix also break the GUI into the X windows server, window managers and desktop environments. Its all about choice!

One of the really good things about Linux is that its free - yes, FREE. Well, if you don't count paying your Internet bill for the large download or paying $15 for a PC magazine.

The unfortunate thing about Linux is that it can be more difficult to install than windows. It may require a greater level of knowledge and interest in how your computer and applications work. However, a lot of effort has been put into usability over the last couple of years.You may like to check out RedHat, SuSE, Mandriva or Ubunto.

top

Perl

Perl stands for Practical Extraction and Reporting Language - its also affectionately known as Pathologically Eclectic Rubbish Lister.

As it's name suggests, Perl is very good when you want to extract a report from a heap of data. But its so much more. Perl is the type of programming language that cults form around.

To the outsider, Perl looks strange and unfriendly. But to the familiar, Perl's efficient syntax is a work of art.

Perl makes available an extensive assortment of default values and behaviours. Programmers who know Perl well can create incredibly succinct but powerful programs.

top