<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Baking, funky caching, and tarballs for weblog cryo storage</title>
	<atom:link href="http://decafbad.com/blog/2002/11/28/ooocch/feed" rel="self" type="application/rss+xml" />
	<link>http://decafbad.com/blog/2002/11/28/ooocch</link>
	<description>It's all spinning wheels and self-doubt until the first pot of coffee.</description>
	<lastBuildDate>Thu, 11 Mar 2010 12:23:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
	<item>
		<title>By: nmk</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-487</link>
		<dc:creator>nmk</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-487</guid>
		<description>&lt;p&gt;How about sendidng the pages to the browser gzipped? Most all browsers will handle it internaly and the user won&#039;t notice any difference except for the tremendous speed increase (compression doesn&#039;t get any better than gzip compression of text files)...&lt;/p&gt;

&lt;p&gt;You still will want to gzip a every page individually though... no big packs. But scince you want to do it for a monthly archive, which is I beleive the default of movable type, it is the same.&lt;/p&gt;

&lt;p&gt;//Let me know how it goes!&lt;/p&gt;

&lt;p&gt;nmk&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>How about sendidng the pages to the browser gzipped? Most all browsers will handle it internaly and the user won&#8217;t notice any difference except for the tremendous speed increase (compression doesn&#8217;t get any better than gzip compression of text files)&#8230;</p>
<p>You still will want to gzip a every page individually though&#8230; no big packs. But scince you want to do it for a monthly archive, which is I beleive the default of movable type, it is the same.</p>
<p>//Let me know how it goes!</p>
<p>nmk</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kasei</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-488</link>
		<dc:creator>kasei</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-488</guid>
		<description>&lt;p&gt;This seems like a bad idea. By sending a 404, you&#039;re telling the user-agent that &quot;the server has not found anything matching the Request-URI,&quot; when you mean to say &quot;the server found the page matching the Request-URI (despite it being stored locally in a compressed archive).&quot; In general, the user-agent doesn&#039;t need to, and shouldn&#039;t, know how the data is stored on the server. So the fact that it is compressed on the server is irrelevant to a user-agent requesting the data.&lt;/p&gt;

&lt;p&gt;Therefore, hijacking a webserver&#039;s 404 mechanism to provide this functionality is sub-optimal. A better (although less lazy) approach would be to write a content handler (perhaps using mod_perl) that would locate, unpack, and return the data with an appropriate response code (200 and 201 seem like good choices).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>This seems like a bad idea. By sending a 404, you&#8217;re telling the user-agent that &#8220;the server has not found anything matching the Request-URI,&#8221; when you mean to say &#8220;the server found the page matching the Request-URI (despite it being stored locally in a compressed archive).&#8221; In general, the user-agent doesn&#8217;t need to, and shouldn&#8217;t, know how the data is stored on the server. So the fact that it is compressed on the server is irrelevant to a user-agent requesting the data.</p>
<p>Therefore, hijacking a webserver&#8217;s 404 mechanism to provide this functionality is sub-optimal. A better (although less lazy) approach would be to write a content handler (perhaps using mod_perl) that would locate, unpack, and return the data with an appropriate response code (200 and 201 seem like good choices).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Paschal</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-489</link>
		<dc:creator>Mark Paschal</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-489</guid>
		<description>&lt;p&gt;Yeah, I don&#039;t think anyone means actually sending a 404 to the browser with the real content. I take it to mean responding to the server&#039;s internal &quot;I can&#039;t find that file&quot; event by doing some work. (I would call it a 404 too, just for convenience.)&lt;/p&gt;

&lt;p&gt;Presumably that handler would be written in Perl or some such, sure. Either way, it&#039;s like a cache miss. It&#039;s a novel application of an old idea: old enough to not be dangerous and new enough to be interesting. =)&lt;/p&gt;

&lt;p&gt;If the page had the template baked on before gzipping, you could just send it if the client wanted it gzipped, but I would probably look at gzipping just the content with no templating (in a format like, oh, RSS), and applying the template when unarchiving.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Yeah, I don&#8217;t think anyone means actually sending a 404 to the browser with the real content. I take it to mean responding to the server&#8217;s internal &#8220;I can&#8217;t find that file&#8221; event by doing some work. (I would call it a 404 too, just for convenience.)</p>
<p>Presumably that handler would be written in Perl or some such, sure. Either way, it&#8217;s like a cache miss. It&#8217;s a novel application of an old idea: old enough to not be dangerous and new enough to be interesting. =)</p>
<p>If the page had the template baked on before gzipping, you could just send it if the client wanted it gzipped, but I would probably look at gzipping just the content with no templating (in a format like, oh, RSS), and applying the template when unarchiving.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: l.m.orchard</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-490</link>
		<dc:creator>l.m.orchard</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-490</guid>
		<description>&lt;p&gt;Mark&#039;s got the idea.  Another way I think it could be looked at is like virtual memory systems - swap long unused content out to a tarball, use a potential 404 as a sort of page fault to swap content back in and server the content to the client as if it&#039;s always been there, not just swapped in from storage.&lt;/p&gt;

&lt;p&gt;Kinda funky, probably gratuitous.  Might be useful in cases of very low hosting space.  I have a feeling it might be useful for other reasons too, but I can&#039;t say exactly what yet.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Mark&#8217;s got the idea.  Another way I think it could be looked at is like virtual memory systems &#8211; swap long unused content out to a tarball, use a potential 404 as a sort of page fault to swap content back in and server the content to the client as if it&#8217;s always been there, not just swapped in from storage.</p>
<p>Kinda funky, probably gratuitous.  Might be useful in cases of very low hosting space.  I have a feeling it might be useful for other reasons too, but I can&#8217;t say exactly what yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: l.m.orchard</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-491</link>
		<dc:creator>l.m.orchard</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-491</guid>
		<description>&lt;p&gt;Oh yeah, and that&#039;s a good idea too - storing just the content, free of the surrounding template.  Had thought a bit about that last night and meant to write some more, but forgot about it.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Oh yeah, and that&#8217;s a good idea too &#8211; storing just the content, free of the surrounding template.  Had thought a bit about that last night and meant to write some more, but forgot about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Scheid</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-492</link>
		<dc:creator>Eric Scheid</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-492</guid>
		<description>&lt;p&gt;I once implemented the technique for a catalog site. Thousands of products, few of which actually get looked at in detail. The database server was slow so first we tried just baking ... except that produced umpteen zillions of little files. Then we simply inserted a server rule that checked for wanted page and if missing (and matching a pattern) the request was re-written to extract from the database (and simultaneously write to disk). Worked great.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I once implemented the technique for a catalog site. Thousands of products, few of which actually get looked at in detail. The database server was slow so first we tried just baking &#8230; except that produced umpteen zillions of little files. Then we simply inserted a server rule that checked for wanted page and if missing (and matching a pattern) the request was re-written to extract from the database (and simultaneously write to disk). Worked great.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sanjay</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-493</link>
		<dc:creator>Sanjay</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-493</guid>
		<description>&lt;p&gt;Wouldn&#039;t the easiest way be to just store the actual posting in the database (or on disk) in a compressed format and then decompress whenever it is requested by other functions? &lt;/p&gt;

&lt;p&gt;Just put the compress/decompress functionality in the retrieve posting and edit/save posting functions which are invoked by all the rest of the weblog app and very little has to be actually changed since it will be nearly transparent (except requiring some more time than usual).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Wouldn&#8217;t the easiest way be to just store the actual posting in the database (or on disk) in a compressed format and then decompress whenever it is requested by other functions? </p>
<p>Just put the compress/decompress functionality in the retrieve posting and edit/save posting functions which are invoked by all the rest of the weblog app and very little has to be actually changed since it will be nearly transparent (except requiring some more time than usual).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: l.m.orchard</title>
		<link>http://decafbad.com/blog/2002/11/28/ooocch/comment-page-1#comment-494</link>
		<dc:creator>l.m.orchard</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=312#comment-494</guid>
		<description>&lt;p&gt;Well, part of the appeal of a system like this is that the weblog app doesn&#039;t need to be on the server itself - just the 404 handler that retrieves from archives.&lt;/p&gt;

&lt;p&gt;You could run Movable Type on a desktop at home, bake all the pages (or at least this month&#039;s pages), tarball the whole mess and ship it out to your server.  Then, delete some key known changed pages, and updates happen upon visitor demand.&lt;/p&gt;

&lt;p&gt;This might be easier to manage with some web hosting accounts that allow 404 handler CGIs, but not databases or other software installation.  Then again, it could just all be more work than ever necessary, but it sounds like a nifty idea.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Well, part of the appeal of a system like this is that the weblog app doesn&#8217;t need to be on the server itself &#8211; just the 404 handler that retrieves from archives.</p>
<p>You could run Movable Type on a desktop at home, bake all the pages (or at least this month&#8217;s pages), tarball the whole mess and ship it out to your server.  Then, delete some key known changed pages, and updates happen upon visitor demand.</p>
<p>This might be easier to manage with some web hosting accounts that allow 404 handler CGIs, but not databases or other software installation.  Then again, it could just all be more work than ever necessary, but it sounds like a nifty idea.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
