My Skillset

I have a wide ranging set of skills in using open source software. I also have a BTEC HNC in Commercial Data Processing. Here is a listing of some of my current skills.

Web Server Design

I have been designing, building and upgrading my own web servers in my spare time since late 2000. This site lives on a server I built, administer and maintain.

Linux Administration

I have been running SuSE Linux since version 5.2, 1999. Linux has come along way since then. Confident in installing and configuring the Linux OS, including the XWindows system, and KDE desktop environment for Linux.

My preferred Linux system at the moment is Fedora Core - which is sponsored by Red Hat, and is what Red Hat Enterprise Linux is based on.

Apache Web Server

Confident with installing Apache from source code. This includes configuring the source code and compiling in required modules. I administer Apache on this site.

MySQL Database Server

This covers quite a wide area, as follows:

OOP - Object Oriented Programming

Unlike procedural programming, OOP uses discrete data structures that contain the data to be manipulated, and the related functions/methods to process that data. The data inside each object is only accesses via the object's interface.

An object's interface is the collection of methods that can be called from outside the object. It is bad practice to manipulate the object's data by bypassing the interface.

This is one of the main principles of OOP - code to an interface, not the implemented code behind the interface.

That way, if the implementation of the code inside the object changes, the object still provides a consistent interface to the outside world. So code that uses the object does not have to be changed.

I found this book very helpfull in explaining the terms used in Object Oriented Programming: OOP Demystified by James Keogh & Mario Giannini.

Lyx Document Processor

Lyx is a program used to produce nice DVI and PDF documents.

LyX is a document processor that encourages an approach to writing based on the structure of your documents (WYSIWYM) and not simply their appearance (WYSIWYG). LyX combines the power and flexibility of TeX/LaTeX with the ease of use of a graphical interface.

On screen, LyX looks like any word processor; its printed output - or richly cross-referenced PDF, just as readily produced - looks like nothing else. LyX Document Processor

Bash Shell Scripting

To be updated.

UML - Use Case and Class diagrams

To be updated.

Phing - automated PHP project builds

To be updated.

PHPDocumentor

To be updated.

Unit testing and Test Driven Development.

To be updated.

Iconix Process.

To be updated.

PHP 5 server-side scripting

PHP is mainly focused on server-side scripting, so you can do anything any other CGI program can do, such as collect form data, generate dynamic page content, or send and receive cookies. But PHP can do alot more than that.

One of the strongest and most significant features in PHP is its support for a wide range of databases. The following databases are currently supported:

Adabas D, InterBase, PostgreSQL, dBase, FrontBase, SQLite, Empress, mSQL, Solid, FilePro (read-only), Direct MS-SQL, Sybase, Hyperwave, MySQL, Velocis, IBM DB2, ODBC, Unix dbm, Informix, Oracle (OCI7 and OCI8), Ingres, Ovrimos.

With PHP there is not much that you cannot do on the server - if the OS supports it, then PHP should also be able to do it.

core (built-in) PHP functions.

all PHP functions.

SQLite database engine

To be updated.

HTML 4.1 Hypertext Markup Language

This is the basic language that web pages are built from.

More about HTML.

XHTML 1.0 - Extensible HTML

XHTML 1.0 is HTML 4.1 reformulated as XML.

More about XHTML.

CSS 2.0 Cascading Style Sheets

CSS rules allow a website designer to set the visual style of parts of a page (the way an element 'looks'), and it's position on screen, for all elements of all pages in a website.

For each part of a web page, values such as background color, background image, border size, border style, border color, font style, font size, margin dimensions, padding size, positioning, tables and their elements, and text color, can all be set by using CSS rules in one style sheet. This makes altering the visual style or position of page elements really easy.

Any changes to a style sheet rule will be reflected for all elements that use that rule, across all pages of the website.

More about CSS.

Javascript client scripting

Javascript is a scripting language built into most modern web browsers. With Javascript you can check the data a user inputs into a form, and display a popup window to alert the user of any invalid input, before the form is submitted to the server.

You can also change the visual style properties of a web page's component parts in response to a user's interaction with the browser. This is often referred to as Dynamic HTML.

More about Javascript.

HTML DOM

When a browser loads a document, the browser builds a representation of the document's structure in memory, called the DOM (Document Object Model). The browser then uses the DOM in computer memory to display the document in the browser window.

The browser can detect any alterations made to the structure of the DOM by Javascript, and immediately update the page in the browser window, with the new values of the DOM. This is how Dynamic HTML works.

More about the HTML DOM.

DHTML

This not a technology, but a term refering to the use of HTML, CSS and Javascript. This is used to create 'dynamic' web sites, that make web pages appear more interactive to the user.

DHTML allows a website designer to change the content or presentation style of a web page, by using javascript to alter the DOM, in response to a user's interaction with the page. This can make the page appear more responsive and user friendly.

Any part of a page can be altered or removed, or hidden from view and made visible again.

The presentation style of any page element can be modified dynamically. For example, changing the border color of a form element into which a user has entered invalid data.

More about DHTML.

Firewall contruction with IPTables

Packet filtering (aka firewalling) is most commonly used as a first line of defense against attacks from machines outside your LAN. Packet filtering allows you to explicitly restrict or allow packets by machine, port, or machine and port. For instance, you can restrict all packets destined for port 80 (WWW) on all machines on your LAN, except for the machine that is designated as your web server.

Most modern routing devices have built-in filtering capabilities, and packet filtering has become a common method of security for machines connected to the internet. Although packet filtering is very flexible and powerful, by no means does it guarantee the security of your LAN, but it does go a long way toward protecting it.

More about packet filtering.

More about Linux packet filtering using IPtables.

AJAX - Asynchronous JAvascript and Xml

Javascript has a built-in XMLHttpRequest object which can send data to, and request data from, a web server. This allows part of an xhtml page to send a request in the background to the web server that the original page came from.

When the browser receives the data requested from the server, The browser can then use DHTML to update the current page with the new data received from the server. This is usually alot quicker than reloading a complete new page from the server.

More about AJAX.

TMDA - Tagged Message Delivery Agent

TMDA is an open source software application designed to significantly reduce the amount of spam (Internet junk-mail) you receive.

The technical countermeasures used by TMDA to thwart spam include:

This combination was chosen based on the following assumptions about the current state of spam on the Internet:

To maintain economies of scale, bulk-mailing is generally:

More about TMDA.

Last updated: Sun 24 Sep 06
Anti Gravity AAG site DISC Inc John R. R. Searl Roschin & Godin Marcus Device
Computing CentOS/RHEL

powered by Fedora Core Linux powered by apache2 powered by MySQL powered by PHP powered by ZEND
W3C Home Valid XHTML 1.0! Valid CSS 2 Valid Robots.txt