<?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>Excursus &#187; Text Editor</title>
	<atom:link href="http://markelikalderon.com/category/text-editor/feed/" rel="self" type="application/rss+xml" />
	<link>http://markelikalderon.com</link>
	<description>Philosophy and Text</description>
	<lastBuildDate>Tue, 27 Dec 2011 23:01:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>RIP Project Drawer</title>
		<link>http://markelikalderon.com/2011/12/27/rip-project-drawer/</link>
		<comments>http://markelikalderon.com/2011/12/27/rip-project-drawer/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 22:42:35 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=733</guid>
		<description><![CDATA[Christmas came early for TextMate enthusiasts with the alpha release of TM2. However, along with the glad tidings, the much reviled project drawer has passed. The drawer, according to Kirk McElhearn, was a badly designed UI element. An optional display of additional information, the drawer extended out from the main window. McElhearn was not alone [...]]]></description>
			<content:encoded><![CDATA[<p>Christmas came early for TextMate enthusiasts with the alpha release of <a href="http://blog.macromates.com/2011/textmate-2-0-alpha/">TM2</a>. However, along with the glad tidings, the much reviled project drawer has passed.</p>

<p>The drawer, according to <a href="http://www.mcelhearn.com/2006/07/29/the-mac-os-x-drawer-a-badly-designed-user-interface-element/">Kirk McElhearn</a>, was a badly designed UI element. An optional display of additional information, the drawer extended out from the main window. McElhearn was not alone in despising the drawer, and it is clear that it is a UI element whose days are numbered. However, the absence of the drawer from TM2 has made clear to me just how good it was, if used appropriately. Indeed, TextMate&#8217;s drawer was IMHO one of the drawer&#8217;s finest implementations.</p>

<p>The project drawer allowed easy navigation through a directory of files. It has been replaced by a file browser sidebar. In some ways, the sidebar is more attractive than the drawer in that it has the same height as the main window. However, toggling the sidebar is, in my opinion, a disaster, in that it varies the size of the text window. When you show the sidebar, the application&#8217;s window  remains fixed, but the text displayed within that window shrinks to accommodate it. Moreover, if you are working with a LaTeX document, or indeed any document that involves soft-wrapped long lines, then the text will shift to accommodate the presence of the sidebar. This means that a target in the text cannot be seen at a glance but must be re-identified. This is just the kind of cognitive drag that I do not want from my tools. Since the drawer extended out from the main window, the text in that window would remain fixed. That was what was so great about it.</p>

<p>Ironically, what I like about the drawer and despise about the sidebar was the basis of one of McElhearn&#8217;s complaints:</p>

<blockquote>
  <p>As I type this article in BBEdit, I have a document list in the drawer to the right of the main window. But if I close the drawer and expand the window to fill my screen, then click the drawer button, the drawer opens, but the main window doesn’t change size; I cannot see the drawer unless I resize the window. This is very bad. It is not an isolated case either: other applications have the same behavior, and still others don’t even display the drawer if the window is set to full screen. In such cases, you have to first resize the main window then display the drawer.</p>
</blockquote>

<p>The passage, however, contains within it the key to our differences. Specifically, McElhearn has in mind a specific use case, one where the application&#8217;s window takes up the full screen. If the application&#8217;s window is full screen, then anything extending out from that window will be hidden from view. But not everyone uses their text editor in full screen mode. Indeed most TeXnicians prefer to have the editor on one half of the screen and the PDF output on the other.</p>

<p>I know, I know, with the iOSsification of Lion, full screen is in. But this was written in 2006 where the dominant Mac paradigm was multiple windows none of which were full screen. Full screen was for Windows. (I must confess to being a little puzzled by the current enthusiasm for all things full screen, I believe that there is a good productivity argument for the old Mac paradigm, but that is another post.)</p>

<p>Even so, the behavior of toggling the navigation sidebar is so disruptive, it would be best just to leave it open. That would be OK working on an iMac, but much less useful on a laptop where screen real estate needs to be managed.</p>

<p>This is not a plea for the drawer&#8217;s return. As a UI element, it has had its run. While I feel it did its job well (even if inconvenient in full screen mode), the drawer is dead. Long live the sidebar.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2011/12/27/rip-project-drawer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gist-ing from TextMate</title>
		<link>http://markelikalderon.com/2008/11/26/gist-ing-from-textmate/</link>
		<comments>http://markelikalderon.com/2008/11/26/gist-ing-from-textmate/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 17:40:58 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=584</guid>
		<description><![CDATA[Well that didn&#8217;t take long. In an earlier post, I remarked that with command line support for Gist, the git powered pastebin service, TextMate support for Gist was now within reach. There is now a gist command in the GitHub bundle. You can either post private or public gists. The gist that figured in the [...]]]></description>
			<content:encoded><![CDATA[<p>Well <a href="http://github.com/blog/233-gist-support-for-textmate">that</a> didn&#8217;t take long. In an earlier <a href="http://markelikalderon.com/blog/2008/10/11/command-line-gist/">post</a>, I remarked that with command line support for Gist, the git powered pastebin service, <a href="http://macromates.com/">TextMate</a> support for Gist was now within reach. There is now a gist command in the <a href="http://github.com/drnic/github-tmbundle/tree/master">GitHub bundle</a>. You can either post private or public gists. The gist that figured in the previous <a href="http://markelikalderon.com/blog/2008/11/23/latex-todo/">post</a> was posted from within TextMate.</p>

<p>To install the GitHub bundle do the following:</p>

<pre class="textmate-source"><span class="source source_shell">$ sudo gem install git
$ cd <span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/<span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>Library/Application Support/TextMate/Bundles/<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>
$ git clone git://github.com/drnic/github-tmbundle.git <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>GitHub.tmbundle<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>
$ osascript -e <span class="string string_quoted string_quoted_single string_quoted_single_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">'</span>tell app "TextMate" to reload bundles<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">'</span></span></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/11/26/gist-ing-from-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netvibes and Philosophy Feeds</title>
		<link>http://markelikalderon.com/2008/08/28/netvibes-and-philosophy-feeds/</link>
		<comments>http://markelikalderon.com/2008/08/28/netvibes-and-philosophy-feeds/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 21:44:01 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[BBEdit]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/08/28/netvibes-and-philosophy-feeds/</guid>
		<description><![CDATA[Joachim Horvath posts on how to use Netvibes, an online news reader, to share philosophy feeds. Well done, Joachim!]]></description>
			<content:encoded><![CDATA[<p>Joachim Horvath <a href="http://das-ich-denke.blogspot.com/2008/08/philosophy-feeds-content-sharing.html">posts</a> on how to use <a href="http://www.netvibes.com/" title="Netvibes">Netvibes</a>, an online news reader, to share philosophy feeds. Well done, Joachim!</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/08/28/netvibes-and-philosophy-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BBEdit 9</title>
		<link>http://markelikalderon.com/2008/08/28/bbedit-9/</link>
		<comments>http://markelikalderon.com/2008/08/28/bbedit-9/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 19:36:11 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[BBEdit]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/08/28/bbedit-9/</guid>
		<description><![CDATA[BBEdit 9 has just been released. Too many features to list here, but this caught my eye: BBEdit now handles the (badly chosen, IMO) “txmt:” URL scheme. This allows properly formed “txmt:” URLs generated by the Ruby On Rails “FootNotes” plug-in (and some others) to open files in BBEdit and (optionally) select a requested line [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://barebones.com/products/bbedit/">BBEdit 9</a> has just been released. Too many <a href="">features</a> to list here, but this caught my eye:</p>

<blockquote>
  <p>BBEdit now handles the (badly chosen, IMO) “txmt:” URL scheme. This allows properly formed “txmt:” URLs generated by the Ruby On Rails “FootNotes” plug-in (and some others) to open files in BBEdit and (optionally) select a requested line and column. (NB: If the system doesn’t correctly recognize BBEdit as an allowable handler for such URLs, RCDefaultApp is a good tool for adjusting the bindings.)</p>
</blockquote>

<p>Typed through gritted teeth no doubt. Though you have to give Rich credit&#8212;it&#8217;s real dedication to his users to swallow his pride and adopt an emerging standard instigated by a competitor. From the <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a> manual:</p>

<blockquote>
  <p>The txmt URL scheme allows you to open files in TextMate via hyperlinks found for example in HTML documents (anchors). These can refer to local files which can be useful when:</p>
  
  <p>Using commands with HTML output that indicate errors/warnings with the current document, or refer to other documents in your project.</p>
  
  <p>If you are generating a set of web-pages from simpler (text) files you can have these link to the original text files, so that when you are inspecting the generated result (in a browser) you can quickly edit the source of each page by following the txmt:-link.</p>
  
  <p>The URL scheme is txmt: and currently has one command named open. This command takes up to three arguments:</p>
  
  <ul>
  <li>url — the (file) URL to open (e.g. url=file://~/.bash_profile), if this is left out, the current document is targeted.</li>
  <li>line — the line on which the caret should be placed after opening the file (e.g. line=11).</li>
  <li>column — the column on which the caret should be placed after opening the file (e.g. column=3).</li>
  </ul>
</blockquote>

<p>Gloating done, the scratch pad feature also looks interesting. So if you are still using the text editor that doesn&#8217;t suck&trade;, you should check out the new release.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/08/28/bbedit-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portent</title>
		<link>http://markelikalderon.com/2008/08/20/portent/</link>
		<comments>http://markelikalderon.com/2008/08/20/portent/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 23:58:39 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=505</guid>
		<description><![CDATA[A harbinger of TM2?]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://games.slashdot.org/article.pl?sid=08/08/19/0019255&amp;from=rss">harbinger</a> of TM2?</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/08/20/portent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clear Pond</title>
		<link>http://markelikalderon.com/2008/08/03/clear-pond/</link>
		<comments>http://markelikalderon.com/2008/08/03/clear-pond/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 21:42:22 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=487</guid>
		<description><![CDATA[A quick TextMate theme I knocked off since I need a light theme but hated the available white themes. It is hosted at GitHub, so git users can get theme with git clone git://github.com/PhilGeek/clear-pond.git. Other wise, it can be downloaded here.]]></description>
			<content:encoded><![CDATA[<p>A quick TextMate theme I knocked off since I need a light theme but hated the available white themes.</p>

<p><a href="http://www.flickr.com/photos/philgeek/2728925809/" title="Clear Pond by PhilGeek23, on Flickr"><img src="http://farm4.static.flickr.com/3209/2728925809_36a9d77401.jpg" width="344" height="500" alt="Clear Pond" /></a></p>

<p>It is hosted at <a href="http://github.com">GitHub</a>, so git users can get theme with <code>git clone git://github.com/PhilGeek/clear-pond.git</code>. Other wise, it can be downloaded <a href="http://github.com/PhilGeek/clear-pond/tarball/master">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/08/03/clear-pond/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aquamacs 1.4</title>
		<link>http://markelikalderon.com/2008/06/20/aquamacs-14/</link>
		<comments>http://markelikalderon.com/2008/06/20/aquamacs-14/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 22:54:49 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/20/aquamacs-14/</guid>
		<description><![CDATA[Version 1.4 of Aquamacs, the Aqua-native build of Emacs, has just been released, and has a number of interesting features making it an even better OS X citizen: New multi-tabbed interface similar to Safari. This makes switching between open files faster and more intuitive. Full screen editing now available. This allows you to focus just [...]]]></description>
			<content:encoded><![CDATA[<p>Version 1.4 of <a href="http://aquamacs.org/" title="Aquamacs: Emacs for Mac OS X">Aquamacs</a>, the Aqua-native build of <a href="http://www.gnu.org/software/emacs/" title="GNU Emacs - GNU Project - Free Software Foundation
(FSF)">Emacs</a>, has just been released, and has a number of interesting features making it an even better OS X citizen:</p>

<ul>
<li>New multi-tabbed interface similar to Safari. This makes switching between open files faster and more intuitive.</li>
<li>Full screen editing now available. This allows you to focus just on editing your files without distraction from other applications.</li>
<li>Aquamacs no longer creates backup files by default: less clutter in your files.</li>
<li>Now uses standard &#8220;unified&#8221; toolbar, with improved icons, for greater ease-of-use.</li>
<li>Improved LaTeX support.</li>
<li>Numerous improvements in text search.</li>
<li>Can check for program updates from the application menu.</li>
</ul>

<p>The <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a> improvements include the inclusion of AUCTeX 11.85, better error reporting and improved syntax highlighting, and improved icons. Aquamacs 1.4 can be downloaded <a href="http://aquamacs.org/download.shtml">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/20/aquamacs-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Duke Nukem Forever and TextMate 2</title>
		<link>http://markelikalderon.com/2008/06/16/duke-nukem-forever-and-textmate-2/</link>
		<comments>http://markelikalderon.com/2008/06/16/duke-nukem-forever-and-textmate-2/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 12:30:08 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/16/duke-nukem-forever-and-textmate-2/</guid>
		<description><![CDATA[From Crackle: Jace Hall, Ep 1: DUKE NUKEM FOREVER - SNEAK PEEK! When can we expect TextMate 2 to be released? Here is what Alan Odgaard has to say in the TextMate 2 FAQ: [&#8230;] there is no ETA, and I won’t speak about timing before I am certain I can provide an (alpha/beta) release [...]]]></description>
			<content:encoded><![CDATA[<p><embed src="http://crackle.com/p/Jace_Hall/Jace_Hall_Ep_1_DUKE_NUKEM_FOREVER_-_SNEAK_PEEK.swf" quality="high" bgcolor="#869ca7" width="400" height="325" name="mtgPlayer" align="middle" play="true" loop="false" allowFullScreen="true" flashvars="id=2298717&#038;mu=0&#038;ap=0&#038;ml=o%3D12%26fpl%3D297045%26fx%3D" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"> </embed><br /></p>

<div style="font-family:"Trebuchet MS";font-size:12px;width:400px;"> From Crackle: <a href="http://crackle.com/c/Jace_Hall/Jace_Hall_Ep_1_DUKE_NUKEM_FOREVER_-_SNEAK_PEEK/2298717/#ml=o%3D12%26fpl%3D297045%26fx%3D" title="Jace Hall, Ep 1: DUKE NUKEM FOREVER - SNEAK PEEK!" style="text-decoration:none;font-weight:bold;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;">Jace Hall, Ep 1: DUKE NUKEM FOREVER - SNEAK PEEK!</a></div>

<p><img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/CIMP/bT*xJmx*PTEyMTM2MTgzODk3NDImcHQ9MTIxMzYxODM5NzQ4MiZwPTEyMjE*MSZkPSZuPSZnPTI=.jpg" /></p>

<p>When can we expect TextMate 2 to be released? Here is what Alan Odgaard has to say in the <a href="http://wiki.macromates.com/FAQ/TextMate2">TextMate 2 FAQ</a>:</p>

<blockquote>
  <p>[&#8230;] there is no ETA, and I won’t speak about timing before I am certain I can provide an (alpha/beta) release within the next month &#8211; because really, the more I say, the more people ask, and having to answer the same questions over and over again is (for me) mentally exhausting.
  So put TM 2.0 up there with Duke Nukem Forever and be positively surprised the day it is released :)</p>
</blockquote>

<p>The release of footage of Duke Nukem Forever has prompted the following query on irc:</p>

<blockquote>
  <p><strong>ph^</strong>: allan: Now that Duke Nukem forever has released a new gameplay-video … :p</p>
</blockquote>

<p>Well, no official word from Allan yet, but Peter Haza (aka ph^) shares some insights into the state of TextMate 2 development in this interesting <a href="http://blog.peterhaza.no/textmate2-what-we-can-expect-to-come/">post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/16/duke-nukem-forever-and-textmate-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metablogging: Syntax Coloring</title>
		<link>http://markelikalderon.com/2008/05/27/metablogging-syntax-coloring/</link>
		<comments>http://markelikalderon.com/2008/05/27/metablogging-syntax-coloring/#comments</comments>
		<pubDate>Tue, 27 May 2008 19:06:19 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=401</guid>
		<description><![CDATA[As I wrote in a previous post: Syntax coloring is a feature of some text editors that displays different parts of the text in different colors depending upon the logical category of the text. This makes it easier to write structured texts whether these be code or markup. &#8230; Syntax coloring makes the logical structure [...]]]></description>
			<content:encoded><![CDATA[<p>As I wrote in a previous <a href="http://markelikalderon.com/blog/2008/01/03/textmate-themes/">post</a>:</p>

<blockquote>
  <p>Syntax coloring is a feature of some text editors that displays different parts of the text in different colors depending upon the logical category of the text. This makes it easier to write structured texts whether these be code or markup. &#8230; Syntax coloring makes the logical structure of your document visually apparent and hence the document easier to read.</p>
</blockquote>

<p>Given its cognitive utility, it would be nice to use syntax coloring with the occasional code snippets displayed here. There are a number of WordPress plugins that provide syntax coloring. The fact that I use Michel Fortin&#8217;s <a href="http://michelf.com/projects/php-markdown/extra/">PHP Markdown Extra</a> posed one important limitation. PHP Markdown Extra would interfere with those plugins that used special markup. Fortunately, some plugins, like <a href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax</a>, use a variant of HTML markup that counts as valid Markdown. WP-Syntax uses the <a href="http://qbnz.com/highlighter/">GeSHI</a> syntax engine that supports a large number of languages. The results, out of the box, were not that attractive and modifications, while possible, were beyond my ken. <a href="http://articles.akgfx.com/2008/04/wp-syntax-colorizer/">WP-Syntax Colorizer</a> is another WordPress plugin that makes such modifications easier, but after a number of tries, I was unable to come up with a color scheme that worked as well as I liked (my fault entirely, I am sure).</p>

<p>Part of my dissatisfaction had to do with the high quality of syntax coloring provided by my favored text editor, <a href="http://macromates.com/">TextMate</a>. I just didn&#8217;t feel comfortable settling for less. Fortunately, for me, TextMate can export your coloring theme as CSS and can export selections as HTML. These two posts, <a href="http://www.quirkey.com/blog/2006/07/13/highlight-me-baby/">here</a> and <a href="http://www.bitbutter.com/?p=13">here</a>, explained how to exploit these features with your WordPress blog to get TextMate themes in your code snippets. Below is an example. The theme is Twilight, and the code is the initial portion of the generated CSS.</p>

<p><code></p>

<pre class="textmate-source"><span class="source source_css"><span class="comment comment_block comment_block_css"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_css">/*</span> Stylesheet generated from TextMate theme
 *
 * Twilight
 * 
 *
 <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_css">*/</span></span>

<span class="comment comment_block comment_block_css"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_css">/*</span> Mostly to improve view within the TextMate HTML viewer <span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_css">*/</span></span>
<span class="meta meta_selector meta_selector_css"><span class="entity entity_name entity_name_tag entity_name_tag_css">body</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">margin</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">0</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">padding</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">0</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
<span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span>

<span class="meta meta_selector meta_selector_css"><span class="entity entity_name entity_name_tag entity_name_tag_css">pre</span><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>textmate-source</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">margin</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">0</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">padding</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">0 0 0 2</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">font-family</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> Consolas, DroidSansMono, Inconsolata, DejaVuSansMono, <span class="support support_constant support_constant_font-name support_constant_font-name_css">monospace</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">font-size</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">10</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">line-height</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">1.3</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">em</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css">word-wrap</span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="support support_constant support_constant_property-value support_constant_property-value_css">break-word</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">white-space</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> pre<span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">white-space</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> pre-wrap<span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">white-space</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> -moz-pre-wrap<span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">white-space</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> -o-pre-wrap<span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
<span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span>

<span class="meta meta_selector meta_selector_css"><span class="entity entity_name entity_name_tag entity_name_tag_css">pre</span><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>textmate-source</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">color</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_other constant_other_color constant_other_color_rgb-value constant_other_color_rgb-value_css"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_css">#</span>F8F8F8</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">background-color</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_other constant_other_color constant_other_color_rgb-value constant_other_color_rgb-value_css"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_css">#</span>141414</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
<span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span>

<span class="meta meta_selector meta_selector_css"><span class="entity entity_name entity_name_tag entity_name_tag_css">pre</span><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>textmate-source</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_entity punctuation_definition_entity_css">.</span>linenum</span> </span><span class="meta meta_property-list meta_property-list_css"><span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">{</span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">width</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">75</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">px</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">padding</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_numeric constant_numeric_css">0.1</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">em</span><span class="constant constant_numeric constant_numeric_css"> 1</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">em</span><span class="constant constant_numeric constant_numeric_css"> 0.2</span><span class="keyword keyword_other keyword_other_unit keyword_other_unit_css">em</span><span class="constant constant_numeric constant_numeric_css"> 0</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">color</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_other constant_other_color constant_other_color_rgb-value constant_other_color_rgb-value_css"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_css">#</span>888</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
    <span class="meta meta_property-name meta_property-name_css"><span class="support support_type support_type_property-name support_type_property-name_css">background-color</span></span><span class="meta meta_property-value meta_property-value_css"><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_css">:</span> <span class="constant constant_other constant_other_color constant_other_color_rgb-value constant_other_color_rgb-value_css"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_css">#</span>eee</span><span class="punctuation punctuation_terminator punctuation_terminator_rule punctuation_terminator_rule_css">;</span></span>
<span class="punctuation punctuation_section punctuation_section_property-list punctuation_section_property-list_css">}</span></span></span></pre>

<p></code></p>

<p>The results are not <em>completely</em> faithful&#8212;TextMate&#8217;s <a href="http://macromates.com/textmate/manual/scope_selectors">scopes</a>, on which its themes are based, cannot be fully represented in CSS. Nonetheless, I am much happier now. Expect to see proper syntax coloring from now on.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/05/27/metablogging-syntax-coloring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GitHub and TextMate</title>
		<link>http://markelikalderon.com/2008/05/26/github-and-textmate/</link>
		<comments>http://markelikalderon.com/2008/05/26/github-and-textmate/#comments</comments>
		<pubDate>Mon, 26 May 2008 18:35:09 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/05/26/github-and-textmate/</guid>
		<description><![CDATA[Are you a TextMate user and have a GitHub account? Then Dr Nic&#8217;s GitHub bundle may be for you. It requires the git ruby gem, so you need to install it first: sudo gem install git To install GitHub.bundle: cd ~/"Library/Application Support/TextMate/Bundles/" git clone git://github.com/drnic/github-tmbundle.git "GitHub.tmbundle" If TextMate is running, execute the following line: osascript [...]]]></description>
			<content:encoded><![CDATA[<p>Are you a <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a> user and have a <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a> account? Then <a href="http://drnicwilliams.com/" title="Dr Nic">Dr Nic</a>&#8217;s GitHub bundle may be for you. It requires the git ruby gem, so you need to install it first:</p>

<pre><code>sudo gem install git
</code></pre>

<p>To install GitHub.bundle:</p>

<pre><code>cd ~/"Library/Application Support/TextMate/Bundles/"
git clone git://github.com/drnic/github-tmbundle.git "GitHub.tmbundle"
</code></pre>

<p>If TextMate is running, execute the following line:</p>

<pre><code>osascript -e 'tell app "TextMate" to reload bundles'
</code></pre>

<p><object width="400" height="286">   <param name="allowfullscreen" value="true" />   <param name="allowscriptaccess" value="always" />   <param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1066882&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />   <embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1066882&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="286"></embed></object><br /><a href="http://www.vimeo.com/1066882?pg=embed&#038;sec=1066882">TextMate and GitHub: Show the current file in GitHub</a> from <a href="http://www.vimeo.com/user289979?pg=embed&#038;sec=1066882">Dr Nic</a> on <a href="http://vimeo.com?pg=embed&#038;sec=1066882">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/05/26/github-and-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git Scatter Graph for TextMate</title>
		<link>http://markelikalderon.com/2008/05/14/git-scatter-graph-for-textmate/</link>
		<comments>http://markelikalderon.com/2008/05/14/git-scatter-graph-for-textmate/#comments</comments>
		<pubDate>Wed, 14 May 2008 19:42:16 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[TextMate]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=390</guid>
		<description><![CDATA[Here is a command for TextMate&#8217;s Git bundle, that&#8217;s, well, kind of useless but makes me happy. The code comes from Chris on the GitHub IRC: require 'time' lines = `git log --pretty=format:%ai` times = lines.map { &#124;l&#124; Time.parse l } dots = [] 0.upto(7) { &#124;wday&#124; 0.upto(23) { &#124;hour&#124; dots &#60;&#60; [hour, wday, times.find_all [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a command for <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a>&#8217;s Git <a href="http://github.com/timcharper/git-tmbundle/">bundle</a>, that&#8217;s, well, kind of useless but makes me happy. The <a href="http://pastie.caboo.se/190425">code</a> comes from Chris on the <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a> IRC:</p>

<pre><code>require 'time'
lines = `git log --pretty=format:%ai`
times = lines.map { |l| Time.parse l }

dots = []
0.upto(7) { |wday|
  0.upto(23) { |hour|
    dots &lt;&lt; [hour, wday, times.find_all { |t| t.hour == hour &amp;&amp; t.wday == wday }.size]
  }
}

max = dots.map { |h,w,c| c }.max

puts "http://chart.apis.google.com/chart?chs=800x300&amp;chds=-1,24,-1,7,0,#{max}&amp;chf=bg,s,efefef&amp;chd=t:#{dots.transpose.map { |c| c.join(",") }.join("|")}&amp;chxt=x,y&amp;chm=o,333333,1,1.0,25.0&amp;chxl=0:||12am|1|2|3|4|5|6|7|8|9|10|11|12pm|1|2|3|4|5|6|7|8|9|10|11||1:||Sun|Mon|Tue|Wed|Thr|Fri|Sat|&amp;cht=s"
</code></pre>

<p>Save this in a file called gitlog.rb. The script generates a URL that calls the <a href="http://code.google.com/apis/chart/">Google Chart API</a>. Assuming that gitlog.rb is in ~/bin (put it wherever you like), open the Bundle Editor and create the following TextMate command:</p>

<pre><code>URL=`ruby ~/bin/gitlog.rb`

echo "&lt;meta http-equiv='Refresh' content='0;
    URL=$URL'&gt;"
</code></pre>

<p>with the following settings:</p>

<ul>
<li>Save: Nothing</li>
<li>Input: None</li>
<li>Output: Show as HTML</li>
<li>Activation: Key Equivalent &#x2303;&#x21E7;G</li>
</ul>

<p><img src="http://markelikalderon.com/wp-content/uploads/2008/05/scatter-graph-command.png" alt="Scatter Graph Command" /></p>

<p>Calling the command produces the following chart that plots the number of commits you made per hour to your Git repository:</p>

<p><a href='http://markelikalderon.com/wp-content/uploads/2008/05/scatter-graph.png'><img src="http://markelikalderon.com/wp-content/uploads/2008/05/scatter-graph.png" alt="Git Scatter Graph" title="scatter-graph" width="500" height="333" class="alignnone size-full wp-image-391" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/05/14/git-scatter-graph-for-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Power of Text Meets the Power of the Press</title>
		<link>http://markelikalderon.com/2008/04/30/the-power-of-text-meets-the-power-of-the-press/</link>
		<comments>http://markelikalderon.com/2008/04/30/the-power-of-text-meets-the-power-of-the-press/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 15:25:40 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/04/30/the-power-of-text-meets-the-power-of-the-press/</guid>
		<description><![CDATA[TextMate is used in the development of NY Times online. See here: It’s our preference to use a text editor, like HomeSite, TextPad or TextMate, to “hand code” everything, rather than to use a wysiwyg (what you see is what you get) HTML and CSS authoring program, like Dreamweaver. We just find it yields better [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a> is used in the development of NY Times online. See <a href="http://www.nytimes.com/2008/04/21/business/media/21askthetimes.html/partner/rssnyt?_r=1&amp;oref=slogin&amp;pagewanted=print">here</a>:</p>

<blockquote>
  <p>It’s our preference to use a text editor, like HomeSite, TextPad or TextMate, to “hand code” everything, rather than to use a wysiwyg (what you see is what you get) HTML and CSS authoring program, like Dreamweaver. We just find it yields better and faster results.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/04/30/the-power-of-text-meets-the-power-of-the-press/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TextMate, It&#8217;s in the DNA</title>
		<link>http://markelikalderon.com/2008/04/07/textmate-its-in-the-dna/</link>
		<comments>http://markelikalderon.com/2008/04/07/textmate-its-in-the-dna/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 12:57:14 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/04/07/textmate-its-in-the-dna/</guid>
		<description><![CDATA[As a testament to the power, flexibility, and ease of modification of TextMate, I draw your attention to a new bundle that allows you to do DNA Sequence Analysis with TextMate. It is cool to see the bioinfomatics people hack TextMate.]]></description>
			<content:encoded><![CDATA[<p>As a testament to the power, flexibility, and ease of modification of <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a>, I draw your attention to a new bundle that allows you to do <a href="http://sadilek.blogspot.com/2008/04/dna-sequence-analysis-with-textmate.html">DNA Sequence Analysis with TextMate</a>. It is cool to see the bioinfomatics people hack TextMate.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/04/07/textmate-its-in-the-dna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Word Security Risk</title>
		<link>http://markelikalderon.com/2008/03/19/word-security-risk/</link>
		<comments>http://markelikalderon.com/2008/03/19/word-security-risk/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 13:14:40 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[Word]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/19/word-security-risk/</guid>
		<description><![CDATA[Despite my deep aversion to it, I still have Microsoft Word 2004 on my hard disk. Largely because administrators keep sending me Word docs, not to edit but simply to read, many of which have complex tables that TextEdit fails to render sufficiently well to be usable. (When will people learn to send PDFs? There [...]]]></description>
			<content:encoded><![CDATA[<p>Despite my deep aversion to it, I still have Microsoft Word 2004 on my hard disk. Largely because administrators keep sending me Word docs, not to edit but simply to read, many of which have complex tables that TextEdit fails to render sufficiently well to be usable. (When will people learn to send PDFs? There are a number of free Word to PDF converters.) Anyway, if like me, if you are stuck with Word, if only occasionally, it is time to run the updater because there is a critical security risk:</p>

<blockquote>
  <p>This update fixes a vulnerability that an attacker can use to overwrite the contents of your computer&#8217;s memory with malicious code. For more information about this update, see the Microsoft Knowledge Base article <a href="http://go.microsoft.com/fwlink/?LinkId=111609">(KB949357)</a>.</p>
</blockquote>

<p>Further information about this update can be found <a href="http://www.microsoft.com/mac/autoupdate/description/AUOffice20041141EN.htm">here</a>.</p>

<p><strong>Update</strong>: The Borg are watching.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/19/word-security-risk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SubEthaEdit 3.1</title>
		<link>http://markelikalderon.com/2008/03/15/subethaedit-31/</link>
		<comments>http://markelikalderon.com/2008/03/15/subethaedit-31/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 13:21:12 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[SubEthaEdit]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/15/subethaedit-31/</guid>
		<description><![CDATA[Continuing our ongoing text editor roundup for OS X, I am pleased to report that SubEthaEdit 3.1 has just been released. The world&#8217;s best collaboration text engine just got better. SubEthaEdit now supports: Automatic port mapping making communication over the internet easier&#8212;no manual configuration required Inviting your iChat buddies Friendcasting&#8212;the ability to connect to a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://markelikalderon.com/wp-content/uploads/2008/03/subethaedit.png" alt="SubEthaEdit" /></p>

<p>Continuing our ongoing text editor roundup for OS X, I am pleased to report that <a href="http://www.codingmonkeys.de/subethaedit/" title="SubEthaEdit">SubEthaEdit</a> 3.1 has just been released. The world&#8217;s best collaboration text engine just got better. SubEthaEdit now supports:</p>

<ul>
<li>Automatic port mapping making communication over the internet easier&#8212;no manual configuration required</li>
<li>Inviting your iChat buddies</li>
<li>Friendcasting&#8212;the ability to connect to a friend&#8217;s friend.</li>
</ul>

<p>To get a better sense of this see, the <a href="http://www.codingmonkeys.de/" title="TheCodingMonkeys">Coding Monkeys</a> <a href="http://www.codingmonkeys.de/subethaedit/Friendcasting-english-iPhone.m4v">screencast</a>. It is a pretty major feature upgrade for a point one release. SubEthaEdit 3.1 also includes an improved LaTeX mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/15/subethaedit-31/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gitting TextMate</title>
		<link>http://markelikalderon.com/2008/03/09/gitting-textmate/</link>
		<comments>http://markelikalderon.com/2008/03/09/gitting-textmate/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 21:32:03 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[TextMate]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/09/gitting-textmate/</guid>
		<description><![CDATA[For those who might want to jump the gun on TextMate&#8217;s move to distributed development, Kevin Ballard has mirrored the bundle repository on GitHub at http://github.com/kballard/textmate-bundles/tree/master. Clone away!]]></description>
			<content:encoded><![CDATA[<p>For those who might want to jump the gun on <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a>&#8217;s <a href="http://markelikalderon.com/blog/2007/08/05/textmate-moving-to-distributed-development/">move to distributed development</a>, <a href="http://kevin.sb.org/">Kevin Ballard</a> has mirrored the bundle repository on <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a> at <a href="http://github.com/kballard/textmate-bundles/tree/master">http://github.com/kballard/textmate-bundles/tree/master</a>. Clone away!</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/09/gitting-textmate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TextMate at C4</title>
		<link>http://markelikalderon.com/2008/03/08/textmate-at-c4/</link>
		<comments>http://markelikalderon.com/2008/03/08/textmate-at-c4/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 17:47:44 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/08/textmate-at-c4/</guid>
		<description><![CDATA[Allan Odgaard&#8217;s discusses TextMate at C4:]]></description>
			<content:encoded><![CDATA[<p>Allan Odgaard&#8217;s discusses <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a> at C4:</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler"><param name="movie" value="http://www.viddler.com/player/ae1a8829/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/player/ae1a8829/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler" ></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/08/textmate-at-c4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C-x M-c M-butterfly</title>
		<link>http://markelikalderon.com/2008/02/23/c-x-m-c-m-butterfly/</link>
		<comments>http://markelikalderon.com/2008/02/23/c-x-m-c-m-butterfly/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 16:58:38 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/02/23/c-x-m-c-m-butterfly/</guid>
		<description><![CDATA[Richard Stallman steps down as the emacs maintainer. Perhaps carried away on butterfly wings&#8230;]]></description>
			<content:encoded><![CDATA[<p>Richard Stallman <a href="http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02140.html">steps down</a> as the <a href="http://www.gnu.org/software/emacs/" title="GNU Emacs - GNU Project - Free Software Foundation (FSF)">emacs</a> maintainer. Perhaps carried away on butterfly wings&#8230;</p>

<p><img src="http://markelikalderon.com/wp-content/uploads/2008/02/real-programmers.png" alt="Real Programmers" /></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/02/23/c-x-m-c-m-butterfly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cha-cha-changes</title>
		<link>http://markelikalderon.com/2008/02/20/cha-cha-changes/</link>
		<comments>http://markelikalderon.com/2008/02/20/cha-cha-changes/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 23:02:23 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[BBEdit]]></category>
		<category><![CDATA[Changes]]></category>
		<category><![CDATA[FileMerge]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[TextWrangler]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/02/20/cha-cha-changes/</guid>
		<description><![CDATA[Changes is out of beta with a 1.0 release. Changes allows you to compare diretories and files and is Leopard only taking advantage of Core Animation and Quick Look. Offering editor support for BBEdit, TextWrangler, TextMate, and Xcode and version control integration for Subversion, CVS, Perforce, Mercurial, Git, Bazaar, and Darcs, Changes is shaping up [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://markelikalderon.com/wp-content/uploads/2008/02/changes.png' title='changes.png'><img src='http://markelikalderon.com/wp-content/uploads/2008/02/changes.thumbnail.png' alt='changes.png' /></a></p>

<p><a href="http://changesapp.com/">Changes</a> is out of beta with a 1.0 release. Changes allows you to compare diretories and files and is Leopard only taking advantage of <a href="http://www.apple.com/macosx/technology/coreanimation.html" title="Apple - Mac OS X Leopard - Technology - Core Animation">Core Animation</a> and <a href="http://www.apple.com/macosx/features/quicklook.html" title="Apple - Mac OS X Leopard - Features - Quick Look">Quick Look</a>. Offering editor support for <a href="http://www.barebones.com/" title="Welcome to Bare Bones Software">BBEdit</a>, <a href="http://www.barebones.com/products/textwrangler/" title="Bare Bones Software : PRODUCTS : TEXTWRANGLER">TextWrangler</a>, <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a>, and <a href="http://developer.apple.com/tools/xcode/" title="Tools - Xcode">Xcode</a> and version control integration for <a href="http://subversion.tigris.org/" title="subversion.tigris.org">Subversion</a>, <a href="http://www.cvs.com/" title="">CVS</a>, <a href="http://www.perforce.com/" title="Perforce Software - The Fast Software Configuration Management System">Perforce</a>, <a href="http://www.selenic.com/mercurial/" title="Mercurial - Mercurial">Mercurial</a>, <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a>, <a href="http://www.harpersbazaar.com/" title="Bazaar.com">Bazaar</a>, and <a href="http://darcs.net/" title="darcs">Darcs</a>, Changes is shaping up to be a powerful alternative to <a href="http://the.taoofmac.com/space/Applications/FileMerge">FileMerge</a>. Changes also has a number of advanced features such as a command line utility, a plug-in architecture, and <a href="http://www.fscript.org/" title="F-Script Home">F-Script</a> support. A cool <a href="http://markelikalderon.com/blog/2006/11/02/atpm-on-activity-monitor/">hybrid app</a>. Ian Baird of <a href="http://www.skorpiostech.com/">Skorpiostech</a> has been hard at work and was very responsive during the beta phase. (He addressed in a day a serious performance issue that arose in comparing text files with long lines that I reported.) So if you try Changes and like what you see, show him some love and buy a license.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/02/20/cha-cha-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plain Text Notes and Message URLs in Leopard</title>
		<link>http://markelikalderon.com/2008/02/01/plain-text-notes-and-message-urls-in-leopard/</link>
		<comments>http://markelikalderon.com/2008/02/01/plain-text-notes-and-message-urls-in-leopard/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 18:48:14 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Markdown]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/02/01/plain-text-notes-and-message-urls-in-leopard/</guid>
		<description><![CDATA[Leopard has a small feature that I have often longed for. All my notes are text files in markdown format. URI schemes extend the usefulness of the medium. With the file URI scheme I can link to other files, and with the mailto URI scheme I can send emails. But one thing that I have [...]]]></description>
			<content:encoded><![CDATA[<p>Leopard has a small feature that I have often longed for. All my notes are text files in <a href="http://daringfireball.net/projects/markdown/" title="Daring Fireball: Markdown">markdown</a> format. <a href="http://en.wikipedia.org/wiki/URI_scheme" title="URI scheme - Wikipedia, the free encyclopedia">URI schemes</a> extend the usefulness of the medium. With the file URI scheme I can link to other files, and with the mailto URI scheme I can send emails. But one thing that I have wanted to do is link to a specific email (in case that it has information that I may need to refer to). Leopard has introduced a new message URI scheme that allows you to do just that. (Though why they did not implement the mid URI scheme for this purpose remains a mystery.) Marc Liyanage has a <a href="http://www.entropy.ch/blog/Mac+OS+X/2007/12/04/Copy-Message-URLs-AppleScript-for-Apple-Mail.html">post</a> about it, and John Gruber has a <a href="http://daringfireball.net/2007/12/message_urls_leopard_mail">post</a> with more details. A URL for a particular email has two parts:</p>

<ol>
<li>the message URI</li>
<li>the message id wrapped in angle brackets</li>
</ol>

<p>Message URLs can take any of the following syntactic forms:</p>

<pre><code>message:%3cmessage_id%3e 
message://%3cmessage_id%3e 
message:&lt;message_id&gt; 
message://&lt;message_id&gt;
</code></pre>

<p>Both Liyanage and Gruber provide <a href="http://www.apple.com/applescript/" title="AppleScript: The Language of Automation">applescripts</a> for retrieving the message id of a given email saving the message URL to the pasteboard. Gruber&#8217;s applescript is as follows:</p>

<pre><code>tell application "Mail"
    set _sel to get selection
    set _links to {}
    repeat with _msg in _sel
        set _messageURL to "message://%3c" &amp; _msg's message id &amp; "%3e"
        set end of _links to _messageURL
    end repeat
    set AppleScript's text item delimiters to return
    set the clipboard to (_links as string)
end tell
</code></pre>

<p>When saved in</p>

<pre><code>~/Library/Scripts/Applications/Mail/
</code></pre>

<p>it will appear in the script menu when Mail.app is in focus. Just select the target mail and run the script and the mail URL will be in your pasteboard ready to paste into your textfile. And if you are a keyboard fanatic who eschews the mouse wherever possible, you can use <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">Quicksilver</a> to run the applescript. If your text file is in markdown format, simply enclose the message URL in angle brackets.</p>

<p>Having the ability to link to pertinent emails really increases the usefulness of plain text notes. More so if your text editor will launch the URL for you. In <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a>, simply move the cursor over the URL and hit &#x2305;. Another small step in harnessing the <a href="http://markelikalderon.com/blog/2006/10/25/plain-text/">power of plain text</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/02/01/plain-text-notes-and-message-urls-in-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

