CSS

Resource (external link)

This is a very well-written, easy-to-understand blog post describing how to use the CSS property @font-face to implement non-standard fonts in your web site.

Resource (external link)

This small web app is a must-have when you are using the CSS @font-face property. You upload a font file to Font Squirrel (be sure you have the legal right to embed the font on web pages), select a few options, and then Font Squirrel generates the font in other font file formats so that your font works across different browsers. It even generates the @font-face CSS code that references the new font files!

Resource (external link)

Modernizr is a handy JavaScript library that detects the capabilities of the browser viewing your site, and then dynamically adds classes to the <html> root element on the page, based on what it detects. You can then write your CSS and jQuery selectors using these classes. An example use would be to detect support for the @font-face CSS property (I am doing that on this site). You can also use it to detect support for various HTML5 elements. I have also heard of people using it to make their sites more mobile browser-friendly.

Blog Post

This site, like many personal projects, is a work in progress. I created this site as a long-overdue replacement for my first portfolio site, which lived at danobrienmuzyka.com (domain now redirects here). I built this site in Drupal 6 because Drupal is now my favorite content management system / development framework. I came up with an elaborate scheme for organizing the data in this site, which includes not only blog posts, portfolio pieces, and annotated links to recommended external resources, but also a resume in which each bullet point is a separate content item (node), put together to form job descriptions, which are in turn put together to form the resume itself. I broke down the data to such a granular level in order to expose specific pieces of the resume to the searching and browsing functionality.

Speaking of search, I also used this site rebuild as an opportunity to experiment with Drupal's Search Lucene API module, which uses the PHP port of the Lucene search engine. The faceted browsing capability provided by Lucene particularly interested me, and I tried to take advantage of it by setting up facets for browsing by tag, skills used/required/taught, and content type (blog post, portfolio piece, external resource, etc.).

Portfolio Piece
  • Updated and maintained existing PHP scripts on corporate web site.
  • Created contact e-mail form with jQuery-based Ajax form submission.
  • Set up Apache redirects using mod_rewrite.
  • Made usability improvements to administrative backend.
  • Updated some of the site graphics.
Portfolio Piece
  • Modified JavaScript provided by vendor that dynamically replaced Flash video players with HTML5 <video> elements. Modifications included JavaScript logic to display playlists (vendor version of script only displayed latest video from top playlist), additional CSS, and other changes.
  • Directed video producers to export video files in mobile-friendly MP4 format with H.264 compression.
Portfolio Piece
  • Served as primary technical liaison with vendor of search engine and search optimization tools.
  • Translated vendor's statements into information that non-technical business managers could understand.
  • Recommended user interface changes to vendor's proposed page designs, based on common user interface design patterns and general user experience principals.
  • Oversaw DNS and Apache mod_rewrite changes needed to integrate with vendor's product.
  • Wrote scripts to generate Media RSS (mRSS) feeds that matched vendor's detailed specifications for populating search i
Portfolio Piece
  • Liased with stakeholders to determine needs and managed expectations.
  • Managed development to staging to production workflow for feature enhancements on existing site.
  • Cleaned up and optimized CSS stylesheets written by previous developers.
  • Customized existing Drupal theme.
  • Maintained site with Drupal update releases.
  • Converted and moved existing Wordpress blog into Drupal site, maintaining existing post styles and YouTube video embed filters, while converting comments to Disqus comment tool.
  • Wrote Apache rewrite rules, resulting in URL sh