<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>greenideas</title>
	
	<link>http://mwhenry.com/blog</link>
	<description>A blog by Matt Henry</description>
	<lastBuildDate>Tue, 08 Sep 2009 15:17:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/mwhenrycom" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>On not knowing _why</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/rJcFx9gTkAo/</link>
		<comments>http://mwhenry.com/blog/2009/08/on-not-knowing-_why/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 22:35:18 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[manners]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[_why]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=49</guid>
		<description><![CDATA[Sometime this morning, Why the Lucky Stiff basically erased himself from the Internet. He deleted his Twitter &#38; Github accounts, as well as took down the sites at his various domains, including his massively influential “Why’s Poignant Guide to Ruby.”
Of course, what you don’t know is why he did it. And nobody could know that [...]]]></description>
			<content:encoded><![CDATA[<p>Sometime this morning, Why the Lucky Stiff basically erased himself from the Internet. He deleted his Twitter &amp; Github accounts, as well as took down the sites at his various domains, including his massively influential “Why’s Poignant Guide to Ruby.”</p>
<p>Of course, what you don’t know is why he did it. And nobody could know that unless/until _why himself decides to come back and tell us, for lack of a better word, why. Naturally, that hasn’t stopped folks from guessing out loud. At the moment, the prevailing “wisdom” in the various threads on Hacker News is that _why’s disappeared himself as a response to his identity being disclosed last month. If that’s the case, then I humbly encourage those responsible to fornicate themselves with something rusty. There were no death threats involved, so we’re not at the Kathy Sierra level of offense, but the end result for the web community is the same: somebody who obviously cared a lot about making the web a better place for everyone has decided it’s not worth the abuse.</p>
<p>It should be pretty obvious why I don’t feel particularly inclined to link back to any of the trolls out there who, even if they’re not directly responsible for _why’s decision, <em>are</em> directly responsible for the web being less of a great place to live and work. That said, I do want to point to John Resig’s <a href="http://ejohn.org/blog/eulogy-to-_why/http://ejohn.org/blog/eulogy-to-_why/">“eulogy”</a> for _why, mostly because I wish I could be as positive as he is about this whole thing.</p>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/rJcFx9gTkAo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2009/08/on-not-knowing-_why/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2009/08/on-not-knowing-_why/</feedburner:origLink></item>
		<item>
		<title>Links for June the Second, 2009</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/dLP2FbQxaE4/</link>
		<comments>http://mwhenry.com/blog/2009/06/links-for-june-the-second-2009/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 20:14:22 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[closures]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=47</guid>
		<description><![CDATA[
1 line CSS Grid Framework — Distilling a CSS framework into one line is an interesting experiment, in that it shows essentially what all of the other (bigger than one line) frameworks are doing. Also, if you look at the markup of a site that was built using it, it serves as a pretty good [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.vcarrer.com/2009/06/1-line-css-grid-framework.html">1 line CSS Grid Framework</a> — Distilling a CSS framework into one line is an interesting experiment, in that it shows essentially what all of the other (bigger than one line) frameworks are doing. Also, if you look at the markup of a site that was built using it, it serves as a pretty good <em>reductio ad absurdum</em> against CSS frameworks.</li>
<li><a href="http://www.artzstudio.com/2009/04/jquery-performance-rules/">jQuery Performance Rules</a> — A useful collection of best practices that can speed up your jQuery code by non-trivial amounts. I’ll admit that I’m often guilty of sticking the bulk of my code inside of <code>$(function(){...})</code>.</li>
<li><a href="http://haineault.com/blog/105/">jQuery: Inline caching for selectors</a> — If you’re taking the advice of the article linked above and caching your jQuery objects, take a look at this technique for keeping those cached objects available throughout your app without polluting the global namespace (hint: it uses closures).</li>
<li><a href="http://www.railsfire.com/article/procs-and-blocks-and-anonymous-functions">Procs And Blocks And Anonymous Functions</a> — Speaking of closures, this is a decent rundown of the various uses of closures in Ruby.</li>
</ul>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/dLP2FbQxaE4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2009/06/links-for-june-the-second-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2009/06/links-for-june-the-second-2009/</feedburner:origLink></item>
		<item>
		<title>zsh: Scratching a geeky itch</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/tx7HuDXR-0Y/</link>
		<comments>http://mwhenry.com/blog/2009/04/zsh-scratching-a-geeky-itch/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 22:47:50 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[irb]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[zsh]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=40</guid>
		<description><![CDATA[I’ll apologize right out of the gate for the resemblance this post bears to one Rafe Colburn made today. We sit across from each other at work, and we’re both diving into zsh at the moment, so cross-pollination was probably inevitable.
The other day, I switched my shell from bash to zsh. Just like Rafe, I [...]]]></description>
			<content:encoded><![CDATA[<p>I’ll apologize right out of the gate for the resemblance this post bears to <a href="http://rc3.org/2009/04/04/my-zsh-adventure/">one Rafe Colburn made today</a>. We sit across from each other at work, and we’re both diving into zsh at the moment, so cross-pollination was probably inevitable.</p>
<p>The other day, I switched my shell from bash to zsh. Just like Rafe, I read the <a href="http://friedcpu.wordpress.com/2007/07/24/zsh-the-last-shell-youll-ever-need/">Fried CPU post about zsh</a>, and was convinced to give it a whirl. It’s been in the back of my mind for a while now, since I’ve notice that a lot of people whom I respect (<a href="http://railscasts.com">Ryan Bates</a>, for one) are using it, but the concise list of really powerful features in the Fried CPU article was the tipping point. I’ll admit that, never having switched shells before, I thought it was going to be a heck of a lot more complicated than just typing <code>chsh</code> and replacing “/bin/bash” with “/bin/zsh” in the config file that pops up. Had I known it would be that easy, I would’ve tried it a lot sooner.</p>
<p>At first, I tried copying huge chunks out of the zshrc &amp; other zsh config files that Joe Ferris maintains in a <a href="http://github.com/jferris/config_files/tree/master">repo at Github</a>, but eventually decided I’d get more out of this experiment if I took more bite-sized chunks out of other peoples configurations, and only added them to my own when I understood what they were doing.</p>
<p>That’s when things got out of hand.</p>
<p>When I was copying bits of my old bash configs over to my zshrc, I noticed how disorganized all of my dotfiles were–not just the shell ones, but my irbrc, and vim &amp; emacs configs, etc., etc., etc. So I  basically decided to scrap all of them and take the same approach to them as I was taking with my shell configs. So basically, I’m starting over with Unix, and slowly rebuilding what I’m hoping will be a super-organized and super-optimized environment for future work and play.</p>
<p>If you’re interested in seeing how things develop, you can follow along with my <a href="http://github.com/greenideas/dotfiles/tree/master">dotfiles repo on Github</a>. But what I’m sure will be infinitely more interesting will be to start on your own adventure in Unix configuration. If you go down that road, here are some of the resources I’ve used in rebuilding my environment:</p>
<ul>
<li><a href="http://github.com/jferris/config_files/tree/master">Joe Ferris’s config_files repo</a>: I mentioned this before, but it’s worth mentioning again, due to its being awesome.
<li><a href="http://dotfiles.org/">dotfiles.org</a>: User-conributed dotfiles for just about every *nix-based utility that uses a text-based configuration file.</li>
<li><a href="http://giantrobots.thoughtbot.com/2008/12/23/script-console-tips">irb &amp; script/console tips</a>: Obviously these are only useful to Rubyists, but if you swing that way, theses are well worth checking out. Ever since I first saw the SQL generated by an ActiveRecord query show up in someone’s script/console, I’ve coveted that functionality. Dan Croak shows how it’s done.</li>
<li>Dr. Nic also has some <a href="http://drnicwilliams.com/2006/10/12/my-irbrc-for-consoleirb/">great irb tips</a></li>
<li>Finally, I cribbed a git-aware prompt from <a href="http://smartic.us/2009/04/02/more-git-prompt-goodies-with-zsh/">this screencast</a>. A very neat trick.</li>
</ul>
<p>So yeah, it’s been really fun getting back to basics with my Unix configs. That said, I have had one small hiccup in this process. After going through all of this with my OSX terminal, I went to switch my shiny new <a href="http://intranation.com/entries/2009/03/development-virtual-machines-os-x-using-vmware-and/">Ubuntu JeOS VM</a>’s shell over to zsh, but found that after doing so, my delete key wasn’t behaving like a backspace as it had been doing when I was using bash. Apparently this is a known issue when using zsh or screen over ssh. I still haven’t found a good workaround for this, and so am still using bash in Ubuntu.</p>
<p>All in all, switching from bash to zsh has been an extremely rewarding experience, and definitely one I’d recommend to anyone looking to change up their routine and learn something new and useful.</p>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/tx7HuDXR-0Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2009/04/zsh-scratching-a-geeky-itch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2009/04/zsh-scratching-a-geeky-itch/</feedburner:origLink></item>
		<item>
		<title>The Eyes of March</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/O5ieE3TKEFo/</link>
		<comments>http://mwhenry.com/blog/2009/03/the-eyes-of-march/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 16:05:02 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[experimonth]]></category>
		<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=38</guid>
		<description><![CDATA[This month, I’ll be participating in the Experimonth project. The main thrust of Experimonth is that for every month in 2009, participants will do something they (probably) don’t normally do every day in that month and record their experience. For instance, January’s experiment was to eat only raw foods for the entire month.
This month’s experiment, [...]]]></description>
			<content:encoded><![CDATA[<p>This month, I’ll be participating in the <a href="http://experimonth.com/">Experimonth project</a>. The main thrust of Experimonth is that for every month in 2009, participants will do something they (probably) don’t normally do every day in that month and record their experience. For instance, <a href="http://january.experimonth.com/">January’s experiment</a> was to eat only raw foods for the entire month.</p>
<p>This month’s experiment, called <a href="http://march.experimonth.com/">“The Eyes of March”</a> involves taking or making a picture of something every day. If you want to follow along, there’s a <a href="http://www.flickr.com/groups/eyesofmarch/">Flickr group for the project</a>.</p>
<p>Of course, every experiment needs a hypothesis, so here’s mine: I’m guessing (and indeed hoping) that being on the lookout for things to take pictures of every day will make me more mindful of the visual impact of things that I look at all the time and don’t pay very much attention to. So if by the end of the month, I’ve been able to look at the things around me and notice something new and or important about even a few of them, then the experiment will have been a success. If anything like that happens, I’ll be sure to make a note of it here.</p>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/O5ieE3TKEFo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2009/03/the-eyes-of-march/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2009/03/the-eyes-of-march/</feedburner:origLink></item>
		<item>
		<title>The Rounded Corners of Tomorrow… Today!</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/IUStJ04aHr4/</link>
		<comments>http://mwhenry.com/blog/2008/10/the-rounded-corners-of-tomorrow-today/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 04:46:12 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=19</guid>
		<description><![CDATA[Hey, you know what can be a real pain in the tail? CSS rounded corners. Of course there are battle-tested, workhorse solutions out there, like sliding doors, or a handful of Javascript-based alternatives. But rounded corners are such a common element of web design and seem like a natural extension of the designer’s existing toolkit [...]]]></description>
			<content:encoded><![CDATA[<p>Hey, you know what can be a real pain in the tail? CSS rounded corners. Of course there are battle-tested, workhorse solutions out there, like <a href="http://www.alistapart.com/articles/slidingdoors/">sliding doors</a>, or a handful of <a href="http://www.curvycorners.net/">Javascript-based</a> alternatives. But rounded corners are such a common element of web design and seem like a natural extension of the designer’s existing toolkit that it only makes sense that there should be a way to implement them with pure CSS. The good news is that <code>border-radius</code> is indeed <a href="http://www.w3.org/TR/css3-background/#border-radius">coming in CSS3</a>. The better news is that you can start using it today, as long as you’re only targeting Gecko &amp; Webkit. Before we get to that though, let’s look at the way it’s supposed to work according to the spec.</p>
<p>As you might expect, the <code>border-radius</code> property is used a lot like <code>border</code>. That is, you can specify one value for each corner (<code>border-radius: 10px;</code>), one value per corner (<code>border-radius: 1px 2px 3px 4px;</code>), or values for opposite corners (<code>border-radius: 5px 10px</code>). It actually gets more complicated, since in addition to describing corners with one radius (i.e. those with semi-circular curves), you can make elliptically rounded corners by naming two radii. For more detail on this, take a look at the draft spec. Lastly, you can use a property for each corner, <code>border-top-left-radius: 2em;</code>, etc. So, assuming there aren’t any major changes in the spec, expect this to be what gets implemented as part of CSS3, and what you’ll ultimately using in your code.</p>
<p>But what about now? Here? Today? It happens that two of the standards-aware, forward-thinking rendering engines have developed proprietary extensions to CSS that should stand in for <code>border-radius</code> until certain <a href="http://www.css3.info/border-radius-apple-vs-mozilla/">ambiguities</a> in the spec can be resolved, and the property is implented according to the standard. So if you want to use <code>border-radius</code> in your code today, you’ll have to use both the Mozilla– and Webkit-specific CSS properties. Fortunately, both of the proprietary extensions work in the current major releases of their respective browsers.</p>
<p>If you’re making a box with four corners of the same radius, the syntax is the same in Mozilla and Webkit:</p>
<pre class="code">-moz-border-radius: 10px; /* 4 corners of radius = 4px*/
-webkit-border-radius: 10px; /* Same as Mozilla */</pre>
<p>To specify different radii for each corner, things diverge somewhat.</p>
<pre class="code">/* Mozilla: */
-moz-border-radius: 1px 2px 3px 4px;
/* Webkit:
    (The four declarations below amount to the
    same thing as the single rule above) */
-webkit-border-top-left-radius: 1px;
-webkit-border-top-right-radius: 2px;
-webkit-border-bottom-right-radius: 3px;
-webkit-border-bottom-left-radius: 4px;</pre>
<p>And that’s the guts of it. So to make a tabbed navigation list, you would use a declaration along the lines of the following (and <a href="examples/borderradius.html">see the below code in action.</a>):</p>
<pre class="code">li {
  border: 1px solid #587402;
  border-bottom: none;
  border-radius: 0 10px 0 10px;
  -moz-border-radius: 10px 10px 0 0;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  list-style-type: none;
  float: left;
  padding: .5em 1em 0 1em;
}</pre>
<p>There you have it. But there are just a couple of other things I want to point out. If the container you’re rounding the corners of has only text content and a background in it, the background will clip to the rounded corners. And indeed, according to the spec, <em>any</em> the contents of a block-level element on which a border-radius is set should clip do the same as long as you set <code>overflow: hidden</code> on those contents. However, the implementations just aren’t there yet. Instead, with anything over and above plain HTML text (for instance, an <code>img</code> or <code>iframe</code>) inside such a container, the square corners will peek outside of the rounded container. (<a href="examples/borderradius.html#pointy">Example</a>)</p>
<p>One solution would be to make the border thick enough that the corners of the inner element can’t poke through the outer border (<a href="examples/borderradius.html#bigBorder">like so</a>). Though inelegant, this will work just fine if you don’t need everything to round nicely. And this method should suffice for whatever kind of content you’re trying to stuff into your nicely rounded box.</p>
<p>However, if it’s an image you’re putting in the box and you need the inner corners to be rounded as well as the outer corners, then the only answer (for now) is to <a href="examples/borderradius.html#bigBorder">set the image as a background</a>. Still, if the language of the spec is any indication, it won’t always be this way.</p>
<p>For the poor soul who is trying to squeeze iframe content into a rounded corner box, you’re essentially out of luck at the moment. You can certainly use the thick border method I described above, but short of that, you’ll have to look to the bleeding edge. That is to say, you’ll need something which isn’t yet in any production-quality browser, but that is currently in the Webkit nightlies. I speak of the arcane methods of <code>-webkit-mask-image</code>. This property can take a png or an svg as its url, and pretty much anything you apply it to will play nice and clip to the shape of the image. <a href="examples/borderradius.html#map">See for yourself.</a> Still, this last bit is obviously not anything anybody will be using in production code for some time to come.</p>
<p>After reading all of this, if nothing else, I do hope that you’ve come away with a better idea of some of the great things that the CSS working group has in store for you, the developer. But even moreso, hopefully there’s something in all of this mess that you’ll be able to put to use today.</p>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/IUStJ04aHr4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2008/10/the-rounded-corners-of-tomorrow-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2008/10/the-rounded-corners-of-tomorrow-today/</feedburner:origLink></item>
		<item>
		<title>Condemned 2 — First Impressions</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/FrMuUy39L6w/</link>
		<comments>http://mwhenry.com/blog/2008/04/condemned_2/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 17:16:36 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=15</guid>
		<description><![CDATA[I loved the first Condemned. It was loads of fun, and I can count on two fingers the number of games that I’ve found as legitimately scary. So I was looking very forward to the second installment. Having now played through the first level of Condemned 2: Bloodshot, let me offer a few preliminary thoughts [...]]]></description>
			<content:encoded><![CDATA[<p>I loved the first <em>Condemned</em>. It was loads of fun, and I can count on two fingers the number of games that I’ve found as legitimately scary. So I was looking very forward to the second installment. Having now played through the first level of <em>Condemned 2: Bloodshot</em>, let me offer a few preliminary thoughts about whether or not it lives up to the promise of its predecessor.</p>
<p>Graphically, it looks considerably better than <em>Criminal Origins</em>. This is to be expected, since the latter was a launch title for the 360, and the developers clearly didn’t know much about how to utilize the resources available to them. As such, the fact that the character models and animation have drastically improved is as expected as it is welcome.</p>
<p>I wish I could say that the gameplay has improved as much as the overall look of the game. Not so, I’m afraid. At least through the first part of the game, everything feels much easier. Let me expand on that. The first thing I noticed when going through the combat tutorial at the start of the game was that I didn’t really need to block to keep from getting clobbered. In the first game, encounters usually began with you having to block a 2x4 being swung at you by a lunging hobo. Then you’d have to watch your opponent and precisely time your blocks and parries until you had sent the bastard to wino hell. Each fight was intense, savage, and thrilling. This time around, however, if you notice a bad guy before he spots you, you could potentially just run up to him and punch him until he dies. Not fun. But hey, who needs intense combat, when you’ve got… minigames? Uh, no. Thanks to <em>God of War</em> and <em>Resident Evil 4</em>, game devs think that tacking a small rhythm minigame onto a fight is sufficient to take monotonous button mashing into something innovative. It’s not.</p>
<p>Unfortunately, the worst consequence of taking the grit out of the combat, is that the game has lost its white-knuckle edge. Playing through the first one was exhausting. Each shadow potentially hid one or more bloodthirsty crazies who could kill you pretty quickly if you weren’t ready for a fight, and the resulting tension was genuinely draining. For this outing, if you’re not worried that you’re a couple of whacks away from game over, the best you can hope for is a jump scare when the weird ash-monster explodes from the ceiling. It’s just not the visceral experience that I loved the first time around.</p>
<p>What I do like is the storytelling. I like that our hero has essentially become one of the lost souls he mercilessly battered in the first installment. I really like that from his (and the player’s) perspective, there isn’t any real indication that he hasn’t succumb to whatever it is that has caused half of his city’s population to turn into brutal psychopaths. Most of all, though, I really like the turn towards horror that this game takes right from the outset. The city is covered in oozing tar, skeletal ash-men lurk in the shadows, and the weird lip-ring dudes are giving you attitude in the most ominous way. Good stuff all. I just wish the gameplay was able to match the tone of the writing.</p>
<p>Overall, I have a lot of serious issues with <em>Condemned 2</em> that I really hope will resolve themselves as I get a little further along. However, given how fantastic the first game was, I feel justified in being at least somewhat optimistic that they will.</p>
<p>And speaking of violent video games, <a href="http://gamepolitics.com/2008/04/05/author-steven-king-slams-massachusetts-video-game-legislation/">Stephen King has come out against the proposed Massachusetts law that would lump violent games in with pornography as being “harmful to minors.”</a> Indeed, he even namechecks <em>RE4</em>. This further supports my long-held suspicion that Stephen King is completely awesome.</p>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/FrMuUy39L6w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2008/04/condemned_2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2008/04/condemned_2/</feedburner:origLink></item>
		<item>
		<title>What I’m Reading: 3/28</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/a_F4LSbYNpg/</link>
		<comments>http://mwhenry.com/blog/2008/03/reading-3-28-2008/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 15:41:25 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Acid3]]></category>
		<category><![CDATA[baseball]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=13</guid>
		<description><![CDATA[
It’s Not a League of Their Own: Boston Dirt Dogs has an excerpt from the 2008 Red Sox Annual in which the authors size up the Sox’ competition in the American League. On the whole, it’s pretty interesting I guess, but the best part is that the section on the Orioles is just one long [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><a href="http://bostondirtdogs.boston.com/Headline_Archives/2008/03/its_not_a_leagu_1.html">It’s Not a League of Their Own</a>: Boston Dirt Dogs has an excerpt from the <em>2008 Red Sox Annual</em> in which the authors size up the Sox’ competition in the American League. On the whole, it’s pretty interesting I guess, but the best part is that the section on the Orioles is just one long reference to <em>The Wire</em>. And if you read a little further down there’s another <em>Wire</em> reference that’s masquerading as a pithy statement about the economics behind your brand new Tampa Bay <del>Devil</del> Rays:<br />
<blockquote><p>My economics are rusty, but when you have an inferior product in a saturated, inelastic market, one strategy is to re-brand the product. Therefore, exit the Devil, and their aqua uniforms, to be replaced by the San Diego Padres kits with blue replacing sand brown.</p></blockquote>
<p>Stringer Bell is alive and well in the sports pages, folks.</li>
<li><a href="http://www.atoker.com/blog/2008/03/27/webkit-gets-100-on-acid3/">WebKit gets 100% on Acid3</a>: “Yesterday’s news” you say? Nope. The news today is about Webkit/GTK. Awesome news for us LXers. Also, definitely take a look at this <a href="http://webkit.org/blog/174/scenes-from-an-acid-test/">account of the main Webkit team’s road to 100/100</a>. It’s got some fun insights for spectators of the race between Webkit and Opera for full Acid3 compliance. And for some (probably much-needed) perspective, here’s <a href="http://shaver.off.net/diary/2008/03/27/the-missed-opportunity-of-acid-3/">one Mozilla-er’s take on the Acid3 arms race.</a></li>
<li><a href="http://ejohn.org/blog/javascript-talk-at-northeastern/">JavaScript Talk at Northeastern</a>: It’s a video of John Resig’s recent talk at Northeastern on Javascript and jQuery. What are you still doing here?</li>
</ol>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/a_F4LSbYNpg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2008/03/reading-3-28-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2008/03/reading-3-28-2008/</feedburner:origLink></item>
		<item>
		<title>What I’m Reading: 3/24</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/FcIf3t0CDus/</link>
		<comments>http://mwhenry.com/blog/2008/03/what-im-reading-324/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 17:22:42 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=12</guid>
		<description><![CDATA[
Nine Techniques for CSS Image Replacement: If you spend any time at all playing with CSS, you know that there are a full bajillion techniques for replacing text with an image. It’s a lot to remember, and I’ll fess up that I tend to use whatever one I happened to have read about most recently [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><a href="http://css-tricks.com/nine-techniques-for-css-image-replacement/">Nine Techniques for CSS Image Replacement</a>: If you spend any time at all playing with CSS, you know that there are a full bajillion techniques for replacing text with an image. It’s a lot to remember, and I’ll fess up that I tend to use whatever one I happened to have read about most recently rather than taking a considered approach to which of them might be the best solution for a given situation. No more! The above-linked post does a great job of running through the pros and cons of the 9 (9!) major techniques, and from now on you (meaning “I”) no longer have any excuse to not use the best, semantic, most accessible one at every opportunity.</li>
<li><a href="http://meyerweb.com/eric/thoughts/2008/03/23/drugs-bugs-and-ie8/">Drugs, Bugs, and IE8</a>: A predictably good read from Eric Meyer, but I link to it mainly to have an excuse to echo the following point: There are a lot of beta browsers out there right now (one less, now that Safari 3 has shipped). If you’re testing your sites in them and something renders in any way other than what you were expecting, submit a bug report. <strong>Don’t</strong> change your code.</li>
<li><a href="http://webkit.org/blog/166/optimizing-page-loading-in-web-browser/">Optimizing Page Loading in the Web Browser</a>: For the browser builders, network latency is at least as big a problem as connection speed.</li>
<li><a href="http://www.gamasutra.com/view/feature/3581/a_japanese_rpg_primer_the_.php">A Japanese RPG Primer: The Essential 20</a>: Last week, <a href="http://www.gamasutra.com/" title="Gamasutra">Gamasutra</a> published this list of the best of the best in Japanese RPGs throughout the ages. It’s a top-20, so it’s not exhaustive, but it’s sure as hell exhaust<em>ing</em>–i’ve been chipping away at this beastie since last week. Anyway, if you’re at all into JRPGs, it’s a really fun read. It’s also neat to see some old favorites put into context alongside some seminal games that you may never have been exposed to.</li>
</ol>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/FcIf3t0CDus" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2008/03/what-im-reading-324/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2008/03/what-im-reading-324/</feedburner:origLink></item>
		<item>
		<title>Install Mongrel &amp; Hpricot Under Ubuntu</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/Xg4F0Mp48mA/</link>
		<comments>http://mwhenry.com/blog/2008/03/install-mongrel-hpricot-under-ubuntu/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 12:09:23 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=11</guid>
		<description><![CDATA[Whenever I do a fresh install of Ubuntu, and I’m setting up Ruby, Rails, I always run into the same problem with a handful of gems (such as Mongrel &#38; Hpricot). This is how things usually go down:

matt@thinkpad:~$ sudo gem install hpricot
Building native extensions.  This could take a while...
ERROR:  Error installing hpricot:
ERROR: Failed to build [...]]]></description>
			<content:encoded><![CDATA[<p>Whenever I do a fresh install of Ubuntu, and I’m setting up Ruby, Rails, I always run into the same problem with a handful of gems (such as Mongrel &amp; Hpricot). This is how things usually go down:</p>
<pre class="code">
matt@thinkpad:~$ sudo gem install hpricot
Building native extensions.  This could take a while...
ERROR:  Error installing hpricot:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install hpricot
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:1
Gem files will remain installed in
/usr/lib/ruby/gems/1.8/gems/hpricot-0.6 for inspection.
Results logged to
/usr/lib/ruby/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan/gem_make.out</pre>
<p>Now what? The main problem here is that Hpricot and Mongrel both contain some C code that needs to be compiled. In order to fix this, you’ll need to install the Ruby &amp; C development libraries for Ubuntu. To do that, just fire up Terminal and enter:</p>
<pre class="code">sudo apt-get install ruby1.8-dev linux-libc-dev libc6-dev</pre>
<p>You should now be able to install Hpricot, Mongrel, or any other gem that requires you to build some C. It’s that easy!</p>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/Xg4F0Mp48mA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2008/03/install-mongrel-hpricot-under-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2008/03/install-mongrel-hpricot-under-ubuntu/</feedburner:origLink></item>
		<item>
		<title>What I’m Reading: 3/20</title>
		<link>http://feedproxy.google.com/~r/mwhenrycom/~3/f7Hn9wKmSCU/</link>
		<comments>http://mwhenry.com/blog/2008/03/what-im-reading-320/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 12:26:38 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://mwhenry.com/?p=10</guid>
		<description><![CDATA[
CSS Styled Scrollbars With Mootools and JQuery: Currently, only the IEs support the styling of scrollbars with CSS alone (although scrollbar styles are part of CSS3). This post links to a couple of Javascript-library-based techniques to get the job done in the meantime.
Making ‘IE6-friendly’ PNG8 Images: Turns out our beloved hack to get transparent PNG32s [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><a href="http://solutoire.com/2008/03/10/mootools-css-styled-scrollbar/">CSS Styled Scrollbars With Mootools and JQuery</a>: Currently, only the IEs support the styling of scrollbars with CSS alone (although scrollbar styles are <a href="http://www.css3.com/css-scrollbar-face-color/">part of CSS3</a>). This post links to a couple of Javascript-library-based techniques to get the job done in the meantime.</li>
<li><a href="http://www.sitepoint.com/blogs/2008/03/20/making-ie6-friendly-png8-images/">Making ‘IE6-friendly’ PNG8 Images</a>: Turns out our beloved hack to get transparent PNG32s in IE6 can <a href="http://blogs.cozi.com/tech/2008/03/transparent-png.html">sometimes crash the browser</a>. To play it safe and ensure crash-free viewing of your site, it’s probably best to use PNG8 until IE6 is no longer a factor (someday, «rassafrackin…»). This post gives you some techniques to make your PNG8 graphics almost as useful as PNG32s.</li>
</ol>
<img src="http://feeds.feedburner.com/~r/mwhenrycom/~4/f7Hn9wKmSCU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mwhenry.com/blog/2008/03/what-im-reading-320/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mwhenry.com/blog/2008/03/what-im-reading-320/</feedburner:origLink></item>
	</channel>
</rss>
