<?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-819970998046064945</id><updated>2012-02-05T17:26:38.960-08:00</updated><category term='Linux Kernel Module Examples'/><category term='Perl OO Object-Oriented'/><category term='customer service'/><category term='ClearCase UCM Configuration Management'/><category term='derailleur maintenance'/><category term='virgin mobile'/><category term='quote of the day'/><category term='Firefox Windows'/><category term='Windows'/><category term='Perl Core Useful Hidden Treasuers'/><category term='bash'/><category term='nothing'/><category term='Perl Date Time'/><category term='Linux Fedora 10 upgrade'/><category term='Perl Core Useful FindBin'/><category term='Windows PDF Creator Printer Free'/><category term='Linux CLI xterm ssh'/><category term='Linux Ubuntu LVM'/><category term='sucks'/><category term='Linux dd gparted hard drive copy'/><category term='computer'/><category term='maintenance'/><category term='mountain bike'/><category term='mountain bike technique'/><category term='cmd'/><category term='derailleur'/><category term='bar jokes'/><category term='virginmobile'/><category term='mountain bike maintenance'/><title type='text'>Ode to Spot</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-819970998046064945.post-6738293439689384804</id><published>2012-02-04T08:43:00.001-08:00</published><updated>2012-02-05T17:26:38.973-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Ubuntu LVM'/><title type='text'>Ubuntu 11.10 Install with LVM</title><content type='html'>Having some problems with Fedora 16 that I didn't feel like dealing with, so I downloaded the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Ubuntu&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt; 11.10 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;LiveCD&lt;/span&gt;.  Booted up my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;netbook&lt;/span&gt; with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;USB&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;CDROM&lt;/span&gt; just fine and started the install.... Crap!  It's not finding my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;LVMs&lt;/span&gt;!  Well, it turns out, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;lvm&lt;/span&gt;2 isn't loaded on the regular &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;LiveCD&lt;/span&gt;, I'd have to download the alternate CD, which means I'd have to burn a new CD and I'm cheap and don't want to do that...  Here's how I got it to install:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Fortunately, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;wifi&lt;/span&gt; works perfectly, so I configured it to connect to my router (the installer guided me through this part)&lt;/li&gt;&lt;li&gt;Enter a terminal:&lt;br /&gt;&lt;span&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;sudo&lt;/span&gt; apt-get install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;lvm&lt;/span&gt;2&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;modprobe&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;dm&lt;/span&gt;-mod&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;vgchange&lt;/span&gt; -a y&lt;/blockquote&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Choose to do a custom partition install, and boom! all my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;lv's&lt;/span&gt; where there!  Fortunately, I left a Fedora 14 root &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;lv&lt;/span&gt; so I could boot into Fedora 14 and use system-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;config&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;lvm&lt;/span&gt; to make an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Ubuntu&lt;/span&gt; root &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;lv&lt;/span&gt;...  Don't use the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;lvm&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;cli&lt;/span&gt; enough to remember what to do... ;)&lt;/li&gt;&lt;li&gt;The instructions I was using said: DO NOT PRESS Restart Now...  But I didn't read that far ahead...  Instead, I restarted and realized &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;Ubuntu&lt;/span&gt; could not access my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;LVMs&lt;/span&gt; since &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;lvm&lt;/span&gt;2 was not installed...  Boot back into the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;LiveCD&lt;/span&gt; again, do step #2 above, then continue.&lt;/li&gt;&lt;li&gt;Mount the new root:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;sudo mkdir /mnt/root&lt;br /&gt;sudo mount /dev/mapper/vg_kelvin-lv_ubuntu_root /mnt/root&lt;br /&gt;sudo mount /dev/sda5 /dev/root/boot  # assuming /dev/sda5 is your boot partition&lt;br /&gt;sudo chroot /mnt/root&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Next, install lvm2 on your new root partition:&lt;br /&gt;&lt;blockquote&gt;apt-get -y install lvm2&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;Hopefully you'll see some info about it updating your initrd.img, which means lvm2 is being added to it.&lt;/li&gt;&lt;li&gt;Now reboot and hope for the best!&lt;/li&gt;&lt;/ol&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/819970998046064945-6738293439689384804?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/6738293439689384804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=6738293439689384804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6738293439689384804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6738293439689384804'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2012/02/ubuntu-1110-install-with-lvm.html' title='Ubuntu 11.10 Install with LVM'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-8317348653446656919</id><published>2011-09-13T18:23:00.000-07:00</published><updated>2011-09-13T18:32:17.645-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mountain bike maintenance'/><title type='text'>Stopping the Click</title><content type='html'>Finally I stopped an annoying clicking sound on my mountain bike.  It only happened when I pedaled under load.  Here's what I did to stop it (using  &lt;a href="http://www.jimlangley.net/wrench/keepitquiet.html"&gt;http://www.jimlangley.net/wrench/keepitquiet.htm&lt;/a&gt;):&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Removed the water bottle cage and all other bolts in the frame and greased them up.&lt;/li&gt;&lt;li&gt;Re-greased the seat post and seat post bolt&lt;/li&gt;&lt;li&gt;Loosened the front derailleur clamp and greased it up&lt;/li&gt;&lt;li&gt;Put a dab of chain lube on each part of the frame that the shifter cables run through&lt;/li&gt;&lt;li&gt;Bought new pedals (Candy 2s :)&lt;/li&gt;&lt;li&gt;Bought a new bottom bracket (noticed mine had some slight side-to-side play in it)&lt;/li&gt;&lt;li&gt;Used teflon tape on the threads of the new BB&lt;/li&gt;&lt;li&gt;Removed each chain ring bolt and applied some loc-tite&lt;/li&gt;&lt;li&gt;Removed the crank arms and greased them (octa-link... never do this to square taper!)&lt;/li&gt;&lt;li&gt;Finally, I sprayed silicon lube on the right crank arm where it is in contact with the large chain ring.  That did the trick!&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-8317348653446656919?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/8317348653446656919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=8317348653446656919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8317348653446656919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8317348653446656919'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2011/09/stopping-click.html' title='Stopping the Click'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-6548989514692335623</id><published>2011-07-20T17:20:00.000-07:00</published><updated>2011-07-21T09:06:53.678-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virginmobile'/><category scheme='http://www.blogger.com/atom/ns#' term='virgin mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='customer service'/><category scheme='http://www.blogger.com/atom/ns#' term='sucks'/><title type='text'>Virgin Mobile Customer Service Sucks!</title><content type='html'>Never, NEVER, call 1-888-322-1122.  The people there suck and have no clue.  Call 1-855-250-5271.  It's some escalation number that the sucky, non-English-speaking people at the first number will never tell you.  They will claim they are the only customer service available. &lt;div&gt;&lt;br /&gt;&lt;div&gt;The person I spoke with at the 855 number was extremely helpful and knowledgeable.  If you call the 888 number, swear at them, but be kind to the people at the other number.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a side note...  I used Virgin Mobile's only form to send a message (complaining about their customer service).  They ask for my name, phone number, and personal pin.  I received a "message received" email back from them.  The email included BOTH my phone number AND &lt;b&gt;personal&lt;/b&gt; pin!  That's the information I use to log into their webiste!!!  That isn't very secure for many reason.....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By the way, I got the phone number from this blog:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.screenwerk.com/2011/02/20/virginmobiles-bad-customer-service-im-starting-to-rank/"&gt;http://www.screenwerk.com/2011/02/20/virginmobiles-bad-customer-service-im-starting-to-rank/&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/819970998046064945-6548989514692335623?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/6548989514692335623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=6548989514692335623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6548989514692335623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6548989514692335623'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2011/07/virgin-mobile-customer-service-sucks.html' title='Virgin Mobile Customer Service Sucks!'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-3961154899380777064</id><published>2011-03-30T11:29:00.001-07:00</published><updated>2011-03-30T11:35:41.957-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='cmd'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>Windows CMD .bashrc equivilant</title><content type='html'>This is the best thing ever!  I could never find a way to automatically source a file no matter where/how I started "cmd" from Windows.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But here it is:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://mindinthewater.blogspot.com/2010/11/bashrc-for-windows-cmdexe-shell.html"&gt;http://mindinthewater.blogspot.com/2010/11/bashrc-for-windows-cmdexe-shell.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bottom line:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Create some file like:  C:\Windows\cmdauto.cmd&lt;/li&gt;&lt;li&gt;Add some stuff, like:   doskey cp=copy $*&lt;/li&gt;&lt;li&gt;Add a String Value "AutoRun" to this key:   &lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', verdana, sans-serif; font-size: 13px; line-height: 22px; "&gt;[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', verdana, sans-serif; font-size: 13px; line-height: 22px; "&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px; line-height: normal; "&gt;Put "C:\Windows\cmdauto.cmd" as the value.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Now, no matter where you start cmd, it will execute "cmdauto.cmd" first.&lt;/div&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/819970998046064945-3961154899380777064?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/3961154899380777064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=3961154899380777064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/3961154899380777064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/3961154899380777064'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2011/03/windows-cmd-bashrc-equivilant.html' title='Windows CMD .bashrc equivilant'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-7948259087060727985</id><published>2011-01-29T07:08:00.001-08:00</published><updated>2011-01-29T07:08:57.721-08:00</updated><title type='text'>Dare you to look at this site...</title><content type='html'>&lt;a href="http://www.penisland.net"&gt;http://www.penisland.net&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(probably not what you think)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-7948259087060727985?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/7948259087060727985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=7948259087060727985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/7948259087060727985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/7948259087060727985'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2011/01/dare-you-to-look-at-this-site.html' title='Dare you to look at this site...'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-8794889088878043352</id><published>2010-08-31T18:09:00.001-07:00</published><updated>2010-08-31T18:09:51.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quote of the day'/><title type='text'>Quote of the Day</title><content type='html'>If you force a yawn, then more will spawn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-8794889088878043352?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/8794889088878043352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=8794889088878043352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8794889088878043352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8794889088878043352'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2010/08/quote-of-day.html' title='Quote of the Day'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-8084988913558840295</id><published>2010-08-06T12:31:00.001-07:00</published><updated>2010-08-06T12:34:24.372-07:00</updated><title type='text'>Loan Calculators</title><content type='html'>All I wanted to do was to punch in my loan term, monthly payment, and rate, then see what the total of my payments would be and the total interest...  I searched for at least 30 minutes trying to find a page that did that!  Every other page wanted me to punch in the principle as part of the calculation, but I did not have that info at my finger tips...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's the page:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 15px; "&gt;&lt;span class="yshortcuts" id="lw_1281123017_0" style="color: rgb(54, 99, 136); "&gt;&lt;a href="http://www.dinkytown.net/java/SimpleLoan.html"&gt;http://www.dinkytown.net/java/SimpleLoan.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-8084988913558840295?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/8084988913558840295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=8084988913558840295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8084988913558840295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8084988913558840295'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2010/08/loan-calculators.html' title='Loan Calculators'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-2003204535890115224</id><published>2009-12-11T09:36:00.001-08:00</published><updated>2009-12-11T09:36:40.722-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bar jokes'/><title type='text'>A kangaroo walks into a bar...</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; "&gt;A kangaroo walks into a bar and orders a martini. The bartender&lt;br /&gt; figures that a kangaroo probably isn't very economically aware, and&lt;br /&gt; charges him $50. The marsupial orders a beer next time, and is charged&lt;br /&gt; $60. Finally, the bartender's curiosity gets the better of him. He&lt;br /&gt; casually remarks, "You know, we don't get too many kangaroos in here."&lt;br /&gt; The kangaroo replies, "At these prices, no wonder." &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-2003204535890115224?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/2003204535890115224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=2003204535890115224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/2003204535890115224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/2003204535890115224'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/12/kangaroo-walks-into-bar.html' title='A kangaroo walks into a bar...'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-1455150080492775233</id><published>2009-12-05T10:39:00.000-08:00</published><updated>2009-12-05T10:40:02.854-08:00</updated><title type='text'>Linux Media Server</title><content type='html'>Trying to set this up right now...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://forums.fedoraforum.org/showthread.php?p=924980"&gt;http://forums.fedoraforum.org/showthread.php?p=924980&lt;/a&gt;&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/819970998046064945-1455150080492775233?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/1455150080492775233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=1455150080492775233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1455150080492775233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1455150080492775233'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/12/linux-media-server.html' title='Linux Media Server'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-5398710268717059326</id><published>2009-11-16T06:31:00.000-08:00</published><updated>2009-11-16T06:33:24.559-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mountain bike maintenance'/><title type='text'>Mountain Bike Noises</title><content type='html'>Strange clicking noise while peddling?  What's making that rattling sound?  Check out this site:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.jimlangley.net/wrench/keepitquiet.html"&gt;http://www.jimlangley.net/wrench/keepitquiet.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Really nice list of clicks, creaks, rattles, etc, and what the most probable causes are and how to fix them.  Very handy indeed!&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/819970998046064945-5398710268717059326?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/5398710268717059326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=5398710268717059326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5398710268717059326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5398710268717059326'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/11/mountain-bike-noises.html' title='Mountain Bike Noises'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-820904171057272076</id><published>2009-10-19T08:02:00.000-07:00</published><updated>2009-10-19T08:08:19.974-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows PDF Creator Printer Free'/><title type='text'>PDFCreator</title><content type='html'>&lt;div&gt;&lt;a href="http://sourceforge.net/projects/pdfcreator/"&gt;PDFCreator&lt;/a&gt; is a &lt;b&gt;free&lt;/b&gt; little PDF creator (duh) for Windows.  It "adds" a new printer to your system to print to PDF.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I never print anything at home...  Mainly because my printer is out of ink and I'm too cheap to by more.  However, with PDF Creator, I can print receipts from online purchases to PDF and archive them.  When I need a hard copy, I can easily print it somewhere else (*cough* *work*).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Plus, I don't have a bunch of receipts laying around that I never really need.&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/819970998046064945-820904171057272076?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/820904171057272076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=820904171057272076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/820904171057272076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/820904171057272076'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/10/pdfcreator.html' title='PDFCreator'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-5758255897340560715</id><published>2009-09-25T09:27:00.000-07:00</published><updated>2009-09-25T09:30:17.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux CLI xterm ssh'/><title type='text'>Use "dislocate" to created a re-connectable process</title><content type='html'>Use:  dislocate &lt;some_command&gt; &lt;some_command_parameters&gt;&lt;br /&gt;&lt;br /&gt;Eventually, use ^] to disconnect.  Later on, reconnect to the Linux server, run "dislocate" w/o parameters, and choose the session to reconnect to.  Much easier than "screen" for simple situations!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-5758255897340560715?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/5758255897340560715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=5758255897340560715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5758255897340560715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5758255897340560715'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/09/use-dislocate-to-created-re-connectable.html' title='Use &quot;dislocate&quot; to created a re-connectable process'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-8112717864566430621</id><published>2009-09-17T17:46:00.001-07:00</published><updated>2009-09-17T17:52:10.118-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Fedora 10 upgrade'/><title type='text'>Upgrade Fedora 9 to Fedora 10</title><content type='html'>I know...  11 is already out, but I didn't feel like messing with it.  Now that 9 is no longer supported, I figured I'd take the plunge.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I got some error about missing dependencies for:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;avahi-0.6.17-1.fc7.i386&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;yum remove avahi-0.6.17-1.fc7.i386&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;said it erased it, but it was still there....  rpm -e gave an error about the script returning an error...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eventually, this worked:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;rpm -e --noscripts avahi-0.6.17-1.fc7.i386 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-8112717864566430621?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/8112717864566430621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=8112717864566430621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8112717864566430621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/8112717864566430621'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/09/upgrade-fedora-9-to-fedora-10.html' title='Upgrade Fedora 9 to Fedora 10'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-1440142389901897139</id><published>2009-09-08T16:54:00.000-07:00</published><updated>2009-09-08T18:01:20.342-07:00</updated><title type='text'>Breaking through a restrictive proxy</title><content type='html'>I have sshd running on a small linux box at home.  This allows me to access my home network from &lt;i&gt;anywhere, &lt;/i&gt;except from work...  The proxy wouldn't let me through.  I tried proxytunnel, putty, and a few other toys, but none seemed to work.  Then I found &lt;a href="http://www.nocrew.org/software/httptunnel/"&gt;httptunnel &lt;/a&gt;:)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On my linux box, I created a new service with the following command:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;/usr/bin/hts -p /var/opt/hts/PID -F localhost:22 81&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That starts the httptunnel server with:&lt;/div&gt;&lt;div&gt;-p to write the PID to the file /var/opt/hts/PID&lt;/div&gt;&lt;div&gt;-F to forward to port 22 on the local host&lt;/div&gt;&lt;div&gt;and finally it is listening on port 81&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next, on my Windows machine, I downloaded the httptunnel package for cygwin.  From a cygwin terminal, I could then execute:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;htc -P &lt;proxy-addr&gt;:&lt;proxy-port&gt; -A &lt;proxy-uname:passwd&gt; -F 8888 &lt;my-server&gt;:81&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Where:&lt;/div&gt;&lt;div&gt;-P is the proxy address:port&lt;/div&gt;&lt;div&gt;-A is my username:password for the proxy&lt;/div&gt;&lt;div&gt;-F is the port to use on the local machine&lt;/div&gt;&lt;div&gt;followed by my server:port&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once htc is running on my machine, I can do:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:'courier new';font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;ssh -p 8888 -l &lt;uname&gt; localhost&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Like magic, htc wraps everything inside some http "stuff", hands it off to the proxy, which passes it to my home machine.  hts on my Linux box gets rid of the http garbage and passes the packet on to sshd (and visa-versa).  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Very nice indeed!  Now I can use ssh to tunnel all kinds of apps, like remote desktop, or even firefox.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a side note, here's how to use &lt;i&gt;my &lt;/i&gt;isp for browsing:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ssh -p &lt;port&gt; -l &lt;uname&gt; -D localhost:8889 localhost&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In Firefox:&lt;/div&gt;&lt;div&gt;Edit --&gt; Preferences&lt;/div&gt;&lt;div&gt;Advanced Tab&lt;/div&gt;&lt;div&gt;Settings&lt;/div&gt;&lt;div&gt;Select "Manual Proxy Configuration", enter "localhost" in the SOCKS host field and port 8889.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Woo Hoo!&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/819970998046064945-1440142389901897139?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/1440142389901897139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=1440142389901897139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1440142389901897139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1440142389901897139'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/09/breaking-through-restrictive-proxy.html' title='Breaking through a restrictive proxy'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-6869131739182206224</id><published>2009-07-28T07:22:00.000-07:00</published><updated>2009-07-28T07:30:30.450-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Core Useful Hidden Treasuers'/><title type='text'>More Perl "Hidden Treasures"</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'times new roman'; font-weight: bold; "&gt;&lt;a name="item_hash%3a%3autil"&gt;&lt;code&gt;Hash::Util&lt;/code&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;This gives you some very nice options - such as locking a hash so that no more keys can be added!  Seems like a &lt;i&gt;very&lt;/i&gt;&lt;b&gt; &lt;/b&gt;nice way to avoid some typos!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Also look at &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;b&gt;Class::Struct&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;That could come in handy to make some quick little objects without messing around with the constructor and accessors.  Maybe it is possible to use Hash::Util with it to make it "read-only"???&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;See:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana; font-size: 16px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;a href="http://www.perl.com/lpt/a/750"&gt;Hidden Treasures of the Perl Core, part II&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;b&gt;By&lt;/b&gt; Casey West&lt;br /&gt;June 19, 2003&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-6869131739182206224?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/6869131739182206224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=6869131739182206224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6869131739182206224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6869131739182206224'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/07/more-perl-hidden-treasures.html' title='More Perl &quot;Hidden Treasures&quot;'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-9020312198105804855</id><published>2009-07-09T04:53:00.000-07:00</published><updated>2009-07-09T04:54:44.752-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClearCase UCM Configuration Management'/><title type='text'>Removing a Version from ClearCase UCM</title><content type='html'>Here's a good blog about removing a version of a file from ClearCase UCM:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://doublepaddle.blogspot.com/2008/01/clearcase-eraser-versions-recorded-in.html"&gt;http://doublepaddle.blogspot.com/2008/01/clearcase-eraser-versions-recorded-in.html&lt;/a&gt;&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/819970998046064945-9020312198105804855?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/9020312198105804855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=9020312198105804855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/9020312198105804855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/9020312198105804855'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/07/removing-version-from-clearcase-ucm.html' title='Removing a Version from ClearCase UCM'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-3640808746568317971</id><published>2009-07-08T06:47:00.000-07:00</published><updated>2009-07-09T04:53:44.580-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mountain bike technique'/><title type='text'>My First (Semi) Manual!</title><content type='html'>I got the track stand down pretty good, so I began trying to manual.  Normally, I would jerk the bars up as hard as I could to try getting over an obstacle, but I've realized that really isn't the best way.&lt;br /&gt;&lt;br /&gt;So, I got a copy of &lt;a href="http://www.leelikesbikes.com/mastering-mountain-bike-skills"&gt;Mastering Mountain Bike Skills&lt;/a&gt; and began reading (it's a very good book).  Between that and the author's website &lt;a href="http://www.leelikesbikes.com/"&gt;www.leelikesbikes.com&lt;/a&gt;, I finally started to "get" just how to do a manual.&lt;br /&gt;&lt;br /&gt;These posts at Lee's blog also helped immensely:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.leelikesbikes.com/how-to-manual-again.html#more-719"&gt;How to Manual Again&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.leelikesbikes.com/manuals-tallness-is-no-excuse.html"&gt;Tallness is no Excuse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.leelikesbikes.com/manualing-for-small-riders.html"&gt;Manuals for Small Riders&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Between those posts, the responses to the posts, and the book, these are the tips that helped me the most:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I lowered the seat to practice.  This let me shift my hips back much more easily.  I'll practice with my seat at my "standard" XC height once I get this down.&lt;/li&gt;&lt;li&gt;Really focused on using the "third brake" (ie, practically scratching your butt with the rear wheel because you shift your hips back so far).  Basically, Lee said you probably aren't shifting nearly as far as you think you are, so I really tried to "over-exaggerate" the entire motion (my over-exaggeration was probably closer to the "real" motion).&lt;/li&gt;&lt;li&gt;Finally, really pushing forward with my arms and driving my legs down and forward.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;The first time the wheel came up, it felt like some Jedi was lifting the wheel with the Force!  It was a very strange feeling since I was used to muscling it up.  The wheel just needs to pop up a bit before your shifted-weight takes over.  The more you pre-load and the faster you push yourself backwards, the faster it happens.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So far I have bailed off each time it gets up, but I'll get used to the feeling soon enough and learn to control it.  I have found that once it comes up to a certain height I start pulling myself up.  I just need to let it happen.  It seems like minor shifts of the hips should stabalize it, as well as a few pumps with the legs (you can see the kid to that in this video):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=QnuqtPSnyLY"&gt;http://www.youtube.com/watch?v=QnuqtPSnyLY&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once I'm better at this, I can finally begin working on some nice, high bunny hops!&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/819970998046064945-3640808746568317971?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/3640808746568317971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=3640808746568317971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/3640808746568317971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/3640808746568317971'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/07/my-first-semi-manual.html' title='My First (Semi) Manual!'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-7907367597229158714</id><published>2009-05-21T17:23:00.000-07:00</published><updated>2009-05-21T17:26:27.461-07:00</updated><title type='text'>ClearCase UCM Triggers</title><content type='html'>I didn't realize this page existed on the CM Wiki.  Unfortunately the links seem to be broken...  If anybody reads this and knows why, please let me know.  I'll post if I find out any info.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cmcrossroads.com/cgi-bin/cmwiki/view/CM/ClearCaseUnifiedChangeManagementTriggers"&gt;&lt;br /&gt;ClearCaseUnifiedCHangeManagementTriggers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-7907367597229158714?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/7907367597229158714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=7907367597229158714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/7907367597229158714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/7907367597229158714'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/05/clearcase-ucm-triggers.html' title='ClearCase UCM Triggers'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-6317352650405832782</id><published>2009-05-16T12:35:00.000-07:00</published><updated>2009-05-16T12:38:32.553-07:00</updated><title type='text'>Google Chrome Proxy Server Setup</title><content type='html'>Google Chrome uses IE's Proxy settings...  However, you can force it to be something different using the "--proxy-server=XXXXX" switch.  Or, just use "--proxy-server=" to use no proxy.&lt;br /&gt;&lt;br /&gt;This is really nice, because now I can set up two Google Chrome shortcuts - One to fire up Chrome at work and use the proxy, and the other with the "--proxy-server=" switch so I can use Chrome at home!  &lt;br /&gt;&lt;br /&gt;I like that better than going into the settings of FireFox each time I start it up (I haven't found a proxy plugin that works well yet...).  Maybe FireFox has a similar switch?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-6317352650405832782?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/6317352650405832782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=6317352650405832782' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6317352650405832782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/6317352650405832782'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/05/google-chrome-proxy-server-setup.html' title='Google Chrome Proxy Server Setup'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-1843641129120546374</id><published>2009-04-26T12:23:00.000-07:00</published><updated>2011-05-01T18:11:36.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='derailleur'/><category scheme='http://www.blogger.com/atom/ns#' term='maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='derailleur maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='mountain bike'/><title type='text'>Rear Derailleur adjustment</title><content type='html'>There's some time of black magic behind adjusting the rear derailleur.  It's as hard as trying to remember how "derailleur" is spelled!!!  When I read some tips on adjusting it, it seems easy.  About 30 minutes later, my chain is all over the place on the rear cassette. &lt;br /&gt;&lt;br /&gt;Anyways, this seems like about the best article I've found so far.  At least my chain shift through *most* of the gears now!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.parktool.com/repair/readhowto.asp?id=64"&gt;http://www.parktool.com/repair/readhowto.asp?id=64&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sheldonbrown.com/derailer-adjustment.html"&gt;http://www.sheldonbrown.com/derailer-adjustment.html&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sheldonbrown.com/derailer-adjustment.html"&gt;&lt;/a&gt;&lt;a href="http://garynuke.homestead.com/derailleur.html"&gt;http://garynuke.homestead.com/derailleur.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;*** After some more reading and monkeying around, I realized it isn't quite as hard as I thought...  I just wasn't getting it for some reason at first...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-1843641129120546374?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/1843641129120546374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=1843641129120546374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1843641129120546374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1843641129120546374'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/04/rear-derailleur-adjustment.html' title='Rear Derailleur adjustment'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-1443605602569796127</id><published>2009-03-28T16:37:00.000-07:00</published><updated>2009-03-29T16:48:31.690-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mountain bike technique'/><title type='text'>Mountain Bike Technique - track stand</title><content type='html'>A track stand is something I really need to practice:&lt;br /&gt;&lt;a href="http://www.mountainzone.com/videos/category.asp?cid=401645"&gt;http://www.mountainzone.com/videos/category.asp?cid=401645&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More related videos here (the "Beginner" section is kinda funny to watch...  The lady doing the stuff is just strange)&lt;br /&gt;&lt;a href="http://www.mountainzone.com/videos/category.asp?cid=300545"&gt;http://www.mountainzone.com/videos/category.asp?cid=300545&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The advanced technique also describes bunny hopping in good detail.&lt;br /&gt;&lt;br /&gt;And the drop:&lt;br /&gt;&lt;a href="http://declinemagazine.com/visuals/fluidride/fluidride_vol1.htm"&gt;http://declinemagazine.com/visuals/fluidride/fluidride_vol1.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Various technique:&lt;br /&gt;&lt;a href="http://www.goclipless.com/techniques/"&gt;http://www.goclipless.com/techniques/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After that, I'll work on these:&lt;br /&gt;&lt;a href=" http://www.trashzen.com/bunny-hop-blunt.php"&gt;&lt;br /&gt;http://www.trashzen.com/bunny-hop-blunt.php&lt;/a&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/819970998046064945-1443605602569796127?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/1443605602569796127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=1443605602569796127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1443605602569796127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1443605602569796127'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/03/mountain-bike-technique-track-stand.html' title='Mountain Bike Technique - track stand'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-2349863859754680982</id><published>2009-03-03T08:18:00.001-08:00</published><updated>2009-04-06T04:39:33.935-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Core Useful FindBin'/><title type='text'>Temp file in Perl</title><content type='html'>Use the following to generate a temporary file in Perl:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;  &lt;br /&gt;  use File::Temp;&lt;br /&gt;  my $fh = tempfile;&lt;br /&gt;  &lt;br /&gt;  print $fh "temp data";&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Also, this finds the directory of the Perl script being executed:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;  use FindBin;&lt;br /&gt;  my $program_dir = $FindBin::Bin;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This, and some other useful Perl things, are found here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.perl.com/pub/a/2003/05/29/treasures.html"&gt;http://www.perl.com/pub/a/2003/05/29/treasures.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-2349863859754680982?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/2349863859754680982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=2349863859754680982' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/2349863859754680982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/2349863859754680982'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/03/temp-file-in-perl.html' title='Temp file in Perl'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-7896956667255923307</id><published>2009-02-17T12:48:00.001-08:00</published><updated>2009-02-17T12:50:13.310-08:00</updated><title type='text'>Auto Repair</title><content type='html'>Just changed a wheel bearing on the Impala, thanks to this video:&lt;br /&gt;&lt;br /&gt;http://www.youtube.com/watch?v=Y-TsTn-3ktk&lt;br /&gt;&lt;br /&gt;Also came across this good blog:&lt;br /&gt;&lt;br /&gt;http://free-auto-repair-advice.blogspot.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-7896956667255923307?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/7896956667255923307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=7896956667255923307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/7896956667255923307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/7896956667255923307'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/02/auto-repair.html' title='Auto Repair'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-5946573886404966760</id><published>2009-01-08T06:57:00.001-08:00</published><updated>2009-01-08T06:58:50.432-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl OO Object-Oriented'/><title type='text'>perlboot</title><content type='html'>Beginner's Object-Oriented Tutorial&lt;br /&gt;&lt;br /&gt;It's a pretty nice tutorial accessible via 'perldoc perlboot'&lt;br /&gt;&lt;br /&gt;As usual, it's also available on the web, for example:&lt;br /&gt;http://perl.active-venture.com/pod/perlboot.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-5946573886404966760?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/5946573886404966760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=5946573886404966760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5946573886404966760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5946573886404966760'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2009/01/perlboot.html' title='perlboot'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-1482039114582854461</id><published>2008-12-12T19:48:00.000-08:00</published><updated>2009-05-04T12:50:28.818-07:00</updated><title type='text'>Picture Backups</title><content type='html'>Just wanted to mark down my backup command...  I also throw SSH in there sometimes to backup to a remote machine:&lt;br /&gt;&lt;br /&gt;(cd /cygdrive/c/my_backup ; tar czf - Pictures_Backup) | gpg -o - -c - | split -b 512M - backup_&lt;br /&gt;&lt;br /&gt;I noticed the flavor of "split" varied between cygwin and RHEL.&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;&lt;br /&gt;A couple of new notes:&lt;br /&gt;&lt;br /&gt;tar cvzf - DirToBackup | gpg -o - -c - | ssh me@some-server 'cd /backups/backupdir ; cat | split -b 512m - date_tar_gz_'&lt;br /&gt;&lt;br /&gt;Then, use the following to produce "differential" backups:&lt;br /&gt;tar cvzf - --newer "YYYY-MM-DD" DirToBackup | blah blah blah&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(note to self:  one canine pound)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-1482039114582854461?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/1482039114582854461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=1482039114582854461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1482039114582854461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1482039114582854461'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2008/12/picture-backups.html' title='Picture Backups'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-4643626279015674162</id><published>2008-11-12T09:54:00.000-08:00</published><updated>2008-11-12T09:55:39.234-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Kernel Module Examples'/><title type='text'>Linux Kernel Modules</title><content type='html'>Just some info about Linux kernel modules.  This faq gives some small examples to write.  I'm just jotting it down because it's something I'd like to know a little more about in the future:&lt;br /&gt;&lt;br /&gt;http://www.faqs.org/docs/kernel/x571.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-4643626279015674162?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/4643626279015674162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=4643626279015674162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/4643626279015674162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/4643626279015674162'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2008/11/linux-kernel-modules.html' title='Linux Kernel Modules'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-4288670144337840672</id><published>2008-11-04T06:16:00.000-08:00</published><updated>2008-11-04T06:19:41.104-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Date Time'/><title type='text'>Perl and Dates</title><content type='html'>Just a quick code snippet I through together to remember some of the date parsing modules that seem to come standard with Perl 5:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;use Date::Parse;&lt;br /&gt;use Date::Format;&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;my $date = "2008-12-30 05:00:00";&lt;br /&gt;my $machine_time = str2time($date);&lt;br /&gt;my $week = time2str("%U", $machine_time);&lt;br /&gt;my $month = time2str("%L", $machine_time);&lt;br /&gt;&lt;br /&gt;print &lt; &lt; EOF;&lt;br /&gt;&lt;br /&gt;Date is:         $date&lt;br /&gt;Machine Time is: $machine_time&lt;br /&gt;Week is:         $week&lt;br /&gt;Month is:        $month&lt;br /&gt;&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-4288670144337840672?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/4288670144337840672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=4288670144337840672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/4288670144337840672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/4288670144337840672'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2008/11/perl-and-dates.html' title='Perl and Dates'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-5017424312282183662</id><published>2008-10-30T12:09:00.000-07:00</published><updated>2008-10-30T12:19:18.662-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl OO Object-Oriented'/><title type='text'>OO Perl</title><content type='html'>Just wanted to jot down a good OO Perl site I came across:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/PERL/node123.html"&gt;http://www.cs.cf.ac.uk/Dave/PERL/node123.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Wikipedia had a decent example that got to the point:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Perl_module"&gt;http://en.wikipedia.org/wiki/Perl_module&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So, here's some poop I through together just to use as my own reference.  It's a Poop class!&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;(NOTE:  Some of the lines may have been screwed up during the copying and pasting... but I don't care right now)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new;"&gt;package Poop;&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;our $VERSION = "1.0";&lt;br /&gt;my $DEBUG = 0;&lt;br /&gt;&lt;br /&gt;=head1 NAME&lt;br /&gt;&lt;br /&gt;Poop - A pooping package.&lt;br /&gt;&lt;br /&gt;=head1 SYNOPSIS&lt;br /&gt;&lt;br /&gt;    use Poop;&lt;br /&gt;    my $boy = Poop-&gt;new();&lt;br /&gt;    $boy-&gt;eat("Candy Bar", "Ice Cream");&lt;br /&gt;    $boy-&gt;poop() if $boy-&gt;turd();&lt;br /&gt;&lt;br /&gt;=head1 DESCRIPTION&lt;br /&gt;   &lt;br /&gt;    Just an OO Perl template&lt;br /&gt;&lt;br /&gt;=head1 METHODS&lt;br /&gt;   &lt;br /&gt;=head3 new&lt;br /&gt;   &lt;br /&gt;    my $cat = Poop-&gt;new();&lt;br /&gt;    my $dog = Poop-&gt;new(eat =&gt; @food, debug =&gt; 1, size =&gt; $size);&lt;br /&gt;&lt;br /&gt;Instantiates a new Pooping object.&lt;br /&gt;If a list of C&lt;@food&gt; is given, the object eats right away.&lt;br /&gt;If $size is given, the object's stomach is set to that size (default 10).&lt;br /&gt;If "debug" is a true value, debugging will be turned on.&lt;br /&gt;&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;sub new {&lt;br /&gt;    my $proto   = shift;&lt;br /&gt;    my $class   = ref($proto) || $proto;&lt;br /&gt;    my %params  = @_;&lt;br /&gt;    my $self    = {};&lt;br /&gt;&lt;br /&gt;    bless ($self, $class);&lt;br /&gt;&lt;br /&gt;    $self-&gt;debug($params{debug}) if exists $params{debug};&lt;br /&gt;&lt;br /&gt;    $self-&gt;{TURD} = 0;&lt;br /&gt;    $self-&gt;{FOOD} = [];&lt;br /&gt;    $self-&gt;{SIZE} = exists $params{size} ? $params{size} : 10;&lt;br /&gt;&lt;br /&gt;    $self-&gt;eat(@{$params{eat}}) if exists $params{eat};&lt;br /&gt;&lt;br /&gt;    return $self;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;=head3 eat&lt;br /&gt;&lt;br /&gt;    my $dog = Poop-&gt;new();&lt;br /&gt;    $dog-&gt;eat("Dog food", "Dog bone");&lt;br /&gt;&lt;br /&gt;Causes the object to eat the items in the list.  The object will quit eating when it has to poop.&lt;br /&gt;Returns a list of food it couldn't eat if it can't eat it all.&lt;br /&gt;Returns an empty list if it ate it all.&lt;br /&gt;&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;sub eat($) {&lt;br /&gt;    my $self = shift;&lt;br /&gt;&lt;br /&gt;    $self-&gt;_DEBUG_PRINT("Eating...");&lt;br /&gt;&lt;br /&gt;    while (@_ &amp;amp;&amp;amp; ! $self-&gt;turd()) {&lt;br /&gt;        my $f = shift;&lt;br /&gt;        push @{$self-&gt;{FOOD}}, $f;&lt;br /&gt;        print "-- Mmmmm... $f\n";&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return @_;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;       &lt;br /&gt;=head3 turd&lt;br /&gt;   &lt;br /&gt;    my $dog = Poop-&gt;new();&lt;br /&gt;    $dog-&gt;poop() if $dog-&gt;turd();&lt;br /&gt;   &lt;br /&gt;Reports whether the object has a turd.  And object with a turd cannot eat anything else.&lt;br /&gt;&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;sub turd() {&lt;br /&gt;    my $self = shift;&lt;br /&gt;&lt;br /&gt;    $self-&gt;_DEBUG_PRINT("Checking for turd...");&lt;br /&gt;&lt;br /&gt;    return 1 if @{$self-&gt;{FOOD}} &gt;= $self-&gt;{SIZE};&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;=head3 poop&lt;br /&gt;   &lt;br /&gt;    my $dog = Poop-&gt;new();&lt;br /&gt;    $dog-&gt;poop() if $dog-&gt;turd();&lt;br /&gt;&lt;br /&gt;Makes the object poop.  If there is no turd, it will return 0 and not poop.&lt;br /&gt;&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;sub poop() {  &lt;br /&gt;    my $self = shift;&lt;br /&gt;    my @sounds = ("Grunt","Plop","Spphhlll","Splash","Pfffft");&lt;br /&gt;&lt;br /&gt;    $self-&gt;_DEBUG_PRINT("Entering pooping phase...");&lt;br /&gt;&lt;br /&gt;    if (! $self-&gt;turd()) {&lt;br /&gt;        $self-&gt;_DEBUG_PRINT("No turd to poop with...");&lt;br /&gt;        return 0;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    while (my $food = shift @{$self-&gt;{FOOD}}) {&lt;br /&gt;        my $sound= $sounds[int(rand() * @sounds)];&lt;br /&gt;&lt;br /&gt;        print "-- $sound... $food\n";&lt;br /&gt;        sleep 1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    $self-&gt;{TURD} = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;=head3 puke&lt;br /&gt;   &lt;br /&gt;    my $dog-&gt;puke();&lt;br /&gt;&lt;br /&gt;Expells the most recent item ate.  Returns the item if it existed, otherwise returns undef.&lt;br /&gt;&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;sub puke() {&lt;br /&gt;    my $self = shift;&lt;br /&gt;&lt;br /&gt;    my $last = pop @{$self-&gt;{FOOD}};&lt;br /&gt;&lt;br /&gt;    if ($last) {&lt;br /&gt;        print "-- Blahhhhh.....  $last\n";&lt;br /&gt;        return $last;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return undef;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;=head3 debug&lt;br /&gt;&lt;br /&gt;    $dog-&gt;debug();&lt;br /&gt;    $dog-&gt;debug(0);&lt;br /&gt;    $dog-&gt;debug(1);&lt;br /&gt;&lt;br /&gt;Returns the current debug setting, sets it to false, or sets it to true (respectively).&lt;br /&gt;&lt;br /&gt;=cut&lt;br /&gt;&lt;br /&gt;sub debug($) {&lt;br /&gt;&lt;br /&gt;    my $self = shift;&lt;br /&gt;&lt;br /&gt;    return $DEBUG unless @_;&lt;br /&gt;&lt;br /&gt;    if ($_[0])  { $DEBUG = 1 }&lt;br /&gt;    else        { $DEBUG = 0 }&lt;br /&gt;&lt;br /&gt;    return $DEBUG;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub _DEBUG_PRINT ($) {&lt;br /&gt;    my $self = shift;&lt;br /&gt;    return unless $DEBUG;&lt;br /&gt;&lt;br /&gt;    print "-- DEBUG: " . shift;&lt;br /&gt;    print "\n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;1;  # Really only need this unless you make this a .pm and "use" it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Just putting it all in one file...&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;package main;&lt;br /&gt;#use Poop;&lt;br /&gt;&lt;br /&gt;sub feed(@) {&lt;br /&gt;    my $obj = shift;&lt;br /&gt;&lt;br /&gt;    print "Feeding it: " . join(", ", @_) . "\n";&lt;br /&gt;    my @full = $obj-&gt;eat(@_);&lt;br /&gt;&lt;br /&gt;    if (@full) {&lt;br /&gt;        print "Couldn't eat: " . join(", ", @_) . "\n";&lt;br /&gt;    } else {&lt;br /&gt;        print "Ate it all.  Good boy!\n";&lt;br /&gt;    }&lt;br /&gt;    print "\n";&lt;br /&gt;}&lt;br /&gt;   &lt;br /&gt;my $dog = Poop-&gt;new(size =&gt; 5);&lt;br /&gt;&lt;br /&gt;feed($dog, qw/Bones Chocolate Cat Soap/);&lt;br /&gt;feed($dog, "Saw Dust", "Dog Food");&lt;br /&gt;print "Puked up " . $dog-&gt;puke() . "\n";&lt;br /&gt;print "Puked up " . $dog-&gt;puke() . "\n";&lt;br /&gt;feed($dog, "Pie", "Hot Dog");&lt;br /&gt;print "Go potty, boy:\n";&lt;br /&gt;$dog-&gt;poop();&lt;br /&gt;print "Good boy, here's a treat!\n";&lt;br /&gt;$dog-&gt;eat("Treat");&lt;br /&gt;print "Nooo!!! Don't puke in here!!!\n";&lt;br /&gt;print "Puked: " . $dog-&gt;puke() . "\n";&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&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/819970998046064945-5017424312282183662?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/5017424312282183662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=5017424312282183662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5017424312282183662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/5017424312282183662'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2008/10/oo-perl.html' title='OO Perl'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-3726009677128372626</id><published>2008-10-29T05:39:00.000-07:00</published><updated>2008-10-29T05:45:16.888-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox Windows'/><title type='text'>Firefox Memory</title><content type='html'>Just a useful setting I found for Firefox to reduce the memory usage:&lt;br /&gt;http://www.litfuel.net/plush/?postid=118&lt;br /&gt;&lt;br /&gt;Basically, do the "about:config" and change the browser.sessionhistory.max_total_viewers setting.  By default, this caches 10 pages per tab.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-3726009677128372626?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/3726009677128372626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=3726009677128372626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/3726009677128372626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/3726009677128372626'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2008/10/firefox-memory.html' title='Firefox Memory'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-1480697788699067454</id><published>2008-10-18T07:09:00.000-07:00</published><updated>2008-10-18T08:36:36.484-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux dd gparted hard drive copy'/><title type='text'>Copying a hard disk with Knoppix</title><content type='html'>I slapped together a computer for my parents a couple of years ago.  They really only surf the net, so it did not need to be to impressive.  I had a 20 GB hard drive I was going to stick in it, but I dropped and broke it....  I ended up putting an extra 8 GB drive in it instead.  With XP installed, it didn't take long before that was filled up and there was hardly any swap space left (something that Window's OSes seem to need a lot of for some reason...).&lt;br /&gt;&lt;br /&gt;Anyways, I finally got around to getting a 30 GB hard drive for them.  I didn't feel like reinstalling everything, so I figured I'd try copying their old hd with "dd".  I used a Knoppix 5.1 disk and this page as a reference:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nilbus.com/linux/disk-copy.php"&gt;http://www.nilbus.com/linux/disk-copy.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;What's needed&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Some flavor of Linux on a bootable CD (Knoppix 5.1 in this case)&lt;/li&gt;&lt;li&gt;dd&lt;/li&gt;&lt;li&gt;gparted and it's dependencies&lt;/li&gt;&lt;li&gt;a new hard disk&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Steps&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Shutdown and unplug everything and put in the new hard drive (I switched the original to slave and made the new one master at this point)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Boot up the PC and get into the Setup mode (usually by pressing F2, Delete, or some other key).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make sure everything looks savvy with the new hd.  While in there, be sure it's set to boot from the CD first.  Also, if you don't have a floppy drive, be sure it is disabled in the bios, otherwise gparted will hang while trying to access it.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Save and boot to Knoppix&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Once Knoppix is up, fire up gparted and format the new drive to NTFS (I don't think this is necessary because of the way we will use dd, but I did it anyways.  Besides, gparted gave me the peace of mind to know I was working with the correct partitions).  You really should reboot after this to be sure the kernal picks up the new partition correctly, but I didn't (as noted early, I probably didn't need to format it anyways).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Once that is done, start an xterm and do:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dd if=/dev/hdb of=/dev/hda&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;One thing I didn't do was enable dma on the hard drives.  I had read that would make it faster, but oh well.  dd will run for quite some time.  NOTE:  If you use the wrong device for "if" or "of", you could really screw yourself!!!&lt;br /&gt;&lt;br /&gt;While dd is running, it won't give any status.  But, from another xterm, you can send the USR1 signal to the dd process and it displays a status:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;kill -USR1 3274 (or whatever pid)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;After about 2000 seconds, all 8+ GB of the old drive was copied over.  Since I used "/dev/hdb" as the infile, the MBR and all that good stuff was also copied to /dev/hda.  So, I fired up gparted again and was happy to see that /dev/hda now had a primary partition the exact same size of the original.  I rebooted at this point.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Once rebooted back into Knoppix, fired up gparted one more time and expanded the /dev/hda1 partition to fill the entire 30 GB disk.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Finally, I rebooted again and was very happy to see that Windows was starting up.  XP wanted to do a chkdisk since the partition size increaesed, so I let that take place.  Once it was back into Windows, I defragged&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;So, I was very happy to see that dd worked so well.  Once again, a free Linux-based solution worked as well or better than some commercial software!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-1480697788699067454?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/1480697788699067454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=1480697788699067454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1480697788699067454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/1480697788699067454'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2008/10/copying-hard-disk-with-knoppix.html' title='Copying a hard disk with Knoppix'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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-819970998046064945.post-4350570571447415959</id><published>2008-10-14T17:54:00.000-07:00</published><updated>2008-10-14T17:57:13.806-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nothing'/><title type='text'>First Blog</title><content type='html'>My first blog...  How exciting.  Anyways, I'll probably try to use this as a space to post anything I think will either A) help me out in the future, or B) might be useful to somebody else at some point in the future....  Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819970998046064945-4350570571447415959?l=odetospot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://odetospot.blogspot.com/feeds/4350570571447415959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819970998046064945&amp;postID=4350570571447415959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/4350570571447415959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819970998046064945/posts/default/4350570571447415959'/><link rel='alternate' type='text/html' href='http://odetospot.blogspot.com/2008/10/first-blog.html' title='First Blog'/><author><name>eric</name><uri>http://www.blogger.com/profile/14833537135231995465</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>
