<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Tom Mollerus&apos; Weblog</title>
      <link>http://www.mollerus.net/tom/blog/</link>
      <description>Web Security, Usability, CSS/XHTML, ColdFusion, and PHP</description>
      <language>en</language>
      <copyright>Copyright 2012</copyright>
      <lastBuildDate>Fri, 30 Mar 2012 09:46:47 -0500</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>Issue with web fonts and media declarations in Firefox</title>
         <description><![CDATA[<p>If you load up some stylin' web fonts on your server, call them in your stylesheet inside of a <code>media</code> declaration, and then view them in Chrome, Safari, or IE9, you'll be pleased with the results. Instead of the usual system fonts, your page with be rendered with the beautiful new fonts you called.  Now try it in Firefox. Do you see those nice fonts? Nope. Gone.</p>

<p>The issue is with the use of both the <code>media</code> declaration and the web fonts. Which media values cause a problem?  Looks like all of them (<code>all, screen, print, etc.</code>). Remove the <code>media</code> declaration and your web pages will then show the fonts your designer specified:</p>

<pre><code>
@media all { /* Remove this media declaration and start brace */
     @font-face { 
          font-family:"Frutiger";
          src:url("/fonts/frutiger.eot?iefix") format("eot");
     }
     @font-face {
          font-family:"Frutiger";
          src:url("/fonts/frutiger.eot?iefix");
          src:url("/fonts/frutiger.woff") format("woff"),
               url("/fonts/frutiger.ttf") format("truetype"),
               url("/fonts/frutiger.svg#frutiger") format("svg");
     }
} /* Remove this end brace */
</code></pre>

<p>If you need to keep your <code>media</code> declaration in your stylesheet, then I suggest that you just move all of your font-face calls to a new stylesheet.</p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2012/03/issue_with_web_fonts_and_media_declarations_in_fir.html</link>
         <guid>http://www.mollerus.net/tom/blog/2012/03/issue_with_web_fonts_and_media_declarations_in_fir.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">XHTML/CSS</category>
        
        
         <pubDate>Fri, 30 Mar 2012 09:46:47 -0500</pubDate>
      </item>
      
      <item>
         <title>Great script for enabling touch events</title>
         <description><![CDATA[<p>If you've ever used the jQuery UI library's <code>draggable()</code> function to make a <a href="https://www.pingone.com">site that had a really cool interface</a>, you've probably marvelled at how well it worked at making thing draggable with your mouse... until you tried it on your touch-enabled mobile phone or tablet. On those devices, no matter where you touched or slid your finger, your previously lively website lay there, unresponsive, like a dead fish. Tap. Nothing.</p>

<p>The bad news is that despite all of your hard work, your site won't work on a touchscreen because <code>draggable()</code> <em>doesn't respond to touch events.</em></p>

<p>Now the good news is that there's an easy fix. After a little searching, I found <em><a href="http://furf.com/exp/touch-punch/">Touch Punch</a></em>.  The author describes the script as so: "jQuery.ui.touch-punch.js is a small hack that maps touch events to their mouse event analogs." Perfect.</p>

<p>You can <a href="http://furf.com/exp/touch-punch/">view working examples on the author's site</a> or <a href="http://github.com/furf/jquery-ui-touch-punch">download Touch Punch from Github.</a></p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2012/03/great_script_for_enabling_touch_events.html</link>
         <guid>http://www.mollerus.net/tom/blog/2012/03/great_script_for_enabling_touch_events.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Mobile</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">Mobile apps</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">Usability</category>
        
        
         <pubDate>Thu, 29 Mar 2012 10:58:33 -0500</pubDate>
      </item>
      
      <item>
         <title>Walking for Project Bread</title>
         <description><![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="project-bread.jpg" src="http://www.mollerus.net/tom/blog/images/project-bread.jpg" width="80" height="120" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>From Saturday, April 28th, through Friday, May 4th, I will be hiking the 96-mile-long West Highland Way in Scotland. Unfortunately that means I can't be in Boston to be in Project Bread's 2012 Walk for Hunger, so I've decided to participate as a "virtual" walker. The money I raise by walking will help Project Bread fund hunger relief and prevention through 450 emergency programs, schools, community health centers, farmers' markets, community suppers, home care organizations, and other programs.</p>

<p>If you care to sponsor me, please contribute here:<br />
<a href="http://www.projectbread.org/site/TR/Walk/General?px=2064971&pg=personal&fr_id=1180">http://www.projectbread.org/site/TR/Walk/General?px=2064971&pg=personal&fr_id=1180</a></p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2012/03/walking_for_project_bread.html</link>
         <guid>http://www.mollerus.net/tom/blog/2012/03/walking_for_project_bread.html</guid>
        
        
         <pubDate>Wed, 28 Mar 2012 17:56:13 -0500</pubDate>
      </item>
      
      <item>
         <title>How to run a meeting</title>
         <description><![CDATA[<p>Jeff Atwood outlines <a href="http://www.codinghorror.com/blog/2012/02/meetings-where-work-goes-to-die.html">some tips for running a successful meeting</a> which I think are worth reproducing here, though I'm starting with the ones I agree with:

<ol>
<li><em>Every meeting should have a clearly defined mission statement.</em><br />
Absolutely correct, every meeting should have a clearly defined set of goals, and they should be clearly stated, both in the invitation and at the start of the meeting itself.</li>
<li><em>Do your homework before the meeting.</em><br />
Not only will you look good if you're prepared for the meeting, but you'll be helping everyone else be more productive.</li>
<li><em>Summarize to-dos at the end of the meeting.</em><br />
This is as important as stating the goals. Someone should verbally summarize the action items and conclusions from the discussion.</li>
</ol>

The ones I don't quite agree with?

<ol>
<li><em>No meeting should ever be more than an hour.</em><br />
I certainly agree that the shorter a meeting is, the better. But some meetings, especially brainstorming meetings or project reviews, are going to take longer than an hour. There's no reason to set an arbitrary duration that's called "too long".</li>
<li><em>Make it optional.</em><br />
I don't see how it's practical to make <em>every</em> attendee optional. People should still feel free to decline an invitation, but sometimes you need to make it clear just who you can't have a meeting <em>without</em>.</li>
</ol>]]></description>
         <link>http://www.mollerus.net/tom/blog/2012/02/how_to_run_a_meeting.html</link>
         <guid>http://www.mollerus.net/tom/blog/2012/02/how_to_run_a_meeting.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Office Life</category>
        
        
         <pubDate>Tue, 14 Feb 2012 11:15:35 -0500</pubDate>
      </item>
      
      <item>
         <title>Often imitated.</title>
         <description><![CDATA[<p>My company, Ping Identity. Often imitated. IMPOSSIBLE to duplicate.</p>

<object width="640" height="360"><param name="movie" value="https://www.youtube.com/v/L2z4CzNxGiI&hl=en_US&feature=player_embedded&version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/v/L2z4CzNxGiI&hl=en_US&feature=player_embedded&version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"></embed></object>]]></description>
         <link>http://www.mollerus.net/tom/blog/2012/01/often_imitated.html</link>
         <guid>http://www.mollerus.net/tom/blog/2012/01/often_imitated.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">At Large</category>
        
        
         <pubDate>Tue, 24 Jan 2012 21:53:38 -0500</pubDate>
      </item>
      
      <item>
         <title>Evaluating online wireframing tools</title>
         <description><![CDATA[<p>I've recently found myself evaluating wireframing tools, and I thought I'd share the results of my analysis. First, let's put out a definition of just what a "wireframe" is:</p>

<blockquote>"[a wireframe] is a visualization tool for presenting proposed functions, structure and content of a Web page or Web site. A wireframe separates the graphic elements of a Web site from the functional elements in such a way that Web teams can easily explain how users will interact with the Web site."<br />
From <i><a href="http://www.webopedia.com/TERM/W/wireframe.html" title="Definition of wireframe">Webopedia</a></i></blockquote>

<p><strong>Here are the main criteria I used to compare wireframe tools:</strong><br />
</p><ul>
<li>I would prefer an online tool, or at least a desktop tool that offers real-time collaboration instead of file fragmentation. This tool should offer the ability to preview or user-test the wireframe over the web.</li>
<li>I would love a tool that promotes and supports gradual enhancement of site elements, starting with basic page elements showing relative priority, then adding layout, then adding visual design.</li>
<li>I would love functional prototyping, where you can configure clickthroughs from one page in the wireframe to another. In-page functional prototyping (such as drop-downs, popups, overlays, AJAX, etc., would be a bonus).</li>
<li>I really want master templates to support global changes to page elements (ie, when you change the header or footer or even the layout of the template, it affects all pages in the wireframe).</li>
<li>Export in HTML/CSS is highly preferred since it would save me time, but it's not completely necessary from my perspective.</li>
<li>I would love the ability for us to add comments and annotations to individual page elements. This will help us evolve each wireframe, and annotations can serve as valuable notes during development to tell webdevs how each page should function.</li>
</ul>

<p>I looked at the following tools:</p>

<div><strong>Mockingbird (</strong><a href="http://gomockingbird.com/">http://gomockingbird.com</a>)</div><ul><li>Like the snap-to alignment!</li><li>Drag pages onto page elements to create links</li><li>I like the ease and simplicity, but there doesn't seem to be a header/footer/page wrapper-- no master templates.</li><li>Only exports as PNG/PDF.</li></ul>Summary: I really like the simplistic, easy-to-understand, let's-just-wireframe interface for MockingBird. This product has great potential. But the fact that it doesn't have master templates and doesn't export to HTML makes this tool less useful than I need.<div class="paragraph_break"><br /></div><div><strong>MockFlow (</strong><a href="http://mockflow.com/">http://mockflow.com</a>)</div><ul><li>Exports as HTML.</li><li>I don't like the open dialog, but I love the fact they have templates for different devices.</li><li>Flash-based, and so the interface just isn't as fast as others.</li><li>Controls for master templates are very hard to find.</li></ul><div>Summary: this tool reads as if it offers us everything we want, but I find that the interface just isn't pleasing to use.</div><div class="paragraph_break"><br /></div><div><strong>iPlotz (</strong><a href="http://iplotz.com/">http://iplotz.com</a>)</div><ul><li>Requires Flash</li><li>Has page commenting</li><li>I like the presence of the drag-n-drop widget list, but it's ordered alphabetically instead of by functional groups, and the drawings look like a pencil sketch.</li></ul><div>Summary: This tool also reads as if it offers everything we want, but I don't prefer the user interface.</div><div class="paragraph_break"><br /></div><div><strong>Axure (</strong><a href="http://axure.com/">http://axure.com</a>)</div><ul><li>It's a download, but has collaborative access (even SVN, where you can check out individual pages).</li><li>Can upload files to share.axure.com to generate password-protected prototypes, or can generate local prototypes.</li><li>You can export all copy</li><li>You can gather and manage comments</li><li>You can add annotations/page notes</li><li>Export HTML</li><li>Masters make templates for header, footer, etc.</li><li>Disappointing that you have to publish specs to MS Word</li><li>Disappointing that it's not a one-step publish to a web-available prototype.</li></ul><div>Summary: Even though it's a desktop tool, I really like the Axure interface. Its annotations and comments work really well, and I think the SVN capability would let us work perfectly well in real time. It produces very good documents, and I think we could easily live with the local HTML exports (as opposed to online prototypes). &nbsp;It is way expensive, though. Worth it, if you ask me. I really like this tool. Of those I've looked at, it has the easiest-to-use interface by far.</div><div class="paragraph_break"><br /></div><div><strong>ProtoShare (</strong><a href="http://protoshare.com/">http://protoshare.com</a>)</div><ul><li>Has templates and masters</li><li>Has component/widget palette, but these tend to be richer and more complex than I really want.</li><li>Has page documentation and annotation</li><li>Lets you modify CSS and HTML</li></ul><div>Summary: Of the pure online tools, I would have to settle on Protoshare. Note that I use the term "settle", because I don't prefer the interface (Mockingbird really has the best one). The widgets and dialogs are intended to be powerful, but really make for just a little bit too many clicks and too much reading. So it seems to me this tool has a learning curve to it, but once over that, I imagine it would be a fast and handy tool.</div><div><strong></strong></div><div class="paragraph_break"><br /></div>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/11/evaluating-online-wireframe-tools.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/11/evaluating-online-wireframe-tools.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Code Building\Versioning</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">Web Development</category>
        
        
         <pubDate>Wed, 16 Nov 2011 13:35:32 -0500</pubDate>
      </item>
      
      <item>
         <title>Fix for the &quot;Unable to load default SVN client&quot; for Subclipse/JavaHL on Eclipse, even after you&apos;ve installed the Collabnet binaries and checked your path</title>
         <description><![CDATA[<p>I've been tearing out my hair, muttering curses under my breath, and slamming my fists to my desk for much of this week. The fault lies with Subclipse, and its stubborn refusal to find the default SVN client (namely JavaHL) that I so kindly installed for it on my MacBook Pro.</p>

<p>It all started when I completely rebuilt my Eclipse environment, using the latest version, Indigo, so that I could install the wonderful PhoneGap plugin. I installed the latest version of all of my plugins, including Subclipse, and I also installed the latest <a href="http://www.open.collab.net/downloads/community/">CollabNet subversion binaries</a>. <a href="http://subclipse.tigris.org/wiki/JavaHL">Subclipse's wikipage for JavaHL</a> says that if you install these binaries says that you shouldn't have to do any further configuration to get Subclipse to work, but in my case that turned out to be wildly optimistic, to say the least. Each time I tried to use a Subclipse feature, I was presented with the dialog that I gather all too many people are familiar with: "Unable to load default SVN client". A <a href="https://encrypted.google.com/search?q=unable+to+load+default+svn+client+eclipse">search across the Googles for this sentence</a> gave me a lot of results, almost all of which referred to confirming the path variables in your .profile file or your eclipse.ini file. I edited, I confirmed, I failed. Again and again. I even tried to install SVNKit, but their subversion client doesn't support the svn client version of 1.7.x that Subclipse was looking for.  <em>Aargh.</em></p>

<p>The binaries that Collabnet installs have version numbers of "1.0" in their filenames, so you really can't tell what version they are. Instead you have to run "<code>svn-javahl --version</code>" to get that information.  And what do you know, I had version 1.6.x.</p>

<p><strong>So the final solution?</strong><br />
<ol>
	<li><a href="http://www.macports.org/install.php">Install MacPorts</a> if you don't have it already.</li>
        <li>Use MacPorts to install the JavaHL bindings (you'll get the latest version by default):<br />
         <code>sudo port install subversion-javahlbindings</code></li>
</ol>
</p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/11/fix_for_the_cant_find_default_svn_client_for_subcl.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/11/fix_for_the_cant_find_default_svn_client_for_subcl.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Code Building\Versioning</category>
        
        
         <pubDate>Mon, 14 Nov 2011 09:06:01 -0500</pubDate>
      </item>
      
      <item>
         <title>Trouble updating Eclipse plugins for PhoneGap or Android?</title>
         <description><![CDATA[<p>After watching <a href="http://www.coldfusionjedi.com/index.cfm/2011/11/4/Latest-Mobile-app--WTFRU">Ray Camden's show-and-tell session today on using PhoneGap to create his mobile app WTFRU</a>, I was inspired to install some of the same Eclipse plugins that he used so I could create some apps myself. It's been a while since I fiddled with the Android SDK, so a lot of my packages were way out of date.</p>

<p>But I ran into errors while trying to updated the Android plugins; quite a few of the errors in the update log referred to messages such as "No repository found containing org.eclipse.mxunit/osgi..."  Most of the messages referred to that osgi library, somehow. I thought that somehow I had some majorly screwed up libraries on my hands.</p>

<p>After searching, it turned out the problem and solution were relatively simple: update URLs should have trailing slashes at the end. Refer to <a href="http://www.digitalsanctuary.com/tech-blog/general/no-repository-found-containing-error-when-update-eclipse.html">this blog post</a> for the specific solution. If anyone else runs into update issues because you're inspired by Ray's work, I hope this solution is helpful to you.</p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/11/trouble_updating_eclipse_plugins_for_phonegap_or_a.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/11/trouble_updating_eclipse_plugins_for_phonegap_or_a.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Mobile apps</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">Web Development</category>
        
        
         <pubDate>Fri, 04 Nov 2011 21:17:37 -0500</pubDate>
      </item>
      
      <item>
         <title>Know a teacher? Introduce them to ClassroomWindow</title>
         <description><![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="ClassroomWindow" src="http://classroomwindow.com/wp-content/themes/classroomwindow/assets/images/common/header_logo.png" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>A good friend of mine, Kirby Salerno, just launched a new business called <a href="http://www.classroomwindow.com">Classroom Window</a> that aims to democritize the process of evaluating educational textbooks and resources. It's an incredible idea, and I want to help spread the word. Here's how Kirby puts it:</p>

<blockquote>"ClassroomWindow addresses an absolutely critical missing element in education -- understanding what works, and for which kids. Sounds obvious, but it doesn't exist (yet).  Our mission is to provide transparency into the effectiveness of educational texts, tools, and resources.  It is Yelp + Consumer Reports for education products and services, combining crowd-sourced input from teachers and others on the front-lines of education with expert opinion and student data."</blockquote>

<p>ClassroomWindow is preparing for a private beta later this year. If you or others you know (teachers in particular) would like to have their voices heard on which products work and which don't, please sign up for the beta at <a href="http://www.classroomwindow.com">www.classroomwindow.com</a>, <a href="http://www.facebook.com/pages/ClassroomWindow/232562360111499">check them out on Facebook</a>, and <a href="https://twitter.com/Power2Teachers">follow them on Twitter.</a></p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/10/know_a_teacher_introduce_them_to_classroomwindow.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/10/know_a_teacher_introduce_them_to_classroomwindow.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Life</category>
        
        
         <pubDate>Fri, 28 Oct 2011 09:54:31 -0500</pubDate>
      </item>
      
      <item>
         <title>Slides/materials from Boston CFUG&apos;s meeting on Continuous Integration (CI)</title>
         <description><![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Jenkins" src="http://jenkins-ci.org/sites/default/files/jenkins_logo.png" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span>I want to thank Marc Esher for a great presentation last night on how to install, configure, and use Jenkins and ANT to provide continuous integration in your development environment. I've wanted to get a build system up and running here at Ping for a while, and now I feel as if I know exactly how to start. (I did install them today, as a matter of fact.)</p>

<p>For those of you who, like me, want to refer to Marc's slides to set up your own CI system, you can find his presentation files here:<br />
<a href="http://wiki.mxunit.org/display/default/CFObjective+2011+--+Continuous+Integration">http://wiki.mxunit.org/display/default/CFObjective+2011+--+Continuous+Integration</a></p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/10/slidesmaterials_from_boston_cfugs_meeting_on_conti.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/10/slidesmaterials_from_boston_cfugs_meeting_on_conti.html</guid>
        
        
         <pubDate>Thu, 27 Oct 2011 15:04:00 -0500</pubDate>
      </item>
      
      <item>
         <title>Boston CFUG&apos;s October meeting: &quot;Continuous Integration with Jenkins, ANT, and MXUnit&quot;</title>
         <description><![CDATA[<p>This month we've got a great presentation lined up for the Boston area ColdFusion User Group on Wednesday, October 26th, 6:00pm: Continuous Integration with Jenkins, ANT, and MXUnit, a talk given by the always-entertaining Marc Esher.  Here's what Marc has to say about his agenda:</p>

<blockquote>"Perhaps you have some unit tests. Maybe even an ANT build file that runs your tests. And maybe even a build file that packages or deploys your application. But how do you orchestrate those separate pieces into a symphony of automation? Continuous Integration, of course.<br />
 <br />
Imagine: you have tests. A Teammate commits code to source control. Minutes later, you and your teammate get an email indicating that tests are now failing.<br />
 <br />
Imagine: you commit code. Minutes later, all tests run. All tests pass. Zip files are built and are ready for deployment. Or code was automatically pushed to any accessible environment. All without your intervention."</blockquote>
 
<p>In this session, Marc will demonstrate how to use the open source Jenkins Continuous Integration server, together with ANT and MXUnit, to create a top-notch automated test and build system for your ColdFusion applications.</p>

<p>The meeting will be at 6:00pm at the Sun Life offices in Wellesley.  You can RSVP at <a href="http://bostoncfug-oct2011.eventbrite.com">http://bostoncfug-oct2011.eventbrite.com.</a> Drinks at Dunn-Gaherin's afterward!</p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/10/boston_cfugs_october_meeting_continuous_integratio.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/10/boston_cfugs_october_meeting_continuous_integratio.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">ColdFusion</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">Office Life</category>
        
        
         <pubDate>Wed, 12 Oct 2011 17:22:36 -0500</pubDate>
      </item>
      
      <item>
         <title>Standford University Technical Style Guide</title>
         <description><![CDATA[<p><a href="http://itservices.stanford.edu/service/web/design/styleguide/modern"><img src="http://media.netmagazine.com/files/images/2011/08/scott-lenger-img3.jpg" style="width: 240px; float: right; margin-left: 20px;" alt="" border="0" /></a>Check out this <a href="http://itservices.stanford.edu/service/web/design/styleguide/modern">technical style guide from Stanford University's IT department</a>. Not only is it a guide to the CSS selectors that Stanford uses, but it helps to enforce consistent HTML code by different developers. One smart technique displayed in the document is the display of styled content right along side of the HTML that produced it.</p>

<p><em>Via <a href="http://www.netmagazine.com/node/1355">.net magazine</a></em></p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/08/standford_university_technical_style_guide.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/08/standford_university_technical_style_guide.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Web Design</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">Web Development</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">XHTML/CSS</category>
        
        
         <pubDate>Wed, 31 Aug 2011 16:06:05 -0500</pubDate>
      </item>
      
      <item>
         <title>Great new features lined up for stylesheets, but don&apos;t forget CSS variables</title>
         <description><![CDATA[<p>.net magazine has a great article on some of the next-gen features being worked on in CSS: columns, flexible boxes, grids, templates, positioned floats, exclusions, and regions. There's one thing they left out, though: <a href="http://brajeshwar.com/2008/css-variables/">CSS variables</a>. Implementation of variables would make it so easy to keep colors separated from layout in CSS files, and it would make changing common values (colors, padding, fonts, etc.) so much easier during development. Here's an example of how they would work:</p>

<p><pre><code>@variables { elementcolor: black; }
#selector1 { color: var(elementcolor); }
#selector2 { color: var(elementcolor); }
#selector3 { color: var(elementcolor); }
</code></pre></p>

<p>I can't believe there are people who say that CSS variables aren't needed or wouldn't be useful. These folks tend to have two arguments:

<ul>
<li><em>Variables make CSS too complex, and more like a programming language.</em><br />
I disagree with this one heartily. Variables would only make CSS more like a programming language <em>if the developer felt like using them</em>. If someone didn't want to use variables, the wouldn't need to touch them. And, what's wrong with letting a language evolve? HTML certainly has, and it's gotten more like a programming language since it came into widespread use.</li>
<li><em>You don't need variables if you use your selectors correctly.</em><br />
This is a better argument. It's the idea that you'd have a bunch of selectors all in one comma-delimited list with one declaration after it-- color, for example, or font-family. But that kind of arrangement seems almost as contrived and complex as the use of variables. Variables, at least, let you organize your declarations where you want them, instead of forcing you to separate them in a predetermined manner.</li>
</ul>
</p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/08/great_new_features_lined_up_for_stylesheets_but_do.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/08/great_new_features_lined_up_for_stylesheets_but_do.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">XHTML/CSS</category>
        
        
         <pubDate>Tue, 09 Aug 2011 13:23:46 -0500</pubDate>
      </item>
      
      <item>
         <title>Looking to hire junior- to mid-level web developer!</title>
         <description><![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Ping Identity" src="https://www.pingidentity.com/images/ping-logo.png" width="138" height="134" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>Would you like to work for a fun, successful, and growing company from either Boston or Denver? Are you a good problem-solver who's not afraid to learn new technologies, APIs, and languages in order to complete a project? Then I'd like to talk to you.</p>

<p>At Ping Identity, our company has been growing non-stop for the last two years, and the scale and number of web projects has grown along with our headcount. So, we need a third web developer to join our team. Bring your current skills, and we'd be happy to teach you new ones as well. Benefits are great, the work environment is fun (though you're able to work from home two to three days a week if you like), and the bonus structure is mighty fine.</p>

<p>If you're interested, please <a href="mailto:tom@mollerus.net&subject=Web developer position at Ping Identity">send your resume directly to me</a> so that I can personally promote it to HR. For specifics, please check out our <a href="https://www.pingidentity.com/about-us/career-detail.cfm?customel_datapageid_1441=53112">job posting for the web developer position: <br />https://www.pingidentity.com/about-us/career-detail.cfm?customel_datapageid_1441=53112</a></p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/08/looking_to_hire_junior-_to_mid-level_web_developer.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/08/looking_to_hire_junior-_to_mid-level_web_developer.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Office Life</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">Web Development</category>
        
        
         <pubDate>Tue, 02 Aug 2011 12:35:22 -0500</pubDate>
      </item>
      
      <item>
         <title>Easily find images with unspecified width or height</title>
         <description><![CDATA[<p>This tip from 37 Signals' Signal vs. Noise blog is so good I have to pass it on: you can <a href="http://37signals.com/svn/posts/2979-css-tip-spot-unsized-images-during-development">find all image tags that are missing a width or height attribute</a> by embedding a simple CSS selector in your development stylesheet:</p>

<p><pre><code>img:not([width]):not([height]) {
  border: 2px solid red !important;
}</code></pre></p>]]></description>
         <link>http://www.mollerus.net/tom/blog/2011/08/easily_find_images_with_unspecified_width_or_heigh.html</link>
         <guid>http://www.mollerus.net/tom/blog/2011/08/easily_find_images_with_unspecified_width_or_heigh.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Web Development</category>
        
          <category domain="http://www.sixapart.com/ns/types#category">XHTML/CSS</category>
        
        
         <pubDate>Mon, 01 Aug 2011 11:29:52 -0500</pubDate>
      </item>
      
   </channel>
</rss>

