<?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;CUQNSX0-cSp7ImA9WhRVFUg.&quot;"><id>tag:blogger.com,1999:blog-12794049</id><updated>2012-01-15T02:03:18.359+11:00</updated><category term="images" /><category term="turntable" /><category term="western digital" /><category term="funny" /><category term="web" /><category term="movies" /><category term="books" /><category term="development" /><category term="ads" /><category term="powerbook" /><category term="maven" /><category term="upgrade" /><category term="cute" /><category term="anchorman" /><category term="diary" /><category term="firefox" /><category term="billion" /><category term="tips" /><category term="family" /><category term="findbugs" /><category term="video" /><category term="firmware" /><category term="webdev" /><category term="review" /><category term="work" /><category term="rant" /><category term="kids" /><category term="safari" /><category term="java" /><category term="rock" /><category term="wifi" /><category term="extra cheesy" /><category term="security" /><category term="cartoon" /><category term="moderation" /><category term="bash" /><category term="wpa" /><category term="photo" /><category term="gig" /><category term="html" /><category term="errors" /><category term="mac" /><category term="praise" /><category term="design" /><category term="mp3" /><category term="network" /><category term="blogging" /><category term="widget" /><category term="self-help" /><category term="itunes" /><category term="google" /><category term="ruby" /><category term="animals" /><category term="babies" /><category term="support" /><category term="javascript" /><category term="apple" /><category term="christmas" /><category term="80s" /><category term="youtube" /><category term="prices" /><category term="philippines" /><category term="osx" /><category term="interface" /><category term="hypnosis" /><category term="airport" /><category term="social networking" /><category term="plugin" /><category term="shell" /><category term="geeky" /><category term="animation" /><category term="script" /><category term="trailer" /><category term="want" /><category term="zooey" /><category term="code" /><category term="mmog" /><category term="tech" /><category term="personal" /><category term="tickets" /><category term="programming" /><category term="culture" /><category term="lovesong" /><category term="modem" /><category term="music" /><category term="games" /><category term="dashboard" /><category term="happy" /><category term="relaxation" /><category term="cool" /><category term="dreams" /><category term="web2.0" /><category term="wireless" /><category term="artifactory" /><category term="unix" /><category term="sucks" /><category term="70s" /><category term="quotes" /><category term="weird" /><category term="fail" /><category term="health" /><category term="polyphonicspree" /><title>The Wrath of Krang</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://krangsquared.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>208</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/blogspot/EFbFZ" /><feedburner:info uri="blogspot/efbfz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D0MBQns-eip7ImA9WhRVFE4.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-3686623872028383495</id><published>2012-01-13T17:17:00.001+11:00</published><updated>2012-01-13T17:17:33.552+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T17:17:33.552+11:00</app:edited><title>Q: What is a blog?</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ALop--rXi7EzAx3qFdUL2uio3LY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ALop--rXi7EzAx3qFdUL2uio3LY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ALop--rXi7EzAx3qFdUL2uio3LY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ALop--rXi7EzAx3qFdUL2uio3LY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Q on Yammer:&lt;p&gt;&amp;quot;now what about the question - is an online journal the same as blog?&lt;br&gt;although technically a blog is a weblog, blogs have grown into a&lt;br&gt;public domain where people discuss and banter over a certain topic or&lt;br&gt;discussion raised by the blogger. an online journal on the other hand&lt;br&gt;could be a dear diary or a &amp;quot;whate happened to me today&amp;quot;. any thoughts&lt;br&gt;on this?&amp;quot;&lt;p&gt;A:&lt;p&gt;a blog is a blog&lt;br&gt;you can use it to share&lt;br&gt;or you can use it to care&lt;br&gt;you can use it to joke&lt;br&gt;or you can use it to poke&lt;br&gt;you can talk to other people&lt;br&gt;or stay alone in your steeple&lt;p&gt;its just a way to go &amp;#39;bla bla bla&amp;#39;&lt;br&gt;and the only difference is&lt;br&gt;WHY you go &amp;#39;bla bla bla&amp;#39;&lt;p&gt;(apologies to Dr Seuss)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-3686623872028383495?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/JfCQ5wU4n-c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/3686623872028383495/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=3686623872028383495" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/3686623872028383495?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/3686623872028383495?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/JfCQ5wU4n-c/q-what-is-blog.html" title="Q: What is a blog?" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2012/01/q-what-is-blog.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8FR3s_eip7ImA9WhRVEkk.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-396695748823193118</id><published>2012-01-11T11:13:00.001+11:00</published><updated>2012-01-11T11:13:36.542+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T11:13:36.542+11:00</app:edited><title>Reintegration merge in SVN using TortoiseSvn</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/foH8sfV2fx1cojyOT9X0GZCKWRM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/foH8sfV2fx1cojyOT9X0GZCKWRM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/foH8sfV2fx1cojyOT9X0GZCKWRM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/foH8sfV2fx1cojyOT9X0GZCKWRM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Currently doing some reintegration merges in SVN, and one thing&lt;br&gt;tripped me up.  I forgot to commit the mergeinfo file that got created&lt;br&gt;during the merge!! This would have meant that SVN would have no&lt;br&gt;knowledge that a branch was already reintegrated back into trunk (or&lt;br&gt;another branch).&lt;p&gt;The process using TortoiseSVN would be:&lt;p&gt;For example, where we are merging big_branch_1 into trunk&lt;p&gt;1. Checkout trunk into working directory and go into this directory in Explorer&lt;p&gt;2. Using TortoiseSvn right-click and select TortoiseSvn --&amp;gt; Merge&lt;p&gt;3. On the Merge dialog box, select &amp;quot;Reintegrate a branch&amp;quot; radio&lt;br&gt;button, click Next&lt;p&gt;4. Under &amp;quot;Tree merge&amp;quot;, and under &amp;quot;From URL&amp;quot; select the branch we want&lt;br&gt;to reintegrate, then click on Next.&lt;p&gt;5. Under &amp;quot;Merge options&amp;quot;, you can select options such as ignoring or&lt;br&gt;comparing whitespace differences, etc.&lt;br&gt;I normally click on &amp;quot;Test merge&amp;quot; so it can go through a test of the&lt;br&gt;merge and show in advance any potential conflicts. (I haven&amp;#39;t seen&lt;br&gt;any, but I think that&amp;#39;s what it does)&lt;p&gt;7. Click on &amp;quot;Merge&amp;quot;, and fix any conflicts that come up.&lt;p&gt;6. After that&amp;#39;s done, do a commit, and put in an appropriate message&lt;br&gt;to indicate what you&amp;#39;ve done&lt;p&gt;7. NOTE 1: During the commit, make sure &amp;quot;Show unversioned files&amp;quot;&lt;br&gt;checkbox is ticked&lt;p&gt;NOTE 2: There will be an additional, unversioned change listed in the&lt;br&gt;commit list. At first I thought it was a new file, but it&amp;#39;s actually&lt;br&gt;an updated SVN property.&lt;br&gt;The svn:mergeinfo property  make sure you commit this change,&lt;br&gt;otherwise, SVN doesn&amp;#39;t know that a branch has been reintegrated.&lt;p&gt;If you leave out this file from a commit, all that SVN knows is that&lt;br&gt;you put in a bunch of changes to a number of files.&lt;p&gt;In one earlier merge, I rolled back the &amp;quot;file&amp;quot;. So I just went back&lt;br&gt;into that directory, ran through the merge again, and committed the&lt;br&gt;updated svn:mergeinfo.&lt;br&gt;There shouldn&amp;#39;t be any other changes to commit since the changed files&lt;br&gt;have already committed. I only did this so that svn:mergeinfo was up&lt;br&gt;to date.&lt;p&gt;Some information in this post may be incorrect as I&amp;#39;ve never had to do&lt;br&gt;these types of merges before. I&amp;#39;ll update them once I&amp;#39;ve read up more&lt;br&gt;on this.&lt;p&gt;Further reading:&lt;p&gt;&lt;a href="http://durak.org/sean/pubs/software/version-control-with-subversion-1.6/svn.branchmerge.basicmerging.html"&gt;http://durak.org/sean/pubs/software/version-control-with-subversion-1.6/svn.branchmerge.basicmerging.html&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.collab.net/community/subversion/articles/merge-info.html"&gt;http://www.collab.net/community/subversion/articles/merge-info.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-396695748823193118?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/dyh4qEJs8pY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/396695748823193118/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=396695748823193118" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/396695748823193118?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/396695748823193118?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/dyh4qEJs8pY/reintegration-merge-in-svn-using.html" title="Reintegration merge in SVN using TortoiseSvn" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2012/01/reintegration-merge-in-svn-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYHRHw6cCp7ImA9WhRXEkg.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-2269217300432351592</id><published>2011-12-19T11:21:00.000+11:00</published><updated>2011-12-19T11:22:15.218+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T11:22:15.218+11:00</app:edited><title>Guardian: Voices of Finance article</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RIyThe5b0WvOQCQ231AUA3r60oc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RIyThe5b0WvOQCQ231AUA3r60oc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RIyThe5b0WvOQCQ231AUA3r60oc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RIyThe5b0WvOQCQ231AUA3r60oc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://m.guardian.co.uk/commentisfree/2011/dec/12/voices-of-finance-it-consultant-developer?cat=commentisfree&amp;amp;type=article"&gt;http://m.guardian.co.uk/commentisfree/2011/dec/12/voices-of-finance-it-consultant-developer?cat=commentisfree&amp;amp;type=article&lt;/a&gt;&lt;p&gt;The environment described by this developer sounds very familiar to&lt;br&gt;anyone who&amp;#39;s worked practically *anywhere*. :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-2269217300432351592?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/9UEq8Ut3ip4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/2269217300432351592/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=2269217300432351592" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/2269217300432351592?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/2269217300432351592?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/9UEq8Ut3ip4/guardian-voices-of-finance-article.html" title="Guardian: Voices of Finance article" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/12/guardian-voices-of-finance-article.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8NR3g7cSp7ImA9WhRTGE0.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-8228555300922212590</id><published>2011-11-09T12:41:00.001+11:00</published><updated>2011-11-09T12:41:36.609+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T12:41:36.609+11:00</app:edited><title>Senseless corporate doublespeak sample #001</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Dczg7YguSwam_GJtxuattvMax8I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Dczg7YguSwam_GJtxuattvMax8I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Dczg7YguSwam_GJtxuattvMax8I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Dczg7YguSwam_GJtxuattvMax8I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Original text:&lt;p&gt;&amp;quot;Through these discussions, we have also identified opportunities to&lt;br&gt;change the role of PC&amp;amp;S in ways that will better support the execution&lt;br&gt;of the IT strategy. By specifically leveraging the discipline and&lt;br&gt;framework of the SMO, as well as accelerating the decision to combine&lt;br&gt;this function with the PMO function, we can focus on our sourcing&lt;br&gt;strategy and continue the emphasis on agile roll out and our people&lt;br&gt;leadership program.&amp;quot;&lt;p&gt;What I think it means:&lt;p&gt;This role will be abolished. Some of its functions will be done by someone else.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-8228555300922212590?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/DCv2z0Lya8Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/8228555300922212590/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=8228555300922212590" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/8228555300922212590?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/8228555300922212590?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/DCv2z0Lya8Q/senseless-corporate-doublespeak-sample.html" title="Senseless corporate doublespeak sample #001" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/11/senseless-corporate-doublespeak-sample.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4HQH8zfip7ImA9WhdbGUk.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-551502949106033575</id><published>2011-10-19T01:25:00.000+11:00</published><updated>2011-10-19T01:25:31.186+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-19T01:25:31.186+11:00</app:edited><title>Steve Jobs on customer experience (WWDC 97)</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6vVLW62syxIWxwchCnUp7azQIio/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6vVLW62syxIWxwchCnUp7azQIio/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6vVLW62syxIWxwchCnUp7azQIio/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6vVLW62syxIWxwchCnUp7azQIio/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/FF-tKLISfPE" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
(the quote starts from 1:55)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
You've got to start with the customer experience and work backwards to the technology. You can't start with the technology and try to figure out where you're gonna try to sell it. &lt;br /&gt;
...&lt;br /&gt;
It started with "What incredible benefits can we give the customer? Where can we take the customer"? Not starting with "Let's sit down with the engineers and figure out what awesome technology we have and how are we gonna market that?" And I think that's the right path to take.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-551502949106033575?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/YtRiUtGdjEI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/551502949106033575/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=551502949106033575" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/551502949106033575?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/551502949106033575?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/YtRiUtGdjEI/steve-jobs-on-customer-experience-wwdc.html" title="Steve Jobs on customer experience (WWDC 97)" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/FF-tKLISfPE/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/10/steve-jobs-on-customer-experience-wwdc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEHSXY6eCp7ImA9WhdbFEs.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-4979370244977711290</id><published>2011-10-13T10:32:00.001+11:00</published><updated>2011-10-13T10:37:18.810+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-13T10:37:18.810+11:00</app:edited><title>Note to self when using java regex - always call Matcher.matches() so that text matching actually happens</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-H3y3EKPHl9LZ6E5t50a0_3GUKE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-H3y3EKPHl9LZ6E5t50a0_3GUKE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-H3y3EKPHl9LZ6E5t50a0_3GUKE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-H3y3EKPHl9LZ6E5t50a0_3GUKE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
The general pattern of usage is:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
1. regexString = [REGEX]&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
2. final Pattern p = Pattern.compile(regexString);&lt;/div&gt;
&lt;div&gt;
3. final Matcher matcher = p.matcher(text_to_match);&lt;/div&gt;
&lt;div&gt;
4. matcher.matches()&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;DO NOT FORGET to call Matcher.matches()&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Otherwise you will get messages like:&lt;br /&gt;
&lt;br /&gt;
java.lang.IllegalStateException: No match found&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;/span&gt;at java.util.regex.Matcher.group(Matcher.java:468)&lt;br /&gt;
&lt;br /&gt;
and you'll be wondering why because you have confirmed that the regex itself is correct. (&lt;a href="http://www.fileformat.info/tool/regex.htm"&gt;http://www.fileformat.info/tool/regex.htm&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://rubular.com/"&gt;http://rubular.com/&lt;/a&gt;&amp;nbsp;are&amp;nbsp;useful tools for doing this quickly)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
REMEMBER: call .matches() so that our Matcher actually performs the matching!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Just wasted 10 minutes wondering what I was doing wrong.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-4979370244977711290?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/FNNQlpvqnXI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/4979370244977711290/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=4979370244977711290" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/4979370244977711290?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/4979370244977711290?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/FNNQlpvqnXI/note-to-self-when-using-java-regex.html" title="Note to self when using java regex - always call Matcher.matches() so that text matching actually happens" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/10/note-to-self-when-using-java-regex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08HQ3s7cCp7ImA9WhdbEkw.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-4341392384590117597</id><published>2011-10-10T15:10:00.001+11:00</published><updated>2011-10-10T15:10:32.508+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-10T15:10:32.508+11:00</app:edited><title>Readings to check out: Knockout.js, HTML5 data attributes, YepNope, H5F</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6hNnUyDVzWMeKiBGPBknNOqOv2A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6hNnUyDVzWMeKiBGPBknNOqOv2A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6hNnUyDVzWMeKiBGPBknNOqOv2A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6hNnUyDVzWMeKiBGPBknNOqOv2A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;* Knockout.js - Simplify dynamic JavaScript UIs by applying the&lt;br&gt;Model-View-View Model (MVVM)&lt;p&gt;&lt;a href="http://knockoutjs.com/"&gt;http://knockoutjs.com/&lt;/a&gt;&lt;p&gt;&lt;a href="http://blog.stevensanderson.com/2010/07/05/introducing-knockout-a-ui-library-for-javascript/"&gt;http://blog.stevensanderson.com/2010/07/05/introducing-knockout-a-ui-library-for-javascript/&lt;/a&gt;&lt;p&gt;&lt;a href="http://knockoutjs.com/documentation/template-binding.html"&gt;http://knockoutjs.com/documentation/template-binding.html&lt;/a&gt;&lt;p&gt;&lt;a href="http://blog.stevensanderson.com/2010/07/12/editing-a-variable-length-list-knockout-style/"&gt;http://blog.stevensanderson.com/2010/07/12/editing-a-variable-length-list-knockout-style/&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.knockmeout.net/2011/03/using-external-jquery-template-files.html"&gt;http://www.knockmeout.net/2011/03/using-external-jquery-template-files.html&lt;/a&gt;&lt;p&gt;&lt;a href="http://stackoverflow.com/questions/6892067/spring-mvc-html-question"&gt;http://stackoverflow.com/questions/6892067/spring-mvc-html-question&lt;/a&gt;&lt;p&gt;&lt;br&gt;* HTML5 data attributes&lt;p&gt;&lt;a href="http://html5doctor.com/html5-custom-data-attributes/"&gt;http://html5doctor.com/html5-custom-data-attributes/&lt;/a&gt;&lt;p&gt;&lt;a href="http://ajaxian.com/archives/embed-your-data-in-html-5"&gt;http://ajaxian.com/archives/embed-your-data-in-html-5&lt;/a&gt;&lt;p&gt;&lt;a href="http://dev.w3.org/html5/spec/elements.html#embedding-custom-non-visible-data-with-the-data-attributes"&gt;http://dev.w3.org/html5/spec/elements.html#embedding-custom-non-visible-data-with-the-data-attributes&lt;/a&gt;&lt;p&gt;&lt;br&gt;* YepNope -  yepnope is an asynchronous conditional resource loader&lt;br&gt;that&amp;#39;s super-fast, and allows you to load only the scripts that your&lt;br&gt;users need. &amp;quot;yepnope.js is integrated into Modernizr.&amp;quot;&lt;p&gt;&lt;a href="http://yepnopejs.com/"&gt;http://yepnopejs.com/&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.sitepoint.com/regressive-enhancement-with-modernizr-and-yepnope/"&gt;http://www.sitepoint.com/regressive-enhancement-with-modernizr-and-yepnope/&lt;/a&gt;&lt;p&gt;*  H5F -  JavaScript library that allows you to use the HTML5 Forms&lt;br&gt;chapters new field input types, attributes and constraint validation&lt;br&gt;API in non-supporting browsers.&lt;p&gt;&lt;a href="https://github.com/ryanseddon/H5F"&gt;https://github.com/ryanseddon/H5F&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-4341392384590117597?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/6fFLYnS35A0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/4341392384590117597/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=4341392384590117597" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/4341392384590117597?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/4341392384590117597?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/6fFLYnS35A0/readings-to-check-out-knockoutjs-html5.html" title="Readings to check out: Knockout.js, HTML5 data attributes, YepNope, H5F" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/10/readings-to-check-out-knockoutjs-html5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUMQH4-eyp7ImA9WhdWGEU.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-1306182659446083550</id><published>2011-09-13T12:17:00.000+10:00</published><updated>2011-09-13T12:18:01.053+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T12:18:01.053+10:00</app:edited><title>Use Windows path separators if you're using the JDK keytool in Windows - backslash "\" not forwardslash "/"</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8SXXhrsMo66e6CUaXC7BaVteQfE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8SXXhrsMo66e6CUaXC7BaVteQfE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8SXXhrsMo66e6CUaXC7BaVteQfE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8SXXhrsMo66e6CUaXC7BaVteQfE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This error &amp;quot;keytool error: java.io.IOException: Keystore was tampered&lt;br&gt;with, or password was incorrect&amp;quot; may not really mean a password or&lt;br&gt;keystore problem.&lt;p&gt;Here&amp;#39;s my story:&lt;p&gt;Kept trying various passwords to add a certificate to my JRE CA using&lt;br&gt;this command:&lt;p&gt;./keytool.exe -v -alias certalias -import -file &amp;lt;DomainRootCA&amp;gt;.crt&lt;br&gt;-keystore ../jre/lib/security/cacerts&lt;p&gt;And I kept getting&lt;p&gt;keytool error: java.io.IOException: Keystore was tampered with, or&lt;br&gt;password was incorrect&lt;br&gt;java.io.IOException: Keystore was tampered with, or password was incorrect&lt;br&gt;        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:771)&lt;br&gt;        at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)&lt;br&gt;        at java.security.KeyStore.load(KeyStore.java:1185)&lt;br&gt;        at sun.security.tools.KeyTool.doCommands(KeyTool.java:715)&lt;br&gt;        at sun.security.tools.KeyTool.run(KeyTool.java:172)&lt;br&gt;        at sun.security.tools.KeyTool.main(KeyTool.java:166)&lt;br&gt;Caused by: java.security.UnrecoverableKeyException: Password verification failed&lt;br&gt;        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769)&lt;br&gt;        ... 5 more&lt;p&gt;I tried various passwords. My usual default passwords. &amp;quot;changeit&amp;quot; -&lt;br&gt;which is usually default for these certs. Nothing worked.&lt;p&gt;Then remembering how bad these java exceptions are, I changed the&lt;br&gt;keystore parameter, to see if it would complain about not seeing the&lt;br&gt;file.&lt;p&gt;Just remove the &amp;quot;s&amp;quot; from &amp;quot;cacerts&amp;quot;&lt;p&gt;[everything to the left of this is still the same] -keystore&lt;br&gt;../jre/lib/security/cacert&lt;p&gt;And still got the same error. Bloody JDK! So maybe it was failing&lt;br&gt;because it couldn&amp;#39;t find the file, but it wasn&amp;#39;t being shown in the&lt;br&gt;error message.&lt;p&gt;So I changed my path references to backlash &amp;quot;\&amp;quot; instead of &amp;quot;/&amp;quot;, even&lt;br&gt;though I was doing all these under cygwin bash shell.&lt;p&gt;./keytool.exe -v -alias certalias -import -file &amp;lt;DomainRootCA&amp;gt;.crt&lt;br&gt;-keystore ..\jre\lib\security\cacerts&lt;p&gt;Using the first password I tried, &amp;quot;changeit&amp;quot;&lt;p&gt;And it worked.&lt;p&gt;The lesson:&lt;p&gt;1. JDK error messages suck!&lt;br&gt;2. When using keytool.exe on Windows, make sure your path separators&lt;br&gt;are &amp;quot;\&amp;quot; and not &amp;quot;/&amp;quot;. The fact you&amp;#39;re running under bash shell doesn&amp;#39;t&lt;br&gt;affect it.&lt;br&gt;Remember: Use Windows-based path separators if you&amp;#39;re using the JDK&lt;br&gt;keytool in Windows&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-1306182659446083550?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/_frXfmrEz1I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/1306182659446083550/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=1306182659446083550" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/1306182659446083550?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/1306182659446083550?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/_frXfmrEz1I/use-windows-path-separators-if-youre.html" title="Use Windows path separators if you're using the JDK keytool in Windows - backslash &quot;\&quot; not forwardslash &quot;/&quot;" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/09/use-windows-path-separators-if-youre.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YGQHs9fSp7ImA9WhRVEUw.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-7559096606926519599</id><published>2011-09-10T01:42:00.000+10:00</published><updated>2012-01-10T01:25:21.565+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T01:25:21.565+11:00</app:edited><title>Are you using iPhoto by *its* rules? Make sure your understanding of iPhoto terms is correct.</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gc9h9sLbOjqgSV_RblOr-1tLg6Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gc9h9sLbOjqgSV_RblOr-1tLg6Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gc9h9sLbOjqgSV_RblOr-1tLg6Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gc9h9sLbOjqgSV_RblOr-1tLg6Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;AAARGH!! Almost buggered up my iPhoto library. Was using &amp;quot;Flagged&lt;br&gt;photos&amp;quot; to mark favourite photos. Then accidentally selected &amp;quot;Create&lt;br&gt;Event From Flagged Photos&amp;quot; while trying to split an Event.&lt;p&gt;Result? An event containing 1000 photos from 2008 to today. And good&lt;br&gt;thing I Googled it first, because an event is actually like a folder&lt;br&gt;of photos. So deleting an event would have deleted all the photos in&lt;br&gt;it. All my favourite photos from my entire library, going back to&lt;br&gt;2008. Dammit.&lt;p&gt;But thank &amp;lt;deity&amp;gt; that &amp;quot;Edit -&amp;gt; Undo&amp;quot; can also reverse that operation.&lt;p&gt;Be careful of &amp;quot;Create Event From Flagged Photos&amp;quot; if you&amp;#39;re treating a&lt;br&gt;&amp;quot;Flagged photo&amp;quot; to indicate a Favourite photo. This is not really what&lt;br&gt;it&amp;#39;s for. Flagging a photo is probably meant for short-term&lt;br&gt;operations, in the context of creating an event or album going across&lt;br&gt;multiple windows of photos.&lt;p&gt;This is where following the rules and reading a bit more would have&lt;br&gt;helped. The model I *think* I should have been following was:&lt;p&gt;Event - Physical directory of photos.&lt;br&gt;Album - Virtual collection of photos.&lt;br&gt;Album - can have photo from any events&lt;br&gt;Smart Album - can have photos based on search criteria&lt;br&gt;Folder - a collection of Albums or Smart Albums&lt;p&gt;Remember:&lt;p&gt;Deleting an Event will delete the photos.&lt;br&gt;Deleting an Album will not delete the photos.&lt;p&gt;You should only Flag a photo to maintain a temporary list before&lt;br&gt;either moving them to an Event or Album. Normally I should put them in&lt;br&gt;an Album, since I like to keep photos grouped by date on the&lt;br&gt;filesystem. When I was on Windows using Picasa my workflow was to&lt;br&gt;first rename any new photos in a photo_upload directory using the&lt;br&gt;program &amp;quot;jhead&amp;quot; then running a Ruby script to move them into&lt;br&gt;date-based folders using each photo&amp;#39;s EXIF metadata.&lt;p&gt;Don&amp;#39;t keep them for longer than that, lest you mistakenly create an&lt;br&gt;Event and shove photos from different times into the same folder. If&lt;br&gt;that happens make sure to go to Edit -&amp;gt; Undo before doing anything&lt;br&gt;else.&lt;p&gt;This link cleared things up for me:&lt;p&gt;&lt;a href="http://docs.info.apple.com/article.html?path=iPhoto/8.0/en/6443.html"&gt;http://docs.info.apple.com/article.html?path=iPhoto/8.0/en/6443.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-7559096606926519599?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/-YSZSef-UsI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/7559096606926519599/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=7559096606926519599" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7559096606926519599?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7559096606926519599?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/-YSZSef-UsI/are-you-using-iphoto-by-its-rules-make.html" title="Are you using iPhoto by *its* rules? Make sure your understanding of iPhoto terms is correct." /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/09/are-you-using-iphoto-by-its-rules-make.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04ESXwzcSp7ImA9WhdXE08.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-6535246516565562597</id><published>2011-08-26T11:24:00.000+10:00</published><updated>2011-08-26T11:25:08.289+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-26T11:25:08.289+10:00</app:edited><title>Just discovered SVN switch command - switch to a different branch instead of doing a full checkout</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/scCOiBXWtXsCvM3lHx5ByhpozTE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/scCOiBXWtXsCvM3lHx5ByhpozTE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/scCOiBXWtXsCvM3lHx5ByhpozTE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/scCOiBXWtXsCvM3lHx5ByhpozTE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I&amp;#39;ve been doing complete checkouts whenever our branches get renamed,&lt;br&gt;instead of using &amp;quot;svn switch&amp;quot;. Not a small pain considering it takes 8&lt;br&gt;minutes to do a full checkout. Good thing this doesn&amp;#39;t happen that&lt;br&gt;often (and probably the reason I haven&amp;#39;t discovered the command. not&lt;br&gt;painful enough). How embarrassing!&lt;p&gt;&lt;br&gt;Quick example of using SVN&amp;#39;s &amp;quot;switch&amp;quot; command&lt;p&gt;$ cd calc&lt;p&gt;$ svn info | grep URL&lt;br&gt;URL: &lt;a href="http://svn.example.com/repos/calc/trunk"&gt;http://svn.example.com/repos/calc/trunk&lt;/a&gt;&lt;p&gt;$ svn switch &lt;a href="http://svn.example.com/repos/calc/branches/my-calc-branch"&gt;http://svn.example.com/repos/calc/branches/my-calc-branch&lt;/a&gt;&lt;br&gt;U   integer.c&lt;br&gt;U   button.c&lt;br&gt;U   Makefile&lt;br&gt;Updated to revision 341.&lt;p&gt;$ svn info | grep URL&lt;br&gt;URL: &lt;a href="http://svn.example.com/repos/calc/branches/my-calc-branch"&gt;http://svn.example.com/repos/calc/branches/my-calc-branch&lt;/a&gt;&lt;p&gt;Only fewer files need to be updated. More time to read Hacker News. =)&lt;p&gt;REF: &lt;a href="http://www.linxit.de/svnbook/en/1.1/ch04s05.html"&gt;http://www.linxit.de/svnbook/en/1.1/ch04s05.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-6535246516565562597?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/XTBCQpX2yLU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/6535246516565562597/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=6535246516565562597" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/6535246516565562597?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/6535246516565562597?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/XTBCQpX2yLU/just-discovered-svn-switch-command.html" title="Just discovered SVN switch command - switch to a different branch instead of doing a full checkout" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/08/just-discovered-svn-switch-command.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIDQ347cSp7ImA9WhdXE0w.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-3441057273073857738</id><published>2011-08-26T10:29:00.001+10:00</published><updated>2011-08-26T10:29:32.009+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-26T10:29:32.009+10:00</app:edited><title>Changes to Macbook Pro - installing Homebrew, RVM, Ruby 1.9.2, Rails, MySQL</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G9k83jDnM35lzJJjXxTC0et3xdc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G9k83jDnM35lzJJjXxTC0et3xdc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G9k83jDnM35lzJJjXxTC0et3xdc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G9k83jDnM35lzJJjXxTC0et3xdc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I&amp;#39;ve been meaning to try out Rails 3.0 for a while, and finally got&lt;br&gt;around to installing it, but I wanted to use Homebrew for managing&lt;br&gt;packages and RVM so I could easily make use of multiple versions of&lt;br&gt;Ruby, since Snow Leopard default is Ruby 1.8.7&lt;p&gt;Every now and then I still have nightmares of what I went through with&lt;br&gt;getting Ruby to work on Tiger on my Powerbook. I didn&amp;#39;t need to do as&lt;br&gt;much Googling this time around and getting into various dead-ends. And&lt;br&gt;with the i7 CPU compilation is way quicker than before. =)&lt;p&gt;&lt;br&gt;1. Installed Homebrew:&lt;p&gt;/usr/bin/ruby -e &amp;quot;$(curl -fsSL &lt;a href="https://raw.github.com/gist/323731"&gt;https://raw.github.com/gist/323731&lt;/a&gt;)&amp;quot;&lt;p&gt;2. Install Git and Wget&lt;p&gt;brew install git&lt;p&gt;brew install wget&lt;p&gt;3. Installed RVM&lt;p&gt;bash &amp;lt; &amp;lt;(curl -s &lt;a href="https://rvm.beginrescueend.com/install/rvm"&gt;https://rvm.beginrescueend.com/install/rvm&lt;/a&gt;)&lt;p&gt;reloaded .bash_profile:&lt;p&gt;&amp;gt; source .bash_profile&lt;p&gt;4. Check that RVM is running&lt;p&gt;rvm notes&lt;p&gt;5. Install Ruby 1.9.2&lt;p&gt;rvm install 1.9.2&lt;p&gt;6. Install Rails&lt;p&gt;gem install rails&lt;p&gt;7. brew install mysql&lt;p&gt;(during make CPU usage goes way up to 80% and the fan kicks in for the&lt;br&gt;first time i&amp;#39;ve seen)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-3441057273073857738?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/05yZ6bFk090" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/3441057273073857738/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=3441057273073857738" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/3441057273073857738?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/3441057273073857738?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/05yZ6bFk090/changes-to-macbook-pro-installing.html" title="Changes to Macbook Pro - installing Homebrew, RVM, Ruby 1.9.2, Rails, MySQL" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/08/changes-to-macbook-pro-installing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYHRn8-cCp7ImA9WhdXEUg.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-362847827900774051</id><published>2011-08-24T12:31:00.000+10:00</published><updated>2011-08-24T12:32:17.158+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-24T12:32:17.158+10:00</app:edited><title>How to do a git clone through a NTLM proxy</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2Q6rSoLZbfFdAq4URhcdtPp04iI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2Q6rSoLZbfFdAq4URhcdtPp04iI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2Q6rSoLZbfFdAq4URhcdtPp04iI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2Q6rSoLZbfFdAq4URhcdtPp04iI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I&amp;#39;ve already set up CTNLM  - &lt;a href="http://cntlm.sourceforge.net/"&gt;http://cntlm.sourceforge.net/&lt;/a&gt; - and have&lt;br&gt;already used it with Ruby gems yesterday, so I definitely know it&amp;#39;s&lt;br&gt;working. We now have to configure GIT so it uses this proxy (running&lt;br&gt;on localhost:3128 by default)&lt;p&gt;&amp;gt;git config --global http.proxy localhost:3128&lt;p&gt;I&amp;#39;ve been looking at how to use workflows in Ruby on Rails recently,&lt;br&gt;and came across this project:&lt;p&gt;&lt;a href="http://openwferu.rubyforge.org/"&gt;http://openwferu.rubyforge.org/&lt;/a&gt;&lt;p&gt;And the install instructions are here:&lt;br&gt;&lt;a href="http://openwferu.rubyforge.org/quickstart.html"&gt;http://openwferu.rubyforge.org/quickstart.html&lt;/a&gt;&lt;p&gt;But looks like the GIT protocol can&amp;#39;t be used through our proxy,&lt;br&gt;because if we try it we get this:&lt;p&gt;&amp;gt;git clone git://&lt;a href="http://github.com/jmettraux/ruote.git"&gt;github.com/jmettraux/ruote.git&lt;/a&gt;&lt;br&gt;Cloning into ruote...&lt;br&gt;fatal: Unable to look up &lt;a href="http://github.com"&gt;github.com&lt;/a&gt; (port 9418) (No such host is known. )&lt;p&gt;&lt;br&gt;So replace git:// with http:// and see if we can do a git clone&lt;p&gt;&amp;gt;git clone &lt;a href="http://github.com/jmettraux/ruote.git"&gt;http://github.com/jmettraux/ruote.git&lt;/a&gt;&lt;br&gt;Cloning into ruote...&lt;br&gt;remote: Counting objects: 22048, done.&lt;br&gt;remote: Compressing objects: 100% (5796/5796), done.&lt;br&gt;remote: Total 22048 (delta 16305), reused 21864 (delta 16134)Receiving objects:&lt;p&gt;Receiving objects: 100% (22048/22048), 4.04 MiB | 304 KiB/s, done.&lt;br&gt;Resolving deltas: 100% (16305/16305), done.&lt;p&gt;&lt;br&gt;Yay, it works!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-362847827900774051?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/3dCe5Oi6EyY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/362847827900774051/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=362847827900774051" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/362847827900774051?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/362847827900774051?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/3dCe5Oi6EyY/how-to-do-git-clone-through-ntlm-proxy.html" title="How to do a git clone through a NTLM proxy" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/08/how-to-do-git-clone-through-ntlm-proxy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QGQ30_fCp7ImA9WhdXEEU.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-6712174832013398800</id><published>2011-08-23T16:35:00.001+10:00</published><updated>2011-08-23T16:35:22.344+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-23T16:35:22.344+10:00</app:edited><title>Ruby gems error: "Could not find a valid gem 'sqlite3' Possible alternatives: sqlite3" WTH?? Gems could be having network issues.</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pJaQ1wXAJm94PrsPo6hlmkTD9xQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pJaQ1wXAJm94PrsPo6hlmkTD9xQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pJaQ1wXAJm94PrsPo6hlmkTD9xQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pJaQ1wXAJm94PrsPo6hlmkTD9xQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Installed rails and trying to get a test project running:&lt;p&gt;Created a new project and tried to get it running:&lt;p&gt;D:\Development\testrails&amp;gt;rails server&lt;p&gt;Error was:&lt;p&gt;D:\Development\testrails&amp;gt;rails server&lt;br&gt;←[31mCould not find gem &amp;#39;sqlite3 (&amp;gt;= 0)&amp;#39; in any of the gem sources listed in you&lt;br&gt;r Gemfile.←[0m&lt;br&gt;←[33mRun `bundle install` to install missing gems.←[0m&lt;p&gt;Now trying to install sqlite3, based on advise here:&lt;p&gt;&lt;a href="http://ezruby.com/2011/07/how-to-install-ruby-on-rails-on-windows/"&gt;http://ezruby.com/2011/07/how-to-install-ruby-on-rails-on-windows/&lt;/a&gt;&lt;p&gt;But I got:&lt;p&gt;D:\Development\testrails&amp;gt;gem install sqlite3&lt;br&gt;ERROR:  Could not find a valid gem &amp;#39;sqlite3&amp;#39; (&amp;gt;= 0) in any repository&lt;br&gt;ERROR:  Possible alternatives: sqlite3&lt;p&gt;&lt;br&gt;And trying &amp;#39;sqlite3-ruby&amp;#39; doesn&amp;#39;t work either:&lt;p&gt;D:\Development\testrails&amp;gt;gem install sqlite3-ruby&lt;br&gt;ERROR:  Could not find a valid gem &amp;#39;sqlite3-ruby&amp;#39; (&amp;gt;= 0) in any repository&lt;br&gt;ERROR:  Possible alternatives: sqlite3-ruby&lt;p&gt;I came across this:&lt;p&gt;&lt;a href="http://accidentaltechnologist.com/ruby-on-rails/running-rails-3-on-windows/"&gt;http://accidentaltechnologist.com/ruby-on-rails/running-rails-3-on-windows/&lt;/a&gt;&lt;p&gt;which advised to download sqlite3 for Windows and copy the file&lt;br&gt;sqlite3.dll  into the directory [RUBY_INSTALL]\bin&lt;p&gt;No dice, still getting the same error&lt;p&gt;I also copied the file sqlite3.def to the same location - still&lt;br&gt;failing! Could it be because my version of sqlite is too new (current&lt;br&gt;one I downloaded is 3.7.7.1)&lt;p&gt;Then I realised that I forgot to use the proxy settings. At work, we&lt;br&gt;go through a Windows proxy, and to get Ruby gems to work, I had to&lt;br&gt;install CTNLM - which requires username and password -  and then&lt;br&gt;access the proxy like this:&lt;p&gt;gem install --http-proxy &lt;a href="http://localhost:3128"&gt;http://localhost:3128&lt;/a&gt; rails&lt;p&gt;Now it works!!&lt;p&gt;&lt;br&gt;D:\Development\testrails&amp;gt;gem install --http-proxy &lt;a href="http://localhost:3128"&gt;http://localhost:3128&lt;/a&gt; sqlite3-&lt;br&gt;ruby&lt;br&gt;Fetching: sqlite3-1.3.4-x86-mingw32.gem (100%)&lt;br&gt;Fetching: sqlite3-ruby-1.3.3.gem (100%)&lt;p&gt;#######################################################&lt;p&gt;Hello! The sqlite3-ruby gem has changed it&amp;#39;s name to just sqlite3.  Rather than&lt;br&gt;installing `sqlite3-ruby`, you should install `sqlite3`.  Please update your&lt;br&gt;dependencies accordingly.&lt;p&gt;Thanks from the Ruby sqlite3 team!&lt;p&gt;&amp;lt;3 &amp;lt;3 &amp;lt;3 &amp;lt;3&lt;p&gt;#######################################################&lt;p&gt;Successfully installed sqlite3-1.3.4-x86-mingw32&lt;br&gt;Successfully installed sqlite3-ruby-1.3.3&lt;br&gt;2 gems installed&lt;br&gt;Installing ri documentation for sqlite3-1.3.4-x86-mingw32...&lt;br&gt;Installing ri documentation for sqlite3-ruby-1.3.3...&lt;br&gt;Installing RDoc documentation for sqlite3-1.3.4-x86-mingw32...&lt;br&gt;Installing RDoc documentation for sqlite3-ruby-1.3.3...&lt;p&gt;And Rails works now:&lt;p&gt;D:\Development\testrails&amp;gt;rails server&lt;br&gt;=&amp;gt; Booting WEBrick&lt;br&gt;=&amp;gt; Rails 3.0.9 application starting in development on &lt;a href="http://0.0.0.0:3000"&gt;http://0.0.0.0:3000&lt;/a&gt;&lt;br&gt;=&amp;gt; Call with -d to detach&lt;br&gt;=&amp;gt; Ctrl-C to shutdown server&lt;br&gt;[2011-08-23 16:27:11] INFO  WEBrick 1.3.1&lt;br&gt;[2011-08-23 16:27:11] INFO  ruby 1.9.2 (2011-02-18) [i386-mingw32]&lt;br&gt;[2011-08-23 16:27:11] INFO  WEBrick::HTTPServer#start: pid=4908 port=3000&lt;p&gt;&lt;br&gt;D:\Development\testrails&amp;gt;&lt;p&gt;&lt;br&gt;So the lesson here is:&lt;p&gt;When you see a nonsensical error like this&lt;p&gt;ERROR:  Could not find a valid gem &amp;#39;sqlite3&amp;#39; (&amp;gt;= 0) in any repository&lt;br&gt;ERROR:  Possible alternatives: sqlite3&lt;p&gt;It could mean that Ruby gems is having network problems, and can&amp;#39;t&lt;br&gt;access *any* repository.&lt;p&gt;&lt;br&gt;REFS:&lt;p&gt;&lt;a href="http://ezruby.com/2011/07/how-to-install-ruby-on-rails-on-windows/"&gt;http://ezruby.com/2011/07/how-to-install-ruby-on-rails-on-windows/&lt;/a&gt;&lt;br&gt;&lt;a href="http://stackoverflow.com/questions/4418/how-do-i-update-ruby-gems-from-behind-a-proxy-isa-ntlm"&gt;http://stackoverflow.com/questions/4418/how-do-i-update-ruby-gems-from-behind-a-proxy-isa-ntlm&lt;/a&gt;&lt;br&gt;&lt;a href="http://cntlm.sourceforge.net/"&gt;http://cntlm.sourceforge.net/&lt;/a&gt;&lt;br&gt;&lt;a href="http://accidentaltechnologist.com/ruby-on-rails/running-rails-3-on-windows/"&gt;http://accidentaltechnologist.com/ruby-on-rails/running-rails-3-on-windows/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-6712174832013398800?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/AaWAorju35M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/6712174832013398800/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=6712174832013398800" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/6712174832013398800?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/6712174832013398800?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/AaWAorju35M/ruby-gems-error-could-not-find-valid.html" title="Ruby gems error: &quot;Could not find a valid gem 'sqlite3' Possible alternatives: sqlite3&quot; WTH?? Gems could be having network issues." /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/08/ruby-gems-error-could-not-find-valid.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8FQ38_cSp7ImA9WhdSGUw.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-7575185221998945799</id><published>2011-07-29T14:46:00.001+10:00</published><updated>2011-07-29T14:46:52.149+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-29T14:46:52.149+10:00</app:edited><title>Fairfax Subscriber login page FAIL</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/a_FYdKA8z4Lg9SD--HCk2kozZJE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a_FYdKA8z4Lg9SD--HCk2kozZJE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/a_FYdKA8z4Lg9SD--HCk2kozZJE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a_FYdKA8z4Lg9SD--HCk2kozZJE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/-rzfEmiFfF2Y/TjI7PS3DTgI/AAAAAAAAAJo/XCy7-DU5Uo8/s1600/fairfax-subscriber-login-so-helpful-712150.png"&gt;&lt;img src="http://1.bp.blogspot.com/-rzfEmiFfF2Y/TjI7PS3DTgI/AAAAAAAAAJo/XCy7-DU5Uo8/s320/fairfax-subscriber-login-so-helpful-712150.png"  border="0" alt="" id="BLOGGER_PHOTO_ID_5634631217740729858" /&gt;&lt;/a&gt;&lt;/p&gt;Trying to get my subscriber number from Fairfax subscriber login and&lt;br&gt;at the bottom there&amp;#39;s a message with a number to call in case you need&lt;br&gt;help:&lt;p&gt;&amp;quot;Please contact us at [blank] or [blank]&amp;quot;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-7575185221998945799?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/iRrbeS2m5Qc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/7575185221998945799/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=7575185221998945799" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7575185221998945799?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7575185221998945799?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/iRrbeS2m5Qc/fairfax-subscriber-login-page-fail.html" title="Fairfax Subscriber login page FAIL" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-rzfEmiFfF2Y/TjI7PS3DTgI/AAAAAAAAAJo/XCy7-DU5Uo8/s72-c/fairfax-subscriber-login-so-helpful-712150.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/07/fairfax-subscriber-login-page-fail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8ESH89eSp7ImA9WhdSE00.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-2518710780414640950</id><published>2011-07-22T12:13:00.001+10:00</published><updated>2011-07-22T12:13:29.161+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-22T12:13:29.161+10:00</app:edited><title>I hate HP QC (Quality Centre).</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xlC4S6KgCHLSIumJ1wZVeJ1HAK4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xlC4S6KgCHLSIumJ1wZVeJ1HAK4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xlC4S6KgCHLSIumJ1wZVeJ1HAK4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xlC4S6KgCHLSIumJ1wZVeJ1HAK4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Holy f*. HP QC (Quality Centre) is such a piece of shit. One of our QA&lt;br&gt;teams is on QC 9.2, so I don&amp;#39;t know if this has been fixed in more&lt;br&gt;recent versions.&lt;p&gt;So I wanted to update a bug today and had to go through this.&lt;p&gt;1. Wait for IE to re-download CAB files and got error message about&lt;br&gt;not being able to download and &amp;quot;Close all connections to server and&lt;br&gt;try again&amp;quot;&lt;p&gt;2. Restart IE.&lt;p&gt;3. Log into QC and open bug.&lt;p&gt;4. Update Status to &amp;quot;Ready to Test&amp;quot; and reassign to the tester. Tried&lt;br&gt;to type in Comment area after clicking &amp;quot;Add Comment&amp;quot; but I can&amp;#39;t seem&lt;br&gt;to type in it!&lt;p&gt;5. Close dialog box, reopen bug and try again. Still not displaying what I type.&lt;p&gt;6. Looks like the text box for comments in the dialog box doesn&amp;#39;t&lt;br&gt;work. But if you just view the listing of all bugs, and select the bug&lt;br&gt;you want, you can click on &amp;quot;Add a Comment&amp;quot; on the lower right box and&lt;br&gt;it accepts text input.&lt;p&gt;Our company has started using JIRA, but it looks like all the testers&lt;br&gt;will remain on QC. And there doesn&amp;#39;t seem to be a way for QC and JIRA&lt;br&gt;to communicate both ways. QC can probably create a corresponding bug&lt;br&gt;in JIRA, but JIRA isn&amp;#39;t able to go and update the same test in QC.&lt;p&gt;Ah, enterprise-y crap.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-2518710780414640950?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/5bbBeJmkNys" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/2518710780414640950/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=2518710780414640950" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/2518710780414640950?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/2518710780414640950?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/5bbBeJmkNys/i-hate-hp-qc-quality-centre.html" title="I hate HP QC (Quality Centre)." /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/07/i-hate-hp-qc-quality-centre.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFQ3o-cCp7ImA9WhZUEEs.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-7244976858080068554</id><published>2011-06-03T10:23:00.001+10:00</published><updated>2011-06-03T10:23:32.458+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-03T10:23:32.458+10:00</app:edited><title>Hey Google: No love for Opera?</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2MnsWYjZj8ymwKlmdmOYCRVu2hs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2MnsWYjZj8ymwKlmdmOYCRVu2hs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2MnsWYjZj8ymwKlmdmOYCRVu2hs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2MnsWYjZj8ymwKlmdmOYCRVu2hs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&amp;quot;As of August 1st, we will discontinue support for the following&lt;br&gt;browsers and their predecessors: Firefox 3.5, Internet Explorer 7, and&lt;br&gt;Safari 3.&amp;quot;&lt;p&gt;&lt;a href="http://gmailblog.blogspot.com/2011/06/our-plans-to-support-modern-browsers.html"&gt;http://gmailblog.blogspot.com/2011/06/our-plans-to-support-modern-browsers.html&lt;/a&gt;&lt;p&gt;&amp;quot;So if it&amp;#39;s been a a while since your last update, we encourage you to&lt;br&gt;get the latest version of your favorite browser. There are many to&lt;br&gt;choose from:&lt;br&gt;•	Chrome&lt;br&gt;•	Firefox&lt;br&gt;•	Internet Explorer&lt;br&gt;•	Safari&lt;br&gt;&amp;quot;&lt;p&gt;I felt a teeny tiny disturbance in the Force... as if all 50 Opera&lt;br&gt;users suddenly cried out in terror at their favourite browser once&lt;br&gt;again being ignored and they can&amp;#39;t shut up about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-7244976858080068554?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/kPdQXB9TyaY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/7244976858080068554/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=7244976858080068554" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7244976858080068554?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7244976858080068554?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/kPdQXB9TyaY/hey-google-no-love-for-opera.html" title="Hey Google: No love for Opera?" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/06/hey-google-no-love-for-opera.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AFSHY4fSp7ImA9WhZUEEg.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-4663687482930958715</id><published>2011-06-03T10:08:00.001+10:00</published><updated>2011-06-03T10:08:39.835+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-03T10:08:39.835+10:00</app:edited><title>Randoms adding you on LinkedIn</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MXlwjqNlAqmKy7AX6ybxJBHKQLM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MXlwjqNlAqmKy7AX6ybxJBHKQLM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MXlwjqNlAqmKy7AX6ybxJBHKQLM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MXlwjqNlAqmKy7AX6ybxJBHKQLM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;You gotta wonder - &amp;quot;Bosnia and Herzegovina -&lt;br&gt;Transportation/Trucking/Railroad&amp;quot; - why would you even think of adding&lt;br&gt;me as a Friend?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-4663687482930958715?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/X9kNSnSvGhA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/4663687482930958715/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=4663687482930958715" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/4663687482930958715?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/4663687482930958715?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/X9kNSnSvGhA/randoms-adding-you-on-linkedin.html" title="Randoms adding you on LinkedIn" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/06/randoms-adding-you-on-linkedin.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcDQn06fyp7ImA9WhZUEE4.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-168068452417303810</id><published>2011-06-03T03:34:00.001+10:00</published><updated>2011-06-03T03:34:33.317+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-03T03:34:33.317+10:00</app:edited><title>How to export iPhone geolocation data</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cokbOOVaLOiT3ia9T6c9jaa53lo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cokbOOVaLOiT3ia9T6c9jaa53lo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cokbOOVaLOiT3ia9T6c9jaa53lo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cokbOOVaLOiT3ia9T6c9jaa53lo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;How to export iphone geolocation data so you can play around with the&lt;br&gt;data. I tried using some python scripts but they didn&amp;#39;t work. Once I&lt;br&gt;exported the data, tried to use sqlite but the Firefox plugin is&lt;br&gt;really the best way to deal with sqlite.&lt;p&gt;* Get iPhone backup extractor from &lt;a href="http://supercrazyawesome.com/"&gt;http://supercrazyawesome.com/&lt;/a&gt;&lt;p&gt;* Run backup and export your iOS Files - I had 2 backups and the older&lt;br&gt;backup was the one with all the geolocation data.&lt;p&gt;* Using Firefox, install the  SQLite Manager plugin. Using this&lt;br&gt;plugin, open the file /iOS&lt;br&gt;Files/Library/Caches/locationd/consolidated.db&lt;p&gt;* Export the data - you can export as CSV, SQL, or XML&lt;p&gt;&lt;br&gt;Now do an update of iphone to iOS 4.3.3 so it doesn&amp;#39;t keep your retain&lt;br&gt;data anymore! (not too long anyway. they might keep it for a week,&lt;br&gt;apparently)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-168068452417303810?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/cyM6InPYk3k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/168068452417303810/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=168068452417303810" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/168068452417303810?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/168068452417303810?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/cyM6InPYk3k/how-to-export-iphone-geolocation-data.html" title="How to export iPhone geolocation data" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/06/how-to-export-iphone-geolocation-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEENRHs8fip7ImA9WhZWF00.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-243255810574717970</id><published>2011-05-18T18:17:00.000+10:00</published><updated>2011-05-18T18:18:15.576+10:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-18T18:18:15.576+10:00</app:edited><title>JSTL not working? Check that you have the correct servlet version in web.xml!!!</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mBQCfKP6UZGJ8EAR8vSS8G2lsm8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mBQCfKP6UZGJ8EAR8vSS8G2lsm8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mBQCfKP6UZGJ8EAR8vSS8G2lsm8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mBQCfKP6UZGJ8EAR8vSS8G2lsm8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This is a pretty silly gotcha, but this normally wouldn&amp;#39;t have&lt;br&gt;happened since most of the time I&amp;#39;m working on updates to existing&lt;br&gt;deployed webapps running on Tomcat 6.&lt;p&gt;Anyway, this sucked up about 1 hour of my life, trying to find out why&lt;br&gt;my JSP 2.0 style tags weren&amp;#39;t working. Even things as basic as c:out&lt;br&gt;weren&amp;#39;t working either.&lt;p&gt;Finally stumbled upon a forum post that pointed to this.&lt;p&gt;&lt;a href="http://www.coderanch.com/how-to/java/ServletsWebXml"&gt;http://www.coderanch.com/how-to/java/ServletsWebXml&lt;/a&gt;&lt;p&gt;Aha!! The webapp I&amp;#39;d created using the Maven archetype&lt;br&gt;maven-archetype-webapp has Servlet 2.3 declared in it&amp;#39;s web.xml. A&lt;br&gt;version that is pretty bloody old, considering the ref implementation&lt;br&gt;for that is Tomcat 4! Seriously, an upgrade for the built-in web.xml&lt;br&gt;wouldn&amp;#39;t be that hard to do, Maven plugin people!&lt;p&gt;Anyway, all&amp;#39;s well.&lt;p&gt;For now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-243255810574717970?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/6i8z5roWHQc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/243255810574717970/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=243255810574717970" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/243255810574717970?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/243255810574717970?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/6i8z5roWHQc/jstl-not-working-check-that-you-have.html" title="JSTL not working? Check that you have the correct servlet version in web.xml!!!" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/05/jstl-not-working-check-that-you-have.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcBR3kycCp7ImA9WhZTGEg.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-7141475264239007823</id><published>2011-03-23T15:53:00.000+11:00</published><updated>2011-03-23T15:54:16.798+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-23T15:54:16.798+11:00</app:edited><title>Coding WTF: Throw an exception to trace callers of a method</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZFpQxEwveGji4ZyZIsTHgEGeOuA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZFpQxEwveGji4ZyZIsTHgEGeOuA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZFpQxEwveGji4ZyZIsTHgEGeOuA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZFpQxEwveGji4ZyZIsTHgEGeOuA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I found an interesting bit of code at work:&lt;p&gt;&lt;br&gt;try { // This will allow us to debug future cache reloads&lt;br&gt;	throw new Exception(&amp;quot;Issuer Security Cache was Reloaded&amp;quot;);&lt;br&gt;} // Stack Trace gives context to see where it was initiated from&lt;br&gt;catch(Exception e) {&lt;br&gt;	log.debug(e, e);&lt;br&gt;}&lt;p&gt;It was a bit of a WTF, and it probably still is from a performance&lt;br&gt;point of view, but I can see why they did this.&lt;p&gt;I guess this was written before they had IDEs that could find out the&lt;br&gt;callers for a particular method. But couldn&amp;#39;t they have just done&lt;br&gt;that anyway by grepping through the code base? Oh, right, inheritance&lt;br&gt;4 levels deep can leave you unable to find out which actual class&lt;br&gt;you&amp;#39;re looking at.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-7141475264239007823?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/Xzj6wleWRhg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/7141475264239007823/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=7141475264239007823" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7141475264239007823?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7141475264239007823?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/Xzj6wleWRhg/coding-wtf-throw-exception-to-trace.html" title="Coding WTF: Throw an exception to trace callers of a method" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/03/coding-wtf-throw-exception-to-trace.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cBQXg8fip7ImA9Wx9bE00.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-2278662694542268328</id><published>2011-02-22T03:17:00.001+11:00</published><updated>2011-02-22T03:17:30.676+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T03:17:30.676+11:00</app:edited><title>Gravity</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IwlRbL84l3PI9A6yUdDM7gmyxhs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IwlRbL84l3PI9A6yUdDM7gmyxhs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IwlRbL84l3PI9A6yUdDM7gmyxhs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IwlRbL84l3PI9A6yUdDM7gmyxhs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Trebuchet, Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;&lt;span style="font-weight: bold; "&gt;Gravity &lt;/span&gt;&lt;br&gt;Translator&lt;br&gt;&lt;br&gt;In your life there's someone waiting,&lt;br&gt; lost on streets that no one travels&lt;br&gt;In my dream I see this meeting,&lt;br&gt;we're a knot that fate unravels&lt;br&gt;&lt;br&gt;But beyond our shameless sorrow,&lt;br&gt;catch me if I'm with the wind&lt;br&gt;We may be the sky tomorrow,&lt;br&gt;we're a branch that will not bend&lt;br&gt; &lt;br&gt;The world is spinning through my head&lt;br&gt;Your gravity won't let me go,&lt;br&gt;You're holding me together,&lt;br&gt;No one ever has to know&lt;br&gt;&lt;br&gt;I'm a dream and you're fading away, &lt;br&gt;I'm a dream and you're fading away &lt;br&gt;&lt;br&gt; In your face there's someone sleeping,&lt;br&gt;lost in years that no one's counting&lt;br&gt;The only way to hear the weeping,&lt;br&gt;suffering is like a fountain&lt;br&gt;&lt;br&gt;Everything is far away now,&lt;br&gt;held beyond our nameless sorrow&lt;br&gt; Shifting streets that no one wanders,&lt;br&gt;lose the days, we only borrow&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Trebuchet, Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;&lt;br&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Trebuchet, Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Trebuchet, Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;&lt;a href="http://www.youtube.com/watch?v=BVPBX96AxEM"&gt;http://www.youtube.com/watch?v=BVPBX96AxEM&lt;/a&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Trebuchet, Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-2278662694542268328?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/kVPaz7jr6ig" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/2278662694542268328/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=2278662694542268328" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/2278662694542268328?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/2278662694542268328?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/kVPaz7jr6ig/gravity.html" title="Gravity" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/02/gravity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEAQ3c_eip7ImA9Wx9VF0o.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-5667497972331680089</id><published>2011-02-04T11:00:00.001+11:00</published><updated>2011-02-04T11:00:42.942+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-04T11:00:42.942+11:00</app:edited><title>Screenshot of our build server</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NQ4O4bO_bm2FMvfLX-rATk74Fp8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NQ4O4bO_bm2FMvfLX-rATk74Fp8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NQ4O4bO_bm2FMvfLX-rATk74Fp8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NQ4O4bO_bm2FMvfLX-rATk74Fp8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_iKJmzRQR5rk/TUtBqxjylWI/AAAAAAAAAHs/n5a1xino97k/s1600/hudson-is-chuck-norris-compatible-2011-02-03_092639-742943.png"&gt;&lt;img src="http://3.bp.blogspot.com/_iKJmzRQR5rk/TUtBqxjylWI/AAAAAAAAAHs/n5a1xino97k/s320/hudson-is-chuck-norris-compatible-2011-02-03_092639-742943.png"  border="0" alt="" id="BLOGGER_PHOTO_ID_5569617567287514466" /&gt;&lt;/a&gt;&lt;/p&gt;Screenshot of our build server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-5667497972331680089?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/-8zpJDe00qM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/5667497972331680089/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=5667497972331680089" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/5667497972331680089?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/5667497972331680089?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/-8zpJDe00qM/screenshot-of-our-build-server.html" title="Screenshot of our build server" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_iKJmzRQR5rk/TUtBqxjylWI/AAAAAAAAAHs/n5a1xino97k/s72-c/hudson-is-chuck-norris-compatible-2011-02-03_092639-742943.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/02/screenshot-of-our-build-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIBRn06eSp7ImA9Wx9XGEU.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-6070139347389014416</id><published>2011-01-13T12:02:00.001+11:00</published><updated>2011-01-13T12:02:37.311+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-13T12:02:37.311+11:00</app:edited><title>Coding WTF of the Week</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7WejO8DOpzPWJBRlHc2AqLT_5FA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7WejO8DOpzPWJBRlHc2AqLT_5FA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7WejO8DOpzPWJBRlHc2AqLT_5FA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7WejO8DOpzPWJBRlHc2AqLT_5FA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I think I&amp;#39;ll start a new segment for this blog, ala - DailyWTF.. hey,&lt;br&gt;I should submit this...&lt;p&gt;Task: Get a list of all securities that have prices.&lt;p&gt;Instead of doing a join between two tables (SECURITY, SECURITY_PRICE),&lt;br&gt;the developer did this&lt;p&gt;1. Get all securities.&lt;br&gt;2. Get all security prices.&lt;br&gt;3. Loop through all the securities.&lt;br&gt;4. Inside that loop, loop through all the prices.&lt;br&gt;5. Where price.securityId = &lt;a href="http://security.id"&gt;security.id&lt;/a&gt;, put them into the container class&lt;p&gt;Not too big a deal on dev database, but problematic on UAT database&lt;br&gt;which had 7000 securities and  1000 security prices.&lt;p&gt;Removing this code and replacing it with code that used a join,&lt;br&gt;brought down a method call from 50 seconds to 2 seconds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-6070139347389014416?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/cH7oOVX03nY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/6070139347389014416/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=6070139347389014416" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/6070139347389014416?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/6070139347389014416?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/cH7oOVX03nY/coding-wtf-of-week.html" title="Coding WTF of the Week" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2011/01/coding-wtf-of-week.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMERXk8eip7ImA9Wx9RFUg.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-7056670339434505069</id><published>2010-12-17T13:19:00.000+11:00</published><updated>2010-12-17T13:20:04.772+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-17T13:20:04.772+11:00</app:edited><title>JBoss stops with "Listening for transport dt_socket at address: 8787" message - change your debug startup settings</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3QEZg87NOar5BH_xBBxmK1lgFTQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3QEZg87NOar5BH_xBBxmK1lgFTQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3QEZg87NOar5BH_xBBxmK1lgFTQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3QEZg87NOar5BH_xBBxmK1lgFTQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Hopefully someone out there finds this helpful.&lt;p&gt;I was trying to start Jboss in debug mode, so I went into&lt;br&gt;{JBOSS]/bin/run.bat and uncommented this:&lt;p&gt;rem JPDA options. Uncomment and modify as appropriate to enable remote&lt;br&gt;debugging.&lt;br&gt;set JAVA_OPTS=%JAVA_OPTS% -Xdebug&lt;br&gt;-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y&lt;p&gt;&lt;br&gt;I then started up JBoss manually and on the screen it seemed to hang&lt;br&gt;at this message:&lt;p&gt;Listening for transport dt_socket at address: 8787&lt;p&gt;&lt;br&gt;I had a look at the debug settings that IntelliJ recommends to use in&lt;br&gt;&amp;quot;Run -&amp;gt; Edit Configurations&amp;quot; and noticed that it was slightly&lt;br&gt;different:&lt;p&gt; -Xdebug -Xrunjdwp:transport=dt_socket,address=3599,suspend=n,server=y&lt;p&gt; notice the difference, aside from the port?? &amp;quot;suspend&amp;quot; has a value of&lt;br&gt;&amp;quot;n&amp;quot; instead of &amp;quot;y&amp;quot;.&lt;p&gt; Turns out that &amp;quot;suspend=y&amp;quot; means it will not run until a debugger&lt;br&gt;attaches itself to the process. In most cases, you will probably want&lt;br&gt;to use &amp;quot;suspend=n&amp;quot; instead. I think &amp;quot;suspend=y&amp;quot; is mainly useful if&lt;br&gt;you&amp;#39;re trying to track down things that occur on startup of the&lt;br&gt;webapp. If the part you&amp;#39;re interested in will only happen after a user&lt;br&gt;action, it&amp;#39;s best to use &amp;quot;suspend=n&amp;quot;.&lt;p&gt;&lt;br&gt;Useful reference:&lt;p&gt;&lt;a href="http://download.oracle.com/javase/1.5.0/docs/guide/jpda/conninv.html"&gt;http://download.oracle.com/javase/1.5.0/docs/guide/jpda/conninv.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-7056670339434505069?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/k6AnR6FyZac" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/7056670339434505069/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=7056670339434505069" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7056670339434505069?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/7056670339434505069?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/k6AnR6FyZac/jboss-stops-with-listening-for.html" title="JBoss stops with &quot;Listening for transport dt_socket at address: 8787&quot; message - change your debug startup settings" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2010/12/jboss-stops-with-listening-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUNQHYyeCp7ImA9Wx9RFEo.&quot;"><id>tag:blogger.com,1999:blog-12794049.post-943833901844433658</id><published>2010-12-16T16:27:00.000+11:00</published><updated>2010-12-16T16:28:11.890+11:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-16T16:28:11.890+11:00</app:edited><title>Maven: "mvn archetype:generate" gives you 358 archetypes to choose from - too much of a good thing??</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7vKiLQHMOL5hNPldmdJBDELJ-7Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7vKiLQHMOL5hNPldmdJBDELJ-7Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7vKiLQHMOL5hNPldmdJBDELJ-7Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7vKiLQHMOL5hNPldmdJBDELJ-7Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Just typed&lt;p&gt;maven archetype:generate&lt;p&gt;and I get a long long long list that goes up to...&lt;p&gt;&lt;br&gt;349: remote -&amp;gt; nexus-plugin-archetype (-)&lt;br&gt;350: remote -&amp;gt; spring-osgi-bundle-archetype (Spring OSGi Maven2 Archetype)&lt;br&gt;351: remote -&amp;gt; spring-ws-archetype (Spring Web Services Maven2 Archetype.)&lt;br&gt;352: remote -&amp;gt; trails-archetype (-)&lt;br&gt;353: remote -&amp;gt; trails-secure-archetype (-)&lt;br&gt;354: remote -&amp;gt; tynamo-archetype (-)&lt;br&gt;355: remote -&amp;gt; wicket-scala-archetype (Basic setup for a project that&lt;br&gt;combines Scala and Wicket,&lt;br&gt;                depending on the Wicket-Scala project. Includes an example Specs&lt;br&gt;                test.)&lt;br&gt;356: remote -&amp;gt; wikbook.archetype (-)&lt;br&gt;357: remote -&amp;gt; circumflex-archetype (-)&lt;br&gt;358: remote -&amp;gt; javg-minimal-archetype (-)&lt;br&gt;Choose a number: 97:&lt;p&gt;&lt;br&gt;358 archetypes??? At least it means a lot of projects have adopted&lt;br&gt;maven. But how usable is this?&lt;p&gt;Shouldn&amp;#39;t we have something like a menu instead?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12794049-943833901844433658?l=krangsquared.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/EFbFZ/~4/ALp4jEQdkVE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://krangsquared.blogspot.com/feeds/943833901844433658/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12794049&amp;postID=943833901844433658" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/943833901844433658?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12794049/posts/default/943833901844433658?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/EFbFZ/~3/ALp4jEQdkVE/maven-mvn-archetypegenerate-gives-you.html" title="Maven: &quot;mvn archetype:generate&quot; gives you 358 archetypes to choose from - too much of a good thing??" /><author><name>krangsquared</name><uri>http://www.blogger.com/profile/18015700958645737525</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://img527.imageshack.us/img527/8879/aliennk3.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://krangsquared.blogspot.com/2010/12/maven-mvn-archetypegenerate-gives-you.html</feedburner:origLink></entry></feed>

