<?xml version="1.0" encoding="iso-8859-1"?>
<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>[Lowerbounds, Upperbounds] &#187; Text Editing</title>
	<atom:link href="http://magic.aladdin.cs.cmu.edu/category/software-tools/text-editing/feed/" rel="self" type="application/rss+xml" />
	<link>http://magic.aladdin.cs.cmu.edu</link>
	<description>Algorithms are everywhere.</description>
	<lastBuildDate>Tue, 23 Dec 2008 19:58:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>It&#8217;s All Text! Add-on for Firefox</title>
		<link>http://magic.aladdin.cs.cmu.edu/2008/03/27/its-all-text-add-on-for-firefox/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2008/03/27/its-all-text-add-on-for-firefox/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 17:15:56 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=502</guid>
		<description><![CDATA[It&#8217;s All Text! is one of my most-used Firefox add-ons and recently it&#8217;s been upgraded to run on 3.0b4.
Edit textareas using an external editor, because it&#8217;s all text!
Right click on a textarea, select &#8220;It&#8217;s All Text!&#8221; and edit the text in the editor of your choice.
Alternatively, click on the edit buttons added for your convenience. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://addons.mozilla.org/en-US/firefox/addon/4125">It&#8217;s All Text!</a> is one of my most-used Firefox add-ons and recently it&#8217;s been upgraded to run on 3.0b4.</p>
<blockquote><p>Edit textareas using an external editor, because it&#8217;s all text!</p>
<p>Right click on a textarea, select &#8220;It&#8217;s All Text!&#8221; and edit the text in the editor of your choice.</p>
<p>Alternatively, click on the edit buttons added for your convenience. Right click on the edit buttons for even more options, including preferences.</p></blockquote>
<p>There are good reasons why you want to use your own favorite text editor to do text editing, and this add-on makes the process extremely easy (no cut and paste needed). But my initial reason was to avoid the &#8220;back&#8221; button: on my ThinkPad, it&#8217;s right next to the arrow keys and if you happen to hit it by mistake, whoosh, all your text is gone&#8230;</p>
<p>Highly recommended.</p>
<p>P.S. Of course this post and many others are written using it. <img src='http://magic.aladdin.cs.cmu.edu/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2008/03/27/its-all-text-add-on-for-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Word Capitalization in Emacs and PowerPoint</title>
		<link>http://magic.aladdin.cs.cmu.edu/2007/11/06/word-capitalization-in-emacs-and-powerpoint/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2007/11/06/word-capitalization-in-emacs-and-powerpoint/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 04:26:20 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[PowerPoint]]></category>
		<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=461</guid>
		<description><![CDATA[One of my favorite keyboard shortcuts in PowerPoint is Shift-F3. It rotates the capitalization of the current word among lowercased, Capitalized and UPPERCASED. Note that you do not have to select the word, and the cursor does not have to be at the beginning of the word either(*).
But the title of this post clearly said [...]]]></description>
			<content:encoded><![CDATA[<p>One of my favorite keyboard shortcuts in PowerPoint is <code>Shift-F3</code>. It rotates the capitalization of the current word among lowercased, Capitalized and UPPERCASED. Note that you do not have to select the word, and the cursor does not have to be at the beginning of the word either(*).</p>
<p>But the title of this post clearly said Emacs, didn&#8217;t it? Well, since I missed this feature in Emacs, I just implemented it in a pinch and bound it to <code>Shift-F3</code>. <img src='http://magic.aladdin.cs.cmu.edu/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  The code is in this <a href="http://www.emacswiki.org/cgi-bin/emacs-en/RotateWordCapitalization">page</a> in EmacsWiki. I have only tested it on GNU Emacs, and so I can only hope that it works in XEmacs.</p>
<p>(*) Actually, you rarely have to select a word in PowerPoint in order to format it. Commands like Bold <code>Ctrl-B</code> and Italic <code>Ctrl-I</code> will act on the current word when there is no selection. Also, similar behavior is in fact present in all Office applications. I just picked PowerPoint.</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2007/11/06/word-capitalization-in-emacs-and-powerpoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goto Last Change in Emacs</title>
		<link>http://magic.aladdin.cs.cmu.edu/2007/10/06/green-on-white/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2007/10/06/green-on-white/#comments</comments>
		<pubDate>Sat, 06 Oct 2007 20:30:44 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=120</guid>
		<description><![CDATA[From an interesting idea in gnu.emacs.bug&#8230;
How many times have you found yourself mosying thru a file when you wonder, where the heck was I just editing?  Well, the best you can do is hit undo, ^F, and undo again, to get back.
&#8230; comes a very handy function in Emacs&#8212;get this elisp file and bind [...]]]></description>
			<content:encoded><![CDATA[<p>From an interesting <a href="http://groups.google.com/group/gnu.emacs.bug/browse_thread/thread/49587d39d6c7bb30/492dd6c9c1626dd9">idea</a> in gnu.emacs.bug&#8230;</p>
<blockquote><p>How many times have you found yourself mosying thru a file when you wonder, where the heck was I just editing?  Well, the best you can do is hit undo, ^F, and undo again, to get back.</p></blockquote>
<p>&#8230; comes a very handy function in Emacs&#8212;<a href="http://www.emacswiki.org/cgi-bin/emacs/goto-last-change.el">get this elisp file</a> and bind a key to <code>goto-last-change-with-auto-marks</code>. (I bind it to F4, but of course it&#8217;s up to you.)</p>
<p>I note that my typical usage is a bit different from the post above: I usually remember what I was just editing, but I am reviewing a different part of the file. This feature allows me to jump back to my editing point quickly.</p>
<p>I must have used it so frequently that I just pressed F4 in another editor&#8230; and that&#8217;s how I realize I should share it here.</p>
<p>P.S. You may also be interested in this bit of advice for a slightly different experience:</p>
<blockquote><p><code>(defadvice goto-last-change-with-auto-marks (before mav-goto-last-change activate)<br />
  "Split the window beforehand to retain the current view"<br />
  (unless (eq last-command 'goto-last-change-with-auto-marks)<br />
    (split-window-vertically)))</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2007/10/06/green-on-white/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging Bad \hboxes with AUCTeX</title>
		<link>http://magic.aladdin.cs.cmu.edu/2007/05/22/debugging-bad-hboxes-with-auctex/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2007/05/22/debugging-bad-hboxes-with-auctex/#comments</comments>
		<pubDate>Tue, 22 May 2007 20:33:02 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=421</guid>
		<description><![CDATA[When you use AUCTeX to compile a LaTeX document that contains an error, the compilation will fail and AUCTeX will remind you in the minibuffer area: LaTeX errors in `*foo output*'. Use C-c ` to display. By pressing C-c `, which invokes the next-error function, you can navigate to the source locations of the errors [...]]]></description>
			<content:encoded><![CDATA[<p>When you use AUCTeX to compile a LaTeX document that contains an error, the compilation will fail and AUCTeX will remind you in the minibuffer area: <code>LaTeX errors in `*foo output*'. Use C-c ` to display.</code> By pressing <code>C-c `</code>, which invokes the <code>next-error</code> function, you can navigate to the source locations of the errors and fix them one by one. It surely is one of the most convenient features of AUCTeX.</p>
<p>But AUCTeX also has a lesser known feature in this regard: by pressing <code>C-c C-w</code>, which by default binds to <code>TeX-toggle-debug-boxes</code>, you can tell AUCTeX whether the debugger should consider underfull/overfull <code>\hbox</code>es as errors too. When preparing for the final(*) revision of a document, this feature really makes locating the bad <code>\hbox</code>es a breeze! </p>
<p>(What&#8217;s remaining are of course the <code>\vbox</code>es, but there doesn&#8217;t seem to be any good way to locate them using the output messages alone.)</p>
<p>(*) It is usually not a very productive idea to fix bad boxes before the document content is finalized.</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2007/05/22/debugging-bad-hboxes-with-auctex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LaTeX Source Specials</title>
		<link>http://magic.aladdin.cs.cmu.edu/2006/06/07/latex-source-specials/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2006/06/07/latex-source-specials/#comments</comments>
		<pubDate>Wed, 07 Jun 2006 19:38:04 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Electronic Documents]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=147</guid>
		<description><![CDATA[As I have hinted in this post about pdfopen, it is possible to do some sort of round-trip LaTeX editing with the right tools. There are two directions to make the round-trip complete.
The forward jump is editor-to-previewer: given the current cursor location in the editor, jump to the corresponding paragraph in the previewer. The backward [...]]]></description>
			<content:encoded><![CDATA[<p>As I have hinted in <a href="http://magic.aladdin.cs.cmu.edu/2005/07/15/pdfopen-and-pdfclose/">this post about pdfopen</a>, it is possible to do some sort of round-trip LaTeX editing with the right tools. There are two directions to make the round-trip complete.</p>
<p>The forward jump is editor-to-previewer: given the current cursor location in the editor, jump to the corresponding paragraph in the previewer. The backward jump is symmetrical. The magic behind this is called &#8220;source specials&#8221;.</p>
<p>While it sounds somewhat like a Chinese dish with special sauces, it really isn&#8217;t. <img src='http://magic.aladdin.cs.cmu.edu/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />   Instead, when you generate the DVI file, you ask <code>latex</code> to tag the DVI file with &#8220;source specials&#8221;. Imagine each word in the DVI file is tagged with the source filename and the line number of the word. </p>
<p>The forward jump is to ask the previewer to display the location that is right after the editor&#8217;s cursor location (filename and line number). The backward jump is to ask the editor to put the cursor closest to the current location in the previewer (usually the location of a double-click). </p>
<p>Let&#8217;s get to the example. I will show how to get round-tripping to work in Windows using <a href="http://www.miktex.org/">MiKTeX</a> distribution 2.4 and <a href="http://www.gnu.org/software/emacs/windows/ntemacs.html">GNU Emacs</a>. Other configurations are similar.</p>
<p>(Round-tripping between LaTeX and PDF is similar <em>in principle</em>, but the tools are not very mature yet. I will save this for a later post.)</p>
<ul>
<li>Install the <a href="http://www.gnu.org/software/auctex/">AUC TeX</a> package into Emacs.</li>
<li>To enable tagging in <code>latex</code>, invoke it with the <code>--src-specials</code> option. Say the primary LaTeX source is <code>main.tex</code>, AUC TeX invokes it this way, :<br />
<blockquote><code>latex --src-specials \nonstopmode\input{main.tex}</code></p></blockquote>
</li>
<li>To do the forward jump with YAP (the DVI previewer in MiKTeX), say when the cursor is on line 65 of <code>hetero.tex</code>, AUC TeX will execute:<br />
<blockquote><code>yap -1 -s65hetero.tex main.dvi</code></p></blockquote>
</li>
<li>To enable the backward search, install the <code>gnuserv</code> package. Google can help you locate many links, like <a href="http://www.weitz.de/win/">this</a> and the rest.</li>
<li>Assuming you have <code>gnuclientw</code> installed on your path, in YAP, go to View->Options->Inverse Search. Inside Program combo, you should see &#8220;GNU Emacs (Single Instance)&#8221;. Example command line:<br />
<blockquote><code>gnuclientw.exe -F +%l "%f"</code></p></blockquote>
</li>
<li>Note that installing <code>gnuclientw</code> addresses the problem in <a href="http://magic.aladdin.cs.cmu.edu/2005/07/15/pdfopen-and-pdfclose/#comment-419">this comment</a>.  In general, you rarely want to invoke <code>emacs</code> directly. Use <code>gnuclientw</code> instead.</li>
</ul>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2006/06/07/latex-source-specials/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Long Word Completion</title>
		<link>http://magic.aladdin.cs.cmu.edu/2006/02/28/long-word-completion/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2006/02/28/long-word-completion/#comments</comments>
		<pubDate>Tue, 28 Feb 2006 17:06:00 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=270</guid>
		<description><![CDATA[It has been complained to me that I use long variable names in my code, which I think is a defendable practice. Worse, I also use stupidly long &#8220;abbreviations&#8221; in LaTeX
\newcommand{\LovaszLocalLemma}{Lov\'asz Local Lemma}
which doesn&#8217;t abbreviate at all&#8230;
Well, these complaints are understandable, but what if you don&#8217;t have to type these long words in full?
Type this_super_very_super_long_word [...]]]></description>
			<content:encoded><![CDATA[<p>It has been complained to me that I use long variable names in my code, which I think is a defendable practice. Worse, I also use stupidly long &#8220;abbreviations&#8221; in LaTeX</p>
<blockquote><p><code>\newcommand{\LovaszLocalLemma}{Lov\'asz Local Lemma}</code></p></blockquote>
<p>which doesn&#8217;t abbreviate at all&#8230;</p>
<p>Well, these complaints are understandable, but what if you don&#8217;t have to type these long words in full?</p>
<p>Type <code>this_super_very_super_long_word</code> into Emacs. Press Enter. Now type <code>th</code> and then hit <code>Alt-/</code>. Bang!</p>
<p>I can&#8217;t imagine how many seconds of my life I have saved with this feature (surely more than the time it takes  me to compose this post to share it with you). These days, even when I type moderately long word like <code>moderately</code>, I use completion.</p>
<p>Vim users don&#8217;t have to feel left out. Try <code>Ctrl-P</code> and <code>Ctrl-N</code> instead.</p>
<p>P.S. The next complaint I will get is that <code>Alt-/</code> is not all that easy to hit. I agree. That&#8217;s why I have this line in my .emacs:</p>
<blockquote><p><code>(global-set-key [(control ?h)] 'dabbrev-expand)</code></p></blockquote>
<p>Your key choice may vary.</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2006/02/28/long-word-completion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Emacs Local Variables</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/10/12/emacs-local-variables/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/10/12/emacs-local-variables/#comments</comments>
		<pubDate>Wed, 12 Oct 2005 11:00:44 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/2005/04/25/tex-master/</guid>
		<description><![CDATA[If you use Emacs to edit your LaTeX files, then you want to know about Local Variables. They are &#8220;comments&#8221; that you write at the end of a file, say in this example:
blah blah
% Local variables:
% mode: latex
% TeX-master: "main.tex"
% End:
The purpose of local variables is to allow you to give Emacs extra customization when [...]]]></description>
			<content:encoded><![CDATA[<p>If you use Emacs to edit your LaTeX files, then you want to know about Local Variables. They are &#8220;comments&#8221; that you write at the end of a file, say in this example:</p>
<blockquote><p><code>blah blah</p>
<p>% Local variables:<br />
% mode: latex<br />
% TeX-master: "main.tex"<br />
% End:</code></p></blockquote>
<p>The purpose of local variables is to allow you to give Emacs extra customization when you load a file. In this example, we want Emacs to switch to  latex mode and set the <code>TeX-master</code> variable to &#8220;soda.tex&#8221;. <code>mode</code> is actually a special variable controlling the major mode of the file. The <code>TeX-master</code> variable is used by AUCTeX so that when you invoke LaTeX on the current buffer (Ctrl-C Ctrl-C), it will instead invoke LaTeX on the &#8220;master&#8221; file. This is crucial when you break the paper into multiple files and use <code>\input</code> to string them together because this alleviates the need to switch to the master file before you invoke LaTeX.</p>
<p>There is also another way to specify local variables by putting them in the beginning of a file. Here is how our example would look like:</p>
<blockquote><p><code>% -*- mode: latex; TeX-master: "main.tex"; -*-</p>
<p>blah blah</code></p></blockquote>
<p>There is also a special local &#8220;variable&#8221; call <code>eval</code>. The value for that variable is simply evaluated as an expression, and hence it can actually be somewhat dangerous. Fortunately Emacs also provides <code>enable-local-eval</code> to let you catch the <code>eval</code>s.</p>
<p>Happy TeXing in Emacs!</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/10/12/emacs-local-variables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RefTeX Mode in Emacs</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/08/24/reftex-mode-in-emacs/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/08/24/reftex-mode-in-emacs/#comments</comments>
		<pubDate>Wed, 24 Aug 2005 14:46:56 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/2005/04/26/emacs-table-of-content-for-latex/</guid>
		<description><![CDATA[In a secret mission, last week I forced myself to write a 20-page document with TeXnicCenter, a Visual-Studio-like text editor for LaTeX. It was a rather painful experience given its current BibTeX support. Here is the feature list for this (quote) &#8220;extremely feature rich&#8221; editor. (Perhaps I missed the bib support feature somewhere in this [...]]]></description>
			<content:encoded><![CDATA[<p>In a secret mission, last week I forced myself to write a 20-page document with <a href="http://www.toolscenter.org/">TeXnicCenter</a>, a Visual-Studio-like text editor for LaTeX. It was a rather painful experience given its current BibTeX support. Here is the <a href="http://www.toolscenter.org/front_content.php?idcat=42">feature list</a> for this (quote) &#8220;extremely feature rich&#8221; editor. (Perhaps I missed the bib support feature somewhere in this feature list?)</p>
<p>One feature I like about TeXnicCenter is its Navigator (<a href="http://www.toolscenter.org/upload/texniccenter/screenshots/full.png">screenshot</a>), which is a tree widget showing the section structure of the document. In Visual Studio, this would be showing the class structure. It is very useful for navigating between sections and can help somewhat when inserting labels.</p>
<p>And that reminds me that a couple years ago I have blown my officemate away by showing him how to use RefTeX. This comes standard with Emacs. (It&#8217;s in lisp/textmode/reftex.el.)</p>
<p>Once loaded, it adds the following five key bindings, along with another five that are related to indexing:</p>
<ul>
<li>C-c =<br />
reftex-toc shows you a table of content in a separate window and let you navigate among sections. Pressing Enter on a section brings your cursor right there.
</li>
<li>C-c [<br />
reftex-citation scans your current bib file and help you insert <code>\cite</code>. It prompts you for a regex and then show you all matching entries. Press Enter on the desired entry and the proper <code>\cite</code> will be inserted for you! (This is a killer feature if you have long bibitem key to your bib entries.)
</li>
<li>C-c )<br />
reftex-reference shows you the table of content of sections, equations etc. It works like reftex-citation and inserts <code>\ref</code>.</li>
<li>C-c (<br />
reftex-label  helps you insert <code>\label</code>s by offering a somewhat intelligent default.
</li>
<li>C-c &#038;<br />
When the cursor is on a <code>\ref</code>, reftex-view-crossref brings up the corresponding <code>\label</code> in a separate window. When the cursor is on a <code>\label</code>, then it shows you occurrences of the label one-by-one. The same dual features are available when you are on a <code>\cite</code> and a bib entry.
</li>
</ul>
<p>P.S. Emacs means GNU Emacs. I suppose XEmacs will be similar.</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/08/24/reftex-mode-in-emacs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CLCL &#8211; The Clipboard Manager</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/07/11/clcl-the-clipboard-manager/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/07/11/clcl-the-clipboard-manager/#comments</comments>
		<pubDate>Mon, 11 Jul 2005 15:03:44 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Text Editing]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/2005/04/29/clcl/</guid>
		<description><![CDATA[Those of us that use Microsoft Office should be familiar with the concept of a clipboard manager (since it has one built-in for the Office applications). Basically, a clipboard manager lets you maintain a history of your clipboard contents.
Say you want to copy a number of objects from several different slides to a new slide. [...]]]></description>
			<content:encoded><![CDATA[<p>Those of us that use Microsoft Office should be familiar with the concept of a clipboard manager (since it has one built-in for the Office applications). Basically, a clipboard manager lets you maintain a history of your clipboard contents.</p>
<p>Say you want to copy a number of objects from several different slides to a new slide. Without a clipboard manager, you copy the objects from the first source slide, then you go to the destination slide, paste the clipboard content onto it, and then you repeat by going to the second source slide. Notice that you need to keep going back and forth to the destination slide because your clipboard content will be overwritten by a subsequent copy command. See how a clipboard manager can help?</p>
<p>But what if you are not working in an Office application? Well, that&#8217;s what CLCL is for. It&#8217;s a free clipboard manager for Windows and works for all applications.</p>
<p><a href="http://www.nakka.com/soft/clcl/index_eng.html">http://www.nakka.com/soft/clcl/index_eng.html</a></p>
<p>But in my experience the single most important feature of CLCL turns out to be its ability to beep when you copy something to the clipboard. I love this audio feedback because some applications (Firefox in particular) seem to have trouble copying things. I don&#8217;t want to wait till I paste to realize that the copy did not happen. For this feature alone, I happily keep CLCL running all the time. <img src='http://magic.aladdin.cs.cmu.edu/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>To enable this audio feedback, download the <code>tool_utl</code> plugin from CLCL&#8217;s homepage. Then go to Options->Tool->Add. The DLL you want is <code>tool_utl.dll</code> and the function name is <code>play_sound</code>. Then click Properties and go to the <code>Windows\Media</code> directory to select your favorite wave file. I use <code>windows xp pop-up blocked.wav</code>.</p>
<p>P.S. I was told that in Mac there is actually an visual feedback to indicate that the copy (Command-C) was successful. Specifically, the Edit menu item will blink once. But there is a problem. It blinks so fast that it is hard to spot. So what some users end up doing is to hold down Command-C to repeat the blinking (basically turning Edit into reverse video). Heh, I guess we all have our problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/07/11/clcl-the-clipboard-manager/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Emacs &#8220;Hello Kitty&#8221; Colour Theme Request</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/07/08/hello-kitty-colour-theme-request/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/07/08/hello-kitty-colour-theme-request/#comments</comments>
		<pubDate>Fri, 08 Jul 2005 04:22:09 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Just for Fun]]></category>
		<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=118</guid>
		<description><![CDATA[Just saw this at http://www.emacswiki.org/cgi-bin/emacs-en/ColorTheme:
&#8220;Hello Kitty&#8221; Colour Theme Request
After a discussion on #emacs, it was found that we could attract more women and young children to being Emacs users if we had a &#8220;Hello Kitty&#8221; colour theme; something with a soft pink and yellow.
Interesting idea, but is the color theme really the problem?  
]]></description>
			<content:encoded><![CDATA[<p>Just saw this at <a href="http://www.emacswiki.org/cgi-bin/emacs-en/ColorTheme">http://www.emacswiki.org/cgi-bin/emacs-en/ColorTheme</a>:</p>
<blockquote><p><strong>&#8220;Hello Kitty&#8221; Colour Theme Request</strong></p>
<p>After a discussion on #emacs, it was found that we could attract more women and young children to being Emacs users if we had a &#8220;Hello Kitty&#8221; colour theme; something with a soft pink and yellow.</p></blockquote>
<p>Interesting idea, but is the color theme really the problem? <img src='http://magic.aladdin.cs.cmu.edu/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/07/08/hello-kitty-colour-theme-request/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All but the first few lines of a file</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/06/30/all-but-the-first-few-lines-of-a-file/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/06/30/all-but-the-first-few-lines-of-a-file/#comments</comments>
		<pubDate>Thu, 30 Jun 2005 20:00:28 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/?p=111</guid>
		<description><![CDATA[You would think that there must be a utility in Unix like head or tail that would chop off the first few lines of a file and output the rest. Well, I haven&#8217;t found it yet.
In any case, perl worked.
cat foo.txt &#124; perl -e "print splice @{[&#60;&#62;]}, 5"
]]></description>
			<content:encoded><![CDATA[<p>You would think that there must be a utility in Unix like <code>head</code> or <code>tail</code> that would chop off the first few lines of a file and output the rest. Well, I haven&#8217;t found it yet.</p>
<p>In any case, <code>perl</code> worked.</p>
<blockquote><p><code>cat foo.txt | perl -e "print splice @{[&lt;&gt;]}, 5"</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/06/30/all-but-the-first-few-lines-of-a-file/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Nano for Pico Users</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/06/30/nano-for-pico-users/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/06/30/nano-for-pico-users/#comments</comments>
		<pubDate>Thu, 30 Jun 2005 14:17:21 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/2005/05/04/nano-for-pico-users/</guid>
		<description><![CDATA[I have come to know quite a few Pico die-hards over the years. Their primary reason for sticking with Pico is usually its simplicity. For this, I also think that Pico is hard to beat.
But it&#8217;s possible to match that simplicity while adding new features. Enter GNU Nano.
Among the many added features such as case-sensitive [...]]]></description>
			<content:encoded><![CDATA[<p>I have come to know quite a few Pico die-hards over the years. Their primary reason for sticking with Pico is usually its simplicity. For this, I also think that Pico is hard to beat.</p>
<p>But it&#8217;s possible to match that simplicity while adding new features. Enter <a href="http://www.nano-editor.org/">GNU Nano</a>.</p>
<p>Among the many added features such as case-sensitive search, regexp search and replace, auto-indent and multiple file buffers, Nano also supports <a href="http://wiki.linuxhelp.net/index.php/Nano_Syntax_Highlighting">syntax highlighting</a>. I guess even some Pico die-hards would agree that some of these are useful features. In fact I myself is a big fan of syntax highlighting (<a href="http://magic.aladdin.cs.cmu.edu/2005/04/26/color-in-gnu-emacs-and-vim/">as you can see here</a>).</p>
<p>Really, next time before you use Pico, give Nano a try. It may very well increase your productivity (which is why I am writing this). For starters, put these four lines into your <code>~/.nanorc</code> and go:</p>
<blockquote><p><code>set autoindent<br />
set historylog<br />
set multibuffer<br />
set tabsize 4</code></p></blockquote>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/06/30/nano-for-pico-users/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WinMerge</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/04/29/winmerge/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/04/29/winmerge/#comments</comments>
		<pubDate>Fri, 29 Apr 2005 16:34:07 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/2005/04/22/winmerge/</guid>
		<description><![CDATA[I just upgraded to WinMerge 2.2.2.0 and I can&#8217;t be happier. 
WinMerge is a GUI for comparing and merging files. The new merge mode is very handy (F9) and it even highlights what&#8217;s changed within a region (F4). It can also compare between whole directories. Get it!
http://winmerge.sourceforge.net/
 
For those of you that work mostly in [...]]]></description>
			<content:encoded><![CDATA[<p>I just upgraded to WinMerge 2.2.2.0 and I can&#8217;t be happier. </p>
<p>WinMerge is a GUI for comparing and merging files. The new merge mode is very handy (F9) and it even highlights what&#8217;s changed within a region (F4). It can also compare between whole directories. Get it!</p>
<p><a href="http://winmerge.sourceforge.net/">http://winmerge.sourceforge.net/</a></p>
<p><img src='/wp-uploads/WinMergeScreenShot.png' alt='WinMerge Screen Shot' /> </p>
<p>For those of you that work mostly in the command line (I do), you can put these two lines into wdiff.bat and put it in a directory in your path (I store all my small programs in &#8220;C:\Program Files\Misc&#8221;):</p>
<blockquote><p><code>@echo off<br />
start "" "C:\Program Files\WinMerge\WinMerge.exe" %*</code></p></blockquote>
<p>Then you can invoke WinMerge just like diff. Note that <code>%*</code> means &#8220;all arguments passed to this batch file&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/04/29/winmerge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Color in GNU Emacs and Vim</title>
		<link>http://magic.aladdin.cs.cmu.edu/2005/04/26/color-in-gnu-emacs-and-vim/</link>
		<comments>http://magic.aladdin.cs.cmu.edu/2005/04/26/color-in-gnu-emacs-and-vim/#comments</comments>
		<pubDate>Tue, 26 Apr 2005 04:17:36 +0000</pubDate>
		<dc:creator>Maverick Woo</dc:creator>
				<category><![CDATA[Text Editing]]></category>

		<guid isPermaLink="false">http://magic.aladdin.cs.cmu.edu/2005/04/22/color-in-gnu-emacs-and-vim/</guid>
		<description><![CDATA[For those of you who use GNU Emacs or Vim, do you know that you can change the color theme/scheme very easily?
Really, take a look at these two pages and look at the varieties that you can get.


http://www.cs.cmu.edu/~maverick/GNUEmacsColorThemeTest/


http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/


And in case you don&#8217;t know, both GNU Emacs and Vim have native versions in Windows. I use [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you who use GNU Emacs or Vim, do you know that you can change the color theme/scheme very easily?</p>
<p>Really, take a look at these two pages and look at the varieties that you can get.</p>
<ul>
<li>
<a href="http://www.cs.cmu.edu/~maverick/GNUEmacsColorThemeTest/">http://www.cs.cmu.edu/~maverick/GNUEmacsColorThemeTest/</a>
</li>
<li>
<a href="http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/">http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/</a>
</li>
</ul>
<p>And in case you don&#8217;t know, both <a href="http://www.gnu.org/software/emacs/windows/ntemacs.html">GNU Emacs</a> and <a href="http://www.vim.org/download.php">Vim </a>have native versions in Windows. I use them daily and happily. <img src='http://magic.aladdin.cs.cmu.edu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://magic.aladdin.cs.cmu.edu/2005/04/26/color-in-gnu-emacs-and-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
