<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Studio moh</title>
	
	<link>http://www.studiomoh.com/blog</link>
	<description>Blog of Dylan Hafertepen</description>
	<pubDate>Tue, 14 Oct 2008 05:38:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/StudioMoh" type="application/rss+xml" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Design Dilemma</title>
		<link>http://www.studiomoh.com/blog/82/</link>
		<comments>http://www.studiomoh.com/blog/82/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 03:32:20 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/?p=82</guid>
		<description><![CDATA[studiomoh.com is going through some serious re-designs.  I keep waffling on a fluid layout, fixed layout, vertical column VS horizontal, single-page VS segmented content&#8230;ugh.
Design dilemma.
Please excuse the current iteration of studio moh while I rest on the design.
]]></description>
			<content:encoded><![CDATA[<p>studiomoh.com is going through some serious re-designs.  I keep waffling on a fluid layout, fixed layout, vertical column VS horizontal, single-page VS segmented content&#8230;ugh.</p>
<p>Design dilemma.</p>
<p>Please excuse the current iteration of studio moh while I rest on the design.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/82/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New logo: Bears Uncorked</title>
		<link>http://www.studiomoh.com/blog/80/</link>
		<comments>http://www.studiomoh.com/blog/80/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 19:28:35 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[design]]></category>

		<category><![CDATA[logo]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/?p=80</guid>
		<description><![CDATA[
Logo work for my friend Jeremy&#8217;s new wine club.  He&#8217;s a bear.
The original inspiration for the logo was based on those Indian Petroglyphs where the animal has an arrow (it&#8217;s life meter) going from the mouth to the stomach:

Turns out they&#8217;re called Fetishes.  Imagine my delight when I googled Bear Fetish for reference [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.californiacow.com/orange/bears-uncorked.gif" alt="Bears uncorked" /></p>
<p>Logo work for my friend Jeremy&#8217;s new wine club.  He&#8217;s a <em>bear</em>.</p>
<p>The original inspiration for the logo was based on those Indian Petroglyphs where the animal has an arrow (it&#8217;s life meter) going from the mouth to the stomach:</p>
<p><img src="http://www.californiacow.com/orange/thumbs/th_bear_fetis.png" alt="Bear Fetish" /></p>
<p>Turns out they&#8217;re called <i>Fetishes</i>.  Imagine my delight when I googled <i>Bear Fetish</i> for reference material.</p>
<p>The bear, unfortunately, is a humped animal.  The shape is perfect for a fetish arrow, but the wine bottle didn&#8217;t work as I had imagined it.</p>
<p>Instead, the wine bottle becomes the innards of the bear, the lip of the bottle his subtle smile, and the remainder of the wine drooling from his mouth.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/80/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pure CSS LightBox, no Javascript (now supports IE5+)</title>
		<link>http://www.studiomoh.com/blog/4/</link>
		<comments>http://www.studiomoh.com/blog/4/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 17:55:08 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/27/</guid>
		<description><![CDATA[Click here to preview the CSS LightBox
Finally, a lightbox that doesn&#8217;t require Javascript! And now it support IE5+!
The core of Multi-state CSS is the :target pseudo selector. When a user clicks a page-anchor the :target pseudo selector is activated, revealing the lightbox element.
IE5+ doesn&#8217;t support the :target pseudo selector, but it does support CSS expressions. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.studiomoh.com/fun/csslightbox/">Click here to preview the CSS LightBox</a></p>
<p>Finally, a lightbox that doesn&#8217;t require Javascript! And now it support IE5+!</p>
<p>The core of Multi-state CSS is the <code>:target</code> pseudo selector. When a user clicks a page-anchor the <code>:target</code> pseudo selector is activated, revealing the lightbox element.</p>
<p>IE5+ doesn&#8217;t support the <code>:target</code> pseudo selector, but it <i>does</i> support CSS expressions. With this in mind, we can write a carefully crafted expression that mimicks <code>:target</code>.</p>
<p>Here&#8217;s the code:</p>

<div class="wp_syntax"><div class="code"><pre class="css css" style="font-family:monospace;">div<span style="color: #6666ff;">.lb</span> <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span>;
<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span>;
<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span>;
<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span>;
<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span>;
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'screen.png'</span><span style="color: #00AA00;">&#41;</span>;
<span style="color: #00AA00;">&#125;</span>
div<span style="color: #6666ff;">.lb</span><span style="color: #3333ff;">:target </span><span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span>;
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/** IE doesn't support :target, so we use CSS expressions **/</span>
div<span style="color: #6666ff;">.lb</span> <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> expression<span style="color: #00AA00;">&#40;</span><span style="color: #00AA00;">&#40;</span>document<span style="color: #6666ff;">.location</span>.toString<span style="color: #00AA00;">&#40;</span><span style="color: #00AA00;">&#41;</span>.split<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'#'</span><span style="color: #00AA00;">&#41;</span>.slice<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">==</span> this.id<span style="color: #00AA00;">&#41;</span>?<span style="color: #ff0000;">'block'</span><span style="color: #00AA00;">:</span><span style="color: #ff0000;">'none'</span><span style="color: #00AA00;">&#41;</span>;
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p><a href="http://www.studiomoh.com/fun/csslightbox/">Click here to preview the CSS LightBox</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My thoughts on Google Chrome</title>
		<link>http://www.studiomoh.com/blog/5/</link>
		<comments>http://www.studiomoh.com/blog/5/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 05:49:38 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/26/</guid>
		<description><![CDATA[ = 
I am quite impressed with the speed of Chrome&#8230;I really want to see where this beta goes.  There are some bugs that I would like to see addressed, features I&#8217;d like to see added.
I would love to see Firefox adapt these Javascript enhancements.  The speed of AJAX-style calls is absolutely amazing. [...]]]></description>
			<content:encoded><![CDATA[<p><img style="height: 150px;" src="http://www.google.com/tools/dlpage/res/chrome/images/chrome-205_noshadow.png" alt="" /> = <img style="height: 150px;" src="http://upload.wikimedia.org/wikipedia/en/thumb/9/99/OriginalSimon.jpg/300px-OriginalSimon.jpg" alt="" /></p>
<p>I am quite impressed with the speed of Chrome&#8230;I really want to see where this beta goes.  There are some bugs that I would like to see addressed, features I&#8217;d like to see added.</p>
<p>I would love to see Firefox adapt these Javascript enhancements.  The speed of AJAX-style calls is absolutely amazing.  Practically instant.</p>
<p>I&#8217;m so glad that <a href="http://www.azarask.in/blog/post/firefox-google-chrome-new-tabs/">Aza Rask</a> is thinking about the new interface elements that Google introduced. There are so many beautiful ideas that Google&#8217;s new browser has provided interface designers&#8211;I&#8217;m very interested to see what happens next.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CSS selectors for AS3</title>
		<link>http://www.studiomoh.com/blog/6/</link>
		<comments>http://www.studiomoh.com/blog/6/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 17:19:35 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[as3]]></category>

		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/25/</guid>
		<description><![CDATA[Traversing the display list in AS3 is so tedious. I wish I could use jQuery/CSS/XSLT style selectors:

$&#40;'stage movie button'&#41;.addChild&#40;child&#41;;

jQuery has spoiled me with easy DOM traversal. Instead, we have to do this:

stage.getChildAt&#40;3&#41;.getChildAt&#40;12&#41;.addChild&#40;child&#41;;

Edit: It looks like someone has ported the $-style traversing to AS3. Finally!
]]></description>
			<content:encoded><![CDATA[<p>Traversing the display list in AS3 is so tedious. I wish I could use jQuery/CSS/XSLT style selectors:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'stage movie button'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addChild</span><span style="color: #009900;">&#40;</span>child<span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>jQuery has spoiled me with easy DOM traversal. Instead, we have to do this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">stage.<span style="color: #660066;">getChildAt</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getChildAt</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">12</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addChild</span><span style="color: #009900;">&#40;</span>child<span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Edit: It looks like <a href="http://drawlogic.com/2008/04/24/as3query-actionscript-port-of-jquery/">someone has ported the $-style traversing to AS3</a>. <i>Finally!</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/6/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Curry gives me the best ideas</title>
		<link>http://www.studiomoh.com/blog/7/</link>
		<comments>http://www.studiomoh.com/blog/7/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 07:15:46 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[toys]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/24/</guid>
		<description><![CDATA[So, I made curry tonight, and it gave me a really good idea:
What options does a non-English speaking user have when visiting an English-only website?
My server logs tell me they use Babelfish.
The problem with Babelfish (or any net-translator) is that it breaks the website. It pushes it through a Find-and-Replace dictionary of terms that completely [...]]]></description>
			<content:encoded><![CDATA[<p>So, I made curry tonight, and it gave me a really good idea:</p>
<p><b>What options does a non-English speaking user have when visiting an English-only website?</b><br />
My server logs tell me they use Babelfish.</p>
<p>The problem with Babelfish (or any net-translator) is that it breaks the website. It pushes it through a Find-and-Replace dictionary of terms that completely changes your site. It also tends to ignore cookies, and really butchers your Javascript because of cross-domain issues.</p>
<p><b>What can web developers do?</b><br />
What can you do if you don&#8217;t have the funds to hire an extensive localization team?</p>
<p>Why not use Javascript to cycle through all the elements on a page that need to be translated (menu items, headlines, form labels, etc), and push them through to a web service (like, Yahoo! Pipes) to translate it for you! Use JSONP to get the results back and replace the text of the elements dynamically as they&#8217;re loaded/translated.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'h2, form p, form label, legend'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066; font-weight: bold;">item</span> <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>;
<span style="color: #003366; font-weight: bold;">var</span> translate <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">encodeURI</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
$.<span style="color: #660066;">getJSON</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'http://pipes.yahoo.com/pipes/pipe.run?_id=NsgXF0pZ3RG4DUvBjtzu1g&amp;_render=json&amp;translateStr='</span> <span style="color: #339933;">+</span> translate <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&amp;_callback=?'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">item</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span>data.<span style="color: #660066;">value</span>.<span style="color: #660066;">items</span><span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">translation</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>I actually made a more optimized version that took an array of items to speed up translation/load time, but <i>Yahoo! Pipes</i> was down when I tried to save it, so it wouldn&#8217;t let me. (I would also like to have it talk to a Flash file to dynamically save/cache translations as they&#8217;re made).</p>
<p>Machine translation isn&#8217;t perfect, but it&#8217;s better than making your users go to Babelfish just to figure out how to login.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How Dylan avoids widows</title>
		<link>http://www.studiomoh.com/blog/8/</link>
		<comments>http://www.studiomoh.com/blog/8/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 07:05:16 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[toys]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/23/</guid>
		<description><![CDATA[Typographical widows, that is. Learning jQuery (an excellent blog, even for the power users) had a wonderful post on how to use jQuery to append widows.
(If you didn&#8217;t take a print class in high school, a widow is a word that ends on the next line likethis.
This is a print master&#8217;s nightmare and a typographical [...]]]></description>
			<content:encoded><![CDATA[<p>Typographical widows, that is. <a href="http://www.learningjquery.com/2008/07/three-quick-ways-to-avoid-widows">Learning jQuery</a> (an excellent blog, even for the power users) had a wonderful post on how to use jQuery to append widows.</p>
<p>(If you didn&#8217;t take a print class in high school, a widow is a word that ends on the next line like<br />this.</p>
<p>This is a print master&#8217;s nightmare and a typographical no-no.)</p>
<p>Their solution uses regular expressions, which is nice, but not the most efficient way to split strings, and a bit of a memory hog on older systems.</p>
<p>Why not use CSS property <code class="css">white-space: nowrap;</code>?</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'h2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> h2Contents <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot; &quot;</span><span style="color: #009900;">&#41;</span>;
h2Contents<span style="color: #009900;">&#91;</span>h2Contents.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&amp;lt;span style=&quot;white-space: nowrap; color: red;&quot;&amp;gt;'</span> <span style="color: #339933;">+</span> h2Contents<span style="color: #009900;">&#91;</span>h2Contents.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span>;
h2Contents<span style="color: #009900;">&#91;</span>h2Contents.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> h2Contents<span style="color: #009900;">&#91;</span>h2Contents.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&amp;lt;/span&amp;gt;'</span>;
$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>h2Contents.<span style="color: #660066;">join</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>This snippit of jQuery wraps the last two words of every H2 tag with a span tag that has an inline style that prevents line-breaks. The result? No more widows without the performance hit of Regex.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pure CSS LightBox, no javascript</title>
		<link>http://www.studiomoh.com/blog/9/</link>
		<comments>http://www.studiomoh.com/blog/9/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 18:07:35 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[lightbox]]></category>

		<category><![CDATA[toys]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/22/</guid>
		<description><![CDATA[Current Javascript solutions for LightBoxes are kind of cumbersome, bloated, and CPU-intense.
Unsatisfied with the current state of LightBoxing, I developed a pure, organic, CSS-powered LightBox. Absolutely zero javascript. All of this under 1kb.
Click here to preview the CSS LightBox
The core of Multi-state CSS is the :target pseudo class. When a user clicks a page-anchor the [...]]]></description>
			<content:encoded><![CDATA[<p>Current Javascript solutions for LightBoxes are kind of cumbersome, bloated, and CPU-intense.</p>
<p>Unsatisfied with the current state of LightBoxing, I developed a pure, organic, CSS-powered LightBox. Absolutely zero javascript. All of this under 1kb.</p>
<p><a href="http://www.studiomoh.com/fun/csslightbox/">Click here to preview the CSS LightBox</a></p>
<p>The core of Multi-state CSS is the <code>:target</code> pseudo class. When a user clicks a page-anchor the <code>:target</code> pseudo class is activated, revealing the lightbox element. Here&#8217;s the code:</p>

<div class="wp_syntax"><div class="code"><pre class="css css" style="font-family:monospace;">div<span style="color: #6666ff;">.lb</span> <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span>;
<span style="color: #00AA00;">&#125;</span>
div<span style="color: #6666ff;">.lb</span><span style="color: #3333ff;">:target </span><span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span> !important;
<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span>;
<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">:</span> 0;
<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span>;
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'screen.png'</span><span style="color: #00AA00;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">fixed</span>;
<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2em</span>;
<span style="color: #00AA00;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The business card that never was</title>
		<link>http://www.studiomoh.com/blog/10/</link>
		<comments>http://www.studiomoh.com/blog/10/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 18:46:15 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/21/</guid>
		<description><![CDATA[
This is my ill-fated business card for Jaguar Design&#8230;the company that I&#8217;m leaving next week for a better-paid position in San Francisco.
Jaguar is a really small company, so my ability to wear many different hats was indispensable. One day I would be their print master, then I was their web master&#8230;so we decided my utility [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.californiacow.com/orange/jagbc.jpg" alt="Jag Business Card" /></p>
<p>This is my ill-fated business card for Jaguar Design&#8230;the company that I&#8217;m leaving next week for a better-paid position in San Francisco.</p>
<p>Jaguar is a really small company, so my ability to wear many different hats was indispensable. One day I would be their print master, then I was their web master&#8230;so we decided my utility should be expressed on my business card.</p>
<p>Three check boxes for my most frequent titles, and a blank line for anything else that might come up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>omg, Chumby</title>
		<link>http://www.studiomoh.com/blog/11/</link>
		<comments>http://www.studiomoh.com/blog/11/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 01:23:09 +0000</pubDate>
		<dc:creator>Dylan Hafertepen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[chumby]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://www.studiomoh.com/blog/20/</guid>
		<description><![CDATA[
It&#8217;s a Flash Embedded device for $180.
Touch screen, accelerometer, microphone, speakers, light sensor, wifi, leather panels&#8230;mmm&#8230;
Anything I make in Flash I can put on this baby as a fun new toy. Like an alarm clock that streams music from my web server, or a FAP browser that I&#8217;m pretty sure only I would use.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/33515138@N00/999629545/"><img src="http://farm2.static.flickr.com/1251/999629545_cc7f123ff7_m.jpg" alt="Chumby" /></a></p>
<p>It&#8217;s a Flash Embedded device for $180.</p>
<p>Touch screen, accelerometer, microphone, speakers, light sensor, wifi, leather panels&#8230;mmm&#8230;</p>
<p>Anything I make in Flash I can put on this baby as a fun new toy. Like an alarm clock that streams music from my web server, or a FAP browser that I&#8217;m pretty sure only I would use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studiomoh.com/blog/11/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
