<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Not Just a Hat Rack &#187; Must-Read/Reference</title>
	<atom:link href="http://notjustahatrack.com/posts/category/must-readreference/feed/" rel="self" type="application/rss+xml" />
	<link>http://notjustahatrack.com</link>
	<description>Development, design, etc.</description>
	<lastBuildDate>Mon, 18 Apr 2011 16:05:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Image Usage for Developers</title>
		<link>http://notjustahatrack.com/posts/image-usage-for-developers/</link>
		<comments>http://notjustahatrack.com/posts/image-usage-for-developers/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 18:54:25 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Must-Read/Reference]]></category>

		<guid isPermaLink="false">http://notjustahatrack.com/?p=114</guid>
		<description><![CDATA[Another must-read is the image optimization series from Stoyan Stefanov and Yahoo. Before reading those articles, I used PNG fixes indiscriminately, employed GIFs way too much, didn&#8217;t spend a whole lot of time thinking about the optimum image type when slicing a mockup, and certainly never thought of compressing images beyond Photoshop&#8217;s &#8220;save for web&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Another must-read is the <a href="http://yuiblog.com/blog/2008/10/29/imageopt-1/">image optimization series</a> from Stoyan Stefanov and Yahoo.  Before reading those articles, I used PNG fixes indiscriminately, employed GIFs way too much, didn&#8217;t spend a whole lot of time thinking about the optimum image type when slicing a mockup, and certainly never thought of compressing images beyond Photoshop&#8217;s &#8220;save for web&#8221; feature.  The first article in the series, <a href="http://yuiblog.com/blog/2008/10/29/imageopt-1/">The Importance of Images</a>, along with the prevalence of <a href="http://developer.yahoo.com/yslow/">Yahoo&#8217;s YSlow</a>, and more recently <a href="http://code.google.com/speed/page-speed/">Google&#8217;s Page Speed</a>, made me realize just how much image optimization actually matters to page performance.  I figured I would give you my take on the tips in the series, and thoughts on just how to handle difficult, common, transparency cases.  </p>
<p><span id="more-114"></span></p>
<h3>The Right Image Format</h3>
<p>The image optimization series does an excellent job detailing <a href="http://yuiblog.com/blog/2008/11/04/imageopt-2/">which file format to use</a>, and I suggest reading it (especially for the lossy, non-lossy comments), but here&#8217;s their summary:</p>
<blockquote>
<ul>
<li>JPEG is the format for photos.</li>
<li>GIF is the format for animations.</li>
<li>PNG8 is the format for everything else — icons, buttons, backgrounds, graphs…you name it.</li>
</ul>
</blockquote>
<p>After implementing these strategies for a bunch of builds, here&#8217;s my take:</p>
<ul>
<li>JPEGs for photos or images with tons of colors</li>
<li>PNG24 when you <em>really need</em> consistent alpha transparency</li>
<li>PNG8 for everything else</li>
</ul>
<p>The only difference here is that PNG24 definitely still has a place (oh, and really how often do you use animated GIFs?).  The case they mention in which you have to use PNG24 (&#8220;When most of the image is semi-transparent&#8221;) is actually more common than they would leave you to believe.  So how do you handle those cases?</p>
<h3>Transparency and PNG Fixes</h3>
<p>To handle transparent PNGs, <strong>do not use a JavaScript PNG fix</strong>.  Instead, realize what those fixes do, and then actually apply the fix when and where you need it.  The problem with PNG fixes in general is that they typically offer a blanket solution that affects every PNG on the site.  You don&#8217;t want to be applying a alpha filter to a PNG8 that doesn&#8217;t have transparency, so there&#8217;s a lot of wasted effort.  Not to mention the fact that these filters can be <a href="http://yuiblog.com/blog/2008/12/08/imageopt-5/">extremely taxing on the browser</a>.  There&#8217;s a simple CSS solution that can be added to an IE6-only stylesheet (assume #some-element already has a background applied):</p>
<pre><code>
#some-element {
	background: none;
	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png', sizingMethod='crop');
}
</code></pre>
<p>That&#8217;s it!  There&#8217;s also a <a href="http://yuiblog.com/blog/2008/12/08/imageopt-5/">VML fix</a>, although the extra markup typically isn&#8217;t worth the better performance.  Either way, the take-away is to apply the fix on a case by case basis, not with a blanket JavaScript add-on.</p>
<h3>Compression</h3>
<p>There&#8217;s a number of add-ons and/or tools online that will reduce the size of your images quickly and efficiently.  The aforementioned <a href="http://developer.yahoo.com/yslow/">YSlow</a> and <a href="http://code.google.com/speed/page-speed/">Google Page Speed</a> are extremely easy to use if you have those add-ons.  A new entrant is <a href="http://www.gracepointafterfive.com/punypng/">punypng</a>, which touts its better performance over the Yahoo and Google offerings.  Regardless, all tools offer bulk uploads, so after a site build, there&#8217;s no reason not to run your pages through these tools and update images that can be compressed.</p>
<p><br/><br />
If nothing else, I hope developers everywhere can remember a couple of things:</p>
<ul>
<li>Think about the optimal file format when saving an image</li>
<li>Don&#8217;t use GIFs (unless they are animated&#8230; but c&#8217;mon)</li>
<li>Don&#8217;t use a blanket PNG fix</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://notjustahatrack.com/posts/image-usage-for-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Must-Read HTML5 Articles</title>
		<link>http://notjustahatrack.com/posts/must-read-html5-articles/</link>
		<comments>http://notjustahatrack.com/posts/must-read-html5-articles/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 23:14:58 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[Must-Read/Reference]]></category>

		<guid isPermaLink="false">http://notjustahatrack.com/?p=105</guid>
		<description><![CDATA[An Introduction HTML 5 differences from HTML 4 from the W3C. Fantastic summary of the stuff that HTML5 will eventually bring to the table. Take it with a grain of salt though&#8230; because as you&#8217;ll see, there isn&#8217;t a whole lot you can use right now, cross-browser, without hacks. I mentioned the Misunderstanding Markup comic [...]]]></description>
			<content:encoded><![CDATA[<h3>An Introduction</h3>
<p><a href="http://www.w3.org/TR/2008/WD-html5-diff-20080122/">HTML 5 differences from HTML 4</a> from the W3C.  Fantastic summary of the stuff that HTML5 will eventually bring to the table.  Take it with a grain of salt though&#8230; because as you&#8217;ll see, there isn&#8217;t a whole lot you can use right now, cross-browser, without hacks.</p>
<p>I mentioned the <a href="http://www.manakor.org/xhtml/what-markup-language-to-use-now-xhtml-2-or-html-5/">Misunderstanding Markup comic</a> already, but definitely worth a read if you are still confused as to which markup syntax to employ.</p>
<p>Questions?  Check the <a href="http://wiki.whatwg.org/wiki/FAQ">WHATWG HTML5 FAQ</a>.</p>
<p><span id="more-105"></span></p>
<h3>Keeping up with the Spec</h3>
<p><a href="http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML_5%29">Comparison of layout engines (HTML 5)</a> on Wikipedia.  As you can see, Internet Explorer doesn&#8217;t provide a whole lot of support for HTML5 features.</p>
<p>The <a href="http://dev.w3.org/html5/spec/Overview.html">spec itself</a> is definitely worth a read.  Or use the  <a href="http://whatwg.org/html5">WHATWG version</a> (it&#8217;s split into multiple pages, and updated more regularly).  Obviously the most comprehensive source you&#8217;ll find.</p>
<h3>Current Uses</h3>
<p><a href="http://html5doctor.com/">HTML5 Doctor</a> has some articles on things that are mostly cross-browser, and more or less safe to use now, like <a href="http://html5doctor.com/native-drag-and-drop/">Native Drag and Drop</a> and <a href="http://html5doctor.com/block-level-links-in-html-5/">“Block-level” links</a>.  Unfortunately I can&#8217;t recommend utilizing much more of the tips on the HTML5 Doctor site, because they either rely on hacks, or could change as the HTML5 standard changes.</p>
<p>I can&#8217;t recommend using the new semantic elements from HTML5 yet, but it can&#8217;t hurt to begin <a href="http://jontangerine.com/log/2008/03/preparing-for-html5-with-semantic-class-names">preparing for HTML5 with semantic class names</a>.  If nothing else, you&#8217;ll be ready when the new elements become safe to use.</p>
<h3>We Can Dream&#8230;</h3>
<p><a href="http://www.brucelawson.co.uk/tests/html5-forms-demo.html">Automatic form validation</a>?  Yes please.</p>
<p>You can do <a href="http://9elements.com/io/projects/html5/canvas/">really cool things with the canvas element</a> apparently.</p>
<p>Web workers + video + canvas = <a href="http://htmlfive.appspot.com/static/tracker1.html">pretty freaking cool</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://notjustahatrack.com/posts/must-read-html5-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Blog Reading List for Developers</title>
		<link>http://notjustahatrack.com/posts/a-blog-reading-list-for-developers/</link>
		<comments>http://notjustahatrack.com/posts/a-blog-reading-list-for-developers/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 16:28:12 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Must-Read/Reference]]></category>

		<guid isPermaLink="false">http://notjustahatrack.com/?p=80</guid>
		<description><![CDATA[As a web developer, you constantly need to be reading and absorbing new information. Depending on the number of specialties you want to pursue, the number of potential sources for this information can be overwhelming. To help make sense of it all, you&#8217;ll need two things: An RSS reader, and a method of keeping your [...]]]></description>
			<content:encoded><![CDATA[<p>As a web developer, you constantly need to be reading and absorbing new information.  Depending on the number of specialties you want to pursue, the number of potential sources for this information can be overwhelming.  To help make sense of it all, you&#8217;ll need two things: An RSS reader, and a method of keeping your followed feeds up-to-date.  You&#8217;ll know you have a good learning process when you consistently become the source of new information, as opposed to the recipient.</p>
<p><span id="more-80"></span></p>
<h3>RSS Readers &amp; Keeping them Updated</h3>
<p>I&#8217;ve been using <a href="http://google.com/reader/">Google Reader</a> for a while now, and never encountered any issues.  I&#8217;m sure there might be advantages to other readers, but as long as I&#8217;m getting the information quickly and efficiently, there isn&#8217;t much of a reason to look elsewhere.  Plus, all the major readers allow for import/export of feeds, so if someone makes a great case for a different reader down the line, you can always switch.</p>
<p>In terms of keeping my reading list updated, I&#8217;ve followed the same process for quite some time:</p>
<ul>
<li>Start with an industry standard list (check Google, or the one later in this article)</li>
<li>Add aggregation feeds, follow developers on Twitter to find new article mentions</li>
<li>If new articles are a worthwhile read, add blog to reader</li>
<li>Cull outdated or useless blogs every once in a while</li>
</ul>
<p>The second step is important, and I&#8217;d recommend combing through articles on <a href="http://scriptandstyle.com/">Script &amp; Style</a>, <a href="http://cssglobe.com/">CSS Globe</a>, the <a href="http://www.thewebsqueeze.com/">Web Squeeze,</a> and even <a href="http://digg.com">Digg</a> for potential good sources of information.</p>
<h3>My List</h3>
<p><a href="/lib/misc/tech.xml">Download</a>.  Or check it out below:</p>
<h4>Industry</h4>
<ul>
<li><a href="http://pipes.yahoo.com/pipes/pipe.info?_id=fNqHzJb33RGepDIudfQQIA">Industry Tech</a> (<a href="http://pipes.yahoo.com/pipes/pipe.run?_id=fNqHzJb33RGepDIudfQQIA&amp;_render=rss">RSS</a>) (pipe)
<ul>
<li>Mashable</li>
<li>ReadWriteWeb</li>
<li>GigaOM</li>
<li>Matt Cutts</li>
</ul>
</li>
<li><a href="http://www.alistapart.com/articles/">A List Apart</a> (<a href="http://www.alistapart.com/rss.xml">RSS</a>)</li>
<li><a href="http://html5doctor.com">HTML5Doctor</a> (<a href="http://feeds2.feedburner.com/html5doctor">RSS</a>)</li>
</ul>
<h4>JavaScript</h4>
<ul>
<li><a href="http://ajaxian.com">Ajaxian</a> (<a href="http://feeds.feedburner.com/ajaxian">RSS</a>)</li>
<li><a href="http://james.padolsey.com">James Padolsey</a> (<a href="http://feeds.feedburner.com/JamesPadolsey">RSS</a>)</li>
<li><a href="http://www.learningjquery.com">Learning jQuery</a> (<a href="http://feeds2.feedburner.com/LearningJquery">RSS</a>)</li>
<li><a href="http://brandonaaron.net/">Brandon Aaron</a> (<a href="http://feeds2.feedburner.com/BrandonAaron">RSS</a>)</li>
<li><a href="http://thinkweb2.com/projects/prototype">Perfection Kills</a> (<a href="http://thinkweb2.com/projects/prototype/feed/">RSS</a>)</li>
<li><a href="http://ejohn.org">John Resig</a> (<a href="http://feeds.feedburner.com/JohnResig">RSS</a>)</li>
<li><a href="http://blog.jquery.com">jQuery Blog</a> (<a href="http://blog.jquery.com/feed/">RSS</a>)</li>
<li><a href="http://www.yuiblog.com/blog">YUI Blog</a> (<a href="http://feeds.yuiblog.com/YahooUserInterfaceBlog">RSS</a>)</li>
<li><a href="http://developer.yahoo.net/blog/">YDN Blog</a> (<a href="http://feeds.developer.yahoo.net/YDNBlog">RSS</a>)</li>
<li><a href="http://www.leigeber.com">Leigeber</a> (<a href="http://feeds.feedburner.com/leigeber">RSS</a>)</li>
</ul>
<h4>Leaders (General)</h4>
<ul>
<li><a href="http://cameronmoll.com/">Authentic Boredom</a> (Cameron Moll) (<a href="http://cameronmoll.com/index.xml">RSS</a>)</li>
<li><a href="http://remysharp.com/">Remy Sharp</a> (<a href="http://feeds.feedburner.com/remysharp">RSS</a>)</li>
<li><a href="http://davidwalsh.name/">David Walsh</a> (<a href="http://feeds2.feedburner.com/Bludice">RSS</a>)</li>
<li><a href="http://www.zeldman.com/">Jeffrey Zeldman</a> (<a href="http://www.zeldman.com/feed/">RSS</a>)</li>
<li><a href="http://snook.ca/">Snook.ca</a> (<a href="http://feeds2.feedburner.com/snookca">RSS</a>)</li>
<li><a href="http://www.codinghorror.com/blog/">Coding Horror</a> (<a href="http://feeds.feedburner.com/codinghorror">RSS</a>)</li>
<li><a href="http://www.wait-till-i.com/">Wait till I come!</a> (Heilmann) (<a href="http://feeds.feedburner.com/wait-till-i/gwZf">RSS</a>)</li>
</ul>
<h4>Design/CSS</h4>
<ul>
<li><a href="http://www.askthecssguy.com/">Ask the CSS Guy</a> (<a href="http://www.askthecssguy.com/atom.xml">RSS</a>)</li>
<li><a href="http://css-tricks.com">CSS-Tricks</a> (<a href="http://feeds.feedburner.com/CssTricks">RSS</a>)</li>
<li><a href="http://www.smashingmagazine.com/">Smashing Magazine</a> (<a href="http://rss1.smashingmagazine.com/feed/">RSS</a>)</li>
<li><a href="http://www.webdesignerwall.com">Web Designer Wall</a> (<a href="http://feeds.feedburner.com/WebDesignerWall">RSS</a>)</li>
</ul>
<h4>Other</h4>
<ul>
<li><a href="http://net.tutsplus.com">NETTUTS</a> (<a href="http://feeds.feedburner.com/nettuts">RSS</a>)</li>
<li><a href="http://hacks.mozilla.org/">Mozilla Hacks blog</a> (<a href="http://hacks.mozilla.org/feed/">RSS</a>)</li>
<li><a href="http://pipes.yahoo.com/pipes/pipe.info?_id=6sdGV5f33RGdFfq5pgt1Yg">Aggregation</a> (<a href="http://pipes.yahoo.com/pipes/pipe.run?_id=6sdGV5f33RGdFfq5pgt1Yg&amp;_render=rss">RSS</a>) (pipe)
<ul>
<li>Script &#038; Style</li>
<li>CSS Globe</li>
<li>The Web Squeeze</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://notjustahatrack.com/posts/a-blog-reading-list-for-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Must-Read Typography for Developers Articles</title>
		<link>http://notjustahatrack.com/posts/must-read-typography-for-developers-articles/</link>
		<comments>http://notjustahatrack.com/posts/must-read-typography-for-developers-articles/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 16:02:03 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Must-Read/Reference]]></category>

		<guid isPermaLink="false">http://notjustahatrack.com/?p=61</guid>
		<description><![CDATA[I&#8217;ll be the first to admit that for the longest time I thought Arial, Times New Roman, and Verdana were the only fonts you could safely use on the web. When I was first getting starting in development, these were the only fonts sites used, and as such I never had reason to believe otherwise. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be the first to admit that for the longest time I thought Arial, Times New Roman, and Verdana were the only fonts you could safely use on the web.  When I was first getting starting in development, these were the only fonts sites used, and as such I never had reason to believe otherwise.  Well after four or five years of working with some pretty talented designers, the importance of typography started to rub off.  I&#8217;ve compiled a list of some of the most eye-opening typography-for-developers articles that I&#8217;ve read, mostly concerning the breadth of fonts that we can actually use in development now:</p>
<p><span id="more-61"></span></p>
<ul>
<li><a href="http://dev.opera.com/articles/view/fonts-for-web-design-a-primer/">Fonts for web design: a primer</a>: An excellent starting point for exploring additional, common fonts cross-OS.  I was particularly happy to see an explanation as to why some fonts are available on some systems, but not others.</li>
<li><a href="http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html">Common fonts to all versions of Windows &#038; Mac equivalents</a>: Basically a summary of the above, in an easy-to-reference format.</li>
<li><a href="http://www.sitepoint.com/article/eight-definitive-font-stacks/">8 Definitive Web Font Stacks</a>: Leverages the flexibility of the font stack to implement nicer fonts for users that have those fonts on their machines.</li>
<li>Methods for uncommon font rendering: In addition to web-ready fonts, there are several methods/technologies that allow you to essentially embed uncommon fonts on your site.  <a href="http://hacks.mozilla.org/2009/06/beautiful-fonts-with-font-face/">Beautiful fonts with @font-face</a> is a good summary of the potential for straight CSS-level font embeds; although there are legal hurdles that you need to take into account.  Finally, <a href="http://cufon.shoqolate.com/generate/">cufón</a> and <a href="http://www.mikeindustries.com/blog/sifr/">sIFR</a> are two popular methods for embedding custom fonts, with the help of some JavaScript and/or Flash.</li>
</ul>
<p>My previous experience has shown that designers are happy for the most part with the set of available web-ready fonts, and cases where you need a method for rendering uncommon fonts are few and far between.  I imagine a unified, efficient solution for embedding fonts (read: @font-face) would change the playing field, but legal issues may hamper that reality for some time.  In the meantime, it&#8217;s good to know there&#8217;s at least some easy-to-implement alternatives to Arial, Times, and Verdana, and the potential for using almost any font in certain situations if you have the time for a solid implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://notjustahatrack.com/posts/must-read-typography-for-developers-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Must-Read JavaScript Articles</title>
		<link>http://notjustahatrack.com/posts/must-read-javascript-articles/</link>
		<comments>http://notjustahatrack.com/posts/must-read-javascript-articles/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 18:50:50 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Must-Read/Reference]]></category>

		<guid isPermaLink="false">http://notjustahatrack.com/?p=51</guid>
		<description><![CDATA[A re-introduction to JavaScript from the Mozilla Developer center. I challenge you to find a more clear and comprehensive overview of the JavaScript language. Covers everything from the history of the language to its more advanced concepts (closures, memory leaks, etc.) Code Conventions for the JavaScript Programming Language from Crockford. The man, the myth, the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://developer.mozilla.org/en/A_re-introduction_to_JavaScript">A re-introduction to JavaScript</a> from the Mozilla Developer center.  I challenge you to find a more clear and comprehensive overview of the JavaScript language.  Covers everything from the history of the language to its more advanced concepts (closures, memory leaks, etc.)</p>
<p><a href="http://javascript.crockford.com/code.html">Code Conventions for the JavaScript Programming Language</a> from Crockford.  The man, the myth, the legend.  <a href="http://javascript.crockford.com/">Everything he&#8217;s written about JavaScript</a> should be read, but this article in particular offers a good starting point.</p>
<p><span id="more-51"></span></p>
<p><a href="http://javascript.crockford.com/style1.html">The Elements of JavaScript Style Part One</a>, and <a href="http://javascript.crockford.com/style2.html">Part Two</a>, again from Crockford.  Together with the aforementioned Code Conventions article, they make a pretty good basis for writing clean, efficient code.</p>
<p><a href="http://developer.yahoo.com/performance/rules.html">Best Practices for Speeding Up Your Web Site</a> from Yahoo.  The JavaScript advice is invaluable.  It talks about the big stuff that will actually make a noticeable difference to your users.</p>
<p><a href="http://www.hunlock.com/">The JavaScript Reference Series</a> by Pat Hunlock.  Much more comprehensive and useful than similar, more common references (I&#8217;m looking at you w3Schools).  </p>
]]></content:encoded>
			<wfw:commentRss>http://notjustahatrack.com/posts/must-read-javascript-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

