<?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>mattdorn.com &#187; tools</title>
	<atom:link href="http://www.mattdorn.com/content/tag/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattdorn.com</link>
	<description>Generously funded by Matt Dorn</description>
	<lastBuildDate>Sun, 07 Feb 2010 00:07:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Getting started with Darcs</title>
		<link>http://www.mattdorn.com/content/getting-started-with-darcs/</link>
		<comments>http://www.mattdorn.com/content/getting-started-with-darcs/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 13:53:54 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=32</guid>
		<description><![CDATA[


The following is a rudimentary set of instructions for setting up, on a Linux server, a Darcs repository which uses the most basic possible method for collaboration, in which a single administrator manually applies patches1 sent him/her via email (automatically, via the darcs send command issued by the contributor).2  Some notes on producing those [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>The following is a rudimentary set of instructions for setting up, on a Linux server, a Darcs repository which uses the most basic possible method for collaboration, in which a single administrator manually applies patches<a class="footnote-reference" href="#id3" id="id1" name="id1"><sup>1</sup></a> sent him/her via email (automatically, via the <tt class="docutils literal"><span class="pre">darcs</span> <span class="pre">send</span></tt> command issued by the contributor).<a class="footnote-reference" href="#id4" id="id2" name="id2"><sup>2</sup></a>  Some notes on producing those patches and managing the repository are also included.  Further information, including info on how to retract changes, is available in the <a class="reference" href="http://darcs.net/manual/">Darcs manual</a>.</p>
<div class="section">
<h2><a id="preparing-the-central-darcs-respository" name="preparing-the-central-darcs-respository">Preparing the central Darcs respository</a></h2>
<p>Upload your public files to where your public repo will be, and then create a repository there, recursively adding the project&#8217;s files to it:</p>
<pre class="literal-block">
cd proj_folder
darcs init
darcs add -r *
</pre>
<p>Then record a comment for the patch:</p>
<pre class="literal-block">
darcs record -a
</pre>
<p>The <tt class="docutils literal"><span class="pre">-a</span></tt> flag will apply all the patches without prompting the user to approve each one.  In the case of creating a new project, that means &quot;addfile&quot; patches (which are not really patches in the traditional sense) will be submitted for each file, along with the &quot;hunks&quot; containing the new code represented by the new files.</p>
<p>You can avoid any prompt at all by issuing the command with an extra flag and the patch name:</p>
<pre class="literal-block">
darcs record -am &quot;Project imported.&quot;
</pre>
<p>The first time you do this, you&#8217;ll be prompted to add an email address for the &quot;patch&#8217;s author&quot;, which in turn will create the <tt class="docutils literal"><span class="pre">_darcs/prefs/author</span></tt> file in your project directory.</p>
<p>Because this will be a basic repository where sent patches will be applied by the administrator, you&#8217;ll also want to manually add a file called <tt class="docutils literal"><span class="pre">email</span></tt> to that same directory (<tt class="docutils literal"><span class="pre">_darcs/prefs</span></tt>).  That file should contain a single line: the email address of the administrator who will apply the patches.  Subsequently issuing of the <tt class="docutils literal"><span class="pre">darcs</span> <span class="pre">send</span></tt> command by project contributors will use that email address as the destination for the patch.</p>
<p>You must now make the repository available to remote users.  The easiest way to do that is via the Apache Web server.  Make a directory in your Apache root called <tt class="docutils literal"><span class="pre">repos</span></tt> and in that directory, and simply symlink to the directory of your Darcs-enabled project.  You may have to check to make sure that the appropriate Apache directive allows for following of symlinks.  In my case, I also had to make the project directory (and its parent directory, in fact) world-executable.</p>
<p>The main repository is now available for retrieval by collaborators.  As the Darcs documentation states, &quot;As long as you’re running a web server and making your repo available to the world, you may as well make it easy for people to see what changes you’ve made.&quot;  There&#8217;s a CGI script that allows users to browse the patch history of your projects.  In Ubuntu Linux (Breezy), the <tt class="docutils literal"><span class="pre">darcs-server</span></tt> package handles its installation for you, installing the file <tt class="docutils literal"><span class="pre">/usr/lib/cgi-bin/darcs.cgi</span></tt>.  That works out-of-the-box with Ubuntu&#8217;s Apache install.  If you&#8217;ve installed darcs manually, you may have to run <tt class="docutils literal"><span class="pre">make</span> <span class="pre">installserver</span></tt> to do the same.  Note that you can change the name and location of your <tt class="docutils literal"><span class="pre">repos</span></tt> directory, mentioned above, in <tt class="docutils literal"><span class="pre">/etc/darcs/cgi.conf</span></tt>.</p>
</div>
<div class="section">
<h2><a id="applying-patches" name="applying-patches">Applying patches</a></h2>
<p>As patches start coming in via email from contributors, you&#8217;ll need to apply them to the central repo.</p>
<p>The most direct way to do that would to be to login via a shell to the central repository&#8217;s server, and:</p>
<pre class="literal-block">
cd /path/to/project
darcs apply /path/to/patch
</pre>
<p>Another possible option is for the project administrator to maintain a local repo in addition to the central repo, apply any patches there (also using <tt class="docutils literal"><span class="pre">darcs</span> <span class="pre">apply</span></tt>), and then use his or her shell account to &quot;push&quot; the local repo changes to the central repo server:</p>
<pre class="literal-block">
darcs push username&#64;website.com:/path/to/repos/proj_name
</pre>
</div>
<div class="section">
<h2><a id="contributing-to-the-repo" name="contributing-to-the-repo">Contributing to the repo</a></h2>
<p>If you&#8217;re a contributor who wants to work with the project for the first time you retrieve it from the Web like so:</p>
<pre class="literal-block">
darcs get http://www.website.com/repos/proj_name
</pre>
<p>Now you have a copy of the repo, a fully functional branch.</p>
<p>After working with the project, making changes, etc., you can view the changes you&#8217;ve made since your last repo update:</p>
<pre class="literal-block">
darcs whatsnew
</pre>
<p>(Add the <tt class="docutils literal"><span class="pre">--summary</span></tt> flag for less verbose output, also add the &#8211;look-for-adds flag to see any new files that have been created since your last check-in.  You&#8217;ll need to add them manually (see below).)</p>
<p>Name your patch and comment on the details of your changes:</p>
<pre class="literal-block">
darcs record -a
</pre>
<p>And send them to the central repo (in our case, via email):</p>
<pre class="literal-block">
darcs send -a
</pre>
<p>(Note the <tt class="docutils literal"><span class="pre">-a</span></tt> flag in the above two commands, indicating all patches; otherwise you&#8217;ll have to approve them one-by-one.)</p>
<p>Note that &quot;darcs send&quot; will fail if you do not have a local mail agent installed.  In that case, the best way is simply to output the patch as a file, like so:</p>
<pre class="literal-block">
darcs send -a --output=/tmp/changes.patch
</pre>
<p>Note also that if you added any files, you&#8217;ll need to explicitly add them to the repo:</p>
<pre class="literal-block">
darcs add myscript.py
</pre>
<p>If you want to subsequently pull other contributors&#8217; changes from the repo:</p>
<pre class="literal-block">
darcs pull http://www.website.com/repos/proj_name
</pre>
<p>Add the <tt class="docutils literal"><span class="pre">-a</span></tt> flag to avoid being asked to confirm on a per-patch basis.</p>
</div>
<div class="section">
<h2><a id="tagging-versions-and-getting-tagged-versions" name="tagging-versions-and-getting-tagged-versions">Tagging versions and getting tagged versions</a></h2>
<p>From the <a class="reference" href="http://darcs.net/manual/">Darcs manual</a>:</p>
<blockquote>
While pull and unpull can be used to construct different &quot;versions&quot; in a repository, it is often desirable to name speciﬁc conﬁgurations of patches so they can be identiﬁed and retrieved easily later. This is how darcs implements what is usually known as versions. The command for this is tag, and it records a tag in the current repository.</blockquote>
<p>So, to tag a version 1.0, for example, in the project directory execute:</p>
<pre class="literal-block">
darcs tag 1.0
</pre>
<p>And to get the tree for that version later:</p>
<pre class="literal-block">
darcs get --tag &quot;1.0&quot; http://www.website.com/repos/proj_name
</pre>
<table class="docutils footnote" frame="void" id="id3" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id3">[1]</a></td><td>According to Darcs&#8217; &quot;theory of patches,&quot; pretty much any change to the tree&#8211;including the adding and removing of files&#8211;is a &quot;patch.&quot;</td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id4" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2" name="id4">[2]</a></td><td>The <a class="reference" href="http://darcs.net/manual/">Darcs manual</a> describes other methods like the <tt class="docutils literal"><span class="pre">darcs</span> <span class="pre">push</span></tt> command, which requires SSH accounts on the server running Darcs for the users collborating on your project, and also includes instructions for an interesting setup involving automatic application of patches arriving via PGP-signed email messages from authorized addresses.</td></tr>
</tbody>
</table>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/getting-started-with-darcs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Offline Living</title>
		<link>http://www.mattdorn.com/content/offline-living/</link>
		<comments>http://www.mattdorn.com/content/offline-living/#comments</comments>
		<pubDate>Fri, 14 Apr 2006 13:43:37 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=31</guid>
		<description><![CDATA[


Over the past year or two I&#8217;ve become increasingly convinced that one of the keys to personal productivity is to spend as little time as possible connected to the Internet.  For some&#8211;for example, those who need to be constantly available via an instant messenging client for collaboration with remotely located coworkers&#8211;that may not be [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>Over the past year or two I&#8217;ve become increasingly convinced that one of the keys to personal productivity is to spend as little time as possible connected to the Internet.  For some&#8211;for example, those who need to be constantly available via an instant messenging client for collaboration with remotely located coworkers&#8211;that may not be practical.  Others may be so disciplined that they don&#8217;t suffer from the temptation to succumb to the manifold distractions presented by Web browing and emailing.  But for those of us who do not fall into one or both of these categories, offline living&#8211;connecting to the Internet only for say, an hour a day, or two hours a day two or three days a week, depending on your circumstances&#8211;can be a major productivity booster.</p>
<p>In a <a class="reference" href="http://www.43folders.com/2005/10/24/paul-ford-distractions">guest post</a> for the <a class="reference" href="http://www.43folders.com/2004/09/08/getting-started-with-getting-things-done/">Getting Things Done</a>-oriented personal productivity blog <a class="reference" href="http://43folders.com">43 Folders</a><a class="footnote-reference" href="#id2" id="id1" name="id1"><sup>1</sup></a>, <a class="reference" href="http://ftrain.com">Paul Ford</a> describes some of the symptoms of Internet-induced productivity loss:</p>
<blockquote>
My work requires me to patiently work through things and come up with fresh ideas. And I can honestly say that since broadband Internet came to my home a year and a half ago my stock of new, fresh, fun ideas has grown very thin. It’s just too much. My mind can’t wander, because, with anything that interests me, I can look it up on Wikipedia to gain some context. Before I know it I’ve got thirty tabs open at once in Firefox. Then new email comes in.</blockquote>
<p>Ford admits to being a &quot;weak-willed&quot; and prone to &quot;disasters, like reading Slashdot threads, or meandering through Google News, or &#8216;researching&#8217; something on Wikipedia and following a chain of fifty links.&quot;</p>
<p>These descriptions resonated with me pretty deeply, and my guess is that for most people they have a more than familiar ring.</p>
<p>Recognizing that the Internet is an indispensible tool for virtually anyone living in a modern society, &quot;knowledge worker&quot; or otherwise, how does one practically go about leading an offline life?</p>
<p>In my case, it means no Internet access at home.  I have a Wifi-enabled notebook computer which I use to connect to a wireless network at the university where I study, or at a nearby coffee shop.  I usually connect about three times a week for around 2 hours at a time, browsing the Web for news, researching projects for my graduate study, sending email, administering Web site projects, etc.  (Admittedly, my current life as a graduate student with minimal formal work responsibilities makes offline living less challenging for me than it might otherwise be, but I hope to be able to apply the principles of offline living whatever the circumstances I might find myself in in the future.)</p>
<p>Now, the key thing to recognize here is that I do <em>not</em> restrict time at the computer to these online sessions.  I spend many more hours with my computer offline reading downloaded articles, programming, reading and composing emails, etc.  The benefit of being offline is that it short-circuits such time-wasting propensities as the link-clicking excursions Ford describes and the temptation to check your email every 15 minutes.  If I find that I need access to an item I failed to download for offline browsing, I make a note to look for it the next time I&#8217;m online.</p>
<p>The following is a list of a few tools that facilitate offline living.</p>
<dl class="docutils">
<dt><a class="reference" href="http://www.getfirefox.com">Firefox</a> Web browser with <a class="reference" href="http://amb.vis.ne.jp/mozilla/scrapbook/">Scrapbook</a> Firefox extension</dt>
<dd>This is the number one necessity for anyone who aspires to successful offline living.  Scrapbook is a tool that allows you to create and maintain a library of downloaded articles (or entire sites, for that matter) for offline browsing in a very agile manner.  The ability to categorize and search that library is a secondary benefit.</dd>
<dt>Desktop email client (E.g., <a class="reference" href="http://www.mozilla.com/thunderbird/">Thunderbird</a> or Microsoft Outlook (Express))</dt>
<dd>You can&#8217;t aspire to offline living if you only do email using Hotmail or Yahoo! Web mail.  You&#8217;ll need to be able to read and compose emails offline, and send them when you connect again.</dd>
<dt>RSS feed reader</dt>
<dd>Subscribe to the RSS feeds of your favorite sites. Some will provide the full text of the article, and you&#8217;ll be able to read them offline through the reader itself.  For those that don&#8217;t, you may want to use the reader&#8217;s article flagging feature to remind yourself to download the article the next time you&#8217;re online.</dd>
<dt>Note taking/task management program</dt>
<dd>You&#8217;ll need a program that allows you to create a list of reminders for tasks (whether an article to read or some other online activity) that can only be accomplished online.  Which program you use will depend on your taste.  Scrapbook has a notes feature you may find useful.  I currently use <a class="reference" href="http://bhepple.freeshell.org/gjots/">gJots</a> for Linux, a free-form hierarchical notetaking tool.</dd>
<dt><a class="reference" href="http://www.darcs.net">Darcs</a> revision control system (for programmers)</dt>
<dd>More mainstream revision control systems like CVS or its successor Subversion require frequent online access to the central repository.  Darcs (and similarly distributed systems like Arch) is different.  From the <a class="reference" href="http://www.darcs.net/DarcsWiki/GettingStarted">Darcs Wiki</a>: &quot;You can commit changes even if you&#8217;re on the road with no access to the server. That&#8217;s because your own working directory is a repository in its own right. When you get home, you do a &#8216;darcs push&#8217; to commit to the public server.&quot;</dd>
</dl>
<p>An objection to all this might be that the very concept of &quot;offline&quot; could very well be obsolete some five or ten years into the future when the airwaves are bathed with ubiquitous free Wifi.  (Indeed an undisciplined person aspiring to apply the principles of offline living at home might discover that his or her neighbor has an open Wifi connection.)  Despite the perceived benefits of such a state of affairs, it would be unfortunate for a number of reasons.  At the very least, offline living would become more challenging, especially for the weak-willed and undisciplined.  For now, though, and for those whose work conditions allow for it, it&#8217;s a practical and effective solution for enhancing personal productivity.</p>
<table class="docutils footnote" frame="void" id="id2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id2">[1]</a></td><td>I also cited this article in an <a class="reference" href="kill-your-word-processor">earlier post</a> on the relationship of these kinds of distractions to the computer itself and to word processing.</td></tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/offline-living/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kill Your Word Processor: Popularizing Lightweight Markup</title>
		<link>http://www.mattdorn.com/content/kill-your-word-processor-popularizing-lightweight-markup/</link>
		<comments>http://www.mattdorn.com/content/kill-your-word-processor-popularizing-lightweight-markup/#comments</comments>
		<pubDate>Thu, 22 Dec 2005 15:33:17 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=25</guid>
		<description><![CDATA[


As a part of my tentatively titled Kill Your Word Processor project, I&#8217;ve been trying to think of ways to expand the audience for it, particularly because I&#8217;ve more than once been frustrated by collaborators&#8217; insistence on the use of clunky word processors and browser-based WYSIWYG editors which I&#8217;ve long since given up on.
I even [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>As a part of my tentatively titled <a class="reference" href="/content/kill-your-word-processor">Kill Your Word Processor</a> project, I&#8217;ve been trying to think of ways to expand the audience for it, particularly because I&#8217;ve more than once been frustrated by collaborators&#8217; insistence on the use of clunky word processors and browser-based WYSIWYG editors which I&#8217;ve long since given up on.</p>
<p>I even posted a <a class="reference" href="http://backpackit.com/forum/viewtopic.php?id=1044">note</a> on the <a class="reference" href="http://backpackit.com/">Backpack</a> forum, where users have been exposed to the Textile lightweight markup syntax, trying to get others&#8217; opinions on the matter, but it seems I&#8217;m preaching to the choir over there.</p>
<p>I have, however, been encouraged by what appears to be an <a class="reference" href="/content/lightweight-markup-and-web-2.0">increased interest in lightweight markup</a> that seems to be part of a broader paradigm shift led by the spread of &quot;Web 2.0.&quot;</p>
<p>But ultimately tangible results will be the most effective means of persuasion&#8211;e.g., a beautifully formatted LaTeX document converted to PDF, and a crisp, clean Web page springing from the same source; a demonstration of the tools that make such results effortless, etc.  Still, I wanted to at least lay out some of the rational arguments here, hopefully with the end result of compiling a concise list of the benefits of the moving to lightweight markup.</p>
<p>There are at least two technologies that have preceded the current wave of interest in alternatives to bloated word processing software&#8211;one rooted in the requirements of collaboration on document composition, the other in the benefits of separating the production of content from its presentation.</p>
<p>Wikis emerged on the strength of their usefulness for collaboration on documents.  The limited utility of passing Word documents back and forth as attachments via email should be apparent to most by now to anyone with enough familiarity with the Internet to know that there are tools (e.g., Wikis) that make that technique unnecessary.  Among other benefits, most Wiki software packages have built-in versioning features as well as warning features to deal with simultaneous edits.</p>
<p>Wikis in fact sprang from the &quot;Extreme Programming&quot; (XP) community and from one of the guiding principles of that community: &quot;Use the simplest thing that could possibly work.&quot;  For that reason, Wikis did in fact incorporate and promote the concept of separation of content from presentation through the use of exactly the kind of simplified markup languages that are under discussion here.  From <a class="reference" href="http://c2.com/cgi/wiki?WhyDoesntWikiDoHtml">c2.com</a>, the site of the original Wiki:</p>
<blockquote>
Wiki&#8217;s emphasis is on content, not presentation. The simple markup rules make people focus on expressing their ideas, not making them pretty. Some people have found that working in this minimal medium improves their writing.</blockquote>
<p>Unfortunately, in many cases, more technically inclined users demanded the ability to include HTML formatting by typing angle brackets which make the raw input of a document difficult to read, while the less technically inclined demanded the inclusion of word processor-esque WYSIWYG editors.  The degree of accommodation of such requests varies from package to package, but clearly not all Wiki users were convinced of the benefits of simplified markup.  This may be because those markup languages were not particularly well thought-through.</p>
<p>The concept of separating content from presentation has a more venerable heritage, however: It&#8217;s embodied in the LaTeX typesetting system, which was derived from TeX, which in turn was developed by Donald Knuth in the 1970s.  Ubergeek protestations notwithstanding, composing a document in LaTeX&#8217;s own syntax is far more painful than composing in a word processor, but the content/presentation concept is firmly embedded here, as is the benefit of being able to compose in any text editor.</p>
<p><a class="reference" href="http://www.lyx.org/">LyX</a> is an editor that takes a lot of the pain out of composing LaTeX documents.  While I don&#8217;t consider it very useful for my purposes, its documentation does make some interesting points about the importance of content/presentation separation:</p>
<blockquote>
<p>Part of the initial challenge of using LyX comes from the change in thinking that you, the user, must make. At one time, all we had for creating documents were typewriters, so we all learned certain tricks to get around their limitations. Underlining, which is little more than overstriking with the &quot;_&quot; character, became a way to emphasize text. You were forced to figure out column sizes and tab stops, and set them, before creating a table. The same applied for letters and other right justified text. Hyphenation at the end of a line required a careful eye and a lot of foresight.</p>
<p>In other words, we&#8217;ve all been trained to worry about the little details of which character goes where. Consequently, almost all word processors have this mentality. They still use tab stops for adding whitespace. You still need to worry about exactly where on the page something will appear. Emphasizing text means changing a font, similar to changing the typewriter wheel. This is the underlying philosophy of a WYSIWYG word processor: &quot;What You See Is What You Get&quot;. Unfortunately, that paradigm often results in &quot;What You See Is All You Get&quot;.</p>
<p>This is where LyX differs from an ordinary word processor. You don&#8217;t concern yourself with what character goes where. You tell LyX what you&#8217;re doing and LyX takes care of the rest, following a set of rules called a style. &#8230;</p>
<p>So, the basic idea behind LyX is: specify what you&#8217;re doing, not how to do it. Instead of &quot;What You See Is What You Get,&quot; the LyX model is &quot;What You See Is What You Mean&quot; or &quot;WYSIWYM.&quot; It&#8217;s a powerful idea that greatly simplifies the mechanics of writing documents. This is also why LyX isn&#8217;t so good for creating posters and flyers&#8212;in this case, you do want to specify exactly where everything goes, because there are no functional units like paragraphs, sections, etc.</p>
</blockquote>
<p>(To be fair, most word processors do in fact have a similar &quot;style&quot; feature to help you concentrate more on the content and impose a uniform look on your documents, but almost nobody uses it, probably because the nature of the word processor discourages its use.)</p>
<p>In spite of the fact that LyX is an application and not a markup syntax, you could easily replace the word &quot;LyX&quot; in several parts of this passage with &quot;lightweight markup&quot; and gain a firmer understanding of the benefits of the approach I&#8217;m describing.  This passage is also interesting for indicating the circumstances under which this approach is not appropriate (e.g., posters and flyers).</p>
<p>Finally, in a recent thread on David Heinemeier Hansson&#8217;s site titled &quot;<a class="reference" href="http://www.loudthinking.com/arc/000295.html">Why do people still use word processors?</a>&quot;, Hansson responds to a challenge to his rhetorical question and makes us aware of the false dichotomy between &quot;technical&quot; and &quot;nontechnical&quot; users vis-a-vis the difficulty of using a lightweight markup like Textile:</p>
<blockquote>
<p><strong>Reader</strong>: &quot;People&quot; are generally not IT professionals. It&#8217;s hard enough for some to even understand the concept of a table. It&#8217;s very hard for quite a few to understand the simple concepts of HTML. LaTeX is harder still to learn and use. &#8230; Textile is a good start and leverages some users, but probably not my mother, anyone else in her generation, or a significant part of the entire private sector.</p>
<p><strong>Hansson</strong>: I was puzzled that students attending HA.dat (computer science and business administration) would suffer to Word when there were plenty of alternatives that didn&#8217;t require a bachelor&#8217;s degree in CS. &#8230; Your mother is excused, they were not.</p>
</blockquote>
<p>I.e., there&#8217;s no reason why lightweight markup shouldn&#8217;t be appealing at least to computer literate users, even if non-computer literate can&#8217;t reasonably be expected to live without the word processor&#8217;s conceptual link back to the pre-digital world of typewriters.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/kill-your-word-processor-popularizing-lightweight-markup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lightweight markup and Web 2.0</title>
		<link>http://www.mattdorn.com/content/lightweight-markup-and-web-20/</link>
		<comments>http://www.mattdorn.com/content/lightweight-markup-and-web-20/#comments</comments>
		<pubDate>Thu, 22 Dec 2005 10:56:33 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=24</guid>
		<description><![CDATA[


In a lengthy post earlier this month, I took a first stab at describing a word processor-less approach to document composition and formatting.  A key component of that approach is the use of what has variously been referred to as &#34;humane text,&#34;  WYSIWYM (What You See Is What You Mean), and &#34;lightweight markup&#34;&#8211;formatting [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>In a <a class="reference" href="http://www.mattdorn.com/content/kill-your-word-processor">lengthy post</a> earlier this month, I took a first stab at describing a word processor-less approach to document composition and formatting.  A key component of that approach is the use of what has variously been referred to as &quot;<a class="reference" href="http://bluebones.net/news/default.asp?action=view_story&amp;story_id=94">humane text</a>,&quot;  WYSIWYM (What You See Is What You Mean), and &quot;<a class="reference" href="http://docutils.sourceforge.net/rst.html">lightweight markup</a>&quot;&#8211;formatting syntax that allows you to compose a document&#8211;in a completely human-readable manner, without angle brackets&#8211;in plain text in any text editor, browser text field, or <a class="reference" href="http://www1.alphasmart.com/products/neo.html">device</a>, and run it through a parser to turn it into a format more suitable for your audience, such as HTML or PDF.</p>
<p>Searching the Web for those who have gone before me&#8211;particularly on the matter of convincing the technologically disinclined of the benefits of weaning themselves off of their dependency on Microsoft Word (or any other word processor or even browser-based WYSIWYG editor for that matter)&#8211;I began to discern the emergence of an eerie pattern: Interest in lightweight markup seems to correspond with the rise of the so-called <a class="reference" href="http://www.oreillynet.com/lpt/a/6228">Web 2.0</a> technologies.</p>
<p>First, I (re)discovered the existence of other lightweight markup languages besides the one I&#8217;m used to working with, <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>; the principal ones are <a class="reference" href="http://daringfireball.net/projects/markdown/">Markdown</a> and <a class="reference" href="http://textism.com/tools/textile/">Textile</a>.  (I should note here that various Wiki software packages have long provided their own markup formats.)  Later, I learned that Textile (or some variation of it) is used as the default formatting syntax for <a class="reference" href="http://37signals.com/">37signals</a>&#8216; excellent personal information management tool, <a class="reference" href="http://backpackit.com/">Backpack</a>.  37signals had previously created the <a class="reference" href="http://basecamphq.com/">application</a> that made <a class="reference" href="http://rubyonrails.org/">Ruby on Rails</a> famous, and in fact employ the creator of this Web framework, <a class="reference" href="http://www.loudthinking.com/">David Heinemeier Hansson</a>.  Ruby on Rails&#8217; exploitation of the <a class="reference" href="http://www.adaptivepath.com/publications/essays/archives/000385.php">Ajax</a> technologies in large measure has marked it as a kind of technological standard bearer of Web 2.0, as suggested by the first product offering from <a class="reference" href="http://www.adaptivepath.com/">Adaptive Path</a> (a key promoter of the Web 2.0 idea), <a class="reference" href="http://www.measuremap.com/">Measure Map</a>, also created on Ruby on Rails.</p>
<p>As if that weren&#8217;t enough, the other major lightweight syntax project, Markdown, was created by Mac-oriented blogger John Gruber, who is employed by <a class="reference" href="http://www.joyent.com/">Joyent</a>, a company whose work appears heavily to leverage Ruby on Rails and Ajax, and which had previously acquired <a class="reference" href="http://www.textdrive.com/">TextDrive</a>, the company whose founder is responsible for Textile.  The circle seems complete.</p>
<p>So where does lightweight markup fit into Web 2.0 conceptually speaking?  It might be worth explaining what I mean by Web 2.0, since there seems to be no commonly accepted definition of this relatively new industry buzzword.  One intriguing definition I came across (I forget where): &quot;Web applications that don&#8217;t suck.&quot;  For those inclined to a more formal explanation, I recommend Tim O&#8217;Reilly&#8217;s (his company coined the phrase) <a class="reference" href="http://www.oreillynet.com/lpt/a/6228">treatment</a> of it, as well as Paul Graham&#8217;s <a class="reference" href="http://www.paulgraham.com/web20.html">reflections</a> (though in light of the present topic, I can&#8217;t help but think that his suggestion to create a Web-based version of Microsoft Office is misguided).</p>
<p>Aside from noting that it was made possible in part by the mainstreaming of broadband Internet access (Ajax-laden applications tend to take a long time to load otherwise), maybe the best way to gain an understanding is to list a few of the more prominent examples:</p>
<ul class="simple">
<li><a class="reference" href="http://maps.google.com/">Google Maps</a>, but especially the so-called &quot;mashups&quot; like chicagocrime.org and housingmaps.com, which use the Google Maps open API map data from a third source onto Google Maps&#8217; super-responsive, desktop app-like interface, which popularized Ajax overnight</li>
<li><a class="reference" href="http://del.icio.us/">del.icio.us</a>, the &quot;social bookmarks&quot; manager, which aggregates the &quot;tags&quot; that users apply to their favorite sites and makes the results of that tagging available to all other users, allowing them to take advantage of the network effects that redound as a result of mass use of the site.</li>
<li><a class="reference" href="http://www.wikipedia.org/">Wikipedia</a>, the collaborative encyclopedia, which until recently was open to editing by all Internet users, even without requiring registration of a username.  As Graham notes, &quot;experts have given Wikipedia middling reviews, but they miss the critical point: it&#8217;s good enough.&quot;</li>
</ul>
<p>One of the common threads of these applications is their embrace of openness.  In many cases this means using Open Source software and participating in Open Source projects, in recognition of the effectiveness of that approach in creating quality software in a short period of time.  But perhaps more importantly it means open standards, including Web standards like XHTML and CSS, as well various XML dialects for sharing data between applications via Web services.</p>
<p>It is probably this fundamental quality of openness which has motivated the interest in lightweight markup among the Web 2.0 cognoscenti.  Plain text is among the most platform-neutral technologies imaginable, requiring no special software to use, no special browser plugins, very minimal hardware requirements.  It&#8217;s agile; when used with appropriate parsers, input can be repurposed for any number of uses, &quot;decoupling&quot; it, so to speak, from dependency on any particular application, just as Web 2.0 technologies tend to do with their functionality.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/lightweight-markup-and-web-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kill Your Word Processor</title>
		<link>http://www.mattdorn.com/content/kill-your-word-processor/</link>
		<comments>http://www.mattdorn.com/content/kill-your-word-processor/#comments</comments>
		<pubDate>Wed, 07 Dec 2005 12:42:11 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=23</guid>
		<description><![CDATA[


There once was a time when I regarded the word processor as a milestone in the evolution of publishing technology that began with Gutenberg&#8217;s printing press. I was astonished at the results that could be achieved when using Microsoft Word in conjunction with TrueType fonts and a low-cost HP inkjet printer.  For a few [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>There once was a time when I regarded the word processor as a milestone in the evolution of publishing technology that began with Gutenberg&#8217;s printing press. I was astonished at the results that could be achieved when using Microsoft Word in conjunction with TrueType fonts and a low-cost HP inkjet printer.  For a few hundred dollars, virtually anyone could quickly produce professional-looking documents that just a few years earlier required expensive typesetting equipment and human resources skilled in its use.  Unaware of the coming Web publishing revolution and the subsequent importance of online documents, I believed that surely the word processor represented a quantum leap not only in the history of publishing, but also made a substantial contribution to the empowerment of the individual.</p>
<p>Today, I have a contempt for all word processors that borders on dementia.</p>
<p>Like most of the company&#8217;s products, Microsoft Office voraciously devours disk space and memory.  Here in Argentina, where I often rely on older computers in cybercafes and the university where I study, a machine with 128 MB of RAM running Windows XP and Microsoft Office 2003 can easily choke on any document you try to feed it, thrashing for minutes at a time on simple actions like sending the document to the printer.  But the problem extends beyond Microsoft bloatware&#8211;even on the iron-clad <a class="reference" href="http://www.ubuntulinux.org/">Ubuntu Linux</a> system I&#8217;ve got running on my IBM ThinkPad T23, every time I try to access the help system in <a class="reference" href="http://www.openoffice.org">OpenOffice</a> (to figure out why it wasn&#8217;t properly encoding accented Spanish characters from an imported Microsoft Word document) the program freezes my machine so completely that the only way to restart it is to pull the plug.  Without denigrating the achievement of OpenOffice as a high-quality <a class="reference" href="http://www.fsf.org">Free Software</a> office suite, this is the most severe crash issue (if not one of only two or three such issues, period) I&#8217;ve experienced in seven years of using Linux.  Even when OpenOffice functions properly, it is far from the lightest application on my desktop in terms of load times and memory consumption.</p>
<p>To question the utility of the vast majority of the features of the contemporary word processor is nothing new.  It was once (and perhaps still is) a commonplace to state that 90% (or some such proportion) of users of Microsoft Word use only 10% of the program&#8217;s features.  Without denying that some users really need such features as mail merge, embedded spreadsheets, etc., I propose taking that line of thinking to a logical near-extreme.  The 90% of users who use only 10% of the features of a word processor can live without a word processor entirely.</p>
<div class="section">
<h2><a id="the-tools" name="the-tools">The Tools</a></h2>
<p>I suggest that all the average user really needs is a text editor (which saves documents in plain text rather than some proprietary and/or arcane format) that can fulfill the following functions<a class="footnote-reference" href="#id2" id="id1" name="id1"><sup>1</sup></a> :</p>
<ul class="simple">
<li>Copy/cut/paste</li>
<li>Undo</li>
<li>Find and replace</li>
<li>Spell check</li>
</ul>
<p>These functions are handled by the lightweight text editor I&#8217;m using to compose this document, <a class="reference" href="http://www.gnome.org/projects/gedit/">gedit</a> for the <a class="reference" href="http://www.gnome.org">GNOME Desktop</a> for Linux.</p>
<p>Some ancillary functions, such as image processing, thesaurus, etc. can and should be fulfilled by separate programs that specialize in these features and therefore can do a much better job of them.</p>
<p>But what about font sizes and styles, page numbering, footnotes, indentation, text alignment, etc., etc.&#8211;features that do in fact comprise the 10% of features that almost all users need?</p>
<p>Here it&#8217;s necessary to draw a crucial distinction between what has become widely known as WYSIWYG (What You See Is What You Get) document composition and what has subsequently been described as WYSIWYM (What You See Is What You Mean), a semantic approach that recommends the document author concentrate on the content of the document without considering the presentation of that content.  When composition is complete, the presentation of that document can be outsourced to another program.  In my current way of thinking, that other program is <a class="reference" href="http://www.latex-project.org/intro.html">LaTeX</a>, a document typesetting system that was originally developed for authors of mathematics- and science-related documents, but which can be useful for any type of document.</p>
<p>What I&#8217;m doing here is separating the process of composition from the typesetting of the document, the latter of which I believe becomes a distraction in the composition process.  What if in your super-simple text editor, you could easily indicate, say, using a system of easy-to-understand symbols, or &quot;markup&quot; in the relevant parlance, to indicate where your footnotes are, where your emphasized text is, etc.  There exist several such systems, but the one that I believe is the most appropriate for the average user is <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> (reST), about which I&#8217;ve <a class="reference" href="/content/the-pleasure-of-the-restructured-text/">briefly written</a> in the pages of this site. As for the matter of page numbering, line spacing, etc. in the final document, that would be left to the typesetting system (LaTeX, mentioned above), which would permit you to choose a professionally developed document style which performs those functions according to a standard appropriate to your field of work.  The <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> project (originally project developed to facilitate documentation of the Python programming language) provides reST conversion to LaTeX, which in turn provides conversion utilities to more common document formats like PDF.  You could choose to install this system on your own computer, or if a service which provides this functionality were available via a Web site (which I currently plan to develop), you could simply submit your text document for processing via your Web browser and receive a PDF or HTML document in return.</p>
<p>Your source document&#8211;the document to which you would make subsequent revisions&#8211;would continue to be the fully legible plain text document which uses the reST markup, and which can thus be continue to be edited in virtually any program capable of dealing with plain text.</p>
</div>
<div class="section">
<h2><a id="other-motivations" name="other-motivations">Other Motivations</a></h2>
<p>Rather than going into further technical detail at this point, I&#8217;d like to point out some deeper motivations for wishing to see the word processor consigned to the dustbin of history (or at least for wanting to see it forced to occupy a marginal space more proportional with those 10% of users who need its advanced functionality).  The information technology revolution, and in particular ubiquitous Internet access, has resulted in a capacity for distraction that undermines the productivity gains promised by IT as well as the utility of the broad information access it provides.  The classic dilemma of how to efficiently turn information into knowledge has never been so acute.</p>
<p>Paul Ford, a Harper&#8217;s editor, Web developer, and NPR commentator, has published an extremely <a class="reference" href="http://www.43folders.com/2005/10/24/paul-ford-distractions">insightful article</a> which explores these themes.  In it he refers to the measures he has taken to deal with this problem as &quot;Amish computing&quot;:</p>
<blockquote>
&#8230; I can honestly say that since broadband Internet came to my home a year and a half ago my stock of new, fresh, fun ideas has grown very thin. It&#8217;s just too much. My mind can&#8217;t wander, because, with anything that interests me, I can look it up on Wikipedia to gain some context. Before I know it I&#8217;ve got thirty tabs open at once in Firefox. Then new email comes in. &#8230; I&#8217;ve started using an <a class="reference" href="http://www1.alphasmart.com/products/neo.html">Alphasmart Neo</a> to draft text, and WordPerfect for DOS to edit and revise. My average daily word count has doubled as a result, and my stock of fresh ideas seems to be replenishing.</blockquote>
<p>Ford subsequently extended these thoughts to a general audience in a recent <a class="reference" href="http://www.npr.org/templates/story/story.php?storyId=5025301">NPR commentary</a>, suggesting the ubiquitousness of the problem.</p>
<p>What&#8217;s interesting about Ford&#8217;s analysis for our purposes here is not so much the distraction potential inherent in the Internet, but in the computer&#8211;the knowledge worker&#8217;s tool&#8211;itself.  Ford&#8217;s solution involves composing text on a device away from his computer, and reverting to a very early version of a popular word processor program which not only has a reduced feature set, but which by virtue of being a DOS program restricts the opportunity for distraction by other items on his desktop (i.e., there is no &quot;desktop&quot; in DOS).  Only incidentally does that desktop include a Web browser.  Once a painless way of typesetting a document in accordance with what I&#8217;ve described above is made available, my suggestion to Ford will be that he do away with WordPerfect entirely and compose his documents in reST directly on his Alphasmart Neo.</p>
</div>
<div class="section">
<h2><a id="advantages" name="advantages">Advantages</a></h2>
<p>Leaving aside my own preference for parsimony regarding computer hardware resources, I&#8217;d like to summarize some of the chief advantages to the approach discussed above:</p>
<ul class="simple">
<li>Documents are legible by any text editor and thus fundamentally independent of any single program</li>
<li>The WYSIWYM (What You See Is What You Mean) approach helps the user cut through the distractions inherent in the use of information technology tools and resources.</li>
</ul>
</div>
<div class="section">
<h2><a id="challenges" name="challenges">Challenges</a></h2>
<p>A few potential challenges to the perspective outlined in this document might include:</p>
<ul class="simple">
<li>To what extent am I artifically assuming a scarcity of hardware resources in criticizing bloatware?  I.e., in 10 years time, might not every consumer electronic device have enough muscle to run even the most bloated word processor program?</li>
<li>Collaboration: If your document composition process includes a lot of collaboration, how practical is it to convince your collaborators of the legitimacy of this argument, wean them off their dependency on Microsoft Word, and to get them to learn reST, which while basically simple, does have some quirks which will no doubt annoy many users?</li>
<li>Am I drawing an artificial distinction between word processors and text editors?  Is a text editor not just a lightweight word processor?</li>
</ul>
<table class="docutils footnote" frame="void" id="id2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id2">[1]</a></td><td>This list may expand as I experiment with weaning myself off of word processors entirely, but I&#8217;m convinced that the list will never reach the point of requiring anything more than a lightweight text editor like Notepad for Windows.</td></tr>
</tbody>
</table>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/kill-your-word-processor/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Pleasure of the (reStructured) Text</title>
		<link>http://www.mattdorn.com/content/the-pleasure-of-the-restructured-text/</link>
		<comments>http://www.mattdorn.com/content/the-pleasure-of-the-restructured-text/#comments</comments>
		<pubDate>Mon, 19 Sep 2005 19:43:49 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[mattdorn.com]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=18</guid>
		<description><![CDATA[


Every item that you read on this site was composed not by tediously applying HTML angle brackets to delineate the paragraphs appropriately or create hyperlinks, nor by selecting elements and clicking icons using a &#34;WYSIWYG&#34; editor that may or may not generate valid XHTML, but by using a plain old text editor (e.g., Notepad for [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>Every item that you read on this site was composed not by tediously applying HTML angle brackets to delineate the paragraphs appropriately or create hyperlinks, nor by selecting elements and clicking icons using a &quot;WYSIWYG&quot; editor that may or may not generate <a class="reference" href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.mattdorn.com%2Fcontent%2Fthe-pleasure-of-the-restructured-text&amp;charset=%28detect+automatically%29&amp;doctype=Inline">valid XHTML</a>, but by using a plain old text editor (e.g., Notepad for Windows users) and a free text standard called <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> (RST).  <a class="reference" href="http://www.plone.org">Plone</a>, the Content Management System (CMS) on which this site runs, has RST to HTML capability out-of-the-box, but it wouldn&#8217;t be difficult to include such functionality in any CMS as at all.</p>
<p>The short version: RST enables you to produce a 100% human-readable plain text document which is totally free of arcane markup, but which provides a set of features for determining the structure of a document as well as elements for applying formatting such as <strong>boldface</strong> and <em>italics</em> and tagging items with hyperlinks.  reStructured Text emerged from the documentation efforts of the team working on the <a class="reference" href="http://www.python.org/">Python</a>  programming language&#8211;the idea was to be able to provide fully readable inline documentation for programmers while maintaining the ability to use the exact same text for producing pretty, printable manuals, or documentation in any other format that happens to be useful.  But its utility is in no way restricted to technical projects.  I&#8217;m planning to use it, in conjunction with a set of tools that I&#8217;m currently researching (notably <a class="reference" href="http://www.latex-project.org/">LaTeX</a> and related programs), to compose virtually everything I write, which currently consists mainly of papers for classes in international relations.</p>
<p>So what are the advantages?</p>
<p>First of all, reStructuredText allows you concentrate on the content and structure of your document rather than its final appearance. A related advantage follows from this: As suggested by the motivations, mentioned above, of the Python team, when used with the right tools, a reStructuredText document can serve as a single source: for an HTML page, a nicely formatted and highly readable PDF file, an article in a printed newsletter, etc.  All derive from your one lone RST document.  If you want to make a change, you only need to make the change to the RST source and you can automatically regenerate the other documents.</p>
<p>Additionally, programs that convert RST to other formats, such as HTML for Web pages, typically include parsers to validate your RST.  In the case of the HTML converter, if you care about things such as <a class="reference" href="http://www.webstandards.org/">Web Standards</a>, this helps ensure that your documents will be valid XHTML when the conversion is performed.  Indeed, the RST concept shares much in common with the separation of content from presentation that derives from the application of Web standards with XHTML and CSS.</p>
<p>Some other advantages may be more personal&#8211;speed of composition, for example.  It goes without saying that composing raw HTML markup will slow down anyone&#8217;s composition considerably. But I personally find word processor-like WYSIWYG interfaces to be tedious as well&#8211;selecting text and clicking icons can end up being more time-consuming than simply sticking with the keyboard during the composition process.  Not to mention the fact that you can compose your RST documents virtually anywhere where you have a plain text editor available&#8211;the same won&#8217;t always be the case if you&#8217;re reliant on a particular WYSIWYG editor.</p>
<p>Finally, I can&#8217;t help but feel that the philosophy behind reStructuredText contributes, in some way, to informational hygiene in a world made sloppy by the mindless dumping of content onto the global net.  It&#8217;s just a hunch&#8211;I may have to take some time to further explore this notion in the pages of this site.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/the-pleasure-of-the-restructured-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experimenting with the del.icio.us API</title>
		<link>http://www.mattdorn.com/content/experimenting-with-the-delicious-api/</link>
		<comments>http://www.mattdorn.com/content/experimenting-with-the-delicious-api/#comments</comments>
		<pubDate>Sat, 11 Jun 2005 14:21:20 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=7</guid>
		<description><![CDATA[


The links you see in the sidebar of the home page of this Weblog are generated by a Python script which is executed nightly and collects any links I&#8217;ve posted to my del.icio.us account that have been tagged with an information technology-related keyword. del.icio.us permits this kind of keyword aggregation via a relatively new feature [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>The links you see in the sidebar of the home page of this Weblog are generated by a Python script which is executed nightly and collects any links I&#8217;ve posted to my del.icio.us account that have been tagged with an information technology-related keyword. del.icio.us permits this kind of keyword aggregation via a relatively new feature called &quot;bundles.&quot; Unfortunately, there&#8217;s currently no way to get del.icio.us to show you all the most recent posts for a particular bundle. So I access the del.icio.us Web API via a delicious.py that I&#8217;ve modified to be able to work with these bundles, plus my own script:</p>
<p>(NOTE: MISSING CODE HERE) Inline code samples discontinued until I can fix the CSS for the HTML &quot;pre&quot; tag not to expand the window in I.E.).</p>
<p>As you can see from the comments (if not the code itself), it&#8217;s a little ugly right now, but it works. Looking forward to sharpening my Python skills by working with del.icio.us and other Web APIs.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/experimenting-with-the-delicious-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox ScrapBook extension</title>
		<link>http://www.mattdorn.com/content/firefox-scrapbook-extension/</link>
		<comments>http://www.mattdorn.com/content/firefox-scrapbook-extension/#comments</comments>
		<pubDate>Wed, 18 May 2005 13:48:22 +0000</pubDate>
		<dc:creator>mdorn</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://67.207.132.145/wordpress/?p=5</guid>
		<description><![CDATA[


I&#8217;ve been waiting for something like the ScrapBook Firefox extension ever since I started using a Web browser. ScrapBook enables you to save a snapshot of any Web page, or selection of a Web page, as easily as you would bookmark it, and then allows you to highlight passages, and provide your own annotations.
With an [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>I&#8217;ve been waiting for something like the <a class="reference" href="http://amb.vis.ne.jp/mozilla/scrapbook">ScrapBook Firefox extension</a> ever since I started using a Web browser. ScrapBook enables you to save a snapshot of any Web page, or selection of a Web page, as easily as you would bookmark it, and then allows you to highlight passages, and provide your own annotations.</p>
<p>With an agile and intuitive interface, ScrapBook is yet another astonishing testimony to the superiority of Firefox as a Web browsing platform. For the first time in my life, I&#8217;m willing to put aside my nostaglic attachment to dead-tree books to consider how great it would be if everything I wanted to read were online.</p>
<p>The only problem I see is: What if I want to share my ScrapBook online? Or don&#8217;t want it to be restricted to one local machine? Is there any way I could synchronize it with a remote server?</p>
<p>Some time ago, driven by the same need to annotate Web pages that ScrapBook seeks to address, I experimented with a <a class="reference" href="http://www.zope.org/Members/Crouton/ZAnnot">Zope-based annotation server</a> project, and the annotation features of the W3C&#8217;s experimental multipurpose Web client, <a class="reference" href="http://www.w3.org/Amaya/User/Annotations.html">Amaya</a>. But the way the annotation server worked is that it would save the &quot;coordinates&quot; of your annotations for a particular page in a database (local or on a trusted server), while referencing the original URL of the document. The problem was that many of the items that I wanted to annotate were items from semi-free publications like the New York Times or the Economist, where I could never be sure for how long I would have access to the original document.</p>
<p>Additionally, if these publications were to change their site design, the &quot;coordinates&quot; of my annotations could easily be lost.</p>
<p>I toyed with the idea of writing some sort of product to accompany the annotation server that would make a snapshot of the page so that perpetual access would be ensured.</p>
<p>But currently I live a somewhat less-than-wired existence, carrying my laptop from place to place in Argentina, where my access to the Internet in general, let alone broadband coverage, is somewhat limited. For working with my collected documents, it&#8217;s ideal to have them available offline.</p>
<p>So for now, ScrapBook fits the bill far better than an annotation server does.</p>
<p>But it seems that there&#8217;s an opportunity here for extending this excellent product.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattdorn.com/content/firefox-scrapbook-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
