<?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-2987598178779315949</id><updated>2012-01-14T20:07:42.197-08:00</updated><category term='bash ruby programming'/><title type='text'>Rados Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-964181171656475420</id><published>2012-01-05T16:13:00.000-08:00</published><updated>2012-01-05T16:13:26.087-08:00</updated><title type='text'>My Favorite Unix Alias</title><content type='html'>I use this "z" command every day.&amp;nbsp; For example, let's say you have a list of files and you want to do something to one of them.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;find . | grep file_im_looking_for&amp;nbsp;&amp;nbsp; | z&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Up pops vim and lets you find the file hilight with the V&amp;nbsp; command and yank it.&amp;nbsp; Then you close vim, paste it on the screen and edit your command to do whatever you want.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here it is, just add to .bash_alias file or .profile:&lt;br /&gt;&lt;br /&gt;alias z="tee /tmp/blah; vim /tmp/blah"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-964181171656475420?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/964181171656475420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=964181171656475420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/964181171656475420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/964181171656475420'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2012/01/my-favorite-unix-alias.html' title='My Favorite Unix Alias'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-3831830744250186350</id><published>2012-01-05T16:08:00.000-08:00</published><updated>2012-01-05T16:08:51.309-08:00</updated><title type='text'>How to fix your Tmux copy and paste problems</title><content type='html'>I had stopped using tmux when I went back to OSX because the copy quit working, but I've been wanting it back because I really want to use &lt;a href="http://radorant.blogspot.com/2009/10/better-gnu-screen-copy-mode.html"&gt;my better copy mode to copy existing text on the screen&lt;/a&gt;, and because it lets you search through your open windows.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So finally someone has done the research and work to get this working correctly and in a non-invasive way.&amp;nbsp; Beautiful, I can go back now.&amp;nbsp; &lt;br /&gt; &lt;br /&gt;https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thank you Chris Johnsen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-3831830744250186350?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/3831830744250186350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=3831830744250186350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3831830744250186350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3831830744250186350'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2012/01/how-to-fix-your-tmux-copy-and-paste.html' title='How to fix your Tmux copy and paste problems'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-3888428533316453426</id><published>2011-06-15T17:25:00.000-07:00</published><updated>2011-09-20T15:03:50.759-07:00</updated><title type='text'>Java Trie</title><content type='html'>I have been looking for some Java based string Tries, preferably one with compression.  Here is what I've come up with so far.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is a TernaryStringTrie in the jaspell.sourceforge.com  http://jaspell.sourceforge.net/javadocs/pt/tumba/spell/TernarySearchTrie.html&lt;br /&gt;&lt;br /&gt;There is the open patricia trie http://code.google.com/p/patricia-trie/&lt;br /&gt;&lt;br /&gt;I just found a simple PrefixTrie one in strut2.  http://struts.apache.org/2.2.3/struts2-core/apidocs/org/apache/struts2/util/PrefixTrie.html&lt;br /&gt;&lt;br /&gt;I guess there is this one.&lt;br /&gt;http://www.java2s.com/Open-Source/Java-Document/Internationalization-Localization/icu4j/com/ibm/icu/impl/CharTrie.java.htm&lt;br /&gt;&lt;br /&gt;There is this one&lt;br /&gt;http://www.digitaltsunami.net/projects/wordscope/site/apidocs/net/digitaltsunami/word/util/CharTrie.html&lt;br /&gt;&lt;br /&gt;I would like something like the marisa trie implemented in java.&lt;br /&gt;http://code.google.com/p/marisa-trie/&lt;br /&gt;&lt;br /&gt;There is this one:&lt;br /&gt;http://www.badgenow.com/p/radixtree/&lt;br /&gt;&lt;br /&gt;This one works well:https://code.google.com/p/radixtree-java/&lt;br /&gt;&lt;br /&gt;There is one here that gives a high degree of compression and sacrifices speed:&lt;br /&gt;https://github.com/ning/tr13&lt;br /&gt;&lt;br /&gt;Here is a nice comparison test that compares tr13 with hash implementations in terms of space and time. &lt;br /&gt;http://groups.google.com/group/ning-tr13-users/msg/8c3e942335676b96 &lt;br /&gt;&lt;br /&gt;For compression I found the dsiutils project here &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-3888428533316453426?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/3888428533316453426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=3888428533316453426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3888428533316453426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3888428533316453426'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2011/06/java-trie.html' title='Java Trie'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-579400891394438262</id><published>2010-11-10T11:59:00.000-08:00</published><updated>2010-11-10T12:07:05.467-08:00</updated><title type='text'>Use netcat as a fake server to debug http issues</title><content type='html'>I had a problem with my http server where my cookie didn't seem to be accepted by the browser and resent.  To debug the issue I wanted to be able to edit the headers that were being sent back to the browser.  Here is the technique I used to quickly find the issue.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# use curl to pull the raw response&lt;br /&gt;# from the server and the headers that were sent back&lt;br /&gt;&lt;br /&gt;curl -D headers2 --raw www.serverwithproblem.com &gt; raw2.txt&lt;br /&gt;&lt;br /&gt;# concatenate the headers and response into one file&lt;br /&gt;&lt;br /&gt;cat headers2 raw2.txt &gt; both2.txt&lt;br /&gt;&lt;br /&gt;# cause netcat to listen on a specified port &lt;br /&gt;# and cat your mock response to it&lt;br /&gt;&lt;br /&gt;cat both2.txt | nc -l 8099&lt;br /&gt;&lt;br /&gt;# netcat will sit and wait for your request&lt;br /&gt;# now aim your browser at localhost:8099&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;After that you go to your browser at localhost:8099 and you'll get the response you set up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-579400891394438262?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/579400891394438262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=579400891394438262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/579400891394438262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/579400891394438262'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2010/11/use-netcat-as-fake-server-to-debug-http.html' title='Use netcat as a fake server to debug http issues'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-1824019183445518184</id><published>2010-10-28T09:49:00.000-07:00</published><updated>2010-11-09T12:03:06.971-08:00</updated><title type='text'>focus</title><content type='html'>I had been running some scripts, but kept getting distracted.&lt;br /&gt;&lt;br /&gt;I found a linux script for a &lt;a href="http://michael.ellerman.id.au/blog/2005/09/23/"&gt;dialog alert&lt;/a&gt;, but not one for OSX, so here is my modified script for OSX.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;eval $@&lt;br /&gt;&lt;br /&gt;if [[ $? -eq 0 ]]; then&lt;br /&gt;    osascript -e 'tell application "Finder"' -e "activate" -e "display dialog \"Command '$@' in $PWD completed.\"" -e 'end tell';&lt;br /&gt;else&lt;br /&gt;    osascript -e 'tell application "Finder"' -e "activate" -e "display dialog \"Command '$@' in $PWD failed! $@\"" -e 'end tell';&lt;br /&gt;fi&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/2987598178779315949-1824019183445518184?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/1824019183445518184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=1824019183445518184' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/1824019183445518184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/1824019183445518184'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2010/10/focus.html' title='focus'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-940350156276953371</id><published>2010-09-16T23:02:00.000-07:00</published><updated>2010-09-16T23:05:29.265-07:00</updated><title type='text'>Yay Conque</title><content type='html'>I just found this vim plugin called &lt;a href="http://code.google.com/p/conque/"&gt;Conque&lt;/a&gt; that lets you run a shell inside your vim window.  It looks almost perfect.&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://code.google.com/p/conque/"&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class=" on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-940350156276953371?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/940350156276953371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=940350156276953371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/940350156276953371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/940350156276953371'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2010/09/yay-conque.html' title='Yay Conque'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-96837386394587763</id><published>2010-09-14T10:39:00.000-07:00</published><updated>2010-09-14T10:44:44.819-07:00</updated><title type='text'>Copy from and Paste to Native OS X Clipboard in Vim</title><content type='html'>I was annoyed that the builtin OSX vim version on Snow Leopard could not copy to the clipboard.  I grabbed this homebrew formula &lt;a href="http://github.com/adamv/homebrew/blob/duplicates/Library/Formula/vim.rb"&gt;http://github.com/adamv/homebrew/blob/duplicates/Library/Formula/vim.rb&lt;/a&gt; and recompiled vim with it.  I had to move the existing vim out of way for some reason and then I had a shiny new vim with clipboard support.  Just "set clipboard=unnamed" in your .vimrc file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-96837386394587763?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/96837386394587763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=96837386394587763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/96837386394587763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/96837386394587763'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2010/09/copy-from-and-paste-to-native-os-x.html' title='Copy from and Paste to Native OS X Clipboard in Vim'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-3702077007836304148</id><published>2009-12-23T11:26:00.000-08:00</published><updated>2009-12-23T11:53:39.275-08:00</updated><title type='text'>Vrapper is nice, Vim + eclipse</title><content type='html'>I like using vim, but all day I program in eclipse, which edits like a normal editor.  The refactoring capabilities are important for my Java work.  I tried &lt;a href="http://eclim.org/"&gt;eclim&lt;/a&gt;, but trying to learn the mappings is and get setup is just too much work, and some things are not yet implemented.  I think with alot of time spent on it, it could end up useful, but for now &lt;a href="http://vrapper.sourceforge.net/home/"&gt;Vrapper&lt;/a&gt; has been nice.  I installed it as an eclipse plugin and it lets you easily turn it on and off.  I also like that when you are normal mode it acts like a normal eclipse editor where highlighting works as expected, then you can switch back to vim mode with the escape key and do some more powerful editing, it doesn't do everything vim does, so sometimes it's better to use the real vim, but it does alot of what you want.  For that I created an eclipse tool&lt;br /&gt;&lt;br /&gt;Program:&lt;br /&gt;/usr/local/bin/tmux&lt;br /&gt;&lt;br /&gt;Arguments:&lt;br /&gt;new-window "vim ${resource_loc}"&lt;br /&gt;&lt;br /&gt;this lets me click my tool and open the current file I'm working on inside a new tmux window editing with vim.  I typically use that when I need to do some substitutions because I like the way vim substitutes better than the modal dialog box eclipse uses.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-3702077007836304148?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/3702077007836304148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=3702077007836304148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3702077007836304148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3702077007836304148'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/12/vrapper-is-nice.html' title='Vrapper is nice, Vim + eclipse'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-4876906314446770616</id><published>2009-11-30T12:36:00.000-08:00</published><updated>2009-12-23T11:25:03.735-08:00</updated><title type='text'>Use Tmux instead of screen</title><content type='html'>I've been using tmux for awhile instead of screen.  The options are a little more intuitive.  The code is far cleaner than the screen code, and the development is active and ongoing.  I've been working with Nicholas Marriot the maintainer to get a patch in (now added) to create some functionality similar to screen hardcopy and he has been very responsive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-4876906314446770616?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/4876906314446770616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=4876906314446770616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/4876906314446770616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/4876906314446770616'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/11/use-tmux-instead-of-screen.html' title='Use Tmux instead of screen'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-3054781790960536369</id><published>2009-10-11T22:51:00.000-07:00</published><updated>2009-12-23T11:24:16.188-08:00</updated><title type='text'>better gnu screen copy mode</title><content type='html'>Ok, so I have been struggling with screen copy mode.  But now, here it is, the ultimate screen copy mode.&lt;br /&gt;Just make an alias out this:&lt;br /&gt;&lt;br /&gt;alias a='screen -X hardcopy blah &amp;amp;&amp;amp; vim -c "normal G" ~/blah'&lt;br /&gt;&lt;br /&gt;or for tmux&lt;br /&gt;&lt;br /&gt;alias a='tmux capture-pane;tmux save-buffer /tmp/screen_contents;vim -c "normal G" /tmp/screen_contents'&lt;br /&gt;&lt;br /&gt;now type a&amp;lt;enter&amp;gt;&lt;enter&gt;&lt;enter&gt; for the ultimate screen copy mode.  This gives you the full power of vim whenever you want to yank a couple lines from the text you already have on the screen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/enter&gt;&lt;/enter&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-3054781790960536369?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/3054781790960536369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=3054781790960536369' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3054781790960536369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3054781790960536369'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/10/better-gnu-screen-copy-mode.html' title='better gnu screen copy mode'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-3347390306077489065</id><published>2009-09-09T10:03:00.000-07:00</published><updated>2009-09-09T10:05:04.794-07:00</updated><title type='text'>git utilities workflow</title><content type='html'>One of my best workflow techniques it to use git cherry-pick to pull in what I call utility changes.  A utility  change would be like a change to point all the database configuration at the test database.  Normally it's pointed at your local database.  It takes a few minutes to make the change to the test database and sometimes you forget a spot.  So to do it I first...&lt;br /&gt;&lt;br /&gt;--  make the change to point at the test database --&lt;br /&gt;&lt;br /&gt;# stash all your changes so you can checkout your utility branch&lt;br /&gt;git stash&lt;br /&gt;&lt;br /&gt;# checkout utility branch&lt;br /&gt;git checkout utils&lt;br /&gt;&lt;br /&gt;# put your changes back&lt;br /&gt;git stash apply&lt;br /&gt;&lt;br /&gt;# commit your changes to your utility branch&lt;br /&gt;git commit -a -m "Point environment at the test database"&lt;br /&gt;&lt;br /&gt;# switch back to the branch you were working on, trunk probably&lt;br /&gt;git checkout trunk&lt;br /&gt;&lt;br /&gt;# double check what branch you are on since you don't want to make a mistake&lt;br /&gt;git branch&lt;br /&gt;&lt;br /&gt;# find the commit sha number for those changes you just committed&lt;br /&gt;git log utils&lt;br /&gt;&lt;br /&gt;# cherry-pick just the change&lt;br /&gt;git cherry-pick ab38b9&lt;br /&gt;&lt;br /&gt;-- now you test your site against the test db --&lt;br /&gt;&lt;br /&gt;-- you find out whatever you were looking for --&lt;br /&gt;&lt;br /&gt;# get rid of the cherry picked commit from your branch and change back to pointing your database locally&lt;br /&gt;git reset --hard HEAD^&lt;br /&gt;&lt;br /&gt;your utility commit is still in your utils branch history so you can just git cherry-pick ab38b9  it out anytime you want and point at the test database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-3347390306077489065?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/3347390306077489065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=3347390306077489065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3347390306077489065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3347390306077489065'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/09/git-utilities-workflow.html' title='git utilities workflow'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-3990701999224193556</id><published>2009-09-04T09:09:00.000-07:00</published><updated>2009-12-11T14:32:56.399-08:00</updated><title type='text'>Caps-lock escape</title><content type='html'>So I've been using vim for awhile now and finally changed my caps-lock to be my escape key instead of using Ctrl-[ which is just too painful a keystroke.  I used was using  that keyboard combination instead of the normal escape key because the normal escape key is way up in top left corner :0  Who ever would have put it up there?  I guess the escape key used to be decently located on very old systems which is why it is being used for vim.   Using the caps-lock key now I can change modes with one key, suitably located.  Ahhhhh, that feels better.&lt;br /&gt;Here's a link:&lt;br /&gt;&lt;a href="http://www.terminally-incoherent.com/blog/2007/08/02/remapping-the-caps-lock-key/"&gt;http://www.terminally-incoherent.com/blog/2007/08/02/remapping-the-caps-lock-key/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-3990701999224193556?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/3990701999224193556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=3990701999224193556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3990701999224193556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3990701999224193556'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/09/caps-lock-escape.html' title='Caps-lock escape'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-779903252163198524</id><published>2009-07-24T17:05:00.000-07:00</published><updated>2009-09-16T11:37:37.819-07:00</updated><title type='text'>Git grep and navigate</title><content type='html'>I use Eclipse for my java project work.  It has a decent search, but it is not all that fast, however what it does do is let you see what files have the search string and click on a list to get to a file of interest.  I don't like using the mouse, but I need to be able to search for various strings and then view them in context to navigate the code.&lt;br /&gt;&lt;br /&gt;Enter git grep.  Git grep turns out to be a much faster alternative than even grep.  What is nice about git grep is that it avoids searching through any non-git files (like the .git subdirectory).  Also it is 10% faster than regular grep because if the way git compresses files.  The uncompression and reading of the git files is actually faster than opening every file inode, so it can get that speedup.  The problem with a simple grep is that after greping, typically you need to look at the context of the line.  Grep has options for adding a few context lines, but I might need 10 lines of context for some specific lines and that can get hard to read.  However, if I could use some curses interface to explore the files then it would be ok.&lt;br /&gt;&lt;br /&gt;Enter vim.  I found that Vim has a way of exploring a filename with a specified line number by typing gF (woohoo).  So I tried&lt;br /&gt;&lt;br /&gt;git grep -n "somesearchstring" &gt; output.txt&lt;br /&gt;vim output.txt&lt;br /&gt;&lt;br /&gt;the -n on grep gives you the line numbers.  I would rather have this as one-line command.  So I tried&lt;br /&gt;&lt;br /&gt;git grep -n "somesearchstring" | vim -&lt;br /&gt;&lt;br /&gt;This bring up the grep list, but when you hit gF to go to a particular file vim wants you to save the file first, which is lame because these are just temporary files, I'm only using them for the moment.&lt;br /&gt;&lt;br /&gt;So I wrote this alias for doing what I want&lt;br /&gt;&lt;br /&gt;alias z="tee /tmp/blah; vim /tmp/blah"&lt;br /&gt;&lt;br /&gt;This will save the output to a tmp file and open that tmp file.&lt;br /&gt;&lt;br /&gt;So finally, my command is now&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;git grep -n "somesearchstring" | z&lt;br /&gt;&lt;br /&gt;and up pops my vim editor where I can go to each file line of interest with gF and come back with ctrl-o.  By the time Eclipse finishes it's search, I can already have found what I want on the command line, and no mousing.&lt;br /&gt;&lt;br /&gt;Note: this can be further simplified by a bash function in your .bashrc&lt;br /&gt;&lt;br /&gt;function gg { git grep -n '$1' | z; };&lt;br /&gt;&lt;br /&gt;so that it becomes&lt;br /&gt;&lt;br /&gt;gg "somesearchstring"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-779903252163198524?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/779903252163198524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=779903252163198524' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/779903252163198524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/779903252163198524'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/07/git-grep-and-navigate.html' title='Git grep and navigate'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-4148297591474419655</id><published>2009-07-10T16:38:00.000-07:00</published><updated>2009-07-10T16:39:54.780-07:00</updated><title type='text'>git svn switch</title><content type='html'>I have been using git as an svn frontend for awhile.  Recently the svn repository was moved.  At first I thought I would just change the remote repository in .git/config to point to the new repository.  I did that, but when I ran git svn rebase I  would get an error saying&lt;br /&gt;&lt;br /&gt;"Unable to determine upstream SVN information from git-svn history"&lt;br /&gt;&lt;br /&gt;I noticed that I could fetch, but I couldn't rebase.  I found an answer here after awhile Googling: &lt;a href="http://git.or.cz/gitwiki/GitSvnSwitch"&gt;http://git.or.cz/gitwiki/GitSvnSwitch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I am able to use my git repo again :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-4148297591474419655?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/4148297591474419655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=4148297591474419655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/4148297591474419655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/4148297591474419655'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/07/git-svn-switch.html' title='git svn switch'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-675636648451546506</id><published>2009-06-19T15:59:00.001-07:00</published><updated>2009-06-19T16:05:41.592-07:00</updated><title type='text'>Making Kingston DataTraveller G2 bootable in linux</title><content type='html'>I bought a Kingston DataTraveller to transfer EasyPeasy onto my Asus EEE pc in place of it's Xandros operating system.  After I downloaded the EasyPeasy iso and put it onto the usb stick with unetbootin I tried to boot into it from the AsusEEEpc but it would not boot from it.  I ended up launching GParted.  In that you can right click the usb drive and there is a dropdown that says "Manage Flags".  I clicked that and clicked the checkbox next to the boot flag.  After placing the iso on the drive again using unetbootin, it booted, and now I have ubuntu mobile on my EEEpc :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-675636648451546506?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/675636648451546506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=675636648451546506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/675636648451546506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/675636648451546506'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/06/making-kingston-datatraveller-g2.html' title='Making Kingston DataTraveller G2 bootable in linux'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-6042536864418865657</id><published>2009-06-09T22:22:00.000-07:00</published><updated>2009-06-09T22:44:08.797-07:00</updated><title type='text'>Use Git to do your svn merges</title><content type='html'>I've been using git-svn as a frontend to svn.  Git provides so much power that it makes it enjoyable to use source control.  Despite the comment in the man pages of git-svn that says that it considered bad form to use git to do your svn merges, I have found it much more useful.  The way I do my merges is that I just do&lt;br /&gt;&lt;br /&gt;git checkout branchtomergeinto&lt;br /&gt;git merge --squash branchtomergefrom&lt;br /&gt;&lt;br /&gt;The --squash tells git to mash all the commits into one patch and not to commit, so that you can check it out first.  This inevitably leads to some conflicts,  so I then use&lt;br /&gt;&lt;br /&gt;git mergetool&lt;br /&gt;&lt;br /&gt;to go through and resolve all my conflicts using "meld".  After you're all done fixing the conflicts and recompiling to make sure everything is good.&lt;br /&gt;&lt;br /&gt;git commit&lt;br /&gt;&lt;br /&gt;And type a message that will be appropriate in an svn context so maybe&lt;br /&gt;&lt;br /&gt;git commit -m "Merging from funkycool branch r1500"&lt;br /&gt;&lt;br /&gt;Then do your git svn dcommit.  After doing a few merges out from trunk into a longer term project I was noticing that I was having to remerge alot of things I had formerly merged.  This is because when you do a git svn dcommit git forgets about the tracking of the merges that you have done.   I started hunting for a solution and found this article about using &lt;a href="http://community.livejournal.com/evan_tech/255341.html?view=1690989#t1690989"&gt;git grafts to restore svn merge history&lt;/a&gt;.  Git grafts are awesome in that they let you declare what has been merged manually.  By adding the git grafts for the merges you have done, the next time you merge out you will have far fewer conflicts.  Git does it again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-6042536864418865657?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/6042536864418865657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=6042536864418865657' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/6042536864418865657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/6042536864418865657'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/06/use-git-to-do-your-svn-merges.html' title='Use Git to do your svn merges'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-8380953814491215922</id><published>2009-03-05T11:24:00.000-08:00</published><updated>2010-05-04T14:15:11.076-07:00</updated><title type='text'>j.sh easy directory navigation</title><content type='html'>A former colleague told me about &lt;a href="http://github.com/rupa/j/tree/master"&gt;j.sh&lt;/a&gt; which is a great little bash script that follows you around the directories you cd into and tracks how many commands were run in each directory.  Then when you want to pull up the most used directory matching a certain pattern you just&lt;br /&gt;&lt;br /&gt;j &lt;regex&gt;somedir&lt;br /&gt;&lt;br /&gt;and then you end up in&lt;br /&gt;&lt;br /&gt;/home/jon/deep/nested/somedir&lt;br /&gt;&lt;br /&gt;and it will put you into that directory.&lt;br /&gt;&lt;br /&gt;Much better than push, dirs combo.&lt;br /&gt;&lt;br /&gt;Even better, you can add an additional param to qualify the first&lt;br /&gt;&lt;br /&gt;j somedir qualifier&lt;br /&gt;&lt;br /&gt;and then instead of&lt;br /&gt;&lt;/regex&gt;&lt;br /&gt;/home/jon/deep/nested/somedir&lt;br /&gt;&lt;br /&gt;you end up in&lt;br /&gt;&lt;br /&gt;&lt;regex&gt;/home/jon/deep/nested/qualifier/somedir&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/regex&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-8380953814491215922?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/8380953814491215922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=8380953814491215922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/8380953814491215922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/8380953814491215922'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/03/jsh-easy-directory-navigation.html' title='j.sh easy directory navigation'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-2861387277557370438</id><published>2009-03-05T11:16:00.000-08:00</published><updated>2009-03-05T11:24:12.450-08:00</updated><title type='text'>Super Simple Web Server</title><content type='html'>I needed to serve up some images on my computer from a different port.  &lt;a href="http://code.google.com/p/mongoose/"&gt;Mongoose&lt;/a&gt; is a super simple webserver.  So creating a webserver to some static files is as simple as&lt;br /&gt;&lt;br /&gt;mongoose -ports 9090&lt;br /&gt;&lt;br /&gt;and you have webserver running on port 9090 serving up the content from whatever directory you're currently in.&lt;br /&gt;&lt;br /&gt;Just go to&lt;br /&gt;&lt;br /&gt;http://localhost:9090/&lt;br /&gt;&lt;br /&gt;and there will be your content.&lt;br /&gt;&lt;br /&gt;It can also run cgi bins and scripts so using a scripting language and some ajax libraries so you could build yourself some simple local apps in a pinch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-2861387277557370438?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/2861387277557370438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=2861387277557370438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/2861387277557370438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/2861387277557370438'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2009/03/super-simple-web-server.html' title='Super Simple Web Server'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-1610094526363108900</id><published>2008-11-26T11:12:00.000-08:00</published><updated>2008-11-26T11:22:29.107-08:00</updated><title type='text'>Overriding java endorsed direcctory for maven unit tests.</title><content type='html'>I was testing a web application using jwebunit (which has great ajax support&lt;br /&gt;because of htmlunit).  The test was running fine in Eclipse, but when I wanted&lt;br /&gt;to run it from maven as a unit test I got an exception that started like this&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;java.lang.NoSuchMethodError: org.apache.xpath.compiler.FunctionTable.installFunction(Ljava/lang/String;Ljava/lang/Class;)I&lt;br /&gt;     at com.gargoylesoftware.htmlunit.html.xpath.XPathAdapter.initFunctionTable(XPathAdapter.java:58)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another blog posting helped me identify that root cause was the xalan that is&lt;br /&gt;included with my Mac osx version 1.5 of java is older than what the htmlunit&lt;br /&gt;package was using.  I found an email&lt;br /&gt;&lt;br /&gt;http://mail-archives.apache.org/mod_mbox/incubator-yoko-dev/200609.mbox/%3CE91104197DA2654DA833B6EB53B6C488DD6C7A@emea-ems1.dublin.emea.iona.com%3E&lt;br /&gt;&lt;br /&gt;that told me how to add a argLine to the maven-surefire-plugin.&lt;br /&gt;&lt;br /&gt;And below is how I fix this in the "build" section my pom.xml.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;plugins&amp;gt;&lt;br /&gt; &amp;lt;plugin&amp;gt;&lt;br /&gt;   &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;   &amp;lt;artifactId&amp;gt;maven-dependency-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;   &amp;lt;executions&amp;gt;&lt;br /&gt;     &amp;lt;execution&amp;gt;&lt;br /&gt;       &amp;lt;id&amp;gt;copy&amp;lt;/id&amp;gt;&lt;br /&gt;       &amp;lt;phase&amp;gt;test-compile&amp;lt;/phase&amp;gt;&lt;br /&gt;       &amp;lt;goals&amp;gt;&lt;br /&gt;         &amp;lt;goal&amp;gt;copy&amp;lt;/goal&amp;gt;&lt;br /&gt;       &amp;lt;/goals&amp;gt;&lt;br /&gt;       &amp;lt;configuration&amp;gt;&lt;br /&gt;         &amp;lt;artifactItems&amp;gt;&lt;br /&gt;           &amp;lt;artifactItem&amp;gt;&lt;br /&gt;             &amp;lt;groupId&amp;gt;xalan&amp;lt;/groupId&amp;gt;&lt;br /&gt;             &amp;lt;artifactId&amp;gt;xalan&amp;lt;/artifactId&amp;gt;&lt;br /&gt;             &amp;lt;overWrite&amp;gt;false&amp;lt;/overWrite&amp;gt;&lt;br /&gt;             &amp;lt;outputDirectory&amp;gt;${project.build.directory}/endorsed&amp;lt;/outputDirectory&amp;gt;&lt;br /&gt;           &amp;lt;/artifactItem&amp;gt;&lt;br /&gt;         &amp;lt;/artifactItems&amp;gt;&lt;br /&gt;       &amp;lt;/configuration&amp;gt;&lt;br /&gt;     &amp;lt;/execution&amp;gt;&lt;br /&gt;   &amp;lt;/executions&amp;gt;&lt;br /&gt; &amp;lt;/plugin&amp;gt;&lt;br /&gt; &amp;lt;plugin&amp;gt;&lt;br /&gt;   &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;   &amp;lt;artifactId&amp;gt;maven-surefire-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;   &amp;lt;configuration&amp;gt;&lt;br /&gt;     &amp;lt;!-- This needed because jwebunit uses newer version of xalan than regular java --&amp;gt;&lt;br /&gt;     &amp;lt;argLine&amp;gt;-Djava.endorsed.dirs=${basedir}/target/endorsed&amp;lt;/argLine&amp;gt;&lt;br /&gt;     &amp;lt;systemProperties&amp;gt;&lt;br /&gt;       &amp;lt;property&amp;gt;&lt;br /&gt;         &amp;lt;name&amp;gt;java.endorsed.dirs&amp;lt;/name&amp;gt;&lt;br /&gt;         &amp;lt;value&amp;gt;${basedir}/target/endorsed&amp;lt;/value&amp;gt;&lt;br /&gt;       &amp;lt;/property&amp;gt;&lt;br /&gt;     &amp;lt;/systemProperties&amp;gt;&lt;br /&gt;   &amp;lt;/configuration&amp;gt;&lt;br /&gt; &amp;lt;/plugin&amp;gt;&lt;br /&gt;&amp;lt;/plugins&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: times new roman;"&gt;Now my tests are ru&lt;/span&gt;&lt;/span&gt;nning fine.&lt;br /&gt;&lt;/pre&gt;&lt;hints id="hah_hints"&gt;&lt;/hints&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-1610094526363108900?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/1610094526363108900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=1610094526363108900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/1610094526363108900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/1610094526363108900'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2008/11/overriding-java-endorsed-direcctory-for.html' title='Overriding java endorsed direcctory for maven unit tests.'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-5954509749910594690</id><published>2008-11-13T09:59:00.000-08:00</published><updated>2009-09-15T22:19:22.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash ruby programming'/><title type='text'>bash chooser</title><content type='html'>Note: I've found a better way here:&lt;br /&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=2769"&gt;http://www.vim.org/scripts/script.php?script_id=2769&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My friend hacked up a ruby script to enable some better use of the bash command line.  The problem I was having was that sometimes I wanted the bash command line to be interactive so that could pick one of several outputs.  For instance let's say I am hunting for a file to edit from bash&lt;br /&gt;&lt;br /&gt;so I run:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;jalvarado:~/bobo jalvarado$ find . -name "Have*"&lt;br /&gt;./bobo-browse/src/com/browseengine/local/glue/HaversineGeoScoreAdjuster.java&lt;br /&gt;./bobo-browse/src/com/browseengine/local/service/geosearch/HaversineFormula.java&lt;br /&gt;./bobo-browse/src/com/browseengine/local/service/geosearch/HaversineWrapper.java&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Well, the second file is the one I want to edit so to get to in the normal bash may I may have to write.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;vi `find . -name "Have*" | head -n 2 | tail -n 1`&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and that would open the second file, but that is alot of typing and if I then wanted to open a different file of that set I would have to modify the command line in two places.  So he wrote a script that let's you use this type of syntax&lt;br /&gt;&lt;code&gt;&lt;br /&gt;jalvarado:~/bobo jalvarado$ choose vi `find . -name "Have*"`&lt;br /&gt;[1] ./bobo-browse/src/com/browseengine/local/glue/HaversineGeoScoreAdjuster.java&lt;br /&gt;[2] ./bobo-browse/src/com/browseengine/local/service/geosearch/HaversineFormula.java&lt;br /&gt;[3] ./bobo-browse/src/com/browseengine/local/service/geosearch/HaversineWrapper.java&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Then you type "2" and up comes your file.  Even better would be syntax like&lt;br /&gt;&lt;code&gt;&lt;br /&gt;find . -name "Have*" | choose vi&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;but haven't figured that one out yet.&lt;br /&gt;&lt;br /&gt;Here is the Ruby script.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/ruby&lt;br /&gt;&lt;br /&gt;require 'Open3'&lt;br /&gt;&lt;br /&gt;if ((ARGV.nil?) || (ARGV.size &lt;&gt; filename1 filename2 ...';&lt;br /&gt;puts 'example: choose "cvs log" `find . -iname "*tokenizer.java*"`';&lt;br /&gt;exit;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;command = ARGV[0];&lt;br /&gt;filenames = ARGV[1,ARGV.size];&lt;br /&gt;&lt;br /&gt;filenames.each_with_index do | line, index |&lt;br /&gt;puts '[' + (index+1).to_s  + '] ' + line&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;selection = STDIN.readline&lt;br /&gt;&lt;br /&gt;filename = filenames[selection.to_i-1]&lt;br /&gt;&lt;br /&gt;Open3.popen3(command + " " + filename) do |read_stdin, read_stdout, read_stderr|&lt;br /&gt;puts read_stdout.readlines;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;hints id="hah_hints"&gt;&lt;/hints&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-5954509749910594690?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/5954509749910594690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=5954509749910594690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/5954509749910594690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/5954509749910594690'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2008/11/bash-chooser.html' title='bash chooser'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-7670101776102606952</id><published>2008-11-11T22:23:00.000-08:00</published><updated>2010-03-11T15:57:08.405-08:00</updated><title type='text'>VBDG is ready to roll</title><content type='html'>VBDG is the company behind Hercules Hooks, MyPlace, Zorbeez, and other As Seen On TV products.  They will be releasing their 3rd quarter results this Friday after the market close.  I have personally seen their products in CVS, Fry's, Rite-Aid, and Bed Bath and Beyond and they are reported to be in many other retailer stores.  I expect this 3rd quarter report to push them into profitability and drive their share price up sharply.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: Well they ended going almost to zero, ugh.&lt;hints id="hah_hints"&gt;&lt;/hints&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-7670101776102606952?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/7670101776102606952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=7670101776102606952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/7670101776102606952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/7670101776102606952'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2008/11/vbdg-is-ready-to-roll.html' title='VBDG is ready to roll'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-6717823435415790200</id><published>2008-11-11T22:14:00.003-08:00</published><updated>2008-11-11T22:21:09.848-08:00</updated><title type='text'>GOOG 411 is awesome</title><content type='html'>I just tried out Goog 411 and it works so well.  I have tried out various speech recognition programs and some have been pretty good, but when I tried GOOG 411 it got almost everything I said simply and quickly.  Also it gives you listings that you can browse using your voice and get details on.  All that and it is free too.  To build a truly great voice recognition system you need many voice fragments.  This 411 system allows google to train a great voice recognition model.  I'm sure you will start seeing this in other offerings from google.  One application is to transcribe voices in videos and podcasts.  They will be able to use voice recognition and search in the same way as  &lt;a href="http://everyzing.com"&gt;everyzing.com &lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;hints id="hah_hints"&gt;&lt;/hints&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-6717823435415790200?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/6717823435415790200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=6717823435415790200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/6717823435415790200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/6717823435415790200'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2008/11/g_11.html' title='GOOG 411 is awesome'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-3550846062708743426</id><published>2008-05-03T15:18:00.000-07:00</published><updated>2008-05-03T15:19:44.475-07:00</updated><title type='text'>Helicopter Ben and other stuff</title><content type='html'>See how many links come up with helicopter and Ben in them.&lt;br /&gt;&lt;a href="http://www.google.com/url?sa=t&amp;amp;ct=res&amp;amp;cd=2&amp;amp;url=http%3A%2F%2Fwww.federalreserve.gov%2FBOARDDOCS%2FSPEECHES%2F2002%2F20021121%2Fdefault.htm&amp;amp;ei=z9gcSMvZJIWIpAT5irHeCQ&amp;amp;usg=AFQjCNFfQbNglV50rWN7mALO6kFT3sWByA&amp;amp;sig2=Og-ac4-VFm4H5Ds-VyXEkQ" target="_blank"&gt;http://www.google.com/url?sa=t&lt;wbr&gt;&amp;amp;ct=res&amp;amp;cd=2&amp;amp;url=http%3A%2F&lt;wbr&gt;%2Fwww.federalreserve.gov&lt;wbr&gt;%2FBOARDDOCS%2FSPEECHES%2F2002&lt;wbr&gt;%2F20021121%2Fdefault.htm&amp;amp;ei&lt;wbr&gt;=z9gcSMvZJIWIpAT5irHeCQ&amp;amp;usg&lt;wbr&gt;=AFQjCNFfQbNglV50rWN7mALO6kFT3s&lt;wbr&gt;WByA&amp;amp;sig2=Og-ac4-VFm4H5Ds&lt;wbr&gt;-VyXEkQ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think this is the famous speech from 2002 where he talks about a "helicopter drop" of money referring to the famous monetarist Milton Friedman's comments.&lt;br /&gt;&lt;a href="http://www.federalreserve.gov/BOARDDOCS/SPEECHES/2002/20021121/default.htm" target="_blank"&gt;http://www.federalreserve.gov&lt;wbr&gt;/BOARDDOCS/SPEECHES/2002&lt;wbr&gt;/20021121/default.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bernanke gave a speech in honor of Milton Friedman's 90th birthday here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.federalreserve.gov/BOARDDOCS/SPEECHES/2002/20021108/default.htm" target="_blank"&gt;http://www.federalreserve.gov&lt;wbr&gt;/BOARDDOCS/SPEECHES/2002&lt;wbr&gt;/20021108/default.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"The best thing that central bankers can do for the world is to avoid such crises by providing the economy with, in Milton Friedman's words, a "stable monetary background"--for example as reflected in low and stable inflation. &lt;/i&gt;&lt;p&gt;&lt;i&gt;Let me end my talk by abusing slightly my status as an official representative of the Federal Reserve. I would like to say to Milton and Anna: Regarding the Great Depression. You're right, we did it. We're very sorry. But thanks to you, we won't do it again. &lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt; Best wishes for your next ninety years."&lt;/i&gt;&lt;/p&gt;He says that yes the Fed caused the great depression by contracting the money supply and we won't do it again.  Meaning that he'll do whatever he can to avoid an economic crisis by printing money.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Here's Jim Rogers saying he is still short the financials and will short more if it rallies.&lt;br /&gt;&lt;/p&gt;        &lt;a href="http://online.barrons.com/article/SB120795383008909011.html?mod=9_0031_b_this_weeks_magazine_main&amp;amp;page=sp" target="_blank"&gt;http://online.barrons.com&lt;wbr&gt;/article/SB120795383008909011&lt;wbr&gt;.html?mod=9_0031_b_this_weeks&lt;wbr&gt;_magazine_main&amp;amp;page=sp&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;&lt;i&gt;Switching to your old home, what are your thoughts on the U.S. credit crunch?&lt;/i&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;We had the worst credit bubble ever in American history, perhaps world history. I can't remember anytime in history when people were able to buy a house with no money down -- sometimes with no income. You don't clean out a bubble like that in six months to a year. I've been short the U.S. investment banks by using the &lt;b&gt;Amex Securities Broker/Dealer&lt;/b&gt; Index [ticker: XBD], an exchange traded fund with exposure to many of those firms. I've also been short &lt;span&gt;&lt;a href="http://online.barrons.com/public/quotes/main.html?type=djn&amp;amp;symbol=c" target="_blank"&gt;Citigroup&lt;/a&gt;&lt;/span&gt; [C] and &lt;span&gt;&lt;a href="http://online.barrons.com/public/quotes/main.html?type=djn&amp;amp;symbol=FNM" target="_blank"&gt;Fannie Mae&lt;/a&gt;&lt;/span&gt; [FNM]. I'll short some more if we get nice rallies in any of them. I am still short some of the U.S. homebuilders like &lt;span&gt;&lt;a href="http://online.barrons.com/public/quotes/main.html?type=djn&amp;amp;symbol=LEN" target="_blank"&gt;Lennar&lt;/a&gt;&lt;/span&gt; [LEN].&lt;/i&gt;&lt;/p&gt; Here is a chart of the upcoming variable apr mortgage resets.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.stocktradersdaily.com/News%20Release/News_release_TA_0004002908.htm" target="_blank"&gt;http://www.stocktradersdaily&lt;wbr&gt;.com/News%20Release/News&lt;wbr&gt;_release_TA_0004002908.htm&lt;/a&gt;&lt;hints id="hah_hints"&gt;&lt;/hints&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-3550846062708743426?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/3550846062708743426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=3550846062708743426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3550846062708743426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/3550846062708743426'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2008/05/helicopter-ben-and-other-stuff.html' title='Helicopter Ben and other stuff'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-7411875060674680626</id><published>2008-04-30T11:22:00.000-07:00</published><updated>2008-04-30T11:26:32.839-07:00</updated><title type='text'>One liner for killing processes</title><content type='html'>Here is a handy one-liner for killing a bunch of processes, postgres in this case.&lt;br /&gt;It also uses the perlesque qualities of ruby.  Googling "ruby oneliners" finds a bunch of other&lt;br /&gt;one-liners.  I tried sed at first but the regular expression support is different than perl.&lt;br /&gt;&lt;br /&gt;ps auxww | grep postgres | ruby -pe 'gsub(/[ \t]+/, " ")' | cut -f 2 -d ' ' | xargs kill -9&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-7411875060674680626?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/7411875060674680626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=7411875060674680626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/7411875060674680626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/7411875060674680626'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2008/04/one-liner-for-killing-processes.html' title='One liner for killing processes'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-660964303353324038</id><published>2007-11-11T00:06:00.000-08:00</published><updated>2007-11-11T00:17:26.307-08:00</updated><title type='text'>Aspen Looking Good</title><content type='html'>Aspen (ASPN.ob) is looking good.  Aspen Exploration hasn't faired well since the fall of the natural gas prices from their $12 Katrina induced highs down to the current $6 or $7 bucks that it's at now.  &lt;hints id="hah_hints"&gt;&lt;/hints&gt;At current prices natural gas is looking poised to rise.  Of course natural gas prices are highly correlated to the weather.  As T. Boone Pickens recently stated in an interview, "Tell me what the winter is going to do?"  But I believe that natural gas should sell near the BTU content of oil and at current prices it sells at half the BTU content of oil.  Natural gas is also a cleaner fuel than oil, though oil is nicely suited to transportation because of it's energy density.  A hidden feature of ASPN is it's new Montana oil field buy-in that they purchased in January.  They had not planned on reaping any significant profit from it for 2 years, but with oil prices significantly higher they will certainly have some positive effect that they did not expect.  Also, they have hit some monster natural gas wells, and at higher percentage ownership levels.  The stock price is unchanged at $3.15 today, but I am expecting good things this quarter an the next.  Hopefully the Montana development can be speeded up with the extra cash coming in, but they are not the operators, so that may be possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-660964303353324038?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/660964303353324038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=660964303353324038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/660964303353324038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/660964303353324038'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2007/11/aspen-looking-good.html' title='Aspen Looking Good'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-7162113436521853792</id><published>2007-11-10T23:53:00.000-08:00</published><updated>2007-11-11T00:05:07.696-08:00</updated><title type='text'>Financials Hemorraging</title><content type='html'>I was recently asked about what I thought of Merril Lynch.  It recently announced an 8 billion dollar write-down and the stock price fell.  The assumption was that all the bad news is already priced into the stock and so now it was down and ready to rise again to new heights.  I am not that interested in financial stocks because with the dawn of derivatives financial stocks are able to hide enormous liabilities  so I don't trust myself to be able to analyze their statements with enough depth to avoid a catastrophe.  I  also remembered reading that Jim Rogers had been shorting the financial stocks for awhile, so I wanted to know what his thoughts were, searching  the news sites for the answer led me to this &lt;a href="http://www.bloomberg.com/apps/news?pid=20601087&amp;amp;sid=au.vAYBvBP4I&amp;amp;refer=home"&gt;article&lt;/a&gt;&lt;hints id="hah_hints"&gt;&lt;/hints&gt;.  It seems that Jim Rogers has been adding to his short position over the last few weeks.  He also validly points out that these bubbles such as we've had in the financial sector with the housing boom take quite awhile to work themselves out.  I don't think this housing sub-prime mess will have worked itself out for at least another year and the financial stocks should continue to go down as more news about their bad loans come out.  I've also heard on the Jim Puplava Financial Sense Podcast that there is an upcoming law that will take effect in mid-November that forces financial companies to get more specific with the valuations of their holdings.  This law is expected to cause another slew of write-downs coming from financial companies who must fess up earlier than they had planned.  I don't plan on buying an financials.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-7162113436521853792?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/7162113436521853792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=7162113436521853792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/7162113436521853792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/7162113436521853792'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2007/11/financial-hemorraging.html' title='Financials Hemorraging'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-2842960510173029265</id><published>2007-11-10T23:44:00.000-08:00</published><updated>2007-11-10T23:52:34.025-08:00</updated><title type='text'>Transglobe Energy Followup</title><content type='html'>Well, now oil has moved up to around $95 dollars a barrel and I am thinking oil stocks have much upside.   Transglobe has not yet moved up as quickly as I would have liked, but it is moving.   Recently Transglobe has  announced that it has  project in the works with the Yemen government whereby they would be able to sell their natural gas to the Yemen government at $2.50 an MFCD, plus by sending out their natural gas they would also be able to get the condensate which as good as oil.  This could double Transglobe's earnings.  Also, their new field which they bought in Egypt was purchased with a loan denominated in dollars while the dollar is depreciating and the oil has been appreciating rapidly.  I'm thinking this spells good things for Transglobe and the  value has not completely made it into price yet.&lt;hints id="hah_hints"&gt;&lt;/hints&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-2842960510173029265?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/2842960510173029265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=2842960510173029265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/2842960510173029265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/2842960510173029265'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2007/11/transglobe-energy-followup.html' title='Transglobe Energy Followup'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2987598178779315949.post-1798249083914063771</id><published>2007-08-03T21:40:00.000-07:00</published><updated>2010-06-25T13:20:54.326-07:00</updated><title type='text'>Transglobe Energy</title><content type='html'>I was recently asked the question of whether to remain in TGA, which has just taken a violent tumble, or to consider moving out into another arena that may be of interest - shippers - which was prompted by a recent &lt;a href="http://biz.yahoo.com/ms/070803/202255.html?.v=1"&gt;article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have held TGA for quite some time now and for the last 2 years it has sadly not done very well as you can see from it's &lt;a href="http://finance.yahoo.com/q/bc?s=TGA&amp;amp;t=2y"&gt;2 year chart&lt;/a&gt;, being flat to down.&lt;br /&gt;&lt;br /&gt;Despite the track record of the last couple years on TGA the longer term track of light crude oil has been very bullish as can be seen on the   &lt;a href="http://futures.tradingcharts.com/chart/CO/M"&gt;10 Year Chart&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Taking a look at the longer &lt;a href="http://finance.yahoo.com/q/bc?s=TGA&amp;amp;amp;amp;amp;t=5y&amp;amp;l=on&amp;amp;z=m&amp;amp;q=l&amp;amp;c="&gt;5 year&lt;/a&gt; chart of TGA we can see that they indeed have had some good times and that was largely influenced by the price of crude oil.&lt;br /&gt;&lt;br /&gt;Taking a look at the &lt;a href="http://finance.yahoo.com/q/is?s=TGA&amp;amp;annual"&gt;income statement&lt;/a&gt; we can see that it has been doing well in reality despite what the market price action is telling us.  Net income went from $7,229 (2004) -&gt; $20,573 (2005) (184% increase year over year) -&gt; $26,195 (2006) (27.33% increase year over year).  Not too shabby.&lt;br /&gt;&lt;br /&gt;The income statement is the final product but it is more subject to accounting nuances so taking a look at the &lt;a href="http://finance.yahoo.com/q/cf?s=TGA&amp;amp;annual"&gt;cashflow statement&lt;/a&gt; should give us some more insight.  They have gone from  $13,066 (2004) -&gt; $39,357 (2005) (201% year over year increase) -&gt;  $47,383 (2006) (20.39% year over year increase).  So, still 20% growth is not too shabby.  Then, we can see where the money has been going and in the last few years it has gone from $21,689 (2004) -&gt; $33,163  (2005)(52.34% year over year increase) -&gt; $50,520 (2006) (52.9% year over year increase).  These last couple years had alot expenses in exploring for new territories.  Also, the Egypt concession was obtained and wells drilled to kick things off.&lt;br /&gt;&lt;br /&gt;Now, according to this &lt;a href="http://www.fool.com/investing/general/2007/07/09/5-low-priced-high-star-stocks.aspx"&gt;yahoo article&lt;/a&gt; "TransGlobe is the largest proportional holder of Middle East acreage relative to its market cap..."  which places them in an enviable position for longer term growth.  Also, the CEO Ross Clarkson has already built up a large company and so demonstrated his skill at doing so.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UPDATE  6/25/2010:  Transglobe has finally moved up past it's $7 high (it's been a long slog) and now has a solid resource base in Egypt that is fully under it's control.   It should keep moving higher on oil price increases and production drilling success.&lt;hints id="hah_hints"&gt;&lt;/hints&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2987598178779315949-1798249083914063771?l=radorant.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://radorant.blogspot.com/feeds/1798249083914063771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2987598178779315949&amp;postID=1798249083914063771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/1798249083914063771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2987598178779315949/posts/default/1798249083914063771'/><link rel='alternate' type='text/html' href='http://radorant.blogspot.com/2007/08/transglobe-energy.html' title='Transglobe Energy'/><author><name>rado</name><uri>http://www.blogger.com/profile/10502900768784132629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
