<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkIBRnk8fSp7ImA9WhRTF0g.&quot;"><id>tag:blogger.com,1999:blog-6825910</id><updated>2011-11-08T11:09:17.775Z</updated><category term="barcamp" /><category term="Windows XP" /><category term="hotmail" /><category term="rescue remedy" /><category term="Dublin" /><category term="collaboration" /><category term="free" /><category term="Canon MV20" /><category term="hosting" /><category term="updates" /><category term="upgrade" /><category term="association" /><category term="rubyonrails" /><category term="cengal" /><category term="google mashup editor" /><category term="barcampdublin" /><category term="rails" /><category term="spam" /><category term="userscripts" /><category term="reliability" /><category term="online resources" /><category term="active merchant" /><category term="email" /><category term="xss" /><category term="vodafone" /><category term="pagerank" /><category term="Irish Broadband" /><category term="instantrails" /><category term="facebook" /><category term="tesco" /><category term="fixtures" /><category term="gutsy gibbon" /><category term="spf" /><category term="java" /><category term="wifi" /><category term="contacts" /><category term="memory" /><category term="home automation" /><category term="career profile" /><category term="Firefox" /><category term="babynathan" /><category term="bcg" /><category term="b2c" /><category term="barcampireland" /><category term="ubuntu" /><category term="ws-security" /><category term="addresses" /><category term="conferences" /><category term="subversion" /><category term="google" /><category term="technorati" /><category term="dv" /><category term="technology" /><category term="tb" /><category term="yahoo pipes" /><category term="trillian" /><category term="introduction" /><category term="smartscreen" /><category term="dd-wrt" /><category term="egroupware" /><category term="apis" /><category term="quote" /><category term="fonaticket" /><category term="northern rock" /><category term="tag" /><category term="advertising" /><category term="dietcoke" /><category term="reservedwords" /><category term="mashups" /><category term="telecoms" /><category term="CORD" /><category term="spam filters" /><category term="15mbps" /><category term="amnesty" /><category term="excel" /><category term="classnames" /><category term="charity" /><category term="beacon" /><category term="single sign on" /><category term="immunisation" /><category term="gotapi" /><category term="nerves" /><category term="SP2" /><category term="learning" /><category term="bind-address" /><category term="CSSHacks" /><category term="codejam" /><category term="del.icio.us" /><category term="business 2.0" /><category term="speed" /><category term="restful routes" /><category term="geocoding" /><category term="colin whelan" /><category term="eircom broadband" /><category term="election" /><category term="extendingobjects" /><category term="url database" /><category term="startup" /><category term="reach" /><category term="gme" /><category term="web services" /><category term="issue" /><category term="overriding conventions" /><category term="widgets" /><category term="technology research" /><category term="linksys" /><category term="google groups" /><category term="instantmessaging" /><category term="wrt54gs" /><category term="IEEE 1394" /><category term="wireless" /><category term="twitter" /><category term="architect" /><category term="web categorisation" /><category term="site unavailable" /><category term="erp" /><category term="health" /><category term="gmail" /><category term="plugooi" /><category term="Ireland" /><category term="block" /><category term="amazon ec2" /><category term="c2b" /><category term="data charges" /><category term="comedy" /><category term="widgetbox" /><category term="plugoo" /><category term="closed opensource" /><category term="websense" /><category term="irishblogs" /><category term="premiership" /><category term="grant" /><category term="jonudell" /><category term="dell" /><category term="test" /><category term="smarttelecom" /><category term="bizmaps" /><category term="gaim" /><category term="aim" /><category term="migrations" /><category term="comreg" /><category term="family" /><category term="mongrel_cluster" /><category term="free cinema tickets" /><category term="rankings" /><category term="collapse" /><category term="greasemonkey" /><category term="laptop" /><category term="safari" /><category term="ryanair" /><category term="ami" /><category term="xml" /><category term="howcast" /><category term="google maps" /><category term="mysql" /><category term="online security" /><category term="security" /><category term="irishsociety" /><category term="mavens" /><category term="customer service" /><category term="scope" /><category term="50peoplewhomatter" /><category term="wpa" /><category term="oracle" /><category term="manners" /><category term="microformats" /><category term="yahoomaps" /><category term="integration" /><category term="tutorials" /><category term="mongrel" /><category term="api help" /><category term="ssl" /><category term="operations" /><category term="proxies" /><category term="gardai" /><category term="release" /><category term="testing" /><category term="cross site scripting" /><category term="architecture" /><category term="airportsecurity" /><category term="revenue" /><category term="pedometer" /><category term="eircom" /><category term="yahoo" /><category term="public services broker" /><category term="mistake" /><category term="mturk" /><category term="follow_redirect" /><category term="deathbysearch" /><category term="im" /><category term="weaponsamnesty" /><category term="komplett" /><category term="enterprise ireland" /><category term="crm" /><category term="sunday business post" /><category term="anpost" /><category term="the9" /><category term="rubyireland" /><category term="weapons" /><category term="newbaby" /><category term="mentos" /><category term="cms" /><category term="crime" /><category term="wikis" /><category term="realex payments" /><category term="Input Background" /><category term="murder" /><category term="windows live mail" /><category term="piggybacking" /><category term="senderid" /><category term="football" /><category term="web2.0 bullshit" /><category term="venice project" /><category term="worldcup" /><category term="GAFYD" /><category term="embeddable maps" /><category term="meme" /><category term="placebo" /><category term="software process" /><category term="google apps for your domain" /><category term="internet security" /><category term="sso" /><category term="innoculation" /><category term="broadband" /><category term="meebo" /><category term="firewire" /><category term="hse" /><category term="goals" /><category term="monitoring" /><category term="jvm" /><category term="book" /><category term="paycheque" /><category term="meetups" /><category term="skype me" /><category term="pidgen" /><category term="dublin shootings" /><category term="neurologists" /><category term="web2.0" /><category term="xml schema" /><category term="sender policy framework" /><category term="hacks" /><category term="credit card gateway" /><category term="politeness" /><category term="search" /><category term="saml" /><category term="drupal" /><category term="wep" /><category term="uci" /><category term="dreamhost" /><category term="IE" /><category term="slideshare" /><category term="mvm" /><category term="maps" /><category term="capistrano" /><category term="powersurge" /><category term="identity theft" /><category term="gartner" /><title>Thin Edge of the Wedge</title><subtitle type="html">Thoughts on IT</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://thinedgeofthewedge.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>124</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ThinEdgeOfTheWedge" /><feedburner:info uri="thinedgeofthewedge" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FThinEdgeOfTheWedge" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FThinEdgeOfTheWedge" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FThinEdgeOfTheWedge" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ThinEdgeOfTheWedge" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FThinEdgeOfTheWedge" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FThinEdgeOfTheWedge" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FThinEdgeOfTheWedge" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FThinEdgeOfTheWedge" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><entry gd:etag="W/&quot;A0IDSH84fip7ImA9WxZbEkQ.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-5203061202370473308</id><published>2008-04-15T23:40:00.004+01:00</published><updated>2008-04-15T23:46:19.136+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-15T23:46:19.136+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vodafone" /><category scheme="http://www.blogger.com/atom/ns#" term="data charges" /><title>Vodafone data charges</title><content type="html">&lt;p&gt;I was out of the office so used my mobile as a modem.&lt;/p&gt;
&lt;p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_y44n_zeZXmw/SAUvQ31EBCI/AAAAAAAAACo/ScxYhTOt5vI/s1600-h/vodafone.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_y44n_zeZXmw/SAUvQ31EBCI/AAAAAAAAACo/ScxYhTOt5vI/s400/vodafone.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5189606112525288482" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Its a scandal! For &lt;span style="font-weight:bold;"&gt;32mb&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; I was charged &lt;span style="font-weight:bold;"&gt;€82&lt;/span&gt; exclusive of VAT. This gives a grand total &lt;span style="font-weight:bold;"&gt;€99.25&lt;/span&gt;.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-5203061202370473308?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hnQknTfGjjw:0KYtXg_6QKE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hnQknTfGjjw:0KYtXg_6QKE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hnQknTfGjjw:0KYtXg_6QKE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=hnQknTfGjjw:0KYtXg_6QKE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hnQknTfGjjw:0KYtXg_6QKE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hnQknTfGjjw:0KYtXg_6QKE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/hnQknTfGjjw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/5203061202370473308/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=5203061202370473308" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/5203061202370473308?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/5203061202370473308?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/hnQknTfGjjw/vodafone-data-charges.html" title="Vodafone data charges" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_y44n_zeZXmw/SAUvQ31EBCI/AAAAAAAAACo/ScxYhTOt5vI/s72-c/vodafone.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2008/04/vodafone-data-charges.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4EQHcycSp7ImA9WxZWEko.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-2313915857647904014</id><published>2008-03-11T21:56:00.003Z</published><updated>2008-03-11T22:18:21.999Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-11T22:18:21.999Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="smarttelecom" /><category scheme="http://www.blogger.com/atom/ns#" term="eircom broadband" /><category scheme="http://www.blogger.com/atom/ns#" term="15mbps" /><title>New residential broadband packages up to 15mbps from Smart Telecom</title><content type="html">&lt;p&gt;
&lt;a href="http://thinedgeofthewedge.blogspot.com/2008/03/gulp-data-charges.html"&gt;Mobile data charges&lt;/a&gt; maybe excessive but I'm averaging down with my upgraded &lt;a href="http://www.smarttelecom.ie/residential_package.html"&gt;smart telecom package&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I now have 15mbps download, line rental, and voice package for €80 a month. All this with 1:1 contention, and no monthly download cap. Compare this to eircom's &lt;a href="http://business.eircom.net/broadband/packages/12Mb/"&gt;12mbps business package&lt;/a&gt;: €169 per month exclusive of VAT (€205). 
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;NB: Eircom's residential max is 4mbps at the moment&lt;/span&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_y44n_zeZXmw/R9cAfhPH4iI/AAAAAAAAAB4/-kv4XXILic0/s1600-h/Screenshot-Irish+ISP+speed+test+-+check+your+broadband+provider%27s+speed+-+Mozilla+Firefox.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_y44n_zeZXmw/R9cAfhPH4iI/AAAAAAAAAB4/-kv4XXILic0/s400/Screenshot-Irish+ISP+speed+test+-+check+your+broadband+provider%27s+speed+-+Mozilla+Firefox.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5176606838183420450" /&gt;&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-2313915857647904014?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=D1IWdRjSGlM:T45CL04Qeig:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=D1IWdRjSGlM:T45CL04Qeig:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=D1IWdRjSGlM:T45CL04Qeig:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=D1IWdRjSGlM:T45CL04Qeig:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=D1IWdRjSGlM:T45CL04Qeig:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=D1IWdRjSGlM:T45CL04Qeig:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/D1IWdRjSGlM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/2313915857647904014/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=2313915857647904014" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/2313915857647904014?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/2313915857647904014?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/D1IWdRjSGlM/new-residential-broadband-packages-up.html" title="New residential broadband packages up to 15mbps from Smart Telecom" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_y44n_zeZXmw/R9cAfhPH4iI/AAAAAAAAAB4/-kv4XXILic0/s72-c/Screenshot-Irish+ISP+speed+test+-+check+your+broadband+provider%27s+speed+-+Mozilla+Firefox.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2008/03/new-residential-broadband-packages-up.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAAQ384cSp7ImA9WxZWEkk.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-5205266816075636210</id><published>2008-03-10T17:45:00.008Z</published><updated>2008-03-11T13:39:02.139Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-11T13:39:02.139Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vodafone" /><category scheme="http://www.blogger.com/atom/ns#" term="data charges" /><title>Gulp - Data charges</title><content type="html">&lt;p&gt;
Update: I got my origanal sums wrong! I used 0.05 instead of 0.005 for calculating the per kilobyte charge. Its still expensive though. Thanks to &lt;a href="http://www.snoopdos.com/blog/"&gt;Eddy&lt;/a&gt; for pointing it out. I have updated accordingly.
&lt;/p&gt;
Sometimes I keep my 3 year old occupied in the car by letting him watch &lt;a href="http://www.youtube.com/results?search_query=spiderman+cartoons&amp;search_type="&gt;spiderman cartoons on Youtube&lt;/a&gt; via the &lt;a href="http://europe.nokia.com/A4491298"&gt;Nokia N95&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
If my calculations are correct and the &lt;a href="https://www.vodafone.ie/planscosts_bus/data/"&gt;prices listed&lt;/a&gt; of &lt;strong&gt;2c per kb (VAT inc) up to 512 kb / 0.5c per kb over 512kb&lt;/strong&gt; I'm in trouble.
&lt;/p&gt;
&lt;p&gt;
That would mean I have to pay €12.80 for every 1mb downloaded!
&lt;/p&gt;
&lt;p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;td&gt;kilobytes&lt;/td&gt;&lt;td&gt;price per kb&lt;/td&gt;&lt;td&gt;price&lt;/td&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;512&lt;/td&gt;&lt;td&gt;€0.02&lt;/td&gt;&lt;td&gt;€10.24&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;512&lt;/td&gt;&lt;td&gt;€0.005&lt;/td&gt;&lt;td&gt;€2.56&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;€12.80&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-5205266816075636210?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=McfDjJs8wZ0:GNznhfZG4hg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=McfDjJs8wZ0:GNznhfZG4hg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=McfDjJs8wZ0:GNznhfZG4hg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=McfDjJs8wZ0:GNznhfZG4hg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=McfDjJs8wZ0:GNznhfZG4hg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=McfDjJs8wZ0:GNznhfZG4hg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/McfDjJs8wZ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/5205266816075636210/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=5205266816075636210" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/5205266816075636210?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/5205266816075636210?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/McfDjJs8wZ0/gulp-data-charges.html" title="Gulp - Data charges" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2008/03/gulp-data-charges.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEHSXw6eyp7ImA9WxZQEUs.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-7369264008799682434</id><published>2008-02-16T13:04:00.002Z</published><updated>2008-02-16T13:13:58.213Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-16T13:13:58.213Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="slideshare" /><category scheme="http://www.blogger.com/atom/ns#" term="rubyireland" /><category scheme="http://www.blogger.com/atom/ns#" term="howcast" /><title>Ruby Ireland Slideshows</title><content type="html">&lt;p&gt;
I've added a sidebar to this blog which contains the &lt;a href="http://www.slideshare.net/group/rubyireland"&gt;Ruby Ireland presentations&lt;/a&gt; posted on &lt;a href="http://www.slideshare.net"&gt;slideshare&lt;/a&gt;. I'll try and keep adding the slideshows as they're given as long as the presenter is okay with it.
&lt;/p&gt;
&lt;p&gt;
The latest one is &lt;a href="http://www.slideshare.net/johnward/ssh-lighting-presentation"&gt;SSH lightening presentation&lt;/a&gt;; which was given by &lt;a href="http://www.davidjrice.co.uk/articles/2008/2/13/ssh-presentation-in-progress"&gt;David J Rice&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
He also spoke about the start up he's involved with - &lt;a href="http://www.howcast.com"&gt;Howcast&lt;/a&gt;. They launched last week and it looks fantastic.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-7369264008799682434?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=fQZZGCGhCos:gys6RroWJI4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=fQZZGCGhCos:gys6RroWJI4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=fQZZGCGhCos:gys6RroWJI4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=fQZZGCGhCos:gys6RroWJI4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=fQZZGCGhCos:gys6RroWJI4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=fQZZGCGhCos:gys6RroWJI4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/fQZZGCGhCos" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/7369264008799682434/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=7369264008799682434" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/7369264008799682434?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/7369264008799682434?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/fQZZGCGhCos/ruby-ireland-slideshows.html" title="Ruby Ireland Slideshows" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2008/02/ruby-ireland-slideshows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIDR3c6eCp7ImA9WxZSFEo.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-8391843033879984508</id><published>2008-01-27T22:50:00.000Z</published><updated>2008-01-27T22:56:16.910Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T22:56:16.910Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="technology" /><category scheme="http://www.blogger.com/atom/ns#" term="meetups" /><category scheme="http://www.blogger.com/atom/ns#" term="Dublin" /><category scheme="http://www.blogger.com/atom/ns#" term="conferences" /><title>XTech 2008 in Dublin</title><content type="html">&lt;p&gt;There's an increasing amount of technology meetup and conferences happening in Dublin - &lt;a href="http://www.techludd.com/"&gt;Community&lt;/a&gt; and &lt;a href="http://kcities.icingweb.org/"&gt;Commercial&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://2008.xtech.org/public/news"&gt;XTech 2008&lt;/a&gt; is another in the coming months that looks interesting.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-8391843033879984508?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=UiC3k7fJcAI:meM48__zsP8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=UiC3k7fJcAI:meM48__zsP8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=UiC3k7fJcAI:meM48__zsP8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=UiC3k7fJcAI:meM48__zsP8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=UiC3k7fJcAI:meM48__zsP8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=UiC3k7fJcAI:meM48__zsP8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/UiC3k7fJcAI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/8391843033879984508/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=8391843033879984508" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/8391843033879984508?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/8391843033879984508?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/UiC3k7fJcAI/xtech-2008-in-dublin.html" title="XTech 2008 in Dublin" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2008/01/xtech-2008-in-dublin.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MHSXk4cCp7ImA9WB9bF0s.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-328614487136513520</id><published>2007-12-27T13:13:00.000Z</published><updated>2007-12-27T13:17:18.738Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-27T13:17:18.738Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="anpost" /><category scheme="http://www.blogger.com/atom/ns#" term="customer service" /><title>An Post Customer Services Helpline</title><content type="html">I just rang the number 1850 575859 to track a passport express application. 

Recorded message:

&lt;blockquote&gt;
Welcome to An Post customer services. Our offices are now closed we will reopen on &lt;b&gt;Tuesday the 10th of April.&lt;/b&gt;
&lt;/blockquote&gt;

Thats some christmas break :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-328614487136513520?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=rLJtgifA3gc:2jygUemy8Eg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=rLJtgifA3gc:2jygUemy8Eg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=rLJtgifA3gc:2jygUemy8Eg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=rLJtgifA3gc:2jygUemy8Eg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=rLJtgifA3gc:2jygUemy8Eg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=rLJtgifA3gc:2jygUemy8Eg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/rLJtgifA3gc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/328614487136513520/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=328614487136513520" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/328614487136513520?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/328614487136513520?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/rLJtgifA3gc/post-customer-services-helpline.html" title="An Post Customer Services Helpline" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/12/post-customer-services-helpline.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4ESHs_cSp7ImA9WB9VEUQ.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-1408365928728758105</id><published>2007-11-27T20:54:00.000Z</published><updated>2007-11-27T20:55:09.549Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-27T20:55:09.549Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="block" /><category scheme="http://www.blogger.com/atom/ns#" term="beacon" /><title>Block Facebook Beacon</title><content type="html">Here's how

&lt;a href="http://www.ideashower.com/blog/block-facebook-beacon/"&gt;http://www.ideashower.com/blog/block-facebook-beacon/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-1408365928728758105?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hsU_mrjL_9I:TdQJLPW0ayE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hsU_mrjL_9I:TdQJLPW0ayE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hsU_mrjL_9I:TdQJLPW0ayE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=hsU_mrjL_9I:TdQJLPW0ayE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hsU_mrjL_9I:TdQJLPW0ayE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hsU_mrjL_9I:TdQJLPW0ayE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/hsU_mrjL_9I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/1408365928728758105/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=1408365928728758105" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1408365928728758105?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1408365928728758105?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/hsU_mrjL_9I/block-facebook-beacon.html" title="Block Facebook Beacon" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/11/block-facebook-beacon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8FQ3w4fCp7ImA9WB9QE0U.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-3750901949914166185</id><published>2007-10-26T09:14:00.000+01:00</published><updated>2007-10-26T09:20:12.234+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-26T09:20:12.234+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tesco" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Tesco UK offering PCs preloaded with Ubuntu</title><content type="html">&lt;p&gt;Tesco UK is now offering PC's preloaded with Ubuntu&lt;/p&gt;
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://direct.tesco.com/q/R.200-3224/btnResultSort.x=509/btnResultSort.y=291.aspx"&gt;Intel Celeron PC&lt;/a&gt; for £139&lt;/li&gt;
&lt;li&gt;&lt;a href="http://direct.tesco.com/q/R.200-6129/btnResultSort.x=509/btnResultSort.y=291.aspx"&gt;AMD 3600&lt;/a&gt; for £189&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-3750901949914166185?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=gooaHbMUPmI:KzQaUd196LQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=gooaHbMUPmI:KzQaUd196LQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=gooaHbMUPmI:KzQaUd196LQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=gooaHbMUPmI:KzQaUd196LQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=gooaHbMUPmI:KzQaUd196LQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=gooaHbMUPmI:KzQaUd196LQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/gooaHbMUPmI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/3750901949914166185/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=3750901949914166185" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3750901949914166185?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3750901949914166185?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/gooaHbMUPmI/tesco-uk-offering-pcs-preloaded-with.html" title="Tesco UK offering PCs preloaded with Ubuntu" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/10/tesco-uk-offering-pcs-preloaded-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEER3w4fSp7ImA9WB9REEw.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-1842538160859086951</id><published>2007-10-08T20:42:00.000+01:00</published><updated>2007-10-10T11:53:26.235+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-10T11:53:26.235+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="active merchant" /><category scheme="http://www.blogger.com/atom/ns#" term="rubyireland" /><category scheme="http://www.blogger.com/atom/ns#" term="realex payments" /><category scheme="http://www.blogger.com/atom/ns#" term="rubyonrails" /><category scheme="http://www.blogger.com/atom/ns#" term="credit card gateway" /><title>Active Merchant talk to Ruby Ireland</title><content type="html">&lt;p&gt;I gave a talk at &lt;a href="http://rubyireland.com/"&gt;Ruby Ireland&lt;/a&gt; about &lt;a href="http://www.activemerchant.org/"&gt;Active Merchant&lt;/a&gt;, which is a ruby library for payment processing.&lt;/p&gt;

&lt;h2&gt;Slides&lt;/h2&gt;
&lt;p&gt;Here's the slides. &lt;/p&gt;
&lt;p&gt;&lt;object type="application/x-shockwave-flash" data="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=130253&amp;doc=active-merchant3559" width="425" height="348"&gt;&lt;param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=130253&amp;doc=active-merchant3559" /&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately slideshare doesn't support animations so the callouts on the slides all show at once.&lt;/p&gt;

&lt;h2&gt;Sample Code&lt;/h2&gt;
&lt;p&gt;Click &lt;a href="http://s3.amazonaws.com/thinedgeofthewedge/activemerchant_demo.tar.gz"&gt;here for the sample application&lt;/a&gt; code &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-1842538160859086951?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=1n_iSxa05xQ:mZq5htLQ73k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=1n_iSxa05xQ:mZq5htLQ73k:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=1n_iSxa05xQ:mZq5htLQ73k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=1n_iSxa05xQ:mZq5htLQ73k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=1n_iSxa05xQ:mZq5htLQ73k:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=1n_iSxa05xQ:mZq5htLQ73k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/1n_iSxa05xQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/1842538160859086951/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=1842538160859086951" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1842538160859086951?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1842538160859086951?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/1n_iSxa05xQ/active-merchant-talk-to-ruby-ireland.html" title="Active Merchant talk to Ruby Ireland" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/10/active-merchant-talk-to-ruby-ireland.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUARX85eip7ImA9WB9SFUk.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-9184561610736076479</id><published>2007-10-05T02:02:00.000+01:00</published><updated>2007-10-05T02:04:04.122+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-05T02:04:04.122+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gutsy gibbon" /><category scheme="http://www.blogger.com/atom/ns#" term="release" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Ubuntu 7.10 - Gutsy  Gibbon countdown</title><content type="html">&lt;script type="text/javascript" src="http://www.ubuntu.com/files/countdown/dist/display.js"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;img id="countdownimage" src="http://www.ubuntu.com/files/countdown/dist/710countdown_default.png" width="199" height="164" alt="Ubuntu 7.10 - Coming soon"&gt;&lt;/noscript&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-9184561610736076479?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hixreFsUQsU:9Qm418fs0Pg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hixreFsUQsU:9Qm418fs0Pg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hixreFsUQsU:9Qm418fs0Pg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=hixreFsUQsU:9Qm418fs0Pg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hixreFsUQsU:9Qm418fs0Pg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=hixreFsUQsU:9Qm418fs0Pg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/hixreFsUQsU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/9184561610736076479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=9184561610736076479" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/9184561610736076479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/9184561610736076479?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/hixreFsUQsU/ubuntu-710-gutsy-gibbon-countdown.html" title="Ubuntu 7.10 - Gutsy  Gibbon countdown" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/10/ubuntu-710-gutsy-gibbon-countdown.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUASHY4fip7ImA9WB9SE08.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-2109769817731299614</id><published>2007-10-01T13:45:00.001+01:00</published><updated>2007-10-02T11:50:49.836+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-02T11:50:49.836+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eircom broadband" /><category scheme="http://www.blogger.com/atom/ns#" term="piggybacking" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="wireless" /><title>Eircom Wireless Security Flaws</title><content type="html">&lt;p&gt;I &lt;a href="http://thinedgeofthewedge.blogspot.com/2006/11/piggybacking-on-eircom-broadband.html"&gt;mentioned before about the lack of security in eircom's wifi solution&lt;/a&gt;. They use to have a single WEP key for all routers by default.
&lt;/p&gt;
&lt;p&gt;
Now, the key is generated at installation but they've been really dumb in how they do it. &lt;a href="http://www.jamesgalvin.com/2007/09/30/eircom-dsl-routers-security-flaw/"&gt;James Galvin&lt;/a&gt; blogged about it and it was picked up by &lt;a href="http://www.mulley.net/2007/10/01/150000-eircom-modems-can-have-their-password-guessed-how-will-eircom-react/"&gt;Damien&lt;/a&gt;. &lt;a href="http://s4dd.yore.ma/eircom/"&gt;Paul Dolan put a page&lt;/a&gt; together to generate the key.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-2109769817731299614?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=DqRTKRr2V_k:hMtP6RQKXUw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=DqRTKRr2V_k:hMtP6RQKXUw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=DqRTKRr2V_k:hMtP6RQKXUw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=DqRTKRr2V_k:hMtP6RQKXUw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=DqRTKRr2V_k:hMtP6RQKXUw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=DqRTKRr2V_k:hMtP6RQKXUw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/DqRTKRr2V_k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/2109769817731299614/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=2109769817731299614" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/2109769817731299614?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/2109769817731299614?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/DqRTKRr2V_k/eircom-wireless-security-flaws.html" title="Eircom Wireless Security Flaws" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/10/eircom-wireless-security-flaws.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04DR3Y9eip7ImA9WB9TE0s.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-4021140957760834548</id><published>2007-09-21T09:59:00.000+01:00</published><updated>2007-09-21T10:12:56.862+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-21T10:12:56.862+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="del.icio.us" /><category scheme="http://www.blogger.com/atom/ns#" term="search" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="pagerank" /><title>A new type of search</title><content type="html">&lt;p&gt;
When I'm stuck on the command line, trying to figure out regular expressions, or the correct syntax for a command I do the follow
&lt;/p&gt;
&lt;p&gt;
&lt;ol&gt;
&lt;li&gt;Search &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Select Page&lt;/li&gt;
&lt;li&gt;Qualify Page is what I want and then bookmark using &lt;a href="http://del.icio.us/johnward"&gt;del.icio.us&lt;/a&gt;. The tags I use tend to be the same as search terms&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;p&gt;
What frequently happens, maybe days, maybe weeks later I'm doing the same thing. I repeat the process as its quicker than the 2 steps of seeing if I have something bookmarked already, and then searching.
&lt;/p&gt;
&lt;p&gt;
The net effect is the value I obtain from del.icio.us is not as great as it could be. What I would like is a custom search indexes my del.icio.us links, then I could:
&lt;/p&gt;
&lt;p&gt;
&lt;ol&gt;
&lt;li&gt;Search using my custom search&lt;/li&gt;
&lt;li&gt;If any of my &lt;a href="http://del.icio.us/johnward"&gt;del.icio.us&lt;/a&gt; links match the terms in tags or content they appear first&lt;/li&gt;
&lt;li&gt;Content from the web appears second&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;p&gt;
The benefit of this would be that pre qualified pages bookmarked previously would be a higher ranking. I suppose its a personal page ranking system.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-4021140957760834548?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=oI6LDrHr8o4:fgP_qXoqJp8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=oI6LDrHr8o4:fgP_qXoqJp8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=oI6LDrHr8o4:fgP_qXoqJp8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=oI6LDrHr8o4:fgP_qXoqJp8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=oI6LDrHr8o4:fgP_qXoqJp8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=oI6LDrHr8o4:fgP_qXoqJp8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/oI6LDrHr8o4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/4021140957760834548/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=4021140957760834548" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/4021140957760834548?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/4021140957760834548?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/oI6LDrHr8o4/new-type-of-search.html" title="A new type of search" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/09/new-type-of-search.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFR3o7eip7ImA9WB9TEEw.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-291530830285845125</id><published>2007-09-17T09:25:00.000+01:00</published><updated>2007-09-17T09:40:16.402+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-17T09:40:16.402+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="collapse" /><category scheme="http://www.blogger.com/atom/ns#" term="advertising" /><category scheme="http://www.blogger.com/atom/ns#" term="sunday business post" /><category scheme="http://www.blogger.com/atom/ns#" term="northern rock" /><title>Give me risk-free savings!!!</title><content type="html">&lt;p&gt;
Talk about ballsy, in yer face advertising. Thats exactly what Northern Rock had taking up the bottom third of page 5 of the &lt;a href="http://www.thepost.ie/post/pages/p/sectiondynamic.aspx-qqqt=MARKETS-qqqs=themarket-qqqc=3.6.1.0-qqqn=1-qqqc=3.6.2.0-qqqn=1-qqqc=3.6.3.0-qqqn=1-qqqc=3.6.0.0-qqqn=20-qqqx=1.asp"&gt;Markets&lt;/a&gt; section in the &lt;a href="http://www.thepost.ie"&gt;Sunday Business Post&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
On the same page as this article:&lt;br /&gt;
&lt;a href="http://www.thepost.ie/post/pages/p/story.aspx-qqqt=THE+INSIDER-qqqs=themarket-qqqs=computersinbusiness-qqqid=26613-qqqx=1.asp"&gt;Sub-prime crisis rocks the banks&lt;/a&gt;  
&lt;blockquote&gt;The Northern Rock collapse has focused attention on inter-bank loans and the vicious circle of credit that could send shockwaves through the mortgage market.  &lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;
While on the previous page the following articles:&lt;br/&gt;
&lt;a href="http://www.thepost.ie/post/pages/p/story.aspx-qqqt=MARKETS-qqqm=nav-qqqid=26615-qqqx=1.asp"&gt;Sub-prime mortgages break Northern Rock&lt;/a&gt;  
&lt;blockquote&gt;From ‘‘Northern Crock’’ to ‘‘Northern Rocky’’, it didn’t take long for the wags to add their bit to the meltdown of Britain’s fifth largest mortgage lender.&lt;/blockquote&gt;
&lt;a href="http://www.sbpost.ie/post/pages/p/story.aspx-qqqt=MARKETS-qqqm=nav-qqqid=26616-qqqx=1.asp"&gt;Credit crunch is set to hurt bank customers&lt;/a&gt; 
&lt;blockquote&gt;Irish banks are poised to put the squeeze on customers to maintain their profits, writes David Clerkin.&lt;/blockquote&gt; 
&lt;/p&gt;
&lt;p&gt;
Incredible!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-291530830285845125?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=TBM_qWUsDU0:V8gJxbfM6M4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=TBM_qWUsDU0:V8gJxbfM6M4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=TBM_qWUsDU0:V8gJxbfM6M4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=TBM_qWUsDU0:V8gJxbfM6M4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=TBM_qWUsDU0:V8gJxbfM6M4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=TBM_qWUsDU0:V8gJxbfM6M4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/TBM_qWUsDU0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/291530830285845125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=291530830285845125" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/291530830285845125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/291530830285845125?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/TBM_qWUsDU0/give-me-risk-free-savings.html" title="Give me risk-free savings!!!" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/09/give-me-risk-free-savings.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUEQHw9fCp7ImA9WB5aF0g.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-6926081309041129711</id><published>2007-09-14T09:12:00.000+01:00</published><updated>2007-09-14T09:23:21.264+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-14T09:23:21.264+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hotmail" /><category scheme="http://www.blogger.com/atom/ns#" term="sender policy framework" /><category scheme="http://www.blogger.com/atom/ns#" term="windows live mail" /><category scheme="http://www.blogger.com/atom/ns#" term="senderid" /><category scheme="http://www.blogger.com/atom/ns#" term="spam" /><category scheme="http://www.blogger.com/atom/ns#" term="smartscreen" /><category scheme="http://www.blogger.com/atom/ns#" term="spam filters" /><category scheme="http://www.blogger.com/atom/ns#" term="spf" /><title>Mission Impossible: Getting Legitimate email to Hotmail Part II</title><content type="html">&lt;p&gt;
Here's &lt;a href="http://thinedgeofthewedge.blogspot.com/2007/04/mission-impossible-getting-legitimate.html"&gt;part I&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Microsoft have updated the process for submitting SPF/SenderID records. Although their &lt;a href="http://postmaster.hotmail.com/Guidelines.aspx"&gt;guidelines&lt;/a&gt; suggest emailing &lt;a href="mailto:senderid@microsoft.com"&gt;senderid@microsoft.com&lt;/a&gt; if you do you will get the following response:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Thank you for contacting Sender ID support.  We are in the process of providing a more robust support experience for the Sender ID Framework program.  You can reach the support and submission form by submitting your request at our website: &lt;a href="http://support.msn.com/default.aspx?productKey=senderid&amp;mkt=en-us"&gt;http://support.msn.com/default.aspx?productKey=senderid&amp;mkt=en-us&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
This is now an unmonitored alias - please use the above website to submit your request.
&lt;/p&gt;
&lt;p&gt;
Thank you - &lt;br/&gt;
The Sender ID Framework Support Team
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
I stand by my original assertion that having to register an SenderID/SPF record is stupid. 
&lt;/p&gt;
&lt;blockquote&gt;Most spam filters check the SPF automatically by doing a DNS lookup on receipt of mail, but Microsoft insist that you register your domain with their SenderID program.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-6926081309041129711?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Q-F_tTOlZ3c:D3biqAqXxVM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Q-F_tTOlZ3c:D3biqAqXxVM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Q-F_tTOlZ3c:D3biqAqXxVM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=Q-F_tTOlZ3c:D3biqAqXxVM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Q-F_tTOlZ3c:D3biqAqXxVM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Q-F_tTOlZ3c:D3biqAqXxVM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/Q-F_tTOlZ3c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/6926081309041129711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=6926081309041129711" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/6926081309041129711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/6926081309041129711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/Q-F_tTOlZ3c/mission-impossible-getting-legitimate.html" title="Mission Impossible: Getting Legitimate email to Hotmail Part II" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/09/mission-impossible-getting-legitimate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQCSHY7fip7ImA9WB5aFkQ.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-3205747723141117547</id><published>2007-09-13T14:45:00.000+01:00</published><updated>2007-09-13T15:22:49.806+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-13T15:22:49.806+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="issue" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="rubyonrails" /><category scheme="http://www.blogger.com/atom/ns#" term="migrations" /><title>Obscure rails migration issue - value set to nil</title><content type="html">&lt;h3&gt;Migrations&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://wiki.rubyonrails.org/rails/pages/UnderstandingMigrations"&gt;Migrations&lt;/a&gt; in rails allow you to version your database. It works by checking the version of the database (using the schema_info table) and then running the appropriate ruby migrations in &lt;code&gt;{RAILS_ROOT}/db/migrate&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
As an example, if version number = 1 then
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
rake db:migrate
&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
will execute all migrations named &lt;code&gt;002_{name}.rb&lt;/code&gt; and above in &lt;code&gt;{RAILS_ROOT}/db/migrate&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;
You can also specify a version to migrate to using the VERSION parameter
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
rake db:migrate VERSION=X
&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
This will execute all migrations named &lt;code&gt;002_{name}.rb&lt;/code&gt; and up to &lt;code&gt;X_{name}.rb&lt;/code&gt; in &lt;code&gt;{RAILS_ROOT}/db/migrate&lt;/code&gt; (assuming db version=1).
&lt;/p&gt;
&lt;h3&gt;Obscure Issue&lt;/h3&gt;
&lt;p&gt;
I have discovered a rather obscure issue in migrations, but only when multiple migrations are run at once.
&lt;/p&gt;
&lt;p&gt;
Suppose our database is at VERSION=1, and we have the following 2 migrations.
&lt;/p&gt;
&lt;h4&gt;oo2_add_column.rb&lt;/h4&gt;
&lt;p&gt;
&lt;code&gt;
class AddColumn &lt; ActiveRecord::Migration&lt;br /&gt;
&amp;nbsp;&amp;nbsp;def self.up&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User.find(:all) do |u|&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#do stuff with users&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;add_column :users, :new_col, :string&lt;br /&gt;
&amp;nbsp;&amp;nbsp;end&lt;br /&gt;

&amp;nbsp;&amp;nbsp;def self.down&lt;br /&gt;
&amp;nbsp;&amp;nbsp;end&lt;br /&gt;
end&lt;br /&gt;
&lt;/code&gt;
&lt;/p&gt;
&lt;h4&gt;oo3_populate_column.rb&lt;/h4&gt;
&lt;p&gt;
&lt;code&gt;
class PopulateColumn &lt; ActiveRecord::Migration&lt;br /&gt;
&amp;nbsp;&amp;nbsp;def self.up&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User.find(:all) do |u|&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.new_col = "I'm new"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.save&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;&amp;nbsp;end&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;def self.down&lt;br /&gt;
&amp;nbsp;&amp;nbsp;end&lt;br /&gt;
end&lt;br /&gt;
&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
The expected behaviour of running &lt;code&gt;rake db:migrate&lt;/code&gt; when db is at VERSION=1 would be for users to have a new column and that column set to "I'm new" for every row.
&lt;/p&gt;
&lt;p&gt;
However, that is &lt;span style="font-weight:bold;"&gt;not&lt;/span&gt; the case. The value of &lt;span style="font-weight:bold;"&gt;new_col&lt;/span&gt; will be &lt;span style="font-weight:bold;"&gt;nil.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
How so? When ActiveRecord runs against a model it caches the column information so in migration 002 the User model column information is cached. Any subsequent saves in migration 003 will ignore the new column.
&lt;/p&gt;
&lt;p&gt;
The obscurity of this is because that if each migration is run in isolation it works
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
rake db:migrate VERSION=2&lt;br /&gt;
rake db:migrate VERSION=3&lt;br /&gt;
&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
This will result in correct behaviour as each migration is executed as a separate process and therefore the column cache is reloaded. This is typically how migrations are run in development.
&lt;/p&gt;
&lt;h4&gt;Solution&lt;/h4&gt;
&lt;p&gt;
The quick and dirty solution is to explicitly call &lt;code&gt;User.reset_column_information&lt;/code&gt; after &lt;code&gt;add_column&lt;/code&gt;.  This resets all the cached information about columns, which will cause them to be reloaded on the next &lt;code&gt;User&lt;/code&gt; model request. 
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-3205747723141117547?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vbq_MrJfK34:9zcZeTpVMG8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vbq_MrJfK34:9zcZeTpVMG8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vbq_MrJfK34:9zcZeTpVMG8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=vbq_MrJfK34:9zcZeTpVMG8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vbq_MrJfK34:9zcZeTpVMG8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vbq_MrJfK34:9zcZeTpVMG8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/vbq_MrJfK34" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/3205747723141117547/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=3205747723141117547" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3205747723141117547?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3205747723141117547?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/vbq_MrJfK34/obscure-rails-migration-issue-value-set.html" title="Obscure rails migration issue - value set to nil" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/09/obscure-rails-migration-issue-value-set.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cCQnc6eSp7ImA9WB5UF0o.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-1364311219260443434</id><published>2007-08-22T09:24:00.000+01:00</published><updated>2007-08-22T09:24:23.911+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-22T09:24:23.911+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mashups" /><category scheme="http://www.blogger.com/atom/ns#" term="gme" /><category scheme="http://www.blogger.com/atom/ns#" term="yahoo pipes" /><category scheme="http://www.blogger.com/atom/ns#" term="google mashup editor" /><category scheme="http://www.blogger.com/atom/ns#" term="apis" /><title>Mashups using Google Mashup Editor and Yahoo pipes</title><content type="html">&lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;
Google have released a &lt;a href="http://editor.googlemashups.com/editor"&gt;mashup editor&lt;/a&gt;, that makes it easy to create small functional web apps using their apis.
&lt;/p&gt;
&lt;p&gt;
Yahoo have &lt;a href="http://pipes.yahoo.com"&gt;pipes&lt;/a&gt; which allows you to create, manipulate, and aggregate rss feeds.
&lt;/p&gt;
&lt;h3&gt;The Mash Up&lt;/h3&gt;
&lt;p&gt;
I want to create a mash up with the contents of the RTE news feed, hooked up with maps so the location of the news topic is pinpointed.
&lt;/p&gt;
&lt;h3&gt;Use Yahoo Pipes&lt;/h3&gt;
&lt;p&gt;
First I use yahoo pipes to suck in the &lt;a href="http://www.rte.ie/rss/news.xml"&gt;RTE feed&lt;/a&gt;. Once complete I add a location extractor. This will scan the feed items and add a y:location element if it can successfully determine location from the content.
&lt;/p&gt;
&lt;p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_y44n_zeZXmw/RsjabKZCG9I/AAAAAAAAABQ/k1PEiT2G-9k/s1600-h/Screenshot-Pipes:+editing+%27RTE+News+Geocoded%27+-+Mozilla+Firefox.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_y44n_zeZXmw/RsjabKZCG9I/AAAAAAAAABQ/k1PEiT2G-9k/s400/Screenshot-Pipes:+editing+%27RTE+News+Geocoded%27+-+Mozilla+Firefox.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5100566738177760210" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="text-decoration: line-through;"&gt;
See the pipe output &lt;a href="http://pipes.yahoo.com/pipes/pipe.info?_id=qLwt7ItO3BG5BYSn1vC6Jw"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;h3 style="text-decoration: line-through;"&gt;Use Google Mashup Editor&lt;/h3&gt;
&lt;p style="text-decoration: line-through;"&gt;
I can then use &lt;a href="http://editor.googlemashups.com/editor"&gt;google mashup editor (GME)&lt;/a&gt; to create a list of items from the Yahoo pipe.
&lt;/p&gt;
&lt;p style="text-decoration: line-through;"&gt;
The items when imported to GME get converted to &lt;a href="http://en.wikipedia.org/wiki/Atom_(standard)"&gt;atom format&lt;/a&gt;, and the y:location added by Yahoo pipes is added to the item's geo:lat and geo:long elements respectively.
&lt;/p&gt;
&lt;p style="text-decoration: line-through;"&gt;
Each item has an event handler when selected. When fired an item's geo location is parsed and used to pinpoint the location on the map.
&lt;/p&gt;
&lt;p style="text-decoration: line-through;"&gt;
You can see the end result here &lt;a href="http://rtenewsgeocoded.googlemashups.com/"&gt;http://rtenewsgeocoded.googlemashups.com/&lt;/a&gt; (currently if no location can be established the map point is random). If you select a news item the subsequent location will be pinpointed on the map.
&lt;/p&gt;
&lt;h3&gt;Update: Use Yahoo Maps with pipes&lt;/h3&gt;
&lt;p&gt;
Google maps with GME doesn't work well when only a few of the items are geocoded. It still plots them on the map at an arbitrary point.
&lt;/p&gt;
&lt;p&gt;
I started looking at this from a number of angles, one being that the location is being determined from the feed content. When the feed contains only a title and one sentence summary, that makes it it increasingly difficult.
&lt;/p&gt;
&lt;p&gt;
My first pass was to obtain the full content for the news article from another mashup tool: &lt;a href="http://www.dapper.net"&gt;Dapper&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Once Dapper is setup to extra the full content, I need to loop through each item in the original feed and construct the URL to call the &lt;a href="http://www.dapper.net/services/rte_news"&gt;dapper service&lt;/a&gt;. The result contains the full news article content, which I use to replace the original item's description. This increases the complexity of the pipe.
&lt;/p&gt;
&lt;p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_y44n_zeZXmw/RsosFqZCG-I/AAAAAAAAABY/I2Pdu3rvbEo/s1600-h/Screenshot-1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_y44n_zeZXmw/RsosFqZCG-I/AAAAAAAAABY/I2Pdu3rvbEo/s400/Screenshot-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5100938003740761058" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
You can see the updated pipe output as html &lt;a href="http://pipes.yahoo.com/pipes/pipe.run?_id=qLwt7ItO3BG5BYSn1vC6Jw"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Once I have the detailed content it should mean a higher hit ratio for geo locations. 
&lt;/p&gt;
&lt;h3&gt;Pipe + Map output&lt;/h3&gt;
&lt;p&gt;Finally, rather than using Google Maps, the Yahoo map and pipes integration works better. See the final result &lt;a href="http://pipes.yahoo.com/pipes/pipe.info?_id=qLwt7ItO3BG5BYSn1vC6Jw"&gt;here&lt;/a&gt;. The map tab shows these items that could be geocoded, while the list tab shows all items.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-1364311219260443434?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=abKDJ-GA1wI:sAQURkjt604:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=abKDJ-GA1wI:sAQURkjt604:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=abKDJ-GA1wI:sAQURkjt604:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=abKDJ-GA1wI:sAQURkjt604:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=abKDJ-GA1wI:sAQURkjt604:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=abKDJ-GA1wI:sAQURkjt604:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/abKDJ-GA1wI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/1364311219260443434/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=1364311219260443434" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1364311219260443434?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1364311219260443434?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/abKDJ-GA1wI/mashups-using-google-mashup-editor-and.html" title="Mashups using Google Mashup Editor and Yahoo pipes" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_y44n_zeZXmw/RsjabKZCG9I/AAAAAAAAABQ/k1PEiT2G-9k/s72-c/Screenshot-Pipes:+editing+%27RTE+News+Geocoded%27+-+Mozilla+Firefox.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/08/mashups-using-google-mashup-editor-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQFQHY-cCp7ImA9WB5UF00.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-4019366627487107973</id><published>2007-08-21T15:53:00.001+01:00</published><updated>2007-08-21T15:58:31.858+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-21T15:58:31.858+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mashups" /><category scheme="http://www.blogger.com/atom/ns#" term="embeddable maps" /><category scheme="http://www.blogger.com/atom/ns#" term="google maps" /><title>Embeddable Maps by Google</title><content type="html">&lt;p&gt;If you use google maps you'll know they've always offered a &lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=128+East+Wall+Road,+Dublin+3&amp;sll=53.354997,-6.229255&amp;sspn=0.016367,0.057335&amp;ie=UTF8&amp;ll=53.356417,-6.231694&amp;spn=0.016367,0.057335&amp;z=15&amp;iwloc=cent&amp;om=1"&gt;link to this map&lt;/a&gt; option.
&lt;/p&gt;
&lt;p&gt;
Now in a &lt;a href="http://www.apcmag.com/6954/google_launches_youtube_style_embeddable_maps"&gt;much anticipated move&lt;/a&gt; they have launched embeddable maps. It gives you the ability to embed maps in any web page with a snippet of HTML.
&lt;/p&gt;
&lt;p&gt;
Here's an example:
&lt;/p&gt;
&lt;p&gt;
&lt;iframe width="425" height="350" frameborder="no" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=128+East+Wall+Road,+Dublin+3&amp;sll=53.354997,-6.229255&amp;sspn=0.016367,0.057335&amp;ie=UTF8&amp;om=1&amp;s=AARTsJr4h-gqCvKiLHJaKZYURa74cEF_Tw&amp;ll=53.362999,-6.227531&amp;spn=0.017927,0.036478&amp;z=14&amp;iwloc=cent&amp;output=embed"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=128+East+Wall+Road,+Dublin+3&amp;sll=53.354997,-6.229255&amp;sspn=0.016367,0.057335&amp;ie=UTF8&amp;om=1&amp;ll=53.362999,-6.227531&amp;spn=0.017927,0.036478&amp;z=14&amp;iwloc=cent&amp;source=embed" style="color:#0000FF;text-align:left;font-size:small"&gt;View Larger Map&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-4019366627487107973?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=M79LV1PVx54:vPfKPt6TRdk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=M79LV1PVx54:vPfKPt6TRdk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=M79LV1PVx54:vPfKPt6TRdk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=M79LV1PVx54:vPfKPt6TRdk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=M79LV1PVx54:vPfKPt6TRdk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=M79LV1PVx54:vPfKPt6TRdk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/M79LV1PVx54" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/4019366627487107973/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=4019366627487107973" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/4019366627487107973?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/4019366627487107973?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/M79LV1PVx54/embeddable-maps-by-google.html" title="Embeddable Maps by Google" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/08/embeddable-maps-by-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EHQ3c_eSp7ImA9WB5UEkg.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-1540221917049904907</id><published>2007-08-16T10:37:00.000+01:00</published><updated>2007-08-16T11:20:32.941+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-16T11:20:32.941+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jonudell" /><category scheme="http://www.blogger.com/atom/ns#" term="yahoomaps" /><category scheme="http://www.blogger.com/atom/ns#" term="Ireland" /><category scheme="http://www.blogger.com/atom/ns#" term="excel" /><category scheme="http://www.blogger.com/atom/ns#" term="irishblogs" /><category scheme="http://www.blogger.com/atom/ns#" term="geocoding" /><category scheme="http://www.blogger.com/atom/ns#" term="restful routes" /><title>Excel Spreadsheet for getting geo locations</title><content type="html">&lt;h4&gt;Geocoding&lt;/h4&gt;
&lt;p&gt;
Ireland was recently added to &lt;a href="http://thinedgeofthewedge.blogspot.com/2007/08/ireland-added-to-google-maps-geocoder.html"&gt;Google Maps Geocoder&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
What I didn't know was that Yahoo already had geocoding for Ireland. In fact as far as simplistic interfaces Yahoo wins hands down. They have a &lt;a href="http://developer.yahoo.com/maps/rest/V1/geocode.html"&gt;simple rest interface for geocoding&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The parameters are listed on their site, but it means I can pass the following query and receive a response.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://local.yahooapis.com/MapsService/V1/geocode?appid=YahooDemo&amp;location=128+East+Wall+Road,Dublin+3,Ireland"&gt;http://local.yahooapis.com/MapsService/V1/geocode?appid=YahooDemo&amp;location=128+East+Wall+Road,Dublin+3,Ireland&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;Using in Excel&lt;/h4&gt;
&lt;p&gt;
I started looking at using this from Excel and found that &lt;a href="http://blog.jonudell.net/"&gt;Jon Udell&lt;/a&gt; had already &lt;a href="http://blog.jonudell.net/2007/08/10/excel-geocoding-adventures/"&gt;started something&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
He used &lt;a href="http://www.automateexcel.com/index.php/2005/07/16/geocode_an_address_using_excel_and_geoco"&gt;AutomateExcel.com&lt;/a&gt; and &lt;a href="http://www.juiceanalytics.com/writing/2006/04/excel-geocoding-tool-v2/"&gt;Juice Analytics&lt;/a&gt; as a starting point and then rolled his own.
&lt;/p&gt;
&lt;p&gt;
I did similar using Jon's as the basis but reintroducing some aspects of the others. in particular removing the dependency on XML parsing.
&lt;/p&gt;
&lt;p&gt;
The changes I have made are to include some extra columns. One, a very important one in my mind is a check link column. It autogenerates a link to &lt;a href="http://maps.google.com"&gt;Google Maps&lt;/a&gt; to the returned Geo code for manual confirmation. Also the precision, warning, and error columns are included to give back as much info as possible as the user.
&lt;/p&gt;
&lt;p&gt;
I also elected to use the Yahoo parameter &lt;code&gt;location&lt;/code&gt; which allows comma separated free text for the address, rather than the more specific params &lt;code&gt;street,city,start,zip&lt;/code&gt;.
&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;
Simple really! Add one or more addresses from row 4 onwards, into columns 2-6 and hit Auto Geocode.
&lt;/p&gt;
&lt;p&gt;
It only sends a request to Yahoo if &lt;code&gt;Address 1&lt;/code&gt; is filled in, and &lt;code&gt;Auto Location&lt;/code&gt; is blank.
&lt;/p&gt;
&lt;h5&gt;Before&lt;/h5&gt;
&lt;p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_y44n_zeZXmw/RsQhp6ZCG7I/AAAAAAAAABA/6HaF-P4h2po/s1600-h/before.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_y44n_zeZXmw/RsQhp6ZCG7I/AAAAAAAAABA/6HaF-P4h2po/s400/before.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5099237682022849458" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h5&gt;After&lt;/h5&gt;
&lt;p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_y44n_zeZXmw/RsQhxaZCG8I/AAAAAAAAABI/20al9-7n3tQ/s1600-h/after.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_y44n_zeZXmw/RsQhxaZCG8I/AAAAAAAAABI/20al9-7n3tQ/s400/after.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5099237810871868354" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;Getting the spreadsheet&lt;/h4&gt;
&lt;p&gt;
You can download it from &lt;a href="http://s3.amazonaws.com/thinedgeofthewedge/geolocations.xls"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
If decide to use it, please link back to this post.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-1540221917049904907?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vp4o1soGars:5Mz1kvMuomc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vp4o1soGars:5Mz1kvMuomc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vp4o1soGars:5Mz1kvMuomc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=vp4o1soGars:5Mz1kvMuomc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vp4o1soGars:5Mz1kvMuomc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vp4o1soGars:5Mz1kvMuomc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/vp4o1soGars" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/1540221917049904907/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=1540221917049904907" title="16 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1540221917049904907?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1540221917049904907?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/vp4o1soGars/excel-spreadsheet-for-getting-geo.html" title="Excel Spreadsheet for getting geo locations" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp3.blogger.com/_y44n_zeZXmw/RsQhp6ZCG7I/AAAAAAAAABA/6HaF-P4h2po/s72-c/before.JPG" height="72" width="72" /><thr:total>16</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/08/excel-spreadsheet-for-getting-geo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8HQH48fCp7ImA9WB5VEU4.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-5383971648956951789</id><published>2007-08-03T10:32:00.000+01:00</published><updated>2007-08-03T10:37:11.074+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-03T10:37:11.074+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="addresses" /><category scheme="http://www.blogger.com/atom/ns#" term="geocoding" /><category scheme="http://www.blogger.com/atom/ns#" term="google maps" /><title>Ireland added to Google Maps geocoder</title><content type="html">&lt;p&gt;See the link here&lt;/p&gt;

&lt;p&gt;&lt;a href="http://googlemapsapi.blogspot.com/2007/08/looking-for-somewhere-in-india-hong.html"&gt;http://googlemapsapi.blogspot.com/2007/08/looking-for-somewhere-in-india-hong.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter an address without commas e.g. '128 East Wall Road Dublin 3 Ireland'&lt;/p&gt;

&lt;p&gt;See an example&lt;/p&gt;

&lt;p&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=128+East+Wall+Road+Dublin+3+Ireland&amp;sll=53.356421,-6.231713&amp;sspn=0.016367,0.057335&amp;ie=UTF8&amp;z=15&amp;iwloc=cent&amp;om=1"&gt;http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=128+East+Wall+Road+Dublin+3+Ireland&amp;sll=53.356421,-6.231713&amp;sspn=0.016367,0.057335&amp;ie=UTF8&amp;z=15&amp;iwloc=cent&amp;om=1&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-5383971648956951789?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=25VeEb-UTxo:6gQ8l82J2BQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=25VeEb-UTxo:6gQ8l82J2BQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=25VeEb-UTxo:6gQ8l82J2BQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=25VeEb-UTxo:6gQ8l82J2BQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=25VeEb-UTxo:6gQ8l82J2BQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=25VeEb-UTxo:6gQ8l82J2BQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/25VeEb-UTxo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/5383971648956951789/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=5383971648956951789" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/5383971648956951789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/5383971648956951789?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/25VeEb-UTxo/ireland-added-to-google-maps-geocoder.html" title="Ireland added to Google Maps geocoder" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/08/ireland-added-to-google-maps-geocoder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYGQ3k8eCp7ImA9WxZTGUk.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-1098182992818660773</id><published>2007-08-03T09:46:00.000+01:00</published><updated>2008-01-21T20:42:02.770Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-21T20:42:02.770Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mongrel_cluster" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="mongrel" /><category scheme="http://www.blogger.com/atom/ns#" term="rubyonrails" /><category scheme="http://www.blogger.com/atom/ns#" term="capistrano" /><title>Mongrel and Capistrano 2.0</title><content type="html">&lt;p&gt;I use &lt;a href="http://www.capify.org/"&gt;Capistrano&lt;/a&gt;, and &lt;a href="http://mongrel.rubyforge.org/"&gt;Mongrel&lt;/a&gt;. Mongrel comes prepackaged with capistrano 1.4 &lt;a href="http://viewvc.rubyforge.mmmultiworks.com/cgi/viewvc.cgi/trunk/projects/mongrel_cluster/lib/mongrel_cluster/recipes.rb?view=markup&amp;root=mongrel&amp;pathrev=532"&gt;recipes&lt;/a&gt; for stopping and starting, making it a cinch to roll a new version and stop and start your service.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://groups.google.com/group/capistrano/browse_thread/thread/bff73444c05e99e1/8ec1fa83baf10534?#8ec1fa83baf10534"&gt;Capistrano 2.0&lt;/a&gt; has just been released, and mongrel hasn't yet been updated. The solution is to roll your own tasks for mongrel. You can do this by adding the following to your project's deploy.rb file.
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;Update: minor bug fixed in code. Thanks to funkdoobiest for pointing it out.&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;Update: mongrel_conf may need to be defined in your deploy.rb as &lt;a href="http://meekish.myopenid.com/"&gt;meekish&lt;/a&gt; points out in the comments.&lt;br/&gt;&lt;br/&gt;
set :mongrel_conf, "#{deploy_to}/current/config/mongrel_cluster.yml"
&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;&lt;br/&gt;
namespace :deploy do&lt;br/&gt; 
&amp;nbsp;&amp;nbsp;namespace :mongrel do&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ :stop, :start, :restart ].each do |t|&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;desc "#{t.to_s.capitalize} the mongrel appserver"&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;task t, :roles =&gt; :app do&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#invoke_command checks the use_sudo variable to determine how to run the mongrel_rails command&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;invoke_command "mongrel_rails cluster::#{t.to_s} -C #{mongrel_conf}", :via =&gt; run_method         &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;desc "Custom restart task for mongrel cluster"&lt;br/&gt;
&amp;nbsp;&amp;nbsp;task :restart, :roles =&gt; :app, :except =&gt; { :no_release =&gt; true } do&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deploy.mongrel.restart&lt;br/&gt;
&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;desc "Custom start task for mongrel cluster"&lt;br/&gt;
&amp;nbsp;&amp;nbsp;task :start, :roles =&gt; :app do&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deploy.mongrel.start&lt;br/&gt;
&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;desc "Custom stop task for mongrel cluster"&lt;br/&gt;
&amp;nbsp;&amp;nbsp;task :stop, :roles =&gt; :app do&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deploy.mongrel.stop&lt;br/&gt;
&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&lt;br/&gt;  
end&lt;br/&gt;
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Capistano already has tasks for &lt;code&gt;deploy:restart, deploy:start, and deploy:stop&lt;/code&gt;. What the code above does is add the following tasks:
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;&lt;br/&gt;
deploy:mongrel:start&lt;br/&gt;
deploy:mongrel:restart&lt;br/&gt;
deploy:mongrel:stop&lt;br/&gt;
&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
It then overrides the default &lt;code&gt;deploy:restart, deploy:start, and deploy:stop&lt;/code&gt; tasks to call the mongrel ones.
&lt;/p&gt;
&lt;p&gt;
So now the following commands: stop, start and restart your mongrel servers respectively.
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
cap deploy:stop&lt;br/&gt;
cap deploy:start&lt;br/&gt;
cap deploy:restart&lt;br/&gt;
&lt;/code&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-1098182992818660773?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=LKL1qeglQDg:IK31CqMyeNg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=LKL1qeglQDg:IK31CqMyeNg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=LKL1qeglQDg:IK31CqMyeNg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=LKL1qeglQDg:IK31CqMyeNg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=LKL1qeglQDg:IK31CqMyeNg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=LKL1qeglQDg:IK31CqMyeNg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/LKL1qeglQDg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/1098182992818660773/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=1098182992818660773" title="17 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1098182992818660773?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1098182992818660773?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/LKL1qeglQDg/mongrel-and-capistrano-20.html" title="Mongrel and Capistrano 2.0" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>17</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/08/mongrel-and-capistrano-20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04MQX84eip7ImA9WB5WGU8.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-3961655266002507110</id><published>2007-07-31T23:23:00.000+01:00</published><updated>2007-07-31T23:46:20.132+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-31T23:46:20.132+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="follow_redirect" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="testing" /><category scheme="http://www.blogger.com/atom/ns#" term="restful routes" /><title>Testing RESTful route redirection in Ruby on Rails</title><content type="html">If you're doing functional testing with rails, you'll undoubtedly use &lt;code&gt;follow_redirect&lt;/code&gt; - it allows you to follow the redirection for further tests.&lt;br/&gt;&lt;br/&gt;

&lt;code&gt;
&amp;nbsp;&amp;nbsp;def test_something&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get :index&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert_response :redirect&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;follow_redirect&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert_response :success&lt;br/&gt;
&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&lt;/code&gt;

However, the above code doesn't work when redirecting to a RESTful resource path. You'll get an error:&lt;br/&gt;
&lt;blockquote&gt;
Exception: can't convert Symbol to String
&lt;/blockquote&gt;&lt;br/&gt;

This is because the URL helpers for restful resources return a string, where &lt;code&gt;follow_redirect&lt;/code&gt; expects a hash.&lt;br/&gt;&lt;br/&gt;

The following code in your &lt;code&gt;test_helper.rb&lt;/code&gt; file resolves this. It checks the type first to see if the normal &lt;code&gt;follow_redirect&lt;/code&gt; should be called.&lt;br/&gt;&lt;br/&gt;

If not, it parses the path and calls the appropriate action thus following the redirection.&lt;br/&gt;&lt;br/&gt;

&lt;code&gt;
&amp;nbsp;&amp;nbsp;alias_method_chain :follow_redirect, :restful_routes&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;def follow_redirect_with_restful_routes&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#use the normal one unless its a string&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return follow_redirect_without_restful_routes unless @response.redirected_to.is_a?(String)    
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#okay we need to follow the redirect, but first parse the path&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url = URI.parse(@response.redirected_to)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;path = url.path&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;extras = CGI.parse(url.query)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#parse puts values into array so flatten&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;extras.each do |key, value|&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;extras[key] = value[0] if value.is_a?(Array) &amp;&amp;amp; value.length == 1&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# Assume given controller&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;request = ActionController::TestRequest.new({}, {}, nil)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;request.env["REQUEST_METHOD"] = "GET"&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;equest.path = path&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;redirected_controller = ActionController::Routing::Routes.recognize(request)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if @controller.is_a?(redirected_controller)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#then we can redirect, otherwise we can't'&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get request.path_parameters[:action], extras.symbolize_keys!&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br/&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raise "Can't follow redirects outside of current controller (from #{@controller.controller_name} to #{redirected_controller})"&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-3961655266002507110?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Wtz2MLiUr6Y:PqcqdKn4kCk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Wtz2MLiUr6Y:PqcqdKn4kCk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Wtz2MLiUr6Y:PqcqdKn4kCk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=Wtz2MLiUr6Y:PqcqdKn4kCk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Wtz2MLiUr6Y:PqcqdKn4kCk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=Wtz2MLiUr6Y:PqcqdKn4kCk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/Wtz2MLiUr6Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/3961655266002507110/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=3961655266002507110" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3961655266002507110?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3961655266002507110?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/Wtz2MLiUr6Y/testing-restful-route-redirection-in.html" title="Testing RESTful route redirection in Ruby on Rails" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/07/testing-restful-route-redirection-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UNQHc6fSp7ImA9WB5XE08.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-1468813399430481403</id><published>2007-07-13T13:10:00.000+01:00</published><updated>2007-07-13T13:21:31.915+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-13T13:21:31.915+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="rubyireland" /><category scheme="http://www.blogger.com/atom/ns#" term="codejam" /><category scheme="http://www.blogger.com/atom/ns#" term="rubyonrails" /><title>Dublin Codejam</title><content type="html">One of the exciting things happening with the &lt;a href="http://rubyireland.com/"&gt;Ruby Ireland&lt;/a&gt; &lt;a href="http://www.facebook.com/group.php?gid=2366446703"&gt;group&lt;/a&gt; is Code Jam.
&lt;br /&gt;&lt;br /&gt;
The principle was first &lt;a href="http://groups.google.com/group/ruby_ireland/msg/6c07a24bc610b56b"&gt;proposed by Colm McHugh&lt;/a&gt;.
&lt;br /&gt;&lt;br /&gt;
&lt;a href="http://ozonesoft.net/"&gt;Oliver&lt;/a&gt; has setup a &lt;a href="http://dublincodejam.pbwiki.com/"&gt;wiki&lt;/a&gt; page to discuss possible projects.
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-1468813399430481403?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=VylVELPTaAA:Oh7UWHzVLB8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=VylVELPTaAA:Oh7UWHzVLB8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=VylVELPTaAA:Oh7UWHzVLB8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=VylVELPTaAA:Oh7UWHzVLB8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=VylVELPTaAA:Oh7UWHzVLB8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=VylVELPTaAA:Oh7UWHzVLB8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/VylVELPTaAA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/1468813399430481403/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=1468813399430481403" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1468813399430481403?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/1468813399430481403?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/VylVELPTaAA/dublin-codejam.html" title="Dublin Codejam" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/07/dublin-codejam.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkICSX8yfCp7ImA9WB5XEE0.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-4244396546738241877</id><published>2007-07-09T17:56:00.000+01:00</published><updated>2007-07-09T18:02:48.194+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-09T18:02:48.194+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="rubyonrails" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>My ex-employer Oracle looking for rails developers</title><content type="html">If anymore evidence was needed that rails is going mainstream then &lt;a href="http://oracleappslab.com/2007/07/06/are-you-passionate-about-ruby-on-rails-were-hiring/"&gt;here it is&lt;/a&gt; (via &lt;a href="http://www.rubyinside.com/oracle-looking-for-rails-developers-550.html"&gt;Ruby Inside&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-4244396546738241877?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vue25yRPSbQ:IwQzC6kmVX4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vue25yRPSbQ:IwQzC6kmVX4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vue25yRPSbQ:IwQzC6kmVX4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=vue25yRPSbQ:IwQzC6kmVX4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vue25yRPSbQ:IwQzC6kmVX4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=vue25yRPSbQ:IwQzC6kmVX4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/vue25yRPSbQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/4244396546738241877/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=4244396546738241877" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/4244396546738241877?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/4244396546738241877?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/vue25yRPSbQ/my-ex-employer-oracle-looking-for-rails.html" title="My ex-employer Oracle looking for rails developers" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/07/my-ex-employer-oracle-looking-for-rails.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AMRHYycCp7ImA9WB5QF00.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-3938713032153435710</id><published>2007-07-06T09:12:00.000+01:00</published><updated>2007-07-06T09:16:25.898+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-06T09:16:25.898+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="amazon ec2" /><category scheme="http://www.blogger.com/atom/ns#" term="ami" /><title>Amazon EC2 - Paid AMIs</title><content type="html">Amazon Machine Instances (AMI) can be created with a specific software stack, registered and then run on EC2. Up until now they've relied on the community for public AMIs and I've used &lt;a href="http://pauldowman.com/projects/ruby-on-rails-ec2/"&gt;some of them&lt;/a&gt;.

They have just announced &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=867"&gt;paid AMIs&lt;/a&gt; where developers/companies can charge for prepackaged AMIs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-3938713032153435710?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=WYCPMVsNiXQ:sOItj8o8ejM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=WYCPMVsNiXQ:sOItj8o8ejM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=WYCPMVsNiXQ:sOItj8o8ejM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=WYCPMVsNiXQ:sOItj8o8ejM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=WYCPMVsNiXQ:sOItj8o8ejM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=WYCPMVsNiXQ:sOItj8o8ejM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/WYCPMVsNiXQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/3938713032153435710/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=3938713032153435710" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3938713032153435710?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/3938713032153435710?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/WYCPMVsNiXQ/amazon-ec2-paid-amis.html" title="Amazon EC2 - Paid AMIs" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/07/amazon-ec2-paid-amis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMGQXw4eSp7ImA9WB5RGEk.&quot;"><id>tag:blogger.com,1999:blog-6825910.post-8574052463866889684</id><published>2007-06-26T09:39:00.000+01:00</published><updated>2007-06-26T09:43:40.231+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-06-26T09:43:40.231+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="free" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="book" /><title>Free Ubuntu book online</title><content type="html">&lt;a href="http://www.amazon.com/Official-Ubuntu-Book-Benjamin-Mako/dp/0132435942/ref=pd_bbs_2/102-8108674-7434509?ie=UTF8&amp;s=books&amp;qid=1182847304&amp;sr=8-2"&gt;The Official Ubuntu book&lt;/a&gt; is available &lt;a href="http://book.opensourceproject.org.cn/distrib/ubuntu/official/"&gt;online for free&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6825910-8574052463866889684?l=thinedgeofthewedge.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=6JwSfU2PkOE:ZzKEFSBfMeI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=6JwSfU2PkOE:ZzKEFSBfMeI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=6JwSfU2PkOE:ZzKEFSBfMeI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?i=6JwSfU2PkOE:ZzKEFSBfMeI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=6JwSfU2PkOE:ZzKEFSBfMeI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?a=6JwSfU2PkOE:ZzKEFSBfMeI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ThinEdgeOfTheWedge?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ThinEdgeOfTheWedge/~4/6JwSfU2PkOE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://thinedgeofthewedge.blogspot.com/feeds/8574052463866889684/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6825910&amp;postID=8574052463866889684" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/8574052463866889684?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6825910/posts/default/8574052463866889684?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThinEdgeOfTheWedge/~3/6JwSfU2PkOE/free-ubuntu-book-online.html" title="Free Ubuntu book online" /><author><name>Cengal</name><uri>http://www.blogger.com/profile/18049888663336289576</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/4402/389/320/150611-update.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://thinedgeofthewedge.blogspot.com/2007/06/free-ubuntu-book-online.html</feedburner:origLink></entry></feed>

