My Skills
Systems
Linux/UNIX:
I have installed and run many versions of Linux, including Red Hat(and many variants including Enterprise edition and Fedora), SUSE, Debian(and many variants including Mepis), and Slackware, just to name a few. Of these, I had administered quite a few as servers of various types. At my most recent job, I ran both Fedora Core servers and Enterprise Edition servers.
At home, I run a Mepis server that acts as our gateway, firewall, and router. We just recently ran ethernet cables under the house, and I patched them into a wall plate, which then plugs into the switch for the house. Since security is a big concern for me, I setup a subnet exclusively for the wireless network. This was so that any wireless was able to gain access to the internet, but wasn't able to access our internal network.
Windows:
I have installed and run many versions of Windows. I started with Windows 3.1, and have installed and upgraded nearly each version since then, all the way to Windows XP. I have not administered any Windows machines on a regular basis, beyond my own, but can run them and any other software on them in an office environment without a problem.
Languages
PHP:
I have been programming sites with PHP for 3 years now. I have done numerous sites, from simple "brochure-ware" sites to larger "enterprise" level sites. I have done both backend and frontend programming. I have done ecommerce on large and small scales. I have worked with payment systems such as Linkpoint, Paypal, Google Checkout, and Authorizenet. I have done E-marketing solutions, helped to create a mass-mailing system that would allow each client to log on, update a mailing list(or retrieve that list from data collected from their website), and send a mass-mailing to each person, using their very own template for the email sent out. I have also worked with Smarty templates, and the PEAR php library(including the DB library for SQL).
Check out my
portfolio page for specific examples of sites I have worked on.
Javascript:
My javascript experience is limited, but of the things I have been given to do, I've done them as needed. I recently started getting into the AJAX arena, dynamically pulling data without having to refresh the entire page. Specifically, this was for Ashley Furniture stores in Charlotte, NC. They have a comprehensive internet-based system for their QA representatives, field agents, etc. to log into, and update or request information on sales orders, trouble tickets, etc. With each new section, we were able to add more and more of the AJAX functionality to the site, increasing speed of the website and decreasing the load on the server.
MySQL, PostgreSQL, SQL:
I started off working with MySQL, but eventually migrated to using PostgreSQL, largely because of the added functionality that MySQL did not have at the time. I am well versed in database design, having designed many of the sites' databases that was worked on. Nearly everything we did was dynamic, so it had to have a database system in place for it. There was also logs, for things such as any e-commerce, that we had to keep on hand. All of this had to be designed so that we could reference the material in one table from many others, without needless overhead. Due to having so many sites on one machine, we had to make sure that anything that ran, ran well and efficently.
BASH, Perl:
I used both bash and perl(as well as some php) for shell scripts while doing system administration on the servers. One of the things I had to do was add sites to the server. This included adding them to apache, copying the required files over(and ensuring the permissions were set correctly), possibly adding a HTTPS section to the site for secure communications(e-commerce especially), creating log files for each site, etc. A script was created, and later improved upon, that took care of much of this functionality. What previously had taken upwards of 30 minutes, and sometimes missed steps, now took less than 5 minutes from start to finish.
CSS:
My experience with CSS is beginner to mid-level. I know enough to do some of the basic things, I can pretty quickly find out how to do some of the more complicated things. But some of the work-arounds for I.E., Firefox, standards, etc I have not actually touched upon very much. I can, and will, learn though as time goes on, as I continue to develop websites both for myself(this one included), as well as friends and other potential clients.
C/C++:
My experience with C/C++ is purely classroom. However, I had a much better understanding of many of the concepts in the classroom than many others. And I can easily pick up most languages when given access to a syntax book. It might not be the most elegant code, but I can code nearly anything given to me, in any language that I need to(within the bounds of that language, and time constraints to learn that language's bounds).
Networking
Firewall/Gateway/Router:
I run a combination firewall/gateway/router on my home Linux machine. At work, I ran the same. I understand many of the underlying concepts of each, how and when to use them. I have personally ran and administered my personal firewall for over 5 years now. At U.S. NetworX(USNX), I administered the local machine for approximately 2 years. And before that, at SAIR, I worked with others administering the local firewall for approximately 1 year of the time I worked there. All three cases had separate needs. My personal one ensures nothing comes in, but allows me to leave the network unhindered. At SAIR, we had our web and mail servers at the office, so I had to make sure that certain traffic could gain access to certain subnets, but not others. Then at USNX, I had to open ports for VNC to allow certain co-workers to make demonstrations to clients who were in other cities, and sometimes other states.
Physical(Punchdowns, Switch/Hub, Ethernet):
While working at SAIR, we moved into a new building. I helped run the Ethernet cables, punch down both ends of the cables, and ensure they worked. I also helped create patch cables for the switch hook-ups. At home, I also did much the same. I've worked with 10/100 to Gigabit switches. I understand the differences between switches and hubs, and when it's important to use one or the other. Now days, it's typically best to just go with a switch, but at some point in the recent past, the price difference made this an important piece of information to know.
Virtual(TCP/IP, LAN, VPN):
I have worked almost exclusively on TCP/IP connections. I have administered quite a few LANs. I have even setup a couple of VPN's lately. In fact, I'm going to be working very soon on setting up a VPN for my LAN, allowing access from outside the firewall without compromising things.
Certifications
SAIR Linux/GNU Certified Engineer(LCE):
As part of the work environment at SAIR, I helped to create the tests. As such, I had to have an indepth knowledge of what we were working on. Through creating these tests, and learning the material surrounding them, I was able to obtain an LCE.
Comptia Linux+:
I took this test while working at SAIR, and passed. It included both hardware and software portions of the test, both of which I passed.