<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Weston Ruter</title>
	
	<link>http://weston.ruter.net</link>
	<description>Web application developer in Portland, Oregon</description>
	<pubDate>Wed, 17 Jun 2009 22:18:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/westonruter" type="application/rss+xml" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Multiple Borders via CSS box-shadow</title>
		<link>http://weston.ruter.net/2009/06/15/multiple-borders-via-css-box-shadow/</link>
		<comments>http://weston.ruter.net/2009/06/15/multiple-borders-via-css-box-shadow/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 00:15:08 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/2009/06/15/multiple-borders-via-css-box-shadow/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p>To make multiple borders appear around an element, the traditional
approach has been to nest multiple elements and apply a different border to
each. For example, to put a rainbow border on an element:</p>

<div style="border:solid 2px purple; width:134px; text-align:center; margin-left:auto; margin-right:auto; ">
    <div style="border:solid 2px blue;">
        <div style="border:solid 2px cyan;">
            <div style="border:solid 2px lime;">
                <div style="border:solid 2px yellow;">
                    <div style="border:solid 2px orange;">
                        <div style="border:solid 2px red; padding:5px;">
                            <b>I have rainbow borders!</b>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
    
<p>This approach uses seven <code>div</code> elements. However, there is an
alternative that avoids the need for so many superfluous elements: the
new CSS3 <a href="http://www.w3.org/TR/css3-background/#box-shadow"><code>box-shadow</code>
property</a>. A key feature of this property is that it allows for <em>multiple shadows</em> to be supplied at once:</p>
    
<blockquote><code>box-shadow: none | &lt;shadow&gt; [ , &lt;shadow&gt; ]*</code></blockquote>

<!--&lt;shadow&gt; = inset || [ &lt;length&gt; &lt;length&gt; &lt;length&gt;? &lt;length&gt;? || &lt;color&gt; ]-->
    
<p>When multiple shadows are supplied, they can be positioned on top of each
other to create a multiple-border effect. Using the <code>box-shadow</code>
property in this way requires support for the "spread radius" value, and this
is not currently supported by WebKit (includes Safari and Chrome). However,
<strong>Firefox 3.5</strong> (now <a href="http://www.mozilla.com/en-US/firefox/all-beta.html">available</a>
as a preview release) does <a href="https://developer.mozilla.org/En/CSS/-moz-box-shadow" title="-moz-box-shadow">support</a>
the <code>box-shadow</code> spread radius, and if
using that browser, the following example should look identical to the example
above:</p>
    
<div style="width:100px; margin:30px auto; text-align:center; padding:5px;
	-moz-box-shadow:
		0 0 0 2px red,
		0 0 0 4px orange,
		0 0 0 6px yellow,
		0 0 0 8px lime,
		0 0 0 10px cyan,
		0 0 0 12px blue,
		0 0 0 14px purple;
	-webkit-box-shadow:
		0 0 0 2px red,
		0 0 0 4px orange,
		0 0 0 6px yellow,
		0 0 0 8px lime,
		0 0 0 10px cyan,
		0 0 0 12px blue,
		0 0 0 14px purple;
	box-shadow:
		0 0 0 2px red,
		0 0 0 4px orange,
		0 0 0 6px yellow,
		0 0 0 8px lime,
		0 0 0 10px cyan,
		0 0 0 12px blue,
		0 0 0 14px purple;
">
    <b>I have rainbow borders!</b>
</div>

<p>Using <code>box-shadow</code> for multiple borders not only eliminates the need for extra markup,
it also allows the multiple borders to be easily rounded on corners simply by adding the
<a href="http://www.w3.org/TR/css3-background/#the-border-radius"><code>border-radius</code>
property</a> (see <a href="/projects/multiple-borders/rainbow-borders-with-rounded-corners.png">screenshot</a> from Firefox 3.5):</p>

<div style="width:200px; margin:30px auto; text-align:center; padding:5px 15px;
	-moz-border-radius:40px;
	-webkit-border-radius:40px;
	border-radius:40px;
	-moz-box-shadow:
		0 0 0 2px red,
		0 0 0 4px orange,
		0 0 0 6px yellow,
		0 0 0 8px lime,
		0 0 0 10px cyan,
		0 0 0 12px blue,
		0 0 0 14px purple;
	-webkit-box-shadow:
		0 0 0 2px red,
		0 0 0 4px orange,
		0 0 0 6px yellow,
		0 0 0 8px lime,
		0 0 0 10px cyan,
		0 0 0 12px blue,
		0 0 0 14px purple;
	box-shadow:
		0 0 0 2px red,
		0 0 0 4px orange,
		0 0 0 6px yellow,
		0 0 0 8px lime,
		0 0 0 10px cyan,
		0 0 0 12px blue,
		0 0 0 14px purple;
">
    <b>I have rainbow borders with rounded corners!</b>
</div>

<p>To accomplish the above with multiple nested elements, you would have to
tediously increase the <code>border-radius</code> for each wrapped
element in order to get the corner arcs to fit together properly.</p>

<p>I suppose using <code>box-shadow</code> to implement borders is a kind of hack
(the technique requires setting margins because the shadows don't effect page flow),
but we're celebrating the compeltion of Firefox 3.5 by
<a href="http://hacks.mozilla.org/">showcasing hacks</a> like these!
It would be great if multiple borders could simply be specified on a
<code>border</code> property just as is possible with <code>box-shadow</code>.
Each subsequent border defined could wrap around the previously defined borders.
The property could be defined:</p>

<blockquote><code>border: none | &lt;border&gt; [ , &lt;border&gt; ]*</code></blockquote>

<p>In any case, the <code>box-shadow</code> property still has a benefit of
allowing the borders to blend together by specifying the <code>box-shadow</code>'s
blur radius (see <a href="/projects/multiple-borders/blended-rainbow-borders.png">screenshot</a> from Firefox 3.5):</p>

<div style="width:100px; height:100px; margin:30px auto; text-align:center; 
	-moz-border-radius:50px;
	-webkit-border-radius:50px;
	border-radius:50px;
	-moz-box-shadow:
		0 0 4px 2px red,
		0 0 4px 4px orange,
		0 0 4px 6px yellow,
		0 0 4px 8px lime,
		0 0 4px 10px cyan,
		0 0 4px 12px blue,
		0 0 4px 14px purple;
	-webkit-box-shadow:
		0 0 4px 2px red,
		0 0 4px 4px orange,
		0 0 4px 6px yellow,
		0 0 4px 8px lime,
		0 0 4px 10px cyan,
		0 0 4px 12px blue,
		0 0 4px 14px purple;
	box-shadow:
		0 0 4px 2px red,
		0 0 4px 4px orange,
		0 0 4px 6px yellow,
		0 0 4px 8px lime,
		0 0 4px 10px cyan,
		0 0 4px 12px blue,
		0 0 4px 14px purple;
">
    <b style="display:block; padding:10px; ">I have blended rainbow borders!</b>
</div>

<p>It's exciting to see how Mozilla is implementing bleeding-edge CSS features in Firefox
as we have become accustomed to from the WebKit team. Great work everyone!</p>

</div>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/06/15/multiple-borders-via-css-box-shadow/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Detecting Support for data: URIs</title>
		<link>http://weston.ruter.net/2009/05/07/detecting-support-for-data-uris/</link>
		<comments>http://weston.ruter.net/2009/05/07/detecting-support-for-data-uris/#comments</comments>
		<pubDate>Thu, 07 May 2009 20:53:19 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=162</guid>
		<description><![CDATA[Updates: Added note at end to respond to V1&#8217;s comment, and fixed the &#8220;awkward CSS syntax&#8221; which was actually a big typo (thanks Harmen).
The data: URI scheme is now supported by the most current version of every major browser, including Internet Explorer. Because of this I wanted to use CSS background images encoded with data: [...]]]></description>
			<content:encoded><![CDATA[<p><ins><strong>Updates:</strong> Added note at end to respond to <a href="http://weston.ruter.net/2009/05/07/detecting-support-for-data-uris/#comment-4936">V1&#8217;s comment</a>, and fixed the &#8220;awkward CSS syntax&#8221; which was actually a big typo (<a title="Can you elaborate a bit on that awkward CSS syntax? Why repeat the background-image rule as a string inside the background-image rule?" href="#comment-5037">thanks Harmen</a>).</ins></p>
<p>The <a title="data URI scheme @ Wikipedia" href="http://en.wikipedia.org/wiki/Data_URI_scheme"><code>data:</code> URI scheme</a> is now supported by the most current version of every major browser, including Internet Explorer. Because of this I wanted to use CSS background images encoded with <code>data:</code> URIs in a current project at <a title="Shepherd Interactive does web development, internet strategy, consulting, video, web hosting, graphic design, and brand identity in Portland, Oregon" href="http://shepherd-interactive.com/">Shepherd Interactive</a>. Why? The first rule of <a title="High Performance Websites by Steve Souders" href="http://oreilly.com/catalog/9780596529307/">High Performance Websites</a> is to <strong><a title="Minimize HTTP Requests: Best Practices for Speeding Up Your Web Site" href="http://developer.yahoo.com/performance/rules.html#num_http">Minimize HTTP Requests</a></strong>. By storing background images directly in the stylesheet only one HTTP request is then necessary to fetch the stylesheet and the images all at once. Furthermore, by giving that stylesheet a <a title="Add an Expires or a Cache-Control Header: Best Practices for Speeding Up Your Web Site" href="http://developer.yahoo.com/performance/rules.html#expires">far-future cache expiration date</a> the browser will never need to request it again.</p>
<p>However, while every browser vendor&#8217;s current version supports <code>data:</code> URIs, older browsers like MSIE 7 do not. Therefore it is necessary to also have fallback CSS rules to serve externally-referenced background images. I came up a way of doing this by utilizing the following script which I place as an inline script in the document <code>head</code>:</p>
<pre><code class="js">var data = new Image();
data.onload = data.onerror = function(){
	if(this.width != 1 || this.height != 1)
		document.documentElement.className += " no-data-uri";
}
data.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";</code></pre>
<p>This script attempts to load a 1&#215;1 pixel via a <code>data:</code> URI. If the <code>onload</code> callback fires and it detects that the image&#8217;s width and height are each a single pixel, then the browser supports <code>data:</code> URIs. Otherwise the browser does not support such URIs and a class name is added to the document root so that fallback CSS rules can be written, for example:</p>
<pre><code class="css">#foo {
    background-image:url("data:image/png;base64,<strong>&lt;...&gt;</strong>");
}
html.no-data-uri #foo {
    background-image:url("images/foo.png"); /* fallback */
}</code></pre>
<p>In this way, CSS rules can define background images that utilize <code>data:</code> URIs only for browsers that support them, while at the same time older browsers still render the content properly due to the fallback rules. <ins>Note that for browsers that support <code>data:</code> URIs, the fallback CSS rule above will never be applied and thus <em>its externally-referenced background image will never be downloaded</em>. However, if the browser does <em>not</em> support <code>data:</code> URIs, then the resources will essentially be downloaded twice, but that&#8217;s the price you pay for using an old browser. In any case, when the images are tiny (&lt;1KB) then the overhead is minimal for non-supporting browsers, and your development process is greatly eased since you don&#8217;t have to hassle with creating image sprites (which are sometimes impossible anyway); those who use current browser versions will be rewarded as will the generations of Internet users to come.<br />
</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/05/07/detecting-support-for-data-uris/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Scriptures Presentation at BibleTech:2009</title>
		<link>http://weston.ruter.net/2009/04/27/open-scriptures-presentation-at-bibletech2009/</link>
		<comments>http://weston.ruter.net/2009/04/27/open-scriptures-presentation-at-bibletech2009/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 23:31:46 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=160</guid>
		<description><![CDATA[As previously announced, I had the privilege of presenting the Open Scriptures project at BibleTech:2009. Multimedia of the talk is available:

]]></description>
			<content:encoded><![CDATA[<p>As <a title="Open Scriptures at BibleTech" href="http://weston.ruter.net/2009/01/14/open-scriptures-at-bibletech/">previously announced</a>, I had the privilege of <a title="Abstract of Open Scriptures: Picking Up the Mantle of the Re:Greek – Open Source Initiative @ BibleTech:2009" href="http://www.bibletechconference.com/speakers.htm#WestonRuter-2009">presenting</a> the <a href="http://openscriptures.org/">Open Scriptures</a> project at <a href="http://www.bibletechconference.com/">BibleTech:2009</a>. Multimedia of the talk is <a title="Multimedia of Presentation at BibleTech:2009" href="http://openscriptures.org/blog/2009/04/multimedia-of-presentation-at-bibletech2009/">available</a>:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="319" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="never" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3935864&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="425" height="319" src="http://vimeo.com/moogaloop.swf?clip_id=3935864&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="never" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/04/27/open-scriptures-presentation-at-bibletech2009/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Newly Designed Open Scriptures Website with Blog</title>
		<link>http://weston.ruter.net/2009/03/08/newly-designed-open-scriptures-website-with-blog/</link>
		<comments>http://weston.ruter.net/2009/03/08/newly-designed-open-scriptures-website-with-blog/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 03:12:47 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=152</guid>
		<description><![CDATA[I haven&#8217;t formally announced this here yet, but there is a newly designed Open Scriptures website with blog. Future posts regarding Open Scriptures will be posted there. There are two new posts, the first regarding the recently-unveiled exciting Tagged Tanakh project, and the second about redeeming the ill-fated Re:Greek Open Source Initiative with a call [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://openscriptures.org/"><img class="alignright size-medium wp-image-153" style="float:right; margin-left: 12px; margin-bottom: 6px;" title="New Open Scriptures Home Page" src="http://weston.ruter.net/wp-content/uploads/2009/03/open-scriptures-home-page-300x212.png" alt="" width="300" height="212" /></a>I haven&#8217;t formally announced this here yet, but there is a newly designed <a href="http://openscriptures.org/">Open Scriptures</a> website with blog. Future posts regarding Open Scriptures will be posted there. There are two new posts, the first regarding the recently-unveiled exciting Tagged Tanakh project, and the second about redeeming the ill-fated Re:Greek Open Source Initiative with a call for participation. <a href="http://openscriptures.org/">Check them out</a> and <a title="Open Scriptures FeedBurner " href="http://feeds2.feedburner.com/open-scriptures">subscribe to the feed</a>.</p>
<p>Please also follow <a href="http://twitter.com/openscriptures">Open Scriptures on Twitter</a>.</p>
<p>Join in on the discussion on the <a title="Open Scriptures Google Group" href="http://groups.google.com/group/open-scriptures">Google Group</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/03/08/newly-designed-open-scriptures-website-with-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>“Old” Mainly Linguistics Stuff from College Days</title>
		<link>http://weston.ruter.net/2009/02/21/old-mainly-linguistics-stuff-from-college-days/</link>
		<comments>http://weston.ruter.net/2009/02/21/old-mainly-linguistics-stuff-from-college-days/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 21:05:20 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Culture]]></category>

		<category><![CDATA[Linguistics]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=138</guid>
		<description><![CDATA[This morning I got inspired to go over some relatively old stuff that I worked on in college. There are several linguistics projects that I think are pretty interesting (the first three especially):

Phonological Analysis of a Second Language
Arabic Phonemes Represented by the Spanish Letter “J”
Indo-European Cognates in Psalm 23 and the Beatitudes
El alfabeto árabe
Hamlet Word [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I got inspired to go over some relatively old stuff that I worked on in college. There are several linguistics projects that I think are pretty interesting (the first three especially):</p>
<ul>
<li><a href="/projects/misc-linguistics/phonological-analysis-of-a-second-language/"><strong>Phonological Analysis of a Second Language</strong></a></li>
<li><a href="/projects/misc-linguistics/arabic-phonemes-represented-by-the-spanish-letter-j.html"><strong>Arabic Phonemes Represented by the Spanish Letter “J”</strong></a></li>
<li><a href="/projects/misc-linguistics/indo-european-cognates-in-psalm-23-and-beatitudes.html"><strong>Indo-European Cognates in Psalm 23 and the Beatitudes</strong></a></li>
<li><a hreflang="es" href="../projects/misc-linguistics/el-alfabeto-arabe.html">El alfabeto árabe</a></li>
<li><a href="/projects/misc-linguistics/hamlet-word-origin-study.html">Hamlet Word Origin Study</a></li>
<li><a href="/projects/misc-linguistics/indo-european-word-history-of-plek.png">Indo-European Word History of <em>plek</em></a></li>
</ul>
<p>And then I found an old chart I made of <a href="/projects/race-and-ethnicity.html">my racial makup</a>.</p>
<p>And then there is a little <a href="/projects/nickerson-signal/">web app for SPU&#8217;s Nickerson Signal</a> which attempts to model a traffic signal so that upcoming crossing times can be predicted. (Didn&#8217;t end up accurately modeling reality.)</p>
<p>And finally there is the <a href="/projects/s-link/">Semantic Linking</a> tool (mentioned in my last post) which is a prototype for an upcoming tool which enables contributors to link the semantic units between manuscripts and translations.</p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/02/21/old-mainly-linguistics-stuff-from-college-days/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Manuscript Comparator and the Open Scriptures Platform</title>
		<link>http://weston.ruter.net/2009/02/07/manuscript-comparator-and-open-scriptures-platform/</link>
		<comments>http://weston.ruter.net/2009/02/07/manuscript-comparator-and-open-scriptures-platform/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 18:37:52 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Bible Tech]]></category>

		<category><![CDATA[Linguistics]]></category>

		<category><![CDATA[Open Scriptures]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=116</guid>
		<description><![CDATA[This post has been moved to the Open Scriptures blog.
]]></description>
			<content:encoded><![CDATA[<p><em>This post has been moved to the <a title="Manuscript Comparator and the Open Scriptures Platform" href="http://openscriptures.org/2009/02/manuscript-comparator-and-the-open-scriptures-platform/">Open Scriptures blog</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/02/07/manuscript-comparator-and-open-scriptures-platform/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Discussing Open Scriptures</title>
		<link>http://weston.ruter.net/2009/01/17/discussing-open-scriptures/</link>
		<comments>http://weston.ruter.net/2009/01/17/discussing-open-scriptures/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 01:28:08 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Open Scriptures]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=108</guid>
		<description><![CDATA[This post has been moved to the Open Scriptures blog.
]]></description>
			<content:encoded><![CDATA[<p><em>This post has been moved to the <a title="Discussing Open Scriptures" href="http://openscriptures.org/2009/01/discussing-open-scriptures/">Open Scriptures blog</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/01/17/discussing-open-scriptures/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Scriptures at BibleTech</title>
		<link>http://weston.ruter.net/2009/01/14/open-scriptures-at-bibletech/</link>
		<comments>http://weston.ruter.net/2009/01/14/open-scriptures-at-bibletech/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 19:25:20 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Bible Tech]]></category>

		<category><![CDATA[Faith]]></category>

		<category><![CDATA[Linguistics]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=103</guid>
		<description><![CDATA[(This post has been cross-posted on the Open Scriptures blog.)
For the past several years, I&#8217;ve been dreaming about an open source community-driven Web application for Scripture. In the past few months, things have really been kicking into high gear. At BibleTech:2009 I&#8217;m presenting the project in the talk Open Scriptures: Picking Up the Mantle of [...]]]></description>
			<content:encoded><![CDATA[<p><em>(This post has been cross-posted on the <a title="Open Scriptures at BibleTech" href="http://openscriptures.org/2009/01/open-scriptures-at-bibletech/">Open Scriptures blog</a>.)</em></p>
<p><a href="http://www.bibletechconference.com/"><img class="alignright" style="border: 0pt none; float:right; margin-left:10px; margin-bottom:10px;" src="http://www.bibletechconference.com/ads/banners/bibletechbanner_300x250.gif" border="0" alt="Register Now for BibleTech:2009, March 27/28 in Seattle, Washington" width="300" height="250" /></a>For the past several years, I&#8217;ve been dreaming about an open source community-driven Web application for Scripture. In the past few months, things have really been kicking into high gear. At <a href="http://www.bibletechconference.com/">BibleTech:2009</a> I&#8217;m presenting the project in the talk <cite><a href="http://www.bibletechconference.com/speakers.htm#WestonRuter-2009">Open Scriptures: Picking Up the Mantle of the Re:Greek – Open Source Initiative</a></cite>:</p>
<blockquote><p><a href="http://openscriptures.org/">Open Scriptures</a> seeks to be a comprehensive open-source Web repository for integrated scriptural data and a general application framework for building internationalized social applications of scripture. An abundance of scriptural resources are now available online—manuscripts, translations, and annotations are all being made available by students and scholars alike at an ever-increasing rate. These diverse scriptural resources, however, are isolated from each other and fragmented across the Internet. Thus mashing up the available data into new scriptural applications is not currently possible for the community at large because the resources&#8217; interrelationships are not systematically documented. Open Scriptures aims to establish a scriptural database for interlinked textual resources such as merged manuscripts, the differences among them, and the links between their semantic units and the semantic units of their translations. With such a foundation in place, derived scriptural data like cross-references may be stored in a translation-neutral and internationalized manner so as to be accessible to the community no matter what language they speak or version they prefer.</p></blockquote>
<p>Think of it as a Wikipedia for scriptural data. Just as Wikipedia has become the go-to place to find open encyclopedia information, Open Scriptures seeks to be the go-to place for open scriptural data. (Non-free data could also be stored, but it would be restricted to non-commercial personal use, as Wikipedia does with <a href="http://en.wikipedia.org/wiki/Wikipedia:Fair_use">fair use</a> or by obtaining special permission.)</p>
<p>Interested? The project needs you! I&#8217;d love for a core group of scholars and developers to come together with the shared vision of open access to scriptural data employing open standards and best practices of the Web.</p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2009/01/14/open-scriptures-at-bibletech/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It’d be better without Flash.</title>
		<link>http://weston.ruter.net/2008/12/30/its-better-without-flash/</link>
		<comments>http://weston.ruter.net/2008/12/30/its-better-without-flash/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 18:19:53 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=50</guid>
		<description><![CDATA[I was hiking with my dad and father-in-law in the Columbia Gorge a few weekends ago. At one point along the trail my dad took out his camera to take a picture; my father-in-law, who is a photographer, mentioned to my dad, &#8220;It&#8217;d be better without flash.&#8221; I was struck by how he profoundly and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://weston.ruter.net/wp-content/uploads/2008/12/with-dad-in-the-gorge.jpg"><img class="alignright size-medium wp-image-87" style="margin-left:10px; margin-bottom:10px; float:right; " title="Hiking with my dad in the Columbia Gorge (Washington side)" src="http://weston.ruter.net/wp-content/uploads/2008/12/with-dad-in-the-gorge-300x224.jpg" alt="" width="300" height="224" /></a>I was hiking with my dad and father-in-law in the Columbia Gorge a few weekends ago. At one point along the trail my dad took out his camera to take a picture; my father-in-law, who is a photographer, mentioned to my dad, &#8220;It&#8217;d be better without <a href="http://en.wikipedia.org/wiki/Flash_%28photography%29" target="_blank">flash</a>.&#8221; I was struck by how he profoundly and unknowingly affirmed my convictions about work in my field. It <em>would</em> be better without <a href="http://en.wikipedia.org/wiki/Adobe_Flash" target="_blank">Flash</a>. Why? Flash can do some amazingly cool things, but as a firm believer in the Open Web, the nature of Flash is quite troublesome: it is a proprietary technology and uses a binary format not consisting of Web technologies (as I recently <a title="&quot;Inline SVG Fallback&quot; on the Shepherd Interactive blog" href="http://shepherd-interactive.com/about-us/blog/2008/12/inline-svg-fallback/">blogged about</a> at <a title="Shepherd Interactive" href="http://shepherd-interactive.com/">work</a>).</p>
<p>In spite of the closed nature of Flash, many things are currently impossible without Flash,  of course. However, now with stepped up efforts by browser developers (including <a href="http://gears.google.com/">Gears</a>) and the development of the <a href="http://www.w3.org/TR/html5/">HTML5</a> specification, the things which are impossible without Flash are dwindling. Browser vendors are rapidly implementing cutting-edge technologies such as SVG, <a href="http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html">CSS transitions</a> and <a title="CSS animation" href="http://webkit.org/specs/CSSVisualEffects/CSSAnimation.html">animation</a>, HTML5&#8217;s <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#audio"><code>audio</code></a>, <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#video"><code>video</code></a>, and <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element"><code>canvas</code></a> elements, and custom fonts with <code>@font-face</code>; at the same time browser developers are competing for the fastest performance with blazing new JavaScript engines such as Mozilla&#8217;s <a href="https://wiki.mozilla.org/JavaScript:TraceMonkey">TraceMonkey</a>, WebKit&#8217;s <a href="http://webkit.org/blog/214/introducing-squirrelfish-extreme/">SquirrelFish Extreme</a>, and Google&#8217;s <a href="http://code.google.com/p/v8/">V8</a>. The JavaScript language itself is being furthered now by a new <a href="https://mail.mozilla.org/pipermail/es-discuss/2008-August/006837.html">harmonious momentum</a> on <a href="http://www.ecmascript.org/">ECMAScript</a> 3.1, some features of which the IE team has been quick to include in the upcoming IE8.</p>
<p>In short, the technological foundation of the Open Web has been quickly growing to provide the compelling features which Flash now makes available. Nevertheless, while the things which have depended on Flash are dwindling, it is still currently a lot harder to do these things without Flash because Adobe&#8217;s IDE makes designing and developing Flash apps relatively easy for people not intimately familiar with the technical details. What the Open Web needs, therefore, is an IDE which can provide the same level of abstraction as Adobe Flash. We need an IDE which is able to intuitively generate and manipulate the technologies of the Open Web. Mozilla&#8217;s <a href="http://labs.mozilla.com/2008/10/developer-tools-and-the-open-web/">new effort</a> on Open Web development tools, <a href="http://ajaxian.com/archives/ajaxians-join-mozilla-creating-developer-tools">led</a> by <a href="http://almaer.com/blog/joining-mozilla-to-create-new-developer-tools-for-the-web-hoping-to-create-a-new-chapter-in-the-book-of-mozilla">Dion</a> and <a href="http://galbraiths.org/blog/2008/10/13/a-new-direction/">Ben</a> of <a href="http://ajaxian.com/">Ajaxian</a>, seems like a great start. In fact, I think it would be great if the <a href="http://getfirebug.com/workingGroup/">Firebug Working Group</a> joined this new effort, and if the Firebug extension itself would be the development tool which would be the focus of the new developer tool set.</p>
<p>For some inspiration, check out the <a href="http://antisocial.demozoo.org/">Antisocial demo</a> and its accompanying <a href="http://antisocial.demozoo.org/tool.html">demotool</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2008/12/30/its-better-without-flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SchemaGraph: Visualizing Databases in SVG</title>
		<link>http://weston.ruter.net/2008/12/04/schemagraph/</link>
		<comments>http://weston.ruter.net/2008/12/04/schemagraph/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 20:02:34 +0000</pubDate>
		<dc:creator>Weston Ruter</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://weston.ruter.net/?p=64</guid>
		<description><![CDATA[I just released SchemaGraph, a standalone PHP script which queries the MySQL information_schema database to get all of the necessary information about a database&#8217;s (InnoDB) tables to construct a graph; this graph is then output as an interactive SVG image (see example) with the following features:

Tables in the schema are placed equidistantly around a circle.
Clicking [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Go to the SchemaGraph project page" href="http://weston.ruter.net/projects/schemagraph/"><img style="float:right; margin-left: 12px; margin-bottom: 6px;" src="http://shepherd-interactive.googlecode.com/svn/trunk/schemagraph/example.png" alt="Graph visualization of a MySQL database with the tables placed around a circle and the foreign key constraints appearing as lines between the tables" width="250" height="218" /></a>I just released <a href="http://weston.ruter.net/projects/schemagraph/">SchemaGraph</a>, a standalone PHP script which queries the MySQL <code>information_schema</code> database to get all of the necessary information about a database&#8217;s (InnoDB) tables to construct a graph; this graph is then output as an interactive <a title="Scalable Vector Graphics" href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics">SVG</a> image (see <a href="http://shepherd-interactive.googlecode.com/svn/trunk/schemagraph/example.svg">example</a>) with the following features:</p>
<ul>
<li>Tables in the schema are placed equidistantly around a circle.</li>
<li>Clicking the image causes the graph to rotate.</li>
<li>Foreign key constraints are represented by bézier curves connecting table labels.</li>
<li>Hovering over a table or a constraint causes the table&#8217;s label to highlight along with all of its constraint paths (both incoming and outgoing).</li>
<li>The paths representing incoming foreign key constraints are highlighted in a different color than outgoing constraints.</li>
<li>Multiple constraints between the same two tables are prevented from overlapping by giving a unique curve to each of the lines.</li>
<li>Hovering over a constraint produces a tooltip which shows the names of the fields that are linked by the constraint.</li>
</ul>
<p>This is an open source project I developed while working at <a title="Shepherd Interactive specializes in web design and development in Portland, Oregon" href="http://www.shepherd-interactive.com/">Shepherd Interactive</a>. Find out more on the <a title="SchemaGraph: Visualizing Complex Databases" href="http://weston.ruter.net/projects/schemagraph/">project page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://weston.ruter.net/2008/12/04/schemagraph/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
