<?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-4166588008280027121</id><updated>2011-11-16T20:49:28.267-08:00</updated><category term='gpg'/><category term='translate'/><category term='icons'/><category term='epg'/><category term='googleweather'/><category term='smartborders'/><category term='asus'/><category term='offline'/><category term='hosting'/><category term='events'/><category term='interfaces'/><category term='regexp'/><category term='routers'/><category term='ip'/><category term='sessions'/><category term='restore'/><category term='ppp'/><category term='ido-mode'/><category term='git'/><category term='repost'/><category term='ibuffers'/><category term='spellchecking_flyspell'/><category term='email'/><category term='ghci'/><category term='xhtml'/><category term='weather'/><category term='facebook'/><category term='narrowing'/><category term='dovecot'/><category term='hw'/><category term='ps3'/><category term='semantic'/><category term='java'/><category term='uktv'/><category term='dotemacs'/><category term='nnimap'/><category term='internationalisation'/><category term='networking'/><category term='root'/><category term='xrandr'/><category term='dns'/><category term='netboox'/><category term='xorg.conf'/><category term='up'/><category term='dhcp'/><category term='emms'/><category term='webs'/><category term='blogging'/><category term='barwebs'/><category term='colortheme'/><category term='nvidia'/><category term='google'/><category term='hushlogin'/><category term='addthis'/><category term='cedega'/><category term='smtp'/><category term='peer'/><category term='persistance'/><category term='flyspell'/><category term='github'/><category term='googlecl'/><category term='template'/><category term='twit'/><category term='sync'/><category term='keychain'/><category term='pgp'/><category term='gimp'/><category term='irc'/><category term='elisp'/><category term='nfs'/><category term='iplayer'/><category term='update'/><category term='share'/><category term='planetemacsen'/><category term='barweb'/><category term='navigation'/><category term='init'/><category term='psu'/><category term='startup'/><category term='ln'/><category term='ssh'/><category term='music'/><category term='bbdb'/><category term='multi-term'/><category term='xmonad'/><category term='meta'/><category term='sudo'/><category term='blackberry'/><category term='escreen'/><category term='twitter'/><category term='source code'/><category term='server'/><category term='autoconfirm'/><category term='vpn'/><category term='bopr'/><category term='org-mode'/><category term='completion'/><category term='liquorix'/><category term='srcblocks'/><category term='dictem'/><category term='web'/><category term='rsync'/><category term='emacsclient'/><category term='elscree'/><category term='blogspot'/><category term='lenny'/><category term='epa'/><category term='settings'/><category term='pipe'/><category term='w3m'/><category term='autoloads'/><category term='firefox'/><category term='systemprocess'/><category term='erc'/><category term='sudoers'/><category term='css'/><category term='midnight'/><category term='egg'/><category term='haskell'/><category term='journal'/><category term='function'/><category term='gnupgp'/><category term='eclipse'/><category term='babel'/><category term='opengraph'/><category term='changes'/><category term='bind'/><category term='backup'/><category term='buffers'/><category term='emacsdaemon'/><category term='gdm'/><category term='mysql'/><category term='toggle'/><category term='security'/><category term='editeventform'/><category term='pptp'/><category term='nognus'/><category term='bash'/><category term='sendmail'/><category term='gaming'/><category term='hacker'/><category term='vhost'/><category term='split'/><category term='tramp'/><category term='global'/><category term='edit'/><category term='gogglecl'/><category term='postingstyles'/><category term='html'/><category term='isearch'/><category term='msmtp'/><category term='elscreen'/><category term='url'/><category term='exim4'/><category term='proxy'/><category term='javascript'/><category term='fairway'/><category term='nntp'/><category term='export'/><category term='sourcecode'/><category term='bitlbee'/><category term='daemon'/><category term='authinfo'/><category term='python'/><category term='uncharted'/><category term='debian'/><category term='mpd'/><category term='layout'/><category term='crawler'/><category term='file'/><category term='sitemaps'/><category term='anon'/><category term='yoono'/><category term='workgroups'/><category term='linux'/><category term='apache'/><category term='debug'/><category term='browse'/><category term='commandline'/><category term='emacs'/><category term='tabs'/><category term='tlm'/><category term='php'/><category term='programming'/><category term='webmaster'/><category term='bbc'/><category term='blog'/><category term='loaddefs'/><category term='blogger'/><category term='terminal'/><category term='orgmode'/><category term='fuzzy'/><category term='gtags'/><category term='imap'/><category term='languages'/><category term='cedet'/><category term='history'/><category term='search'/><category term='chromium'/><category term='kdm'/><category term='iface'/><category term='gnus'/><category term='freenode'/><title type='text'>Open Sauce</title><subtitle type='html'>Stuff And Things</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default?start-index=101&amp;max-results=100'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>154</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-834852518415092376</id><published>2011-10-12T10:33:00.001-07:00</published><updated>2011-10-12T10:41:35.956-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='buffers'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='completion'/><category scheme='http://www.blogger.com/atom/ns#' term='ido-mode'/><title type='text'>ido-mode and virtual buffers</title><content type='html'>Every now and again you come across something in Emacs and slap your forehead and say "why didn't I notice that before". ido-mode is one, but the setting  ido-use-virtual-buffers really makes it. The concept is simple : ido-mode remembers all your past buffers so all you need to do is "C-x b" (ido-switch-buffer) and start to type the filename and ido will complete to it having remembered it from previous sessions. No need to use C-x C-f and possibly the ido find facility any more - just type the mainpart of the filename or part of it. Incredible cool time saver and very very useful. &lt;br /&gt;&lt;br /&gt;From the Manual&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ido-use-virtual-buffers is a variable defined in `ido.el'.&lt;br /&gt;Its value is t&lt;br /&gt;Original value was nil&lt;br /&gt;&lt;br /&gt;Documentation:&lt;br /&gt;If non-nil, refer to past buffers as well as existing ones.&lt;br /&gt;Essentially it works as follows: Say you are visiting a file and&lt;br /&gt;the buffer gets cleaned up by mignight.el.  Later, you want to&lt;br /&gt;switch to that buffer, but find it's no longer open.  With&lt;br /&gt;virtual buffers enabled, the buffer name stays in the buffer&lt;br /&gt;list (using the `ido-virtual' face, and always at the end), and if&lt;br /&gt;you select it, it opens the file back up again.  This allows you&lt;br /&gt;to think less about whether recently opened files are still open&lt;br /&gt;or not.  Most of the time you can quit Emacs, restart, and then&lt;br /&gt;switch to a file buffer that was previously open as if it still&lt;br /&gt;were.&lt;br /&gt;    This feature relies upon the `recentf' package, which will be&lt;br /&gt;enabled if this variable is configured to a non-nil value.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;my ido settings are currently:-&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; '(ido-create-new-buffer (quote never))&lt;br /&gt; '(ido-enable-flex-matching t)&lt;br /&gt; '(ido-enable-last-directory-history nil)&lt;br /&gt; '(ido-enable-regexp nil)&lt;br /&gt; '(ido-max-directory-size 300000)&lt;br /&gt; '(ido-max-file-prompt-width 0.1)&lt;br /&gt; '(ido-use-filename-at-point (quote guess))&lt;br /&gt; '(ido-use-url-at-point t)&lt;br /&gt; '(ido-use-virtual-buffers t)&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-834852518415092376?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/834852518415092376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/10/ido-mode-and-virtual-buffers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/834852518415092376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/834852518415092376'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/10/ido-mode-and-virtual-buffers.html' title='ido-mode and virtual buffers'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1611664723220183531</id><published>2011-10-05T10:31:00.000-07:00</published><updated>2011-10-05T13:59:38.992-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><title type='text'>Javascript utilities</title><content type='html'>Playing with javascript lately I came across a super utility called jshint : and Dale Harvey has produced a super jshint-mode! For a javascript nOOb like me it's invaluable when combined with jslint (jshint can replace it, but you might like to turn it off at times then manually invoke jslint instead).&lt;br /&gt;&lt;br /&gt;See : &lt;a href="https://github.com/daleharvey/jshint-mode"&gt;jshint&lt;/a&gt; and &lt;a href="http://www.javascriptlint.com/"&gt;Javascript Lint&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My javascript set up:-&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;(require 'js-beautify)&lt;br /&gt;&lt;br /&gt; (add-to-list 'load-path "~/.emacs.d/jquery-doc") &lt;br /&gt;(require 'jquery-doc)&lt;br /&gt;(add-hook 'js2-mode-hook 'jquery-doc-setup)&lt;br /&gt;(require 'flymake-jshint)&lt;br /&gt;(add-hook 'js2-mode-hook&lt;br /&gt;     (lambda () (flymake-mode t)))&lt;br /&gt;&lt;br /&gt;(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))&lt;br /&gt;&lt;br /&gt;;; (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))&lt;br /&gt;(add-hook 'js2-mode-hook '(lambda () (js-beautify)(define-key js2-mode-map (kbd "M-t")  (lambda()(interactive)(js-beautify)))(define-key js2-mode-map [(shift f10)]  (lambda()(interactive)(jslint-thisfile)))))&lt;br /&gt;&lt;br /&gt;;; javascript lint &lt;br /&gt;(defun jslint-thisfile ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (compile (format "jsl -process %s" (buffer-file-name))))&lt;br /&gt;(defun jslint-thisfile-test ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (compile (format "jsl -process %s" (buffer-file-name))))&lt;br /&gt;&lt;br /&gt;(provide 'rgr-javascript)&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1611664723220183531?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1611664723220183531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/10/javascript-utilities.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1611664723220183531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1611664723220183531'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/10/javascript-utilities.html' title='Javascript utilities'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4526018077265089711</id><published>2011-09-21T09:45:00.000-07:00</published><updated>2011-09-21T09:47:46.487-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='startup'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='gdm'/><category scheme='http://www.blogger.com/atom/ns#' term='kdm'/><title type='text'>Booting Debian without X/GDM</title><content type='html'>Simply remove the startup links for the display manager. e.g I used gdm3 :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo update-rc.d -f gdm3 remove&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Reboot and voila, my little Thinkpad is running as an exim4 MTA, mysql rdbms, apache virtual hosting server and general lan gateway but with an extra few hundred megs of RAM as we haven't loaded the extremely heavy X........&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4526018077265089711?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4526018077265089711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/09/booting-debian-without-xgdm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4526018077265089711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4526018077265089711'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/09/booting-debian-without-xgdm.html' title='Booting Debian without X/GDM'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7484453195218785580</id><published>2011-08-24T11:08:00.001-07:00</published><updated>2011-08-24T11:08:57.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vhost'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='ln'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>bash script to symbolically link using find results</title><content type='html'>&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;find /var/www/webs -name 'vhost' -exec bash -c 'IFS=/ read -a names &lt;&lt;&lt; "$1"; ln -sf "$1" "${names[4]}"' -- {} \;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7484453195218785580?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7484453195218785580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/08/bash-script-to-symbolically-link-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7484453195218785580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7484453195218785580'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/08/bash-script-to-symbolically-link-using.html' title='bash script to symbolically link using find results'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-86504270373136727</id><published>2011-08-14T04:34:00.000-07:00</published><updated>2011-08-14T04:42:13.075-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='restore'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>Backup all mysql databases for project infrastructure</title><content type='html'>Frequently I need to back up all the databases on the server and restore locally on the development machine for testing/backup. These scripts (on the bash $PATH) do just that. Sorry about the indentation but I dont have the inclination to fight with bloggers defaults today....&lt;br /&gt;&lt;br /&gt;(1) backup-web-databases&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;for dir in "${1:-$HOME/webs}"/*/&lt;br /&gt;do&lt;br /&gt;    if [[  $(basename "$dir") != "template" ]]&lt;br /&gt;    then&lt;br /&gt;	cd ${dir}&lt;br /&gt;	if [ -e "db" ]&lt;br /&gt;	then&lt;br /&gt;	    echo "Backing up database in ${dir}"&lt;br /&gt;	    backup-database&lt;br /&gt;	fi&lt;br /&gt;    fi&lt;br /&gt;done&lt;br /&gt;cd ~/webs&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(2) backup-database : this parses an authinfo file in the format "user password dbinstance host"&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;[ -a db/backups ] || mkdir db/backups&lt;br /&gt;read -r uid pwd dbname  rest &lt; &lt;(head -1 db/authinfo)&lt;br /&gt;mysqldump --skip-lock-tables -u${uid} -p${pwd} --database ${dbname}  &gt; db/backups/db-backup.sql&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(3) restore-web-databases&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;cd ~/webs&lt;br /&gt;for dir in "${1:-$HOME/webs}"/*/&lt;br /&gt;do&lt;br /&gt;    if [ "$(basename "$dir")" != "template" ]&lt;br /&gt;    then&lt;br /&gt;	cd ${dir}&lt;br /&gt;	if [ -e "db" ]&lt;br /&gt;	then&lt;br /&gt;	    restore-database&lt;br /&gt;	fi&lt;br /&gt;    fi&lt;br /&gt;done&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(4) restore-database&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;[ -a db/backups ] || mkdir db/backups&lt;br /&gt;read -r uid pwd dbname  rest &lt; &lt;(head -1 db/authinfo)&lt;br /&gt;if [ -e "db/backups/db-backup.sql" ]&lt;br /&gt;then&lt;br /&gt;    echo "Restoring DB for `pwd`"&lt;br /&gt;    mysql -u ${uid} -p${pwd} &lt; db/backups/db-backup.sql&lt;br /&gt;else&lt;br /&gt;    echo "No DB back found in `pwd`"&lt;br /&gt;fi&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-86504270373136727?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/86504270373136727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/08/backup-all-mysql-databases-for-my-webs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/86504270373136727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/86504270373136727'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/08/backup-all-mysql-databases-for-my-webs.html' title='Backup all mysql databases for project infrastructure'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5952047460031407098</id><published>2011-07-07T03:49:00.001-07:00</published><updated>2011-07-07T03:49:34.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip'/><category scheme='http://www.blogger.com/atom/ns#' term='ppp'/><category scheme='http://www.blogger.com/atom/ns#' term='up'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='vpn'/><title type='text'>modifications to up scripts for vpn</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.linuxselfhelp.com/howtos/PPP/PPP-HOWTO-23.html"&gt;http://www.linuxselfhelp.com/howtos/PPP/PPP-HOWTO-23.html&lt;/a&gt;&lt;br /&gt;In the scripts in &lt;i&gt;etc/ppp/ip-up.d&lt;/i&gt; you can use&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;When the ppp link comes up, this script is called with the following&lt;br /&gt;parameters&lt;br /&gt;      $1      the interface name used by pppd (e.g. ppp3)&lt;br /&gt;      $2      the tty device name&lt;br /&gt;      $3      the tty device speed&lt;br /&gt;      $4      the local IP address for the interface&lt;br /&gt;      $5      the remote IP address&lt;br /&gt;      $6      the parameter specified by the 'ipparam' option to pppd&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Silly I missed that.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5952047460031407098?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5952047460031407098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/modifications-to-up-scripts-for-vpn_4958.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5952047460031407098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5952047460031407098'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/modifications-to-up-scripts-for-vpn_4958.html' title='modifications to up scripts for vpn'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8658999226987364400</id><published>2011-07-06T18:00:00.003-07:00</published><updated>2011-07-06T18:00:45.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><title type='text'>Bash script to sync a number of machines from the current one</title><content type='html'>&lt;br /&gt;&lt;p&gt;pass "all" to do the lot from one major node. edit as appropriate.&lt;br /&gt;set SYNCHOSTS if you like or set the defaults as appropriate.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;COMMAND=$1&lt;br /&gt;&lt;br /&gt;hosts=${SYNCHOSTS};&lt;br /&gt;if [ -z ${hosts} ]; then&lt;br /&gt;    hosts=(asus x30 dev t60)&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;for myhost in "${hosts[@]}"; &lt;br /&gt;do&lt;br /&gt;    ping -c 1 "$myhost" &amp;gt; /dev/null&lt;br /&gt;    if [ "$?" -eq 0 ] ; then&lt;br /&gt;        echo "${myhost} up"&lt;br /&gt;        if [ "${COMMAND}" = "all" ]; then &lt;br /&gt;            rsync -avz  --force --exclude ".emacs.d/agent" --exclude ".emacs.d/url" --delete --exclude "auto-save-list" --exclude ".gnuskillfiled" --exclude "*~" --ignore-errors ~/common-files  $USER@$myhost:&lt;br /&gt;        else&lt;br /&gt;            rsync -avz ~/Mail  $USER@$myhost:&lt;br /&gt;            rsync -avz ~/.org-files  $USER@$myhost:&lt;br /&gt;            rsync -avz ~/bin  $USER@$myhost:&lt;br /&gt;        fi&lt;br /&gt;    else&lt;br /&gt;        echo "$myhost down"&lt;br /&gt;    fi&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8658999226987364400?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8658999226987364400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/bash-script-to-sync-number-of-machines_3999.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8658999226987364400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8658999226987364400'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/bash-script-to-sync-number-of-machines_3999.html' title='Bash script to sync a number of machines from the current one'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-9117214561045708711</id><published>2011-07-06T16:48:00.001-07:00</published><updated>2011-07-06T16:48:02.760-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='iface'/><title type='text'>script to return ip address of an interface</title><content type='html'>&lt;pre class="example"&gt;#!/bin/bash&lt;br /&gt;sudo ifconfig ${1-eth1} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-9117214561045708711?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/9117214561045708711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/script-to-return-ip-address-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9117214561045708711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9117214561045708711'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/script-to-return-ip-address-of.html' title='script to return ip address of an interface'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-3810515749825082348</id><published>2011-07-06T12:55:00.001-07:00</published><updated>2011-07-06T15:51:19.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='pptp'/><category scheme='http://www.blogger.com/atom/ns#' term='interfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='vpn'/><category scheme='http://www.blogger.com/atom/ns#' term='iplayer'/><category scheme='http://www.blogger.com/atom/ns#' term='iface'/><category scheme='http://www.blogger.com/atom/ns#' term='bbc'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><title type='text'>Going Anonymous - the Linux way : iPlayer, VPNs and PPTP</title><content type='html'>&lt;p&gt;Somewhat naughtily I have a hankering to watch UK TV on my PC at times. There's only so much Dieter Bohlen and the Bavarian Brass Quartet one can take. Alas, in a fit of stupiditiy and bureaucracy English online TV is not allowed - they filter youby your country's IP address. The IP address is the "unique" address of yourinternet connection - its how hackers and "groomers" are caught! So the "easy"way is to use whats called a "proxy". A proxy routes some or all of yourinternet traffic through a "proxy" and the site you are visiting sees the IP address of the proxy and not your own country/location specific IP. As a resultof this the BBC and ITV or &lt;b&gt;any&lt;/b&gt; site that limits its viewers gladly give uptheir goodies in this victim-less crime.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;img style="width:128px;" src=http://i.imgur.com/H5JKP.png"/&gt;&lt;br /&gt;There is a problem however. Good proxies are hard to find. And when you do find them many wont stream video -only static web content. Where there is a need there is a supplier however! Andsure enough you can purchase a "proxy" from companies in the UK. This led me to consider a VPN after a friend mentioned them. A VPN, or Virtual Private Network,allows you to route traffic to a remote end point. And that remote end point hasits own localised IP address. So how to do this in Linux?The first option is the simply atrocious Network-Manager. It provides a GUI foryou to set up a VPN. When it doesnt crash. It also, and bizarrely, ignores and/or clashes with the standard Linux network stack configuration files. All that AND it only allows one VPN to be enabled.The second option was to read up on and manage manually the horrifically complexLinux network config files. My loathing for Network-Manager made me role up my sleeves and take this approach.So, this small blog doesnt wax lrical on the hurdles but merely explains the results! Hopefully it can be used to help you get a vpn working.So, off we go.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;img style="width:128px;" src=http://i.imgur.com/H5JKP.png"/&gt;&lt;br /&gt;First step is the /etc/network/interfaces file&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;auto lo&lt;br /&gt;iface lo inet loopback&lt;br /&gt;&lt;br /&gt;auto eth1&lt;br /&gt;iface eth1 inet dhcp&lt;br /&gt;&lt;br /&gt;iface uk1 inet ppp&lt;br /&gt; provider uk1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Here we have defined a device, uk1, for the vpn. Note the "ppp". This tells th enetworking infrastructure that its a peer to peer connect. We need more info to establish the connection : the "provider" clause points to /etc/ppp/peer/uk1which is as follows:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;pty "pptp VPN_SERVER-ADDRESS --nolaunchpppd"&lt;br /&gt;name user@gmail.com&lt;br /&gt;remotename PPTP&lt;br /&gt;require-mppe-128&lt;br /&gt;file /etc/ppp/options.pptp&lt;br /&gt;ipparam uk1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The personalised parts are obvious enough. But what about authentication? The "name" clause in the previous file is mapped to to an auth file : in this case/etc/ppp/chap-secrets where the contents are simply&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;# Secrets for authentication using CHAP&lt;br /&gt;# client        server  secret                  IP addresses&lt;br /&gt;user@mail.com PPTP PASSWORD-FOR-VPN-SERVER *&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;How do we fire this up? Two ways&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;sudo pon uk1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;or&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;sudo ifup uk1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;If success you will see a new route in your routing table! But this route is currently not used since we havent yet told the system WHAT data must travel onthis new route.Before we bring "up" the interface :&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;[5107]shamrock@development:/etc/ppp$ sudo route -n&lt;br /&gt;Kernel IP routing table&lt;br /&gt;Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;87.117.198.127  192.168.0.1     255.255.255.255 UGH   0      0        0 eth1&lt;br /&gt;192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1&lt;br /&gt;0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth1&lt;br /&gt;[5108]shamrock@development:/etc/ppp$ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;After:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;[5109]shamrock@development:/etc/ppp$ sudo ifup uk1&lt;br /&gt;[5110]shamrock@development:/etc/ppp$ sudo route -n&lt;br /&gt;Kernel IP routing table&lt;br /&gt;Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;192.168.10.1    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0&lt;br /&gt;87.117.198.127  192.168.0.1     255.255.255.255 UGH   0      0        0 eth1&lt;br /&gt;192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1&lt;br /&gt;0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;In this example the ip address "87.117.198.127" is that of us that will appear to the sites we visit, the new interface ppp0 is there too. A quick look in our/var/log/syslog shows what happened in more detail:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;Jul  6 20:49:12 dev pppd[1]: pppd 2.4.5 started by root, uid 0&lt;br /&gt;Jul  6 20:49:12 dev pppd[1]: Using interface ppp0&lt;br /&gt;Jul  6 20:49:12 dev pppd[1]: Connect: ppp0 &amp;lt;--&amp;gt; /dev/pts/3&lt;br /&gt;Jul  6 20:49:12 dev pptp[2]: anon log[main:pptp.c:314]: The synchronous pptp option is NOT activated&lt;br /&gt;Jul  6 20:49:12 dev pptp[3]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'&lt;br /&gt;Jul  6 20:49:13 dev pptp[3]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply&lt;br /&gt;Jul  6 20:49:13 dev pptp[3]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.&lt;br /&gt;Jul  6 20:49:13 dev pptp[3]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'&lt;br /&gt;Jul  6 20:49:14 dev pptp[3]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.&lt;br /&gt;Jul  6 20:49:14 dev pptp[3]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 33920).&lt;br /&gt;Jul  6 20:49:14 dev pptp[2]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 5 (expecting 4, lost or reordered)&lt;br /&gt;Jul  6 20:49:14 dev pppd[1]: CHAP authentication succeeded&lt;br /&gt;Jul  6 20:49:14 dev pppd[1]: MPPE 128-bit stateless compression enabled&lt;br /&gt;Jul  6 20:49:14 dev pppd[1]: local  IP address 192.168.10.24&lt;br /&gt;Jul  6 20:49:14 dev pppd[1]: remote IP address 192.168.10.1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;So we have this vpn enabled now but how do we use it?One way to make us totally anonymous would be to simply set our local gateway default to ppp0 as opposed to eth1 e.g&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;sudo route add default gw GATEWAY-IP&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;But how can we dynamically get the GATEWAY IP assigned by our pptp connection? A little bit of awk and sed:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;sudo route add default gw `sudo ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;At this point ALL traffic from this PC would be routed via our VPN and ALL sitesand servers visitied would see the ip 87.117.198.127 as your address andtherefore consider you "located" at the place where the IP was issued. The UK for the BBC, US for Fox News etc - depending on what VPN package you purchased.Up to this point you would be totally anaonymous. Well, anonymous enough! Dont think for a minute you can then go breaking laws and not get caught. The VPN companies WILL keep logs no matter what they claim. They will be able toassociate your real IP address with your "anonymous" one and therefore YOU ifpressed by the authorities!So how would we go about only routine &lt;b&gt;certain&lt;/b&gt; traffic? e.g ONLY the traffic for the BBC web site iPlayer? Here comes the wonderful "route" command. e.g consider this "uktv" script:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;#!/bin/bash&lt;br /&gt;IFACE=${2-ppp0}&lt;br /&gt;sudo ifup ${3-uk1} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;sudo route ${1-add} -host www.bbc.co.uk gw `sudo ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` ${IFACE}&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;sudo route ${1-add} -host www.itv.com   gw `sudo ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` ${IFACE}&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;This adds our new VPN as the gateway for all traffic for the two sites bbc.co.uk and itv.com. Be aware of the laws of your country!It can be used to add and remove the gateway for these sites simply enough:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;%uktv&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;turns them on. Our routing table now looks like this:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;[5114]shamrock@development:/etc/ppp$ uktv&lt;br /&gt;[5115]shamrock@development:/etc/ppp$ sudo route -n&lt;br /&gt;Kernel IP routing table&lt;br /&gt;Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;77.67.28.81     192.168.10.24   255.255.255.255 UGH   0      0        0 ppp0&lt;br /&gt;192.168.10.1    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0&lt;br /&gt;87.117.198.127  192.168.0.1     255.255.255.255 UGH   0      0        0 eth1&lt;br /&gt;212.58.246.93   192.168.10.24   255.255.255.255 UGH   0      0        0 ppp0&lt;br /&gt;192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1&lt;br /&gt;0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I wont go into the details but its pretty obvious if you made it this far. "manroute". Or google is your friend!Notice the parameter substituion in bash to provide a default for argumen 1($1). We can close off the TV routes by simply typing "uktv del". So&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;%uktv del&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;removes the our new routes! Easy! But what about automatically turning them onwhen the interface ppp0 is turned on? Here we have the ip-up directories onDebian at least. Simply create the scripts you want running in/etc/ppp/ip-up.d. Here are some of mine:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;[5112]shamrock@development:/etc/ppp$ ls -l ip-up.d/&lt;br /&gt;total 20&lt;br /&gt;-rwxr-xr-x 1 shamrock shamrock 902 Jul  5 05:09 0000usepeerdns&lt;br /&gt;-rwxr-xr-x 1 shamrock shamrock 293 Jul  5 05:09 00-exim4&lt;br /&gt;-rwxr-xr-x 1 shamrock shamrock  53 Jul  6 19:05 01-vpnsetup&lt;br /&gt;-rwxr-xr-x 1 shamrock shamrock 284 Jul  6 19:04 02-news&lt;br /&gt;-rwxr-xr-x 1 shamrock shamrock 259 Jul  6 19:15 03-uktv&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;where 02-news, for another example, is :-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;#!/bin/bash&lt;br /&gt;IFACE="ppp0"&lt;br /&gt;route add -host news.eternal-september.org   gw `ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` ${IFACE}&lt;br /&gt;route add -host kornbluth.freenode.net   gw `ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` ${IFACE}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The 03-uktv script would be a symbolic link to my ~/bin/uktv script outlinedabove!And that pretty much wraps that up. Oh! No it doesnt &amp;hellip; one thing that took me AGES to sort out was the MTU. You can google what that is. The MTU is veryfinicky for pptp it seems. I had to dial mine back to 1400 in order for the vpn connection to my vpn supplier worked. How did I do that? Easy : modify the MTUwhen you bring the interface up. Thats the 01-vpn-setup script above:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;#!/bin/bash&lt;br /&gt;IFACE="ppp0"&lt;br /&gt;ifconfig ${IFACE} mtu 1400&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;tada! Happy hiding!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-3810515749825082348?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/3810515749825082348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/going-anonymous-linux-way-iplayer-vpns.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3810515749825082348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3810515749825082348'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/going-anonymous-linux-way-iplayer-vpns.html' title='Going Anonymous - the Linux way : iPlayer, VPNs and PPTP'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1401919958256168740</id><published>2011-07-06T11:05:00.001-07:00</published><updated>2011-07-06T11:05:33.087-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='vpn'/><category scheme='http://www.blogger.com/atom/ns#' term='anon'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><title type='text'>Go anonymous and back again ...</title><content type='html'>&lt;br /&gt;&lt;p&gt;IFACE=${2-ppp0}&lt;br /&gt;sudo ifup ${3-uk1} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;sudo route ${1-add} default gw `sudo ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`  2&amp;gt;&amp;amp;1&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1401919958256168740?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1401919958256168740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/go-anonymous-and-back-again_06.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1401919958256168740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1401919958256168740'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/go-anonymous-and-back-again_06.html' title='Go anonymous and back again ...'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2010550646432255677</id><published>2011-07-06T11:04:00.001-07:00</published><updated>2011-07-06T11:04:13.378-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='vpn'/><category scheme='http://www.blogger.com/atom/ns#' term='bbc'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><title type='text'>Script to add remove uk proxy routes</title><content type='html'>&lt;br /&gt;&lt;p&gt;IFACE=${2-ppp0}&lt;br /&gt;sudo ifup ${3-uk1} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;sudo route ${1-add} -host www.bbc.co.uk gw `sudo ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` ${IFACE}&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;sudo route ${1-add} -host www.itv.com   gw `sudo ifconfig ${IFACE} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` ${IFACE}&amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2010550646432255677?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2010550646432255677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/script-to-add-remove-uk-proxy-routes_2130.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2010550646432255677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2010550646432255677'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/script-to-add-remove-uk-proxy-routes_2130.html' title='Script to add remove uk proxy routes'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4340249714114040742</id><published>2011-07-06T11:01:00.001-07:00</published><updated>2011-07-06T11:01:40.936-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uktv'/><category scheme='http://www.blogger.com/atom/ns#' term='peer'/><category scheme='http://www.blogger.com/atom/ns#' term='vpn'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>peer provider for vpn</title><content type='html'>&lt;br /&gt;&lt;p&gt;pty "pptp uk1.hideipvpn.com &amp;ndash;nolaunchpppd"&lt;br /&gt;name user@mail.com&lt;br /&gt;remotename PPTP&lt;br /&gt;require-mppe-128&lt;br /&gt;file /etc/ppp/options.pptp&lt;br /&gt;ipparam uk1&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4340249714114040742?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4340249714114040742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/peer-provider-for-vpn.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4340249714114040742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4340249714114040742'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/07/peer-provider-for-vpn.html' title='peer provider for vpn'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-157871614427909169</id><published>2011-06-26T13:18:00.001-07:00</published><updated>2011-06-26T13:19:55.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bopr'/><category scheme='http://www.blogger.com/atom/ns#' term='tlm'/><category scheme='http://www.blogger.com/atom/ns#' term='irc'/><category scheme='http://www.blogger.com/atom/ns#' term='freenode'/><title type='text'>Freenode and the Trends for LitteMan Power Abuse.</title><content type='html'>&lt;br /&gt;&lt;p&gt;IRC is a wonderful technical resource available, for free, to anyone who has the&lt;br /&gt;competence to set up an IRC client. One can be awed by the knowledge, freely&lt;br /&gt;given, by people who have accumulated this knowledge through years of hard graft&lt;br /&gt;despite sub standard documentation and lack of "google". Its hard to think to&lt;br /&gt;back to the olden days ( a few years ago) when the only help you had were your&lt;br /&gt;office colleagues and the dog eared tech manual. But sometimes, even now, Google&lt;br /&gt;isnt enough. You want to communicate with living Gurus. And thats where IRC&lt;br /&gt;channels come in. Once a haven but more often than not now a lair for small&lt;br /&gt;minded, power hungry big heads with an agenda of self promotion. I also have a&lt;br /&gt;theory that the closer you get to web technologies then the bigger the idiots&lt;br /&gt;and the lower the real world competence of the self proclaimed experts that&lt;br /&gt;haunt these channels and bully any nOOb unlucky enough to wander their way&lt;br /&gt;looking for help and encouragement is. Frankly I have had enough of them, and I&lt;br /&gt;know from private /msg-s so have many others.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Lets look at a typical example. The other day I was googling around for cheap&lt;br /&gt;Linux/PHP/Mysql/Apache hosting options. Its hard to sort the wheat from the&lt;br /&gt;chaff. Often the php installed is out of date or only supports a subset of core&lt;br /&gt;modules you might need. Maybe their uptime isnt good. Or their admin UI&lt;br /&gt;sucks. There are many things to consider. Now, I want to find recommendations&lt;br /&gt;from competent PHP programmers who deal with this stuff all the time. real&lt;br /&gt;people.. So I ask in the freenode #PHP irc channel. The resident troll and OP&lt;br /&gt;who wields the "naughty stick" goes under the nym "TML". I had heard of him&lt;br /&gt;before from someone who was complaining in another channel about some&lt;br /&gt;intransigent show off who was getting too big for his boots. My Q went like&lt;br /&gt;this : "Could any of you with experiences of reliable PHP hosting packages&lt;br /&gt;please MSG me privately". One line. Polite. To the point. A request for&lt;br /&gt;help. Our resident uber-Op pipes up "This is off topic go elsewhere". I reply&lt;br /&gt;"oh sorry, I didnt know that but I asked people to privately msg me so it wont&lt;br /&gt;be too much of a burden on the channel". Or words to that affect. In the&lt;br /&gt;meantime I got about 7 recommendations (privately) with most of them telling me&lt;br /&gt;how pompous and self important TML is. Firstly lets look at why it should be off&lt;br /&gt;topic : Because it might be deemed commercial offering?  Nah. Because its not&lt;br /&gt;PHP related? Nah - after all hosting is directly linked to the language versions&lt;br /&gt;and modules supported. Is it because some jobsworth decided it?  Probably. The&lt;br /&gt;channel was quiet too. Also ALL channels have an element of camaraderie and off&lt;br /&gt;topic meandering - the maturer channels and OPs who dont have their head up&lt;br /&gt;their own arses acceptthat. But that aside, lets not lose sight of the issue&lt;br /&gt;here. One line. Polite. Asking for private replies so as not to flood the main&lt;br /&gt;language reply stream. The channel is full of experienced PHP programmers the&lt;br /&gt;kind that can, and did, quickly help and provide someone with their&lt;br /&gt;experience. It takes a real low IQ to suggest that you should go to something&lt;br /&gt;like #php-hosting where there is one person who is probably insane.. The huge&lt;br /&gt;majority of PHP is linked with web hosted apps/sites. I needed help and people&lt;br /&gt;are supposedly there to help. So I asked why this was so terribly "off&lt;br /&gt;topic". Our self important operator promptly reminded it was off topic again, no&lt;br /&gt;reason, and that "we" (dont you love people who claim to represent everyone else&lt;br /&gt;whether they like it or not) cant help. I suggested that if he was there to help&lt;br /&gt;he could do so, otherwise why would he flood the channel with so many topic&lt;br /&gt;unrelated edicts and orders?  He banned me. Banned from a PHP channel for asking&lt;br /&gt;a simple PHP related question. TML if you're reading this : keep some&lt;br /&gt;perspective and apply SOME common sense. If someone KEEPS coming back and asking&lt;br /&gt;the same OT things then consider a temporary ban. You do not ban someone for&lt;br /&gt;suggesting you're a jumped up little jobsworth who's a bit too fond of the red&lt;br /&gt;card - you should take a deep breath and wonder if maybe, just maybe, that&lt;br /&gt;person is correct.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I am working on a PHP project. I needed some help/pointers. I decided (before&lt;br /&gt;posting this btw) to contact TML, make peace and request the ban was lifted. I&lt;br /&gt;pointed out to him that I am not going to beg but if the rules were so strict&lt;br /&gt;then I wont go off topic again asking about hosting. He refused to lift the ban&lt;br /&gt;because he felt my apology was not "sincere enough" and that I might reoffend!&lt;br /&gt;What a sanctimonious, self righteous little man some might think!. Unfortunately&lt;br /&gt;he has the "F" flag, as founder, and I have no more redress. Fine. Maybe #php&lt;br /&gt;will be better off without someone like myself. In all truthfulness, I doubt&lt;br /&gt;it. Still, I am sure he is more than happy in own little world where his word&lt;br /&gt;makes nOObs shudder and perps shake.. Fear the Op! For 'tis all they have&amp;hellip;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-157871614427909169?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/157871614427909169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/157871614427909169'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/06/freenode-and-trends-for-litteman-power.html' title='Freenode and the Trends for LitteMan Power Abuse.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-913539318545066701</id><published>2011-06-11T18:04:00.001-07:00</published><updated>2011-06-11T18:04:08.734-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gtags'/><category scheme='http://www.blogger.com/atom/ns#' term='global'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='completion'/><title type='text'>enabling gtags auto tag completion in Global compatible modes</title><content type='html'>&lt;pre class="src src-emacs-lisp-mode"&gt;(require 'gtags)&lt;br /&gt;(defun gtags-root-dir ()&lt;br /&gt;  &lt;span style="color: #ad7fa8;"&gt;"Returns GTAGS root directory or nil if doesn't exist."&lt;/span&gt;&lt;br /&gt;  (with-temp-buffer&lt;br /&gt;    (if (zerop (call-process &lt;span style="color: #ad7fa8;"&gt;"global"&lt;/span&gt; nil t nil &lt;span style="color: #ad7fa8;"&gt;"-pr"&lt;/span&gt;))&lt;br /&gt;        (buffer-substring (point-min) (1- (point-max)))&lt;br /&gt;      nil)))&lt;br /&gt;(defun gtags-update ()&lt;br /&gt;  &lt;span style="color: #ad7fa8;"&gt;"Make GTAGS incremental update"&lt;/span&gt;&lt;br /&gt;  (message &lt;span style="color: #ad7fa8;"&gt;"updating GLOBAL tags using gtags -i .."&lt;/span&gt;) &lt;br /&gt;  (call-process &lt;span style="color: #ad7fa8;"&gt;"gtags"&lt;/span&gt; nil nil nil &lt;span style="color: #ad7fa8;"&gt;"-i -f gtags.files"&lt;/span&gt;)&lt;br /&gt;  (gtags-make-complete-list))&lt;br /&gt;&lt;br /&gt;(defun gtags-update-global ()&lt;br /&gt;  &lt;span style="color: #ad7fa8;"&gt;"Make GTAGS incremental update"&lt;/span&gt;&lt;br /&gt;  (message &lt;span style="color: #ad7fa8;"&gt;"updating GLOBAL tags!!"&lt;/span&gt;)  &lt;br /&gt;  (call-process &lt;span style="color: #ad7fa8;"&gt;"global"&lt;/span&gt; nil nil nil &lt;span style="color: #ad7fa8;"&gt;"-u"&lt;/span&gt;)&lt;br /&gt;  (gtags-make-complete-list))&lt;br /&gt;&lt;br /&gt;(defun gtags-update-hook ()&lt;br /&gt;  (when (gtags-root-dir)&lt;br /&gt;    (when (memq major-mode (list 'php-mode 'c-mode 'org-mode 'javascript-mode 'js-mode 'emacs-lisp-mode))&lt;br /&gt;      (progn (message &lt;span style="color: #ad7fa8;"&gt;"global root : %s"&lt;/span&gt; (gtags-root-dir))(gtags-update-global)))))&lt;br /&gt;(add-hook 'after-save-hook 'gtags-update-hook)&lt;br /&gt;&lt;br /&gt;(defadvice gtags-find-tag (before gtags-make-complete-list activate)&lt;br /&gt;  &lt;span style="color: #ad7fa8;"&gt;"Make Global completion tags"&lt;/span&gt; (unless gtags-complete-list (gtags-make-complete-list)))&lt;br /&gt;&lt;br /&gt;(add-hook 'php-mode-hook '(lambda () (gtags-mode t)))&lt;br /&gt;(add-hook 'c-mode-hook '(lambda () (gtags-mode t)))&lt;br /&gt;&lt;br /&gt;(provide 'rgr-gtags)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-913539318545066701?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/913539318545066701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/06/enabling-gtags-auto-tag-completion-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/913539318545066701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/913539318545066701'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/06/enabling-gtags-auto-tag-completion-in.html' title='enabling gtags auto tag completion in Global compatible modes'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8502501856812669526</id><published>2011-04-16T04:06:00.001-07:00</published><updated>2011-04-16T04:06:01.718-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='toggle'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='translate'/><category scheme='http://www.blogger.com/atom/ns#' term='xmonad'/><title type='text'>Google Translate on an xmonad toggle</title><content type='html'>&lt;pre class="src src-haskell"&gt;&lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"translate"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"chromium-browser --app=http://translate.google.com/#"&lt;/span&gt; (name &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"Google Translate"&lt;/span&gt;) nonFloating,&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-haskell"&gt;,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_t),  namedScratchpadAction scratchpads &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;This is great, now I hit Mod-shift t and a chromium "app" containing google&lt;br /&gt;translate appears/disappears.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8502501856812669526?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8502501856812669526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/google-translate-on-xmonad-toggle_16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8502501856812669526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8502501856812669526'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/google-translate-on-xmonad-toggle_16.html' title='Google Translate on an xmonad toggle'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4100555287705189314</id><published>2011-04-15T12:09:00.001-07:00</published><updated>2011-04-15T12:09:15.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='routers'/><category scheme='http://www.blogger.com/atom/ns#' term='exim4'/><category scheme='http://www.blogger.com/atom/ns#' term='vhost'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Exim4 handling redirecting mails from your apache vhost an external
email</title><content type='html'>&lt;div id="outline-container-1" class="outline-2"&gt;&lt;br /&gt;&lt;h2 id="sec-1"&gt;The Problem &lt;/h2&gt;&lt;br /&gt;&lt;div class="outline-text-2" id="text-1"&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Consider the Apache vhost myweb.com. Someone sends an email to&lt;br /&gt;info@myweb.com. We want exim4 to spot that and use sendmail to send the mail to&lt;br /&gt;the approved user. frequently that person might be sat behind gmail or something&lt;br /&gt;similar.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="outline-container-2" class="outline-2"&gt;&lt;br /&gt;&lt;h2 id="sec-2"&gt;The components &lt;/h2&gt;&lt;br /&gt;&lt;div class="outline-text-2" id="text-2"&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Everything is done via exim4 config with the addition of a new router and&lt;br /&gt;  vhost specific alias files which contain the email mappings.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The text here assumes you have NOT split your configuration&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;All exim configuration is done using the exim4.conf.template file.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="outline-container-3" class="outline-2"&gt;&lt;br /&gt;&lt;h2 id="sec-3"&gt;The solution &lt;/h2&gt;&lt;br /&gt;&lt;div class="outline-text-2" id="text-3"&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Edit /etc/exim4/exim4.conf.template. &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Modify the local domains definition&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;# List of domains considered local for exim. Domains not listed here&lt;br /&gt;# need to be deliverable remotely.&lt;br /&gt;domainlist local_domains = @:localhost:dsearch;/etc/exim4/virtualhosts&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This tells exim which domain names are considered for for further processing.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Insert the following additional router code before system&lt;sub&gt;alias&lt;/sub&gt; handling (400):-&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;#####################################################&lt;br /&gt;### router/350_exim4-config_vdom_aliases&lt;br /&gt;#####################################################&lt;br /&gt;vdom_aliases:&lt;br /&gt;driver = redirect&lt;br /&gt;allow_defer&lt;br /&gt;allow_fail&lt;br /&gt;domains = dsearch;/etc/exim4/virtualhosts&lt;br /&gt;data = ${expand:${lookup{$local_part}lsearch*@{/etc/exim4/virtualhosts/$domain}}}&lt;br /&gt;retry_use_local_part&lt;br /&gt;pipe_transport = address_pipe&lt;br /&gt;file_transport = address_file&lt;br /&gt;no_more&lt;br /&gt;#####################################################&lt;br /&gt;### end router/350_exim4-config_vdom_aliases&lt;br /&gt;########################################################################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A cursory glance at the code suggests that /etc/exim4/virtualhosts will play a&lt;br /&gt;   part. It does!&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a file for each vhost you wish to redirect email for. From our example&lt;br /&gt;  we create /etc/exim4/virtualhosts/myweb.com. In it we place our email&lt;br /&gt;  mappings. Here is an example:-&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;info: info@gmail.com&lt;br /&gt;webmaster: webmaster@gmail.com&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4100555287705189314?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4100555287705189314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/exim4-handling-redirecting-mails-from_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4100555287705189314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4100555287705189314'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/exim4-handling-redirecting-mails-from_15.html' title='Exim4 handling redirecting mails from your apache vhost an external&#xA;email'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5012419865111094647</id><published>2011-04-13T03:57:00.001-07:00</published><updated>2011-04-13T03:58:06.335-07:00</updated><title type='text'>FB/OG Tags Now Supported (multilingual too)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.imgur.com/MVik2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 1104px; height: 727px;" src="http://i.imgur.com/MVik2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5012419865111094647?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5012419865111094647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/fbog-tags-now-supported-multilingual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5012419865111094647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5012419865111094647'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/fbog-tags-now-supported-multilingual.html' title='FB/OG Tags Now Supported (multilingual too)'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7268428692781550586</id><published>2011-04-11T10:28:00.001-07:00</published><updated>2011-04-11T10:28:51.503-07:00</updated><title type='text'>OpenGraph Goodness</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.imgur.com/Oq3nX.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 775px; height: 653px;" src="http://i.imgur.com/Oq3nX.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7268428692781550586?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7268428692781550586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/opengraph-goodness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7268428692781550586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7268428692781550586'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/opengraph-goodness.html' title='OpenGraph Goodness'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2615504168648182926</id><published>2011-04-11T05:06:00.001-07:00</published><updated>2011-04-11T05:06:51.957-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gimp'/><title type='text'>Greyscale and squared up for navigation</title><content type='html'>&lt;a href="http://www.shamrockirishbar.com/images/navigation/skypauli.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 305px; height: 311px;" src="http://www.shamrockirishbar.com/images/navigation/skypauli.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2615504168648182926?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2615504168648182926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/greyscale-and-squared-up-for-navigation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2615504168648182926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2615504168648182926'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/greyscale-and-squared-up-for-navigation.html' title='Greyscale and squared up for navigation'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2765822665513825938</id><published>2011-04-11T04:43:00.000-07:00</published><updated>2011-04-11T04:44:04.275-07:00</updated><title type='text'>I love Gimp ...</title><content type='html'>&lt;a href="http://www.shamrockirishbar.com/images/skypauli-logo.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 344px; height: 236px;" src="http://www.shamrockirishbar.com/images/skypauli-logo.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Couldnt better for small logos etc, ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2765822665513825938?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2765822665513825938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/i-love-gimp_11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2765822665513825938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2765822665513825938'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/i-love-gimp_11.html' title='I love Gimp ...'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8080892329904775536</id><published>2011-04-10T14:16:00.001-07:00</published><updated>2011-04-10T14:20:36.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='opengraph'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Emacs at work developing facebook friendly meta data in php....</title><content type='html'>&lt;a href="http://i.imgur.com/NvvcW.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 1278px; height: 978px;" src="http://i.imgur.com/NvvcW.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8080892329904775536?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8080892329904775536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/emacs-at-work-developing-facebook.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8080892329904775536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8080892329904775536'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/emacs-at-work-developing-facebook.html' title='Emacs at work developing facebook friendly meta data in php....'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8589862467595125915</id><published>2011-04-10T03:42:00.001-07:00</published><updated>2011-04-10T03:42:50.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><title type='text'>Copy named files to remote host and recreate directories</title><content type='html'>&lt;br /&gt;&lt;p&gt;A script to copy only certain file name from tree to remote host and recreate&lt;br /&gt;the directory structure.  Had thought scp -r or something would do it. or rsync&lt;br /&gt;directly but well, the rsync manual leaves me cold for things like what to&lt;br /&gt;include and what to exclude&amp;hellip; It's probably a lot simpler than this of course ;(&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;#!/bin/bash&lt;br /&gt;host=${1:-dev}&lt;br /&gt;filename=$2&lt;br /&gt;destdir=$3&lt;br /&gt;&lt;br /&gt;if [ &lt;span style="color: #ad7fa8;"&gt;"${host}"&lt;/span&gt; = &lt;span style="color: #ad7fa8;"&gt;""&lt;/span&gt; ]; then&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"No destination host specified"&lt;/span&gt;&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"Usage : copy-files HOSTNAME FILENAME DESTDIR"&lt;/span&gt;&lt;br /&gt;    exit&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ &lt;span style="color: #ad7fa8;"&gt;"${filename}"&lt;/span&gt; = &lt;span style="color: #ad7fa8;"&gt;""&lt;/span&gt; ]; then&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"No FILENAME specified"&lt;/span&gt;&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"Usage : copy-files HOSTNAME FILENAME DESTDIR"&lt;/span&gt;&lt;br /&gt;    exit&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ &lt;span style="color: #ad7fa8;"&gt;"${destdir}"&lt;/span&gt; = &lt;span style="color: #ad7fa8;"&gt;""&lt;/span&gt; ]; then&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"No DESTDIR specified"&lt;/span&gt;&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"Usage : copy-files HOSTNAME FILENAME DESTDIR"&lt;/span&gt;&lt;br /&gt;    exit&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;find . -type f -iname &lt;span style="color: #ad7fa8;"&gt;"${filename}"&lt;/span&gt; 2&amp;gt; /dev/null | while read -r FILE &lt;br /&gt;do&lt;br /&gt;   REMDESTDIR=&lt;span style="color: #ad7fa8;"&gt;"~/${destdir}/`dirname ${FILE#./}`"&lt;/span&gt;&lt;br /&gt;   echo &lt;span style="color: #ad7fa8;"&gt;"Found : ${FILE} .. Attempting : rsync -avz ${FILE}  ${host}:${REMDESTDIR}"&lt;/span&gt;&lt;br /&gt;   rsync -avz &lt;span style="color: #ad7fa8;"&gt;"${FILE}"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"${host}:${REMDESTDIR}/"&lt;/span&gt;&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8589862467595125915?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8589862467595125915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/copy-named-files-to-remote-host-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8589862467595125915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8589862467595125915'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/04/copy-named-files-to-remote-host-and.html' title='Copy named files to remote host and recreate directories'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1730679538894296685</id><published>2011-03-09T22:05:00.001-08:00</published><updated>2011-03-09T22:05:17.957-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>org-googlecl - blogging to blogger.com through org-mode</title><content type='html'>&lt;br /&gt;&lt;p&gt;Installing a new Asus 1015PEM netbook with Debian Squeeze recently I had to&lt;br /&gt;reinstall the google command line utility, googlecl. My utility org-googlecl to&lt;br /&gt;allow me to blog directly from org-mode entries was broken however.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/googlecl/"&gt;Google command line utility&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Reason? googlecl , somewhat surprisingly, does not automatically create its&lt;br /&gt;~/.local/share/googlecl/ directory.  Simply create it yourself and then&lt;br /&gt;org-googlecl works as documented.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="https://github.com/rileyrg/org-googlecl/blob/master/org-googlecl.el"&gt;Blog directly to blogger.com from Emacs (org-mode support)&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;As a side note, using the Liquorix kernel, the Asus works perfectly with&lt;br /&gt;Debian : all the "usual suspects" work - suspend/resume, wireless and audio all&lt;br /&gt;work. Initially post-resume I had to manually remove and re-modprobe the&lt;br /&gt;brcm80211 driver but that now seems to be resolved. On the downside, battery&lt;br /&gt;life is rubbish compared to running Win 7 Start Edition which it came with (dual&lt;br /&gt;boot) but its still acceptable - but when you think I have this litle beauty&lt;br /&gt;running apache2 and mysql it's still a great little portable machine.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1730679538894296685?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1730679538894296685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/03/org-googlecl-blogging-to-bloggercom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1730679538894296685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1730679538894296685'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/03/org-googlecl-blogging-to-bloggercom.html' title='org-googlecl - blogging to blogger.com through org-mode'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2667341037321243342</id><published>2011-03-08T07:31:00.003-08:00</published><updated>2011-03-08T07:32:00.009-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='edit'/><category scheme='http://www.blogger.com/atom/ns#' term='chromium'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Emacs to edit a Chromium textarea</title><content type='html'>&lt;br /&gt;&lt;p&gt;A nice Chromium alternatives to the FF extension "Its all text" is here :-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="https://chrome.google.com/extensions/detail/ljobjlafonikaiipfkggjbhkghgicgoh"&gt;https://chrome.google.com/extensions/detail/ljobjlafonikaiipfkggjbhkghgicgoh&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Why it needs edit-server.el I'm not 100% - I guess it uses something other than&lt;br /&gt;the emacs daemon emacsclient call. But, it works nicely. I added the following&lt;br /&gt;ot my emacs-init.org and all seems well. I like the double click in a textarea&lt;br /&gt;method to launch an emacs client windows to edit.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="font-weight: bold;"&gt;if&lt;/span&gt; (and (daemonp) (locate-library &lt;span style="color: #ad7fa8;"&gt;"edit-server"&lt;/span&gt;))&lt;br /&gt;    (&lt;span style="font-weight: bold;"&gt;progn&lt;/span&gt;&lt;br /&gt;      (&lt;span style="font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #73d216;"&gt;edit-server&lt;/span&gt;)&lt;br /&gt;      (edit-server-start)))&lt;br /&gt;&lt;br /&gt;  (add-hook 'edit-server-text-mode-hook&lt;br /&gt;            (&lt;span style="font-weight: bold;"&gt;lambda&lt;/span&gt; ()(&lt;span style="font-weight: bold;"&gt;progn&lt;/span&gt;()&lt;br /&gt;              (auto-complete-mode)&lt;br /&gt;              (flyspell-mode))))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2667341037321243342?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2667341037321243342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/03/emacs-to-edit-chromium-textarea.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2667341037321243342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2667341037321243342'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/03/emacs-to-edit-chromium-textarea.html' title='Emacs to edit a Chromium textarea'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1315333929346904551</id><published>2011-02-09T02:55:00.001-08:00</published><updated>2011-02-09T02:55:36.500-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='xmonad'/><category scheme='http://www.blogger.com/atom/ns#' term='smartborders'/><title type='text'>xmonad.hs : Haskell XMonad config file.</title><content type='html'>&lt;br /&gt;&lt;p&gt;The smartBorders layout manipulator is extra important for netbook screens!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="file:///home/shamrock/.xmonad/xmonad.hs#---LANGUAGE--ScopedTypeVariables---"&gt;~/.xmonad/xmonad.hs::{-# LANGUAGE ScopedTypeVariables #-}&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-haskell"&gt;{-&lt;span style="font-style: italic;"&gt;# LANGUAGE ScopedTypeVariables #-}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--&lt;span style="font-style: italic;"&gt;---------------------------------------&lt;br /&gt;&lt;/span&gt;-- &lt;span style="font-style: italic;"&gt;xmonad.hs&lt;br /&gt;&lt;/span&gt;-- &lt;span style="font-style: italic;"&gt;Richard G. Riley &amp;lt;&lt;a href="mailto:rgr&amp;#64;richardriley.net"&gt;rgr&amp;#64;richardriley.net&lt;/a&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;-- &lt;span style="font-style: italic;"&gt;Thanks to the #xmonad chaps&lt;br /&gt;&lt;/span&gt;-- &lt;span style="font-style: italic;"&gt;on freednode IRC for help and advice.&lt;br /&gt;&lt;/span&gt;--&lt;span style="font-style: italic;"&gt;-----------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Core&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Data.List&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;qualified&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.StackSet&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;W&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Control.OldException&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Control.Monad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;DBus&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;DBus.Connection&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;DBus.Message&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.GridSelect&lt;/span&gt; &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.MouseResize&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.CycleWS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.CycleWindows&lt;/span&gt;  (rotFocusedUp, rotFocusedDown)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.RotSlaves&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.PerWorkspaceKeys&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;qualified&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.Submap&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;SM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;qualified&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.Search&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.WindowBringer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Actions.WindowGo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;qualified&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Data.Map&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;M&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Config.Gnome&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Hooks.DynamicLog&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Hooks.FadeInactive&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Hooks.ManageDocks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Hooks.ManageHelpers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Hooks.SetWMName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.Circle&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.DragPane&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.IM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.Grid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.NoBorders&lt;/span&gt;&lt;br /&gt;-- &lt;span style="font-style: italic;"&gt;import XMonad.Layout.Magnifier&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.PerWorkspace&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.Monitor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.MultiToggle&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.MultiToggle.Instances&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.Reflect&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.SimpleFloat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Layout.WindowArranger&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Prompt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Prompt.AppLauncher&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;AL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Prompt.Shell&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Prompt.Ssh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Util.Run&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;qualified&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.StackSet&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Window&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Util.EZConfig&lt;/span&gt;(additionalKeys)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Util.Scratchpad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;XMonad.Util.NamedScratchpad&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;System.Posix.Unistd&lt;/span&gt; (getSystemID, nodeName)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;System.Environment&lt;/span&gt; (getEnvironment)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- &lt;span style="font-style: italic;"&gt;import Graphics.X11.Xlib&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myWorkSpaces&lt;/span&gt;    &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; [&lt;span style="color: #ad7fa8;"&gt;"1"&lt;/span&gt;, &lt;span style="color: #ad7fa8;"&gt;"2:TV"&lt;/span&gt; ,&lt;span style="color: #ad7fa8;"&gt;"3"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"4"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"5"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"6"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"7:Eclipse"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"8:Gimp"&lt;/span&gt;]&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myManageHook&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt;  composeAll &lt;span style="color: #ef2929;"&gt;.&lt;/span&gt; concat &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt;&lt;br /&gt;                               [ &lt;br /&gt;                               [fmap(i &lt;span style="color: #ef2929;"&gt;`isPrefixOf`&lt;/span&gt;) resource --&lt;span style="font-style: italic;"&gt;&amp;gt; doIgnore  | i &amp;lt;- myIgnores]&lt;br /&gt;&lt;/span&gt;                               ,[fmap(f &lt;span style="color: #ef2929;"&gt;`isPrefixOf`&lt;/span&gt;) resource --&lt;span style="font-style: italic;"&gt;&amp;gt; doCenterFloat   | f &amp;lt;- myFloats]&lt;br /&gt;&lt;/span&gt;                               ,[ &lt;br /&gt;                                className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"Gimp"&lt;/span&gt;  --&lt;span style="font-style: italic;"&gt;&amp;gt; doShift "8:Gimp"&lt;br /&gt;&lt;/span&gt;                               , className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"SDL_App"&lt;/span&gt;  --&lt;span style="font-style: italic;"&gt;&amp;gt; doShift "6:Android"&lt;br /&gt;&lt;/span&gt;                               , className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"screenkey"&lt;/span&gt;  --&lt;span style="font-style: italic;"&gt;&amp;gt; doShift "6:Android"&lt;br /&gt;&lt;/span&gt;                               , className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"MPlayer"&lt;/span&gt;  --&lt;span style="font-style: italic;"&gt;&amp;gt; doShift "2:TV"&lt;br /&gt;&lt;/span&gt;                               ,isDialog  --&lt;span style="font-style: italic;"&gt;&amp;gt; doCenterFloat&lt;br /&gt;&lt;/span&gt;                               ,isFullscreen  --&lt;span style="font-style: italic;"&gt;&amp;gt; doFullFloat&lt;br /&gt;&lt;/span&gt;                                ] &lt;br /&gt;                               ]&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt;&lt;br /&gt;      myFloats        &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; [&lt;span style="color: #ad7fa8;"&gt;"gimmix"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"Gnome-system-monitor"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"Vncviewer"&lt;/span&gt;, &lt;span style="color: #ad7fa8;"&gt;"Steam"&lt;/span&gt;, &lt;span style="color: #ad7fa8;"&gt;"xvidcap"&lt;/span&gt;, &lt;span style="color: #ad7fa8;"&gt;"Xvidcap"&lt;/span&gt;, &lt;span style="color: #ad7fa8;"&gt;"recordMyDesktop"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"screensaver"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"gnome-panel"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"ktorrent"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"Ddd"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"GPicker"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"gpicker"&lt;/span&gt;, &lt;span style="color: #ad7fa8;"&gt;"barrybackup"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"pinentry-gtk-2"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"recordMyDesktop"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"xsane"&lt;/span&gt;]&lt;br /&gt;      myIgnores       &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; [&lt;span style="color: #ad7fa8;"&gt;"gworldclock"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"ddd"&lt;/span&gt;, &lt;span style="color: #ad7fa8;"&gt;"bsh-Interpreter"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"Do"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"gnubiff"&lt;/span&gt;]&lt;br /&gt;      role &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; stringProperty &lt;span style="color: #ad7fa8;"&gt;"WM_WINDOW_ROLE"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myLayout&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; smartBorders(&lt;br /&gt;    onWorkspace &lt;span style="color: #ad7fa8;"&gt;"8:Gimp"&lt;/span&gt; (withIM 0&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;11 (&lt;span style="font-weight: bold;"&gt;Role&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"gimp-toolbox"&lt;/span&gt;) &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; reflectHoriz &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; withIM 0&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;15 (&lt;span style="font-weight: bold;"&gt;Role&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"gimp-dock"&lt;/span&gt;) &lt;span style="font-weight: bold;"&gt;Full&lt;/span&gt;) &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt;&lt;br /&gt;    onWorkspace &lt;span style="color: #ad7fa8;"&gt;"2:TV"&lt;/span&gt;   (smartBorders &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; avoidStruts  &lt;span style="font-weight: bold;"&gt;Full&lt;/span&gt; ) &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt;&lt;br /&gt;    avoidStruts &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; mouseResize &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; windowArrange &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; smartBorders &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; mkToggle (single &lt;span style="font-weight: bold;"&gt;REFLECTY&lt;/span&gt;) &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; mkToggle (single &lt;span style="font-weight: bold;"&gt;REFLECTX&lt;/span&gt;) &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; mkToggle (single &lt;span style="font-weight: bold;"&gt;MIRROR&lt;/span&gt;) &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; mkToggle(&lt;span style="font-weight: bold;"&gt;FULL&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;??&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;EOT&lt;/span&gt;) (&lt;span style="font-weight: bold;"&gt;Tall&lt;/span&gt; 1 (3&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;100) (1&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;2) &lt;span style="color: #ef2929;"&gt;|||&lt;/span&gt; dragPane &lt;span style="font-weight: bold;"&gt;Horizontal&lt;/span&gt; 0&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;1 0&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;5&lt;span style="color: #ef2929;"&gt;|||&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Grid&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;|||&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Circle&lt;/span&gt; ))    &lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myFocusFollowsMouse&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;::&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Bool&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myFocusFollowsMouse&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;False&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myTerminal&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"~/bin/myterm"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myToggleTerminal&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"~/bin/mytoggleterm"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myFadeLogHook&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;::&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;X&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myFadeLogHook&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; fadeInactiveLogHook fadeAmount&lt;br /&gt;      &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; fadeAmount &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; 0xaaaaaaaa&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;scratchpads&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; [&lt;br /&gt;&lt;br /&gt; -- &lt;span style="font-style: italic;"&gt;run htop in xterm, find it by title, use default floating window placement&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;--     &lt;span style="font-style: italic;"&gt;NS "google-chrome" "google-chrome" (className =? "Google-chrome") nonFloating ,&lt;br /&gt;&lt;/span&gt;--     &lt;span style="font-style: italic;"&gt;NS "browser" "conkeror" (className =? "Conkeror") nonFloating ,&lt;br /&gt;&lt;/span&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"chrome"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"chromium-browser --new-window"&lt;/span&gt; (className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"Chromium-browser"&lt;/span&gt;) nonFloating ,&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"iceweasel"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"iceweasel"&lt;/span&gt; (className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"Iceweasel"&lt;/span&gt;) nonFloating ,&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"facebook"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"google-chrome --app=\"http://www.facebook.com\" --new-window --class=\"facebook\""&lt;/span&gt; (className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"facebook"&lt;/span&gt;) nonFloating ,&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"evince"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"evince"&lt;/span&gt; (className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"evince"&lt;/span&gt;) nonFloating ,&lt;br /&gt;     -- &lt;span style="font-style: italic;"&gt;NS "yoono" "yoono" (name =? "Yoono") defaultFloating ,&lt;br /&gt;&lt;/span&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"surf"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"surf"&lt;/span&gt; (className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"surf"&lt;/span&gt;) nonFloating ,&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"emacs"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"edit -c"&lt;/span&gt; (className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"Emacs"&lt;/span&gt;) nonFloating,&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"unison"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"unison-gtk"&lt;/span&gt; (className &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"unison-gtk"&lt;/span&gt;) nonFloating ,&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"htop"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"xterm -name htop -e htop"&lt;/span&gt; (title &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"htop"&lt;/span&gt;) &lt;br /&gt;         (customFloating &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;W.RationalRect&lt;/span&gt; (1&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;3) (1&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;8) (2&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;3) (1&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;2)) ,&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;NS&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"newsbeuter"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"xterm -e myrss"&lt;/span&gt; (title &lt;span style="color: #ef2929;"&gt;=?&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"myrss"&lt;/span&gt;)&lt;br /&gt;         (customFloating &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;W.RationalRect&lt;/span&gt; (1&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;2) 0 (1&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;2) (1&lt;span style="color: #ef2929;"&gt;/&lt;/span&gt;4)) &lt;br /&gt;&lt;br /&gt; ] &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; name &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; stringProperty &lt;span style="color: #ad7fa8;"&gt;"WM_NAME"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;isLightHost&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;::&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;String&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Bool&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;isLightHost&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; (&lt;span style="color: #ef2929;"&gt;`elem`&lt;/span&gt; [&lt;span style="color: #ad7fa8;"&gt;"X30"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"PUB"&lt;/span&gt;,&lt;span style="color: #ad7fa8;"&gt;"Hermes"&lt;/span&gt;])&lt;br /&gt;&lt;br /&gt;-- &lt;span style="font-style: italic;"&gt;This retry is really awkward, but sometimes DBus won't let us get our&lt;br /&gt;&lt;/span&gt;-- &lt;span style="font-style: italic;"&gt;name unless we retry a couple times.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;getWellKnownName&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;::&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Connection&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;IO&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;getWellKnownName&lt;/span&gt; dbus &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; tryGetName &lt;span style="color: #ef2929;"&gt;`catchDyn`&lt;/span&gt; (&lt;span style="color: #ef2929;"&gt;\&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;DBus.Error&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;_&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;_&lt;/span&gt;) &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt;&lt;br /&gt;                                                getWellKnownName dbus)&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt;&lt;br /&gt;      tryGetName &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;do&lt;/span&gt;&lt;br /&gt;        namereq &lt;span style="color: #ef2929;"&gt;&amp;lt;-&lt;/span&gt; newMethodCall serviceDBus pathDBus interfaceDBus &lt;span style="color: #ad7fa8;"&gt;"RequestName"&lt;/span&gt;&lt;br /&gt;        addArgs namereq [&lt;span style="font-weight: bold;"&gt;String&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"org.xmonad.Log"&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Word32&lt;/span&gt; 5]&lt;br /&gt;        sendWithReplyAndBlock dbus namereq 0&lt;br /&gt;        return &lt;span style="font-weight: bold;"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;main&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; withConnection &lt;span style="font-weight: bold;"&gt;Session&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;\&lt;/span&gt; dbus &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;do&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;  putStrLn &lt;span style="color: #ad7fa8;"&gt;"Getting well-known name."&lt;/span&gt;&lt;br /&gt;  getWellKnownName dbus&lt;br /&gt;  putStrLn &lt;span style="color: #ad7fa8;"&gt;"Got name, starting XMonad."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  host   &lt;span style="color: #ef2929;"&gt;&amp;lt;-&lt;/span&gt; fmap  nodeName getSystemID&lt;br /&gt;&lt;br /&gt;  xmonad myConfig&lt;br /&gt;             { logHook    &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt;  dynamicLogWithPP  defaultPP {&lt;br /&gt;                   ppOutput   &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;\&lt;/span&gt; str &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;do&lt;/span&gt;&lt;br /&gt;                     &lt;span style="font-weight: bold;"&gt;let&lt;/span&gt; str'  &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"&amp;lt;span font=\"Terminus 9 Bold\"&amp;gt;"&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;++&lt;/span&gt; str &lt;span style="color: #ef2929;"&gt;++&lt;/span&gt; &lt;br /&gt;                                 &lt;span style="color: #ad7fa8;"&gt;"&amp;lt;/span&amp;gt;"&lt;/span&gt;&lt;br /&gt;                         str'' &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; sanitize str'&lt;br /&gt;                     msg &lt;span style="color: #ef2929;"&gt;&amp;lt;-&lt;/span&gt; newSignal &lt;span style="color: #ad7fa8;"&gt;"/org/xmonad/Log"&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"org.xmonad.Log"&lt;/span&gt; &lt;br /&gt;                                &lt;span style="color: #ad7fa8;"&gt;"Update"&lt;/span&gt;&lt;br /&gt;                     addArgs msg [&lt;span style="font-weight: bold;"&gt;String&lt;/span&gt; str'']&lt;br /&gt;                     -- &lt;span style="font-style: italic;"&gt;If the send fails, ignore it.&lt;br /&gt;&lt;/span&gt;                     send dbus msg 0 &lt;span style="color: #ef2929;"&gt;`catchDyn`&lt;/span&gt;&lt;br /&gt;                       (&lt;span style="color: #ef2929;"&gt;\&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;DBus.Error&lt;/span&gt; _name _msg) &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt;&lt;br /&gt;                         return 0)&lt;br /&gt;                     return &lt;span style="font-weight: bold;"&gt;()&lt;/span&gt;&lt;br /&gt;                 , ppTitle    &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; pangoColor &lt;span style="color: #ad7fa8;"&gt;"#003366"&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;.&lt;/span&gt; shorten 50&lt;br /&gt;                 , ppCurrent  &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; pangoColor &lt;span style="color: #ad7fa8;"&gt;"#006666"&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;.&lt;/span&gt; wrap &lt;span style="color: #ad7fa8;"&gt;"["&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"]"&lt;/span&gt;&lt;br /&gt;                 , ppVisible  &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; pangoColor &lt;span style="color: #ad7fa8;"&gt;"#663366"&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;.&lt;/span&gt; wrap &lt;span style="color: #ad7fa8;"&gt;"("&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;")"&lt;/span&gt;&lt;br /&gt;                 , ppHidden   &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; wrap &lt;span style="color: #ad7fa8;"&gt;" "&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;" "&lt;/span&gt;&lt;br /&gt;                 , ppUrgent   &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; pangoColor &lt;span style="color: #ad7fa8;"&gt;"red"&lt;/span&gt;&lt;br /&gt;                 } &lt;span style="color: #ef2929;"&gt;&amp;gt;&amp;gt;&lt;/span&gt; myFadeLogHook&lt;br /&gt;&lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;myConfig&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; gnomeConfig {&lt;br /&gt;             manageHook &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt;  namedScratchpadManageHook scratchpads &lt;span style="color: #ef2929;"&gt;&amp;lt;+&amp;gt;&lt;/span&gt; manageDocks &lt;span style="color: #ef2929;"&gt;&amp;lt;+&amp;gt;&lt;/span&gt; myManageHook&lt;br /&gt;           ,layoutHook &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; myLayout&lt;br /&gt;           , startupHook &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; startupHook gnomeConfig &lt;span style="color: #ef2929;"&gt;&amp;gt;&amp;gt;&lt;/span&gt; setWMName &lt;span style="color: #ad7fa8;"&gt;"LG3D"&lt;/span&gt;&lt;br /&gt;           , workspaces&lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; myWorkSpaces&lt;br /&gt;           , modMask &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; mod4Mask&lt;br /&gt;           , focusFollowsMouse &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;False&lt;/span&gt;&lt;br /&gt;           , terminal &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt;  myTerminal&lt;br /&gt;           } &lt;span style="color: #ef2929;"&gt;`additionalKeys`&lt;/span&gt; [&lt;br /&gt;        -- &lt;span style="font-style: italic;"&gt;scrot is a nicely configurable screen shot utility&lt;br /&gt;&lt;/span&gt;           ((0, xK_Print), spawn &lt;span style="color: #ad7fa8;"&gt;"scrot -s -d 5 -q50 'shot-%Y%m%d-%H.%M.%S.png' -e 'mv $f ~/tmp/' &amp;amp;&amp;amp; nautilus ~/tmp"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_p ), spawn &lt;span style="color: #ad7fa8;"&gt;"sleep 0.2;scrot -d5 -q50 -s 'shot-%Y%m%d-%H.%M.%S.png' -e 'eog $f'"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig, xK_b), bringMenu)&lt;br /&gt;           ,((modMask myConfig&lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_g), goToSelected defaultGSConfig)&lt;br /&gt;        &lt;br /&gt;           ,((modMask myConfig, xK_s), &lt;span style="font-weight: bold;"&gt;SM&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;submap &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; searchEngineMap &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;promptSearchBrowser defaultXPConfig &lt;span style="color: #ad7fa8;"&gt;"chromium-browser"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig, xK_g),  &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;promptSearch greenXPConfig &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;google)&lt;br /&gt;        &lt;br /&gt;           ,((modMask myConfig, xK_p), shellPrompt defaultXPConfig)&lt;br /&gt;&lt;br /&gt;           , ((modMask myConfig , xK_F1), &lt;span style="font-weight: bold;"&gt;AL&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;launchApp defaultXPConfig &lt;span style="color: #ad7fa8;"&gt;"gnome-terminal -x info "&lt;/span&gt; )&lt;br /&gt;--           &lt;span style="font-style: italic;"&gt;,((modMask myConfig , xK_F1), manPrompt defaultXPConfig)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;        &lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_o), spawn &lt;span style="color: #ad7fa8;"&gt;"ooffice -calc"&lt;/span&gt;)&lt;br /&gt;           ,((mod3Mask, xK_space), spawn &lt;span style="color: #ad7fa8;"&gt;"gnome-do"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_n), spawn &lt;span style="color: #ad7fa8;"&gt;"nautilus /home/shamrock"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig , xK_v),  spawn &lt;span style="color: #ad7fa8;"&gt;"conkeror -f unfocus"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_c),  namedScratchpadAction scratchpads &lt;span style="color: #ad7fa8;"&gt;"chrome"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_f),  namedScratchpadAction scratchpads &lt;span style="color: #ad7fa8;"&gt;"facebook"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_i),  namedScratchpadAction scratchpads &lt;span style="color: #ad7fa8;"&gt;"iceweasel"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_p),  namedScratchpadAction scratchpads &lt;span style="color: #ad7fa8;"&gt;"htop"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_m),  spawn &lt;span style="color: #ad7fa8;"&gt;"ssh hermes xterm -e htop"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_e),  namedScratchpadAction scratchpads &lt;span style="color: #ad7fa8;"&gt;"emacs"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_d),  namedScratchpadAction scratchpads &lt;span style="color: #ad7fa8;"&gt;"evince"&lt;/span&gt;)&lt;br /&gt;           -- &lt;span style="font-style: italic;"&gt;,((modMask myConfig .|. shiftMask, xK_y),  namedScratchpadAction scratchpads "yoono")&lt;br /&gt;&lt;/span&gt;        &lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_x), spawn &lt;span style="color: #ad7fa8;"&gt;"gxmessage -wrap -bg black -fg green `xprop | grep WM_`"&lt;/span&gt;) -- &lt;span style="font-style: italic;"&gt;query X resources&lt;br /&gt;&lt;/span&gt;        &lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_t), scratchpadSpawnActionCustom myToggleTerminal)&lt;br /&gt;        &lt;br /&gt;     --     &lt;span style="font-style: italic;"&gt;,((modMask myConfig .|. shiftMask, xK_t), scratchpadSpawnActionCustom "gnome-terminal --disable-factory --name scratchpad")&lt;br /&gt;&lt;/span&gt;        &lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask, xK_h), sshPrompt defaultXPConfig)&lt;br /&gt;        &lt;br /&gt;           -- &lt;span style="font-style: italic;"&gt;workspace management&lt;br /&gt;&lt;/span&gt;                                                                                            &lt;br /&gt;           ,((modMask myConfig, xK_Down),  nextWS)&lt;br /&gt;           ,((modMask myConfig, xK_j),  rotSlavesDown)&lt;br /&gt;           ,((modMask myConfig, xK_k),  rotSlavesUp)&lt;br /&gt;           ,((modMask myConfig, xK_u),  rotFocusedDown)&lt;br /&gt;           ,((modMask myConfig, xK_i),  rotFocusedUp)&lt;br /&gt;           ,((modMask myConfig, xK_Up),    prevWS)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_Up),  shiftToNext)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_Down),    shiftToPrev)&lt;br /&gt;           ,((modMask myConfig, xK_Right), nextScreen)&lt;br /&gt;           ,((modMask myConfig, xK_Left),  prevScreen)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_Right), shiftNextScreen)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_Left),  shiftPrevScreen)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_z),     toggleWS)&lt;br /&gt;           ,((modMask myConfig ,xK_x), sendMessage &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Toggle&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;MIRROR&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig ,xK_f), sendMessage &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Toggle&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;FULL&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig ,xK_y), sendMessage &lt;span style="color: #ef2929;"&gt;$&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Toggle&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;REFLECTX&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig ,xK_b), sendMessage(&lt;span style="font-weight: bold;"&gt;ToggleStruts&lt;/span&gt;))&lt;br /&gt;           -- &lt;span style="font-style: italic;"&gt;,((modMask myConfig, xK_x), sendMessage (Toggle "Circle"))&lt;br /&gt;&lt;/span&gt;        &lt;br /&gt;        &lt;br /&gt;           -- &lt;span style="font-style: italic;"&gt;session management&lt;br /&gt;&lt;/span&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_f), withFocused float)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_Delete), spawn &lt;span style="color: #ad7fa8;"&gt;"xkill"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; shiftMask,   xK_Delete), kill)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_t), spawn &lt;span style="color: #ad7fa8;"&gt;"~/bin/myrootterm"&lt;/span&gt;) -- &lt;span style="font-style: italic;"&gt;root terminal&lt;br /&gt;&lt;/span&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_s), spawn &lt;span style="color: #ad7fa8;"&gt;"gksu poweroff"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_r), spawn &lt;span style="color: #ad7fa8;"&gt;"gksu reboot"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_l ), spawn &lt;span style="color: #ad7fa8;"&gt;"gnome-screensaver-command --lock"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_v), spawn &lt;span style="color: #ad7fa8;"&gt;"gnome-volume-control"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_o), spawn &lt;span style="color: #ad7fa8;"&gt;"sleep 0.5; xset dpms force off"&lt;/span&gt;)&lt;br /&gt;         &lt;br /&gt;           -- &lt;span style="font-style: italic;"&gt;, ((modMask myConfig .|. shiftMask,                 xK_space), layoutScreens 2 (TwoPane 0.5 0.5))&lt;br /&gt;&lt;/span&gt;           -- &lt;span style="font-style: italic;"&gt;, ((modMask myConfig .|. controlMask .|. shiftMask, xK_space), rescreen)&lt;br /&gt;&lt;/span&gt;        &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;           -- &lt;span style="font-style: italic;"&gt;multi monitor stuff&lt;br /&gt;&lt;/span&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_1), spawn &lt;span style="color: #ad7fa8;"&gt;"xrandr -s 0"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_2), spawn &lt;span style="color: #ad7fa8;"&gt;"xrandr -s 1"&lt;/span&gt;)&lt;br /&gt;           ,((modMask myConfig &lt;span style="color: #ef2929;"&gt;.|.&lt;/span&gt; controlMask, xK_3), spawn &lt;span style="color: #ad7fa8;"&gt;"xrandr -s 2"&lt;/span&gt;)&lt;br /&gt;        &lt;br /&gt;           ] &lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;searchEngineMap&lt;/span&gt; method &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;M&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;fromList&lt;br /&gt;                         [((0, xK_g), method &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;google)&lt;br /&gt;                         ,((0, xK_H), method &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;hoogle)&lt;br /&gt;                         ,((0, xK_w), method &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;wikipedia)&lt;br /&gt;                         ,((0, xK_i), method &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;imdb)&lt;br /&gt;                         ,((0, xK_a), method &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;amazon)&lt;br /&gt;                         ,((0, xK_m), method &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;maps)&lt;br /&gt;                         ,((0, xK_y), method &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;youtube)&lt;br /&gt;                         ,((0, xK_h), method hayoo)&lt;br /&gt;                         ]&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt;&lt;br /&gt;      hayoo &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;&lt;span style="color: #ef2929;"&gt;.&lt;/span&gt;searchEngine &lt;span style="color: #ad7fa8;"&gt;"Hayoo"&lt;/span&gt;  &lt;span style="color: #ad7fa8;"&gt;"http://holumbus.fh-wedel.de/hayoo/hayoo.html?query="&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;pangoColor&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;::&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;String&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;String&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;String&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;pangoColor&lt;/span&gt; fg &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; wrap left right&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt;&lt;br /&gt;  left  &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"&amp;lt;span foreground=\""&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;++&lt;/span&gt; fg &lt;span style="color: #ef2929;"&gt;++&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"\"&amp;gt;"&lt;/span&gt;&lt;br /&gt;  right &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"&amp;lt;/span&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;sanitize&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;::&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;String&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;-&amp;gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;String&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;sanitize&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;[]&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;[]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #edd400; font-weight: bold;"&gt;sanitize&lt;/span&gt; (x&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;rest) &lt;span style="color: #ef2929;"&gt;|&lt;/span&gt; fromEnum x &lt;span style="color: #ef2929;"&gt;&amp;gt;&lt;/span&gt; 127 &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"&amp;amp;#"&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;++&lt;/span&gt; show (fromEnum x) &lt;span style="color: #ef2929;"&gt;++&lt;/span&gt; &lt;span style="color: #ad7fa8;"&gt;"; "&lt;/span&gt; &lt;span style="color: #ef2929;"&gt;++&lt;/span&gt;&lt;br /&gt;                                       sanitize rest&lt;br /&gt;                  &lt;span style="color: #ef2929;"&gt;|&lt;/span&gt; otherwise        &lt;span style="color: #ef2929;"&gt;=&lt;/span&gt; x &lt;span style="font-weight: bold;"&gt;:&lt;/span&gt; sanitize rest&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1315333929346904551?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1315333929346904551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/02/xmonadhs-haskell-xmonad-config-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1315333929346904551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1315333929346904551'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/02/xmonadhs-haskell-xmonad-config-file.html' title='xmonad.hs : Haskell XMonad config file.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1540122903160787730</id><published>2011-02-06T16:08:00.001-08:00</published><updated>2011-02-06T16:08:37.595-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='sudoers'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><title type='text'>rsync and retain root/other_user attributes</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="file:///home/shamrock/bin/sync"&gt;~/bin/sync&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;#!/bin/bash&lt;br /&gt;# add the following line to /etc/sudoers in the remote system&lt;br /&gt;# username  ALL = NOPASSWD: /usr/bin/rsync&lt;br /&gt;for myhost in asus dev x30 t60&lt;br /&gt;do&lt;br /&gt;ping -c 1 &lt;span style="color: #ad7fa8;"&gt;"$myhost"&lt;/span&gt; &amp;gt; /dev/null&lt;br /&gt;if [ &lt;span style="color: #ad7fa8;"&gt;"$?"&lt;/span&gt; -eq 0 ] ; then&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"$myhost up"&lt;/span&gt;&lt;br /&gt;    sudo rsync -Pha --delete --rsync-path=&lt;span style="color: #ad7fa8;"&gt;"sudo rsync"&lt;/span&gt; --ignore-errors ~/common-files $USER@$myhost:&lt;br /&gt;else&lt;br /&gt;    echo &lt;span style="color: #ad7fa8;"&gt;"$myhost down"&lt;/span&gt;&lt;br /&gt;fi&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1540122903160787730?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1540122903160787730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/02/rsync-and-retain-roototheruser_06.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1540122903160787730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1540122903160787730'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/02/rsync-and-retain-roototheruser_06.html' title='rsync and retain root/other_user attributes'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7276768862365911717</id><published>2011-02-02T05:03:00.001-08:00</published><updated>2011-02-02T05:03:25.284-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='epg'/><category scheme='http://www.blogger.com/atom/ns#' term='gpg'/><category scheme='http://www.blogger.com/atom/ns#' term='gnupgp'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='gnus'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='epa'/><title type='text'>Securing your private email credentials using Gnus and EPA/EPG</title><content type='html'>&lt;br /&gt;&lt;p&gt;(first draft)&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Securing Your Gnus Information. rgr Feb 1st, 2010.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Possibly you wish your gnus email/nntp access configuration to remain&lt;br /&gt;"secretive". This can be a problem when its more and more popular to use&lt;br /&gt;online repos for inter machine sync (e.g using github to hold your emacs&lt;br /&gt;config files). It can be easy to accidentally open the repo or make a&lt;br /&gt;mistake with the file permissions. Or you might even lose your laptop!&lt;br /&gt;Emacs integration with Epa/gnupgp make securing this a doddle. The more&lt;br /&gt;traditional .authinfo file used to mean storing your password in&lt;br /&gt;plaintext : something many people dont like to do.  One option is to&lt;br /&gt;merely resave the .authinfo as .authinfo.gpg. emacs/Gnupg will prompt&lt;br /&gt;you for a signing key and away you go. epa/epg usage is covered&lt;br /&gt;elsewhere in the emacs manual. Dont forget to remove the original&lt;br /&gt;.authinfo.. Configure your auth-sources and Emacs will detect the .gpg&lt;br /&gt;as a default if it exists. The usage and format of authinfo is discussed&lt;br /&gt;in the emacs/gnus manuals. My setting is&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(setq auth-sources (quote ((&lt;span style="color: #b0c4de;"&gt;:source&lt;/span&gt; &lt;span style="color: #ffa07a;"&gt;"/home/me/.emacs.d/.authinfo.gpg"&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #b0c4de;"&gt;:host&lt;/span&gt; t &lt;span style="color: #b0c4de;"&gt;:protocol&lt;/span&gt; t))))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;We can extend this to storing the more secretive part of your Gnus&lt;br /&gt;online life (and any other emacs subset) in a .gpg file.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Lets create a file "my-config.gpg". Line 1 tells emacs which key to use&lt;br /&gt;and that it contains elisp :-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;&lt;span style="color: #ff7f24;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff7f24;"&gt;-*- mode:emacs-lisp -*- epa-file-encrypt-to: ("86E37324********") -*-&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;In it you can store private information such as a your erc password and gnus posting styles maybe:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(setq erc-password &lt;span style="color: #ffa07a;"&gt;"123456"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(add-to-list `gnus-posting-styles  `( ,(rx(or &lt;span style="color: #ffa07a;"&gt;"INBOX.trolling"&lt;/span&gt; &lt;span style="color: #ffa07a;"&gt;""&lt;/span&gt;))&lt;br /&gt;                                      (from &lt;span style="color: #ffa07a;"&gt;"Tommy &amp;lt;&lt;a href="mailto:tommy&amp;#64;trollsrus.net"&gt;tommy&amp;#64;trollsrus.net&lt;/a&gt;&amp;gt;"&lt;/span&gt;)&lt;br /&gt;                                      (name &lt;span style="color: #ffa07a;"&gt;"Tommy Troll"&lt;/span&gt;))t)&lt;br /&gt;&lt;br /&gt;(add-to-list `gnus-posting-styles `(,(rx(or &lt;span style="color: #ffa07a;"&gt;"serious"&lt;/span&gt;))&lt;br /&gt;                                    (name &lt;span style="color: #ffa07a;"&gt;"Serious"&lt;/span&gt;)(address &lt;span style="color: #ffa07a;"&gt;"serious@xxx-yyy-zzz-.com"&lt;/span&gt;)&lt;br /&gt;                                    (from  &lt;span style="color: #ffa07a;"&gt;"Simon Serious&amp;lt;&lt;a href="mailto:serious&amp;#64;xxx-yyy-zzz-.com"&gt;serious&amp;#64;xxx-yyy-zzz-.com&lt;/a&gt;&amp;gt;"&lt;/span&gt;)&lt;br /&gt;                                    (eval (setq mml2015-signers '(&lt;span style="color: #ffa07a;"&gt;"12349876"&lt;/span&gt;)))&lt;br /&gt;                                    (organization &lt;span style="color: #ffa07a;"&gt;"http://www.gnus.com"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;                                    (signature-file &lt;span style="color: #ffa07a;"&gt;"~/.emacs.d/.sigs/serious.sig"&lt;/span&gt;)) t)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;provide&lt;/span&gt; '&lt;span style="color: #7fffd4;"&gt;my-config&lt;/span&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The loading of this file would cause emacs or the system to prompt you&lt;br /&gt;for a password to decrypt the file if the agent (gpg-agent) or emacs&lt;br /&gt;hasnt already cached the password for that key. This prompt can be an&lt;br /&gt;issue if you're using the emacs daemon especially if starting the&lt;br /&gt;process at system login. When to prompt? One nice way is to only load&lt;br /&gt;the gpg file when you create an emacs frame. e.g&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;load-secure-config&lt;/span&gt;(frame)&lt;br /&gt;   (&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #7fffd4;"&gt;my-config&lt;/span&gt; &lt;span style="color: #ffa07a;"&gt;"my-config.gpg"&lt;/span&gt;))&lt;br /&gt;  &lt;br /&gt; (add-hook 'after-make-frame-functions 'load-secure-config)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Here we see that the private configuration information is only loaded and&lt;br /&gt;decrypted when you actually bring up an emacs frame - generally that&lt;br /&gt;would be sufficient in the case of gnus.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7276768862365911717?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7276768862365911717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/02/securing-your-private-email-credentials_7309.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7276768862365911717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7276768862365911717'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/02/securing-your-private-email-credentials_7309.html' title='Securing your private email credentials using Gnus and EPA/EPG'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-354983779976161167</id><published>2011-01-31T12:15:00.001-08:00</published><updated>2011-01-31T12:15:28.307-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><title type='text'>Using rsync to synchronise different machines over ssh</title><content type='html'>&lt;pre class="src src-bash"&gt;#!/bin/bash&lt;br /&gt;# January 2011 : rsync to various machines.&lt;br /&gt;# author : rileyrg@gmail.com&lt;br /&gt;# The LOCALHOST machine should have itself in the&lt;br /&gt;# /etc/hosts files as something lile 1.1.1 so that&lt;br /&gt;# the ping fails : basically a check to see if the&lt;br /&gt;# destination host is available.&lt;br /&gt;for myhost in asus dev x30 t60&lt;br /&gt;do&lt;br /&gt;ping -c 1 &lt;span style="color: #ffa07a;"&gt;"$myhost"&lt;/span&gt; &amp;gt; /dev/null&lt;br /&gt;if [ &lt;span style="color: #ffa07a;"&gt;"$?"&lt;/span&gt; -eq 0 ] ; then&lt;br /&gt;    echo &lt;span style="color: #ffa07a;"&gt;"$myhost up"&lt;/span&gt;&lt;br /&gt;    rsync -avz --delete ~/common-files $myhost:&lt;br /&gt;else&lt;br /&gt;    echo &lt;span style="color: #ffa07a;"&gt;"$myhost down"&lt;/span&gt;&lt;br /&gt;fi&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-354983779976161167?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/354983779976161167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/01/using-rsync-to-synchronise-different_4837.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/354983779976161167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/354983779976161167'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/01/using-rsync-to-synchronise-different_4837.html' title='Using rsync to synchronise different machines over ssh'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4116280135989758576</id><published>2011-01-25T16:35:00.001-08:00</published><updated>2011-01-25T16:35:40.316-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='asus'/><category scheme='http://www.blogger.com/atom/ns#' term='netboox'/><category scheme='http://www.blogger.com/atom/ns#' term='liquorix'/><title type='text'>Installed the Liquorix kernel on my Asus 1015 PEM</title><content type='html'>&lt;br /&gt;&lt;p&gt;What a kerfuffle&amp;hellip;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Opted for the power saving, more responsive Liquorix Debian kernel. The install&lt;br /&gt;went pretty painlessly courtesy of the &lt;a href="http://smxi.org"&gt;smxi installers&lt;/a&gt;. But it wont work with&lt;br /&gt;the network-manager on wireless since killing X kills the networking connection&lt;br /&gt;too. Daft. So be prepared with an ethernet cable. So, great. I reboot and:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;&amp;gt; uname -a&lt;br /&gt;Linux development.richardriley.net 2.6.32-5-686 #1 SMP Wed Aug 25 14:28:12 UTC 2010 i686 GNU/Linux&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;WOOt! But wait! Whats this? No wireless. Oh yes, thats right : the weird and&lt;br /&gt;wacky world of Debian politics means I need to run the module assistant to&lt;br /&gt;install the sources and build the driver for the bcm43q13 wireless device. God&lt;br /&gt;forbid they should forget all that and just have something that works out of the&lt;br /&gt;box and actually attract new users. Oh no. So &lt;a href="http://wiki.debian.org/ModuleAssistant"&gt;m-a&lt;/a&gt; is used once more. Except it&lt;br /&gt;crashes out. What do do? A quick google revealed the wonderul &lt;a href="http://wireless.kernel.org/"&gt;linux wireless &lt;/a&gt;&lt;br /&gt;website which maintains up to date repos of all wireless SW. Well, most. Should&lt;br /&gt;be simple!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Have a read and decide that the brcm80211 driver should suffice. great! So&lt;br /&gt;install the debian firmware-brcm80211 using aptitude.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;sudo aptitude install firmware-brcm802011&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Now follow the linux wireless instructions. Cant be too hard&amp;hellip; and it wasn't!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Download the &lt;a href="http://wireless.kernel.org/en/users/Download?highlight=(download)#Download_latest_Linux_wireless_drivers"&gt;latest code&lt;/a&gt;. Unarchive to my usual build tree. Now its time for the&lt;br /&gt;money shot.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;./scripts/driver-select brcm80211&lt;br /&gt;make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Crikey! It compiled. Now remove any existing driver and install the new one:-&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;sudo modprobe -r brcm80211&lt;br /&gt;sudo modprobe -r wl&lt;br /&gt;sudo modprobe  brcm80211&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;All this was done over an ssh link from my main development machine to my Asus&lt;br /&gt;netbook via ethernet cable btw.  So lets try this driver .. oh no. Lets not. The&lt;br /&gt;famous Linux BSOD&amp;hellip;.. Black Screen Of Death&amp;hellip;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;!(sdu-&amp;gt;cloned) failed : file wlc_mac80211.c line 5140&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Quickly subscribing to the mail list for linux-wireless&lt;br /&gt;(linux-wireless@vger.kernel.org) I had the solution .. remove the offending&lt;br /&gt;line and remake!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Bingo! It works.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;And that ladies and gentleman was my day&amp;hellip;.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4116280135989758576?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4116280135989758576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/01/installed-liquorix-kernel-on-my-asus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4116280135989758576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4116280135989758576'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2011/01/installed-liquorix-kernel-on-my-asus.html' title='Installed the Liquorix kernel on my Asus 1015 PEM'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-553727017520906885</id><published>2010-12-11T23:57:00.000-08:00</published><updated>2010-12-11T23:59:17.756-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='icons'/><category scheme='http://www.blogger.com/atom/ns#' term='settings'/><category scheme='http://www.blogger.com/atom/ns#' term='barwebs'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Iconify all discrete settings types</title><content type='html'>Also allow cascaded CSS : setting page css and then current page.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://i.imgur.com/cdYlE.png"&gt;Unique images for each setting type available from css bg images.&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-553727017520906885?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/553727017520906885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/iconify-all-discrete-settings-types.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/553727017520906885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/553727017520906885'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/iconify-all-discrete-settings-types.html' title='Iconify all discrete settings types'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5824995122284072467</id><published>2010-12-11T08:28:00.001-08:00</published><updated>2010-12-11T08:28:15.548-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='editeventform'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Can now hide edit dialog properly using jscript. Also can duplicate
events.</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://imgur.com/dXR4u.png"&gt;Image showing hiding edit dialog and duplication of events&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5824995122284072467?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5824995122284072467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/can-now-hide-edit-dialog-properly-using_2659.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5824995122284072467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5824995122284072467'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/can-now-hide-edit-dialog-properly-using_2659.html' title='Can now hide edit dialog properly using jscript. Also can duplicate&#xA;events.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4465381711661101250</id><published>2010-12-10T16:01:00.001-08:00</published><updated>2010-12-10T16:01:19.699-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='editeventform'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Added javascript toggle for the edit/create even dialog.</title><content type='html'>&lt;br /&gt;&lt;p&gt;Javascript can be used to access document elements by ID on the client. In this&lt;br /&gt;case we can toggle the visibility of the #editeventform using the css display&lt;br /&gt;property.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://rileyrg.imgur.com/pub_web_software/NQnSu"&gt;http://rileyrg.imgur.com/pub_web_software/NQnSu&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4465381711661101250?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4465381711661101250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/added-javascript-toggle-for-editcreate_10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4465381711661101250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4465381711661101250'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/added-javascript-toggle-for-editcreate_10.html' title='Added javascript toggle for the edit/create even dialog.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-6884459332227902979</id><published>2010-12-06T16:26:00.000-08:00</published><updated>2010-12-06T16:33:25.300-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='settings'/><category scheme='http://www.blogger.com/atom/ns#' term='barwebs'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Settings can be visible.</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Particularly useful for things like web settings for comms path eg phone, email, fx etc. Token is the access id, title is human readable heading (can be internationalised) and description holds the value (again can be different for each language).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://imgur.com/k6hZ4.png"&gt;Visible Settings&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In addition, added &lt;a href="http://imgur.com/GEzEa.png"&gt;confirmation for all deletions&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-6884459332227902979?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/6884459332227902979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/settings-can-be-visible.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6884459332227902979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6884459332227902979'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/settings-can-be-visible.html' title='Settings can be visible.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-994443999388289998</id><published>2010-12-01T09:26:00.000-08:00</published><updated>2010-12-01T09:27:23.008-08:00</updated><title type='text'>Protect settings and meta from deletion</title><content type='html'>&lt;a href="http://imgur.com/YMMJe.png"&gt;No delete option for metas and settings&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-994443999388289998?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/994443999388289998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/protect-settings-and-meta-from-deletion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/994443999388289998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/994443999388289998'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/12/protect-settings-and-meta-from-deletion.html' title='Protect settings and meta from deletion'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8187964309685485003</id><published>2010-11-30T22:03:00.001-08:00</published><updated>2010-11-30T22:04:38.337-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='barweb'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='meta'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Meta data and general settings unified into internationalised event UI</title><content type='html'>&lt;p&gt;&lt;a href="http://imgur.com/OzClx.png"&gt;keywords META tag as a setting in the event list&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Which means you can edit as any other event and internationalise accordingly.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-php"&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;function&lt;/span&gt; &lt;span style="color: rgb(135, 206, 250);"&gt;getPageMetaHTML&lt;/span&gt;($&lt;span style="color: rgb(238, 221, 130);"&gt;category&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;       $&lt;span style="color: rgb(238, 221, 130);"&gt;sql&lt;/span&gt;=&lt;span style="color: rgb(255, 160, 122);"&gt;'select id from events where token="meta" and fenabled=1 and category="'&lt;/span&gt;.$&lt;span style="color: rgb(238, 221, 130);"&gt;category&lt;/span&gt;.&lt;span style="color: rgb(255, 160, 122);"&gt;'"'&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 255, 255);"&gt;if&lt;/span&gt;(($&lt;span style="color: rgb(238, 221, 130);"&gt;result&lt;/span&gt;=&lt;span style="color: rgb(255, 255, 255); background-color: rgb(63, 63, 63);"&gt;getDB(&lt;/span&gt;)-&amp;gt;&lt;span style="color: rgb(255, 255, 255); background-color: rgb(63, 63, 63);"&gt;query&lt;/span&gt;($&lt;span style="color: rgb(238, 221, 130);"&gt;sql&lt;/span&gt;))==&lt;span style="color: rgb(127, 255, 212);"&gt;false&lt;/span&gt;)&lt;br /&gt;               &lt;span style="color: rgb(0, 255, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(255, 160, 122);"&gt;""&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 255, 255);"&gt;if&lt;/span&gt;($&lt;span style="color: rgb(238, 221, 130);"&gt;result&lt;/span&gt;-&amp;gt;&lt;span style="color: rgb(238, 221, 130);"&gt;num_rows&lt;/span&gt;==&lt;span style="color: rgb(255, 255, 255); background-color: rgb(63, 63, 63);"&gt;0&lt;/span&gt;){&lt;br /&gt;               &lt;span style="color: rgb(0, 255, 255);"&gt;if&lt;/span&gt;($&lt;span style="color: rgb(238, 221, 130);"&gt;category&lt;/span&gt;!=&lt;span style="color: rgb(255, 160, 122);"&gt;"index"&lt;/span&gt;){&lt;br /&gt;                       &lt;span style="color: rgb(0, 255, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(255, 255, 255); background-color: rgb(63, 63, 63);"&gt;getPageMetaHTML(&lt;/span&gt;&lt;span style="color: rgb(255, 160, 122);"&gt;"index"&lt;/span&gt;);&lt;br /&gt;               }&lt;span style="color: rgb(0, 255, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;                       &lt;span style="color: rgb(0, 255, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(255, 160, 122);"&gt;""&lt;/span&gt;;&lt;br /&gt;       }&lt;br /&gt;       $&lt;span style="color: rgb(238, 221, 130);"&gt;res&lt;/span&gt;=&lt;span style="color: rgb(255, 160, 122);"&gt;""&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 255, 255);"&gt;while&lt;/span&gt;($&lt;span style="color: rgb(238, 221, 130);"&gt;r&lt;/span&gt;=$&lt;span style="color: rgb(238, 221, 130);"&gt;result&lt;/span&gt;-&amp;gt;&lt;span style="color: rgb(255, 255, 255); background-color: rgb(63, 63, 63);"&gt;fetch_assoc&lt;/span&gt;()){&lt;br /&gt;               &lt;span style="color: rgb(255, 255, 255); background-color: rgb(63, 63, 63);"&gt;getEventLocaleFields(&lt;/span&gt;&amp;amp;$&lt;span style="color: rgb(238, 221, 130);"&gt;r&lt;/span&gt;);&lt;br /&gt;               $&lt;span style="color: rgb(238, 221, 130);"&gt;res&lt;/span&gt;.=&lt;span style="color: rgb(255, 160, 122);"&gt;'&amp;lt;meta name="'&lt;/span&gt;.$&lt;span style="color: rgb(238, 221, 130);"&gt;r&lt;/span&gt;{&lt;span style="color: rgb(255, 160, 122);"&gt;"title"&lt;/span&gt;}.&lt;span style="color: rgb(255, 160, 122);"&gt;'" content="'&lt;/span&gt;.$&lt;span style="color: rgb(238, 221, 130);"&gt;r&lt;/span&gt;{&lt;span style="color: rgb(255, 160, 122);"&gt;"event"&lt;/span&gt;}.&lt;span style="color: rgb(255, 160, 122);"&gt;'"&amp;gt;'&lt;/span&gt;;&lt;br /&gt;       }&lt;br /&gt;       &lt;span style="color: rgb(0, 255, 255);"&gt;return&lt;/span&gt; $&lt;span style="color: rgb(238, 221, 130);"&gt;res&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;a href="http://github.com/rileyrg"&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8187964309685485003?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8187964309685485003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/meta-data-and-general-settings-unified_30.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8187964309685485003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8187964309685485003'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/meta-data-and-general-settings-unified_30.html' title='Meta data and general settings unified into internationalised event UI'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-6322431623811357588</id><published>2010-11-14T23:58:00.001-08:00</published><updated>2010-11-14T23:58:10.381-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='yoono'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='xmonad'/><title type='text'>Using xmonad to control Yoono as a scratchpad</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://yoono.com/"&gt;Yoono is head and shoulders&lt;/a&gt; above the rest when it comes to "Social Networking"&lt;br /&gt;monitoring and configuration with instance messaging on the desktop. Especially&lt;br /&gt;since it works well on Linux too.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;That said, like a lot of these kind of tools it can be too in your face. Well,&lt;br /&gt;if you use a decent tiling Windows Manager like xmonad all is instantly&lt;br /&gt;solved. Providing you know some Haskell. &lt;b&gt;chuckle&lt;/b&gt; &amp;hellip;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;scratchpads = [&lt;br /&gt;&lt;br /&gt; -- run htop in xterm, find it by title, use default floating window placement&lt;br /&gt;&lt;br /&gt;--     NS "google-chrome" "google-chrome" (className =? "Google-chrome") nonFloating ,&lt;br /&gt;--     NS "browser" "conkeror" (className =? "Conkeror") nonFloating ,&lt;br /&gt;     NS "browser" "iceweasel -new-tab" (className =? "Iceweasel") nonFloating ,&lt;br /&gt;     NS "evince" "evince" (className =? "evince") nonFloating ,&lt;br /&gt;     NS "yoono" "yoono" (name =? "Yoono") defaultFloating ,&lt;br /&gt;     NS "surf" "surf" (className =? "surf") nonFloating ,&lt;br /&gt;     NS "emacs" "edit -c" (className =? "Emacs") nonFloating,&lt;br /&gt;     NS "unison" "unison-gtk" (className =? "unison-gtk") nonFloating ,&lt;br /&gt;     NS "htop" "xterm -name htop -e htop" (title =? "htop") &lt;br /&gt;         (customFloating $ W.RationalRect (1/3) (1/8) (2/3) (1/2)) ,&lt;br /&gt;     NS "newsbeuter" "xterm -e myrss" (title =? "myrss")&lt;br /&gt;         (customFloating $ W.RationalRect (1/2) 0 (1/2) (1/4)) &lt;br /&gt;&lt;br /&gt; ] where name = stringProperty "WM_NAME"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;and then in my keyboard hook&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;,((modMask myConfig .|. shiftMask, xK_y),  namedScratchpadAction scratchpads "yoono")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;et Voila. Toggle it via a hotkey.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-6322431623811357588?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/6322431623811357588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/using-xmonad-to-control-yoono-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6322431623811357588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6322431623811357588'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/using-xmonad-to-control-yoono-as.html' title='Using xmonad to control Yoono as a scratchpad'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5085084346133499202</id><published>2010-11-13T19:02:00.001-08:00</published><updated>2010-11-13T19:02:26.171-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='share'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Edit and Create Event dialog now using dynamic CSS for layout</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://imgur.com/LQQYd.png"&gt;Floating layouts for event dialogs. Advanced section automatically hides unless you select it.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5085084346133499202?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5085084346133499202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/edit-and-create-event-dialog-now-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5085084346133499202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5085084346133499202'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/edit-and-create-event-dialog-now-using.html' title='Edit and Create Event dialog now using dynamic CSS for layout'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4885226243216859153</id><published>2010-11-12T07:01:00.001-08:00</published><updated>2010-11-12T07:01:57.473-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='share'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Enabling/Disabling events for Social Network sharing.</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://imgur.com/PUHjj.png"&gt;Enabling sharing example.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The create new/edit dialog now includes the ability to toggle event&lt;br /&gt;sharing. This would typically be used to disable sharing for an item which can&lt;br /&gt;not stand on its own such as a list item - some support text to an item that&lt;br /&gt;includes an embedded object like a gcalendar or twitter feed for example. Or&lt;br /&gt;perhaps simply something you dont want shared! Typically used in conjuntion with&lt;br /&gt;the orderby field which is, currently, the only crude way to order things&lt;br /&gt;(outside of caelendar ordering) in an event list in order to ensure certains&lt;br /&gt;items remain at the top or bottom or follow a previous item. Relative ordering&lt;br /&gt;and grouping is in the pipeline - this will facilitate online menu construction&lt;br /&gt;and perhaps photo album management although I am doubtful that anything I&lt;br /&gt;shoehorn in there can in any shape or form approach the functionality provided&lt;br /&gt;by the plethora of existing solutions for photo management. Its what links are&lt;br /&gt;for &amp;hellip;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://imgur.com/M9KHT.png"&gt;Event In German&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;As an added bonus it will now also allow you to share in another language. Just&lt;br /&gt;set the language on the web page before sharing and the link back will ensure&lt;br /&gt;that the article/event is in that language when people click back.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4885226243216859153?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4885226243216859153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/enablingdisabling-events-for-social_2613.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4885226243216859153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4885226243216859153'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/enablingdisabling-events-for-social_2613.html' title='Enabling/Disabling events for Social Network sharing.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5630385176655022927</id><published>2010-11-11T10:26:00.001-08:00</published><updated>2010-11-11T10:26:35.176-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='share'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='addthis'/><title type='text'>Events can now be uniquely idendified in order to facilitate meta
information for social network sharing.</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://imgur.com/KB3c6.png"&gt;A single event now has a unique meta tagging for title and description since facebook, twitter etc sieve the pages for these meta tags in order to describe the page they are linking to.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5630385176655022927?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5630385176655022927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/events-can-now-be-uniquely-idendified.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5630385176655022927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5630385176655022927'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/events-can-now-be-uniquely-idendified.html' title='Events can now be uniquely idendified in order to facilitate meta&#xA;information for social network sharing.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4957432620203546874</id><published>2010-11-11T07:21:00.001-08:00</published><updated>2010-11-11T07:21:51.539-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='share'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='addthis'/><title type='text'>Share your sites and events</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addthis.com/"&gt;http://www.addthis.com/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;A simply wonderful utility to enable social networkers to spread the word.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Embeds a small icon (or list of icons) to enable people to link to your page from their blogs, facebook, etc etc etc. Lets go viral!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://imgur.com/g636q.png"&gt;AddThis at work on the pub's web page.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4957432620203546874?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4957432620203546874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/share-your-sites-and-events.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4957432620203546874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4957432620203546874'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/share-your-sites-and-events.html' title='Share your sites and events'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8441216951189229113</id><published>2010-11-04T10:36:00.001-07:00</published><updated>2010-11-04T10:36:08.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Temporary placeholder pages for barwebs.com</title><content type='html'>&lt;br /&gt;&lt;p&gt;Pub and Band websites. Dedicated and specialised event management.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.shamrockirishbar.com/barwebs"&gt;http://www.barwebs.com hosted at the The Shamrock's page for now.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8441216951189229113?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8441216951189229113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/temporary-placeholder-pages-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8441216951189229113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8441216951189229113'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/temporary-placeholder-pages-for.html' title='Temporary placeholder pages for barwebs.com'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5163469002202370692</id><published>2010-11-04T09:59:00.001-07:00</published><updated>2010-11-04T09:59:24.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>New And Edit Event Dialogs Rejigged</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://imgur.com/w7yHL.png"&gt;Edit Event&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://imgur.com/ocG4H.png"&gt;New Event&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5163469002202370692?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5163469002202370692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/new-and-edit-event-dialogs-rejigged.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5163469002202370692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5163469002202370692'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/new-and-edit-event-dialogs-rejigged.html' title='New And Edit Event Dialogs Rejigged'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4096688034424082768</id><published>2010-11-02T11:38:00.001-07:00</published><updated>2010-11-02T11:38:10.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journal'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Webs now using mssqli and simplified css layout</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.shamrockirishbar.com"&gt;The Shamrock Irish Bar, Hamburg&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.inspirationyachts.com"&gt;Inspiration Yachts&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.stevefairwaymusic.com"&gt;Steve Fairway Music&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4096688034424082768?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4096688034424082768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/webs-now-using-mssqli-and-simplified.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4096688034424082768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4096688034424082768'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/webs-now-using-mssqli-and-simplified.html' title='Webs now using mssqli and simplified css layout'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4127990285651849790</id><published>2010-11-02T06:16:00.003-07:00</published><updated>2010-11-02T06:16:47.540-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Moved from mysql functions mysqli class.</title><content type='html'>&lt;br /&gt;&lt;p&gt;@mysql function calls pretty much deprecated in php. Moved all the code to&lt;br /&gt;mysqli based. Pretty straightforward. e.g&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;$f=@fopen("authinfo","r",true);&lt;br /&gt;$auth=explode(" ",@fgets($f));&lt;br /&gt;@fclose($f);&lt;br /&gt;setDB($mysqli = new mysqli($auth{3},$auth{0},$auth{1},$auth{2}));&lt;br /&gt;if ($mysqli-&amp;gt;connect&lt;sub&gt;error&lt;/sub&gt;) {&lt;br /&gt;die('Connect Error (' . $mysqli-&amp;gt;connect&lt;sub&gt;errno&lt;/sub&gt; . ') '&lt;br /&gt;. $mysqli-&amp;gt;connect&lt;sub&gt;error&lt;/sub&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4127990285651849790?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4127990285651849790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/moved-from-mysql-functions-mysqli-class_4299.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4127990285651849790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4127990285651849790'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/moved-from-mysql-functions-mysqli-class_4299.html' title='Moved from mysql functions mysqli class.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5021049015067424537</id><published>2010-11-01T09:37:00.001-07:00</published><updated>2010-11-01T09:37:36.104-07:00</updated><title type='text'>Steve Fairway site now released.</title><content type='html'>&lt;br /&gt;&lt;p&gt;New album "Souled Out". New domain name. See all at &lt;a href="http://www.stevefairwaymusic.com"&gt;Steve Fairway Enterntainment Homepage&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5021049015067424537?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5021049015067424537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/steve-fairway-site-now-released_01.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5021049015067424537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5021049015067424537'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/11/steve-fairway-site-now-released_01.html' title='Steve Fairway site now released.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-6285513749531978765</id><published>2010-10-22T05:15:00.001-07:00</published><updated>2010-10-22T05:15:52.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>db update scripts</title><content type='html'>&lt;pre class="src src-sql"&gt;&lt;span style="color: #ff7f24;"&gt;-- move all text into msgcodes&lt;br /&gt;-- insert into msgcodes (id,lang_id,msgtext)  select concat(id,"-event"),1,event from events;&lt;br /&gt;-- insert into msgcodes (id,lang_id,msgtext)  select concat(id,"-title"),1,title from events;&lt;br /&gt;-- alter table events drop title;&lt;br /&gt;-- alter table events drop event;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff7f24;"&gt;-- added code field to languages to hold two letter language code&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;languages&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;drop&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;column&lt;/span&gt; code;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;languages&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;add&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;column&lt;/span&gt; code &lt;span style="color: #98fb98;"&gt;char&lt;/span&gt;(2) &lt;span style="color: #00ffff;"&gt;after&lt;/span&gt; id;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;update&lt;/span&gt; languages &lt;span style="color: #00ffff;"&gt;set&lt;/span&gt; code=lcase(&lt;span style="color: #b0c4de;"&gt;substring&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;language&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;FROM&lt;/span&gt; 1 &lt;span style="color: #00ffff;"&gt;FOR&lt;/span&gt; 2));&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;msgcodes&lt;/span&gt; change id id &lt;span style="color: #98fb98;"&gt;varchar&lt;/span&gt;(32);&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;languages&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;drop&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;column&lt;/span&gt; field;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;msgcodes&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;add&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;column&lt;/span&gt; field &lt;span style="color: #98fb98;"&gt;varchar&lt;/span&gt;(32) &lt;span style="color: #00ffff;"&gt;after&lt;/span&gt; lang_id;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;msgcodes&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;drop&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;column&lt;/span&gt; fkey;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;msgcodes&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;add&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;column&lt;/span&gt; fkey &lt;span style="color: #98fb98;"&gt;int&lt;/span&gt;(10) unsigned &lt;span style="color: #00ffff;"&gt;after&lt;/span&gt; lang_id;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;msgcodes&lt;/span&gt; ENGINE = InnoDB;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;events&lt;/span&gt; ENGINE = InnoDB;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;update&lt;/span&gt; msgcodes &lt;span style="color: #00ffff;"&gt;set&lt;/span&gt; fkey=SUBSTRING_INDEX(id,"-",1) &lt;span style="color: #00ffff;"&gt;where&lt;/span&gt; id  REGEXP &lt;span style="color: #ffa07a;"&gt;'^[0-9]+-'&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;update&lt;/span&gt; msgcodes &lt;span style="color: #00ffff;"&gt;set&lt;/span&gt; field=SUBSTRING_INDEX(id,"-",-1) &lt;span style="color: #00ffff;"&gt;where&lt;/span&gt; id  REGEXP &lt;span style="color: #ffa07a;"&gt;'^[0-9]+-'&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #00ffff;"&gt;alter&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;table&lt;/span&gt; &lt;span style="color: #87cefa;"&gt;msgcodes&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;add&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;constraint&lt;/span&gt; deletecodes &lt;span style="color: #00ffff;"&gt;foreign&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;key&lt;/span&gt; (fkey) &lt;span style="color: #00ffff;"&gt;references&lt;/span&gt; events (id) &lt;span style="color: #00ffff;"&gt;on&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;delete&lt;/span&gt; &lt;span style="color: #00ffff;"&gt;cascade&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="file:///home/shamrock/webs/db-update.sql"&gt;~/webs/db-update.sql::&amp;ndash; move all text into msgcodes&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-6285513749531978765?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/6285513749531978765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/db-update-scripts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6285513749531978765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6285513749531978765'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/db-update-scripts.html' title='db update scripts'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7806718063380695257</id><published>2010-10-20T16:39:00.001-07:00</published><updated>2010-10-20T16:39:40.100-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internationalisation'/><category scheme='http://www.blogger.com/atom/ns#' term='languages'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Finally completed internationalising simple web support structure</title><content type='html'>&lt;br /&gt;&lt;p&gt;The web SW now links all event titles and descriptions to relevant msgcode&lt;br /&gt;entries. This means you can enter an event in English, switch to german and then&lt;br /&gt;locale that in German.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7806718063380695257?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7806718063380695257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/finally-completed-internationalising.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7806718063380695257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7806718063380695257'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/finally-completed-internationalising.html' title='Finally completed internationalising simple web support structure'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8843931401819863288</id><published>2010-10-20T08:13:00.000-07:00</published><updated>2010-10-20T08:14:49.028-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Css Drop Downs Supporting Direct Event Editing</title><content type='html'>&lt;a href="http://imgur.com/RcTvL.png"&gt;Event list drop downs from navigation icons now allow direct editing&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8843931401819863288?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8843931401819863288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/css-drop-downs-supporting-direct-event.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8843931401819863288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8843931401819863288'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/css-drop-downs-supporting-direct-event.html' title='Css Drop Downs Supporting Direct Event Editing'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-9079929677638450429</id><published>2010-10-13T19:10:00.001-07:00</published><updated>2010-10-13T19:10:35.757-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Drop down menus live from mySQL using CSS</title><content type='html'>&lt;br /&gt;&lt;p&gt;I was preparing to entire the hazy horrible world of Java script to provide&lt;br /&gt;event links from the navigation toolbar. And then! Bing! Why not use CSS? And it&lt;br /&gt;works. Super. Click on the annoying advert below to take a gander &amp;hellip;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;a href="http://www.myupload.org/viewer.php?file=bt596wroqpdzefp2z7ay.png"&gt;&lt;img src="http://www.myupload.org/files/bt596wroqpdzefp2z7ay_thumb.png" border="0" alt="MyUpload.org" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-9079929677638450429?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/9079929677638450429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/drop-down-menus-live-from-mysql-using_4857.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9079929677638450429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9079929677638450429'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/drop-down-menus-live-from-mysql-using_4857.html' title='Drop down menus live from mySQL using CSS'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2497190072159631881</id><published>2010-10-11T15:43:00.001-07:00</published><updated>2010-10-11T15:43:12.974-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='babel'/><category scheme='http://www.blogger.com/atom/ns#' term='offline'/><category scheme='http://www.blogger.com/atom/ns#' term='translate'/><title type='text'>Finally : a good pop up translator for FireFox</title><content type='html'>&lt;br /&gt;&lt;p&gt;I can't believe I missed this bad boy before.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Babel Translator will pop up word translations, select translations etc. Highly&lt;br /&gt;customisable. Superb.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/7004/"&gt;Babel Translator For Firefox&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2497190072159631881?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2497190072159631881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/finally-good-pop-up-translator-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2497190072159631881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2497190072159631881'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/finally-good-pop-up-translator-for.html' title='Finally : a good pop up translator for FireFox'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4338450272690005152</id><published>2010-10-04T03:52:00.001-07:00</published><updated>2010-10-04T03:52:24.871-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='crawler'/><category scheme='http://www.blogger.com/atom/ns#' term='sitemaps'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='webmaster'/><title type='text'>Google Sitemap Generator</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://googlesitemapgenerator.googlecode.com/svn/trunk/doc/gsg-intro.html"&gt;SiteMaps&lt;/a&gt; seems to be another way to optimsie google ratings. The link talks about googles own sitempa generator.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;A site which claims to generate free sitemaps is &lt;a href="http://www.xml-sitemaps.com/"&gt;XMLSiteMaps&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4338450272690005152?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4338450272690005152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/google-sitemap-generator_04.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4338450272690005152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4338450272690005152'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/google-sitemap-generator_04.html' title='Google Sitemap Generator'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1214297271596913795</id><published>2010-10-04T02:49:00.001-07:00</published><updated>2010-10-04T02:49:38.229-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacsclient'/><category scheme='http://www.blogger.com/atom/ns#' term='daemon'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Emacs 23, the emacs daemon and emacsclient</title><content type='html'>&lt;br /&gt;&lt;p&gt;A recent entry to planetemacsen reminded me of a wiki entry added a good while&lt;br /&gt;back which complements, or even supercedes, other methods of starting the emacs&lt;br /&gt;daemon.  There are a lot of solutions for running the emacs daemon when not&lt;br /&gt;already running and/or using the emacsclient.  I find the following solution&lt;br /&gt;most convenient since there is no need to specifically start the server yourself&lt;br /&gt;at any stage - it makes use of the alternate-editor option. Create a small&lt;br /&gt;script and place it somewhere on your path.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;#!/bin/bash&lt;br /&gt;# edit&lt;br /&gt;exec emacsclient --alternate-editor=&lt;span style="color: #ffaf87;"&gt;""&lt;/span&gt; -c &lt;span style="color: #ffaf87;"&gt;"$@"&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The ="" is the key. This tells the emacsclient code to start the daemon and then&lt;br /&gt;call itself if its not already running.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The &lt;a href="http://www.emacswiki.org/emacs/EmacsClient#toc2"&gt;wiki entry&lt;/a&gt; tells you more and describes the use of the EDITOR env variable.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1214297271596913795?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1214297271596913795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/emacs-23-emacs-daemon-and-emacsclient_7756.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1214297271596913795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1214297271596913795'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/emacs-23-emacs-daemon-and-emacsclient_7756.html' title='Emacs 23, the emacs daemon and emacsclient'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-80961452997934287</id><published>2010-10-03T10:25:00.001-07:00</published><updated>2010-10-03T22:27:50.135-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='isearch'/><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='fuzzy'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Fuzzy Search In Emacs</title><content type='html'>&lt;p&gt;&lt;a href="http://code.google.com/p/dea/source/browse/trunk/lisps/auto-complete/fuzzy.el?spec=svn1202&amp;amp;r=1134"&gt;fuzzy.el&lt;/a&gt; provides a super fuzzy search capacity. Save the code linked below to somewhere on your elisp path, add the two lines below to your .emacs and now C-s (isearch-forward) will become "fuzzy" after the first miss for the item you are searching for. You can customise the "fuzzy" group to change the fuzziness.  This module is part of the superb auto-complete suite - recommended.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: rgb(220, 163, 163); font-weight: bold;"&gt;fuzzy&lt;/span&gt;)&lt;br /&gt;(turn-on-fuzzy-isearch)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;a href="http://github.com/rileyrg"&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-80961452997934287?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/80961452997934287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/fuzzy-search-in-emacs.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/80961452997934287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/80961452997934287'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/fuzzy-search-in-emacs.html' title='Fuzzy Search In Emacs'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8323500561468270616</id><published>2010-10-02T10:59:00.001-07:00</published><updated>2010-10-02T10:59:28.951-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fairway'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Steve Fairway Web up and running</title><content type='html'>&lt;br /&gt;&lt;p&gt;The css opacity commands are pretty nice.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Anyway, pleae visit &lt;a href="http://www.stevefairwaymusic.com"&gt;here&lt;/a&gt; Mr Google!&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8323500561468270616?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8323500561468270616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/steve-fairway-web-up-and-running.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8323500561468270616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8323500561468270616'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/10/steve-fairway-web-up-and-running.html' title='Steve Fairway Web up and running'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8077509086248993636</id><published>2010-09-30T22:02:00.001-07:00</published><updated>2010-09-30T22:02:20.642-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='midnight'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><category scheme='http://www.blogger.com/atom/ns#' term='sessions'/><title type='text'>Emacs Session Management</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(desktop-save-mode t) &lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;remember which files were open&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;midnight&lt;/span&gt;) &lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;Clear up unimportant buffers&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;savehist-20+&lt;/span&gt;)&lt;br /&gt;(savehist-mode 1)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8077509086248993636?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8077509086248993636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/emacs-session-management_30.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8077509086248993636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8077509086248993636'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/emacs-session-management_30.html' title='Emacs Session Management'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7254798798346408615</id><published>2010-09-30T14:26:00.001-07:00</published><updated>2010-09-30T14:26:41.217-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='gnus'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='nognus'/><title type='text'>Add command line option to use nognus instead of gnus</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(add-to-list&lt;br /&gt; 'command-switch-alist&lt;br /&gt; '(&lt;span style="color: #cc9393;"&gt;"nognus"&lt;/span&gt; . (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;rest&lt;/span&gt; ignore)&lt;br /&gt;                (add-to-list 'load-path &lt;span style="color: #cc9393;"&gt;"~/.emacs.d/nognus/lisp"&lt;/span&gt;)&lt;br /&gt;                (message &lt;span style="color: #cc9393;"&gt;"NoGnus loaded"&lt;/span&gt;)&lt;br /&gt;                (load &lt;span style="color: #cc9393;"&gt;"gnus-load"&lt;/span&gt;)  &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Needed if using  nognus.&lt;br /&gt;&lt;/span&gt;                &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Start Gnus when Emacs starts&lt;br /&gt;&lt;/span&gt;                (setq email-instance t))))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7254798798346408615?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7254798798346408615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/add-command-line-option-to-use-nognus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7254798798346408615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7254798798346408615'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/add-command-line-option-to-use-nognus.html' title='Add command line option to use nognus instead of gnus'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-376119479827266523</id><published>2010-09-27T23:10:00.001-07:00</published><updated>2010-09-27T23:10:21.867-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hushlogin'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><title type='text'>Keep something called shush quiet</title><content type='html'>&lt;br /&gt;&lt;p&gt;Resyncing my little network including the Pub machine, I realised that my ssh logins were too noisy. eg. I would&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;&amp;gt;ssh $PUB&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;to see the following unnecessary chatter&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-example"&gt;Linux thinkpadt60 2.6.32-5-686 #1 SMP Sat Sep 18 02:14:45 UTC 2010 i686&lt;br /&gt;&lt;br /&gt;The programs included with the Debian GNU/Linux system are free software;&lt;br /&gt;the exact distribution terms for each program are described in the&lt;br /&gt;individual files in /usr/share/doc/*/copyright.&lt;br /&gt;&lt;br /&gt;Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&lt;br /&gt;permitted by applicable law.&lt;br /&gt;No mail.&lt;br /&gt;Last login: Mon Sep 27 19:16:11 2010 from development&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The solution is very simple. On the remote machine simply create a .hushlogin file.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;&amp;gt;touch ~/.hushlogin&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;If it doesnt work then check your /etc/login.defs file for the hush settings. Mine are like this:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-example"&gt;# If defined, file which inhibits all the usual chatter during the login&lt;br /&gt;# sequence.  If a full pathname, then hushed mode will be enabled if the&lt;br /&gt;# user's name or shell are found in the file.  If not a full pathname, then&lt;br /&gt;# hushed mode will be enabled if the file exists in the user's home directory.&lt;br /&gt;#&lt;br /&gt;HUSHLOGIN_FILE  .hushlogin&lt;br /&gt;#HUSHLOGIN_FILE /etc/hushlogins&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-376119479827266523?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/376119479827266523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/keep-something-called-shush-quiet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/376119479827266523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/376119479827266523'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/keep-something-called-shush-quiet.html' title='Keep something called shush quiet'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-575729641072332883</id><published>2010-09-26T09:49:00.001-07:00</published><updated>2010-10-03T01:55:08.077-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='nnimap'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='authinfo'/><category scheme='http://www.blogger.com/atom/ns#' term='gnus'/><category scheme='http://www.blogger.com/atom/ns#' term='imap'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='dovecot'/><category scheme='http://www.blogger.com/atom/ns#' term='nognus'/><title type='text'>NoGnus takes Gnus to the next level.</title><content type='html'>&lt;p&gt;A popular objection to using Gnus was that its IMAP performance was&lt;br /&gt;poor and its article counting simply rubbish. Not any more. Lars has&lt;br /&gt;written pretty much a totally new back end for the imap portion of&lt;br /&gt;gnus. Following an exchange of emails today it now works with my&lt;br /&gt;dovecot set up which uses virtual users on the same dovecot server to&lt;br /&gt;seperate different gmail accounts I sync with my local dovecot using&lt;br /&gt;the excellent offlineimap. e.g The select name is passed as the server&lt;br /&gt;name and each one has a corresponding .authinfo "machine" entry. e.g&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;           `(nnimap "riley"&lt;br /&gt;                    (nnimap-address "offlineimap")&lt;br /&gt;                    (nnir-search-engine imap)&lt;br /&gt;                    (nnimap-stream network)&lt;br /&gt;                    ))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;           `(nnimap "shamrockpub"&lt;br /&gt;                    (nnimap-address "offlineimap")&lt;br /&gt;                    (nnir-search-engine imap)&lt;br /&gt;                    (nnimap-stream network)&lt;br /&gt;                    ))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;           `(nnimap "friends"&lt;br /&gt;                    (nnimap-address "offlineimap")&lt;br /&gt;                    (nnir-search-engine imap)&lt;br /&gt;                    (nnimap-stream network)&lt;br /&gt;                    ))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;riley, friends and shamrockpub all have entries in .authinfo.gpg e.g&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-example"&gt;machine riley login riley password pass1&lt;br /&gt;machine friends login friends password pass2&lt;br /&gt;machine shamrockpub login shamrockpub password pass3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;and these then, in turn, correspond to dovecot virtual users.&lt;br /&gt;Group refresh is almost instant now. And article counts appear to be spot on.&lt;br /&gt;You can grap nognus from &lt;a href="http://git.gnus.org/gnus.git"&gt;here&lt;/a&gt;. Be sure to add it to you path and remember you need to&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(load "gnus-load")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Grab it while its hot - I'm sure he would sooner get bug reports now&lt;br /&gt;rather than months down the road when his mojo is depleted!&lt;/p&gt;&lt;p&gt;You can get nognus &lt;a href="http://git.gnus.org/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;--&lt;br /&gt;&lt;a href="http://github.com/rileyrg"&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-575729641072332883?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/575729641072332883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/nognus-takes-gnus-to-next-level_26.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/575729641072332883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/575729641072332883'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/nognus-takes-gnus-to-next-level_26.html' title='NoGnus takes Gnus to the next level.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-6628075619802266780</id><published>2010-09-23T11:02:00.001-07:00</published><updated>2010-09-23T11:02:45.073-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='lenny'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='hw'/><title type='text'>Getting the repaired web server working.</title><content type='html'>&lt;br /&gt;&lt;p&gt;Fun, fun, fun. So following the demise of Hermes I took him into the&lt;br /&gt;local shop for a checkout. The motherboard had gone too. My face&lt;br /&gt;showed my pain. The techy there suggested he could try and dig out a&lt;br /&gt;new main board. a day later I get a call : he's up and running. Ok, a&lt;br /&gt;bit of a Frankenstein but running. Then the fun begins. How tricky&lt;br /&gt;would it be to get Hermes back online, Transfer all the mysql data and&lt;br /&gt;web stuff I had worked on the past few days for some friends?&lt;br /&gt;Surprisingly easy as it turned out. Firtly Hermes nest doesn't have a&lt;br /&gt;monitor or keyboard so I took him over to my main desktop and borrowed&lt;br /&gt;the monitor and keyboard. I booted Hermes into Debian Lenny without a&lt;br /&gt;glitch.  Damn no network. I had been expecting that. So&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;#ifconfig -a&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;shows me that it was eth2 I needed to configure. Then a quick edit of /etc/network/interfaces as follows&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;# This file describes the network interfaces available on your system&lt;br /&gt;# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;&lt;br /&gt;# The loopback network interface&lt;br /&gt;auto lo&lt;br /&gt;iface lo inet loopback&lt;br /&gt;&lt;br /&gt;auto eth2&lt;br /&gt;# The primary network interface&lt;br /&gt;allow-hotplug eth2&lt;br /&gt;iface eth2 inet static&lt;br /&gt; address 192.168.0.101&lt;br /&gt; gateway 192.168.0.1&lt;br /&gt; netmask 255.255.255.0&lt;br /&gt; network 192.168.0.0&lt;br /&gt; broadcast 192.168.0.255&lt;br /&gt;dns-nameservers 192.168.0.1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Oh but wait. Hermes used to be a bind9 dns. It's hell to configure. Error prone and total overkill so &amp;hellip;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;#sudo aptitude purge bind9&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;For my uses /etc/hosts will suffice. The its a case of seeing if we can obtain an ip address&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-bash"&gt;#/etc/init.d/networking restart&lt;br /&gt;#ifconfig -a&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Success! So I shutdown Hermes, trundled him back to his nest, minus&lt;br /&gt;keyboard and monitor, plugged him in, turned on the power and shazam!&lt;br /&gt;A fully functional Debian Lenny apache/mysql server is up and&lt;br /&gt;running. Total cost of repait including new second hand mainboard with&lt;br /&gt;associated psul? 60 euro. Bargain.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;For the rest of the configuration it was simply a case of using ssh login and scp.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-6628075619802266780?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/6628075619802266780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/getting-repaired-web-server-working.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6628075619802266780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6628075619802266780'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/getting-repaired-web-server-working.html' title='Getting the repaired web server working.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7209178484610542768</id><published>2010-09-23T07:10:00.001-07:00</published><updated>2010-09-23T07:10:28.818-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Trying gmap link type</title><content type='html'>&lt;br /&gt;&lt;p&gt;Sebastian rose shows how to use google maps or open maps as link types.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Let see how it renders in a blog?&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.google.com/search?q=irish bar hamburg shamrock"&gt;My Pub&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-quote"&gt;Subject: Yet another way to use maps --- the light way&lt;br /&gt;From: Sebastian Rose &amp;lt;&lt;a href="mailto:sebastian_rose&amp;#64;gmx.de"&gt;sebastian_rose&amp;#64;gmx.de&lt;/a&gt;&amp;gt;&lt;br /&gt;Date: Thu, 23 Sep 2010 10:17:14 +0200&lt;br /&gt;&lt;br /&gt;Hi,&lt;br /&gt;&lt;br /&gt;there is a light and easy way to use google and openstreetmap.org maps&lt;br /&gt;if you define them as a custom link type:&lt;br /&gt;&lt;br /&gt;(setq org-link-abbrev-alist&lt;br /&gt;  '((&lt;span style="color: #ffaf87;"&gt;"gmap"&lt;/span&gt;&lt;br /&gt;     . &lt;span style="color: #ffaf87;"&gt;"http://maps.google.com/maps?q=%s"&lt;/span&gt;)&lt;br /&gt;    (&lt;span style="color: #ffaf87;"&gt;"omap"&lt;/span&gt;&lt;br /&gt;      . &lt;span style="color: #ffaf87;"&gt;"http://nominatim.openstreetmap.org/search?q=%s&amp;amp;polygon=1"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;Now&lt;br /&gt;  [[gmap:Falkenstr 10, Hannover, Germany][Falkenstra&amp;#223;e]]&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;  [[omap:Falkenstr 10, Hannover, Germany]]&lt;br /&gt;&lt;br /&gt;show a map in your browser.  LaTeX and HTML export works out the box&lt;br /&gt;with the advantage, that this export can legally be published on the&lt;br /&gt;internet without any additional action (API license key).  Even on&lt;br /&gt;commercial sites, as it's just a link to google.  OSM is no problem&lt;br /&gt;anyway.&lt;br /&gt;&lt;br /&gt;This way it's possible to show a certain place on earth, but not a track&lt;br /&gt;or route.&lt;br /&gt;&lt;br /&gt;There's a (known) bug in the LaTeX eporter:&lt;br /&gt;&lt;br /&gt;        [[Falkenstra&amp;#223;e 10, Hannover, Germany]]&lt;br /&gt;&lt;br /&gt;will _not_ work, because the german Umlaut will be distorted somehow&lt;br /&gt;(unless fixed already....)&lt;br /&gt;&lt;br /&gt;  Sebastian&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7209178484610542768?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7209178484610542768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/trying-gmap-link-type_1996.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7209178484610542768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7209178484610542768'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/trying-gmap-link-type_1996.html' title='Trying gmap link type'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5818187229141084508</id><published>2010-09-22T13:51:00.001-07:00</published><updated>2010-09-22T13:51:08.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ps3'/><category scheme='http://www.blogger.com/atom/ns#' term='uncharted'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>Gaming Excellence</title><content type='html'>&lt;br /&gt;&lt;p&gt;Every now and again you play a game which makes you sit up and gawk. Uncharted 2, along with Red Dead Redemption, is one such. The attention to detail, the physics, the texures, the sound, the story line and the mind boggingly massive length of the game make this a must have. You can watch a playthrough &lt;a href="http://www.youtube.com/user/HassanAlHajry#p/c/00A068F1803C8826"&gt;here.&lt;/a&gt; Finishing this game leaves with an aching desire for more. Not one time did I feel "been there done that". Astonishing.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5818187229141084508?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5818187229141084508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/gaming-excellence_22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5818187229141084508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5818187229141084508'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/gaming-excellence_22.html' title='Gaming Excellence'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-9028748939110193205</id><published>2010-09-20T02:54:00.001-07:00</published><updated>2010-09-20T03:03:14.690-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='psu'/><category scheme='http://www.blogger.com/atom/ns#' term='dns'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='nvidia'/><category scheme='http://www.blogger.com/atom/ns#' term='dhcp'/><title type='text'>Disaster. It doesn't get worse.</title><content type='html'>Familiarity breeds contempt. My faithful Debian Lenny web server, git repository, mysql server, irc gateway, ftp server etc etc has exploded. Most importantly is was my LANs DHCP and DNS. What does this mean? It means, and astonishingly, that my main development machine wont even boot into X. Can you believe that? Turning DNS back on on my router confirms that DNS not working on the designated dhcp/dns server actually stops the GLX module loading on my development machine? OK. DNS is back on, courtesy of my router, and this machine is now full res again with the Nvidia drivers correctly loaded. But talk about screwy dependencies.&lt;br /&gt;&lt;br /&gt;The server is now at the doctors hopefully getting a new PSU. The outlook is bleak. Oh yes. Contempt? Yup. I hadn't checked the server cron jobs were correctly backing up things like the individial web servers mysql dbs. They weren't. Cron had decided to give up the ghost about a month ago it seems - mea culpa - I need to discipline myself to not trust this stuff as much as I have been.&lt;br /&gt;&lt;br /&gt;The feeling of helplessness when booting a trusted debian desktop machine only to get the "X not loaded" BSOD and then having to wait 10 seconds after every bash command because of name resolution issues is really quite accute.&lt;br /&gt;&lt;br /&gt;Fingers crossed that Hermes responds to treatment and that the good doctors at Level 1 can graft on a new PSU. It's an old P4 machine. A rock. A workhorse. And broken.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-9028748939110193205?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/9028748939110193205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/disaster-it-doesnt-get-worse.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9028748939110193205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9028748939110193205'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/disaster-it-doesnt-get-worse.html' title='Disaster. It doesn&apos;t get worse.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2045913039886842472</id><published>2010-09-19T21:54:00.001-07:00</published><updated>2010-09-19T21:54:05.924-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='function'/><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='repost'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>If a setting is function call that else if true call a hardcoded default</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;callSettingFunc&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;rest&lt;/span&gt; t)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; f&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; ((f (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (functionp f) &lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;check if its a valid function name.&lt;br /&gt;&lt;/span&gt;                      f &lt;br /&gt;                    'message))) &lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;use built in message function if not set to a function name&lt;br /&gt;&lt;/span&gt;      (apply f t))))&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2045913039886842472?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2045913039886842472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/if-setting-is-function-call-that-else_1881.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2045913039886842472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2045913039886842472'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/if-setting-is-function-call-that-else_1881.html' title='If a setting is function call that else if true call a hardcoded default'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-82937114051718950</id><published>2010-09-19T17:49:00.001-07:00</published><updated>2010-09-19T17:49:46.811-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='babel'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='srcblocks'/><title type='text'>Insert or split babel src block</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;span class="timestamp-wrapper"&gt; &lt;span class="timestamp"&gt;2010-09-19 Sun&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(define-key org-mode-map (kbd &lt;span style="color: #cc9393;"&gt;"C-c C-b"&lt;/span&gt;) 'rgr/org-split-src)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;rgr/org-split-src&lt;/span&gt;(&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;optional&lt;/span&gt; arg)&lt;br /&gt;  (interactive &lt;span style="color: #cc9393;"&gt;"P"&lt;/span&gt;)&lt;br /&gt;  (beginning-of-line)&lt;br /&gt;  ((&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt;(info)&lt;br /&gt;     (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; info&lt;br /&gt;         (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; ((pos (point))&lt;br /&gt;               (lang (nth 0 info))&lt;br /&gt;               (stars (make-string (org-current-level) ?*)))&lt;br /&gt;           (insert &lt;br /&gt;            (format &lt;br /&gt;             &lt;span style="color: #cc9393;"&gt;"%s\n%s \n#+begin_src %s\n%s#+end_src\n%s \n#+begin_src %s\n"&lt;/span&gt; &lt;br /&gt;             &lt;span style="color: #cc9393;"&gt;"#+end_src"&lt;/span&gt;&lt;br /&gt;             stars&lt;br /&gt;             lang&lt;br /&gt;             (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (region-active-p) &lt;br /&gt;                 (delete-and-extract-region (region-beginning) (region-end)) &lt;span style="color: #cc9393;"&gt;"\n"&lt;/span&gt;)&lt;br /&gt;             stars&lt;br /&gt;             lang))&lt;br /&gt;             (org-back-to-heading))&lt;br /&gt;       (insert &lt;br /&gt;        (format &lt;br /&gt;         &lt;span style="color: #cc9393;"&gt;"\n#+begin_src\n%s\n#+end_src\n"&lt;/span&gt; &lt;br /&gt;         (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (region-active-p) &lt;br /&gt;             (delete-and-extract-region (region-beginning) (region-end)) &lt;span style="color: #cc9393;"&gt;""&lt;/span&gt;)))))&lt;br /&gt;   (org-babel-get-src-block-info)))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-82937114051718950?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/82937114051718950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/insert-or-split-babel-src-block.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/82937114051718950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/82937114051718950'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/insert-or-split-babel-src-block.html' title='Insert or split babel src block'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5873442719502089239</id><published>2010-09-18T23:03:00.001-07:00</published><updated>2010-09-19T01:00:53.908-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='template'/><category scheme='http://www.blogger.com/atom/ns#' term='blogspot'/><category scheme='http://www.blogger.com/atom/ns#' term='srcblocks'/><category scheme='http://www.blogger.com/atom/ns#' term='sourcecode'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Altering the style of source code snippets at blogspot</title><content type='html'>&lt;p&gt;When editing your blog go to "design" and then edit your template. Add&lt;br /&gt;the following to the end of CSS section.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-css"&gt;&lt;span style="color: rgb(135, 215, 255);"&gt;pre.src &lt;/span&gt;{&lt;span style="color: rgb(255, 215, 135);"&gt;border&lt;/span&gt;: 1px solid rgb(187, 187, 187);&lt;br /&gt;&lt;span style="color: rgb(255, 215, 135);"&gt;margin&lt;/span&gt;: 15px 5px;&lt;br /&gt;&lt;span style="color: rgb(255, 215, 135);"&gt;padding&lt;/span&gt;: 5px;&lt;br /&gt;&lt;span style="color: rgb(255, 215, 135);"&gt;background&lt;/span&gt;: rgb(238}\, 238, 238) none repeat scroll 0% 0%;&lt;br /&gt;&lt;span style="color: rgb(255, 215, 135);"&gt;overflow&lt;/span&gt;: auto;&lt;br /&gt;&lt;span style="color: rgb(255, 215, 135);"&gt;font-size&lt;/span&gt;: 130%;&lt;br /&gt;-moz-background-clip: border;&lt;br /&gt;-moz-background-origin: padding;&lt;br /&gt;-moz-background-inline-policy: continuous;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Also see &lt;a href="http://emacs-fu.blogspot.com/2010/05/using-zenburn-for-org-mode-generated.html"&gt;http://emacs-fu.blogspot.com/2010/05/using-zenburn-for-org-mode-generated.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;--&lt;br /&gt;&lt;a href="http://github.com/rileyrg"&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5873442719502089239?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5873442719502089239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/altering-style-of-source-code-snippets_5412.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5873442719502089239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5873442719502089239'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/altering-style-of-source-code-snippets_5412.html' title='Altering the style of source code snippets at blogspot'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2512185124008873585</id><published>2010-09-18T17:37:00.001-07:00</published><updated>2010-09-18T17:37:46.856-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='babel'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='srcblocks'/><title type='text'>Mark region as src code. If prefix used then create new org entry with
the region marked as src.</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(define-key org-mode-map (kbd &lt;span style="color: #ffaf87;"&gt;"C-c C-b"&lt;/span&gt;) '&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;lambda&lt;/span&gt;()(interactive)&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;let&lt;/span&gt; ((stars (make-string (org-current-level) ?*)))&lt;br /&gt;      (insert &lt;br /&gt;       (format &lt;br /&gt;        &lt;span style="color: #ffaf87;"&gt;"%s%s \n#+begin_src emacs-lisp\n%s#+end_src\n%s"&lt;/span&gt; &lt;br /&gt;        (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; current-prefix-arg &lt;span style="color: #ffaf87;"&gt;"#+end_src\n\n"&lt;/span&gt;) stars (delete-and-extract-region (region-beginning) (region-end)) (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; current-prefix-arg (concat &lt;span style="color: #ffaf87;"&gt;"\n"&lt;/span&gt; stars &lt;span style="color: #ffaf87;"&gt;" \n#+begin_src emacs-lisp"&lt;/span&gt;)))))))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2512185124008873585?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2512185124008873585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/mark-region-as-src-code-if-prefix-used.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2512185124008873585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2512185124008873585'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/mark-region-as-src-code-if-prefix-used.html' title='Mark region as src code. If prefix used then create new org entry with&#xA;the region marked as src.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2074149363034030722</id><published>2010-09-18T15:45:00.001-07:00</published><updated>2010-09-18T15:45:44.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='sudo'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='tramp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='root'/><title type='text'>Reopen a buffer as root prompting for password if necessary</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;find-alternative-file-with-sudo&lt;/span&gt; ()&lt;br /&gt;    &lt;span style="color: #8fb28f;"&gt;"Open current buffer as root!"&lt;/span&gt;&lt;br /&gt;    (interactive)&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; buffer-file-name&lt;br /&gt;      (find-alternate-file&lt;br /&gt;       (concat &lt;span style="color: #cc9393;"&gt;"/sudo:root@localhost:"&lt;/span&gt;&lt;br /&gt;               buffer-file-name))))&lt;br /&gt;&lt;br /&gt;  (global-set-key (kbd &lt;span style="color: #cc9393;"&gt;"C-x C-r"&lt;/span&gt;) 'find-alternative-file-with-sudo)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2074149363034030722?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2074149363034030722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/reopen-buffer-as-root-prompting-for_18.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2074149363034030722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2074149363034030722'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/reopen-buffer-as-root-prompting-for_18.html' title='Reopen a buffer as root prompting for password if necessary'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5774341967643505008</id><published>2010-09-18T11:51:00.001-07:00</published><updated>2010-09-18T11:52:00.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='layout'/><category scheme='http://www.blogger.com/atom/ns#' term='persistance'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='elscree'/><category scheme='http://www.blogger.com/atom/ns#' term='workgroups'/><title type='text'>workgroups for windows (emacs layouts)</title><content type='html'>&lt;br /&gt;&lt;p&gt;thunk, #emacs.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://github.com/tlh/workgroups.el"&gt;http://github.com/tlh/workgroups.el&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;irc:/irc.freenode.net:6667/#emacs&amp;gt;&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5774341967643505008?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5774341967643505008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/workgroups-for-windows-emacs-layouts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5774341967643505008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5774341967643505008'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/workgroups-for-windows-emacs-layouts.html' title='workgroups for windows (emacs layouts)'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-5091505045991308001</id><published>2010-09-17T10:41:00.001-07:00</published><updated>2010-09-17T10:41:12.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Creating a regexp from a set</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(regexp-opt '(&lt;span style="color: #cc9393;"&gt;"foo"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"bar"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"baz"&lt;/span&gt;)) &lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;==&amp;gt; "\\(?:ba[rz]\\|foo\\)"&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-5091505045991308001?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/5091505045991308001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/creating-regexp-from-set_6616.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5091505045991308001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/5091505045991308001'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/creating-regexp-from-set_6616.html' title='Creating a regexp from a set'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-6783457126842379986</id><published>2010-09-16T22:30:00.001-07:00</published><updated>2010-09-16T22:30:17.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecl'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Store existing blogger labels in org item created by the blog search
functionality</title><content type='html'>&lt;br /&gt;&lt;p&gt;Updated the list blog functionality to read back the tags from the&lt;br /&gt;blogger entry and add them to the newly created org mode item in case&lt;br /&gt;you cant to refile.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.myupload.org/viewer.php?file=d8o7yagyabx2z3uu0obd.png"&gt;&lt;img src="http://www.myupload.org/files/d8o7yagyabx2z3uu0obd_thumb.png" border="0" alt="MyUpload.org" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(global-set-key (kbd &lt;span style="color: #cc9393;"&gt;"C-c L"&lt;/span&gt;) 'googlecl-list-blogs)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;googlecl-list-process&lt;/span&gt; (proc string)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;with-current-buffer&lt;/span&gt; (process-buffer proc)&lt;br /&gt;    (delete-region (point-min) (point-max))&lt;br /&gt;    (org-mode)&lt;br /&gt;    (org-insert-heading)&lt;br /&gt;    (insert(format &lt;span style="color: #cc9393;"&gt;" List of blogs with &amp;lt;%s&amp;gt; in the title\n\n"&lt;/span&gt; googlecl-default-title-filter))&lt;br /&gt;    (setq string (replace-regexp-in-string &lt;span style="color: #cc9393;"&gt;"\n$"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;""&lt;/span&gt;  string))&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-excursion&lt;/span&gt;&lt;br /&gt;      (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; ((items (split-string string &lt;span style="color: #cc9393;"&gt;"\n"&lt;/span&gt;))&lt;br /&gt;            (first t))&lt;br /&gt;        (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;while&lt;/span&gt; items&lt;br /&gt;            (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt;((item (pop items)))&lt;br /&gt;              (org-insert-heading)&lt;br /&gt;              (string-match &lt;span style="color: #cc9393;"&gt;"&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;(&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;.*&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;)&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;,&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;(&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;http.*&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;)&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;,&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;(&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;.*&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;)&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;$"&lt;/span&gt; item)&lt;br /&gt;              (insert  (format &lt;span style="color: #cc9393;"&gt;"%s\n  %s"&lt;/span&gt; (match-string 1 item)(match-string 2 item)))&lt;br /&gt;              (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; ((taglist (split-string (match-string 3 item) &lt;span style="color: #cc9393;"&gt;";"&lt;/span&gt;)))&lt;br /&gt;                (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; taglist (org-set-tags-to (add-to-list 'taglist googlecl-blog-tag))))&lt;br /&gt;              (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; first (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;progn&lt;/span&gt;&lt;br /&gt;                          (setq first nil)&lt;br /&gt;                          (org-back-to-heading)&lt;br /&gt;                          (org-metaright)&lt;br /&gt;                          (org-end-of-subtree))))))))&lt;br /&gt;  (switch-to-buffer (process-buffer proc)))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;googlecl-list-blogs&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"accept a  title filter value and then list all blogs which match that value"&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let*&lt;/span&gt;((regexpfilter (read-from-minibuffer &lt;span style="color: #cc9393;"&gt;"Title Contains:"&lt;/span&gt;  googlecl-default-title-filter) )&lt;br /&gt;         (listblogcmd (concat  &lt;span style="color: #cc9393;"&gt;"google blogger list title,url,tags --title \""&lt;/span&gt; regexpfilter &lt;span style="color: #cc9393;"&gt;"\""&lt;/span&gt;)))&lt;br /&gt;    (setq googlecl-default-title-filter regexpfilter)&lt;br /&gt;    (message &lt;span style="color: #cc9393;"&gt;"List blog command is : %s"&lt;/span&gt; listblogcmd)&lt;br /&gt;    (set-process-filter  (start-process-shell-command &lt;span style="color: #cc9393;"&gt;"googlecl-list"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"*googlcl blogs*"&lt;/span&gt; listblogcmd) 'googlecl-list-process)))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-6783457126842379986?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/6783457126842379986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/store-existing-blogger-labels-in-org_16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6783457126842379986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6783457126842379986'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/store-existing-blogger-labels-in-org_16.html' title='Store existing blogger labels in org item created by the blog search&#xA;functionality'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-3742789768860710195</id><published>2010-09-16T21:58:00.001-07:00</published><updated>2010-09-18T22:09:24.154-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecl'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='blogspot'/><title type='text'>List all blogger blogs whose titles match a regular expression</title><content type='html'>&lt;p&gt;Added support to list all blogs containing certain regexp.&lt;br /&gt;Create an org-mode buffer so you can refile links etc.&lt;/p&gt;&lt;p&gt;&lt;a href="http://github.com/rileyrg/org-googlecl"&gt;Original code here&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.myupload.org/files/ez6dz891bpcenivituk2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 631px; height: 224px;" src="http://www.myupload.org/files/ez6dz891bpcenivituk2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(global-set-key (kbd &lt;span style="color: rgb(204, 147, 147);"&gt;"C-c L"&lt;/span&gt;) 'googlecl-list-blogs)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: rgb(140, 208, 211);"&gt;googlecl-list-process&lt;/span&gt; (proc string)&lt;br /&gt;(&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;with-current-buffer&lt;/span&gt; (process-buffer proc)&lt;br /&gt;(delete-region (point-min) (point-max))&lt;br /&gt;(org-mode)&lt;br /&gt;(org-insert-heading)&lt;br /&gt;(insert(format &lt;span style="color: rgb(204, 147, 147);"&gt;" List of blogs with &amp;lt;%s&amp;gt; in the title\n\n"&lt;/span&gt; googlecl-default-title-filter))&lt;br /&gt;(setq string (replace-regexp-in-string &lt;span style="color: rgb(204, 147, 147);"&gt;"\n$"&lt;/span&gt; &lt;span style="color: rgb(204, 147, 147);"&gt;""&lt;/span&gt;  string))&lt;br /&gt;(&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;save-excursion&lt;/span&gt;&lt;br /&gt; (&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;let&lt;/span&gt; ((items (split-string string &lt;span style="color: rgb(204, 147, 147);"&gt;"\n"&lt;/span&gt;))&lt;br /&gt;       (first t))&lt;br /&gt;   (&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;while&lt;/span&gt; items&lt;br /&gt;       (org-insert-heading)&lt;br /&gt;       (insert  (replace-regexp-in-string &lt;span style="color: rgb(204, 147, 147);"&gt;",http:"&lt;/span&gt; &lt;span style="color: rgb(204, 147, 147);"&gt;"\n  http:"&lt;/span&gt; (pop items)))&lt;br /&gt;       (org-set-tags-to googlecl-blog-tag)&lt;br /&gt;       (&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;if&lt;/span&gt; first (&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;progn&lt;/span&gt;&lt;br /&gt;                   (setq first nil)&lt;br /&gt;                   (org-back-to-heading)&lt;br /&gt;                   (org-metaright)&lt;br /&gt;                   (org-end-of-subtree)))))))&lt;br /&gt;(switch-to-buffer (process-buffer proc)))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: rgb(140, 208, 211);"&gt;googlecl-list-blogs&lt;/span&gt; ()&lt;br /&gt;&lt;span style="color: rgb(143, 178, 143);"&gt;"accept a  title filter value and then list all blogs which match that value"&lt;/span&gt;&lt;br /&gt;(interactive)&lt;br /&gt;(&lt;span style="color: rgb(240, 223, 175); font-weight: bold;"&gt;let*&lt;/span&gt;((regexpfilter (read-from-minibuffer &lt;span style="color: rgb(204, 147, 147);"&gt;"Title Contains:"&lt;/span&gt;  googlecl-default-title-filter) )&lt;br /&gt;    (listblogcmd (concat  &lt;span style="color: rgb(204, 147, 147);"&gt;"google blogger list title,url --title \""&lt;/span&gt; regexpfilter &lt;span style="color: rgb(204, 147, 147);"&gt;"\""&lt;/span&gt;)))&lt;br /&gt;(setq googlecl-default-title-filter regexpfilter)&lt;br /&gt;(message &lt;span style="color: rgb(204, 147, 147);"&gt;"List blog command is : %s"&lt;/span&gt; listblogcmd)&lt;br /&gt;(set-process-filter  (start-process-shell-command &lt;span style="color: rgb(204, 147, 147);"&gt;"googlecl-list"&lt;/span&gt; &lt;span style="color: rgb(204, 147, 147);"&gt;"*googlcl blogs*"&lt;/span&gt; listblogcmd) 'googlecl-list-process)))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;a href="http://github.com/rileyrg"&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-3742789768860710195?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/3742789768860710195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/list-all-blogger-blogs-whose-titles_4895.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3742789768860710195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3742789768860710195'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/list-all-blogger-blogs-whose-titles_4895.html' title='List all blogger blogs whose titles match a regular expression'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2440696101599136800</id><published>2010-09-16T15:01:00.001-07:00</published><updated>2010-09-16T15:01:44.377-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='narrowing'/><title type='text'>Using buffer narrowing in Emacs</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://emacs-fu.blogspot.com/2010/08/narrowing-buffer-contents.html"&gt;Article about using buffer narrowing at the emacs-fu blog.&lt;/a&gt;&lt;br /&gt;Very useful.&lt;br /&gt;&lt;a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Narrowing.html"&gt;Emacs Manual : narrowing.&lt;/a&gt;&lt;br /&gt;As a side note, &lt;a href="http://emacs-fu.blogspot.com"&gt;emacs-fu&lt;/a&gt; is an awesome emacs resource.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2440696101599136800?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2440696101599136800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/using-buffer-narrowing-in-emacs_9900.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2440696101599136800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2440696101599136800'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/using-buffer-narrowing-in-emacs_9900.html' title='Using buffer narrowing in Emacs'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-3888279135868224666</id><published>2010-09-16T14:54:00.001-07:00</published><updated>2010-09-16T14:54:35.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='changes'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='navigation'/><title type='text'>Last change navigation in Emacs</title><content type='html'>&lt;br /&gt;&lt;p&gt;This is pretty good. Allows you to track back though the last places you altered.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(autoload 'goto-last-change &lt;span style="color: #cc9393;"&gt;"goto-last-change"&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: #8fb28f;"&gt;"Set point to the position of the last change."&lt;/span&gt; t)&lt;br /&gt;(global-set-key (kbd &lt;span style="color: #cc9393;"&gt;"C-x C-n"&lt;/span&gt;) 'goto-last-change)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-3888279135868224666?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/3888279135868224666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/last-change-navigation-in-emacs.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3888279135868224666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3888279135868224666'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/last-change-navigation-in-emacs.html' title='Last change navigation in Emacs'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-3476614695979638133</id><published>2010-09-16T14:44:00.001-07:00</published><updated>2010-09-16T14:44:36.568-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='hw'/><category scheme='http://www.blogger.com/atom/ns#' term='webs'/><title type='text'>Sheeva plug : the idle web server</title><content type='html'>&lt;br /&gt;&lt;p&gt;Wonderful devices : &lt;a href="http://en.wikipedia.org/wiki/SheevaPlug"&gt;http://en.wikipedia.org/wiki/SheevaPlug&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Small, cheap to run, headless, support Debian. Reliable I guess.&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-3476614695979638133?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/3476614695979638133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/sheeva-plug-idle-web-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3476614695979638133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3476614695979638133'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/sheeva-plug-idle-web-server.html' title='Sheeva plug : the idle web server'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1737334133117876678</id><published>2010-09-16T14:36:00.001-07:00</published><updated>2010-09-16T14:36:09.099-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacsdaemon'/><category scheme='http://www.blogger.com/atom/ns#' term='emacsclient'/><category scheme='http://www.blogger.com/atom/ns#' term='colortheme'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='terminal'/><title type='text'>Different color themes depending on windows or terminal</title><content type='html'>&lt;br /&gt;&lt;p&gt;http://emacs-fu.blogspot.com/2009/03/color-theming.html &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;color-theme&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;zenburn&lt;/span&gt;)&lt;br /&gt;(color-theme-initialize)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defvar&lt;/span&gt; &lt;span style="color: #ffd787;"&gt;after-make-console-frame-hooks&lt;/span&gt; '()&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"Hooks to run after creating a new TTY frame"&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defvar&lt;/span&gt; &lt;span style="color: #ffd787;"&gt;after-make-window-system-frame-hooks&lt;/span&gt; '()&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"Hooks to run after creating a new window-system frame"&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;run-after-make-frame-hooks&lt;/span&gt; (frame)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"Selectively run either `&lt;/span&gt;&lt;span style="color: #87ffd7;"&gt;after-make-console-frame-hooks&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;' or&lt;br /&gt;`&lt;/span&gt;&lt;span style="color: #87ffd7;"&gt;after-make-window-system-frame-hooks&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;'"&lt;/span&gt;&lt;br /&gt;  (select-frame frame)&lt;br /&gt;  (run-hooks (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; window-system&lt;br /&gt;                 'after-make-window-system-frame-hooks&lt;br /&gt;               'after-make-console-frame-hooks)))&lt;br /&gt;(add-hook 'after-make-frame-functions 'run-after-make-frame-hooks)&lt;br /&gt;(add-hook 'after-init-hook&lt;br /&gt;          (&lt;span style="color: #00ffff;"&gt;lambda&lt;/span&gt; ()&lt;br /&gt;            (run-after-make-frame-hooks (selected-frame))))&lt;br /&gt;(set-variable 'color-theme-is-global nil)&lt;br /&gt;(add-hook 'after-make-window-system-frame-hooks 'color-theme-zenburn)&lt;br /&gt;(add-hook 'after-make-console-frame-hooks 'color-theme-zenburn)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1737334133117876678?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1737334133117876678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/different-color-themes-depending-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1737334133117876678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1737334133117876678'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/different-color-themes-depending-on.html' title='Different color themes depending on windows or terminal'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2731781147759282882</id><published>2010-09-15T10:32:00.001-07:00</published><updated>2010-09-18T22:00:30.533-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecl'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Using the googlecl</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://groups.google.com/group/googlecl-discuss/browse_thread/thread/5bee204f9fe677ca"&gt;http://groups.google.com/group/googlecl-discuss/browse_thread/thread/5bee204f9fe677ca&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;-----------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-example"&gt;Depends on the task. The &lt;span style="color: #ffaf87;"&gt;"add"&lt;/span&gt; task follows quick-add text&lt;br /&gt;rules:&lt;br /&gt;http://www.google.com/support/calendar/bin/answer.py?answer=36604#text&lt;br /&gt;&amp;lt;&lt;a href="http://www.google.com/support/calendar/bin/answer.py?answer=36604#text"&gt;http://www.google.com/support/calendar/bin/answer.py?answer=36604#text&lt;/a&gt;&amp;gt;Setting&lt;br /&gt;reminders is done with the --reminder option.&lt;br /&gt;Dates of events to retrieve from the server (for listing, deleting, etc.)&lt;br /&gt;uses the --date option&lt;br /&gt;&lt;br /&gt;In general, if you're having trouble with the usage, check the following&lt;br /&gt;docs:&lt;br /&gt;Manual: http://code.google.com/p/googlecl/wiki/Manual&lt;br /&gt;&amp;lt;&lt;a href="http://code.google.com/p/googlecl/wiki/Manual"&gt;http://code.google.com/p/googlecl/wiki/Manual&lt;/a&gt;&amp;gt;FAQ / troubleshooting:&lt;br /&gt;http://code.google.com/p/googlecl/wiki/FAQ&lt;br /&gt;&amp;lt;&lt;a href="http://code.google.com/p/googlecl/wiki/FAQ"&gt;http://code.google.com/p/googlecl/wiki/FAQ&lt;/a&gt;&amp;gt;Configuration file help:&lt;br /&gt;http://code.google.com/p/googlecl/wiki/ConfigurationOptions&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;a href="http://code.google.com/p/googlecl/wiki/ConfigurationOptions"&gt;http://code.google.com/p/googlecl/wiki/ConfigurationOptions&lt;/a&gt;&amp;gt;For example,&lt;br /&gt;the manual has a section on Calendar, and at the end, a section on how to&lt;br /&gt;use --date.&lt;br /&gt;&lt;br /&gt;If anything is unclear or confusing, just let the mailing list know, and&lt;br /&gt;we'll clear it up or fix the docs. &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;----------------&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2731781147759282882?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2731781147759282882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/using-googlecl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2731781147759282882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2731781147759282882'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/using-googlecl.html' title='Using the googlecl'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-431085033240972879</id><published>2010-09-15T10:04:00.001-07:00</published><updated>2010-09-15T10:04:50.464-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecl'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='blogspot'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>org-googlecl release version - support tagging of blogged entries</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;a href="http://github.com/rileyrg/org-googlecl/blob/tagblogged/org-googlecl.el"&gt;GitHub : Tag blogged org entries with googlecl-blog-tag if its set. Auto delete suppport via googlecl-blog-auto-del.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-431085033240972879?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/431085033240972879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/org-googlecl-release-version-support_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/431085033240972879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/431085033240972879'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/org-googlecl-release-version-support_15.html' title='org-googlecl release version - support tagging of blogged entries'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4482724038628308269</id><published>2010-09-15T09:32:00.001-07:00</published><updated>2010-09-15T09:32:40.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecl'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='blogspot'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Ooo! Feedback on org-googlecl</title><content type='html'>&lt;br /&gt;&lt;p&gt;Its always nice to get some feedback. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-example"&gt;Subject: Re: org-googlecl : enhancements - replace existing blog entries.&lt;br /&gt;From: Tim Burt &amp;lt;tcburt@rochester.rr DOT MOC&amp;gt;&lt;br /&gt;Date: Wed, 15 Sep 2010 05:56:32 -0400&lt;br /&gt;&lt;br /&gt;Richard Riley &amp;lt;&lt;a href="mailto:rileyrg&amp;#64;gmail.com"&gt;rileyrg&amp;#64;gmail.com&lt;/a&gt;&amp;gt; writes:&lt;br /&gt;&lt;br /&gt;&amp;gt; The org-googlecl package has been extended a little.&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt; http://splash-of-open-sauce.blogspot.com/2010/09/now-org-googlecl-supports-deleting-of_14.html&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt; It now detects if you try to blog an entry with the same title as an&lt;br /&gt;&amp;gt; existing one and prompts you to view and/or remove one or more entries&lt;br /&gt;&amp;gt; with the same name. Obviously very useful for just updating an entry (NB&lt;br /&gt;&amp;gt; the url will change unfortunately). There is also a footer option and&lt;br /&gt;&amp;gt; default labels (tags) if none are specified on the org entry you are&lt;br /&gt;&amp;gt; blogging. &lt;br /&gt;&lt;br /&gt;Tags as labels for the blog is a welcome feature.&lt;br /&gt;&lt;br /&gt;&amp;gt; It's working pretty cleanly now but any feedback appreciated -&lt;br /&gt;&amp;gt; its a pretty handy complement to org-mode if you maintain a&lt;br /&gt;&amp;gt; blogger/blogspot account. &lt;br /&gt;&lt;br /&gt;That's an understatement.  Publishing from org to blogger is nearly&lt;br /&gt;transparent and takes only seconds to confirm the information&lt;br /&gt;(e.g. title, labels).  It is a treat to use org-googlecl.  Thank you&lt;br /&gt;Richard. &lt;br /&gt;&lt;br /&gt;Tim&lt;br /&gt;&lt;br /&gt;&amp;gt; The elisp snippets you will see above were all&lt;br /&gt;&amp;gt; blogged from my dotemacs files which are all in org files using this&lt;br /&gt;&amp;gt; function.&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt; regards&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt; r.&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt; _______________________________________________&lt;br /&gt;&amp;gt; Emacs-orgmode mailing list&lt;br /&gt;&amp;gt; Please use `Reply All' to send replies to the list.&lt;br /&gt;&amp;gt; Emacs-orgmode@gnu.org&lt;br /&gt;&amp;gt; http://lists.gnu.org/mailman/listinfo/emacs-orgmode&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4482724038628308269?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4482724038628308269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/ooo-feedback-on-org-googlecl_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4482724038628308269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4482724038628308269'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/ooo-feedback-on-org-googlecl_15.html' title='Ooo! Feedback on org-googlecl'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1113105306079194225</id><published>2010-09-15T09:04:00.001-07:00</published><updated>2010-09-15T09:04:35.660-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='pipe'/><category scheme='http://www.blogger.com/atom/ns#' term='autoconfirm'/><category scheme='http://www.blogger.com/atom/ns#' term='systemprocess'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Example of providing auto input to a waiting shell process</title><content type='html'>&lt;br /&gt;&lt;p&gt;In this instance pipes "y" to the called process to confirm we want the blog deleted.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;let&lt;/span&gt; ((delcommand  (format &lt;span style="color: #ffaf87;"&gt;"yes y | google blogger delete --blog '%s'  --title '%s'"&lt;/span&gt;  googlecl-blogname  btitle)))&lt;br /&gt;                      (message &lt;span style="color: #ffaf87;"&gt;"Delete command is : %s"&lt;/span&gt; delcommand)&lt;br /&gt;                      (call-process-shell-command delcommand))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1113105306079194225?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1113105306079194225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/example-of-providing-auto-input-to_302.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1113105306079194225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1113105306079194225'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/example-of-providing-auto-input-to_302.html' title='Example of providing auto input to a waiting shell process'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4377496930161939525</id><published>2010-09-14T19:20:00.003-07:00</published><updated>2010-09-14T19:20:55.235-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='gogglecl'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Now org-googlecl supports deleting of existing entries</title><content type='html'>&lt;br /&gt;&lt;p&gt;If you try to blog a title that exists you can examine it and/or&lt;br /&gt;delete prior to blogging the new version. See link in footer for git&lt;br /&gt;files.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; googlecl-blog-exists&lt;br /&gt;   (&lt;span style="color: #00ffff;"&gt;with-temp-buffer&lt;/span&gt;&lt;br /&gt;     (&lt;span style="color: #00ffff;"&gt;let*&lt;/span&gt; ((blogrc (call-process-shell-command  (concat &lt;span style="color: #ffaf87;"&gt;"google blogger  list --blog '"&lt;/span&gt; googlecl-blogname &lt;span style="color: #ffaf87;"&gt;"' --title '"&lt;/span&gt; btitle &lt;span style="color: #ffaf87;"&gt;"' url"&lt;/span&gt;) nil (current-buffer)))&lt;br /&gt;          (blogurl (buffer-string)))&lt;br /&gt;       (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (not (zerop(length blogurl)))&lt;br /&gt;           (&lt;span style="color: #00ffff;"&gt;progn&lt;/span&gt;&lt;br /&gt;             (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (y-or-n-p (concat &lt;span style="color: #ffaf87;"&gt;"Blog entry exists :"&lt;/span&gt; blogurl &lt;span style="color: #ffaf87;"&gt;". View existing?"&lt;/span&gt;))&lt;br /&gt;                 (browse-url (nth 0 (org-split-string blogurl))))&lt;br /&gt;             (setq blogurl (nth 0 (org-split-string blogurl)))&lt;br /&gt;             (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (y-or-n-p &lt;span style="color: #ffaf87;"&gt;"Delete existing blog entry?"&lt;/span&gt;)&lt;br /&gt;                 (&lt;span style="color: #00ffff;"&gt;let&lt;/span&gt; ((delcommand  (format &lt;span style="color: #ffaf87;"&gt;"yes y | google blogger delete --blog '%s'  --title '%s'"&lt;/span&gt;  googlecl-blogname  btitle)))&lt;br /&gt;                   (message &lt;span style="color: #ffaf87;"&gt;"Delete command is : %s"&lt;/span&gt; delcommand)&lt;br /&gt;                   (call-process-shell-command delcommand))))))))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href='http://github.com/rileyrg'&gt;My Emacs Files At GitHub&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4377496930161939525?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4377496930161939525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/now-org-googlecl-supports-deleting-of_14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4377496930161939525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4377496930161939525'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/now-org-googlecl-supports-deleting-of_14.html' title='Now org-googlecl supports deleting of existing entries'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8640402296480654166</id><published>2010-09-14T12:35:00.001-07:00</published><updated>2010-09-14T12:35:59.239-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='elscreen'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='escreen'/><category scheme='http://www.blogger.com/atom/ns#' term='tabs'/><title type='text'>Multiple Tabs (Elscreen)</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;elscreen&lt;/span&gt;) &lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;C-z n for new screen or next etc.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;elscreen-gf&lt;/span&gt;) &lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;C-z n for new screen or next etc.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defmacro&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;elscreen-create-automatically&lt;/span&gt; (ad-do-it)&lt;br /&gt;  `(&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (not (elscreen-one-screen-p))&lt;br /&gt;       ,ad-do-it&lt;br /&gt;     (elscreen-create)&lt;br /&gt;     (elscreen-notify-screen-modification 'force-immediately)&lt;br /&gt;     (elscreen-message &lt;span style="color: #ffaf87;"&gt;"New screen is automatically created"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defadvice&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;elscreen-jump&lt;/span&gt; (before elscreen-jump-create activate)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let&lt;/span&gt; ((next-screen (string-to-number (string last-command-event))))&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;when&lt;/span&gt; (and (&amp;lt;= 0 next-screen)&lt;br /&gt;               (&amp;lt;= next-screen 9)&lt;br /&gt;               (not (elscreen-screen-live-p next-screen)))&lt;br /&gt;      (elscreen-set-window-configuration&lt;br /&gt;       (elscreen-get-current-screen)&lt;br /&gt;       (elscreen-current-window-configuration))&lt;br /&gt;      (elscreen-set-window-configuration&lt;br /&gt;       next-screen (elscreen-default-window-configuration))&lt;br /&gt;      (elscreen-append-screen-to-history next-screen)&lt;br /&gt;      (elscreen-notify-screen-modification 'force))))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defadvice&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;elscreen-next&lt;/span&gt; (around elscreen-create-automatically activate)&lt;br /&gt;  (elscreen-create-automatically ad-do-it))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defadvice&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;elscreen-previous&lt;/span&gt; (around elscreen-create-automatically activate)&lt;br /&gt;  (elscreen-create-automatically ad-do-it))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defadvice&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;elscreen-toggle&lt;/span&gt; (around elscreen-create-automatically activate)&lt;br /&gt;  (elscreen-create-automatically ad-do-it))&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8640402296480654166?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8640402296480654166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/multiple-tabs-elscreen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8640402296480654166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8640402296480654166'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/multiple-tabs-elscreen.html' title='Multiple Tabs (Elscreen)'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8731379863440978697</id><published>2010-09-14T12:33:00.001-07:00</published><updated>2010-09-14T12:33:29.836-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='mpd'/><category scheme='http://www.blogger.com/atom/ns#' term='emms'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>EMMS music setup using mpd</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e e"&lt;/span&gt;) 'my-start-player)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-source-file&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-player-mpd&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-playing-time&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-playlist-mode&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-mode-line-icon&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-streams&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-stream-info&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-volume&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-setup&lt;/span&gt;)&lt;br /&gt;(emms-devel)&lt;br /&gt;(emms-mode-line 1)&lt;br /&gt;(emms-playing-time 1)&lt;br /&gt;&lt;br /&gt;(emms-player-set emms-player-mpd 'regex&lt;br /&gt;                 &lt;span style="color: #ffaf87;"&gt;"\\.ogg&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mp3&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.wma&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.ogm&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.asf&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mkv&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;http://&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;mms://&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.rmvb&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.flac&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.vob&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.m4a&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.ape&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mpc"&lt;/span&gt;)&lt;br /&gt;(emms-player-set emms-player-mplayer 'regex&lt;br /&gt;                 &lt;span style="color: #ffaf87;"&gt;"\\.wav&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.pls+&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mpg&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mpeg&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.wmv&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.wma&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mov&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.avi&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.divx&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.ogm&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.asf&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mkv&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;.rm&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.rmvb&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: #ffaf87; font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: #ffaf87;"&gt;\\.mp4|\\.rm"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(define-emms-combined-source all nil&lt;br /&gt;  '((emms-source-directory emms-source-file-default-directory)))&lt;br /&gt;&lt;br /&gt;(setq emms-playlist-buffer &lt;span style="color: #ffaf87;"&gt;"*Music*"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff8700;"&gt;;;;&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;###&lt;/span&gt;&lt;span style="color: #ffafd7; font-weight: bold;"&gt;autoload&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/track-search&lt;/span&gt;()&lt;br /&gt;  (interactive)&lt;br /&gt;  (anything (list anything-c-source-emms-file anything-c-source-emms-directory anything-c-source-emms-playlist)  nil  &lt;span style="color: #ffaf87;"&gt;"Video or even some music Sir? "&lt;/span&gt;)&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defadvice&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/track-search&lt;/span&gt; (after rgr/track-search) (run-at-time &lt;span style="color: #ffaf87;"&gt;"2 sec"&lt;/span&gt; nil 'emms-player-mpd-connect))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff8700;"&gt;;;&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;(add-hook 'emms-player-started-hook 'emms-player-mpd-connect)&lt;br /&gt;&lt;/span&gt;(setq emms-show-format &lt;span style="color: #ffaf87;"&gt;"EMMS is now playing : %s"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;get list back from mpd for proper formatting&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;(defadvice emms-play-file (after emms-play-file activate)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;;;     &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;(emms-player-mpd-connect))&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;                                        &lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;(emms-lyrics 1)&lt;br /&gt;&lt;/span&gt;                                        &lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;(emms-lyrics-ena1ble)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;(emms-playing-time 1)&lt;br /&gt;(emms-mode-line 1)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;emms-extension&lt;/span&gt;)&lt;br /&gt;(ad-unadvise 'emms-play-directory-tree)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e q"&lt;/span&gt;) 'my-stop-player)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e D"&lt;/span&gt;) 'emms-mode-line-toggle)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e R"&lt;/span&gt;) 'my-emms-streams)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e c"&lt;/span&gt;) 'emms-playlist-current-clear)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e d"&lt;/span&gt;) (&lt;span style="color: #00ffff;"&gt;lambda&lt;/span&gt;() (interactive)(emms-play-dired)(my-start-player)))&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e a"&lt;/span&gt;) 'emms-add-dired)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e m"&lt;/span&gt;) 'emms-play-matching)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e f"&lt;/span&gt;) 'emms-add-find)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e b"&lt;/span&gt;) 'emms-browser)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e s"&lt;/span&gt;) 'emms-smart-browse)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e j"&lt;/span&gt;) 'emms-seek)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e &amp;lt;right&amp;gt;"&lt;/span&gt;) (&lt;span style="color: #00ffff;"&gt;lambda&lt;/span&gt;()(interactive)(emms-seek 30)))&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e &amp;lt;left&amp;gt;"&lt;/span&gt;) (&lt;span style="color: #00ffff;"&gt;lambda&lt;/span&gt;()(interactive)(emms-seek -15)))&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e l"&lt;/span&gt;) 'my-emms-switch-to-current-playlist)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e L"&lt;/span&gt;) 'emms-play-playlist)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e n"&lt;/span&gt;) 'emms-next)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e p"&lt;/span&gt;) 'emms-previous)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e +"&lt;/span&gt;) 'emms-volume-raise)&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e -"&lt;/span&gt;) 'emms-volume-lower)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e r"&lt;/span&gt;) 'emms-random)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map (kbd &lt;span style="color: #ffaf87;"&gt;"e &amp;lt;SPC&amp;gt;"&lt;/span&gt;) 'emms-pause)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;my-emms-info-track-description&lt;/span&gt; (track)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"Return a description of the current track."&lt;/span&gt;&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (and (emms-track-get track 'info-artist)&lt;br /&gt;           (emms-track-get track 'info-title))&lt;br /&gt;      (&lt;span style="color: #00ffff;"&gt;let&lt;/span&gt; ((pmin (emms-track-get track 'info-playing-time-min))&lt;br /&gt;            (psec (emms-track-get track 'info-playing-time-sec))&lt;br /&gt;            (ptot (emms-track-get track 'info-playing-time))&lt;br /&gt;            (art  (emms-track-get track 'info-artist))&lt;br /&gt;            (tit  (emms-track-get track 'info-title)))&lt;br /&gt;        (&lt;span style="color: #00ffff;"&gt;cond&lt;/span&gt; ((and pmin psec) (format &lt;span style="color: #ffaf87;"&gt;"%s - %s "&lt;/span&gt; art tit ))&lt;br /&gt;              (ptot (format  &lt;span style="color: #ffaf87;"&gt;"%s - %s "&lt;/span&gt; art tit ))&lt;br /&gt;              (t (emms-track-simple-description track))))))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;my-stop-player&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"Stop emms player."&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (shell-command &lt;span style="color: #ffaf87;"&gt;"mpd --kill"&lt;/span&gt;)&lt;br /&gt;  (emms-playlist-current-kill)&lt;br /&gt;  (emms-player-mpd-disconnect))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;Switch to the radio buffer&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;my-emms-streams&lt;/span&gt; ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (my-start-player)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let&lt;/span&gt; ((buf (get-buffer emms-stream-buffer-name)))&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; buf&lt;br /&gt;        (switch-to-buffer buf)&lt;br /&gt;      (emms-streams))))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;Switch to either the radio buffer or the current EMMS playlist&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;my-emms-switch-to-current-playlist&lt;/span&gt; ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (and (boundp 'emms-stream-playlist-buffer)&lt;br /&gt;           (eq emms-stream-playlist-buffer emms-playlist-buffer))&lt;br /&gt;      (switch-to-buffer emms-stream-buffer-name)&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (or (null emms-playlist-buffer)&lt;br /&gt;            (not (buffer-live-p emms-playlist-buffer)))&lt;br /&gt;        (&lt;span style="color: #ffafd7; font-weight: bold;"&gt;error&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"No current Emms buffer"&lt;/span&gt;)&lt;br /&gt;      (switch-to-buffer emms-playlist-buffer))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;my-start-player&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"Start MPD and sync to its playlistemms player."&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (shell-command &lt;span style="color: #ffaf87;"&gt;"mpd"&lt;/span&gt;) &lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;uses default ~/.mpdconf&lt;br /&gt;&lt;/span&gt;  (emms-player-mpd-connect)&lt;br /&gt;  (switch-to-buffer emms-playlist-buffer)&lt;br /&gt;  (global-set-key (kbd &lt;span style="color: #ffaf87;"&gt;"&amp;lt;M-f1&amp;gt;"&lt;/span&gt;)   'rgr/track-search)&lt;br /&gt;  )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8731379863440978697?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8731379863440978697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/emms-music-setup-using-mpd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8731379863440978697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8731379863440978697'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/emms-music-setup-using-mpd.html' title='EMMS music setup using mpd'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7886209804269983592</id><published>2010-09-14T12:25:00.001-07:00</published><updated>2010-09-14T12:25:59.811-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='babel'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='translate'/><title type='text'>Language translation utilities/helper functions for interfacing to Babel</title><content type='html'>&lt;br /&gt;&lt;p&gt;If prefix the call to the translate function than store the translation as an org item.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;babel&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defvar&lt;/span&gt; &lt;span style="color: #ffd787;"&gt;rgr/learn-first-lesson&lt;/span&gt; 1)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defvar&lt;/span&gt; &lt;span style="color: #ffd787;"&gt;rgr/orig-text&lt;/span&gt;  &lt;span style="color: #ffaf87;"&gt;"The text we wish to translate"&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defvar&lt;/span&gt; &lt;span style="color: #ffd787;"&gt;rgr/trans-text&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"The translated text"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(setq babel-echo-area t)&lt;br /&gt;(setq babel-preferred-from-language &lt;span style="color: #ffaf87;"&gt;"English"&lt;/span&gt;)&lt;br /&gt;(setq babel-preferred-to-language &lt;span style="color: #ffaf87;"&gt;"German"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/babel-language-code&lt;/span&gt; (lang)&lt;br /&gt;  (cdr (assoc lang babel-languages)))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/translate&lt;/span&gt;( &lt;span style="color: #87ff87;"&gt;&amp;amp;optional&lt;/span&gt; usedef )&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let*&lt;/span&gt; ((default (region-or-word-at-point)))&lt;br /&gt;    (setq default &lt;br /&gt;          (read-string (format &lt;span style="color: #ffaf87;"&gt;"Translate \"%s\" :"&lt;/span&gt; default) nil nil default))&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;when&lt;/span&gt; (length default)&lt;br /&gt;      (setq rgr/trans-text (babel default nil usedef))&lt;br /&gt;      (setq rgr/orig-text default)&lt;br /&gt;      (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; current-prefix-arg &lt;br /&gt;          (&lt;span style="color: #00ffff;"&gt;progn&lt;/span&gt;&lt;br /&gt;            (org-capture nil ?v)&lt;br /&gt;            (org-schedule nil (time-add (current-time) (days-to-time rgr/learn-first-lesson)))))&lt;br /&gt;      (rgr/notify rgr/trans-text) &lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;calls gnome notify function or whatever.&lt;br /&gt;&lt;/span&gt;      (message &lt;span style="color: #ffaf87;"&gt;"%s"&lt;/span&gt; rgr/trans-text))))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/toggle-languages&lt;/span&gt;()&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let*&lt;/span&gt; ((temp babel-preferred-to-language))&lt;br /&gt;    (setq babel-preferred-to-language babel-preferred-from-language&lt;br /&gt;          babel-preferred-from-language temp))&lt;br /&gt;  (message  &lt;span style="color: #ffaf87;"&gt;"%s to %s "&lt;/span&gt; babel-preferred-from-language babel-preferred-to-language))&lt;br /&gt;&lt;br /&gt;(global-set-key (kbd &lt;span style="color: #ffaf87;"&gt;"&amp;lt;f5&amp;gt;"&lt;/span&gt;) &lt;br /&gt;                (&lt;span style="color: #00ffff;"&gt;lambda&lt;/span&gt;()&lt;br /&gt;                  (interactive)(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;babel&lt;/span&gt;)(rgr/translate t)))&lt;br /&gt;&lt;br /&gt;(global-set-key (kbd &lt;span style="color: #ffaf87;"&gt;"&amp;lt;f6&amp;gt;"&lt;/span&gt;) &lt;br /&gt;                'rgr/toggle-languages)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7886209804269983592?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7886209804269983592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/language-translation-utilitieshelper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7886209804269983592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7886209804269983592'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/language-translation-utilitieshelper.html' title='Language translation utilities/helper functions for interfacing to Babel'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-3503379820975137513</id><published>2010-09-14T12:09:00.001-07:00</published><updated>2010-09-14T12:09:44.482-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='bbdb'/><category scheme='http://www.blogger.com/atom/ns#' term='gnus'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='postingstyles'/><title type='text'>Emailing or replying to someone using recipient specific from address</title><content type='html'>&lt;br /&gt;&lt;p&gt;The BBDB can be used to store specific fields which tell Gnus which accounts to&lt;br /&gt;use when posting to the recipient in the BBDB.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;DE-bbdb-match-field-recipient&lt;/span&gt; (field regexp)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"Match FIELD for recipient against REGEXP.&lt;br /&gt;                     FIELD must be a symbol, e.g. 'email-type."&lt;/span&gt;&lt;br /&gt;  (debug)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let&lt;/span&gt; (who rec)&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;when&lt;/span&gt; (and&lt;br /&gt;           (gnus-buffer-live-p gnus-article-copy)&lt;br /&gt;           (setq who&lt;br /&gt;                 (&lt;span style="color: #00ffff;"&gt;with-current-buffer&lt;/span&gt; gnus-article-copy&lt;br /&gt;                   (&lt;span style="color: #00ffff;"&gt;save-restriction&lt;/span&gt;&lt;br /&gt;                     (nnheader-narrow-to-headers)&lt;br /&gt;                     (or (message-fetch-field &lt;span style="color: #ffaf87;"&gt;"reply-to"&lt;/span&gt;)&lt;br /&gt;                         (message-fetch-field &lt;span style="color: #ffaf87;"&gt;"from"&lt;/span&gt;)))))&lt;br /&gt;           (setq rec&lt;br /&gt;                 (bbdb-search-simple&lt;br /&gt;                  nil&lt;br /&gt;                  (cadr (gnus-extract-address-components who)))))&lt;br /&gt;      (string-match regexp (bbdb-get-field rec field)))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;by adding a bdbb field called "email-type" and setting it to "friend-alias"&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;this gnus-posting-style is met when replying to people. If posting from a group&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;with "friends" in the name ditto.&lt;br /&gt;&lt;/span&gt;(add-to-list `gnus-posting-styles `((or (string-match ,(rx &lt;span style="color: #ffaf87;"&gt;"friends"&lt;/span&gt;) gnus-newsgroup-name) (DE-bbdb-match-field-recipient 'email-type &lt;span style="color: #ffaf87;"&gt;"friend-alias"&lt;/span&gt;))&lt;br /&gt;                                    (from rgr/friends-email)&lt;br /&gt;                                    (name rgr/friends-name)&lt;br /&gt;                                    (organization nil)&lt;br /&gt;                                    (eval (setq mml2015-signers nil))&lt;br /&gt;                                    (signature-file &lt;span style="color: #ffaf87;"&gt;"~/.emacs.d/.sigs/friends.sig"&lt;/span&gt;)) t )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-3503379820975137513?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/3503379820975137513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/emailing-or-replying-to-someone-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3503379820975137513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3503379820975137513'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/emailing-or-replying-to-someone-using.html' title='Emailing or replying to someone using recipient specific from address'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4319375621006594343</id><published>2010-09-14T09:30:00.001-07:00</published><updated>2010-09-14T09:30:37.734-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='url'/><category scheme='http://www.blogger.com/atom/ns#' term='w3m'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='browse'/><title type='text'>Google and URL Opening from Emacs</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(autoload 'w3m-browse-url &lt;span style="color: #ffaf87;"&gt;"w3m"&lt;/span&gt; nil t)&lt;br /&gt;(autoload 'browse-url-interactive-arg &lt;span style="color: #ffaf87;"&gt;"browse-url"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;browse-apropos-url&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;browse-url&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;thingatpt+&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;require&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;w3m&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/browse&lt;/span&gt; (url)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"If prefix is specified use the system default browser else use the configured emacs one"&lt;/span&gt;&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; current-prefix-arg&lt;br /&gt;      (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt;  url &lt;br /&gt;          (w3m-browse-url url) &lt;br /&gt;        (call-interactively 'browse-url))&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;when&lt;/span&gt; url (browse-url-generic url))&lt;br /&gt;    ))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/browse-url&lt;/span&gt; (&lt;span style="color: #87ff87;"&gt;&amp;amp;optional&lt;/span&gt; url)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"browse the url passed in"&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (setq url (or url (w3m-url-valid (w3m-anchor)) (browse-url-url-at-point) (region-or-word-at-point)))&lt;br /&gt;  (setq url (read-string (format &lt;span style="color: #ffaf87;"&gt;"Url \"%s\" :"&lt;/span&gt; url) url nil url))&lt;br /&gt;  (rgr/browse url))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/browse-apropos-url&lt;/span&gt; (apropos-prefix prompt)&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let*&lt;/span&gt; ((default (region-or-word-at-point))&lt;br /&gt;         )&lt;br /&gt;    (setq default (read-string (format prompt default) default nil default))&lt;br /&gt;    (browse-apropos-url  (concat apropos-prefix &lt;span style="color: #ffaf87;"&gt;" "&lt;/span&gt; default) nil current-prefix-arg)))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;rgr/google-search-prompt&lt;/span&gt; (&lt;span style="color: #87ff87;"&gt;&amp;amp;optional&lt;/span&gt; default)&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let*&lt;/span&gt; ((default (or default (region-or-word-at-point)))&lt;br /&gt;         (term (read-string (format &lt;span style="color: #ffaf87;"&gt;"Google.com the web for the following phrase (%s): "&lt;/span&gt;&lt;br /&gt;                                    default) nil  nil default)))&lt;br /&gt;    (rgr/browse (concat &lt;span style="color: #ffaf87;"&gt;"http://www.google.com/search?q="&lt;/span&gt; &lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;borrowed from dim&lt;br /&gt;&lt;/span&gt;                        (replace-regexp-in-string &lt;br /&gt;                         &lt;span style="color: #ffaf87;"&gt;"[[:space:]]+"&lt;/span&gt;&lt;br /&gt;                         &lt;span style="color: #ffaf87;"&gt;"+"&lt;/span&gt;&lt;br /&gt;                         term)))))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;google keys and url keys&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8700;"&gt;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;prefix (ctl-u) to use external browser.&lt;br /&gt;&lt;/span&gt;(global-set-key (kbd &lt;span style="color: #ffaf87;"&gt;"&amp;lt;f4&amp;gt;"&lt;/span&gt;) 'rgr/browse-url)&lt;br /&gt;(global-set-key (kbd &lt;span style="color: #ffaf87;"&gt;"&amp;lt;f3&amp;gt;"&lt;/span&gt;) 'rgr/google-search-prompt)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4319375621006594343?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4319375621006594343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/google-and-url-opening-from-emacs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4319375621006594343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4319375621006594343'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/google-and-url-opening-from-emacs.html' title='Google and URL Opening from Emacs'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-7621190412988858811</id><published>2010-09-14T09:18:00.001-07:00</published><updated>2010-09-14T09:18:55.867-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='gnus'/><category scheme='http://www.blogger.com/atom/ns#' term='imap'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Setting up Gnus to read local dovecot server and nntp news</title><content type='html'>&lt;br /&gt;&lt;p&gt;See &lt;a href="http://www.gnus.org/manual/gnus_208.html"&gt;Gnus IMAP &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(setq gnus-select-method '(nnml &lt;span style="color: #ffaf87;"&gt;""&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;             '(nnimap &lt;span style="color: #ffaf87;"&gt;"riley"&lt;/span&gt;&lt;br /&gt;                      (nnimap-address &lt;span style="color: #ffaf87;"&gt;"offlineimap"&lt;/span&gt;)&lt;br /&gt;                      (nnir-search-engine imap)&lt;br /&gt;                      (nnimap-stream network)&lt;br /&gt;                      (nnimap-authinfo-file &lt;span style="color: #ffaf87;"&gt;"~/.authinfo.gpg"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;             '(nnimap &lt;span style="color: #ffaf87;"&gt;"shamrockpub"&lt;/span&gt;&lt;br /&gt;                      (nnimap-address &lt;span style="color: #ffaf87;"&gt;"offlineimap"&lt;/span&gt;)&lt;br /&gt;                      (nnir-search-engine imap)&lt;br /&gt;                      (nnimap-stream network)&lt;br /&gt;                      (nnimap-authinfo-file &lt;span style="color: #ffaf87;"&gt;"~/.authinfo.gpg"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;             '(nnimap &lt;span style="color: #ffaf87;"&gt;"friends"&lt;/span&gt;&lt;br /&gt;                      (nnimap-address &lt;span style="color: #ffaf87;"&gt;"offlineimap"&lt;/span&gt;)&lt;br /&gt;                      (nnir-search-engine imap)&lt;br /&gt;                      (nnimap-stream network)&lt;br /&gt;                      (nnimap-authinfo-file &lt;span style="color: #ffaf87;"&gt;"~/.authinfo.gpg"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods '(nntp &lt;span style="color: #ffaf87;"&gt;"Gmane"&lt;/span&gt; (nntp-address &lt;span style="color: #ffaf87;"&gt;"news.gmane.org"&lt;/span&gt;)))&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods '(nntp &lt;span style="color: #ffaf87;"&gt;"Gwene"&lt;/span&gt; (nntp-address &lt;span style="color: #ffaf87;"&gt;"news.gwene.org"&lt;/span&gt;)))&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods '(nntp &lt;span style="color: #ffaf87;"&gt;"Gnus"&lt;/span&gt;  (nntp-address &lt;span style="color: #ffaf87;"&gt;"news.gnus.org"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(setq gnus-posting-styles `((&lt;span style="color: #ffaf87;"&gt;".*"&lt;/span&gt;&lt;br /&gt;                             (name &lt;span style="color: #ffaf87;"&gt;"Richard Riley"&lt;/span&gt;)&lt;br /&gt;                             (from &lt;span style="color: #ffaf87;"&gt;"Richard Riley &amp;lt;&lt;a href="mailto:rileyrg&amp;#64;googlemail.com"&gt;rileyrg&amp;#64;googlemail.com&lt;/a&gt;&amp;gt;"&lt;/span&gt;)&lt;br /&gt;                             (eval(setq gnushush-user-agent-header (quote real)))&lt;br /&gt;                             (signature-file &lt;span style="color: #ffaf87;"&gt;"~/.emacs.d/.sigs/rgr.sig"&lt;/span&gt;)&lt;br /&gt;                             (eval (setq mml2015-signers '(&lt;span style="color: #ffaf87;"&gt;"AB23BE58"&lt;/span&gt;)))&lt;br /&gt;                             (organization &lt;span style="color: #ffaf87;"&gt;"aich tea tea pea dicky riley dot net"&lt;/span&gt;))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(setq mail-host-address &lt;span style="color: #ffaf87;"&gt;"news.eternal-september.org"&lt;/span&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-7621190412988858811?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/7621190412988858811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/setting-up-gnus-to-read-local-dovecot_14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7621190412988858811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/7621190412988858811'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/setting-up-gnus-to-read-local-dovecot_14.html' title='Setting up Gnus to read local dovecot server and nntp news'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2142153451502044371</id><published>2010-09-14T09:17:00.001-07:00</published><updated>2010-09-30T22:03:36.832-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='flyspell'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='spellchecking_flyspell'/><category scheme='http://www.blogger.com/atom/ns#' term='dictem'/><title type='text'>Using dictem for word lookup and flyspell for interactive spell checking</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: rgb(0, 255, 255);"&gt;require&lt;/span&gt; '&lt;span style="color: rgb(135, 255, 215);"&gt;dictem&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;SEARCH = MATCH + DEFINE&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;Ask for word, database and search strategy&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;and show definitions found&lt;br /&gt;&lt;/span&gt;(global-set-key (kbd &lt;span style="color: rgb(255, 175, 135);"&gt;"C-c s"&lt;/span&gt;) 'dictem-run-search)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;SHOW DB&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;Show a list of databases provided by DICT server&lt;br /&gt;&lt;/span&gt;(global-set-key &lt;span style="color: rgb(255, 175, 135);"&gt;"\C-c\M-b"&lt;/span&gt; 'dictem-run-show-databases)&lt;br /&gt;&lt;br /&gt;(define-key dictem-mode-map [tab] 'dictem-next-link)&lt;br /&gt;(define-key dictem-mode-map [(backtab)] 'dictem-previous-link)&lt;br /&gt;(define-key dictem-mode-map [return] 'dictem-run-search)&lt;br /&gt;&lt;br /&gt;(dictem-initialize)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;;;;&lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;###&lt;/span&gt;&lt;span style="color: rgb(255, 175, 215); font-weight: bold;"&gt;autoload&lt;/span&gt;&lt;span style="color: rgb(255, 135, 0);"&gt;&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: rgb(0, 255, 255);"&gt;defun&lt;/span&gt; &lt;span style="color: rgb(135, 215, 255);"&gt;rgr/synonyms&lt;/span&gt;()&lt;br /&gt; (interactive)&lt;br /&gt; (&lt;span style="color: rgb(0, 255, 255);"&gt;let*&lt;/span&gt; ((default (region-or-word-at-point))&lt;br /&gt;        (term (read-string (format &lt;span style="color: rgb(255, 175, 135);"&gt;"Synonyms for (%s): "&lt;/span&gt;&lt;br /&gt;                                   default) default)))&lt;br /&gt;   (dictem-run&lt;br /&gt;    'dictem-base-search&lt;br /&gt;    &lt;span style="color: rgb(255, 175, 135);"&gt;"moby-thes"&lt;/span&gt; term &lt;span style="color: rgb(255, 175, 135);"&gt;"exact"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map [?S] 'rgr/synonyms)&lt;br /&gt;&lt;br /&gt;(dictem-initialize)&lt;br /&gt;&lt;br /&gt;(add-hook 'dictem-postprocess-match-hook&lt;br /&gt;         'dictem-postprocess-match)&lt;br /&gt;&lt;br /&gt;(add-hook 'dictem-postprocess-definition-hook&lt;br /&gt;         'dictem-postprocess-definition-separator)&lt;br /&gt;&lt;br /&gt;(add-hook 'dictem-postprocess-definition-hook&lt;br /&gt;         'dictem-postprocess-definition-hyperlinks)&lt;br /&gt;&lt;br /&gt;(add-hook 'dictem-postprocess-show-info-hook&lt;br /&gt;         'dictem-postprocess-definition-hyperlinks)&lt;br /&gt;&lt;br /&gt;(add-hook 'dictem-postprocess-definition-hook&lt;br /&gt;         'dictem-postprocess-each-definition)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: rgb(0, 255, 255);"&gt;require&lt;/span&gt; '&lt;span style="color: rgb(135, 255, 215);"&gt;flyspell&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(define-key flyspell-mode-map (kbd &lt;span style="color: rgb(255, 175, 135);"&gt;"C-+"&lt;/span&gt;) 'flyspell-check-previous-highlighted-word)&lt;br /&gt;(define-key flyspell-mode-map (kbd &lt;span style="color: rgb(255, 175, 135);"&gt;"C-#"&lt;/span&gt;) 'flyspell-auto-correct-previous-word)&lt;br /&gt;(define-key flyspell-mode-map (kbd &lt;span style="color: rgb(255, 175, 135);"&gt;"S-&amp;lt;f2&amp;gt;"&lt;/span&gt;) 'ispell-word)&lt;br /&gt;(define-key flyspell-mode-map (kbd &lt;span style="color: rgb(255, 175, 135);"&gt;"C-&amp;lt;f2&amp;gt;"&lt;/span&gt;) 'flyspell-auto-correct-previous-word)&lt;br /&gt;(define-key flyspell-mode-map (kbd &lt;span style="color: rgb(255, 175, 135);"&gt;"&amp;lt;f2&amp;gt;"&lt;/span&gt;) 'flyspell-auto-correct-word)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: rgb(0, 255, 255);"&gt;define-minor-mode&lt;/span&gt; &lt;span style="color: rgb(135, 215, 255);"&gt;babel-permanent-translation-mode&lt;/span&gt; &lt;span style="color: rgb(255, 175, 135);"&gt;"Bable translate notext"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(define-key mode-specific-map [?o] (&lt;span style="color: rgb(0, 255, 255);"&gt;lambda&lt;/span&gt;()(interactive)(&lt;span style="color: rgb(0, 255, 255);"&gt;if&lt;/span&gt; (babel-permanent-translation-mode) (add-hook 'post-command-hook 'rgr/context-babel nil t)(remove-hook 'post-command-hook 'rgr/context-babel))))&lt;br /&gt;&lt;br /&gt;(setq babel-echo-area t)&lt;br /&gt;(setq babel-preferred-from-language &lt;span style="color: rgb(255, 175, 135);"&gt;"German"&lt;/span&gt;)&lt;br /&gt;(setq babel-preferred-to-language &lt;span style="color: rgb(255, 175, 135);"&gt;"English"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: rgb(0, 255, 255);"&gt;defun&lt;/span&gt; &lt;span style="color: rgb(135, 215, 255);"&gt;turn-on-flyspell&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: rgb(255, 175, 135);"&gt;"Force flyspell-mode on using a positive arg.  For use in hooks."&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (flyspell-mode 1))&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2142153451502044371?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2142153451502044371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/using-dictem-for-word-lookup-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2142153451502044371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2142153451502044371'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/using-dictem-for-word-lookup-and.html' title='Using dictem for word lookup and flyspell for interactive spell checking'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2877132768736941024</id><published>2010-09-14T09:13:00.001-07:00</published><updated>2010-09-14T09:13:44.856-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='smtp'/><category scheme='http://www.blogger.com/atom/ns#' term='msmtp'/><category scheme='http://www.blogger.com/atom/ns#' term='sendmail'/><category scheme='http://www.blogger.com/atom/ns#' term='gnus'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Change smtp server based on from field</title><content type='html'>&lt;br /&gt;&lt;p&gt;See &lt;a href="http://msmtp.sourceforge.net/"&gt;MSMTP Home Page&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;&lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;Select the correct smtp server based on the from address.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;msmtp-account&lt;/span&gt; (&lt;span style="color: #87ff87;"&gt;&amp;amp;optional&lt;/span&gt; def)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;let*&lt;/span&gt; ((from&lt;br /&gt;          (&lt;span style="color: #00ffff;"&gt;save-restriction&lt;/span&gt;    &lt;br /&gt;            (message-narrow-to-headers)&lt;br /&gt;            (message-fetch-field &lt;span style="color: #ffaf87;"&gt;"From"&lt;/span&gt;)))&lt;br /&gt;         (account (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; from (&lt;span style="color: #00ffff;"&gt;catch&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;match&lt;/span&gt;&lt;br /&gt;                             (&lt;span style="color: #00ffff;"&gt;dolist&lt;/span&gt; (element msmtp-name-list)&lt;br /&gt;                               &lt;span style="color: #ff8700;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff8700;"&gt;(message (format "smpt chosen is %s" element))&lt;br /&gt;&lt;/span&gt;                               (&lt;span style="color: #00ffff;"&gt;when&lt;/span&gt; (string-match (format &lt;span style="color: #ffaf87;"&gt;".*%s.*"&lt;/span&gt; element) from)&lt;br /&gt;                                 (&lt;span style="color: #00ffff;"&gt;throw&lt;/span&gt; '&lt;span style="color: #87ffd7;"&gt;match&lt;/span&gt; element)))) nil)))&lt;br /&gt;    (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; account account (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; def def &lt;span style="color: #ffaf87;"&gt;"default"&lt;/span&gt;))))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;msmtp-change-smtp&lt;/span&gt; ()&lt;br /&gt;  (setq sendmail-program &lt;span style="color: #ffaf87;"&gt;"/usr/bin/msmtp"&lt;/span&gt;)&lt;br /&gt;  (setq smtpmail-starttls-credentials '((&lt;span style="color: #ffaf87;"&gt;"smtp.googlemail.com"&lt;/span&gt; 587 nil nil)))&lt;br /&gt;  (setq smtpmail-smtp-server &lt;span style="color: #ffaf87;"&gt;"smtp.googlemail.com"&lt;/span&gt;)&lt;br /&gt;  (setq message-sendmail-envelope-from 'header)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (message-mail-p)&lt;br /&gt;      (setq message-sendmail-extra-arguments (list &lt;span style="color: #ffaf87;"&gt;"-a"&lt;/span&gt; (msmtp-account &lt;span style="color: #ffaf87;"&gt;"default"&lt;/span&gt;)))))    &lt;br /&gt;(add-hook 'message-send-hook 'msmtp-change-smtp)&lt;br /&gt;&lt;br /&gt;(setq message-required-news-headers&lt;br /&gt;      (remove' Message-ID message-required-news-headers))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2877132768736941024?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2877132768736941024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/change-smtp-server-based-on-from-field.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2877132768736941024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2877132768736941024'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/change-smtp-server-based-on-from-field.html' title='Change smtp server based on from field'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-212091717296219616</id><published>2010-09-13T10:22:00.001-07:00</published><updated>2010-09-13T10:22:24.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='init'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='gnus'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='nntp'/><category scheme='http://www.blogger.com/atom/ns#' term='dotemacs'/><title type='text'>Gnus Email and NNTP Handling</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(setq&lt;br /&gt; nntp-marks-is-evil t&lt;br /&gt; bbdb-always-add-address t                &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;add new addresses to existing...&lt;br /&gt;&lt;/span&gt; bbbd-message-caching-enabled t           &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;be fast&lt;br /&gt;&lt;/span&gt; bbdb-elided-display t                    &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;single-line addresses&lt;br /&gt;&lt;/span&gt; bbdb-ignore-some-messages-alist &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;don't ask about fake addresses&lt;br /&gt;&lt;/span&gt; &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;NOTE: there can be only one entry per header (such as To, From)&lt;br /&gt;&lt;/span&gt; &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;http://flex.ee.uec.ac.jp/texi/bbdb/bbdb_11.html&lt;br /&gt;&lt;/span&gt; '(( &lt;span style="color: #cc9393;"&gt;"From"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"no.?reply&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;|&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;DAEMON&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;|&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;daemon&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;|&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;facebookmail&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;|&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;twitter"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;bbdb&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;bbdb-autoloads&lt;/span&gt;)&lt;br /&gt;(bbdb-initialize 'gnus 'message)&lt;br /&gt;(add-hook 'message-setup-hook 'bbdb-define-all-aliases)&lt;br /&gt;&lt;br /&gt;(spam-initialize)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;w3m&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;gnushush&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;manatee&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;miniedit&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;;    &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(load "gnus-load")  ;; Needed if using  nognus.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;(define-key mode-specific-map [?m] 'gnus)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;&lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(if (featurep 'xemacs)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;    &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(add-to-list 'Info-directory-list "~/builds/gnus/texi/")&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;  &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(add-to-list 'Info-default-directory-list "~/builds/gnus/texi/"))&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;offlineimap&lt;/span&gt;)&lt;br /&gt;(add-hook 'gnus-get-new-news-hook 'offlineimap)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;spam&lt;/span&gt;)&lt;br /&gt;(spam-initialize)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;which email addresses to detect for special highlighting &lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defvar&lt;/span&gt; &lt;span style="color: #f0dfaf;"&gt;rgr-mails&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #cc9393;"&gt;"rileyrg@googlemail\\.com&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;|&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;rgr@richardriley\\.net&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;|&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;rileyrgdev@googlemail\\.com"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;store-gnus-outgoing-message-group&lt;/span&gt; ()&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;cond&lt;/span&gt; ((and gnus-newsgroup-name&lt;br /&gt;              (not (message-news-p))&lt;br /&gt;              (stringp gnus-newsgroup-name))&lt;br /&gt;         gnus-newsgroup-name)&lt;br /&gt;        (t ted-default-gcc-group)))&lt;br /&gt;&lt;br /&gt;(setq gnus-outgoing-message-group nil)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(setq rgr/server-name-maps&lt;br /&gt;      '((&lt;span style="color: #cc9393;"&gt;"RI"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Email"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;"SH"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Pub"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;"FR"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Friends"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;"KL"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Sport"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;"HA"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Fun"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;"GM"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Gmane"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;"GN"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Gnu"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;"GW"&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Gwene"&lt;/span&gt;)&lt;br /&gt;        (&lt;span style="color: #cc9393;"&gt;""&lt;/span&gt; . &lt;span style="color: #cc9393;"&gt;"Unknown"&lt;/span&gt;)&lt;br /&gt;        ))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'default 'my-gnus-face)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-gnus-face 'my-subject-face)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-gnus-face 'my-group-face)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(set-face-attribute 'my-group-face nil :inherit 'my-gnus-face)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-group-face 'my-group-face-unread)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(set-face-attribute 'my-group-face-unread nil :inherit 'my-group-face)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-group-face 'my-group-server-face)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-group-server-face 'my-group-server-face-unread)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(set-face-attribute 'my-group-server-face-unread nil :inherit 'my-group-server-face)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-group-face 'my-unread-count-face)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-unread-count-face 'my-unread-count-face-unread)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(set-face-attribute 'my-unread-count-face-unread nil :inherit 'my-unread-count-face)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-group-face 'my-inbox-icon-face)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-inbox-icon-face 'my-inbox-icon-face-unread)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(set-face-attribute 'my-inbox-icon-face-unread nil :inherit 'my-inbox-icon-face)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-gnus-face 'my-topic-empty-face)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(copy-face 'my-gnus-face 'my-topic-face)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(setq gnus-topic-line-format &lt;span style="color: #cc9393;"&gt;"%i[ %u&amp;amp;topic-line; ] %v\n"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;rgr/unread-face&lt;/span&gt; (f)&lt;br /&gt;  (intern (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (&amp;gt; (string-to-number gnus-tmp-number-of-unread) 0) (concat f &lt;span style="color: #cc9393;"&gt;"-unread"&lt;/span&gt;) f)))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;this corresponds to a topic line format of "%n %A"&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-user-format-function-topic-line&lt;/span&gt; (dummy)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; ((topic-face (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (zerop total-number-of-articles)&lt;br /&gt;                        'my-topic-empty-face&lt;br /&gt;                      'my-topic-face)))&lt;br /&gt;    (propertize&lt;br /&gt;     (format &lt;span style="color: #cc9393;"&gt;"%s %d"&lt;/span&gt; name total-number-of-articles)&lt;br /&gt;     'face topic-face)))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-user-format-function-s&lt;/span&gt; (header)&lt;br /&gt;  (propertize (mail-header-subject header) 'face 'my-subject-face 'gnus-face t))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-user-format-function-g&lt;/span&gt; (headers) &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;gnus-group-line-format use %ug to call this func! e.g  "%M%S%p%P%(%-40,40ug%)%-5uy %ud\n"&lt;br /&gt;&lt;/span&gt;  &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;split full group protocol-server:group into three parts.&lt;br /&gt;&lt;/span&gt;  (string-match &lt;span style="color: #cc9393;"&gt;"&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;(&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;^.*&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;)&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\+&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;(&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;.*&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;)&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;:&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;(&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;.*&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;\\&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;)&lt;/span&gt;&lt;span style="color: #cc9393;"&gt;"&lt;/span&gt; gnus-tmp-group)&lt;br /&gt;  &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;map the first two letters of the server name to a more friendly and cuddly display name&lt;br /&gt;&lt;/span&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let*&lt;/span&gt;  ((match-ok (match-string 2 gnus-tmp-group))&lt;br /&gt;          (server-key (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (null match-ok) nil (upcase(substring match-ok 0 2)))))&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (zerop (length server-key))&lt;br /&gt;        gnus-tmp-group&lt;br /&gt;      &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;construct new group format line with a small envelope taking the place of any INBOX&lt;br /&gt;&lt;/span&gt;      (concat &lt;br /&gt;       (propertize &lt;br /&gt;        (format &lt;span style="color: #cc9393;"&gt;"%-8s"&lt;/span&gt; (cdr (assoc server-key rgr/server-name-maps)))&lt;br /&gt;        'face (rgr/unread-face &lt;span style="color: #cc9393;"&gt;"my-group-server-face"&lt;/span&gt;) 'face (rgr/unread-face (concat &lt;span style="color: #cc9393;"&gt;"my-group-server-face-"&lt;/span&gt; server-key)) 'gnus-face t)&lt;br /&gt;       &lt;span style="color: #cc9393;"&gt;" - "&lt;/span&gt;&lt;br /&gt;       (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (string-match &lt;span style="color: #cc9393;"&gt;"INBOX"&lt;/span&gt; (match-string 3 gnus-tmp-group) )&lt;br /&gt;           (propertize &lt;span style="color: #cc9393;"&gt;"\x2709"&lt;/span&gt; 'face (rgr/unread-face &lt;span style="color: #cc9393;"&gt;"my-inbox-icon-face"&lt;/span&gt;) 'gnus-face t)&lt;br /&gt;         (propertize (match-string 3 gnus-tmp-group) 'face (rgr/unread-face &lt;span style="color: #cc9393;"&gt;"my-group-face"&lt;/span&gt;) 'gnus-face t) )))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-user-format-function-j&lt;/span&gt; (headers)&lt;br /&gt;  &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;prefix each post depending on whether to, cc or Bcc to&lt;br /&gt;&lt;/span&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; ((to (gnus-extra-header 'To headers)))&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (string-match rgr-mails to)&lt;br /&gt;        (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (string-match &lt;span style="color: #cc9393;"&gt;","&lt;/span&gt; to) &lt;span style="color: #cc9393;"&gt;"~"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"&amp;#187;"&lt;/span&gt;)&lt;br /&gt;      (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (or (string-match rgr-mails&lt;br /&gt;                            (gnus-extra-header 'Cc headers))&lt;br /&gt;              (string-match rgr-mails&lt;br /&gt;                            (gnus-extra-header 'BCc headers)))&lt;br /&gt;          &lt;span style="color: #cc9393;"&gt;"~"&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #cc9393;"&gt;" "&lt;/span&gt;))))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-user-format-function-y&lt;/span&gt; (headers)&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"return string representation for unread articles"&lt;/span&gt;&lt;br /&gt;  (concat&lt;br /&gt;   (propertize  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (= (string-to-number  gnus-tmp-number-of-unread) 0) &lt;span style="color: #cc9393;"&gt;""&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"\x2709"&lt;/span&gt;) 'face (rgr/unread-face &lt;span style="color: #cc9393;"&gt;"my-inbox-icon-face"&lt;/span&gt;) 'gnus-face t)&lt;br /&gt;   (propertize  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (= (string-to-number  gnus-tmp-number-of-unread) 0) &lt;span style="color: #cc9393;"&gt;""&lt;/span&gt;&lt;br /&gt;                  (concat &lt;span style="color: #cc9393;"&gt;"   ("&lt;/span&gt; gnus-tmp-number-of-unread &lt;span style="color: #cc9393;"&gt;")"&lt;/span&gt;)) 'face (rgr/unread-face &lt;span style="color: #cc9393;"&gt;"my-unread-count-face"&lt;/span&gt;) 'gnus-face t)))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(setq  gnus-user-date-format-alist&lt;br /&gt;       &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Format the date so we can see today/tomorrow quickly.&lt;br /&gt;&lt;/span&gt;       &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;See http://emacs.wordpress.com/category/gnus/ for the original.&lt;br /&gt;&lt;/span&gt;       '(&lt;br /&gt;         ((gnus-seconds-today) . &lt;span style="color: #cc9393;"&gt;"Today, %H:%M"&lt;/span&gt;)&lt;br /&gt;         ((+ 86400 (gnus-seconds-today)) . &lt;span style="color: #cc9393;"&gt;"Yesterday, %H:%M"&lt;/span&gt;)&lt;br /&gt;         (604800 . &lt;span style="color: #cc9393;"&gt;"%A %H:%M"&lt;/span&gt;) &lt;span style="color: #708070;"&gt;;;&lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;that's one week&lt;br /&gt;&lt;/span&gt;         ((gnus-seconds-month) . &lt;span style="color: #cc9393;"&gt;"%A %d"&lt;/span&gt;)&lt;br /&gt;         ((gnus-seconds-year) . &lt;span style="color: #cc9393;"&gt;"%B %d"&lt;/span&gt;)&lt;br /&gt;         (t . &lt;span style="color: #cc9393;"&gt;"%B %d '%y"&lt;/span&gt;))) &lt;span style="color: #708070;"&gt;;;&lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;this one is used when no other does match&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-group-read-group-no-prompt&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"Read news in this newsgroup and don't prompt.&lt;br /&gt;                   Use the value of `&lt;/span&gt;&lt;span style="color: #dca3a3; font-weight: bold;"&gt;gnus-large-newsgroup&lt;/span&gt;&lt;span style="color: #8fb28f;"&gt;'."&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (gnus-group-read-group gnus-large-newsgroup))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-article-sort-by-chars&lt;/span&gt; (h1 h2)&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"Sort articles by size."&lt;/span&gt;&lt;br /&gt;  (&amp;lt; (mail-header-chars h1)&lt;br /&gt;     (mail-header-chars h2)))&lt;br /&gt;&lt;br /&gt;(add-to-list 'message-syntax-checks '(existing-newsgroups . disabled))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;message-check-news-syntax&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"Check the syntax of the message and prompt the user to be sure he wants to send."&lt;/span&gt;&lt;br /&gt;  (and&lt;br /&gt;   (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-excursion&lt;/span&gt;&lt;br /&gt;     (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-restriction&lt;/span&gt;&lt;br /&gt;       (widen)&lt;br /&gt;       (and&lt;br /&gt;        &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;We narrow to the headers and check them first.&lt;br /&gt;&lt;/span&gt;        (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-excursion&lt;/span&gt;&lt;br /&gt;          (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-restriction&lt;/span&gt;&lt;br /&gt;            (message-narrow-to-headers)&lt;br /&gt;            (message-check-news-header-syntax)))&lt;br /&gt;        &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Check the body.&lt;br /&gt;&lt;/span&gt;        (message-check-news-body-syntax))))&lt;br /&gt;                                        &lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;sm: this last line is my addition&lt;br /&gt;&lt;/span&gt;   (y-or-n-p &lt;span style="color: #cc9393;"&gt;"Post the message? "&lt;/span&gt;)&lt;br /&gt;   ))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;wicked/gnus-add-subject-to-bbdb-record&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"Add datestamped subject note for each person this message has been sent to."&lt;/span&gt;&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let*&lt;/span&gt; ((subject (concat (format-time-string &lt;span style="color: #cc9393;"&gt;"%Y.%m.%d"&lt;/span&gt;)&lt;br /&gt;                          &lt;span style="color: #cc9393;"&gt;": E-mail: "&lt;/span&gt; (message-fetch-field &lt;span style="color: #cc9393;"&gt;"Subject"&lt;/span&gt;) &lt;span style="color: #cc9393;"&gt;"\n"&lt;/span&gt;))&lt;br /&gt;         (bbdb-get-addresses-headers&lt;br /&gt;          (list (assoc 'recipients bbdb-get-addresses-headers)))&lt;br /&gt;         records)&lt;br /&gt;    (setq records&lt;br /&gt;          (bbdb-update-records&lt;br /&gt;           (bbdb-get-addresses nil gnus-ignored-from-addresses 'gnus-fetch-field)&lt;br /&gt;           nil nil))&lt;br /&gt;    (mapc (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; (rec)&lt;br /&gt;            (bbdb-record-putprop rec&lt;br /&gt;                                 'contact&lt;br /&gt;                                 (concat subject&lt;br /&gt;                                         (or&lt;br /&gt;                                          (bbdb-record-getprop rec 'contact)&lt;br /&gt;                                          &lt;span style="color: #cc9393;"&gt;""&lt;/span&gt;))))&lt;br /&gt;          records)))&lt;br /&gt;&lt;br /&gt;(add-hook 'message-send-hook 'wicked/gnus-add-subject-to-bbdb-record)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;DE-bbdb-match-field-recipient&lt;/span&gt; (field regexp)&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"Match FIELD for recipient against REGEXP.&lt;br /&gt;                   FIELD must be a symbol, e.g. 'email-type."&lt;/span&gt;&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; (who rec)&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; (and&lt;br /&gt;           (gnus-buffer-live-p gnus-article-copy)&lt;br /&gt;           (setq who&lt;br /&gt;                 (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;with-current-buffer&lt;/span&gt; gnus-article-copy&lt;br /&gt;                   (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-restriction&lt;/span&gt;&lt;br /&gt;                     (nnheader-narrow-to-headers)&lt;br /&gt;                     (or (message-fetch-field &lt;span style="color: #cc9393;"&gt;"reply-to"&lt;/span&gt;)&lt;br /&gt;                         (message-fetch-field &lt;span style="color: #cc9393;"&gt;"from"&lt;/span&gt;)))))&lt;br /&gt;           (setq rec&lt;br /&gt;                 (bbdb-search-simple&lt;br /&gt;                  nil&lt;br /&gt;                  (cadr (gnus-extract-address-components who)))))&lt;br /&gt;      (string-match regexp (bbdb-get-field rec field)))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;group topics&lt;br /&gt;&lt;/span&gt;(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;we are all a bit egotistical and interested in our own ...&lt;br /&gt;&lt;/span&gt;(add-hook 'message-sent-hook 'gnus-score-followup-article)&lt;br /&gt;(add-hook 'message-sent-hook 'gnus-score-followup-thread) &lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;;&lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;F6 killfiles a poster, F7 ignores a thread&lt;br /&gt;&lt;/span&gt;(define-key gnus-summary-mode-map (kbd &lt;span style="color: #cc9393;"&gt;"&amp;lt;f6&amp;gt;"&lt;/span&gt;) &lt;span style="color: #cc9393;"&gt;"LA"&lt;/span&gt;)&lt;br /&gt;(define-key gnus-summary-mode-map (kbd &lt;span style="color: #cc9393;"&gt;"&amp;lt;f7&amp;gt;"&lt;/span&gt;) 'gnus-summary-kill-thread)&lt;br /&gt;(define-key gnus-summary-mode-map (kbd &lt;span style="color: #cc9393;"&gt;"&amp;lt;deletechar&amp;gt;"&lt;/span&gt;) (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; ()(interactive)(gnus-summary-delete-article)(next-line)))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;some comfort keys to scroll article in other window when in summary window&lt;br /&gt;&lt;/span&gt;(define-key gnus-summary-mode-map [(meta up)] (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt;() (interactive) (scroll-other-window -1)))&lt;br /&gt;(define-key gnus-summary-mode-map [(meta down)] (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt;() (interactive) (scroll-other-window 1)))&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;thread navigation&lt;br /&gt;&lt;/span&gt;(define-key gnus-summary-mode-map [(control down)] 'gnus-summary-next-thread)&lt;br /&gt;(define-key gnus-summary-mode-map [(control up)] 'gnus-summary-prev-thread)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;indexing in mail groups supported by dovecot on the server side.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;nnir&lt;/span&gt;)&lt;br /&gt;(define-key gnus-group-mode-map (kbd &lt;span style="color: #cc9393;"&gt;"&amp;lt;f1&amp;gt;"&lt;/span&gt;) 'gnus-group-make-nnir-group)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;unless&lt;/span&gt; (assoc &lt;span style="color: #cc9393;"&gt;"audio/x-wav"&lt;/span&gt; w3m-content-type-alist)&lt;br /&gt;  (setq w3m-content-type-alist&lt;br /&gt;        (cons '(&lt;span style="color: #cc9393;"&gt;"audio/x-wav"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"\\.wav$"&lt;/span&gt; (&lt;span style="color: #cc9393;"&gt;"play"&lt;/span&gt; file))&lt;br /&gt;              w3m-content-type-alist)))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;playwav&lt;/span&gt; (url)&lt;br /&gt;  (interactive)&lt;br /&gt;  (message &lt;span style="color: #cc9393;"&gt;"url is %s"&lt;/span&gt; url)&lt;br /&gt;  (w3m-view-this-url url)&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;some trickery to show the newsread people are using and colour code depending on type&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;in this case highlight users of any outlook type dross :-;&lt;br /&gt;&lt;/span&gt;(setq  gnus-header-face-alist nil)&lt;br /&gt;(add-to-list&lt;br /&gt; 'gnus-header-face-alist&lt;br /&gt; (list (concat&lt;br /&gt;        &lt;span style="color: #cc9393;"&gt;"^"&lt;/span&gt;&lt;br /&gt;        (regexp-opt '(&lt;span style="color: #cc9393;"&gt;"User-Agent"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"X-Mailer"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"Newsreader"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"X-Newsreader"&lt;/span&gt;) t)&lt;br /&gt;        &lt;span style="color: #cc9393;"&gt;":.*"&lt;/span&gt;) &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;other&lt;br /&gt;&lt;/span&gt;       nil font-lock-comment-face))&lt;br /&gt;&lt;br /&gt;(add-to-list&lt;br /&gt; 'gnus-header-face-alist&lt;br /&gt; (list (concat&lt;br /&gt;        &lt;span style="color: #cc9393;"&gt;"^"&lt;/span&gt;&lt;br /&gt;        (regexp-opt '(&lt;span style="color: #cc9393;"&gt;"User-Agent"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"X-Mailer"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"Newsreader"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"X-Newsreader"&lt;/span&gt;) t)&lt;br /&gt;        &lt;span style="color: #cc9393;"&gt;":.*Outlook.*"&lt;/span&gt;)&lt;br /&gt;       nil 'gnus-emphasis-highlight-words))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;And show any real men who use Gnus!&lt;br /&gt;&lt;/span&gt;(add-to-list&lt;br /&gt; 'gnus-header-face-alist&lt;br /&gt; (list (concat&lt;br /&gt;        &lt;span style="color: #cc9393;"&gt;"^"&lt;/span&gt;&lt;br /&gt;        (regexp-opt '(&lt;span style="color: #cc9393;"&gt;"User-Agent"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"X-Mailer"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"Newsreader"&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"X-Newsreader"&lt;/span&gt;) t)&lt;br /&gt;        &lt;span style="color: #cc9393;"&gt;":.*Gnus.*"&lt;/span&gt;)&lt;br /&gt;       nil 'gnus-server-opened))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;jao-gnus-goto-google&lt;/span&gt; ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; (memq major-mode '(gnus-summary-mode gnus-article-mode))&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; (eq major-mode 'gnus-article-mode)&lt;br /&gt;      (gnus-article-show-summary))&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let*&lt;/span&gt; ((article (gnus-summary-article-number))&lt;br /&gt;           (header (gnus-summary-article-header article))&lt;br /&gt;           (id (substring (mail-header-id header) 1 -1))&lt;br /&gt;           (url (format &lt;span style="color: #cc9393;"&gt;"http://groups.google.com/groups?selm=%s"&lt;/span&gt; id)))&lt;br /&gt;      (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; current-prefix-arg&lt;br /&gt;          (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; url (browse-url-default-browser url))&lt;br /&gt;        (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt;  url (browse-url url) (call-interactively 'browse-url))))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;save-to-list&lt;/span&gt; ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (bbdb/gnus-show-all-recipients)&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Format RSS feed titles nicely&lt;br /&gt;&lt;/span&gt;(add-hook 'gnus-summary-mode-hook&lt;br /&gt;          (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; ()&lt;br /&gt;            (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (string-match &lt;span style="color: #cc9393;"&gt;"^nnrss:.*"&lt;/span&gt; gnus-newsgroup-name)&lt;br /&gt;                (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;progn&lt;/span&gt;&lt;br /&gt;                  (make-local-variable 'gnus-show-threads)&lt;br /&gt;                  (make-local-variable 'gnus-article-sort-functions)&lt;br /&gt;                  (make-local-variable 'gnus-use-adaptive-scoring)&lt;br /&gt;                  (make-local-variable 'gnus-use-scoring)&lt;br /&gt;                  (make-local-variable 'gnus-score-find-score-files-function)&lt;br /&gt;                  (make-local-variable 'gnus-summary-line-format)&lt;br /&gt;                  (setq gnus-show-threads nil)&lt;br /&gt;                  (setq gnus-article-sort-functions 'gnus-article-sort-by-date)&lt;br /&gt;                  (setq gnus-use-adaptive-scoring nil)&lt;br /&gt;                  (setq gnus-use-scoring t)&lt;br /&gt;                  (setq gnus-score-find-score-files-function 'gnus-score-find-single)&lt;br /&gt;                  (setq gnus-summary-line-format &lt;span style="color: #cc9393;"&gt;"%U%R%z%d %I%(%[ %s %]%)\n"&lt;/span&gt;)))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;gnus-user-format-function-d&lt;/span&gt; (headers)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let&lt;/span&gt; ((time (gnus-group-timestamp gnus-tmp-group)))&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; time&lt;br /&gt;        (format-time-string &lt;span style="color: #cc9393;"&gt;"%b %d  %H:%M"&lt;/span&gt; time)&lt;br /&gt;      &lt;span style="color: #cc9393;"&gt;""&lt;/span&gt;&lt;br /&gt;      )&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;(setq mail-sources&lt;br /&gt;      '((file &lt;span style="color: #8cd0d3;"&gt;:path&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"/var/spool/mail/shamrock"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(setq gnus-select-method '(nnml &lt;span style="color: #cc9393;"&gt;""&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;             '(nnimap &lt;span style="color: #cc9393;"&gt;"riley"&lt;/span&gt;&lt;br /&gt;                      (nnimap-address &lt;span style="color: #cc9393;"&gt;"offlineimap"&lt;/span&gt;)&lt;br /&gt;                      (nnir-search-engine imap)&lt;br /&gt;                      (nnimap-stream network)&lt;br /&gt;                      (nnimap-authinfo-file &lt;span style="color: #cc9393;"&gt;"~/.authinfo.gpg"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;             '(nnimap &lt;span style="color: #cc9393;"&gt;"shamrockpub"&lt;/span&gt;&lt;br /&gt;                      (nnimap-address &lt;span style="color: #cc9393;"&gt;"offlineimap"&lt;/span&gt;)&lt;br /&gt;                      (nnir-search-engine imap)&lt;br /&gt;                      (nnimap-stream network)&lt;br /&gt;                      (nnimap-authinfo-file &lt;span style="color: #cc9393;"&gt;"~/.authinfo.gpg"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods&lt;br /&gt;             '(nnimap &lt;span style="color: #cc9393;"&gt;"friends"&lt;/span&gt;&lt;br /&gt;                      (nnimap-address &lt;span style="color: #cc9393;"&gt;"offlineimap"&lt;/span&gt;)&lt;br /&gt;                      (nnir-search-engine imap)&lt;br /&gt;                      (nnimap-stream network)&lt;br /&gt;                      (nnimap-authinfo-file &lt;span style="color: #cc9393;"&gt;"~/.authinfo.gpg"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods '(nntp &lt;span style="color: #cc9393;"&gt;"Gmane"&lt;/span&gt; (nntp-address &lt;span style="color: #cc9393;"&gt;"news.gmane.org"&lt;/span&gt;)))&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods '(nntp &lt;span style="color: #cc9393;"&gt;"Gwene"&lt;/span&gt; (nntp-address &lt;span style="color: #cc9393;"&gt;"news.gwene.org"&lt;/span&gt;)))&lt;br /&gt;(add-to-list 'gnus-secondary-select-methods '(nntp &lt;span style="color: #cc9393;"&gt;"Gnus"&lt;/span&gt;  (nntp-address &lt;span style="color: #cc9393;"&gt;"news.gnus.org"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(setq gnus-posting-styles `((&lt;span style="color: #cc9393;"&gt;".*"&lt;/span&gt;&lt;br /&gt;                             (name &lt;span style="color: #cc9393;"&gt;"Richard Riley"&lt;/span&gt;)&lt;br /&gt;                             (from &lt;span style="color: #cc9393;"&gt;"Richard Riley &amp;lt;&lt;a href="mailto:rileyrg&amp;#64;googlemail.com"&gt;rileyrg&amp;#64;googlemail.com&lt;/a&gt;&amp;gt;"&lt;/span&gt;)&lt;br /&gt;                             (eval(setq gnushush-user-agent-header (quote real)))&lt;br /&gt;                             (signature-file &lt;span style="color: #cc9393;"&gt;"~/.emacs.d/.sigs/rgr.sig"&lt;/span&gt;)&lt;br /&gt;                             (eval (setq mml2015-signers '(&lt;span style="color: #cc9393;"&gt;"AB23BE58"&lt;/span&gt;)))&lt;br /&gt;                             (organization &lt;span style="color: #cc9393;"&gt;"aich tea tea pea dicky riley dot net"&lt;/span&gt;))))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(setq mail-host-address &lt;span style="color: #cc9393;"&gt;"news.eternal-september.org"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Select the correct smtp server based on the from address.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;msmtp-account&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;optional&lt;/span&gt; def)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;let*&lt;/span&gt; ((from&lt;br /&gt;          (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-restriction&lt;/span&gt;    &lt;br /&gt;            (message-narrow-to-headers)&lt;br /&gt;            (message-fetch-field &lt;span style="color: #cc9393;"&gt;"From"&lt;/span&gt;)))&lt;br /&gt;         (account (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; from (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;catch&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;match&lt;/span&gt;&lt;br /&gt;                             (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;dolist&lt;/span&gt; (element msmtp-name-list)&lt;br /&gt;                               &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;(message (format "smpt chosen is %s" element))&lt;br /&gt;&lt;/span&gt;                               (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; (string-match (format &lt;span style="color: #cc9393;"&gt;".*%s.*"&lt;/span&gt; element) from)&lt;br /&gt;                                 (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;throw&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;match&lt;/span&gt; element)))) nil)))&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; account account (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; def def &lt;span style="color: #cc9393;"&gt;"default"&lt;/span&gt;))))&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;msmtp-change-smtp&lt;/span&gt; ()&lt;br /&gt;  (setq sendmail-program &lt;span style="color: #cc9393;"&gt;"/usr/bin/msmtp"&lt;/span&gt;)&lt;br /&gt;  (setq smtpmail-starttls-credentials '((&lt;span style="color: #cc9393;"&gt;"smtp.googlemail.com"&lt;/span&gt; 587 nil nil)))&lt;br /&gt;  (setq smtpmail-smtp-server &lt;span style="color: #cc9393;"&gt;"smtp.googlemail.com"&lt;/span&gt;)&lt;br /&gt;  (setq message-sendmail-envelope-from 'header)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (message-mail-p)&lt;br /&gt;      (setq message-sendmail-extra-arguments (list &lt;span style="color: #cc9393;"&gt;"-a"&lt;/span&gt; (msmtp-account &lt;span style="color: #cc9393;"&gt;"default"&lt;/span&gt;)))))    &lt;br /&gt;(add-hook 'message-send-hook 'msmtp-change-smtp)&lt;br /&gt;&lt;br /&gt;(setq message-required-news-headers&lt;br /&gt;      (remove' Message-ID message-required-news-headers))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-212091717296219616?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/212091717296219616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/gnus-email-and-nntp-handling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/212091717296219616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/212091717296219616'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/gnus-email-and-nntp-handling.html' title='Gnus Email and NNTP Handling'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-577468677518909796</id><published>2010-09-13T10:14:00.001-07:00</published><updated>2010-09-13T10:14:16.593-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='init'/><category scheme='http://www.blogger.com/atom/ns#' term='dotemacs'/><title type='text'>Misc UI settings</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(fset 'yes-or-no-p 'y-or-n-p)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;talk to the main x clipboard. A total clusterf*ck of over engineering.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;xclip&lt;/span&gt;)&lt;br /&gt;(turn-on-xclip)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Abbreviations&lt;br /&gt;&lt;/span&gt;(setq abbrev-file-name &lt;span style="color: #cc9393;"&gt;"~/.emacs.d/.abbrev_defs"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Fast buffer and refile targets with fuzzy completion.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;ido&lt;/span&gt;)&lt;br /&gt;(ido-mode)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Show column mode in the mode line&lt;br /&gt;&lt;/span&gt;(column-number-mode t)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;An alternative for listing buffers.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Hardly use it now with IDO mode.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;ibuffer&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defalias&lt;/span&gt; '&lt;span style="color: #8cd0d3;"&gt;list-buffers&lt;/span&gt; 'ibuffer)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Group the iBuffer contents.&lt;br /&gt;&lt;/span&gt;(setq ibuffer-saved-filter-groups&lt;br /&gt;      (quote ((&lt;span style="color: #cc9393;"&gt;"default"&lt;/span&gt;      &lt;br /&gt;               (&lt;span style="color: #cc9393;"&gt;"Org"&lt;/span&gt; &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;all org-related buffers&lt;br /&gt;&lt;/span&gt;                (mode . org-mode))  &lt;br /&gt;               (&lt;span style="color: #cc9393;"&gt;"Mail"&lt;/span&gt;&lt;br /&gt;                (or  &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;mail-related buffers&lt;br /&gt;&lt;/span&gt;                 (mode . message-mode)&lt;br /&gt;                 (mode . mail-mode)&lt;br /&gt;                 &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;etc.; all your mail related modes&lt;br /&gt;&lt;/span&gt;                 ))&lt;br /&gt;               (&lt;span style="color: #cc9393;"&gt;"MyProject1"&lt;/span&gt;&lt;br /&gt;                (filename . &lt;span style="color: #cc9393;"&gt;"src/myproject1/"&lt;/span&gt;))&lt;br /&gt;               (&lt;span style="color: #cc9393;"&gt;"MyProject2"&lt;/span&gt;&lt;br /&gt;                (filename . &lt;span style="color: #cc9393;"&gt;"src/myproject2/"&lt;/span&gt;))&lt;br /&gt;               (&lt;span style="color: #cc9393;"&gt;"Programming"&lt;/span&gt; &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;prog stuff not already in MyProjectX&lt;br /&gt;&lt;/span&gt;                (or&lt;br /&gt;                 (mode . c-mode)&lt;br /&gt;                 (mode . perl-mode)&lt;br /&gt;                 (mode . python-mode)&lt;br /&gt;                 (mode . emacs-lisp-mode)&lt;br /&gt;                 &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;etc&lt;br /&gt;&lt;/span&gt;                 )) &lt;br /&gt;               (&lt;span style="color: #cc9393;"&gt;"ERC"&lt;/span&gt;   (mode . erc-mode))))))&lt;br /&gt;&lt;br /&gt;(add-hook 'ibuffer-mode-hook&lt;br /&gt;          (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; ()&lt;br /&gt;            (ibuffer-switch-to-saved-filter-groups &lt;span style="color: #cc9393;"&gt;"default"&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Show vertical position relative in the mode line&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;sml-modeline&lt;/span&gt; nil 'noerror)&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;progn&lt;/span&gt; &lt;br /&gt;      (sml-mode 1)                   &lt;br /&gt;      (scroll-bar-mode -1))          &lt;br /&gt;  (scroll-bar-mode 1)                &lt;br /&gt;  (set-scroll-bar-mode 'right))      &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-577468677518909796?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/577468677518909796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/misc-ui-settings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/577468677518909796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/577468677518909796'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/misc-ui-settings.html' title='Misc UI settings'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2602172257761868805</id><published>2010-09-13T09:47:00.001-07:00</published><updated>2010-09-13T09:48:48.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='init'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='dotemacs'/><title type='text'>Moving my dot files into org chunks and blogging them</title><content type='html'>&lt;br /&gt;&lt;p&gt;The influx of code chunks to the blog are because I am moving my init&lt;br /&gt;files to smaller org chunks. I think this could be helpful to not&lt;br /&gt;only others but surely myself further down the road.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2602172257761868805?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2602172257761868805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/moving-my-dot-files-into-org-chunks-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2602172257761868805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2602172257761868805'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/moving-my-dot-files-into-org-chunks-and.html' title='Moving my dot files into org chunks and blogging them'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-3275494115316678728</id><published>2010-09-13T09:29:00.001-07:00</published><updated>2010-09-13T09:29:32.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='commandline'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Process Emacs Command Line Options</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defvar&lt;/span&gt; &lt;span style="color: #f0dfaf;"&gt;server-emacs&lt;/span&gt; t&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"If non-null, this emacs should run emacsclient."&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defvar&lt;/span&gt; &lt;span style="color: #f0dfaf;"&gt;org-instance&lt;/span&gt; t&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"If nil then no org bindings"&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defvar&lt;/span&gt; &lt;span style="color: #f0dfaf;"&gt;email-instance&lt;/span&gt; nil&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"If nil then no email"&lt;/span&gt;)&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defvar&lt;/span&gt; &lt;span style="color: #f0dfaf;"&gt;erc-instance&lt;/span&gt; nil&lt;br /&gt;  &lt;span style="color: #8fb28f;"&gt;"If nil then no erc auto start"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;(add-to-list&lt;br /&gt; 'command-switch-alist&lt;br /&gt; '(&lt;span style="color: #cc9393;"&gt;"email"&lt;/span&gt; . (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;rest&lt;/span&gt; ignore)&lt;br /&gt;               &lt;span style="color: #708070;"&gt;;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;Start Gnus when Emacs starts&lt;br /&gt;&lt;/span&gt;               (setq email-instance t))))&lt;br /&gt;&lt;br /&gt;(add-to-list&lt;br /&gt; 'command-switch-alist&lt;br /&gt; '(&lt;span style="color: #cc9393;"&gt;"irc"&lt;/span&gt; . (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;rest&lt;/span&gt; ignore)&lt;br /&gt;             (setq erc-instance t))))&lt;br /&gt;&lt;br /&gt;(add-to-list&lt;br /&gt; 'command-switch-alist&lt;br /&gt; '(&lt;span style="color: #cc9393;"&gt;"no-server"&lt;/span&gt; . (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;rest&lt;/span&gt; ignore)&lt;br /&gt;                   (setq server-emacs nil))))&lt;br /&gt;&lt;br /&gt;(add-to-list&lt;br /&gt; 'command-switch-alist&lt;br /&gt; '(&lt;span style="color: #cc9393;"&gt;"no-org"&lt;/span&gt; . (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;rest&lt;/span&gt; ignore)&lt;br /&gt;                (setq org-instance nil))))&lt;br /&gt;&lt;br /&gt;(add-hook 'emacs-startup-hook&lt;br /&gt;          (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; ()&lt;br /&gt;            (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; server-emacs&lt;br /&gt;              (server-start))&lt;br /&gt;            (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; org-instance&lt;br /&gt;              (rgr-org))&lt;br /&gt;            (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; erc-instance&lt;br /&gt;              (rgr/start-erc))&lt;br /&gt;            (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; email-instance&lt;br /&gt;              (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;progn&lt;/span&gt; (gnus)))))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-3275494115316678728?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/3275494115316678728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/process-emacs-command-line-options.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3275494115316678728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/3275494115316678728'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/process-emacs-command-line-options.html' title='Process Emacs Command Line Options'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-6446488595290044694</id><published>2010-09-13T09:27:00.001-07:00</published><updated>2010-09-13T09:27:45.175-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Save backup and temp files to the tmp directory</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;(setq backup-directory-alist&lt;br /&gt;      `((&lt;span style="color: #cc9393;"&gt;".*"&lt;/span&gt; . ,temporary-file-directory)))&lt;br /&gt;(setq auto-save-file-name-transforms&lt;br /&gt;      `((&lt;span style="color: #cc9393;"&gt;".*"&lt;/span&gt; ,temporary-file-directory t)))&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-6446488595290044694?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/6446488595290044694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/save-backup-and-temp-files-to-tmp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6446488595290044694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6446488595290044694'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/save-backup-and-temp-files-to-tmp.html' title='Save backup and temp files to the tmp directory'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-6453638197294362143</id><published>2010-09-12T20:48:00.001-07:00</published><updated>2010-09-12T20:48:20.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='irc'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='bitlbee'/><category scheme='http://www.blogger.com/atom/ns#' term='freenode'/><category scheme='http://www.blogger.com/atom/ns#' term='erc'/><title type='text'>IRC with ERC</title><content type='html'>&lt;br /&gt;&lt;p&gt;erc is an excellent package to access irc from emacs. This includes an&lt;br /&gt;interface to IDO fast buffer selection. I keep the important password&lt;br /&gt;type vars in private.gpg.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;erc&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt; (setq &lt;br /&gt;      erc-prompt-for-nickserv-password nil&lt;br /&gt;      erc-autoaway-idle-seconds 600&lt;br /&gt;      erc-autoaway-message &lt;span style="color: #cc9393;"&gt;"Timed out."&lt;/span&gt;&lt;br /&gt;      erc-auto-discard-away t&lt;br /&gt;      )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;alert when someone highlights you.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;my-erc-nick-match&lt;/span&gt; (match-type nickuserhost message)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;cond&lt;/span&gt;&lt;br /&gt;   ((eq match-type 'current-nick)&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (eq (string-match (concat (erc-current-nick) &lt;span style="color: #cc9393;"&gt;":"&lt;/span&gt;) message) 0) (rgr/notify message)))))&lt;br /&gt;&lt;br /&gt;(add-hook 'erc-text-matched-hook 'my-erc-nick-match)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;auto truncatebuffers&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defvar&lt;/span&gt; &lt;span style="color: #f0dfaf;"&gt;erc-insert-post-hook&lt;/span&gt;)&lt;br /&gt;(add-hook 'erc-insert-post-hook&lt;br /&gt;          'erc-truncate-buffer)&lt;br /&gt;&lt;br /&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;rgr/start-erc&lt;/span&gt; ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;unless&lt;/span&gt; (erc-already-logged-in &lt;span style="color: #cc9393;"&gt;"im.rootdir.de"&lt;/span&gt;  6668 &lt;span style="color: #cc9393;"&gt;"rgr"&lt;/span&gt;) (erc &lt;span style="color: #8cd0d3;"&gt;:server&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"88.198.83.122"&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;:nick&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"rgr"&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;:password&lt;/span&gt; bitl-password &lt;span style="color: #8cd0d3;"&gt;:port&lt;/span&gt; 6668)) &lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;im.rootdir.de&lt;br /&gt;&lt;/span&gt;  (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;if&lt;/span&gt; (not (erc-already-logged-in &lt;span style="color: #cc9393;"&gt;"irc.freenode.net"&lt;/span&gt;  6667 &lt;span style="color: #cc9393;"&gt;"rgr"&lt;/span&gt;))&lt;br /&gt;      (erc &lt;span style="color: #8cd0d3;"&gt;:server&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"irc.freenode.net"&lt;/span&gt;  &lt;span style="color: #8cd0d3;"&gt;:nick&lt;/span&gt; &lt;span style="color: #cc9393;"&gt;"rgr"&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;:password&lt;/span&gt; erc-password &lt;span style="color: #8cd0d3;"&gt;:port&lt;/span&gt; 6667)&lt;br /&gt;    (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;progn&lt;/span&gt;&lt;br /&gt;      (switch-to-buffer &lt;span style="color: #cc9393;"&gt;"#emacs"&lt;/span&gt;))) )&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;/INFO auto logs the eval line for someone to evaluate to take them to the same INFO page you are currently viewing.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;erc-cmd-INFO&lt;/span&gt; (&lt;span style="color: #dfdfbf; font-weight: bold;"&gt;&amp;amp;rest&lt;/span&gt; ignore)&lt;br /&gt;  (erc-send-message (format &lt;span style="color: #cc9393;"&gt;"Evaluate this using C-x C-e with cursor at closing bracket --&amp;gt; %s"&lt;/span&gt; (rgr/info-link))))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;IDO switch between irc channels.&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;defun&lt;/span&gt; &lt;span style="color: #8cd0d3;"&gt;rgr/ido-erc-buffer&lt;/span&gt;()&lt;br /&gt;  (interactive)&lt;br /&gt;  (switch-to-buffer&lt;br /&gt;   (ido-completing-read &lt;span style="color: #cc9393;"&gt;"Channel:"&lt;/span&gt; &lt;br /&gt;                        (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;save-excursion&lt;/span&gt;&lt;br /&gt;                          (delq&lt;br /&gt;                           nil&lt;br /&gt;                           (mapcar (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;lambda&lt;/span&gt; (buf)&lt;br /&gt;                                     (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;when&lt;/span&gt; (buffer-live-p buf)&lt;br /&gt;                                       (&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;with-current-buffer&lt;/span&gt; buf&lt;br /&gt;                                         (and (eq major-mode 'erc-mode)&lt;br /&gt;                                              (buffer-name buf)))))&lt;br /&gt;                                   (buffer-list)))))))&lt;br /&gt;&lt;br /&gt;(global-set-key (kbd &lt;span style="color: #cc9393;"&gt;"C-c e"&lt;/span&gt;) 'rgr/ido-erc-buffer)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-6453638197294362143?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/6453638197294362143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/irc-with-erc_12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6453638197294362143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/6453638197294362143'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/irc-with-erc_12.html' title='IRC with ERC'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-9015366580770344345</id><published>2010-09-12T20:44:00.001-07:00</published><updated>2010-09-12T20:44:24.943-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='keychain'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='epa'/><category scheme='http://www.blogger.com/atom/ns#' term='pgp'/><title type='text'>Security (PGP) - keychain</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;&lt;span style="color: #708070;"&gt;; &lt;/span&gt;&lt;span style="color: #7f9f7f;"&gt;settings moved to custom&lt;br /&gt;&lt;/span&gt;(&lt;span style="color: #f0dfaf; font-weight: bold;"&gt;require&lt;/span&gt; '&lt;span style="color: #dca3a3; font-weight: bold;"&gt;keychain-environment&lt;/span&gt;)&lt;br /&gt;(load &lt;span style="color: #cc9393;"&gt;"private.gpg"&lt;/span&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-9015366580770344345?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/9015366580770344345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/security-pgp-keychain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9015366580770344345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/9015366580770344345'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/security-pgp-keychain.html' title='Security (PGP) - keychain'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-8543937852362262214</id><published>2010-09-12T09:19:00.001-07:00</published><updated>2010-09-17T07:59:43.252-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='github'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='dotemacs'/><title type='text'>dotemacs on github</title><content type='html'>&lt;br /&gt;&lt;p&gt;My emacs files are now in github following a request for the files in&lt;br /&gt;raw format. The main entry point is &lt;a href="http://github.com/rileyrg/dotemacs/blob/master/init.el"&gt;init.el at master from rileyrg's emacs - GitHub&lt;/a&gt; which processes &lt;a href="http://github.com/rileyrg/emacs/blob/master/emacs-init.org"&gt;emacs-init.org at master from rileyrg's emacs - GitHub&lt;/a&gt; to produce &lt;a href="http://github.com/rileyrg/dotemacs/blob/master/emacs-init.el"&gt;emacs-init.el at master from rileyrg's emacs - GitHub&lt;/a&gt;.  Custom variables are stored in &lt;a href="http://github.com/rileyrg/dotemacs/blob/master/custom.el"&gt;custom.el at master from rileyrg's emacs - GitHub&lt;/a&gt;. Not all of the things loaded by my init&lt;br /&gt;files are in git. Some you will have to track down and install as&lt;br /&gt;dependencies.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-8543937852362262214?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/8543937852362262214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/dotemacs-on-github.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8543937852362262214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/8543937852362262214'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/dotemacs-on-github.html' title='dotemacs on github'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-2142432797665017336</id><published>2010-09-11T17:33:00.001-07:00</published><updated>2010-09-18T18:42:15.156-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='googleweather'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='weather'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>org-google-weather</title><content type='html'>&lt;p&gt;&lt;br /&gt;The google-weather Emacs extension allows to run access the Google Weather API from Emacs.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://julien.danjou.info/google-weather-el.html"&gt;Org Mode : weather forecast in the agenda&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Small patch to make it better behaved in terminal mode emacs&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-ediff"&gt;        Modified google-weather.el&lt;br /&gt;diff --git a/google-weather.el b/google-weather.el&lt;br /&gt;index 393a3cf..898c91b 100644&lt;br /&gt;--- a/google-weather.el&lt;br /&gt;+++ b/google-weather.el&lt;br /&gt;@@ -162,8 +162,8 @@ See `google-weather-retrieve-data' for the use of EXPIRE-TIME.&lt;span style="color: #ffaf87;"&gt;"&lt;br /&gt;          `(,forecast-encoded-date&lt;br /&gt;            (low ,(google-weather-assoc 'low forecast))&lt;br /&gt;            (high ,(google-weather-assoc 'high forecast))&lt;br /&gt;-           (icon ,(concat google-weather-image-url&lt;br /&gt;-                          (google-weather-assoc 'icon forecast)))&lt;br /&gt;+           (icon ,(if (window-system) (concat google-weather-image-url&lt;br /&gt;+                          (google-weather-assoc 'icon forecast)) ""))&lt;br /&gt;            (condition ,(google-weather-assoc 'condition forecast)))))&lt;br /&gt;      (loop for entry in (google-weather-data-&amp;gt;weather data)&lt;br /&gt;            when (eq (car entry) 'forecast_conditions)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-2142432797665017336?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/2142432797665017336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/org-google-weather_434.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2142432797665017336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/2142432797665017336'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/org-google-weather_434.html' title='org-google-weather'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-886981339528724293</id><published>2010-09-11T13:36:00.001-07:00</published><updated>2010-09-18T18:41:49.595-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='org-mode'/><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecl'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Tagged org-googlecl as now includes interactive blog prompt</title><content type='html'>&lt;br /&gt;&lt;p&gt;General function to prompt you if you really want to blog the org&lt;br /&gt;entry if you are in an org buffer.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #00ffff;"&gt;defun&lt;/span&gt; &lt;span style="color: #87d7ff;"&gt;googlecl-prompt-blog&lt;/span&gt; ()&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"If in a org buffer prompt whether to blog the entire entry else normal text blog."&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (eq major-mode 'org-mode)&lt;br /&gt;      (&lt;span style="color: #00ffff;"&gt;if&lt;/span&gt; (yes-or-no-p &lt;span style="color: #ffaf87;"&gt;"Blog the Org Entry?"&lt;/span&gt;)&lt;br /&gt;        (org-googlecl-blog)&lt;br /&gt;        (googlecl-blog))&lt;br /&gt;    (googlecl-blog)))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://github.com/rileyrg/org-googlecl/tree/googlecl-prompt-blog"&gt;org-googlecl-blog at github&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-886981339528724293?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/886981339528724293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/tagged-org-googlecl-as-now-includes_5404.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/886981339528724293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/886981339528724293'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/tagged-org-googlecl-as-now-includes_5404.html' title='Tagged org-googlecl as now includes interactive blog prompt'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-1637530548521206024</id><published>2010-09-10T03:46:00.001-07:00</published><updated>2010-10-02T13:07:02.446-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='org-mode'/><category scheme='http://www.blogger.com/atom/ns#' term='googlecl'/><category scheme='http://www.blogger.com/atom/ns#' term='planetemacsen'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Blogging from emacs using the googlecl utility.</title><content type='html'>Blogging to blogger/blogsport using emacs : particularly org-mode items.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://github.com/rileyrg/org-googlecl"&gt;http://github.com/rileyrg/org-googlecl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sample outputs here :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://splash-of-open-sauce.blogspot.com/"&gt;Open Sauce&lt;/a&gt;&lt;a id="publishButton" class="cssButton" href="javascript:void(0)" target="" onclick="if (this.className.indexOf(&amp;quot;ubtn-disabled&amp;quot;) == -1) {var e = document['stuffform'].publish;(e.length) ? e[0].click() : e.click(); if (window.event) window.event.cancelBubble = true; return false;}"&gt;&lt;div class="cssButtonOuter"&gt;&lt;div class="cssButtonMiddle"&gt;&lt;div class="cssButtonInner"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-1637530548521206024?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/1637530548521206024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/blogging-from-emacs-using-googlecl.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1637530548521206024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/1637530548521206024'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/blogging-from-emacs-using-googlecl.html' title='Blogging from emacs using the googlecl utility.'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4166588008280027121.post-4966061108974182294</id><published>2010-09-08T21:11:00.001-07:00</published><updated>2010-09-12T03:35:15.397-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='orgmode'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>org-capture templates</title><content type='html'>&lt;pre class="src src-emacs-lisp"&gt;((&lt;span style="color: #ffaf87;"&gt;"t"&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"Todo"&lt;/span&gt; entry&lt;br /&gt;  (file+headline &lt;span style="color: #ffaf87;"&gt;""&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"Tasks To Refile"&lt;/span&gt;)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"* TODO %?\n:PROPERTIES:\n :DateCreated: %T\n:END:\n%i\n%a"&lt;/span&gt;)&lt;br /&gt; (&lt;span style="color: #ffaf87;"&gt;"j"&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"Journal"&lt;/span&gt; entry&lt;br /&gt;  (file+datetree &lt;span style="color: #ffaf87;"&gt;"journal.org"&lt;/span&gt;)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"* %?\n:PROPERTIES:\n :DateCreated: %T\n:END:\n\n#+begin_src emacs-lisp\n%i\n#+end_src\n%a"&lt;/span&gt;)&lt;br /&gt; (&lt;span style="color: #ffaf87;"&gt;"n"&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"Quick note to refile later"&lt;/span&gt; entry&lt;br /&gt;  (file+headline &lt;span style="color: #ffaf87;"&gt;""&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"Notes To Refile"&lt;/span&gt;)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"* %?\n:PROPERTIES:\n :DateCreated: %T\n:END:\n#+being_src\n%i\n#+end_src\n\n%a"&lt;/span&gt;)&lt;br /&gt; (&lt;span style="color: #ffaf87;"&gt;"w"&lt;/span&gt; &lt;span style="color: #ffaf87;"&gt;"web capture"&lt;/span&gt; entry&lt;br /&gt;  (file &lt;span style="color: #ffaf87;"&gt;"refile.org"&lt;/span&gt;)&lt;br /&gt;  &lt;span style="color: #ffaf87;"&gt;"* %a %?\\n:PROPERTIES:\n :DateCreated: %T\n:END:n\n%i"&lt;/span&gt;))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4166588008280027121-4966061108974182294?l=splash-of-open-sauce.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://splash-of-open-sauce.blogspot.com/feeds/4966061108974182294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/org-capture-templates_08.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4966061108974182294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4166588008280027121/posts/default/4966061108974182294'/><link rel='alternate' type='text/html' href='http://splash-of-open-sauce.blogspot.com/2010/09/org-capture-templates_08.html' title='org-capture templates'/><author><name>Richard</name><uri>http://www.blogger.com/profile/04002001799007552493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_UrtIEr7Bd_8/TP2RJ4kJYWI/AAAAAAAADKw/JAJGm97REGg/S220/meonbike.jpg'/></author><thr:total>0</thr:total></entry></feed>
