Pascal Studio


(Update: This temporary site has now been removed and the URL redirects to the main Pascal pour Elle site. The original site can still be seen at

The sequel to Pascal pour Elle, this is a new salon by the same owner opening in Chicago’s Bucktown neighborhood. The site is (currently) pretty minimal, serving as more of a brochure than a source of information, and is somewhat heavy with large images and Google fonts. But I’m still happy with how it turned out.

Complete Equity Markets Insurance

Complete Equity Markets InsuranceThis site was a long time getting deployed, but it’s live as of this week. This company sells legal insurance to legal and other professionals, and they wanted both a facelift for their old site and a way for users to submit some rather complicated insurance applications online. As usual, the design was provided to me and the HTML/CSS and JavaScript were mine to create.

Continue reading Complete Equity Markets Insurance

State of the SEO industry

.net magazine has a good article about how the SEO industry has changed in response to Google’s algorithm changes.

TL;DR version: If you’ve been doing SEO based on emphasizing relevant keywords, promoting healthy links, and basically doing everything Google recommends, then Google’s algorithm updates won’t hurt your ranking and might even help it.

Getting the last item in an odd-numbered list

In a responsive web page design I was concocting today, I realized a problem with this approach:

.subgroup {
  width: 50%;
  float: left;
.subgroup:nth-child(odd) {
  clear: left;

The idea was to arrange several blocks of text into two columns, clearing the float for every other block to force a new row. However, this was rather unattractive when I had an odd-numbered collection of blocks — especially when there was only one block, and therefore no indicator of why it only covered half the smartphone’s already-narrow screen width.

I knew I could solve the problem using jQuery; I wanted to solve it using pure CSS. After giving it some thought, I finally realized I could add this:

/* last item in an odd-numbered list */
.subgroup:last-child:nth-child(odd) { 
  width: 100%; 

Problem solved! The last item will now be stretched to 100% of the width only if it is also an odd-numbered element.

A List Apart has a few more stupid CSS tricks using “nth-child”.

Google to punish bad mobile redirects, retire Chrome Frame

Good news (unless you’re a website being penalized): Google’s announced changes in rankings of smartphone search results. In general, this addresses those annoying “Hi, I’m a server!” sites that see you’re on a smartphone and bounce you to the site’s mobile homepage instead of the mobile version of the deep link you were actually looking for. If nothing else, this is a testament to how important the mobile web has become and why every web developer needs to build with smartphones in mind.

I suppose, in light of that fact, that Google’s other recent announcement that Chrome Frame will be retired in January 2014 shouldn’t surprise me. This is actually a bit of a blow for those of us developers (i.e., almost everyone) who still need to keep old Windows XP computers which rely on IE7 and 8 in mind. Chrome Frame has been an integral part of HTML5 Boilerplate for exactly that reason, and with it gone, we’ll have to resort to either conditional comments or just outright telling them to install a modern browser instead. (If you have to ask why we don’t just standardize on IE8-compatible HTML and CSS, it’s the same reason professional basketball players don’t standardize on Converse All-Stars.)