My Skills
You can find a detailed summary of my skillset below. My skills include:
- Linux/Unix administration
- Apache installation and configuration
- MySQL installation, tuning and configuration to DBA level
- Extensive experience of object oriented PHP 5 (> 4 years)
Continuous Training
My experience in the technology areas above is underlined by two 1U rack servers I own and maintain in colocation across England. These use VMWare to support multiple virtual machines, allowing me to simulate a wealth of development environments and situations and test out various technologies.
My hardware is used to run my own suite of servers including an SVN server, a backup SVN server which replicates data from the first in real time, a Postfix server, a backup Postfix server which replicates data in real time and performs automatic hotswap in the event of failure, two Apache servers, a master and slave replicated MySQL server setup, a Squid server and a dedicated SSL secure Apache server.
You can read about the specific skill areas I have below.
Distributions
- Scientific Linux (Redhat Enterprise clone)
- CentOS (Redhat Enterprise clone)
- Mandriva
- OpenBSD (Unix)
Software / Services
- Apache
- Dovecot (POP / IMAP)
- IceCast (Streaming media
- IPTables (Firewall)
- PHP
- Postfix (SMTP)
- Shoutcast (Streaming media)
- SSHD
- Squid (Proxy)
- Subversion (Server and client)
Platforms
- Linux
- Unix
- Windows
Configuration
- Directory permissions
- Name based virtual hosting
- SSL
Administration
- Backup procedures
- Permissions granting, revoking
- Replication setup, starting, stopping and troubleshooting
- User account creation
Performance Tuning
- Index creation
- Query analysis (using Explain keyword)
Storage Engines
- Archive
- Blackhole
- CSV
- Federated
- Innodb
- Memory
- Merge
- MyIsam
SQL
- Inner joins
- Outer Joins (Left and right joins)
- Stored Procedures
- Triggers
Basic
- Arrays (Creation, foreach, sorting, splicing)
- Configuration (Max memory allocation etc - php.ini)
- Core logic (IF statements, looping etc)
- Exception handling and throwing
- File manipulation via fopen and file_get_contents
Daemons and process control (Using pctnl)
- Child processes
- Chrooting
- Exclusivity (ensuring only one instance of a daemon can execute)
- Linux/Unix signal trapping and handling (eg SIGHUP,SIGTERM etc)
- User switching
Databases
- MySQL (Using libraries mysql, mysqli and PDO)
- SQLite (Using PDO)
Object Orientation
- Abstract methods and properties
- Autoloading
- Classes
- Inheritance
- Interfaces (Using implements keyword)
SOAP
- Calls to a SOAP web service
- Creation of a SOAP server
Templating
- Extensive Smarty experience