<?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>Albert Holtsclaw</title>
	<atom:link href="http://albybum.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://albybum.net/blog</link>
	<description>IT consultant, Web application developer, and technology enthusiast</description>
	<lastBuildDate>Sun, 11 Mar 2012 21:54:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>My weight loss journey so far.</title>
		<link>http://albybum.net/blog/2011/12/27/my-weight-loss-journey-so-far/</link>
		<comments>http://albybum.net/blog/2011/12/27/my-weight-loss-journey-so-far/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 04:37:24 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[P90]]></category>
		<category><![CDATA[weight loss]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=231</guid>
		<description><![CDATA[I am 28 y/o and 5ft 11in. I weighed myself in August and I had finally crossed the 300lb mark (305lbs at 5ft 11in) for the first time in my life.  I had flirted with that weight for several years, but never crossed it to my knowledge.  But, I never was a fan of weighing [...]]]></description>
			<content:encoded><![CDATA[<p>I am 28 y/o and 5ft 11in.</p>
<p>I weighed myself in August and I had finally crossed the 300lb mark (305lbs at 5ft 11in) for the first time in my life.  I had flirted with that weight for several years, but never crossed it to my knowledge.  But, I never was a fan of weighing myself because I didn&#8217;t want to know the truth. This is what I changed since then and it seems to be working for me:</p>
<ul>
<li>I Started a well-defined exercise program in early September (<a href="http://www.beachbody.com/product/fitness_programs/power90.do">Power90</a>). I have tons more energy. I&#8217;ve dropped a chunk of weight. I am more flexible. And I&#8217;ve built a little muscle.</li>
<li>I cut out ALL soda and calorie-dense drinks that provide no nutrients. I don&#8217;t even drink vitamin water. I only drink orange juice, milk, green tea, and tons and tons of normal water. I decided that I would rather eat my calories and enjoy them that way rather than drink them. (This is also why Slim Fast didn&#8217;t work for me).</li>
<li>I count ALL my calories in a Google spreadsheet, but I don&#8217;t deprive myself of foods that I enjoy. I need this to be a lifestyle change for me and not just a quick diet. So, I need to make realistic changes. I knew cutting out all the food I enjoy would be a surefire way for me to fail. I just control my portions better and make smarter decisions.</li>
<li>I use boredom as an excuse to exercise, and I try not to avoid small opportunities to burn a few extra calories (like taking the stairs instead of the elevator).</li>
<li>I started following a subReddit called <a title="/r/loseit" href="http://www.reddit.com/r/loseit" target="_blank">/r/loseit</a></li>
</ul>
<p>Also, I originally changed my eating schedule. I ate 3 to 5 times per day to help keep constant energy throughout the day and to keep my metabolism running. I would always eat breakfast, even if it&#8217;s just a granola and nut bar. I use this opportunity to also take a multi-vitamin. And, I stop eating at least 3 hours before bed. For the past 10 years or so, I got into a bad habit of only eating 1 or 2 meals a day (never breakfast). That loaded all of my calories into a small timeframe. And it was usually late. This + the soda seem to be the big factors in what caused me to gain weight.</p>
<p>I finished my first round of Power90 on December 4th, 2011.  I weighed in that morning at 274.2 for a loss of 30.8lbs in 3 months. And, I have gained muscle mass. I still have a long way to go, but I am happy with my progress so far (even though it isn&#8217;t as visible as I would like).</p>
<p>I have to wear a belt with all of the pants I own or they will fall off (I can take off my pants without unbuttoning them). And, I had to poke a new hole in my belt. I don&#8217;t dare buy new clothes right now because I plan to continue my journey. I can actually fit comfortably into my 10-year-old high school workout clothes. But, I don&#8217;t see a huge difference in the mirror.</p>
<p>I started out following the P90 program exactly as it was written. After I got into the 3-4 exercises, I started to REALLY get bored with the routine. So, I started subbing in a stationary bike for the cardio. I bought one with pre-programmed exercise routines and adjustable difficulty. I have gotten to the point where I can do a 40 minute ride on the 12th (of 16) difficulty setting and an uphill circuit.<br />
I have been taking the recommended multivitamin to help the recovery process. But, I have also been taking a fish-oil supplement for the past month or so because I do not eat a lot of fish or other sources of Omega 3/6/9 fatty acids.<br />
I am also thinking about starting training for a 5k. There is a 5k race on my birthday in April. It would be nice to be able to do that.</p>
<p>I have been off Power90 for 22 days, but I have tried to create my own routine following many of the same workouts.  It hasn&#8217;t been nearly as effective without the pacing and the discipline the videos provide.  So, I think I am going to restart the videos soon and stick with them strictly again.  My last weigh-in was on December 22nd at 271.2 lbs.  A total loss so far of 33.8 lbs.</p>
<p style="text-align: center;"><img class="aligncenter" src="https://docs.google.com/spreadsheet/oimg?key=0AgDnETKIYherdEdCcEdUUnFnLUkzaDZmV0pKcDhUMXc&amp;oid=1&amp;zx=vnqwmov50wnv" alt="" width="641" height="153" /></p>
<p style="text-align: center;">[Google Spreadsheet Chart.  Auto-updates]</p>
<p style="text-align: center;"><img class="aligncenter" title="progress" src="http://my.albybum.net/imageViewer/Profiles/albybum/images/ToDec19-2011.JPG" alt="" width="539" height="204" /></p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2011/12/27/my-weight-loss-journey-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 300 million dollar button &#8211; UI design</title>
		<link>http://albybum.net/blog/2011/10/07/the-300-million-dollar-button-ui-design/</link>
		<comments>http://albybum.net/blog/2011/10/07/the-300-million-dollar-button-ui-design/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 01:06:38 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=211</guid>
		<description><![CDATA[A case that illustrates the potential value from (seemingly) small user interface decisions. http://www.uie.com/articles/three_hund_million_button/]]></description>
			<content:encoded><![CDATA[<p>A case that illustrates the potential value from (seemingly) small user interface decisions.</p>
<p><a href="http://www.uie.com/articles/three_hund_million_button/" title="The 300 million dollar button">http://www.uie.com/articles/three_hund_million_button/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2011/10/07/the-300-million-dollar-button-ui-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript and HTML5 canvas-based heatmaps</title>
		<link>http://albybum.net/blog/2011/07/22/javascript-library-for-html5-canvas-based-heatmaps/</link>
		<comments>http://albybum.net/blog/2011/07/22/javascript-library-for-html5-canvas-based-heatmaps/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 14:42:18 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[heatmap]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[library]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=208</guid>
		<description><![CDATA[This is a very slick use of JavaScript and HTML 5 to generate dynamic heatmaps. About heatmap.js heatmap.js is a JavaScript library that can be used to generate web heatmaps with the html5canvas element based on your data. Heatmap instances contain a store in order to colorize the heatmap based on relative data, which means [...]]]></description>
			<content:encoded><![CDATA[<p>This is a very slick use of JavaScript and HTML 5 to generate dynamic heatmaps.  </p>
<blockquote><p>About heatmap.js<br />
heatmap.js is a JavaScript library that can be used to generate web heatmaps with the html5canvas element based on your data. Heatmap instances contain a store in order to colorize the heatmap based on relative data, which means if you&#8217;re adding only a single datapoint to the store it will be displayed as the hottest(red) spot, then adding another point with a higher count, it will dynamically recalculate. The heatmaps are fully customizable &#8211; you&#8217;re welcome to choose your own color gradient, change its opacity, datapoint radius and many more. The library is dual-licensed under the MIT and the Beerware license, feel free to use it in your projects. </p></blockquote>
<p><a title="JavaScript and HTML5 Heatmap library" href="http://www.patrick-wied.at/static/heatmapjs/">http://www.patrick-wied.at/static/heatmapjs/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2011/07/22/javascript-library-for-html5-canvas-based-heatmaps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web DPI Scaling in legacy Internet Explorer</title>
		<link>http://albybum.net/blog/2011/07/16/web-dpi-scaling-in-legacy-internet-explorer/</link>
		<comments>http://albybum.net/blog/2011/07/16/web-dpi-scaling-in-legacy-internet-explorer/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 02:50:16 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[IE6]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[DPI scaling]]></category>
		<category><![CDATA[expression]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=184</guid>
		<description><![CDATA[When dealing with Web sites or applications that need to be highly accessible, you can often get tossed development curve balls where you are forced to add fixes for obscure problems. Users with poor vision will sometimes change the DPI scaling feature in Windows  from the default 96 dpi to something higher.  With older versions [...]]]></description>
			<content:encoded><![CDATA[<p>When dealing with Web sites or applications that need to be highly accessible, you can often get tossed development curve balls where you are forced to add fixes for obscure problems.</p>
<p>Users with poor vision will sometimes change the DPI scaling feature in Windows  from the default 96 dpi to something higher.  With older versions of Internet Explorer, this can be a problem because IE would scale the viewport font along with the Windows DPI.  And, that could really blow your design out of the water &#8211; even more than a user with a custom defined stylesheet.   This behavior was only observable in IE on Windows.  Other browsers scaled fine.  This post guided me in the right direction <a title="http://www.williamkolean.com/williamblog/?p=18" href="http://www.williamkolean.com/williamblog/?p=18">http://www.williamkolean.com/williamblog/?p=18</a></p>
<p>I came up with a way to fix the problem.  But, it has some shortcomings I will describe after the code.</p>
<p>I use a jQuery font size switcher to allow the user to change the font size in the page.  I wanted each of those options to scale with DPI.  You can see in the code below that there are 4 CSS selectors defined inside a conditional comment that only targets IE &lt; 8.  These CSS statements use a proprietary function called &#8220;expression&#8221; that can be used to calculate values dynamically (yes, there are pitfalls here &#8211; see below).  The expression functions below also utilize the screen object to determine the screen DPI.  The expression scales the font back down in proportion to the default 96 DPI and to the proportion I want the font scaled from the default.  I like my default and small font to be<a href="http://www.blogherald.com/2006/09/08/css-tips-and-tricks/"> 62.5% of normal so that 1em is approx 10 px</a>.</p>
<pre>&lt;!--[if lt IE 8]&gt;
&lt;style type="text/css"&gt;
body {font-size: expression( screen.deviceXDPI &gt; 96 ? ((1 / (screen.deviceXDPI / 96) * 100) * 0.625 ) + '%' : '');}
body.smallFont {font-size: expression( screen.deviceXDPI &gt; 96 ? ((1 / (screen.deviceXDPI / 96) * 100) * 0.625 ) + '%' : '') !important;}
body.medFont {font-size: expression( screen.deviceXDPI &gt; 96 ? ((1 / (screen.deviceXDPI / 96) * 100) * 0.675 ) + '%' : '') !important;}
body.largeFont {font-size: expression( screen.deviceXDPI &gt; 96 ? ((1 / (screen.deviceXDPI / 96) * 100) *0.75 ) + '%' : '') !important;}
&lt;/style&gt;
&lt;![endif]--&gt;</pre>
<p>This seemed to work well in my testing and no one complained since then.  However, you should be warned there are some serious issues with using the expression statement.</p>
<ul>
<li>The expression statement here will be recalculated for just about any event that would affect the DOM and any event that triggers an update to the browser viewport (such as scrolling!).  There are a lot of events that trigger viewport updates.  Expressions like this are on <a href="http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_6/">the list of things to avoid in Yahoo!&#8217;s High Performance Websites Guides</a>.  Of course, the impact this actually has depends on how rigorous the calculation and the performance of the machine on which the browser is running.</li>
<li>Microsoft <a href="http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-expressions.aspx">killed expression support in IE8 Standards mode</a> and plans to keep it that way.</li>
</ul>
<div>If you run into a similar problem, this is a possible solution.  But, you need to determine how much of a performance impact this will have on your site and whether that is an acceptable performance degradation.</div>
<div>If you have a better method of scaling CSS with DPI increases in older versions of IE, post a comment or toss me an email.</div>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2011/07/16/web-dpi-scaling-in-legacy-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring IIS after .Net Framework Installation</title>
		<link>http://albybum.net/blog/2011/05/19/configuring-iis-after-net-framework-installation/</link>
		<comments>http://albybum.net/blog/2011/05/19/configuring-iis-after-net-framework-installation/#comments</comments>
		<pubDate>Thu, 19 May 2011 12:13:28 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[.net framework]]></category>
		<category><![CDATA[asp.net 4]]></category>
		<category><![CDATA[BadImageFormatException]]></category>
		<category><![CDATA[HRESULT: 0x8007000B]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[iis metabase]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=200</guid>
		<description><![CDATA[You may receive the following errors when attempting to open a web application solution in Visual Studio 2010 if IIS was installed and/or configured afterward: &#8220;Unable to create the virtual directory. Unable to acces the IIS metabase. You do not have sufficient privilege to access IIS websites on your machine. &#8220;ASP.NET 4.0 has not been [...]]]></description>
			<content:encoded><![CDATA[<p>You may receive the following errors when attempting to open a web application solution in Visual Studio 2010 if IIS was installed and/or configured afterward:
<ul>
<li>&#8220;Unable to create the virtual directory. Unable to acces the IIS metabase. You do not have sufficient privilege to access IIS websites on your machine.</li>
<li>&#8220;ASP.NET 4.0 has not been registered on the Web server. You need to manually configure your Web server for ASP.NET 4.0 in order for your site to run correctly</li>
</ul>
<p>This can happen if you install IIS after the .Net Framework.  So, not all components may be installed or configured correctly.  This happened to me because I was given a new work machine with a fresh (generic) IT disk image, which had the .Net framework installed but not IIS or development tools.  So, I suspect many other people may share this use case.</p>
<p>The steps on resolving these issues can be found here:  <a href="http://www.devcurry.com/2010/11/resolving-aspnet-40-has-not-been.html">http://www.devcurry.com/2010/11/resolving-aspnet-40-has-not-been.html</a>.  I had to complete all of the steps listed to fix my most recent install.</p>
<h2>32-bit/64-bit Application Pools</h2>
<p>You may also get the following error (as I did) when attempting to run an application with 32-bit assemblies under a new configuration of IIS and ASP.Net with 64-bit Windows.</p>
<ul>
<li>&#8220;<a title="Create this page" href="http://oitsswiki.etsu.edu/wikka.php?wakka=BadImageFormatException/edit">BadImageFormatException</a>: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)&#8221;</li>
</ul>
<p>Solution:</p>
<p>&#8220;If you try to run 32-bit applications on IIS7 (and/or 64-bit OS machine) you will get the same error. So, from the IIS7 right click on the applications&#8217; application pool and go to &#8220;advanced settings&#8221; and change &#8220;Enable 32-Bit Applications&#8221; to &#8220;TRUE&#8221;.</p>
<p>Restart your Website and it should work.&#8221;</p>
<p>This solution was found on <a href="http://stackoverflow.com/questions/2023766/an-attempt-was-made-to-load-a-program-with-an-incorrect-format-even-when-the-pl">Stack Overflow</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2011/05/19/configuring-iis-after-net-framework-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Tip:  Floats and Parent Containers</title>
		<link>http://albybum.net/blog/2011/02/04/css-tip-floats-and-parent-containers/</link>
		<comments>http://albybum.net/blog/2011/02/04/css-tip-floats-and-parent-containers/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 16:41:15 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[IE6]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS mistakes]]></category>
		<category><![CDATA[floats]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[mistakes]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=189</guid>
		<description><![CDATA[One of the first traps people fall into when learning CSS deals with the mystical float property. Floating content in pages is something that needs to be done with finesse or you can get some weird behavior in your pages. Some people dismiss this weird float behavior as a browser quirk instead of trying to [...]]]></description>
			<content:encoded><![CDATA[<p>One of the first traps people fall into when learning CSS deals with the mystical <strong>float</strong> property.  Floating content in pages is something that needs to be done with finesse or you can get some weird behavior in your pages.</p>
<p>Some people dismiss this weird float behavior as a browser quirk instead of trying to understand the issue.  I thought I would take a quick second to document how floated elements interact with their parent container.</p>
<p>Floating elements takes the elements out of the &#8220;normal flow&#8221; of a page.  Therefore, they are not included in the height calculations of their parent containers.  This can cause overlapping content in pages or even more odd behavior.  There are convoluted ways to fix this, including adding markup to your pages with the <strong>clear</strong> property on them to reset your floats.</p>
<p>But, there is a more elegant way and it only takes two CSS properties on the parent container.</p>
<blockquote><p>.parent {<br />
overflow:auto;<br />
_height:1%; /* ie6 fix */<br />
}</p></blockquote>
<p>In most cases, overflow:auto will force the height of floated child elements to be included in the height of the parent.  And the _height property (yes it is misspelled with a leading underscore) will fix an issue in IE6 where overflow:auto isn&#8217;t enough to force height to be calculated.  It turns out that IE6 doesn&#8217;t mind a leading underscore and accepts the property, but virtually all other browsers fortunately drop the property as being invalid.</p>
<p>See the following image and webpage for an example of this in practice.</p>
<p><img class="alignnone" title="CSS Float Screenshot" src="http://my.albybum.net/imageViewer/Profiles/albybum/images/css-float-example.jpg" alt="Screenshot of the webpage demonstrating collapsing height for floats and the fix." width="490" height="361" /></p>
<p>Example: <a href="http://www.albybum.net/docs/css-examples/floats.htm">http://www.albybum.net/docs/css-examples/floats.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2011/02/04/css-tip-floats-and-parent-containers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common CSS Mistakes, part 1</title>
		<link>http://albybum.net/blog/2010/09/08/common-css-mistakes-part-1/</link>
		<comments>http://albybum.net/blog/2010/09/08/common-css-mistakes-part-1/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 02:30:56 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS mistakes]]></category>
		<category><![CDATA[HTTP requests]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sprites]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=163</guid>
		<description><![CDATA[Having professionally worked on high-profile websites with Web developers of varied skill levels, I have seen first-hand the recurring common CSS mistakes that people make and the frustration and lost sleep that comes from those mistakes. Even after doing this for years, I still find myself repeating some of the same. Even though CSS is [...]]]></description>
			<content:encoded><![CDATA[<p>Having professionally worked on high-profile websites with Web developers of varied skill levels, I have seen first-hand the recurring common CSS mistakes that people make and the frustration and lost sleep that comes from those mistakes.  Even after doing this for years, I still find myself repeating some of the same.</p>
<p>
Even though CSS is an easy language to understand, it takes years of experience to master all the language and cross-browser &#8220;gotcha&#8217;s&#8221; associated with Web development.  I think a recent <a title="12 Common CSS Mistakes Web Developers Make - Opens in a new window" href="http://sixrevisions.com/css/12-common-css-mistakes-web-developers-make/" target="_blank">SixRevisions article by Max Luzuriaga</a> describes this well.</p>
<blockquote><p>But despite its deceptively easy exterior, CSS is one complicated system, especially when you’re doing it in a professional, high-scale, high-performance level. The sheer number of ways to select an element is amazing; not to mention the number of properties you can apply to that selected element set and then how presentation changes when you’re talking about supporting multiple browsers and layout engines.</p>
<p>It’s easy to get tripped up with CSS.</p></blockquote>
<p>
For a while, I have wanted to document these issues for myself, but it was difficult to find the time. Now that I do have the time, I plan on making a series of public posts documenting these issues myself and finding professional supporting articles.</p>
<p>
To start, I highly encourage people read the above-mentioned SixRevisions article.  I will describe below the two points that I do not 100% agree with.  But, it is a great read and points out some of the common high-level issues with CSS.</p>
<p>Source: <a href="http://sixrevisions.com/css/12-common-css-mistakes-web-developers-make/#more-4021">12 Common CSS Mistakes Web Developers Make (SixRevisions)</a></p>
<p>
<strong>Over-Qualifying Selectors:</strong><br />
Problems can definitely arise from being too specific with selectors, but the opposite is true as well.  If style rules are applied to selectors that are too generic, then more specific selectors that are needed as sites evolve often have to &#8220;undo&#8221; or overwrite inherited rules in these new rules.</p>
<p>
Just as a very simplistic example, adding font-weight to the base anchor tag element selector would cause every link to inherit this rule.  Most likely, there are going to be links somewhere on your site that you don&#8217;t need to be bold.  So, any more specific selectors added &#8220;down the road&#8221; would have to reset this font-weight value.   Again, this is a very simplistic example, but the concept still applies if it was prefixed by a #sidebar selector or even more nested and specific selector.</p>
<blockquote><p><code>a { font-weight:600; }<br />
#sidebar a { font-weight:600; }</code></p></blockquote>
<p>
Using very specific ID selectors as &#8220;prefixes&#8221; can also allow developers to easily and somewhat semantically &#8220;segment&#8221; their style rules to target specific sections of a site.  This is useful for large websites with multiple sections or tools that might undergo revisions separate from the remainder of the site.</p>
<p>
I think the solution here is to use the exact level of specificity needed to achieve the current style with some planning for the future and some consideration of how the rules will be reused.  For example, what selectors might be nested within the current selected element or container that will also be affected by the associated rule?  I think many Web developers do not give enough consideration on how style rules on a site will interact with each other.  And, this leads to more issues other than just selector specificity issues.</p>
<p>
<strong>Using Only One Stylesheet for Everything:</strong><br />
Using multiple stylesheets can be a mixed blessing for maintenance. If there is a high level of cohesion in the style rules being bundled (like CSS reset, IE fixes, etc.), those can make maintenance easier.  In this scenario, things can be easier to find and change.  </p>
<p>
But, I argue that segmenting CSS into separate files for &#8220;sections&#8221; of a website can be a mixed blessing.  Things are often not as cohesive as we would like after a site has been in maintenance mode for a while.  And finding where a style rule is defined can be a pain in these scenarios, which are more common in large development studios.  This is especially a problem when style rules affecting an element are cascaded across multiple files. </p>
<p>
Whether segmenting offers a benefit or a hassle for maintenance really is negligible if you use the right supporting tools like <a href="http://getfirebug.com/" target="_blank" title="Firebug Plugin for Firefox. Opens in a new window.">Firebug</a> &#8211; as it usually make tracing style rules trivial.</p>
<p>
The real issue that comes to mind for me is performance.  Splitting CSS into multiple files creates the need for additional HTTP requests, which is <a href="http://developer.yahoo.com/performance/rules.html">one of the banes of performance for high-load websites</a>.  This is the same reason we use the <a href="http://www.alistapart.com/articles/sprites">sprite technique</a> to bundle multiple design images into one image and use CSS to position the right image into view.  Lowering the number of HTTP requests increases performance.</p>
<p>
Splitting CSS into multiple files can give a net performance gain if the site in question has a ton of CSS, some of which doesn&#8217;t always need to be loaded.  CSS rules for a lower-traffic section of the site could be factored out into a separate CSS file and only linked when the specific sections are loaded.  But, it would take some analysis of whether those extra kilobytes are worth the extra HTTP requests.</p>
<p>
<strong>Update 1, 9/8/2010:</strong><br />
Reading through the comments at SixRevisions, I noticed the recommendation to use @import to address the HTTP request issue when splitting up CSS files, but <a href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">@import has its own set of performance issues</a> by forcing sequential loading.</p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2010/09/08/common-css-mistakes-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Wilderness Downtown</title>
		<link>http://albybum.net/blog/2010/08/30/the-wilderness-downtown/</link>
		<comments>http://albybum.net/blog/2010/08/30/the-wilderness-downtown/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 19:16:24 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=142</guid>
		<description><![CDATA[This is a very interesting multimedia proof of concept done with HTML 5. From the &#8220;video,&#8221; I noticed at least the use of HTML 5 video, canvas and geo-location features. There may also be some persistence of data. This definitely illustrates some new ways that websites will be engaging visitors in the future, allowing a [...]]]></description>
			<content:encoded><![CDATA[<p>This is a very interesting multimedia proof of concept done with HTML 5.</p>
<p><img class="aligncenter" style="border: solid 1px #000;" title="The Wilderness Downtown" src="http://www.chromeexperiments.com/img/arcade-fire/header.jpg" alt="The Wilderness Downtown" width="480" /></p>
<p>From the &#8220;video,&#8221; I noticed at least the use of HTML 5 video, canvas and geo-location features.  There may also be some persistence of data.  This definitely illustrates some new ways that websites will be engaging visitors in the future, allowing a more personalized multimedia experience.</p>
<p>I was surprised at the smooth integration of elements between technologies and how great the drawn images actually looked.</p>
<blockquote><p>Google is a big proponent of HTML5, especially for video and rich graphics in the browser. To show off what HTML5 can do, Google Chrome teamed up with the Arcade Fire and director Chris Milk to create a custom interactive video for their song, We Used To Wait. The experience is called The Wilderness Downtown and is best viewed in Chrome</p></blockquote>
<p>I definitely encourage people to fire up Chrome and take a look.</p>
<p><img class="alignnone" style="border: solid 1px #000;" title="A screen capture from a browser window showing the composition of trees onto Google maps" src="http://my.albybum.net/imageViewer/Profiles/albybum/images/TheWildernessDowntownExample.jpg" alt="A screen capture from a browser window showing the composition of trees onto Google maps" width="480" /></p>
<p>Source <a href="http://digg.com/news/story/google_chrome_shows_off_what_html5_can_do_with_arcade_fire_video">Techcrunch (via Digg)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2010/08/30/the-wilderness-downtown/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Xbox Live Gold price increasing November 1 in US, UK, Canada, and Mexico</title>
		<link>http://albybum.net/blog/2010/08/30/xbox-live-gold-price-increasing-november-1-in-us-uk-canada-and-mexico/</link>
		<comments>http://albybum.net/blog/2010/08/30/xbox-live-gold-price-increasing-november-1-in-us-uk-canada-and-mexico/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 18:39:56 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Gaming]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=138</guid>
		<description><![CDATA[In a move that defies logic, Microsoft is actually RAISING the price of XBox Live instead of moving toward some ad-driven service. Source: http://www.engadget.com/2010/08/30/xbox-live-gold-price-increasing-as-of-november-1-in-us-uk-cana/ The change takes effect in November. So, I guess if you want in on the cheap, stock up on those existing cards now before the price goes up. Well, this is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digitaltrends.com/wp-content/uploads/2010/04/xbox_live_logo_lo_res.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 500px;" src="http://www.digitaltrends.com/wp-content/uploads/2010/04/xbox_live_logo_lo_res.jpg" border="0" alt="" /></a><br />
In a move that defies logic, Microsoft is actually RAISING the price of XBox Live instead of moving toward some ad-driven service.</p>
<p>Source: <a href="http://www.engadget.com/2010/08/30/xbox-live-gold-price-increasing-as-of-november-1-in-us-uk-cana/">http://www.engadget.com/2010/08/30/xbox-live-gold-price-increasing-as-of-november-1-in-us-uk-cana/</a></p>
<p>The change takes effect in November.</p>
<p>So, I guess if you want in on the cheap, stock up on those existing cards now before the price goes up.</p>
<blockquote style="font-style: italic;"><p>Well, this is sad and unexpected: Microsoft&#8217;s Major Nelson just announced that <a href="http://www.engadget.com/tag/xboxlive">Xbox Live Gold</a> will be getting more expensive in the US, UK, Canada, and Mexico  starting November 1. A single month will go from $7.99 to $9.99, three  months will go from $19.99 to $24.99, and the yearly sub will now be  $59.99, up from $49.99.</p></blockquote>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2010/08/30/xbox-live-gold-price-increasing-november-1-in-us-uk-canada-and-mexico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10,000 days</title>
		<link>http://albybum.net/blog/2010/08/30/10000-days/</link>
		<comments>http://albybum.net/blog/2010/08/30/10000-days/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 15:56:58 +0000</pubDate>
		<dc:creator>Albert</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://albybum.net/blog/?p=129</guid>
		<description><![CDATA[According to Wolfram Alpha, today is my 10,000th day alive. Interestingly, if I reverse the logic, the calculation falls 7 days short. But, this calculator, also says 10,000 days. So, I guess I&#8217;ve lived &#8220;approximately&#8221; 10,000 days]]></description>
			<content:encoded><![CDATA[<p>According to <a href="http://www.wolframalpha.com/input/?i=04%2F14%2F1983+%2B+10000">Wolfram Alpha</a>, today is my 10,000th day alive.  </p>
<p>Interestingly, if I reverse the logic, the calculation falls <a href="http://www.wolframalpha.com/input/?i=August+30%2C+2010+-+April+14%2C+1983+in+days">7 days short</a>.</p>
<p>But, <a href="http://www.beatcanvas.com/daysalive.asp">this calculator</a>, also says 10,000 days.</p>
<p>So, I guess I&#8217;ve lived &#8220;approximately&#8221; 10,000 days</p>
<p><img src="http://my.albybum.net/imageViewer/Profiles/albybum/images/heart-attack.jpg" alt="Old man" /></p>
]]></content:encoded>
			<wfw:commentRss>http://albybum.net/blog/2010/08/30/10000-days/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

