<?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>CodeDread Blog &#187; Questions</title>
	<atom:link href="http://www.codedread.com/blog/archives/category/questions/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codedread.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 02 Jan 2012 15:30:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Taking Notes</title>
		<link>http://www.codedread.com/blog/archives/2008/08/21/taking-notes/</link>
		<comments>http://www.codedread.com/blog/archives/2008/08/21/taking-notes/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 15:32:24 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[gtd]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2008/08/21/taking-notes/</guid>
		<description><![CDATA[How do you take notes? Here&#8217;s my list of techniques in order of preference using a heuristic which is some function of efficiency, persistence, and privacy: Full-finger-typing on a regular-size keyboard Writing with a pen/pencil on paper Thumb-typing on a small QWERTY keyboard Stylus recognition on a touchscreen Voice notes Scoring the flesh of my [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" align="right" hspace="10" data="http://codedread.com/clipart/gtd.svgz"><span/></object>How do you take notes?  Here&#8217;s my list of techniques in order of preference using a heuristic which is some function of efficiency, persistence, and privacy:</p>
<ul>
<li>Full-finger-typing on a regular-size keyboard</li>
<li>Writing with a pen/pencil on paper</li>
<li>Thumb-typing on a small QWERTY keyboard</li>
<li>Stylus recognition on a touchscreen</li>
<li>Voice notes</li>
<li>Scoring the flesh of my forearm in Morse Code with a rusty Bowie knife</li>
<li>Typing with one thumb on my phone&#8217;s number keypad</li>
</ul>
<p>Which one do you use?  Guess which one I use&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2008/08/21/taking-notes/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Kung Pao</title>
		<link>http://www.codedread.com/blog/archives/2008/01/21/kung-pao/</link>
		<comments>http://www.codedread.com/blog/archives/2008/01/21/kung-pao/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 06:01:13 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Questions]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2008/01/21/kung-pao/</guid>
		<description><![CDATA[Where&#8217;s the best place to get Kung Pao in the Chicago area? Bonus points if it&#8217;s in the NorthWest suburbs&#8230;]]></description>
			<content:encoded><![CDATA[<p>Where&#8217;s the best place to get Kung Pao in the Chicago area?  Bonus points if it&#8217;s in the NorthWest suburbs&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2008/01/21/kung-pao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows on a MacBook Pro: Keyboard Differences</title>
		<link>http://www.codedread.com/blog/archives/2007/11/30/windows-on-a-macbook-pro-keyboard-differences/</link>
		<comments>http://www.codedread.com/blog/archives/2007/11/30/windows-on-a-macbook-pro-keyboard-differences/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 21:33:25 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/11/30/windows-on-a-macbook-pro-keyboard-differences/</guid>
		<description><![CDATA[I recently got ahold of a nice MacBook Pro and I&#8217;m using it as my primary Windows box at work. It&#8217;s nice and snappy and I like it, but I&#8217;m having trouble getting used to the keyboard, let alone the one-button mousepad. I thought I&#8217;d use this post to collapse several google searches into one [...]]]></description>
			<content:encoded><![CDATA[<p><object type="image/svg+xml" width="100" height="100" align="right" hspace="10" data="http://codedread.com/clipart/windows.svgz"><span/></object>I recently got ahold of a nice MacBook Pro and I&#8217;m using it as my primary Windows box at work.  It&#8217;s nice and snappy and I like it, but I&#8217;m having trouble getting used to the keyboard, let alone the one-button mousepad.  I thought I&#8217;d use this post to collapse several google searches into one location.  I&#8217;ll likely add to this list as I learn more tricks.<span id="more-410"></span></p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
<table border="1">
<tr>
<th>Windows Shortcut</th>
<th>MacBook Pro Equivalent</th>
<th>Function+Notes</th>
</tr>
<tr>
<td>Alt+PrintScreen</td>
<td>fn+F11</td>
<td>copy screen capture of entire desktop to clipboard</td>
</tr>
<tr>
<td>Ctrl+PrintScreen</td>
<td>fn+option+F11</td>
<td>copy screen capture of current window to clipboard</td>
</tr>
<tr>
<td>Insert</td>
<td>fn+bottom enter key (next to arrows)</td>
<td>overstrike mode</td>
</tr>
<tr>
<td>Shift+Insert</td>
<td>ctrl+v</td>
<td>paste clipboard</td>
</tr>
<tr>
<td>Shift+Delete</td>
<td>ctrl+x</td>
<td>cut selected</td>
</tr>
<tr>
<td>Backspace</td>
<td>Delete</td>
<td>delete character to left of caret</td>
</tr>
<tr>
<td>Delete</td>
<td>fn+Delete</td>
<td>not backspace, but delete character to right of caret</td>
</tr>
<tr>
<td>Home</td>
<td>fn+left arrow</td>
<td>put caret at beginning of line</td>
</tr>
<tr>
<td>End</td>
<td>fn+right arrow</td>
<td>put caret at end of line</td>
</tr>
<tr>
<td>PgUp</td>
<td>fn+up arrow</td>
<td>page up</td>
</tr>
<tr>
<td>PgDn</td>
<td>fn+down arrow</td>
<td>page down</td>
</tr>
<tr>
<td>Ctrl+PgUp</td>
<td>no equivalent</td>
<td>Go to top of document</td>
</tr>
<tr>
<td>Ctrl+PgDn</td>
<td>no equivalent</td>
<td>Go to bottom of document</td>
</tr>
<tr>
<td>Function keys</td>
<td>fn+Function key</td>
<td>Various things. You can switch this behavior in Control Panel > Boot Camp if you want, I recommend this</td>
</tr>
<tr>
<td>Right-click Mouse</td>
<td>put two fingers on mousepad and press button</td>
<td>Bring Up Context Menu</td>
</tr>
</table>
<p>And finally, some flamebait questions:</p>
<ul>
<li>Why in God&#8217;s name are there duplicate enter and Apple keys?!?</li>
<li>Does anyone REALLY think the MacBook right-click equivalent is simpler than putting two #@!$ buttons on the pad?!?  That button is huge-ass!</li>
</ul>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/11/30/windows-on-a-macbook-pro-keyboard-differences/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ideal Life Sort</title>
		<link>http://www.codedread.com/blog/archives/2007/11/08/ideal-life-sort/</link>
		<comments>http://www.codedread.com/blog/archives/2007/11/08/ideal-life-sort/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 12:31:09 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Questions]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/11/07/ideal-life-sort/</guid>
		<description><![CDATA[As originally discussed here and reported on here, I keep most of my work in Subversion repositories. Since starting doing this it&#8217;s been much easier to migrate from one machine to another and continue working. However, there are down sides to using Subversion. I thought I would lay out what I would consider to be [...]]]></description>
			<content:encoded><![CDATA[<p>As originally discussed <a href="http://blog.codedread.com/archives/2005/02/14/subverting-your-life/#comment-74">here</a> and reported on <a href="http://blog.codedread.com/archives/2005/07/18/subverting-your-life-an-update/">here</a>, I keep most of my work in Subversion repositories.  Since starting doing this it&#8217;s been much easier to migrate from one machine to another and continue working.  However, there are down sides to using Subversion.  I thought I would lay out what I would consider to be the best method of storing/accessing my documents.  <span id="more-405"></span></p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
<p>First, a quick description of what Subversion is:  Subversion is a revision control software that allows multiple people to check out and make changes to documents from a central repository.  For convenient use, it requires the centralized server to be always running and for users to have network access.</p>
<p>The problems I face deal mostly with the centralized aspect, really.  First, I&#8217;m running a Linux server at home that is not always available (sometimes I boot it into Windows to get some video conversion/media editing done).  Second, I am collaborating on several projects at once which means I have to access several repositories, some of which are not under my control &#8211; everything in Subversion hinges on the a single server that contains the repository.</p>
<div id="Reqts">
<h3>Requirements</h3>
<p>So ideally, I&#8217;d like the revision control software to be:</p>
<ul>
<li><strong>Free And Open Source</strong> &#8211; &#8217;nuff said</li>
<li><strong>Cross-Platform</strong> &#8211; where Platforms = {Windows, Linux, MacOS }</li>
<li><strong>Fast &#038; Efficient</strong> &#8211; for all operations (renames, branching, commits, etc)</li>
<li><strong>Accessible</strong> &#8211; Means the ability to easily browse the repository (including older versions) and do diffs.  It would be nicer if one could do this without having to download the whole repository too (i.e. via a web client like <a href="http://websvn.tigris.org/">WebSVN</a>.</li>
<li><strong>Secure</strong> &#8211; Means that the repository should password-protected and transactions must be encrypted</li>
<li><strong>Ability to Lock Down</strong> &#8211; Means the ability on a per directory (or even per-file basis) and per user basis to set permissions: Read-Write, Read-Only, or None (not even visible to that user).  Some projects I&#8217;d like to collaborate on, some I&#8217;d like to share, but some are strictly private (like financial information).</li>
<li><strong>Decentralized</strong> &#8211; If one machine goes down all other users/machines can still continue working and checking in.  This inherently means that all users/machines get a full copy of the repository, but I&#8217;m ok with that.</li>
<li><strong>Available Offline</strong> &#8211; I ride the train a few times a week now, so I need to be able to work offline.  This rules out things like Google Docs or similar simple facilities.</li>
<li><strong>Ability to Backup</strong> &#8211; The problem with SVN is all those .svn directories, one per folder.  If I want to do a backup, I have to <a href="http://blog.codedread.com/archives/2007/04/26/using-tar-to-snapshot-a-subversion-working-directory/">strip those out</a>, which is a pain and time-consuming.  I&#8217;d like the ability to just copy the whole repository to some media for archiving.</li>
<li><strong>Ability to Purge</strong> &#8211; All repositories eventually become large in size because they maintain the history of every single file since the beginning of the repository.  I&#8217;m going on three years now and I really haven&#8217;t ever had a need to go back more than a couple months to look at a version of a file.  I think a purging mechanism would be nice to keep the repositories relatively low in space.  Of course the first time I need to go back to an old version that&#8217;s no longer available, I&#8217;ll probably end up cursing this idea and yelling &#8220;Khaaaan!&#8221; like William Shatner.</li>
</ul>
</div>
<p>So actually Subversion comes close to my requirements, but fails on the decentralized thing.  <a href="http://en.wikipedia.org/wiki/Git_%28software%29">Git</a> is sounding better.  I may have to give it a shot one day as their tools mature.</p>
<p>Does anybody have any experience with organizing things like code, documents and photos with a version control system?  Any recommended software?</p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/11/08/ideal-life-sort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mainstream Firefox Awareness</title>
		<link>http://www.codedread.com/blog/archives/2007/11/07/mainstream-firefox-awareness/</link>
		<comments>http://www.codedread.com/blog/archives/2007/11/07/mainstream-firefox-awareness/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 16:54:03 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/11/07/mainstream-firefox-awareness/</guid>
		<description><![CDATA[There&#8217;s no question that Firefox has transitioned from a niche technophile browser into mainstream awareness. However, at the same time the public opinion of Firefox may not be as rosy as everyone wants to believe. Driving home from work Friday, I was flipping around the stations and somehow ended up listening to the following paraphrased [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s no question that Firefox has transitioned from <a href="http://kamhungsoh.com/blog/2007/11/firefox-more-popular-than-msie6.html">a niche technophile browser into mainstream awareness</a>.  However, at the same time the public opinion of Firefox may not be as rosy as everyone wants to believe.  <span id="more-403"></span></p>
<p>Driving home from work Friday, I was flipping around the stations and somehow ended up listening to the following paraphrased exchange between a DJ and a caller for <a href="http://www.1035kissfm.com/main.html">103.5 Kiss FM</a>:</p>
<p>Caller:   &#8220;I can&#8217;t figure out how to get to the $500 contest.&#8221;</p>
<p>The DJ: &#8220;Uh oh, maybe our website&#8217;s broken, let me check&#8230;  No, it&#8217;s right in the center of the page.&#8221;</p>
<p>Caller:   &#8220;But I can&#8217;t click it&#8221;</p>
<p>The DJ: &#8220;What browser are you using?  Are you using Firefox or some crappy browser like that?&#8221;</p>
<p>Caller:   &#8220;Yeah&#8221;</p>
<p>The DJ: &#8220;You have to use Internet Explorer.  The website sometimes doesn&#8217;t work on Firefox.  Go back to your old ways.&#8221;</p>
<p>Here&#8217;s the relevant code:</p>
<div class="code" style="font-size: 8pt;">
<p>&#60;div class=&#8221;page&#8221;></p>
<p>&#160;&#160;&#60;p></p>
<p>&#160;&#160;&#160;&#160;&#60;a href=&#8221;http://www.kisschicago.com/cc-common/videos_on_demand/&#8221; target=&#8221;_blank&#8221;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;mce_real_href=&#8221;http://www.kisschicago.com/cc-common/videos_on_demand/&#8221;></p>
<p>&#160;&#160;&#160;&#160;&#60;/a></p>
<p>&#160;&#160;&#160;&#160;&#60;a href=&#8221;http://www.1035kissfm.com/pages/finishline.html&#8221;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;target=&#8221;_self&#8221;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;mce_real_href=&#8221;http://www.1035kissfm.com/pages/finishline.html&#8221;></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#60;img</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;src=&#8221;http://www.1035kissfm.com/cc-common/mlib/1846/10/1846_1193083585.jpg&#8221;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;border=&#8221;0&#8243;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mce_real_src=&#8221;http://www.1035kissfm.com/cc-common/mlib/1846/10/1846_1193083585.jpg&#8221;></p>
<p>&#160;&#160;&#160;&#160;&#60;/a></p>
<p>&#160;&#160;&#160;&#160;&#60;a href=&#8221;http://www.1035kissfm.com/pages/randomCash.html&#8221;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;target=&#8221;_self&#8221;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;mce_real_href=&#8221;http://www.1035kissfm.com/pages/randomCash.html&#8221;></p>
<p>&#160;&#160;&#160;&#160;&#60;/a></p>
<p>&#160;&#160;&#60;/p></p>
<p>&#60;/div></p>
</div>
<p>Can anybody figure out why Firefox doesn&#8217;t allow clicks?</p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/11/07/mainstream-firefox-awareness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Extensions and Detecting A Clicked Link</title>
		<link>http://www.codedread.com/blog/archives/2007/10/29/firefox-extensions-and-detecting-a-clicked-link/</link>
		<comments>http://www.codedread.com/blog/archives/2007/10/29/firefox-extensions-and-detecting-a-clicked-link/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 02:37:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/10/29/firefox-extensions-and-detecting-a-clicked-link/</guid>
		<description><![CDATA[I&#8217;m working on my first Firefox extension &#8211; an attempt to get Firefox to support some version of XPointer that will work on HTML documents. If you haven&#8217;t read about XPointer before, you can start at my recent blog post here. At the moment, things are pretty much in a raw, not-at-all-ready-for-prime-time state, though I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on my <a href="http://www.codedread.com/fxpointer">first Firefox extension</a> &#8211; an attempt to get Firefox to support some version of <a href="http://www.w3.org/TR/xptr-framework/">XPointer</a> that will work on HTML documents.  <span id="more-401"></span></p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
<p>If you haven&#8217;t read about <a href="http://www.w3.org/TR/xptr-framework/">XPointer</a> before, you can start at my recent blog post <a href="http://blog.codedread.com/archives/2007/10/10/more-on-xpointer/">here</a>.</p>
<p>At the moment, things are pretty much in a raw, not-at-all-ready-for-prime-time state, though I&#8217;ve traveled down some lanes that I&#8217;ve always wanted to try out (specifically I&#8217;ve got my first real taste of <a href="http://www.mozilla.org/projects/xul/">XUL</a> and <a href="http://developer.mozilla.org/en/docs/XBL:XBL_1.0_Reference">XBL</a>).  Unfortunately it took me a while to get even a little clue on some of this stuff and it can be a bit discouraging.  Here&#8217;s hoping the Mozilla documentation improves both in coverage and recency &#8211; but I&#8217;m not holding my breath.</p>
<p>The goal is:  I want to modify the view of an HTML document if any XPointer parts show up in the URL bar.</p>
<p>I started with simply adding a &#8220;load&#8221; event handler to the gBrowser.  This worked fine any time a page had to load (including in a new tab or in the existing tab).  However, what I noticed was that a &#8220;load&#8221; event would not fire if the link was in the same page (i.e. just the &#8220;hash&#8221; part of the URL had changed) if you clicked a link or when you typed it in.  So if I&#8217;m at page foo.html and that page has a link to foo.html#element(bar), when I click that link I do not get a &#8220;load&#8221; event.</p>
<p>So that led me into learning a bit more about XBL to try and add some bindings to the chrome.</p>
<p>Where I sit now:  I&#8217;ve got XBL defining an evalXPointer() method on the &#8220;urlbar&#8221; XUL widget.  When a new document is loaded, I invoke this method.  Also, when a new URL is entered into the location bar (and the user presses Enter), I invoke this method.  Finally, if the &#8220;Go&#8221; button is clicked I also invoke this method.  All my &#8220;logic&#8221; sits in JavaScript in the XBL at the moment.</p>
<p>Anyway, I kind of get the idea that what I&#8217;m doing is not appropriate.  That&#8217;s what community feedback is all about.  The above bindings seem kind of like a hack.  What I really want to do is get notified when any link has been activated (by click or otherwise) and regardless of whether this link causes a &#8220;load&#8221; event or if it&#8217;s in the same page.  Does anybody know the sane way to do this?</p>
<p>Better yet, is there a way to detect when a browser tab&#8217;s address has changed in a definitive way?  I don&#8217;t want to look at every keypress.</p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/10/29/firefox-extensions-and-detecting-a-clicked-link/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Yet More on SVG in text/html</title>
		<link>http://www.codedread.com/blog/archives/2007/10/19/yet-more-on-svg-in-texthtml/</link>
		<comments>http://www.codedread.com/blog/archives/2007/10/19/yet-more-on-svg-in-texthtml/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 14:17:18 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Questions]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/10/19/yet-more-on-svg-in-texthtml/</guid>
		<description><![CDATA[Lots of talk these days about allowing SVG inline with text/html content. I thought I&#8217;d try and put some thoughts down. Start with Doug&#8217;s excellent post on this topic. I don&#8217;t have any opinion on the aria-specific elements of the debate. I&#8217;m fine with either adding a namespace to these attributes when used in XML [...]]]></description>
			<content:encoded><![CDATA[<p><object class="clip" type="image/svg+xml" data="http://www.codedread.com/clipart/svg.svgz"><span/></object>Lots of talk these days about allowing <a href="http://www.w3.org/Graphics/SVG/" title="Scalable Vector Graphics">SVG</a> inline with text/html content.  I thought I&#8217;d try and put some thoughts down.  <span id="more-400"></span></p>
<p><a id="p1"></a>Start with <a href="http://www.schepers.cc/?p=46">Doug&#8217;s</a> excellent post on this topic.  I don&#8217;t have any opinion on the aria-specific elements of the debate.  I&#8217;m fine with either adding a namespace to these attributes when used in XML or letting those attributes attach themselves to the SVG language without a namespace if it simplifies things, I don&#8217;t see a need to update the SVG specification for this though.  I also don&#8217;t see a need to reinvent or create a new namespacing mechanism using underscores or dashes, this seems silly and/or dangerous to me.</p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
<p><a id="p2"></a>But there&#8217;s something I&#8217;m not getting about the recent discussion of allowing inline SVG in text/html (or HTML5).  <a href="http://annevankesteren.nl/2007/10/svg-html#xpointer(string-range(/,syntax%20simple))">Anne</a> seems to be of the opinion that it would be a good opportunity to simplify the SVG language &#8211; maybe eliminate namespaces, allow upper-case SVG elements.  Kind of an &#8220;if you want to play in the HTML playground, you have to wear the right kind of sneakers&#8221; attitude.  This is kind of like HTML abusing its monopoly, isn&#8217;t it?</p>
<p><a id="p3"></a>I don&#8217;t think this is a good idea.  If you allow &#60;CIRCLE CX=40&#62; to be the same thing as &#60;circle cx=&#8221;40&#8243;/&#62; eventually we&#8217;ll start to see people producing non-compliant SVG in the wild.  Then we&#8217;ll have people creating inline SVG for HTML that won&#8217;t work in the many SVG tools and viewers that are already out there and we&#8217;ll just have frustrated authors.  Then some tools might feel forced to accommodate the lax HTML-style of SVG, just like the mess we have now with browsers trying to understand as much content as they can in order to compete.   Then we&#8217;ll have to rewrite the SVG spec so that SVG has two serializations (like we&#8217;re having to do with HTML5/XHTML5).  It just seems to be going at it backwards, since SVG was designed from the ground up as an XML technology.  Must we rewrite all XML specifications into HTML5-style languages in order to get inlining?  I don&#8217;t think so.</p>
<p><a id="p4"></a>I guess I don&#8217;t fully understand why the HTML5 parser can&#8217;t just have the ability to hand off the character stream to another parser when it encounters some &#8220;special&#8221; elements like &#60;svg&#62; or &#60;math&#62;.  Why does everything have to be in the hands of the HTML5 parser?  In other words, in the document:</p>
<div class="code">
<p>&#60;!doctype html&#62;</p>
<p>&#60;html&#62;</p>
<p>&#60;title&#62;SVG in text/html&#60;/title&#62;</p>
<p>&#60;p&#62;</p>
<p>A green circle:</p>
<p>&#60;svg xmlns=&#8221;http://www.w3.org/2000/svg&#8221; &#62;</p>
<p>&#160;&#160;&#60;circle r=&#8221;50&#8243; cx=&#8221;50&#8243; cy=&#8221;50&#8243; fill=&#8221;green&#8221;/&#62;</p>
<p>&#60;/svg&#62;</p>
<p>&#60;/p&#62;</p>
<p>&#60;/html&#62;</p>
</div>
<p><a id="p5"></a>Upon encountering the characters &#8220;&#60;svg &#8220;, the parser should back up five characters and send the bytes to the browser&#8217;s parser that handles content with the MIME type image/svg+xml.  When that parser is complete, those elements can be injected into the DOM in the proper namespace and the HTML5 parser can pick up after &#60;/svg&#62;</p>
<p>I see some problems, none of which seem insurmountable to me:</p>
<ol id="p6">
<li>If the browser has no SVG parser, then what should happen?  My proposal here is that all HTML5 browsers must also include a bog-standard XML parser to handle inline content that is known to be XML.  This should be pretty straightforward, since XML parsing is actually much simpler than HTML5 parsing.  In the case of a browser not grokking SVG, it throws the character stream to the bog-standard XML parser and waits for the character stream to return to it.  Whether those elements are injected into the DOM is up to that browser (a browser could inject the foreign elements into the DOM even if it doesn&#8217;t know how to render them).</li>
<li>I hear that some browser don&#8217;t properly handle namespaced content or colons or something.  Can someone clarify which browsers?  Can someone further clarify what exactly the problems are?  Can someone confirm if that browser will have fixed itself, say, next year would we be good to go?</li>
<li>Maybe the biggest problem with this idea is defining what happens in error scenarios &#8211; i.e. when the SVG is malformed, then at what point does the SVG parser return the character stream back to the HTML parser.  In other words, maybe the challenge here would be in defining how parsers need to behave towards each other when mixing MIME types.  Anybody have a suggestion here?  Is this the deal-breaker?</li>
</ol>
<p><a id="p7"></a>As for namespace removal &#8211; why?  Seriously just because it&#8217;s hard to remember it?  If we&#8217;re trying to get to a &#8220;cut-and-paste&#8221; environment for some web authors, then they can just cut and paste the whole thing (namespace definitions in &#60;svg&#62; element and all).  Maybe it&#8217;s because I&#8217;m used to writing SVG, but I really don&#8217;t have a problem with the concept of mixed namespace content.  <a href="http://intertwingly.net/blog/2007/10/18/SVG-in-HTML-Momentum-Building">Sam&#8217;s</a> off-the-cuff solution seems to favor even skipping the &#60;svg&#62; element, which would seem to me to cause a mess of problems.  Where would you define the viewBox?  Where would you define the version of the SVG language?  You couldn&#8217;t, for example, cut and paste his &#8220;inlined&#8221; SVG content into a standalone SVG document for editing and be guaranteed it will even display properly, even if you wrapped it in a simple &#60;svg/&#62; element.</p>
<p><a id="p8"></a>It seems like the belief that XHTML being a failure is a reflection on XML-on-the-web in general.  In fact, all browsers except for IE can handle application/xhtml+xml MIME type these days, so it really seems to me that the verdict&#8217;s still out on whether XHTML is a good technology or not.  Some people out there still think that XML has a place on the web.  People like <a href="http://burningbird.net/">Shelley</a>, who also shares her thoughts on SVG in text/html <a href="http://burningbird.net/technology/svg-onward/">here</a>.</p>
<p><a id="p9"></a>I think we should explore relaxing the draconian error handling on XML on the web, but I don&#8217;t agree with <strike>re-inventing</strike> changing XML languages into HTML-style languages one after another.</p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/10/19/yet-more-on-svg-in-texthtml/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Linking To An Arbitrary Section Of A Web Page</title>
		<link>http://www.codedread.com/blog/archives/2007/10/09/397/</link>
		<comments>http://www.codedread.com/blog/archives/2007/10/09/397/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 15:24:06 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/10/09/397/</guid>
		<description><![CDATA[Today I wanted to send a link to a specific location in this web page. If you&#8217;re curious, go to the link and search in the page for &#8220;square bracket notation&#8221;. Unfortunately, the web page does not identify that section in the source. Is there any way to do this with today&#8217;s modern browsers (Firefox, [...]]]></description>
			<content:encoded><![CDATA[<p>Today I wanted to send a link to a specific location in <a href="http://www.w3.org/TR/DOM-Level-2-Core/ecma-script-binding.html">this web page</a>.  If you&#8217;re curious, go to the link and search in the page for &#8220;square bracket notation&#8221;.  Unfortunately, the web page does not identify that section in the source.  Is there any way to do this with today&#8217;s modern browsers (Firefox, Opera, Safari)?</p>
<p>What I&#8217;m looking for is something like SVG <a href="http://www.w3.org/TR/SVG11/linking.html#SVGFragmentIdentifiers">Fragment Identifiers</a> where you can use XPointer syntax in the URL to navigate to a specific section of a document.  Before I spend time learning XPointer syntax, can anyone tell me if any HTML browsers support it as fragments in the URLs?</p>
<p>Another option is to link to a <a href="http://www.google.com/search?q=cache:v255FjtxmuYJ:www.w3.org/TR/DOM-Level-2-Core/ecma-script-binding.html+site:http://www.w3.org/TR/DOM-Level-2-Core/ecma-script-binding.html+square+bracket&#038;hl=en&#038;client=firefox-a&#038;gl=us&#038;strip=1">cached page</a> from a specific Google Search, but it still requires the user to scroll down to the highlighted section.  It&#8217;s a shame that Google doesn&#8217;t insert specific anchors into the web page for this very purpose.  It might make some web authors angry that Google mucks about with their source, but this is a case where I don&#8217;t mind &#8211; authors should learn to properly identify portions of their documents.  This becomes increasingly important for mobile devices with those smaller screens.</p>
<div class="ads"><object type="text/html" width="468" height="60" data="http://www.codedread.com/gads.php"></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/10/09/397/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Re-Sourcing Environment Variables in Windows</title>
		<link>http://www.codedread.com/blog/archives/2007/10/03/re-sourcing-environment-variables-in-windows/</link>
		<comments>http://www.codedread.com/blog/archives/2007/10/03/re-sourcing-environment-variables-in-windows/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 15:15:53 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/10/03/re-sourcing-environment-variables-in-windows/</guid>
		<description><![CDATA[I added some Environment Variables to my Windows operating system recently (right-click on My Computer, Properties, Advanced, Environment Variables). I was wondering if there is any way from an existing Command Prompt to pick those up. I know that all Command Prompt instances after this point will have those new environment variables defined, but I [...]]]></description>
			<content:encoded><![CDATA[<p><object class="clip" type="image/svg+xml" data="http://www.codedread.com/clipart/windows.svgz"><span/></object>I added some Environment Variables to my Windows operating system recently (right-click on My Computer, Properties, Advanced, Environment Variables).  I was wondering if there is any way from an existing Command Prompt to pick those up.  I know that all Command Prompt instances after this point will have those new environment variables defined, but I was just curious if there was an easy way to get an existing Command Prompt instance to &#8220;re-source&#8221; its environment variables.</p>
<p>On the other hand, is there any way to add a System Environment Variable to Windows from the command prompt?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/10/03/re-sourcing-environment-variables-in-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How To Create Binary Downloads For Linux Users</title>
		<link>http://www.codedread.com/blog/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/</link>
		<comments>http://www.codedread.com/blog/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 18:59:11 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/</guid>
		<description><![CDATA[Ok, so I&#8217;ve got a little game I&#8217;ve been coding in my spare time. It uses SDL and Boost so that it&#8217;s pretty cross-platform compatible. In fact, I&#8217;ve built, ran and tested the game in OpenSuse Linux. However, I&#8217;m not clear on an easy way of packaging the game up in a download for Linux [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so I&#8217;ve got a little game I&#8217;ve been coding in my spare time.  It uses <a href="http://www.libsdl.org/" title="Simple DirectMedia Layer">SDL</a> and <a href="http://www.boost.org/">Boost</a> so that it&#8217;s pretty cross-platform compatible.  In fact, I&#8217;ve built, ran and tested the game in <a href="http://www.opensuse.org/">OpenSuse Linux</a>.  However, I&#8217;m not clear on an easy way of packaging the game up in a download for Linux users.  The game has run-time dependencies on <a href="http://expat.sourceforge.net/">expat</a> as well as many SDL libraries (specifically <a href="http://www.libsdl.org/projects/SDL_ttf/">SDL_ttf</a>, <a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a>, <a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a>, <a href="http://www.ferzkopp.net/joomla/content/view/19/14/">SDL_gfx</a>, and of course, SDL itself).  I&#8217;d like something simple, akin to what I do with Windows (which is a batch file that bundles up every file needed, including DLLs, into one ZIP file for download).  Can anyone out there help me?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

