I am a professional web application developer with ten years experience creating and maintaining complex, standards-driven, cross-browser, cross-platform static web pages and web-based applications. I am passionate about my profession, as before I made a career in web application development, I spent nearly all of my free time learning various web technologies as a hobby. When I am away from work, I am often preoccupied with and thinking through various programming challenges and exploring how I can improve or extend my code or delve into new territory. I spend a lot of time reading blogs written by industry experts, and I enjoy learning about cutting edge features, industry best practices, new techniques, and plain old speculation about the web, it's politics, where it's been and where it's going.
When I am approached about creating new applications, or extending functionality to existing applications, it is a rare occasion for me to dismiss any request as "impossible".
I put the maintainability, functionality, efficiency, and structure of code at the highest priority, above all else. I believe in this philosophy because in order to deliver a quality product that rises above client and customer expectations, and to deliver a product that I know any expert will be able to quickly come up to speed on, that the code must be given the utmost care in its production. This philosophy gives me the ability to create highly extensible, highly reusable applications, and deliver applications quickly.
I see programming as a form of art. I take extreme pride in the code that I produce, and seek to find unique and innovative ways to make my applications stand above the rest in terms of its maintainability, its usability, its efficiency, and its practicality.
When I think about the future, I see myself creating web-based applications that have more ties to the underling operating system on the server. I'd like to explore, for example, methods that can tie into Mac OS X to create more functional web-based file management. A website's biggest asset is how well it lets you manage its content. These applications are typically called Content Management Systems, or "CMS". My approach to CMS is to make it entirely web-based, so that you have the ability to manage a website's content through a web browser. That means creating an application that allows you to view and manage a website's files within a web browser. By using Mac OS X Server as the server-side platform, you can tie into the OS's file system capabilities so that a web-based file management application offers the same file associations, and the same file icons and thumbnails as you would get with a native OS experience. From a development point of view, I think the Mac platform offers exciting possibilities that appeal to my nerd sensibilities.
While I have a lot of interest in the Mac OS X platform, the web-based applications that I write are portable between Linux, Mac OS X, and other Unix variants.
I also see myself exploring the new Adobe AIR platform and building better web-based tools that can operate, look, and behave like desktop applications while being produced with standard web technologies.
In terms of project execution, I see myself as a leader and a mentor, but I am also a team player, and I also see myself as one of the team. I function extremely well in a group of like-minded individuals who share similar programming disciplines and goals. In terms of leadership, my obsessive dedication to standards, best practices, and adherence to ridged coding guidelines, and expert industry knowledge give me the ability to provide a solid foundation to build a highly productive and organized programming group upon.
While many programmers will claim the ability to design, I see my design skills as adequate, and perhaps better than most programmers. If I must, I can create a decent, usable design, but I ultimately prefer to leave design to people who are truly dedicated to the design profession.
In terms of design implementation, as an expert in CSS, and (X)HTML, I see very few designs that I personally consider to be impossible. In those rare cases, the possibility of a design is typically a result of a technical limitations of the CSS and (X)HTML standards themselves.
I have extensive experience managing and deploying Linux and Mac OS X Servers. On the Linux side, I have training and experience with Red Hat Enterprise Linux, Fedora Core Linux, and Ubuntu Linux. On the Mac side, I have experience with Mac OS X Leopard Server and Mac OS X Tiger Server. Additionally I have some experience on the Windows side with Windows Server 2003 and IIS, but that experience was a very basic deployment of an ASP and ASP.NET script with tie ins to MS SQL Server using IIS.
I have a lot of experience deploying Apache-based websites using Linux and MacOS X, via direct editing of the httpd.conf configuration file. I have experience compiling application source code, and I have deployed a LAMP set-up going this route, however, unless I find that I cannot obtain precompiled binaries for a program, I avoid going that route.
| Skill | Number of Years of Use | Skill Level |
|---|---|---|
| PHP | 8 Years | Expert |
| MySQL | 8 Years | Expert |
| XHTML/HTML | 10 Years | Expert |
| CSS | 10 Years | Expert |
| JavaScript | 8 Years | Expert |
| I am familiar with various JavaScript frameworks, such as: Base2, jQuery, Prototype, YUI, ext, etc | ||
| XML | 8 Years | Expert |
| AJAX | 8 Years | Expert |
| Apache | 8 Years | Expert |
| Mac OS X | 5 Years | Expert |
| Mac OS X Server | 2 Years | Intermediate |
| Open Directory | 2 Years | Beginner |
| Active Directory | 2 Years | Beginner |
| LDAP, Kerberos | 2 Years | Beginner |
| Linux | 5 Years | Expert |
| Terminal / Command Line (Bash Shell Scripting) | 5 Years | Expert |
| Bugzilla (Administration, Setup, and Deployment) | 5 Years | Intermediate |
| SSH | 5 Years | Expert |
| rsync | 5 Years | Expert |
| SubVersion (SVN) | 5 Years | Expert |
| Photoshop | 10 Years | Intermediate |
| Flash | 8 Years | Beginner |
| ActionScript | 8 Years | Beginner |
| Windows | 10 Years | Expert |
| Windows Server 2003 | 5 Years | Intermediate |
| ASP / ASP.NET | 2 Years | Beginner |
I have written three books for Wrox Press on the topic of CSS. Those books include:
Beginning CSS: Cascading Style Sheets for Web Design
Published: December 2004
ISBN: 0764576429
CSS Instant Results
Published: April 2006
ISBN: 047175126X
Beginning CSS: Cascading Style Sheets for Web Design, 2nd Edition
Published: June 2007
ISBN: 0470096977
I am currently working on my 4th book for Wrox, on the topic of JavaScript.
My last position, which I held for four years, from September of 2004 to August of 2008 (the first few months as a contractor), was a Web Application Developer for Trilithic, Inc., a manufacturer of telecommunications test equipment for the cable and broader telecommunications industries located in Indianapolis, IN. I began working at Trilithic after I completed my first book, Beginning CSS: Cascading Style Sheets for Web Design. My role at Trilithic gave me tremendous freedom in that I was given free reign to define Trilithic's programming guidelines for web-based applications and set a high bar for standards compliance. I enjoyed the freedom to develop a robust, innovative PHP framework of my own design.
Trilithic Website: http://www.trilithic.com
I have also taken a few freelance projects creating working XHTML and CSS templates from Photoshop .psd mock-ups. One company that I have done this type of work for is SurfControl (now WebSense).
I created markup and CSS templates for much of SurfControl's website. The resulting work was only online at http://www.surfcontrol.com briefly before the company was purchased by WebSense and the SurfControl brand replaced with the WebSense brand. Following is a sample of one of the templates I created in XHTML and CSS.

PEAR Mail_IMAP Package: Mail_IMAP provides an object-oriented backend for working with the PHP c-client (imap) extension. The c-client extension provides functionality for connecting to IMAP, POP3 or NNTP mailboxes. Mail_IMAP acts as a wrapper for the most used c-client functions providing parsing of multipart messages, intelligent message body retrieval as well as header parsing and retrieval.
Mail_IMAP is an ideal solution when a customizable webmail template is necessary. Mail_IMAP may also act as a component in an automated mailing list manager, as it can do all the dirty work of retrieving the subject line, message body, attachments or other message components.
My source code appearing in the PEAR repository is a testament to my ability to meet strict coding guidelines and high coding standards, as the bar for entry to the PEAR repository is high and requires expert PHP coding ability, highly organized code and extreme attention to detail.
Written recommendations from my profile on LinkedIn:
The following words were provided by my former colleagues at Trilithic. Karalee, my manager, had this to say:
“Richard is an extremely dedicated and talented web developer with a broad skillset. One of those rare "programmers" who understands both the application and the implementation of his work. A self motivating, fanatical worker. He is a very resourceful individual with the ability to apply new technologies very easily. One of the best developers I've ever had the pleasure of working with.”
Karalee Slayton
Director of Marketing & Communications
Trilithic, Inc.
“Richard is a highly skilled web programmer. He provides a highly valuable set of skills to our company and has transformed our company's website into a very useful tool for our customers and employees. Richard has proven himself to be a very reliable and hard working individual that can accell at any challenge that he is faced with.”
Daniel Dillon
Technical Writer
Trilithic, Inc.
“Richard's work has improved our communications with our sales channels as well as our customers. Richard is quick to understand user needs and create or adapt our sites (internal and external) to meet or exceed the requirements.”
Steve Windle
Product Manager
Trilithic, Inc.
“Richard York is an outstanding member of the Marketing Communications Team. He is innovative and his technical expertise is outstanding. Richard is an excellent problem solver and has made our Trilithic website a great resource for our customers.”
Marybeth Fulmer
Marketing Comm & CRM Coordinator
Trilithic, Inc.
Many of my web-based applications and tools have been modeled after Mac OS X GUI, many of my web-based applications appear indistinguishable from native Mac OS X desktop applications. The GUIs that you see in these applications was created by me, not a web designer. I crafted these user interfaces using Apple's Human Interface Guidelines, and taking cues from native desktop counterparts where ever possible.
The following screen shot is my product management tool, which supports simple Part Numbers/SKU, or more complex products that have many different options. All of the product data is pulled in via AJAX, using my PHP Framework.
The following screen shot is my product management tool, which supports simple Part Numbers/SKU, or more complex products that have many different options. All of the product data is pulled in via AJAX, using my PHP Framework.
Below are links to some of the components that go into the product management tool.
PHP (AJAX Listener Plugin Source Code)
The "Finder" tool provides very Unix-like and Active Directory-like fine-grained control over permissions and file access. It contains all website-related documents and is one cornerstone of my web-based CMS.
The "Finder" tool provides very Unix-like and Active Directory-like fine-grained control over permissions and file access. It contains all website-related documents and is one cornerstone of my web-based CMS.
The Finder allows you to upload a single file at a time (IE 6, IE 7, Firefox, Safari, or Opera). It also supports drag and drop from the desktop (Windows, Mac or Linux), but only in the Firefox web browser with certain security privileges enabled.
The following is a screenshot of the web-based WYSIWYG editor that allows novice users to manage website content within my framework.
It allows file browsing from the left pane, and allows multiple documents to be opened at once using a tabbed interface.
While with Trilithic I also created a number of frontend web-based applications for them.
The follow are screen shots of the Technical Support Forum. I designed and implemented everything that you see, I only had help with some of the aesthetic design, which came from our web designer. The icons at the bottom (in the pseudo-dock) are available to privileged users and allow management of the website.
The next screenshot shows threads users have posted to a forum topic about Trilithic's "860 DSPi" device. Again, I wrote all of the PHP, Markup, JavaScript and CSS for the forums all myself, from scratch. More often than not, I prefer to write custom built applications from the ground-up. This puts me in a much better position to extend an application's features when and if someone asks.
The next screen shot shows a forum thread, with a customer asking a question, and another employee replying with an answer. All forum correspondence was designed to be subscribe-able by email, whenever a new topic was posted, or a reply made to an existing post, those messages were automatically emailed to forum subscribers, which made it much easier for both customers and employees to participate in discussion.
The following screenshot shows the forum post page. The forum supported WYSIWYG-style posts using the free open-source FCKEditor project. The forum allows basic markup to be input, and then a complex, heavily tested regular expression on the server made sure that input was "scrubbed down" to only allow certain markup tags, and automatically strip out scripting to prevent XSS (Cross Site Scripting) security vulnerabilities, such as session high-jacking.

The following tool let's you put in a five-digit U.S. zip code, a Canadian Province, or Country to locate your sales rep. Those divisions were based on Trilithic's specific requirements.