<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>david rasch - making stuff work &#187; web</title>
	<atom:link href="http://www.davidrasch.com/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidrasch.com</link>
	<description></description>
	<lastBuildDate>Mon, 04 Apr 2011 00:53:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>FuelFrog is out!</title>
		<link>http://www.davidrasch.com/2008/05/03/fuelfrog-is-out/</link>
		<comments>http://www.davidrasch.com/2008/05/03/fuelfrog-is-out/#comments</comments>
		<pubDate>Sun, 04 May 2008 01:49:35 +0000</pubDate>
		<dc:creator>drasch</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[carpool]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[fillup]]></category>
		<category><![CDATA[frog]]></category>
		<category><![CDATA[fuel]]></category>
		<category><![CDATA[gas]]></category>
		<category><![CDATA[green]]></category>
		<category><![CDATA[pump]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/2008/05/03/fuelfrog-is-out/</guid>
		<description><![CDATA[<p>The answer is, FuelFrog. Over the past 9 weeks, we&#8217;ve conceived an idea, branded, implemented, tested, launched, and started to market a brand new web application. I&#8217;ll be talking more over the next few weeks about the technology behind FuelFrog and what&#8217;s coming up for new features!</p> <p></p> <p>We know that you care about <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.davidrasch.com/2008/05/03/fuelfrog-is-out/">FuelFrog is out!</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.davidrasch.com/2008/05/01/what-do-twitter-a-1994-honda-and-2-pixels-have-in-common/">The answer is</a>, FuelFrog. Over the past 9 weeks, we&#8217;ve conceived an idea, branded, implemented, tested, launched, and started to market a brand new web application.  I&#8217;ll be talking more over the next few weeks about the technology behind FuelFrog and what&#8217;s coming up for new features!</p>
<p><img style="background:white; border: none;" src="http://www.fuelfrog.com/images/logo.png" alt="FuelFrog Logo" /></p>
<p>We know that you care about how your car affects the environment.  What better way to understand and manage this than to start tracking it!  FuelFrog will help you keep an eye on your gas consumption, mileage, and also help you understand how gas prices affect your budget.  </p>
<p>Through integration with Twitter, it&#8217;s easy to keep FuelFrog up to date.  Each time you fill up, simply send <em>@fuelfrog miles price gallons</em> for example, my last fillup was <em>@fuelfrog 320 3.539 10.293</em>.  We&#8217;ll do all the rest!</p>
<p>Log on to <a href="http://www.fuelfrog.com">FuelFrog</a> now and try it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2008/05/03/fuelfrog-is-out/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>online storage</title>
		<link>http://www.davidrasch.com/2008/02/16/online-storage/</link>
		<comments>http://www.davidrasch.com/2008/02/16/online-storage/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 14:45:31 +0000</pubDate>
		<dc:creator>drasch</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[s3]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/2008/02/16/online-storage/</guid>
		<description><![CDATA[<p>More in the &#8220;bigger isn&#8217;t always better&#8221; thread alluded to in my offsite backup post. Apparently, Amazon S3 was down for over 35 minutes.</p> ]]></description>
			<content:encoded><![CDATA[<p>More in the &#8220;bigger isn&#8217;t always better&#8221; thread alluded to in my <a href="http://www.davidrasch.com/2008/02/05/offsite-backups/">offsite backup post</a>.  Apparently, <a href="http://blog.linkdiagnosis.com/?p=16">Amazon S3 was down</a> for <a href="http://developer.amazonwebservices.com/connect/thread.jspa?threadID=19714&#038;tstart=0">over 35 minutes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2008/02/16/online-storage/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MogileFS and race condition</title>
		<link>http://www.davidrasch.com/2008/01/29/mogilefs-and-race-condition/</link>
		<comments>http://www.davidrasch.com/2008/01/29/mogilefs-and-race-condition/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 02:14:47 +0000</pubDate>
		<dc:creator>drasch</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[iContact]]></category>
		<category><![CDATA[mogilefs]]></category>
		<category><![CDATA[race condition]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/2008/01/29/mogilefs-and-race-condition/</guid>
		<description><![CDATA[<p>As any readers of the iContact blog may have learned, MogileFS has become an integral part of our infrastructure at iContact. Rather than store the bodies of messages in our database, we moved them to a quick&#038;dirty storage method in our infrastructure long ago. This method was essentially a cheap WebDAV server and on <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.davidrasch.com/2008/01/29/mogilefs-and-race-condition/">MogileFS and race condition</a></span>]]></description>
			<content:encoded><![CDATA[<p>As any readers of the iContact blog may have learned, <a href="http://www.danga.com/mogilefs/">MogileFS</a> has become an integral part of our infrastructure at iContact.  Rather than store the bodies of messages in our database, we moved them to a quick&#038;dirty storage method in our infrastructure long ago.  This method was essentially a cheap WebDAV server and on each STORE command it would write to two backend servers and issue a GET from only one.  About a month ago, we migrated most of our messages away from this older, less scalable method to our newer MogileFS backend.  </p>
<p>Our MogileFS setup allows the disk space on each web server (normally unutilized) to form a cheap storage node, and make use of space that would otherwise go entirely unused.  </p>
<p>On Monday 1/21 the database servers behind MogileFS paged with too many connections, which leads to Mogile going very slowly for a while, and sometimes requiring a restart of some of the nodes.  </p>
<p>This database issue cascaded into us asking our Mogile client for item A, but receiving item B in response&#8230;<br />
<span id="more-72"></span><br />
The problem turned out to be at the lowest level, that of the socket communication with Mogile.  The request chain asked for item A, but since the database was responding very slowly, the &#8220;fread&#8221; waiting for the response timed out.  Unfortunately, the timeout simply passes back up the chain as a &#8220;not found&#8221;.  In the background, the data for the response to the request was buffered by TCP.  We handled the error, told our daemon to check later for that item, and proceeded to ask for item B.  When doing another &#8220;fread&#8221; for the response, we received the data from the original request.  Since all was well, we continued requesting items and receiving a non-matching item in response.  </p>
<p>In order to fix this on our end, we simply made the connection terminate when any of these timeouts occurs.  Additionally, we&#8217;ll be adding application-level matching for these requests and responses (the data we store in Mogile will likely include the key so when we pull it back out, it can be check-summed against the requested key).</p>
<p>However, I wonder if it&#8217;d make sense for the MogileFS protocol itself to support this matching.  It seems key that this type of problem not affect others, so I encourage you to check your client for such a problem, and I plan to file bugs against those who have the bug we found.  We were using an old PEAR module as we sought a client with a non-GPL license for inclusion in our codebase.  However, a cursory examination of the <a href="http://www.capoune.net/mogilefs/">PHP extension </a> we were coveting seems it might be subject to the same problem.  </p>
<p>Other than this issue (and the large headache it caused), which mostly lies on the client side (unless I get any pickup on the protocol-level support above), MogileFS has proved to be a great asset to our infrastructure and I look forward to seeing it scale to much more data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2008/01/29/mogilefs-and-race-condition/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gallery 2.2&#8211;Multisite and Multiroot</title>
		<link>http://www.davidrasch.com/2007/09/24/gallery-22-multisite-and-multiroot/</link>
		<comments>http://www.davidrasch.com/2007/09/24/gallery-22-multisite-and-multiroot/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 02:48:54 +0000</pubDate>
		<dc:creator>drasch</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dachshund]]></category>
		<category><![CDATA[drna]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/2007/09/24/gallery-22-multisite-and-multiroot/</guid>
		<description><![CDATA[<p>Recently I tried to use the Gallery Multiroot module/plugin to setup a new site based upon an existing Album in our gallery. Since we started sorting albums chronologically, we wanted to sort out the Dachshund photos separately. To do this, I used the Multiroot feature. Unfortunately, I couldn&#8217;t get this to work as I&#8217;m <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.davidrasch.com/2007/09/24/gallery-22-multisite-and-multiroot/">Gallery 2.2&#8211;Multisite and Multiroot</a></span>]]></description>
			<content:encoded><![CDATA[<p>Recently I tried to use the <a href="http://gallery.raschnet.com">Gallery</a> Multiroot module/plugin to setup a new site based upon an existing Album in our gallery.  Since we started sorting albums chronologically, we wanted to sort out the Dachshund photos separately.  To do this, I used the <a href="http://codex.gallery2.org/Gallery2:Modules:multiroot">Multiroot</a> feature.  Unfortunately, I couldn&#8217;t get this to work as I&#8217;m already using the Multisite plugin to host several Galleries off of my web server.  The magic touch was to use the following file, the first line is key and had to be added to make things work in the Multisite configuration.  </p>
<pre class="brush: php; title: ;">
define('GALLERY_CONFIG_DIR', &quot;/var/virtualwww/gallery.raschnet.com&quot;);  //I had to add this line

require('/usr/local/share/gallery2/embed.php');
$ret = GalleryEmbed::init(
    array('embedUri' =&gt; '/',
          'g2Uri' =&gt; 'http://gallery.raschnet.com/',
          'apiVersion' =&gt; array(1, 2)
    ));

if ($ret) {
    print '&lt;body&gt;' . $ret-&gt;getAsHtml() . '&lt;/body&gt;';
    return;
}

$gallery-&gt;setConfig('login', true);
$gallery-&gt;setConfig('defaultAlbumId', 28426);
$gallery-&gt;setConfig('breadcrumbRootId', 28426);

GalleryMain();
</pre>
<p>Now live: <a href="http://drna.raschnet.com">DRNA Gallery</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2007/09/24/gallery-22-multisite-and-multiroot/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The Future of Web Apps</title>
		<link>http://www.davidrasch.com/2006/08/26/the-future-of-web-apps/</link>
		<comments>http://www.davidrasch.com/2006/08/26/the-future-of-web-apps/#comments</comments>
		<pubDate>Sun, 27 Aug 2006 03:59:20 +0000</pubDate>
		<dc:creator>drasch</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[carson]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[fowa]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/2006/08/26/the-future-of-web-apps/</guid>
		<description><![CDATA[<p>I&#8217;m looking forward to attending the Future of Web Apps in San Francisco in a few weeks.</p> <p></p> ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m looking forward to attending the <a href="http://www.carsonworkshops.com/summit">Future of Web Apps</a> in San Francisco in a few weeks.</p>
<p><img src="http://www.carsonworkshops.com/images/FWA_badge.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2006/08/26/the-future-of-web-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>prior art&#8211;web application installers</title>
		<link>http://www.davidrasch.com/2006/03/11/prior-art-installers/</link>
		<comments>http://www.davidrasch.com/2006/03/11/prior-art-installers/#comments</comments>
		<pubDate>Sun, 12 Mar 2006 01:39:47 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[Systems]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.davidrasch.com/archives/12</guid>
		<description><![CDATA[<p>Every widely distributed PHP application has its home grown installer that looks for depedencies, sets up a database, and checks permissions. Since PHP is interpretted, has no language support for namespaces, and no stored application state&#8211;simply defining how a PHP application gets installed is a non-trivial function. There have been a attempts to create <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.davidrasch.com/2006/03/11/prior-art-installers/">prior art&#8211;web application installers</a></span>]]></description>
			<content:encoded><![CDATA[<p>Every widely distributed PHP application has its home grown installer that looks for depedencies, sets up a database, and checks permissions.  Since PHP is interpretted, has no language support for namespaces, and no stored application state&#8211;simply defining how a PHP application gets installed is a non-trivial function.<br />
There have been a <a href="http://thebrainroom.com/opensource/php/installer.php">attempts</a> to create a common PHP application installer.  They&#8217;ve faced lack of adoption, the same loose coupling and installation as the problem it attempts to solve,</p>
<p>I propose an extension to PHP, or even to Apache which allows the adding, upgrading, and removing of web applications in a fashion similar to the maintenance of WAR files for Tomcat.  This will allow applications to ensure their needs are met, depdendencies installed, and allow the distribution of component libraries for supporting installations.  I only hope this can enable the easy distribution of open-source applications like <a href="http://nsis.sourceforge.net/Main_Page">NSIS (Nullsoft&#8217;s Installer)</a> has done for desktop open-source applications in Windows.</p>
<p>[tags]installer,opensource, web[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrasch.com/2006/03/11/prior-art-installers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

