Hire Me
This is my current resume / CV.
TODO: Time to update this.
The contents here are out of date.It also might be a good idea to put this under the User:leo namespace.
Objective
To obtain a position as a Junior System/Network Administrator that will enable me to learn new concepts and systems while building on my existing server administration experiences.
Relevant Skills
TODO: This section needs to be reorganized a bit better. Also, may want to include:
- ZFS, powershell
OPERATING SYSTEMS
- 20+ years of server experience with Linux (RedHat, CentOS, Debian)
- 21+ years of desktop support experience for Windows XP/Vista/7
- Past experience with UNIX (Solaris, FreeBSD), Windows Server
NETWORKING
- Understandings key concepts of TCP/IP, IP Routing, VLAN, LAN, NAT
- Familiar with physical network maintenance, software firewalls (IPTables), NAS appliance
NETWORK SERVICES
Can Setup, Configure and Support: HTTP/HTTPS (Apache 2, Litespeed), SMTP (Sendmail, Postfix), POP/IMAP (Dovecot), DNS (Bind), DHCP, NFS, NTP, FTP, PXE/TFTP, Nagios, Samba
SECURITY
- Experience with setting up using Kerberos and LDAP authentication
- Can perform security analysis via log processing, packet analysis, tcpdump, and penetration testing
WEB
- 18++ years configuring and deploying applications under the LAMP stack
- Customize templates for WordPress, Drupal, WHMCS, Kayako Support Suite
- Experience with installing and using cPanel/WHM, Plesk, SolusVM, HyperVM, Webmin
PROGRAMMING
- Coding: Java, C#, PHP, Python, HTML + CSS, Javascript (AngularJS, jQuery, nodejs), C, C++
- Scripting: bash/sh/sed/awk, Perl
- Database: MySQL/MariaDB, SQLite, PostgreSQL
- Debug: C, C++, gdb, strace
HARDWARE
- x86/64 Hardware, KVM switch, Serial, RAID, Tape- and Disk-based archiving
- Past experience with Sun and Dell server hardware
OTHER EXPERIENCES
- Can Setup and Use: Subversion, Squid, XEN, OpenVZ, VMware ESXi
- Past Experiences with: Squid, LPD, NIS, QEMU, CFEngine 3
Education
- Bachelor of Science in Computer Science, University of Calgary
- August 2007 - May 2011
- Notable courses: CPSC 550; System Administration with Darcy Grant, Wayne Pearson (2010 – 2011)
Work History
Linux System Administrator - University of Calgary
October 2013 - Current (Full Time), http://ucalgary.ca/cpsc
I am currently a Linux system administrator that oversees servers and workstations for the department of Computer Science at the University of Calgary.
My primary task is to provide a consistent and reliable computing environment for research and teaching by supporting all Linux-based servers and workstations along with their applications and services. I am also primarily responsible for the proper function and operation of the department's firewall and intrusion detection system.
Secondary tasks include:
- Test and roll out new versions of Fedora and CentOS yearly.
- Provided support (via desk-side, phone, email) for faculty, staff, and students, including Windows and MacOS support
My other achievements include:
- Integrated Linux workstations and servers with Windows Active Directory
- Maintain and update a private package repository, including creating custom packages for servers and workstations
- Developed many in-house applications including:
- PokeAPI - A RESTful API that facades data from multiple sources including LDAP, data warehouse, databases, and file servers
- User Telemetry - to gather computer usage in our undergraduate labs
- Displays - A web-based tool for managing contents for digital signage across the Faculty of Science
- The CPSC Guide - A GUI tool that helps students do common tasks rather than through the command line
- CS Agreement - A Windows/Linux application that allows students to agree to AUP before using our computers
- Created an automated build system for workstations and servers to automatically deploy machines and configures its DNS and DHCP configuration (similar to Window's SCCM)
- Installed and maintained services for teaching and research including WebCAT, OwnCloud, Moodle, cPanel+CloudOS
- Rolled out ZFS file servers on undergraduate servers, enabling self-served file restore through snapshots
C# Developer - Onstream Pipeline Inspection Ltd.
May 2011 – September 2013, http://onstream-pipeline.com/
I was one of two C# developers at a pipeline inspection company, developing their new version of pipeline analysis software.
- Debugged existing in-house software written in Borland C++ on the Windows platform
- Developed the next version of their analysis software from scratch using C# .NET4
Freelance Web Developer & Designer – Steamr
June 2005 – Current (Freelancer), http://steamr.com/
I am a freelance web designer and developer and provided clients primarily in North America with custom web designs and applications. I am responsible for ensuring projects are completed on-time, on-budget and satisfies client requirements.
A sample of my work can be found on my portfolio at: http://steamr.com/portfolio
Responsibilities:
- Consulted with clients for every project for budget, timeline and user requirements and delivered frequent deliverables and project updates.
- Created and deployed custom web designs from scratch using Adobe Photoshop, Illustrator, Notepad++, and half a dozen web browsers.
- Ensured all websites were optimal, standards compliant, cross-browser compatible, and search engine optimized (SEO) based on web analytics.
- Created and maintained over 20 projects under the LAMP stack, along with using PHP frameworks and libraries including: Kohana, CodeIgniter, FPDF, Smarty.
- Created over 40 individual websites from scratch for businesses and individuals.
- Customized design themes for WHMCS, SolusVM, Kayako Support Suite for hosting companies.
Related Work:
- Previous webmaster for nworks.ca, gtcomm.net, unmeteredserver.net, zenprotection.com
- Responsible for updating content and promotions while ensuring website correctly interfaces with the point of sale application.
- Developed an internal network management application for gtcomm.net in PHP utilizing MRTG. Abnormal network patterns will notify an administrator via email and SMS.
- Created a distributed network monitoring system based on Java, PHP and MySQL, which utilizes http and ping tests to determine the availability and latency of remote services. Results are then recorded and monthly reports generated.
- Designed the front-end of an in-house inventory system used by gtcomm.net used to track networking/server hardware along with managing available IP pools.
- Designed the front-end of an in-house project enabling end users to purchase and manage DDoS protection services by zenprotection.net.
Server Administrator - SwiftHost.net
January 2004 – May 2009, http://swifthost.net/
Created a hosting company with a partner, focusing on affordable shared and reseller hosting. Servers utilized were based on the LAMP stack along with the use of the cPanel control panel.
Responsibilities:
- Managed production servers hosting over 400 individual websites
- Responsible for responding to the majority of customer support tickets within 6 hours for issues under the technical, abuse and billing department.
- Technical issues handled by me ranged from fixing simple permission issues to handling requests for specific software such as Apache/PHP modules, system libraries, and Caching / PHP Accelerators
- Performed security audits and server hardening by disabling or restricting services, configuring the firewall, detecting compromised websites and spam control in a shared hosting environment.
- Configured weekly, network-based backups to an off-site location using cronjobs, rsync and shell scripts. Performed account or file specific restores from backups.
Projects:
- Designed a custom billing solution for account management using PHP, MySQL and the PayPal API.
- A status page which monitored and reported live server status information such as processor load, traffic load, service availability, memory usage to customers.
- Developed a custom web control panel, similar to cPanel, targeted to free hosting accounts. The control panel based on PHP, MySQL, Shell + Perl Scripts, enabled end users to manage their websites, domains and databases while automatically maintaining and enforcing disk and bandwidth quotas.
AS/400 Night Operator - Calgary Programming Factory
May 2007 – July 2007
Worked as night operator as part of the AS/400 support team for an insurance company as a summer job.
Responsibilities:
- Operated the tape backup system, ensuring backups are valid and without errors.
- Operated the AS/400 system to print system logs and claim checks
- Ensured paper was loaded and aligned properly to the printers before printing
- Researched feasibility to migrate their existing projects based on JSP servlets to ASP.NET
Personal
- Canadian; Speaks English & Cantonese
- Interest in UX design, Web Design & Development, Web Hosting, Data Mining, Penetration Testing
- Enjoyed systems administration during my undergraduate studies and wants to learn more.