Skills & Acronyms

  • JavaScript / JScript – I’ve been scripting with Javascript for as long as I can remember. Netscape was the leading browser and Javascript was still in its infancy. I’m afraid to look at my earlier work, as I’ve gotten so much better and have learned so much more over the past several years. With the popularity of Javascript frameworks such as Mootools and jQuery, I’ve dedicated even more time to this widely misunderstood language. My production-ready Javascript is always compressed, packed and obfuscated. My HTML pages rarely have any inline-scripts, as I reference these compressed JS files for better performance.
  • Mootools / jQuery / Dojo – Mootools is my framework of choice for most web applications, while I use jQuery almost exclusively in my WordPress sites. I’ve built many complex web applications and widgets that using Mootools, and I’m very comfortable building any type of application with this Javascript framework. My Mootools code follows object-oriented practices and are quite configurable. Microsoft has adopted jQuery for its ASP.NET AJAX Javascript framework, so I am comfortable using jQuery if Mootools is not desired.
  • Widgets / Gadgets – I’ve built several complex Javascript widgets in Mootools that can be plugged into any web page or browser that supports extensions (Chrome).
  • JSON / JSONP – JSON is my data interchange standard of choice. It’s lightweight (usually smaller than XML) and easy to use. I prefer using WCF JSON web services to supply my web applications with data via AJAX. I use a lot of JSON in my Mootools apps. I am also quite comfortable with JSONP, as it allows me to grab JSON data from servers that are found on a different domain. I’ve written JSON services in both ASP and WCF. Twitter and Foursquare also use and favour the JSON format for their respective APIs.
  • ASP / ASPX – A good portion of my last decade was spent building ASP-based intranet applications, using VBScript, Javascript, CSS and HTML. The “old way” of doing fancy AJAX was using hidden IFRAMEs – it worked well and applications were very magical. The second half of the decade was spent writing ASPX applications in .NET. Many of my ASP and ASPX applications communicated with SQL Server and Access databases, either directly or through Stored Procedures.
  • PHP / WordPress / SEO - I use PHP for building and modifying WordPress applications. My WordPress templates can access both MySQL and SQL Server data quite easily. Through my experience with WordPress and templated sites, I’ve gained a better grasp of SEO and its related strategies.
  • JSP / JSP 2.0 – the transition to working with JSP pages has not been difficult, as JSP and ASP pages have some concepts that are common. I was also concerned there wasn’t an equivalent of Master pages in the .NET world, until I discovered JSP Tag Files. Most of my Java/JSP work has been using Eclipse with the SpringSource Tool Suite (STS) running on Apache Tomcat web servers.
  • C# / ASP.NET 4 – Besides using C# in a majority of my ASP.Net  applications, I’ve recently found myself replacing Perl when writing scripts and one-off applications. This is probably because of the first-class support of regular expressions by the Microsoft .NET Framework.
  • CSS / CSS3 – I’ve been using CSS for a long time now, and I’m proud to say my CSS has gotten better with age. Similar to my Javascript, you’ll rarely see me declare any styles in my production-ready HTML pages, as I declare all my styles in CSS Stylesheets which are usually compressed and referenced for better performance. I have an excellent grasp of CSS and am excited when looking forward to browser advancements which will start harnessing the power of CSS3.
  • HTML / DHTML / XHTML / HTML5 - My HTML skills are solid and well structured.  With the rise of HTML5, my web projects will be even more interactive and feature rich.
  • Perl 5 – I love Perl. I started using Perl on the UNIX workstations at SFU and had to have it on my Mac and Windows machines. My SportsInteractive website used Perl scripts and executables I wrote to do my daily tasks, such as data extraction and Hockey Pool calculations. This led me to be an active member on PerlMonks, which was an inspiration for many of the cool features on SPX.
  • Regular Expressions – Some may find it hard to believe that I love working regular expressions. It was first introduced to me by Erick B. Wong,  an SFU Double major in Mathematics and Computing Science. This is when I started to love regex – I feel it’s the easiest way to extract and scrape data from web sites that contained formatted data. It’s also a powerful way to do search and replace. Early in my career while working for Kodak, I wrote a Javascript and CSS compression tool (called Javastrip), in Perl. It used some very complex regular expressions. I still find myself using regex in my Javascript and C# applications.
  • VBScript - This was the first non-Javascript scripting language that I used on a daily basis when working at Kodak. The entire SportsInteractive web site was written using VBScript, Javascript, CSS and HTML. I’ve written many applications and created a lot of reusable libraries with this language.
  • REST / RESTful Services – I am comfortable creating and consuming RESTful web services which are used in web applications. Most of the RESTful web services I have written have been using Microsoft’s WCF technology with C# and SQL Server.
  • WCF - All of my WCF experience has been in writing RESTful web services using C# in .NET 3.5 and .NET 4.0.
  • XML / XSL / XSLT / XPath – At Kodak, XML was quite popular and many web applications used this data format. We used XSLT stylesheets to transform the data for use in various projects. I find that the Web Community has chosen JSON as the data format of choice for AJAX applications, but XML is not going away any time soon.
  • IIS / Windows Server – Seeing as most of the web servers I work with are Microsoft based, I have been using IIS6 and IIS7 for many years now, and am quite comfortable configuring websites under IIS.
  • iOS / xCode / Interface Builder / Objective-C – My iOS/Objective-C experience is quite new, as I’ve only been learning this in my spare time. I do have a small grasp of Xcode and Interface Builder, as I attended WWDC2008 in San Francisco and met some Apple engineers who walked me through some basic concepts.
  • Java / C – I learned Java and C back at SFU, and am surprised to see how much Java has changed (for the better) over the past 10 years. I did well in C, and that’s probably the reason I enjoy working with similar or influenced languages such as C#, Javascript and Perl.

Graphics & Multimedia Technologies

  • Adobe Photoshop / Illustrator – I have a strong grasp of both Photoshop and Illustrator, having used them since their inception. I’ve used Photoshop since it was version 1.0 while I remember the days when Adobe Illustrator and Aldus Freehand were competing products. Thanks to a work connection, I was recently able to purchase Adobe CS5 Design Premium at a highly discounted rate.
  • iMovie / Final Cut Express / Adobe Premiere Pro – As a hobby, I’ve used iMovie and Final Cut Express to create numerous slideshows for weddings and other family events. I’ve recently started using Premiere Pro CS5.5 for creating more complex movies, combining live footage from videos I’ve shot while travelling.

APIs & Other Trending Technologies

  • Foursquare API v2
  • Google Maps API v3
  • Twitter API
  • Dropbox API
  • Facebook API
  • CSS & Javascript Compression
  • WordPress / Templates
  • Web Scraping / Data Mining
  • Web Mashups

Databases

  • MS-SQL Server / T-SQL – used in nearly all my Microsoft-based web projects. Can do everything from installations to database creation. A love writing efficient views and stored procedures. I prefer using Microsoft’s SQL Management Studio 2008 for all my database work. I’m comfortable with reading/writing this data in all ASPX, PHP and JSP based sites.
  • MS Access / MDB – I use Access for any Microsoft-based web projects where SQL Server is not an option – Access is free and works very well with small scale sites.
  • MySQL – used in all my WordPress and Linux-based sites. It’s free and nearly everyone uses it if they’re not running a Microsoft shop… I’m usually use the web-based phpMyAdmin to do my SQL work, but Oracle’s got a free database management suite as well which I’ve used here and there.
  • Apache Cassandra – I’m still learning about this Facebook-developed open source distributed database management system. This is pretty exciting stuff.

Platforms

  • PC / Windows – Nearly all of my current .NET or Java development work is done in a Windows environment, usually on Windows Server 2008 R2.
  • Mac / Mac OS / iOS - I am very familiar with the Mac OS X, as I have historically done most of my graphics and multimedia work on this platform.
  • UNIX / LINUX – UNIX was the platform I used at SFU for most of my computing science projects. This included working on Sun and NeXT workstations. At my first job in North Vancouver, I worked with and administered DIGITAL UNIX Servers for managing their websites. Now I use Ubuntu when I need a good LINUX environment.