View this list as a table.
Apache is a web server that I have used extensively since 2007. I'm very comfortable installing, configuring and updating the Apache HTTP server. I often have local Apache servers on my work machine where I do test work, which is then uploaded to the live server for production purposes.
I began writing browser extensions in 2011 when I made Zearch for the Zappos API Developer challenge. I wrote that extension with portability in mind, and separated code in such a way to have the core functionality easily transition from Chrome to Firefox.
At Sable Systems, I shifted into a firmware development role in September 2012. This role required me to learn how to program PIC18/24/32 microprocessors in C using either the HI-TECH PICC18 compiler or the XC8 compiler. I have maintained several pieces of firmware and written one from scratch.
I first encountered canvas while working on wsilent, but didn't actually use it and develop with it until I worked on fusion.
I began to adopt Composer in mid 2012 as a dependency management tool. Initially, I used it purely as a consumer, configuring a composer.json file to download and update dependencies for SableOPS. However, I later put both Indigo and DOMi on Packagist and began to use composer as a provider.
I've been using CSS to style web pages since mid 2006, when I switched from table based designs. I now do all style in CSS and try to have as little markup in the HTML as possible. I constantly try to find new techniques to further streamline my styles. While I admit my design skills are lackluster, my knowledge of CSS is not at fault for that.
I first used Drupal in 2009, but didn't really jump into it head first until mid 2011. I was initially unimpressed, but the more time I've spent with the system, the more I've come to think it's far-and-away the best platform I have used. I do all new work on Drupal these days, even converting this portfolio site from WordPress to Drupal in the summer of 2011.
I used the Google API for my Team Liquid Calendar project, specifically using the Calendar functionality to insert new events into a public calendar.
I began writing Greasemonkey scripts in 2008 for my GreasedPMA plugin for PHPMyAdmin. I don't use Greasemonkey as much since early 2011, when I learned to write proper browser extensions in Chrome and Firefox and now use that for browser modification.
I have been messing around with HTML since the mid 90s, but didn't become a professional web developer until 2006. Since 2007, I have done all of my designs using tableless designs relying on CSS for styling. I currently use HTML 5 for the majority of my new work.
I began to use Kohana 2.x in late 2008 when tasked with building SEO Worldwide. A colleague had begun working with it and highly recommended it. I immediately loved the ORM and the views and used Kohana exclusively for a few years.
I was unimpressed with Kohana 3.x and made the decision to stick to 2.x. I did not like the changes, especially the removal of the event system. In recent years, the lack of a coherent menu, permission and page layout system began to irritate me, and I switched all of my work to Drupal 7.
Linux has been my sole web development platform since 2007. I do all of my work on a local LAMP server and upload it upon completion. I chose to do it this way, rather than use something like WAMP, because I wanted my work environment to be as close to my production environment as possible. I tend to use Virtual Machines to set up Linux machines to do my work at home, and keep my work computer as purely running Linux. Because of this, I am extremely comfortable in Linux, both through the GUI and through command line.
MySQL is the only database engine I have ever used, but I have yet seen a driving reason to look into others. I have set up and maintained dozes of MySQL databases, and am capable of writing custom MySQL queries of all kinds.
I first heard about nodejs in March 2011, but didn't use it very much until I began work on wsilent in September 2011. Most of my nodejs work has specifically involved the socketio library for fully duplexed communication between client and server.
I first used OAuth for my Team Liquid Calendar script to connect up to the Google API and access my calendar to store the events from the TL Calendar. Since then, I have used the Salesforce API, running OAuth1 and the Quickbooks API running OAuth 2 to authenticate a user and exchange data. I have always been on the OAuth client side, and never on the server side.
PHP has been my primary web development language since 2006. The LAMP stack, in particular, has been my workspace. While I've dabbled in other server-side languages, such as Java and nodejs, I always return to PHP for most of my work.
I've wanted to broaden my horizons outside of PHP since around 2010, but my first real attempt was in 2012 with some light Python work on projecteuler.net.
I have used regular expressions primarily for scraping HTML to identify blocks of code for further parsing. I have used it extensively and have used nearly every facet (that I am aware of, at least) in significant, practical ways. This has ranged from simple email / URL validation to mass-editing of a .csv to change the structure of certain fields.
I began using SASS when Drupal's Zen theme started to support it. I instantly loved the power of it and how it supported functionality that I long desired in CSS, specifically nested selectors and variables.
When I first started at BDI, there was no VCS used on any systems and a lot of development work was done live on the server. I quickly fixed this and implemented CVS on all systems to better manage projects and prevent live edits from impacting customers.
After a few months of CVS, I quickly became annoyed with the system and it's tagging / branching system and transitioned all systems over to subversion. I much preferred the way subversion handled tagging in an arbitrary fashion and stayed with it for several years.
In 2011, I was forced to learn git when I began the statepicker module, since that was on Drupal.org. I had a github.org profile already but had not used it. I loved the distributed nature of git and began my new projects on git and began to transition away from subversion.
During my time at Sable Systems, International, VB .NET became my primary language. I began to use the language to maintain the existing software suite, but am in the process of migrating towards C#, which I have come to consider a superior language.
While I never did extensive modification to WordPress sites, I am comfortable setting them up and using them. I built my original portfolio site on WordPress and used it actively for 4 years before deciding to switch to Drupal.
From 2007 until 2009, I preferred using XML / XSL to power websites. I wrote the DOMi library for PHP to aid in this, before switching to Kohana and straying away from XML / XSL. I still am comfortable writing XPath queries to navigate around XML trees, but even for data storage I've come to prefer json's simplicity.
I used XSL from 2007-2009, but have since shifted away from it. While I still think it has some great uses, I find it to be too unwieldy for most purposes, requiring extremely large amounts of code for fairly simple tasks. I still use it occasionally on some legacy systems, but no longer write new systems with XSL capability in mind.