<?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"
	>

<channel>
	<title>Foo Hack</title>
	<atom:link href="http://foohack.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://foohack.com</link>
	<description>Isaac Schlueter on Web Development</description>
	<pubDate>Wed, 06 Jan 2010 01:26:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Transition</title>
		<link>http://foohack.com/2010/01/transition/</link>
		<comments>http://foohack.com/2010/01/transition/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 00:00:46 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
		
		<category><![CDATA[The Business]]></category>

		<guid isPermaLink="false">http://foohack.com/?p=146</guid>
		<description><![CDATA[My last day at Yahoo will be 2010-01-22.

I&#8217;ve gotten an offer from Proofpoint which is too good to ignore.  The opportunity to drive the direction of a product at an early stage, including having a lot of input about the choice of technology and team, is very exciting.  Also, though this was not <small><a href="http://foohack.com/2010/01/transition/">...Read More</a></small>]]></description>
			<content:encoded><![CDATA[<p>My last day at Yahoo will be 2010-01-22.</p>
<p>I&#8217;ve gotten an offer from <a href="http://proofpoint.com/">Proofpoint</a> which is too good to ignore.  The opportunity to drive the direction of a product at an early stage, including having a lot of input about the choice of technology and team, is very exciting.  Also, though this was not the primary factor, the position is significantly more financially rewarding than I believe that the next few years would be if I stayed at Yahoo.</p>
<p>Yahoo has been a mostly great company to work for, and <a href="http://yuilibrary.com/">YUI</a> is by far the best team that I&#8217;ve worked on here.  It&#8217;s a shame that I didn&#8217;t join YUI sooner; I still feel like I just got here.  The quality of this team made the decision very difficult, and that says a lot about the job that Eric Miraglia and Thomas Sha have done building it.</p>
<p>If you ever get a chance to work at Yahoo, take it.</p>
<p>I feel so very fortunate to have met so many of Silicon Valley&#8217;s bright minds in the last 4 years, and to have learned so much about the web, about business, about people, and about the science and art of software development.  I&#8217;ve been a student, a teacher, an expert, an amateur, a mentor, and a mentee.</p>
<p>Thank you all so much for what you&#8217;ve given me.</p>
]]></content:encoded>
			<wfw:commentRss>http://foohack.com/2010/01/transition/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Simple Node Server</title>
		<link>http://foohack.com/2009/12/simple-node-serve/</link>
		<comments>http://foohack.com/2009/12/simple-node-serve/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 18:09:00 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[nodejs]]></category>

		<guid isPermaLink="false">http://foohack.com/?p=140</guid>
		<description><![CDATA[Here is an example of a very simple lighttpd/nginx-style web server written in NodeJS.

I&#8217;ve called it simple-node-server or &#8220;sns&#8221; for short, and you can fork it on my github account.

There are a lot of folks building SSJS clones of Django and WSGI and Rack the like.  However, Python and Ruby have blocking IO, and <small><a href="http://foohack.com/2009/12/simple-node-serve/">...Read More</a></small>]]></description>
			<content:encoded><![CDATA[<p>Here is an example of a very simple lighttpd/nginx-style web server written in <a href="http://nodejs.org">NodeJS</a>.</p>
<p>I&#8217;ve called it <a href="http://github.com/isaacs/simple-node-server">simple-node-server</a> or &#8220;sns&#8221; for short, and you can <a href="http://github.com/isaacs/simple-node-server">fork it on my github account</a>.</p>
<p>There are a lot of folks building <abbr title="Server Side JavaScript">SSJS</abbr> clones of Django and WSGI and Rack the like.  However, Python and Ruby have blocking <abbr title="input/output">IO</abbr>, and even while they have the <em>capacity</em> for asynchronous behavior, it&#8217;s not the <em>default</em>.</p>
<p>I believe that, in order to get a really good JavaScript application framework, and cultivate new development in this green field, we must start with what we have, and iterate until it is closer to the ideal.  I am skeptical that we&#8217;ll be able to get there by cloning the productions of synchronicity, no matter how sophisticated they may be.</p>
<p>It is possible today to build a web server in a day, in a flexible dynamic language, which can serve an alarming number of requests per second, by embracing asynchronous architecture.</p>
<p>Let&#8217;s play: <a href="http://github.com/isaacs/simple-node-server">simple-node-server</a></p>
]]></content:encoded>
			<wfw:commentRss>http://foohack.com/2009/12/simple-node-serve/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ch-ch-ch-ch-changes</title>
		<link>http://foohack.com/2009/08/ch-ch-ch-ch-changes/</link>
		<comments>http://foohack.com/2009/08/ch-ch-ch-ch-changes/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 03:07:36 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
		
		<category><![CDATA[foo]]></category>

		<guid isPermaLink="false">http://foohack.com/?p=138</guid>
		<description><![CDATA[Lot going on this summer.  My roommate moved back to CT, meaning that I had to buy a car and get a new apartment.  I moved from the YAP team to the YUI team.  Also, I&#8217;ve been spending more and more of my free time playing around with server-side Javascript, specifically Narwhal <small><a href="http://foohack.com/2009/08/ch-ch-ch-ch-changes/">...Read More</a></small>]]></description>
			<content:encoded><![CDATA[<p>Lot going on this summer.  My roommate moved back to CT, meaning that I had to buy a car and get a new apartment.  I moved from the YAP team to the YUI team.  Also, I&#8217;ve been spending more and more of my free time playing around with server-side Javascript, specifically <a href="http://narwhaljs.org">Narwhal</a> and <a href="http://jackjs.org">Jack</a>.  <a href="http://github.com/isaacs">My github account</a> has been pretty busy.</p>
<p>I won&#8217;t say that I&#8217;m retiring this blog, exactly, but the posting frequency may be dropping considerably.  Instead of 1-2 posts every month or two, expect more like 1-2 posts a year, if that.</p>
<p>In the meantime, I&#8217;ve got all sorts of other stuff going on at <a href="http://blog.izs.me">my tumblr blog</a>, so you can follow me there.</p>
]]></content:encoded>
			<wfw:commentRss>http://foohack.com/2009/08/ch-ch-ch-ch-changes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Foo Hack 4.0</title>
		<link>http://foohack.com/2009/05/foohack-40/</link>
		<comments>http://foohack.com/2009/05/foohack-40/#comments</comments>
		<pubDate>Tue, 05 May 2009 07:21:15 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Colophon]]></category>

		<guid isPermaLink="false">http://foohack.com/?p=124</guid>
		<description><![CDATA[Partly because I haven&#8217;t been writing much CSS these days, and partly because it&#8217;s been just over a year since the last redesign, I felt like this site needed a face lift.

Fonts

I&#8217;ve been getting more and more excited about the impending freedom of the @font-face CSS declaration.  The prospect using any true-type or open-type <small><a href="http://foohack.com/2009/05/foohack-40/">...Read More</a></small>]]></description>
			<content:encoded><![CDATA[<p>Partly because I haven&#8217;t been writing much CSS these days, and partly because it&#8217;s been just over a year since the <a href="http://foohack.com/2008/02/foo-hack-redesign-30/">last redesign</a>, I felt like this site needed a face lift.</p>
<h2 id="fonts">Fonts</h2>
<p>I&#8217;ve been getting more and more excited about the impending freedom of the @font-face CSS declaration.  The prospect using any true-type or open-type font in a web page without resorting to flash or images is incredible.  If you&#8217;re viewing this site in Safari 4 or the latest beta releases of Firefox, Opera, and MSIE, you&#8217;ll have a much improved experience.</p>
<p><del>The body text is set in <a href="http://www.abstractfonts.com/search/bodoni svtytwo itc tt-book">Bodoni SvtyTwo OS</a>, chosen for its beautiful italics <small>(not an oblique, but a true italic)</small>, dramatic hinting, and straightforward lines.  I chose the OS over the regular Bodoni SvtyTwo because of the more stylish &#8220;lower case&#8221; numerals: 1234567890.</del></p>
<p><ins>Update</ins>: I decided to go with Hoefler Text instead of Bodoni.  Bodoni looks nice, but without the stronger hinting, it was hard to read on some monitors, especially for folks who are crazy enough to browse the web on Windows.  Hoefler Text has a lot of what I liked about Bodoni, and was a strong contender, but it&#8217;s not free-as-in-speech.  However, it is <a href="http://twitter.com/izs/status/2752553503">free-as-in-MP3</a>, so I&#8217;ll use it until Hoefler &amp; Frere-Jones send me a <abbr title="Cease and Desist">C&amp;D</abbr>.  I also widened the column a bit to accommodate the wider typeface.</p>
<p>The headings are set in <a href="http://www.fontsquirrel.com/fonts/Qlassik-Medium">Qlassik Medium</a>, by Dimitri Castrigue.  It has just enough fun to make it stand out, but not so much as to be ridiculous.</p>
<p>Code snippets are set in the famous <a href="http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/">Bitstream Vera Sans Mono</a>.  I&#8217;d initially planned to set all things monotype in my favorite coding font, <a href="http://www.google.com/search?q=centschbook+mono">Century Schoolbook Mono</a>.  Once you get used to coding with serifs, nothing else feels right.  Unfortunately, it doesn&#8217;t include bold and italic versions.  While the OS will &#8220;fake&#8221; bold and italics with fonts that it has installed, it won&#8217;t play ball when asked to manipulate dynamic fonts linked from a CSS file.  I put CentSchBook Mono first, so if you have it <small>(which you should!)</small>, it&#8217;ll work.  Otherwise, you&#8217;ll get Bitstream.</p>
<p>If you don&#8217;t have a browser that understands dynamic fonts, you can grab them from <a href="http://foohack.com/tpl/fonts/">http://foohack.com/tpl/fonts/</a>.</p>
<h2 id="layout">Layout</h2>
<p>I really wanted to stretch my CSS abilities a bit, and also apply some of the principles of typographic design that I&#8217;d been learning about lately.  The single-column is about 66 characters wide in the target font, and feels about &#8220;right&#8221; for readability.</p>
<p>Despite my best intentions, a lot of feature creep had somehow taken over, prompting the last revamp.  In this version, I put back some features that I&#8217;d removed, and removed some things I&#8217;d left in.</p>
<p>The vertical measure is set at 30px, with a font-size of 20px.  While that&#8217;s a bit large, I&#8217;ve always favored erring on the side of &#8220;too big&#8221;, and the Bodoni just felt too cramped at 16/24.</p>
<p>I&#8217;ve also taken a lesson from the print world, and set all my bullets and other adornments off into the margins, such that the text is kept strictly flush left.  The only element that I couldn&#8217;t figure out how to do this with is the <code>&lt;q&gt;</code> element when it starts a paragraph.  In that case, it should have a text-indent somewhere around -0.5ex, but I couldn&#8217;t manage to do that without borking quotes that start somewhere in the middle of the paragraph.</p>
<p>Since all the major browsers support resizing fonts that are set in pixels, and &#8220;zooming&#8221; is now preferred over simple font resizing, I went ahead and set everything in pixels so that the math would be easier.  There&#8217;s really no benefit to so-called &#8220;fluid&#8221; layouts that are set in ex or em measurements.  Plus, browsers that support dynamic fonts seem to have a really hard time with ex/em measurements, since the layout is rendered before the font has downloaded.  I do hope that gets fixed at some point, but doing layout in pixels was a welcome return to basics.</p>
<h2 id="supported_browsers">Supported Browsers</h2>
<p>The luxury of a personal site: I didn&#8217;t test even once in MSIE, and I don&#8217;t plan to.</p>
<p>Also, since a lot of the style is in the typography, anyone with a browser older than 6 months isn&#8217;t going to see my beautiful styles.  But they&#8217;ll see their own default font settings, I suppose, and that&#8217;s probably fine.  </p>
<p>What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://foohack.com/2009/05/foohack-40/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.171 seconds -->
