<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2304251215826746968</id><updated>2012-01-23T12:52:48.591-08:00</updated><category term='C++'/><category term='emacs-lisp'/><category term='stackoverflow'/><category term='meta'/><category term='education'/><category term='interview'/><category term='emacs'/><category term='opensource'/><category term='shell'/><category term='web'/><category term='abstraction'/><category term='html'/><category term='emacs-tip'/><category term='link'/><category term='email'/><category term='emacs-basic'/><category term='emacs-intermediate'/><category term='lisp'/><category term='language'/><category term='vnc'/><category term='book'/><category term='emacs-advanced'/><title type='text'>Life Is Too Short For Bad Code</title><subtitle type='html'>Random musings about programming, software, technical interviews, and of course Emacs - a tip every week for new and experienced users.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-1498412805827285430</id><published>2010-10-23T13:36:00.000-07:00</published><updated>2010-10-24T20:12:45.196-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #38: Automatically diff binary files using hexl-mode</title><summary type='text'>I saw a question on Stack Overflow which referred to a non-free (as in beer) file comparison application.  My first thought was, "people pay for this?"  Sure enough, there are quite a few non-free file comparison tools.  Which leads to the question, what do they offer that I'm not getting in Emacs (using ediff).  From the table on Wikipedia, it appears not too much.  I updated a couple of fields </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/1498412805827285430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=1498412805827285430' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1498412805827285430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1498412805827285430'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2010/10/emacs-tip-38-automatically-diff-binary.html' title='Emacs Tip #38: Automatically diff binary files using hexl-mode'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7679013447638879119</id><published>2010-10-10T04:13:00.000-07:00</published><updated>2010-10-10T11:25:16.197-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Emacs Tip #37: fic-mode.el</title><summary type='text'>I saw this question on Stack Overflow asking to highlight FIXME (and similar strings) in your code, but only in comments and strings.The current fixme-mode.el found on the Emacs Wiki is kind of clunky (it's really a major mode) and awkward to read.  So I took the challenge to write a new minor-mode which answers the question.I give you fic-mode.el.  It's named fic as an acronym for Fixme In </summary><link rel='related' href='http://www.emacswiki.org/emacs/fic-mode.el' title='Emacs Tip #37: fic-mode.el'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7679013447638879119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7679013447638879119' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7679013447638879119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7679013447638879119'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2010/10/emacs-tip-37-fic-modeel.html' title='Emacs Tip #37: fic-mode.el'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7535154341665407497</id><published>2010-06-22T13:14:00.000-07:00</published><updated>2010-06-22T13:22:20.865-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>vc-diff tweak</title><summary type='text'>For a while I've noticed that 'vc-diff (C-x v =) would pop up a buffer when there were no differences, and that buffer would just say there weren't any differences.  It finally got on my nerves, so I wrote this code which works around that issue.I don't totally understand the vc code, but parts are set up to run asynchronously, and that is what was tripping up 'vc-diff in my case.  The diff would</summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Old-Revisions.html#Old-Revisions' title='vc-diff tweak'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7535154341665407497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7535154341665407497' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7535154341665407497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7535154341665407497'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2010/06/vc-diff-tweak.html' title='vc-diff tweak'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7084151842004142391</id><published>2010-04-28T12:24:00.001-07:00</published><updated>2010-05-01T15:34:39.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #36: Abort the minibuffer when using the mouse</title><summary type='text'>A friend of mine loves using Emacs, but is always complaining about something.  This time it's Emacs' behavior to keep the minibuffer active when you use the mouse to select another window.  For example, you start doing a C-x C-f, click elsewhere, and do the C-x C-f again.  Emacs will beep and tell you Command attempted to use minibuffer while in minibuffer.After swallowing my, "well don't use </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7084151842004142391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7084151842004142391' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7084151842004142391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7084151842004142391'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2010/04/emacs-tip-36-abort-minibuffer-when.html' title='Emacs Tip #36: Abort the minibuffer when using the mouse'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7756985263481555062</id><published>2010-02-20T00:37:00.000-08:00</published><updated>2010-02-20T00:54:49.278-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #35: framemove</title><summary type='text'>Ever wanted to easily navigate between frames?  Perhaps using arrow keys?  Surprisingly, this didn't exist before (AFAIK).I wrote the package framemove to have the same usage as Emacs' built in windmove package.  And, even better, it can integrate with windmove so that when you run out of windows to move between, you'll jump to the next frame in that direction.To install framemove on its own:    </summary><link rel='related' href='http://www.emacswiki.org/emacs/framemove.el' title='Emacs Tip #35: framemove'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7756985263481555062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7756985263481555062' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7756985263481555062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7756985263481555062'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2010/02/emacs-tip-35-framemove.html' title='Emacs Tip #35: framemove'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7970084669734015647</id><published>2010-02-11T17:19:00.000-08:00</published><updated>2010-02-11T17:26:32.107-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #34: line-beginning-position, line-end-position</title><summary type='text'>Such a simple thing - finding the position of the beginning or end of the current line.  I've been completely oblivious to the existence of the functions line-beginning-position and line-end-position.They return the position of the beginning or end of the current line.They both accept an optional argument, which has the samemeaning as the argument to beginning-of-line or end-of-line.They were </summary><link rel='related' href='http://www.gnu.org/software/emacs/elisp/html_node/Text-Lines.html' title='Emacs Tip #34: line-beginning-position, line-end-position'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7970084669734015647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7970084669734015647' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7970084669734015647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7970084669734015647'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2010/02/emacs-tip-34-line-beginning-position.html' title='Emacs Tip #34: line-beginning-position, line-end-position'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-2975871788671072010</id><published>2009-12-23T12:56:00.000-08:00</published><updated>2009-12-23T13:31:13.408-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>Emacs Paper from 1981</title><summary type='text'>It's been a while since I read RMS's paper on Emacs.  Back in 1981, I still had another 2 years before I even saw my first computer.  Reading the paper gives some insight into some of the issues they were trying to solve (real time display, extensibility, portability).The first thing that came to mind when I first read this paper was that (to an outsider at least) Emacs really hasn't changed </summary><link rel='related' href='http://www.gnu.org/software/emacs/emacs-paper.html' title='Emacs Paper from 1981'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/2975871788671072010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=2975871788671072010' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2975871788671072010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2975871788671072010'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/12/emacs-paper-from-1981.html' title='Emacs Paper from 1981'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-2383569630823747377</id><published>2009-09-30T20:57:00.000-07:00</published><updated>2009-09-30T21:21:17.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #33: paredit</title><summary type='text'>I recently found paredit.  It is a mode which allows you to edit s-expressions (sexps) in a structured way.Essentially it forces you to maintain balanced parentheses by always inserting/deleting matched pairs.  It is very easy to modify the current sexp to: enclose (wrap) the next element, to merge it up one level (aka splice, i.e. remove a set of parentheses), to split the current sexp, etc.It </summary><link rel='related' href='http://www.emacswiki.org/emacs/PareditCheatsheet' title='Emacs Tip #33: paredit'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/2383569630823747377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=2383569630823747377' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2383569630823747377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2383569630823747377'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/09/emacs-tip-33-paredit.html' title='Emacs Tip #33: paredit'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-1768142882718268469</id><published>2009-09-30T10:43:00.000-07:00</published><updated>2009-09-30T11:29:43.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>Somewhat meta: blogs on reddit</title><summary type='text'>Recently, doing a vanity search, I saw a link to this blog from reddit.  I'm not a reddit user, but found it interesting that some of my posts had made it on there (as you can see here: trey-jackson.blogspot.com on reddit.com).What I find curious about reddit as it applies to blogs is that it ends up taking the conversation away from the blog.  This works well for reddit users, but ends up </summary><link rel='related' href='http://www.reddit.com/domain/trey-jackson.blogspot.com/' title='Somewhat meta: blogs on reddit'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/1768142882718268469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=1768142882718268469' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1768142882718268469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1768142882718268469'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/09/somewhat-meta-blogs-on-reddit.html' title='Somewhat meta: blogs on reddit'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6634542000244364428</id><published>2009-08-04T15:06:00.000-07:00</published><updated>2009-08-04T15:13:39.974-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #32: completion-ignore-case and Emacs 23</title><summary type='text'>Everyone is all a-buzz over the new release of Emacs.  I've started using it, and I do like the font support.There was one surprise.  I had the old setting(setq completion-ignore-case t)because I hate typing capital letters when I can avoid it.  Enter Emacs 23.1, and I now have to type capital letters for buffer names and file names (which is 90% of what I use minibuffer completion for).  It </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6634542000244364428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6634542000244364428' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6634542000244364428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6634542000244364428'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/08/emacs-tip-32-completion-ignore-case-and.html' title='Emacs Tip #32: completion-ignore-case and Emacs 23'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-8743007496262369903</id><published>2009-06-24T10:25:00.001-07:00</published><updated>2009-09-30T10:42:04.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #31: kill-other-buffers-of-this-file-name</title><summary type='text'>A friend mentioned he wanted a way to get rid of all the other buffers visiting files that of the same file name.  I instantly realized this was something I'd wanted for a long time without knowing it.My usage is that I'm often viewing different versions of the same file, usually in different sandboxes.  And, I might also have older versions checked out, whose file names are the same, but end </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/8743007496262369903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=8743007496262369903' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8743007496262369903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8743007496262369903'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/06/emacs-tip-31-kill-other-buffers-of-this.html' title='Emacs Tip #31: kill-other-buffers-of-this-file-name'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-4897628326098707537</id><published>2009-06-19T23:03:00.000-07:00</published><updated>2009-06-19T23:28:00.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stackoverflow'/><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Searching GNU From Firefox</title><summary type='text'>When writing up answers for Emacs related questions on stackoverflow.com, I like to include links to the info pages.  I got tired of having to go to the gnu site and then do a google site-specific search.  I tried looking for a Firefox search plugin that already did that (or something similar), but to no avail.However, it's pretty easy to write the search plugin yourself.  The main page for </summary><link rel='related' href='https://developer.mozilla.org/en/Creating_MozSearch_plugins' title='Searching GNU From Firefox'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/4897628326098707537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=4897628326098707537' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4897628326098707537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4897628326098707537'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/06/searching-gnu-from-firefox.html' title='Searching GNU From Firefox'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-3043772887475537940</id><published>2009-06-12T13:53:00.000-07:00</published><updated>2009-06-12T15:01:52.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #30: igrep</title><summary type='text'>Finding text in files is an everyday (every hour) occurrence for most programmers.  And in Unix-land, people generally use grep to do the searching.Of course Emacs has an interface to grep, which now (as of Emacs 22) even has interfaces for using both find and grep together to search through directory structures (grep-find, rgrep).But, before those existed, someone wrote a nice package igrep.el, </summary><link rel='related' href='http://www.emacswiki.org/emacs/GrepMode#toc7' title='Emacs Tip #30: igrep'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/3043772887475537940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=3043772887475537940' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/3043772887475537940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/3043772887475537940'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/06/emacs-tip-30-igrep.html' title='Emacs Tip #30: igrep'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6710255590161733327</id><published>2009-05-19T11:12:00.000-07:00</published><updated>2009-05-19T11:55:36.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #29: customizing hippe-expand</title><summary type='text'>I read A Curious Progammer's post on customizing dabbrev - specifically to skip certain regular expressions at the front of words.I remember customizing it for Tcl to avoid looking at the $ used to dereference variables.  But, I no longer use dabbrev, I use the slightly more general hippie-expand.  However, hippie-expand doesn't use the dabbrev settings.So, the question is, can you get </summary><link rel='related' href='http://curiousprogrammer.wordpress.com/2009/05/19/customiz-dabbrev/' title='Emacs Tip #29: customizing hippe-expand'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6710255590161733327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6710255590161733327' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6710255590161733327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6710255590161733327'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/05/emacs-tip-29-customizing-hippe-expand.html' title='Emacs Tip #29: customizing hippe-expand'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6856818536717127515</id><published>2009-05-15T12:09:00.000-07:00</published><updated>2009-05-15T12:51:16.552-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vnc'/><title type='text'>Stupid VNC Trick</title><summary type='text'>At my office I have a dual monitor setup, and at home I have two monitors as well, so most of my VNC sessions are wide (3280 pixels).Which presents a problem on the occasions I decide to work from a coffee shop or some other place where I only have my laptop's screen.  How do you effectively interact with a VNC session where the session is twice the size of the physical screen?Clearly scrolling </summary><link rel='related' href='http://en.wikipedia.org/wiki/Virtual_Network_Computing' title='Stupid VNC Trick'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6856818536717127515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6856818536717127515' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6856818536717127515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6856818536717127515'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/05/stupid-vnc-trick.html' title='Stupid VNC Trick'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7584478525268562583</id><published>2009-04-27T14:46:00.000-07:00</published><updated>2009-04-27T14:49:51.049-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>dot-emacs trickery (emacs-fu)</title><summary type='text'>It's been a while, and to be honest, emacs-fu has been doing such a great job putting up useful snippets of Emacs information...He just put up a question asking for folk's favorite dot-emacs tricks.  I added my two cents with:(defun tj-find-file-check-make-large-file-read-only-hook () "If a file is over a given size, make the buffer read only." (when (&gt; (buffer-size) (* 1024 1024))   (setq </summary><link rel='related' href='http://emacs-fu.blogspot.com/2009/04/dot-emacs-trickery.html?showComment=1240868460000#c4243055713288114352' title='dot-emacs trickery (emacs-fu)'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7584478525268562583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7584478525268562583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7584478525268562583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7584478525268562583'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/04/dot-emacs-trickery-emacs-fu.html' title='dot-emacs trickery (emacs-fu)'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-4422093066703296936</id><published>2009-03-27T12:18:00.000-07:00</published><updated>2009-09-30T11:28:44.425-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><title type='text'>Don't Like It? Code it Yourself!</title><summary type='text'>Jeff Atwood writes on a topic that's interested me for quite a while:Coding Horror: Don't Like It? Code it Yourself!To me, at least, sponsorship seems like a constructive way for people who are unable or unwilling to write code to affect the direction of a project. For example, I've sponsored several bugfixes in a key .NET open source library that we use for Stack Overflow. These are bugfixes </summary><link rel='related' href='http://www.codinghorror.com/blog/archives/001247.html' title='Don&apos;t Like It? Code it Yourself!'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/4422093066703296936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=4422093066703296936' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4422093066703296936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4422093066703296936'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/03/dont-like-it-code-it-yourself.html' title='Don&apos;t Like It? Code it Yourself!'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-624362721239175123</id><published>2009-03-03T12:04:00.000-08:00</published><updated>2009-03-03T12:12:06.560-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stackoverflow'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>More Advice</title><summary type='text'>Way back when I wrote a tip about Emacs Lisp's advice.How I wish other languages had this capability.  A couple of questions came up recently on stackoverflow.com that were (imo) best answered using advice.  So, if you're struggling to see when to use advice, I think they're pretty good examples."Diff, save or kill" when killing buffers in emacsCan I change emacs find-file history?</summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/624362721239175123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=624362721239175123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/624362721239175123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/624362721239175123'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/03/more-advice.html' title='More Advice'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5611989440985292552</id><published>2009-02-17T15:02:00.000-08:00</published><updated>2009-02-17T15:10:10.001-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stackoverflow'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Dynamic Modal Bindings (auto prefixing)</title><summary type='text'>A guy posted an interesting question on stackoverflow:                 Most emacs modes include some sort of prefix to activate their features. For example, when using GUD "next" is "C-c C-n". Of these modes, many provide special buffers where one can use a single key to activate some functionality (just 'n' or 'p' to read next/previous mail in GNUS for example).  Not all modes provide such a </summary><link rel='related' href='http://stackoverflow.com/questions/555470/semi-modal-editing-auto-prefixing-keys/559114#559114' title='Dynamic Modal Bindings (auto prefixing)'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5611989440985292552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5611989440985292552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5611989440985292552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5611989440985292552'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/02/dynamic-modal-bindings-auto-prefixing.html' title='Dynamic Modal Bindings (auto prefixing)'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-1588286325482435641</id><published>2009-01-13T13:44:00.001-08:00</published><updated>2009-01-13T13:46:03.130-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Emacs Tip #28: e-blog</title><summary type='text'>There are a number of different packages purporting to enable blogging from Emacs, but most people (including myself) have failed to get any of them to work.I recently heard about: http://code.google.com/p/e-blog/, as a simple blogging package specifically for blogger.This is my first post.Note: It does depend on curl. </summary><link rel='related' href='http://code.google.com/p/e-blog/' title='Emacs Tip #28: e-blog'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/1588286325482435641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=1588286325482435641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1588286325482435641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1588286325482435641'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2009/01/emacs-tip-28-e-blog.html' title='Emacs Tip #28: e-blog'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-1752053315720518082</id><published>2008-12-10T13:24:00.000-08:00</published><updated>2009-04-14T11:24:29.012-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stackoverflow'/><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>stackoverflow.com</title><summary type='text'>If you read Coding Horror or Joel On Software, you already know about stackoverflow.com.  In a nutshell, it's a place where you can ask coding questions and receive answers quickly.  You can also participate by voting answers up/down and answering questions.stackoverflow.com works really well, the overall design is very simple, clean, and easy to use.The emacs community there is pretty small, but</summary><link rel='related' href='http://stackoverflow.com' title='stackoverflow.com'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/1752053315720518082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=1752053315720518082' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1752053315720518082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/1752053315720518082'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/12/stackoverflowcom.html' title='stackoverflow.com'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5623406817201507686</id><published>2008-12-01T14:38:00.000-08:00</published><updated>2008-12-01T17:44:42.885-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #27: midnight-mode</title><summary type='text'>I generally have a single emacs session that runs for a couple weeks, up to about 3 months (when work does it's quarterly preventative maintenance reboot), and because of this, I often have dozens of buffers open.  Periodically I'd go through them and remove a bunch - mostly to free up memory.Luckily, there's a mode that already does that for you, periodically flushing unused and old buffers:(</summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Kill-Buffer.html' title='Emacs Tip #27: midnight-mode'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5623406817201507686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5623406817201507686' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5623406817201507686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5623406817201507686'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/12/midnight-mode.html' title='Emacs Tip #27: midnight-mode'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7123865447540010454</id><published>2008-10-22T13:56:00.000-07:00</published><updated>2008-10-22T14:08:38.905-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Gödel, Escher, Bach</title><summary type='text'>I'm a Yegge fan-boy, and his most recent post mentioned Gödel, Escher, Bach - the Pulitzer Prize-winning book by Douglas Hofstadter.  Which got me to thinking...A couple of programmers/bloggers I respect have the book on their must-have lists: Joel, Stevey.  And most programming bloggers refer to it reverently.I tried to read the book shortly after graduating college.  I didn't finish it, because</summary><link rel='related' href='http://www.powells.com/biblio/1-9780465026562-6' title='Gödel, Escher, Bach'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7123865447540010454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7123865447540010454' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7123865447540010454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7123865447540010454'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/10/gdel-escher-bach.html' title='Gödel, Escher, Bach'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7883347623565649241</id><published>2008-10-10T11:44:00.000-07:00</published><updated>2008-10-10T15:26:55.175-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #26: CUA mode (specifically rectangle editing)</title><summary type='text'>I'd heard of CUA mode, but generally dismiss it because I don't want the "windows" bindings for cut/copy/paste/undo.  But when I saw this video of CUA's rectangle support, I knew this was the way to edit rectangles.                Emacs Column Editing from Mark Mansour on Vimeo.To activate in emacs 22.1 - with minimal intrusion (I don't like transient mark mode):(setq cua-enable-cua-keys nil)(</summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7883347623565649241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7883347623565649241' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7883347623565649241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7883347623565649241'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/10/emacs-tip-26-cua-mode-specifically.html' title='Emacs Tip #26: CUA mode (specifically rectangle editing)'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5671669742322909993</id><published>2008-09-03T10:27:00.000-07:00</published><updated>2008-09-03T10:46:00.205-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>The Web Interface Is Morphing Into Emacs</title><summary type='text'>A while back, Steve Yegge wrote a post on Emacs and its future.  My executive summary of his post is that Emacs needs to compete or die - and the competition is the browser.This got a little thread started on the Emacs development list, but not much activity.  If Steve's line of reasoning is correct, then I surmise Emacs is dead b/c the Emacs development team is not at all interested in competing</summary><link rel='related' href='http://labs.mozilla.com/2008/08/introducing-ubiquity/' title='The Web Interface Is Morphing Into Emacs'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5671669742322909993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5671669742322909993' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5671669742322909993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5671669742322909993'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/09/web-interface-is-morphing-into-emacs.html' title='The Web Interface Is Morphing Into Emacs'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6501104399801876338</id><published>2008-08-19T13:27:00.000-07:00</published><updated>2008-08-19T16:00:54.927-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Emacs Tip #25: Shell Dirtrack By Prompt</title><summary type='text'>Note: I've since been notified of this problem already being solved by a package provided with Emacs.  I looked at it and prefer the implementation in this post, only because it modifies the prompt so I don't have to see the full path in my prompt.I'd been butting my head against this issue for a while now, but wasn't quite annoyed enough to come up with a solution.  Luckily for me (and you), </summary><link rel='related' href='http://www.emacswiki.org/cgi-bin/wiki/ShellDirtrackByPrompt' title='Emacs Tip #25: Shell Dirtrack By Prompt'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6501104399801876338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6501104399801876338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6501104399801876338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6501104399801876338'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/08/emacs-tip-25-shell-dirtrack-by-prompt.html' title='Emacs Tip #25: Shell Dirtrack By Prompt'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5151977706345525783</id><published>2008-07-30T10:04:00.000-07:00</published><updated>2008-07-30T12:09:21.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><category scheme='http://www.blogger.com/atom/ns#' term='abstraction'/><title type='text'>Forcing Abstraction</title><summary type='text'>I just read the post: Rail Spikes: Functional programming and looping by Jon.  It's a nice post, and I completely agree - you should never write for/while/do-while loops.My gripe here is that this post has to exist at all.  Everyone should know this, it is fundamental to have collections and operate on the collection - not using indices into collections1.  IMO, this should be taught from day 1 in</summary><link rel='related' href='http://railspikes.com/2008/7/29/functional-loops-in-ruby-each-map-inject-select-and-for' title='Forcing Abstraction'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5151977706345525783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5151977706345525783' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5151977706345525783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5151977706345525783'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/07/forcing-abstraction.html' title='Forcing Abstraction'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5816187233427876855</id><published>2008-06-04T15:34:00.000-07:00</published><updated>2008-06-04T15:36:49.425-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>A guided tour of Emacs</title><summary type='text'>I recently came across the GNU page: A guided tour of Emacs.  It is a gem of an introduction to Emacs.  Unlike the help distributed with Emacs (tutorial, FAQ, *info* pages), this tour does a good job illustrating the wide variety of Emacs capabilities, and I think it is much more motivating for a newbie than anything else I've seen.</summary><link rel='related' href='http://www.gnu.org/software/emacs/tour/' title='A guided tour of Emacs'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5816187233427876855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5816187233427876855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5816187233427876855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5816187233427876855'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/06/guided-tour-of-emacs.html' title='A guided tour of Emacs'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-2609072125451842109</id><published>2008-06-02T16:12:00.001-07:00</published><updated>2008-06-03T11:08:28.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #24: view-emacs-problems</title><summary type='text'>M-x view-emacs-problemsLike any good tool, Emacs can tell you about problems about which it knows.  I just learned something myself (see 'Emacs pauses for several seconds when changing the default font').To see the problems file, use the keybinding:   C-h C-e[edited to correct binding, thanks rodrigo]</summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Files.html#index-view_002demacs_002dproblems-267' title='Emacs Tip #24: view-emacs-problems'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/2609072125451842109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=2609072125451842109' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2609072125451842109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2609072125451842109'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/06/emacs-tip-24-view-emacs-problems.html' title='Emacs Tip #24: view-emacs-problems'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6878506498098993288</id><published>2008-05-30T13:00:00.000-07:00</published><updated>2008-05-30T13:01:50.680-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #23: set-goal-column</title><summary type='text'>M-x set-goal-column  (C-x C-n)Emacs generally tries to maintain the same horizontal position for thecursor as you move up and down in the buffer.  However, you may wantto have it "remember" a particular position when perusing a data fileof some sort - perhaps when a certain column has particular interest.C-x C-n does just that.  It sets the current horizontal position asthe goal column.  You can </summary><link rel='related' href='http://sunsite.univie.ac.at/textbooks/emacs/emacs_8.html' title='Emacs Tip #23: set-goal-column'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6878506498098993288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6878506498098993288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6878506498098993288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6878506498098993288'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/05/emacs-tip-23-set-goal-column.html' title='Emacs Tip #23: set-goal-column'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-8297374687109284297</id><published>2008-05-20T08:04:00.000-07:00</published><updated>2008-05-20T08:08:10.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #22: blink-cursor-mode</title><summary type='text'>I couldn't care less about whether or not the cursor blinks.  (note proper use of that phrase, rare in this culture)However, some people really like it, need it, and some people don't like it at all.  A recent thread in comp.emacs brought this to light.So, if you'd like your cursor to blink (or not), add the line:   (blink-cursor-mode 1)      ;; or pass in -1 to turn it offto your .emacs.  By </summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Cursor-Display.html' title='Emacs Tip #22: blink-cursor-mode'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/8297374687109284297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=8297374687109284297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8297374687109284297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8297374687109284297'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/05/emacs-tip-22-blink-cursor-mode.html' title='Emacs Tip #22: blink-cursor-mode'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7563413931351234815</id><published>2008-05-12T09:55:00.000-07:00</published><updated>2008-05-12T09:57:47.822-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #21: pabbrev (predictive abbreviation expansion)</title><summary type='text'>pabbrev is a yet another package for abbreviation expansion in Emacs.  Unlike dabbrev, this one analyzes the contents of the buffers during idle time, and shows potential expansions based on word frequency.  This package also shows potential expansions as you are typing. For example if you were typing 'pred', this is what you would see:   p[oint]   pr[ogn]   pre[-command-hook]   pred[ictive]A TAB</summary><link rel='related' href='http://homepages.cs.ncl.ac.uk/phillip.lord/download/emacs/pabbrev.el' title='Emacs Tip #21: pabbrev (predictive abbreviation expansion)'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7563413931351234815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7563413931351234815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7563413931351234815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7563413931351234815'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/05/emacs-tip-21-pabbrev-predictive.html' title='Emacs Tip #21: pabbrev (predictive abbreviation expansion)'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-8509075842663598445</id><published>2008-05-05T08:29:00.000-07:00</published><updated>2008-05-05T08:32:22.180-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #20: Exiting Emacs</title><summary type='text'>I almost never use this tip, but some might find it handy:    C-x C-cThat is the key-binding to exit emacs, it runs save-buffers-kill-emacs, and the documentation for exiting emacs can be read here: Exiting - GNU Emacs Manual</summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Exiting.html' title='Emacs Tip #20: Exiting Emacs'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/8509075842663598445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=8509075842663598445' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8509075842663598445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8509075842663598445'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/05/emacs-tip-20-exiting-emacs.html' title='Emacs Tip #20: Exiting Emacs'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5468102604805268423</id><published>2008-04-28T09:11:00.000-07:00</published><updated>2008-04-28T09:12:59.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #19: Startup Options (-q)</title><summary type='text'>The most useful two options I've found for starting up emacs are:    -qand    -debug-initThe first disables the loading of your .emacs and default.el files, which is handy when you want to differentiate between problems in your .emacs file and problems outside (.Xdefaults, site specific .emacs, etc.).The second gives you a backtrace when any error happens during loading of your .emacs file.  </summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Initial-Options.html' title='Emacs Tip #19: Startup Options (-q)'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5468102604805268423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5468102604805268423' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5468102604805268423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5468102604805268423'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/04/emacs-tip-19-startup-options-q.html' title='Emacs Tip #19: Startup Options (-q)'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-647885677355707362</id><published>2008-04-21T12:43:00.000-07:00</published><updated>2008-04-21T13:11:31.707-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #18: Keyboard Macros</title><summary type='text'>If you find yourself doing a repetitive set of keystrokes, but don't want to bother with learning how to actually write a script for that, then record a keyboard macro.    C-x (               begins recording    C-x )               ends recording    C-x e               executes the last keyboard macro    C-x C-k             lets you edit the keyboard macro you just wroteIf find yourself using </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/647885677355707362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=647885677355707362' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/647885677355707362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/647885677355707362'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/04/emacs-tip-18-keyboard-macros.html' title='Emacs Tip #18: Keyboard Macros'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7121228017629550626</id><published>2008-04-07T10:31:00.000-07:00</published><updated>2008-04-07T10:55:26.790-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #17: flyspell and flyspell-prog-mode</title><summary type='text'>Being in front of the computer hasn't helped my spelling because it's so easy to let the computer catch and fix the spelling errors for me.  Of course Emacs has spell checking (M-x spell-{buffer,region,string,word}), but what is really handy is spell-checking as you type.Enter flyspell.flyspell is a minor-mode, so enabling it only causes spell-checking in that buffer, so it's handy to add the </summary><link rel='related' href='http://www-sop.inria.fr/mimosa/Manuel.Serrano/flyspell/flyspell.html' title='Emacs Tip #17: flyspell and flyspell-prog-mode'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7121228017629550626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7121228017629550626' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7121228017629550626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7121228017629550626'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/04/emacs-tip-16-flyspell-and-flyspell-prog.html' title='Emacs Tip #17: flyspell and flyspell-prog-mode'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-947743521603101529</id><published>2008-04-01T09:11:00.000-07:00</published><updated>2008-04-01T09:11:28.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #16: check-parens</title><summary type='text'>Ever had trouble finding a mismatched parentheses in a file?  Of course not, you don't make mistakes.But, if you do, you can use the built in functionality of M-x check-parensThe documentation is here Parentheses - GNU Emacs ManualIt doesn't pinpoint the problem as closely as I would have hoped in some modes, but it's better than nothing.</summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Parentheses.html' title='Emacs Tip #16: check-parens'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/947743521603101529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=947743521603101529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/947743521603101529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/947743521603101529'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/04/emacs-tip-16-check-parens.html' title='Emacs Tip #16: check-parens'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-4145785493767416069</id><published>2008-03-24T10:13:00.000-07:00</published><updated>2008-03-24T10:18:38.676-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #15: indent yanked code</title><summary type='text'>I'm a bit apprehensive about this chunk of code, mainly because it facilitates cut/paste coding, which I abhor.  Nevertheless, it does come in handy.When you (shudder) cut/paste code, one of the first things you do is immediately indent the code appropriately.  Well, why not have that done automatically for you?  This chunk of emacs lisp does the trick rather nicely.It will not indent regions </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/4145785493767416069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=4145785493767416069' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4145785493767416069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4145785493767416069'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/03/emacs-tip-15-indent-yanked-code.html' title='Emacs Tip #15: indent yanked code'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6202635725475403177</id><published>2008-03-20T10:30:00.000-07:00</published><updated>2008-03-20T10:30:29.621-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><title type='text'>Interview-1</title><summary type='text'>I've written before about interviewing, but I think there's a topic people have ignored, namely that people conducting interviews forget (in my vast experience of employment in 2 companies) is that a part of the purpose of the interview is to sell the group/company to the interviewee.Shortly after the post in August, a friend of mine started looking for jobs, he interviewed at companies X and Y, </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6202635725475403177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6202635725475403177' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6202635725475403177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6202635725475403177'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/03/interview-1.html' title='Interview&lt;sup&gt;-1&lt;/sup&gt;'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-2563925267054136037</id><published>2008-03-17T11:31:00.001-07:00</published><updated>2008-03-17T11:31:52.023-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #14: caps lock on windows</title><summary type='text'>In my previous job, everyone had Windows laptops, and worked using VNC.  But they never learned the trick to change the Caps Lock key into a Ctrl  key.From the GNU Emacs FAQ for Windows: "Caps"Download  caps-as-ctrl.reg to make CapsLock a Control key (leaving your original control keys as they were), or  caps-ctrl-swap.reg to swap CapsLock and the left Control key. Once you've downloaded them, </summary><link rel='related' href='http://www.gnu.org/software/emacs/windows/faq.html#capscontrol' title='Emacs Tip #14: caps lock on windows'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/2563925267054136037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=2563925267054136037' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2563925267054136037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2563925267054136037'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/03/emacs-tip-14-caps-lock-on-windows.html' title='Emacs Tip #14: caps lock on windows'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5079288703069000443</id><published>2008-03-10T08:43:00.000-07:00</published><updated>2012-01-16T12:47:51.341-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #13: browse-kill-ring</title><summary type='text'>The kill-ring.  You know about the kill-ring, right?

C-h i m emacs RET kill ring RET

Ok, now you know about the kill-ring, it is basically a list of all the chunks of text that have been cut (C-w) (or just saved using M-w).  The basic interaction with the kill-ring is:

C-y     (aka "yank" aka "paste")

After you've pasted text, if you didn't want that, but an earlier chunk of text, the key M-y</summary><link rel='related' href='http://www.todesschaf.org/files/browse-kill-ring.el' title='Emacs Tip #13: browse-kill-ring'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5079288703069000443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5079288703069000443' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5079288703069000443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5079288703069000443'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/03/emacs-tip-13-browse-kill-ring.html' title='Emacs Tip #13: browse-kill-ring'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-8902461288851796890</id><published>2008-03-03T08:57:00.000-08:00</published><updated>2008-03-03T08:58:24.961-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #12: show-trailing-whitespace</title><summary type='text'>If you don't like having lines of code/text with whitespace at theends, you can turn on the variable 'show-trailing-whitespace' to haveEmacs highlight the offending whitespace.When set, the variable's value becomes buffer local, so set it to truein the mode-hooks for your preferred modes.  Or, if you want it on allthe time, change the default value with:(setq-default show-trailing-whitespace t)</summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/8902461288851796890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=8902461288851796890' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8902461288851796890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8902461288851796890'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/03/emacs-tip-12-show-trailing-whitespace.html' title='Emacs Tip #12: show-trailing-whitespace'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6826564281814816731</id><published>2008-02-27T20:40:00.000-08:00</published><updated>2008-02-27T20:52:29.950-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Arc's Out</title><summary type='text'>Paul Graham recently released his new language ArcSome think it is a great step, others think it's a big yawn, many people don't like Paul Graham for who knows what reason.I read about half of On Lisp, and intend to read the other half at some point, because it really did open up what I thought of Lisp (and I'm already a convert).But one thing I remember thinking when PG first mentioned Arc's </summary><link rel='related' href='http://www.paulgraham.com/arc0.html' title='Arc&apos;s Out'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6826564281814816731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6826564281814816731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6826564281814816731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6826564281814816731'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/02/arcs-out.html' title='Arc&apos;s Out'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6517422721044060741</id><published>2008-01-21T10:08:00.000-08:00</published><updated>2008-01-21T10:15:24.260-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #11: uniquify</title><summary type='text'>Do you dislike the buffer names Emacs generates when two files have the same name?  e.g. "myfile.txt" and "myfile.txt&lt;2&gt;"A package 'uniquify' changes the default naming of buffers to include parts of the file name (directory names) until the buffer names are unique.For instance, buffers visiting the files:    /u/mernst/tmp/Makefile    /usr/projects/zaphod/Makefilewould be named    Makefile|tmp</summary><link rel='related' href='http://www.gnu.org/software/emacs/manual/html_node/emacs/Uniquify.html' title='Emacs Tip #11: uniquify'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6517422721044060741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6517422721044060741' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6517422721044060741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6517422721044060741'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/01/emacs-tip-11-uniquify.html' title='Emacs Tip #11: uniquify'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-2695349983371598691</id><published>2008-01-16T13:41:00.000-08:00</published><updated>2008-01-16T15:24:52.892-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='link'/><title type='text'>Teach The Hard Stuff</title><summary type='text'>I read the Coding Horror entry on how to teach Computer Science the other day...Coding Horror: How Should We Teach Computer Science?: "If we aren't teaching fundamental software engineering skills like deployment and source control in college today, we're teaching computer science the wrong way. What good is learning to write code in the abstract if you can't work on that code as a team in a </summary><link rel='related' href='http://www.codinghorror.com/blog/archives/001035.html' title='Teach The Hard Stuff'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/2695349983371598691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=2695349983371598691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2695349983371598691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/2695349983371598691'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/01/teach-hard-stuff.html' title='Teach The Hard Stuff'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-4580489821951489901</id><published>2008-01-14T13:38:00.000-08:00</published><updated>2008-04-07T10:32:55.064-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #10: sig-quote (intelligent, random signatures)</title><summary type='text'>Way back when I first started using Emacs, I read email with it.  A friend had some script which modified his .signature file with a random quote every 30 seconds.  I thought that was kind of neat, but I wanted every email to get its own, random, quote.  At the time I didn't know how to get a random number in a simple shell script, so I started writing something using Emacs directly.A random </summary><link rel='related' href='http://www.emacswiki.org/cgi-bin/emacs/sig-quote.el' title='Emacs Tip #10: sig-quote (intelligent, random signatures)'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/4580489821951489901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=4580489821951489901' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4580489821951489901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/4580489821951489901'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/01/emacs-tip-10-sig-quote-intelligent.html' title='Emacs Tip #10: sig-quote (intelligent, random signatures)'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-6070327230883045985</id><published>2008-01-10T13:31:00.000-08:00</published><updated>2008-01-10T13:51:49.979-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #9: Gnus/Gmail integration (using IMAP)</title><summary type='text'>Like many folks, I use Google for more and more.  When I noticed Google's announcement that Gmail supports IMAP, I knew I could read my Gmail from Emacs.The question was, how do you set up the integration?  The Emacs wiki had instructions on how to read email, which worked nicely.  But I wanted to enable Gmail to gather the mail I sent from Emacs into its conversation groups (it's no Gnus </summary><link rel='related' href='http://www.emacswiki.org/cgi-bin/emacs/gmail-message-send-mail.el' title='Emacs Tip #9: Gnus/Gmail integration (using IMAP)'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/6070327230883045985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=6070327230883045985' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6070327230883045985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/6070327230883045985'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/01/emacs-tip-9-gnusgmail-integration-using.html' title='Emacs Tip #9: Gnus/Gmail integration (using IMAP)'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7475834578380919147</id><published>2008-01-04T15:06:00.000-08:00</published><updated>2008-01-04T15:26:31.862-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Emacs Tip #8 : markdown</title><summary type='text'>I saw a post for auto-generating HTML and thought, neat trick.  My preferred email client is Gnus, which already mimics that (changing *text* into text and so forth).But how cool would it be to have both my regular text show up, as well as an HTML version (when useful) - I already write using the syntax of markdown.Mr. O'Connor happened to choose to do integration using Python (preferred </summary><link rel='related' href='http://daringfireball.net/projects/markdown/' title='Emacs Tip #8 : markdown'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7475834578380919147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7475834578380919147' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7475834578380919147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7475834578380919147'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/01/emacs-tip-8-markdown.html' title='Emacs Tip #8 : markdown'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7897872188647844641</id><published>2008-01-02T09:08:00.000-08:00</published><updated>2008-01-15T12:26:55.563-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #7: resolve-sym-link</title><summary type='text'>It's often nice to find the true path to a file or directory.  Since I work in Emacs, it's often easier to use find-file to discover the path, and then invoke this little diddy.  I like having it bound to C-r(defun resolve-sym-link ()  "Replace the string at the point with the true path."  (interactive)  (beginning-of-line)   (let* ((file (buffer-substring (point)</summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7897872188647844641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7897872188647844641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7897872188647844641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7897872188647844641'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2008/01/emacs-tip-7-resolve-sym-link.html' title='Emacs Tip #7: resolve-sym-link'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-8742012558068446642</id><published>2007-12-27T13:05:00.000-08:00</published><updated>2008-01-03T09:16:01.899-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs TIp #6: advice</title><summary type='text'>This is an advanced tip, but it has simple applications.Don't you wish you could change some of the built-in routines?  Youlike the way they work, but would tweak it just a little bit.For example, 'ispell' does a great service: it provides suggestionsfor the correct spelling of a misspelled word.  Wonderful, I use itall the time.  However, it often has the order of choices exactlyopposite of what</summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/8742012558068446642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=8742012558068446642' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8742012558068446642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8742012558068446642'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2007/12/emacs-tip-6-advice.html' title='Emacs TIp #6: advice'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-87851610065328894</id><published>2007-12-27T12:31:00.000-08:00</published><updated>2007-12-27T12:50:39.050-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><title type='text'>Emacs Tip #5: hippie-expand</title><summary type='text'>One thing about Emacs is that it's always trying to save you from typing.  Sure, there are jokes about repetitive strain injury, but, in fact, Emacs is trying to save you from typing.One of the cooler built-in completion commands is 'dabbrev-expand, bound to M-/ by default.What 'dabbrev-expand does is that it looks at the word you're currently typing and tries to expand it to match one a word </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/87851610065328894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=87851610065328894' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/87851610065328894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/87851610065328894'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2007/12/emacs-tip-5-hippie-expand.html' title='Emacs Tip #5: hippie-expand'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-7577676170824780096</id><published>2007-12-27T12:23:00.000-08:00</published><updated>2007-12-27T12:24:40.478-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>9 Tips for the aspiring Emacs playboy | LispCast</title><summary type='text'>Ha, saw this today and had to laugh because of the images.  They are pretty good tips.9 Tips for the aspiring Emacs playboyThe only other tip I'd add would be to subscribe to this blog.</summary><link rel='related' href='http://www.lispcast.com/index.php/2007/12/9-tips-for-the-aspiring-emacs-playboy/' title='9 Tips for the aspiring Emacs playboy | LispCast'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/7577676170824780096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=7577676170824780096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7577676170824780096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/7577676170824780096'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2007/12/9-tips-for-aspiring-emacs-playboy.html' title='9 Tips for the aspiring Emacs playboy | LispCast'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-8673942298206483746</id><published>2007-12-17T08:51:00.000-08:00</published><updated>2009-03-30T08:00:31.838-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #4: keybinding FAQ</title><summary type='text'>Jari Aalto has written probably the most comprehensive keybindingguide for Emacs around.  It can clear up any questions you have that weren't addressed by the *info* pages.http://www.nongnu.org/emacs-tiny-tools/keybindings/Edited to update link</summary><link rel='related' href='http://tiny-tools.sourceforge.net/emacs-keys.html' title='Emacs Tip #4: keybinding FAQ'/><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/8673942298206483746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=8673942298206483746' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8673942298206483746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8673942298206483746'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2007/12/emacs-tip-4-keybinding-faq.html' title='Emacs Tip #4: keybinding FAQ'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-9175031468640416326</id><published>2007-12-10T11:11:00.000-08:00</published><updated>2007-12-10T11:13:01.817-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #3: disabling commands</title><summary type='text'>Emacs disables some commands by default, upcase-region is one suchcommand.  I'm not sure why the commands are disabled, but they are,and it can be real confusing when you come across one.When you do, Emacs will prompt you with something like: You have typed C-x C-u, invoking disabled command upcase-region: Convert the region to upper case.  In programs, wants two arguments. These arguments </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/9175031468640416326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=9175031468640416326' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/9175031468640416326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/9175031468640416326'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2007/12/emacs-tip-3-disabling-commands.html' title='Emacs Tip #3: disabling commands'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-8329647239260655459</id><published>2007-12-07T20:16:00.000-08:00</published><updated>2011-04-02T12:36:38.830-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #2: global-auto-revert-mode</title><summary type='text'>If you often look at files that are updated (perhaps a log file for arunning process), or perhaps ClearCase files (that change when youupdate the config spec), you'll want to make sure you're looking atthe most recent version of the file.To do this, add the following to your .emacs:(global-auto-revert-mode 1)For more documentation type:C-h f global-auto-revert-mode RET</summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/8329647239260655459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=8329647239260655459' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8329647239260655459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/8329647239260655459'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2007/12/emacs-tip-2.html' title='Emacs Tip #2: global-auto-revert-mode'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2304251215826746968.post-5770243642044621072</id><published>2007-12-06T11:14:00.000-08:00</published><updated>2007-12-10T11:14:02.023-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs-tip'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs-basic'/><title type='text'>Emacs Tip #1: where to start</title><summary type='text'>This week's tip is dedicated to all the Emacs newbies.  Here are a couple of places you new Emacs users might want to visit to get a taste of what is available.C-h truns the tutorialC-h iloads up the *info* pages - hyperlinked documentationC-h Nemacs news (what's new in this version)http://www.emacswiki.org/cgi-bin/wikithe wiki pageshttp://groups.google.com/group/gnu.emacs.helpgnu emacs help </summary><link rel='replies' type='application/atom+xml' href='http://trey-jackson.blogspot.com/feeds/5770243642044621072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2304251215826746968&amp;postID=5770243642044621072' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5770243642044621072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2304251215826746968/posts/default/5770243642044621072'/><link rel='alternate' type='text/html' href='http://trey-jackson.blogspot.com/2007/12/emacs-tip-1.html' title='Emacs Tip #1: where to start'/><author><name>BFW</name><uri>http://www.blogger.com/profile/03202031495623868181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_QslLjUR_FHU/S7S-InHyxQI/AAAAAAAAA_A/9d2F07bjXUM/S220/Slickrock_Sunset_Trey_Descend_Profile.JPG'/></author><thr:total>1</thr:total></entry></feed>
