<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-31054948</id><updated>2012-01-16T14:17:57.048-08:00</updated><category term='images'/><category term='BC'/><category term='jokes'/><category term='phones'/><category term='movies'/><category term='Outlook'/><category term='bugs'/><category term='books'/><category term='bug'/><category term='stoves'/><category term='last.fm'/><category term='hosting'/><category term='privacy'/><category term='routers'/><category term='Windows'/><category term='Apple'/><category term='Michael Yon'/><category term='stock market'/><category term='BitTorrent'/><category term='speculation'/><category term='VPN'/><category term='social bookmarking'/><category term='complaints'/><category term='inheritance'/><category term='locks'/><category term='shaw'/><category term='scams'/><category term='xkcd'/><category term='chlorine'/><category term='roads'/><category term='redplaid'/><category term='flapper'/><category term='spam'/><category term='gas'/><category term='video'/><category term='InternetSecure'/><category term='email'/><category term='user interface design'/><category term='Aspire One'/><category term='Bruce Schneier'/><category term='c++'/><category term='double blind'/><category term='cars'/><category term='fraud'/><category term='hubcab'/><category term='visualization'/><category term='setuid'/><category term='leak'/><category term='jEdit'/><category term='Acer'/><category term='memory'/><category term='computers'/><category term='grease'/><category term='simulations'/><category term='rain'/><category term='Firefox'/><category term='websites'/><category term='tablets'/><category term='Web Clips'/><category term='marketing'/><category term='Scriptaculous'/><category term='downloading'/><category term='fix'/><category term='cruise control'/><category term='blogging'/><category term='suid'/><category term='MediaPlayerConnectivity'/><category term='space'/><category term='cooking'/><category term='smtp'/><category term='P90X'/><category term='Windows 2000'/><category term='Manulife'/><category term='Shell'/><category term='caches'/><category term='Chrome'/><category term='natural gas'/><category term='burners'/><category term='AMD'/><category term='GICs'/><category term='physics'/><category term='SSL'/><category term='code'/><category term='Facebook'/><category term='scripts'/><category term='ICG'/><category term='math'/><category term='Save On Foods'/><category term='heat'/><category term='motion capture'/><category term='photography'/><category term='cookies'/><category term='Best Buy'/><category term='RIAA'/><category term='special effects'/><category term='music'/><category term='calculus'/><category term='PAM'/><category term='mutual funds'/><category term='Google'/><category term='networks'/><category term='Open Source'/><category term='databases'/><category term='touch screens'/><category term='cameras'/><category term='spamassassin'/><category term='sudo'/><category term='Linux'/><category term='Flickr'/><category term='ATI'/><category term='mod_rewrite'/><category term='Miro'/><category term='Star Wars'/><category term='GiftFinder'/><category term='keyboards'/><category term='Dilbert'/><category term='P2P'/><category term='toyota'/><category term='gmail'/><category term='VOIP'/><category term='Radiant'/><category term='SPF'/><category term='Bluehost'/><category term='furnace'/><category term='finance'/><category term='funny'/><category term='RESPs'/><category term='keys'/><category term='Amazon'/><category term='ads'/><category term='Telus'/><category term='Primus'/><category term='exoskeletons'/><category term='encryption'/><category term='fill valve'/><category term='chocolate'/><category term='monitors'/><category term='tips'/><category term='software engineering'/><category term='Quicktime'/><category term='craigslist'/><category term='repair'/><category term='.net'/><category term='popen'/><category term='routing tables'/><category term='trailers'/><category term='proofreading'/><category term='Costco'/><category term='exercise'/><category term='MySQL'/><category term='reviews'/><category term='Google Reader'/><category term='video games'/><category term='vmware'/><category term='security'/><category term='init.d'/><category term='customer service'/><category term='Wii'/><category term='General Motors'/><category term='robots'/><category term='gotchas'/><category term='April Fools'/><category term='poison'/><category term='Blogger'/><category term='toilet'/><category term='InnoDB'/><category term='plumbing'/><category term='Drupal'/><category term='flying'/><category term='hydroplane'/><category term='JOIP'/><category term='Panasonic'/><category term='hydrogen'/><category term='ImageMagick'/><category term='PostgreSQL'/><category term='spyce'/><category term='software'/><category term='ellacoya'/><category term='HTML'/><category term='voice recognition'/><category term='highways'/><category term='TortoiseSVN'/><category term='vikings'/><category term='noise'/><category term='ING Direct'/><category term='MyISAM'/><category term='Questrade'/><category term='facial replacement'/><category term='Atom'/><category term='Kindle'/><category term='Chinese food'/><category term='comics'/><category term='OLED'/><category term='graphs'/><category term='TCP/IP'/><category term='Future Shop'/><category term='Ajax'/><category term='browsers'/><category term='Penny Arcade'/><category term='batch files'/><category term='python'/><category term='airplanes'/><category term='laptops'/><category term='Ceiva'/><category term='thunderbird'/><category term='quality control'/><category term='driving'/><category term='pipes'/><category term='Yahoo'/><category term='elements'/><category term='restaurants'/><category term='car'/><category term='mods'/><category term='apache'/><category term='emule'/><category term='web pages'/><category term='php'/><category term='Photosynth'/><category term='programming'/><category term='2d'/><category term='daylight saving time'/><category term='Cyberdyne'/><category term='transmissions'/><category term='Heil'/><category term='tire'/><category term='nix'/><category term='VLC'/><category term='Quicktime Alternative'/><category term='o-rings'/><category term='hacks'/><category term='food'/><category term='mercury'/><category term='virtual reality'/><category term='long distance'/><category term='Microsoft Vista'/><category term='search'/><category term='YVR'/><category term='microsoft'/><category term='gambling'/><category term='mono'/><category term='maps'/><category term='thesixtyone'/><category term='WiFi'/><category term='utilities'/><category term='investing'/><title type='text'>All Geek, All the Time</title><subtitle type='html'>Stuff Only I Care About</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default?start-index=101&amp;max-results=100'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>152</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-31054948.post-6029224636040700603</id><published>2012-01-16T14:17:00.000-08:00</published><updated>2012-01-16T14:17:57.074-08:00</updated><title type='text'>Path Over 2048 Chars Kills Windir Environment Variable</title><content type='html'>All of a sudden my cmd prompts in Windows 7 had no PATH environment variable. &amp;nbsp;And when I tried to change my path (Right Click on My Computer -&amp;gt; Properties -&amp;gt; Advanced Settings) I got a terrible error message about %windir%\systempropertiesadvanced.exe not being found.&lt;br /&gt;&lt;br /&gt;Bottom line, if your PATH environment variable is more than 2048 characters it (and WINDIR) stop being visible in many contexts.&lt;br /&gt;&lt;br /&gt;I fixed it by manually running&amp;nbsp;c:\windows\system32\systempropertiesadvanced.exe and deleting one entry from my PATH to put me under 2048 chars. &amp;nbsp;New cmd windows work just fine.&lt;br /&gt;&lt;br /&gt;Interesting that you can't use the GUI to increase path length above 2048; only badly behaved installers are allowed to do that?&lt;br /&gt;&lt;br /&gt;Props to&amp;nbsp;&lt;a href="http://www.sheldor.org/index.php?post/2011/03/03/Windows-7-WINDIR-missing-issue"&gt;http://www.sheldor.org/index.php?post/2011/03/03/Windows-7-WINDIR-missing-issue&lt;/a&gt;&amp;nbsp;for pointing me in the right direction. &amp;nbsp;I haven't found any other acknowledgement that this issue exists.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6029224636040700603?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6029224636040700603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6029224636040700603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6029224636040700603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6029224636040700603'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2012/01/path-over-2048-chars-kills-windir.html' title='Path Over 2048 Chars Kills Windir Environment Variable'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-9168610699585328198</id><published>2012-01-11T15:29:00.000-08:00</published><updated>2012-01-11T15:29:05.611-08:00</updated><title type='text'>OCIDescribeAny Can Allocate Memory</title><content type='html'>The doc is silent on the matter, but my testing shows pretty clearly that OCIDescribeAny is allocating memory and attaching it to the OCIDescribe in/out param.&lt;br /&gt;&lt;br /&gt;So never reuse OCIDescribe structures when making multiple calls to OCIDescribeAny; do OCIHandleAlloc/OCIHandleFree calls for each iteration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-9168610699585328198?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/9168610699585328198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=9168610699585328198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9168610699585328198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9168610699585328198'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2012/01/ocidescribeany-can-allocate-memory.html' title='OCIDescribeAny Can Allocate Memory'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-1194815715090375761</id><published>2011-10-29T17:54:00.000-07:00</published><updated>2011-11-12T15:32:58.557-08:00</updated><title type='text'>2011 Surrey Candidates for School Trustee</title><content type='html'>See also candidates for &lt;a href="http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-mayor.html"&gt;Mayor&lt;/a&gt; and &lt;a href="http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-councillor.html"&gt;Councillor&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/10001.aspx"&gt;Terry Allen&lt;/a&gt;&lt;/b&gt; (SFE)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008; 2nd place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC (regional trade union).&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/ijaz-chatha"&gt;Ijaz Chatha&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008; 6th place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vancouversun.com/story_print.html?id=5634600&amp;amp;sponsor="&gt;Endorsed by STA (Surrey teacher's union).&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/moh-chelali"&gt;Moh Chelali&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;&amp;nbsp;(regional trade union)&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vancouversun.com/story_print.html?id=5634600&amp;amp;sponsor="&gt;Endorsed by STA (Surrey teacher's union).&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/sukhy-dhillon"&gt;Sukhy Dhillon&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;&amp;nbsp;(regional trade union)&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vancouversun.com/story_print.html?id=5634600&amp;amp;sponsor="&gt;Endorsed by STA (Surrey teacher's union).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.peacearchnews.com/news/132732178.html"&gt;Teacher who doesn't like standardized tests.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/charlene-dobie"&gt;Charlene Dobie&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;&amp;nbsp;(regional trade union)&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vancouversun.com/story_print.html?id=5634600&amp;amp;sponsor="&gt;Endorsed by STA (Surrey teacher's union).&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/9996.aspx"&gt;Pam Glass&lt;/a&gt;&lt;/b&gt; (SFE)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008; 1st place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/laurence-greeff"&gt;Laurence Greeff&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 8th place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;&amp;nbsp;(regional trade union)&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vancouversun.com/story_print.html?id=5634600&amp;amp;sponsor="&gt;Endorsed by STA (Surrey teacher's union).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.peacearchnews.com/news/132732178.html"&gt;Believes kids do something other than socialize when on the computer.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.paul2011.com/"&gt;Paul Hilsdon&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 11th place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Not running for council as well this year, as he did in 2008.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.peacearchnews.com/news/132732178.html"&gt;Wants to give $500 a year to every student to spend on iPads.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.paul2011.com/2011/11/03/bringing-high-quality-childcare-to-surrey-families/"&gt;Wants school system to get involved in pre-K child care as a stepping stone to&amp;nbsp;universal&amp;nbsp;child care. &amp;nbsp;Thinks unionized school system will be able to offer child care at&amp;nbsp;competitive&amp;nbsp;rates.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.paul2011.com/2011/10/19/same-goals-different-means/"&gt;Pro-union, but not enough to get an endorsement.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/9993.aspx"&gt;Malkiat Kang&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 10th place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/9992.aspx"&gt;Laurie Larsen&lt;/a&gt;&lt;/b&gt; (SFE)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008; 5th place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;&amp;nbsp;(regional trade union)&lt;/a&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cupe402.com/about/executive/laurie-larsen"&gt;President of CUPE Local 402.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.canada.com/life/City+Surrey+urged+bottled+water/5405211/story.html"&gt;Wants to ban bottled water for all of Surrey.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/10094.aspx"&gt;Reni Masi&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008; 4th place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sd36.bc.ca/general/news/2007/inconvenienttruthdvd.html"&gt;Involved in making global warming counter-propaganda available.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thenownewspaper.com/news/Program+academic+stars+ally+Masi/4916180/story.html"&gt;Focus on high achieving students.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/ram-sidhu"&gt;&lt;b&gt;Ram Sidhu&lt;/b&gt;&lt;/a&gt; (SCC)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.vancouversun.com/story_print.html?id=5634600&amp;amp;sponsor="&gt;Endorsed by STA (Surrey teacher's union).&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/9989.aspx"&gt;Ann Van Rhyn&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 9th place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.peacearchnews.com/news/132732178.html"&gt;Had her son ask questions in a debate.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/9988.aspx"&gt;Shawn Wilson&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008; 3rd place (out of 6).&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sd36.bc.ca/general/NewsReleases/2003-2004/SafeSchoolsPolicyApr04.pdf"&gt;Wants school to be more like prison.&lt;/a&gt; &amp;nbsp;&lt;a href="http://web.archive.org/web/20081103121948/http://www.mapinc.org/drugnews/v04/n170/a05.html"&gt;See also.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-1194815715090375761?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/1194815715090375761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=1194815715090375761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1194815715090375761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1194815715090375761'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-school.html' title='2011 Surrey Candidates for School Trustee'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-2208547421947017192</id><published>2011-10-29T17:51:00.000-07:00</published><updated>2011-11-16T08:18:43.761-08:00</updated><title type='text'>2011 Surrey Candidates for Councillor</title><content type='html'>See also candidates for&amp;nbsp;&lt;a href="http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-mayor.html"&gt;Mayor&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-school.html"&gt;School Trustee&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/kuldip-ardawa"&gt;&lt;b&gt;Kuldip Ardawa&lt;/b&gt;&lt;/a&gt; (SCC, BCNDP)&lt;br /&gt;Immigrated from England 8 years ago, focus on multiculturalism.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/bob-bose"&gt;&lt;b&gt;Bob Bose&lt;/b&gt;&lt;/a&gt; (SCC)&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 7th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.straight.com/article-378794/vancouver/councillor-bob-bose-brings-idea-livingwage-policy-surrey"&gt;Wants a "Living Wage" ($18.17/hour) for anyone doing city work.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.surrey.ca/city-government/3000.aspx"&gt;Focus on transportation and land-use planning, sister cities (paid vacations).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.thenownewspaper.com/technology/City+recycling+contract+lacks+targets+committee+says/5685878/story.html"&gt;Wants to spend more money on a recycling contractor that doesn't throw most of the recycling away.&lt;/a&gt; &amp;nbsp;Bet you feel good about all the sorting you do now!&lt;br /&gt;Wants to "greatly expand our park system", "work to relocate the BNSF heavy rail from our beaches" which I'm sure won't cost approximately a zillion dollars.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.canada.com/news/SURREY+COUNCIL+CANDIDATE+Meet+Lawrence+Chen/5616966/story.html"&gt;&lt;b&gt;Lawrence Chen&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/doug-elford"&gt;Doug Elford&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;Failed in 1999 bid for council.&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://rinagill.ca/"&gt;Rina Gill&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 9th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/councillor-tom-gill/"&gt;Tom Gill&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 2nd place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.surrey.ca/city-government/3001.aspx"&gt;Focus on "fiscal leadership", public transportation, young families.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kuljinder "22" Gill&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/132644643.html"&gt;Convicted of uttering threats and mischief under $5000.&lt;/a&gt; &amp;nbsp;&lt;a href="http://www.thenownewspaper.com/Candidates+have+criminal+records+progress+other+result+disease+desperation/5611961/story.html"&gt;Currently charged with impaired driving causing bodily harm, etc.&lt;/a&gt;&amp;nbsp; Focus on youth activities, like shooting ranges... 22 = &lt;a href="http://en.wikipedia.org/wiki/.22_Long_Rifle"&gt;22&amp;nbsp;calibre&amp;nbsp;ammunition&lt;/a&gt;?&lt;br /&gt;Generally thinks Surrey "sucks".&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://griffin4surrey.ca/"&gt;Paul Griffin&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.thenownewspaper.com/Former+journalist+Paul+Griffin+runs+Surrey+council/5495917/story.html"&gt;Former Surrey GM of Communications wants more Skytrain in Surrey (rather than light rail).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://griffin4surrey.ca/index.php/component/content/article?layout=edit&amp;amp;id=88"&gt;Wants "windfall rezoning" tax to prevent flipping after rezoning.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/bruce-hayne/"&gt;Bruce Hayne&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;Partner at &lt;a href="http://www.thornleyhayne.com/"&gt;thornleyHayne&lt;/a&gt;, worried about "red-tape" interfering with business formation and growth.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/councillor-linda-hepner/"&gt;Linda Hepner&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 4th place (out of 8).&lt;/a&gt;&lt;br /&gt;Former Manager of Economic Development for Surrey, &lt;a href="http://www.metrovancouver.org/2011IRBC/Program/IRBCDocs/IRBC-LindaHepnerBio.pdf"&gt;chaired the George Bush Summit.&lt;/a&gt;&lt;br /&gt;On "red-tape" committee and supporter of the &lt;a href="http://www.surrey.ca/for-business/3565.aspx"&gt;Build Surrey Program&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.judyhigginbotham.ca/"&gt;Judy Higginbotham&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/133042213.html"&gt;Under fire for putting "re-elect" on her signs even though she isn't currently a councillor.&lt;/a&gt;&lt;br /&gt;Defeated in the last Federal election, wants a halt to tax increases in Surrey.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/10018.aspx"&gt;Gary Hoffman&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 16th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/councillor-marvin-hunt/"&gt;Marvin Hunt&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 8th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.surreyleader.com/news/131251164.html"&gt;Rubber-stamped controversial casino documents while acting-Mayor.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.surrey.ca/city-government/3002.aspx"&gt;Supports clean energy and light rail projects.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://web.archive.org/web/20081102040430/http://communities.canada.com/vancouversun/blogs/reportcard/archive/2008/10/10/scandals.aspx"&gt;Once accused of covering up sexual abuse in the church where he was a Pastor.&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://greenparty.ca/campaign/59028"&gt;Bernadette Keenan&lt;/a&gt;&lt;/b&gt; (SIGN)&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 19th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/truckinfreeways/"&gt;Opposed Gateway/South Surrey Freeway&lt;/a&gt;, involved in numerous union and protest activities.&lt;br /&gt;Green jobs, social justice, living wage, affordable housing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/councillor-mary-martin/"&gt;Mary Martin&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 5th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://downtownsurreybia.com/wp-content/uploads/2011/10/Mary-Martin-responses2.pdf"&gt;Supporter of the giant municipal construction projects.&lt;/a&gt;&lt;/div&gt;Wants&amp;nbsp;&lt;a href="http://www.nycourts.gov/courts/problem_solving/cc/home.shtml"&gt;New York-style "community courts"&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://www.facebook.com/pages/Imtiaz-Popat/211007945632584?sk=wall"&gt;Imtiaz Popat&lt;/a&gt;&lt;/b&gt; (SIGN)&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://www.straight.com/article-154771/imtiaz-popat-joins-cope-aims-park-board-slot"&gt;"A queer-community activist long known for his Green credentials" who apparently failed to be elected to the Park Board in Vancouver in 2008.&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; line-height: 18px;"&gt;&lt;a href="http://www.voiceonline.com/2011/10/28/why-ban-firecrackers-in-surrey604/"&gt;Wants to make Canada more like the nations immigrants are fleeing from.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;More transit, cheaper transit, more recycling programs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/councillor-barinder-rasode/"&gt;Barinder Rasode&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 6th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.straight.com/article-519541/vancouver/surrey-councillor-barinder-rasode-works-end-domestic-abuse-cycle-conference"&gt;Big on discussing social issues like bullying and domestic violence.&lt;/a&gt;&lt;br /&gt;Wants light rail.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/grant-rice"&gt;Grant Rice&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 12th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;Thinks Surrey is taking on too much debt.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/gary-robinson"&gt;Gary Robinson&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/132644643.html"&gt;Ex-Surry Councillor, ex-junkie, focus on homelessness and addiction.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/133190388.html"&gt;Was once homeless, wants more "affordable housing".&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;No garbage incinerator, opposes toll bridges.&lt;br /&gt;&lt;a href="http://twitter.com/#!/rsrs99/status/134416779043811328"&gt;Opposes BC Hydro Smart Meters.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/10026.aspx"&gt;Mike Robinson&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;Wants to implement &lt;a href="http://en.wikipedia.org/wiki/Direct_democracy"&gt;direct democracy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/stephanie-ryan"&gt;Stephanie Ryan&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 11th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://www.peacearchnews.com/news/133190388.html"&gt;Wants developers to dedicate 10-20% of new development to "affordable housing".&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://straight.com/article-526641/vancouver/politicians-react-living-wage-campaign"&gt;Wants "living-wage" requirement for city employees/contractors.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://twitter.com/#!/Stephanie_Ryan/statuses/135460611285983232"&gt;Fight fan?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://partapsingh.shawwebspace.ca/"&gt;Partap Singh&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Not elected in 2008; 15th place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Wants Surrey to get involved in operation of Provincial ERs, private walk-in clinics, trucker parking and to legalize all secondary suites.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/councillor-barbara-steele/"&gt;Barbara Steele&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 3rd place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.surreyleader.com/news/129473188.html"&gt;As President of UBCM accepted nomination of Gordon Campbell for Order of BC.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://susanthomas.ca/"&gt;Susan Thomas&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://susanthomas.ca/?p=294"&gt;Wants wards&lt;/a&gt;, &lt;a href="http://susanthomas.ca/?p=275"&gt;critical of decision to build new City Hall.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyfirst.ca/meet-the-team/councillor-judy-villeneuve/"&gt;Judy Villenueve&lt;/a&gt;&lt;/b&gt; (SF)&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;a href="http://www.surrey.ca/files/2008ElectionResults.pdf"&gt;Elected in 2008 in 1st place (out of 8).&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/133190388.html"&gt;Wants homeless put in "stable housing" rather than shelters.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;"Pacific Co-ordinator for the Writer's Union of Canada for two decades."&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.surrey.ca/election/10032.aspx"&gt;John Wolanski&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;Wants to tax all the bridges in the lower mainland, and spend that money just as as fast as it comes in.&lt;br /&gt;If elected will donate "10% of my gross compensation" to the Surrey Food Bank.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://surreyciviccoalition.ca/portfolio/steve-wood"&gt;Steve Wood&lt;/a&gt;&lt;/b&gt; (SCC)&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/133190388.html"&gt;Wants a city "rental registry" and secondary suite fees to subsidize "affordable housing".&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nwdlc.ca/2011municipalendorsements.html"&gt;Endorsed by NWDLC.&lt;/a&gt;&lt;br /&gt;Wants more transit (including light rail), more "parks and recreation and sports programs" for youth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-2208547421947017192?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/2208547421947017192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=2208547421947017192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2208547421947017192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2208547421947017192'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-councillor.html' title='2011 Surrey Candidates for Councillor'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-2409494717373369385</id><published>2011-10-23T17:03:00.000-07:00</published><updated>2011-11-18T07:08:56.478-08:00</updated><title type='text'>2011 Surrey Candidates for Mayor</title><content type='html'>Here is a lightly annotated list of all the candidates running for Mayor of Surrey in 2011.  Feel free to leave links, complaints, or a thumbs up for any of them in the comments.&lt;br /&gt;&lt;br /&gt;See also candidates for &lt;a href="http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-councillor.html"&gt;Councillor&lt;/a&gt; and &lt;a href="http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-school.html"&gt;School Trustee&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wj-YjYf6oYg/TqSOvheMUMI/AAAAAAAAClQ/izANhdON5v0/s1600/bajwa.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-wj-YjYf6oYg/TqSOvheMUMI/AAAAAAAAClQ/izANhdON5v0/s1600/bajwa.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://vikramformayor.com/"&gt;&lt;b&gt;Vikram J.S. Bajwa&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.voiceonline.com/2011/10/21/4928604/"&gt;Realtor/Mortgage broker who wants an international airport with in Surrey city limits&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;He is apparently promoting himself with a photo that is about 50 years out of date.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/election/133170253.html"&gt;Wants inflation indexed taxes, RCMP replaced by municipal police, ward system.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/133190388.html"&gt;Wants a lot more money spent on the homeless (8M vs current 3M).&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Wants to "involve local taxpayers in all projects over $10 million". &amp;nbsp;Developer friends that happen to be local tax payers?&lt;br /&gt;&lt;div style="clear: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VQn_VGTvUcg/TqSHz2C-ClI/AAAAAAAAClI/wfJ1nBAlV6k/s1600/ross_head.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-VQn_VGTvUcg/TqSHz2C-ClI/AAAAAAAAClI/wfJ1nBAlV6k/s1600/ross_head.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.rossbuchanan.ca/"&gt;&lt;b&gt;Ross Buchanan&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rossbuchanan.ca/rb_home.html"&gt;Author&lt;/a&gt; and &lt;a href="http://srigroup.net/team.html#ross"&gt;business consultant&lt;/a&gt; who believes &lt;a href="http://www.rossbuchanan.ca/ross2.html"&gt;our tax dollars and Translink levies are being squandered, that developers have too much political influence, and that there shouldn't be any trash incinerators built in the region&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/132965113.html"&gt;Wants to consider cancelling new city hall construction.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/election/133170253.html"&gt;Generally objects to rate of growth in city spending, want more bylaw enforcement.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: left;"&gt;&lt;/div&gt;&lt;div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="Touraj  Ghanbar-zadeh" src="http://media.linkedin.com/mpr/pub/image-sgFPpVvAOZqQ6vwpDWc1poC3Pp_cyd8pDqvipykDPNgjraoK/touraj-ghanbar-zadeh.jpg" /&gt;&lt;/div&gt;&lt;b&gt;Touraj Ghanbar-Zadeh&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Founder of &lt;a href="http://allnursing.ca/profile.htm"&gt;All Nursing&lt;/a&gt;, &lt;a href="http://www.vancouversun.com/story_print.html?id=5545478&amp;amp;sponsor="&gt;wants to replace Translink gas taxes with property tax increases&lt;/a&gt;, &lt;a href="http://www.canada.com/life/Council+chickens+backyard+hens+Surrey+says/5500067/story.html"&gt;decrease lot size required for chickens from 1 acre to a quarter acre&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/election/133170253.html"&gt;Generically critical of Watts, not so big on proposing solutions.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If elected will "cancel the new gas tax". &amp;nbsp;Do we even have a municipal gas tax he could cancel, assuming the council went along with it?&lt;br /&gt;&lt;br /&gt;Wants single fare zone for transit.&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: left;"&gt;&lt;/div&gt;&lt;div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="Headshot" src="http://imgmt2.starnow.com/39/491439_1019542.jpg" /&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://publicfirst.ca/"&gt;Clifford Tamuno Inimgba&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A model/actor who "&lt;a href="http://www.starnow.com/Cliffordinimgba"&gt;likes [his] body&lt;/a&gt;". &amp;nbsp;Is the &lt;a href="http://ca.linkedin.com/pub/clifford-inimgba/20/128/a2b"&gt;sole member of his own consulting business&lt;/a&gt;? &amp;nbsp;&lt;a href="http://www.ratemyprofessors.com/ShowRatings.jsp?tid=1198587"&gt;Unfavourable reviews by his students at Northern Lights College&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vancouversun.com/story_print.html?id=5545478&amp;amp;sponsor="&gt;No particular focus to campaign&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Big signs and website for what I assumed was a joke candidate at first, even if that site misspells "Surry" and links to non-existent endorsements.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/election/133170253.html"&gt;Wants to streamline &lt;b&gt;Federal&lt;/b&gt; immigration policy, have more bus stops, freeze taxes, encourage local banks to make dubious loans.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Very concerned about minorities. &amp;nbsp;Wants to both freeze taxes and massively increase services.&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-3U3MDshKdLk/TrVu6dAtSzI/AAAAAAAAClo/tVT8SZI1tWY/s1600/ranshana.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-3U3MDshKdLk/TrVu6dAtSzI/AAAAAAAAClo/tVT8SZI1tWY/s1600/ranshana.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Shan Rana&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thenownewspaper.com/SURREY+MAYORAL+CANDIDATE+Meet+Shan+Rana/5617270/story.html"&gt;Wants a ward system for Surrey.&lt;/a&gt;&amp;nbsp; Describes himself as a &lt;a href="http://www.peacearchnews.com/news/election/133170253.html"&gt;professional activist&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Wants 10 councillors instead of 8, but paid&amp;nbsp;proportionately&amp;nbsp;less.&lt;br /&gt;&lt;div style="clear: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-nP8d2FsGNGs/TqSl8PprKII/AAAAAAAAClY/Ny3OEL9zGvs/s1600/watts.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-nP8d2FsGNGs/TqSl8PprKII/AAAAAAAAClY/Ny3OEL9zGvs/s1600/watts.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://surreyfirst.ca/mayor-dianne-watts/" style="font-weight: bold;"&gt;Dianne Watts&lt;/a&gt;&amp;nbsp;(SF)&lt;br /&gt;&lt;br /&gt;Endorsed by Surrey Fire Fighters' union.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.surrey.ca/city-government/8019.aspx"&gt;Brought ex-Presidents Bush and Clinton to speak at 2011 Surrey Regional Economic Summit&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Very big on environmental&amp;nbsp;initiatives, like &lt;a href="http://www.thenownewspaper.com/Surrey+electric+over+charging+station/5617184/story.html"&gt;free (taxpayer funded) electric car charging stations at Surrey City Hall&lt;/a&gt; - a nice tax free gift to city employees rich enough to own an electric car.&lt;br /&gt;&lt;br /&gt;Hated so much by &lt;a href="http://www.ctv.ca/mini/election2006/candidates/59027_LIB.html"&gt;ex-Liberal (Federal) candidate&lt;/a&gt;&amp;nbsp;, &lt;a href="http://www.youtube.com/watch?v=yLfRojkfku4"&gt;ex-SCC Surrey Council&lt;/a&gt; candidate Jim McMurty that he's taken to writing &lt;a href="http://www.thenownewspaper.com/news/Watts+says+flap+nonsense/5649576/story.html"&gt;deranged complaints against newspapers that claim she lives in Cloverdale&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thenownewspaper.com/Report+ranks+Surrey+best+place+invest+real+estate/5677465/story.html"&gt;Takes credit for crazy advance in real estate prices, thinks it's a great thing.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Wants light rail.&lt;br /&gt;&lt;br /&gt;Believes Surrey city employees are not overpaid because &lt;span class="Apple-style-span" style="font-family: inherit;"&gt;"&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 18px;"&gt;&lt;a href="http://surreyfirst.ca/2011/11/the-race-for-surrey-dianne-watts/"&gt;We’ve got a collective bargaining process that our bargaining unit is very involved in, and wants to do the very best for the workers.&lt;/a&gt;&lt;/span&gt;" &amp;nbsp;I'm not sure Watts understands the role the city's negotiators are supposed to be fulfilling.&lt;/span&gt;&lt;br /&gt;&lt;div style="clear: left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://profile.ak.fbcdn.net/hprofile-ak-ash2/27466_1700433869_2196_n.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="Deanna Welters" border="0" src="http://profile.ak.fbcdn.net/hprofile-ak-ash2/27466_1700433869_2196_n.jpg" /&gt;&lt;/a&gt;&lt;b&gt;Deanna Welters (SIGN)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.shaw.ca/dwelters/index.html"&gt;Artist&lt;/a&gt; who &lt;a href="http://www.straight.com/article-501416/vancouver/surrey-mayoral-contender-deanna-welters-decries-bush-visit"&gt;hates Bush&lt;/a&gt;., wants &lt;a href="http://www.thenownewspaper.com/SURREY+MAYORAL+CANDIDATE+Meet+Deanna+Welters/5617283/story.html"&gt;"green" infrastructure like light rail&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.peacearchnews.com/news/election/133170253.html"&gt;Wants more public transit, townhome style first floors in new condo developments, and believes something about mature trees but I can't tell what.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Generally an environmental/anti-development focus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-2409494717373369385?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/2409494717373369385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=2409494717373369385' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2409494717373369385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2409494717373369385'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/10/2011-surrey-candidates-for-mayor.html' title='2011 Surrey Candidates for Mayor'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-wj-YjYf6oYg/TqSOvheMUMI/AAAAAAAAClQ/izANhdON5v0/s72-c/bajwa.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3907844292248870458</id><published>2011-09-11T20:54:00.000-07:00</published><updated>2011-09-11T20:55:11.623-07:00</updated><title type='text'>Replacing Toyota Echo Rear Side Marker Lights</title><content type='html'>I had to do a ridiculous amount of research to replace some running lights on my Echo, which by all rights should have been a simple job.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lesson 1:&lt;/b&gt;&lt;br /&gt;At some point Toyota (during manufacture or&amp;nbsp;maintenance) put a freakishly large W5W in one socket - now the socket doesn't hold normal bulbs securely enough. &amp;nbsp;The solution (thanks to the guys at &lt;a href="http://www.lordco.com/"&gt;Lordco&lt;/a&gt;) is to bend out the contact wires on the bulb - that provides enough tension to hold the bulb in place.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lesson 2:&lt;/b&gt;&lt;br /&gt;There are lots of little bulbs that fit the same socket as the W5W. &amp;nbsp;If you read online disussions, talk to the parts department at &lt;a href="http://www.peacearchtoyota.com/"&gt;Peace Arch Toyota&lt;/a&gt;, or even the otherwise bright folks at Lordco, it is fine to replace W5Ws with any bulb you feel like. &amp;nbsp;These people will grudgingly admit that yes, there is a brightness difference, but not very much. &amp;nbsp;The 194 was a popular replacement suggestion, in spite of being only half as bright as the W5W. &amp;nbsp;WTF? &amp;nbsp;I don't understand why bulbs aren't&amp;nbsp;labelled&amp;nbsp;with lumens or candlepower, seeing as how that is the most important detail.&lt;br /&gt;&lt;br /&gt;My online scavenging says:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;194: 2 candlepower&lt;/li&gt;&lt;li&gt;168: 3 candlepower&lt;/li&gt;&lt;li&gt;W5W: 4 candlepower&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Lesson 3:&lt;/b&gt;&lt;br /&gt;2003 Echo user manuals say you should be using W5Ws, but the dealership computer says 192. &amp;nbsp;I never found out what candlepower that actually is. &amp;nbsp;(Lordco's computer agreed with the user manual.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3907844292248870458?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3907844292248870458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3907844292248870458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3907844292248870458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3907844292248870458'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/09/replacing-toyota-echo-rear-side-marker.html' title='Replacing Toyota Echo Rear Side Marker Lights'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8205692087178353873</id><published>2011-08-20T10:01:00.000-07:00</published><updated>2011-09-13T06:48:39.852-07:00</updated><title type='text'>Scammed by Dormaster/Promaster</title><content type='html'>I'll start with a few mea culpas:&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;If I had done minimal research, I would have found the &lt;a href="http://www.bbb.org/mbc/business-reviews/garage-builders/pro-master-garage-doors-in-west-vancouver-bc-1243495"&gt;dismal&lt;/a&gt; &lt;a href="http://www.bbb.org/kitchener/business-reviews/overhead-garage-doors/dormaster-garage-doors-and-windows-in-mississauga-on-1137561"&gt;BBB ratings&lt;/a&gt;, and &lt;a href="http://www.canadiandoormaster.com/garagedoorfraud.html"&gt;allegations&lt;/a&gt; of &lt;a href="http://www.superiorgaragedoors.ca/fraud.htm"&gt;fraud&lt;/a&gt; (by rival companies, but a warning sign nonetheless).&lt;/li&gt;&lt;li&gt;I was naive enough to believe it was an honest mistake and that the company would address my complaints.  Now I know that the correct response when presented with a questionable bill is to tell the dude to GTFO and let them try to come after you.&lt;/li&gt;&lt;li&gt;I didn't request a written estimate, which BMO MasterCard says might have made them willing to reverse the charges in spite of my stupidly signing the bill.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;That being said, this is what the Dormaster experience is like:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;You will be given flat out lies about part prices in your phone estimate.&lt;/li&gt;&lt;li&gt;Parts that will almost certainly be required for your job will not be included in the estimate.&lt;/li&gt;&lt;li&gt;The technician (shout out to my man Alan in Burnaby!) will take it upon himself to do an extra $60 tune-up that, in his own words, consisted of tightening some screws.&lt;/li&gt;&lt;li&gt;When you call to complain they will tell you (each time) to expect a call back - it won't come.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;One thing I'm still uncertain on is how much blame lies with the technicians (who all appear to be independent contractors) and the dispatchers.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oh well.  Lesson learned.  I might not get any money back, but at least I have the satisfaction of throwing another complaint on the BBB pile, and badmouthing them here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At least I don't have any complaints about the &lt;i&gt;quality&lt;/i&gt; of the work.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As of Sept. 13, 2011 I have agreed to close the BBB complaint in exchange for $20. &amp;nbsp;Which is a far better outcome than I expected although I will still never use Dormaster services again.&lt;br /&gt;&lt;br /&gt;I was surprised to see how many false claims Dormaster made in their response via the BBB; is it likely I would somehow be fooled and be more likely to accept their counteroffer? &amp;nbsp;Personally, the lies made me more inclined to fight, but rationality won out. &amp;nbsp;Or perhaps the claims are just an opening gambit in gaming the BBB dispute process, should I have rejected the offer...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8205692087178353873?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8205692087178353873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8205692087178353873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8205692087178353873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8205692087178353873'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/08/scammed-by-dormasterpromaster.html' title='Scammed by Dormaster/Promaster'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8489951046849657945</id><published>2011-08-14T09:39:00.000-07:00</published><updated>2011-08-14T09:54:50.497-07:00</updated><title type='text'>Blog Content Longevity</title><content type='html'>While pondering whether I should delete any of my long-paused blogs I took a look at the visitor stats.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My "current events commentary" blog, with twice as many posts and vastly more words than this one, was receiving only ~1% of the traffic this blog receives.  I would characterize this blog as "stuff that I have direct experience with", with a technical emphasis.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At the time they were both active the current events blog received more traffic than this one.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The internet has voted!  I will stick with writing about what I know, and leave the ranting for others.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8489951046849657945?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8489951046849657945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8489951046849657945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8489951046849657945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8489951046849657945'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/08/blog-content-longevity.html' title='Blog Content Longevity'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-9051801735970540049</id><published>2011-08-09T21:49:00.000-07:00</published><updated>2011-08-09T21:55:35.783-07:00</updated><title type='text'>Google Snooze Fail</title><content type='html'>With the release of a &lt;a href="http://gmailblog.blogspot.com/2011/07/gmail-snooze-with-apps-script.html"&gt;snooze feature for Gmail&lt;/a&gt; I learned that you can extend Gmail with scripts.  I also learned that Google is starting to put less effort into polishing the products it releases.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To install the script you have to create a spreadsheet in Google Docs, open a script editor, copy and paste the script, save the script (but not the spreadsheet?), run an install method, and give the script permission to access Gmail (double the fun if you have more than one Google account logged in at the time).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This was challenging for me, and I'm a software developer!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And then you will get no extra functionality, but you will get error emails every night until you turn the stupid thing off.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-9051801735970540049?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/9051801735970540049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=9051801735970540049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9051801735970540049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9051801735970540049'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/08/google-snooze-fail.html' title='Google Snooze Fail'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8348603776473521616</id><published>2011-08-08T09:33:00.001-07:00</published><updated>2011-08-08T09:37:58.821-07:00</updated><title type='text'>Questrade Contact Information Screwup</title><content type='html'>Today I noticed that Questrade's address on file for me is only loosely based on my real address.  Wrong enough that I would not received my sign up docs if it had been wrong all along.&lt;br /&gt;&lt;br /&gt;The response from a Questrade rep:&lt;br /&gt;&lt;blockquote&gt;Questrade would never change your address, but it might have had something to do with our Feb. 6th platform migration.&lt;/blockquote&gt;Yikes.  It's worth double checking!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And then you will be treated to the worst phone number entry field I have ever seen.  They tell you to enter it in a format that they won't actually accept, and they only allow numbers to be entered even though they initially show a template that implies you need to add formatting characters.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8348603776473521616?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8348603776473521616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8348603776473521616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8348603776473521616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8348603776473521616'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2011/08/questrade-contact-information-screwup.html' title='Questrade Contact Information Screwup'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5154802719477297205</id><published>2010-05-28T21:55:00.000-07:00</published><updated>2010-05-28T22:12:35.297-07:00</updated><title type='text'>Google Reader's "Like" Privacy Blunder</title><content type='html'>Users of Google Reader might be surprised to find out that anytime they "like" a post, they might be sharing this publicly with at least everyone else that reads that post.&lt;br /&gt;&lt;br /&gt;I certainly was.&lt;br /&gt;&lt;br /&gt;All posts in Reader now come with a list of everyone that likes it - a link to their public Google profile is shown on the post itself.&lt;br /&gt;&lt;br /&gt;I don't think this is good default behavior, but the worst part is yet to come.  Google requires that you have a public profile in order to use a number of different services - I created mine because I wanted to share custom feeds in Reader.  To address privacy concerns, Google lets you make your public profile anonymous; displaying a nickname rather than your real name.  This is what I had done.&lt;br /&gt;&lt;br /&gt;Well, sometime between me creating my anonymous public profile and Google introducing the like feature in Reader, they de-anonymized my public profile.  It was only because I liked a friend's blog post and he emailed me in response that I ever found out.&lt;br /&gt;&lt;br /&gt;Everything related to Google Buzz is a privacy disaster.&lt;br /&gt;&lt;br /&gt;At least I wasn't 'liking' all &lt;a href="http://allgeekallthetime.blogspot.com/2010/02/well-google-got-it-half-right.html"&gt;the porn they were recommending&lt;/a&gt; to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5154802719477297205?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5154802719477297205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5154802719477297205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5154802719477297205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5154802719477297205'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2010/05/google-readers-like-privacy-blunder.html' title='Google Reader&apos;s &quot;Like&quot; Privacy Blunder'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4958811347619348884</id><published>2010-05-14T22:36:00.000-07:00</published><updated>2010-05-14T22:55:16.759-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redplaid'/><category scheme='http://www.blogger.com/atom/ns#' term='Radiant'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>The Miracle of VMware</title><content type='html'>After a multi-day ADSL outage by &lt;a href="http://allgeekallthetime.blogspot.com/search/label/Radiant"&gt;the hosting company who's name we shall not speak&lt;/a&gt; (fixed only after I remotely diagnosed their improperly configured router from within the affected area, and my partner in crime called them up and yelled at them until they took my diagnosis seriously) it was clear that things had to change.&lt;br /&gt;&lt;br /&gt;The server in question is an old Win2K box running some fairly non-standard stuff, so it was either co-location or virtualization.  Virtualization of course offers lots of other benefits (like hot failovers and image backups) and I had already used VMware with some success so that seemed like a good place to start.&lt;br /&gt;&lt;br /&gt;My first discovery was that anyone who offers a service and won't even hint at the price without making you talk to a sales guy is bad news.  They would ask me what my budget was I would respond with "well, according to what I see online the going rate is around $50/month".  And then they would suggest that their premium hosting was around $1000/month.  Uh, does that come with crack cocaine or something?  Sheesh.&lt;br /&gt;&lt;br /&gt;So I eventually settled on &lt;a href="http://www.redplaid.com/"&gt;Redplaid&lt;/a&gt;.  Great bandwidth on low end hardware with hot failovers for less than we were paying for ADSL.  After extensive discussions with their sales and engineering team, who really went all out to get a very small account, I got signed up and haven't looked back.&lt;br /&gt;&lt;br /&gt;It is truly amazing.  There were some initial technical glitches to iron out, but even in the middle of the night Redplaid support has been super responsive.  No more server outages, no more worrying about hardware failure, so good.&lt;br /&gt;&lt;br /&gt;And, contrary to Redplaid's engineers' doubts, it truly is possible to run a low bandwidth Win2K Apache server on their lowest end servers.  Not even the slightest performance problem noticeable from the outside.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4958811347619348884?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4958811347619348884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4958811347619348884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4958811347619348884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4958811347619348884'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2010/05/miracle-of-vmware.html' title='The Miracle of VMware'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7673262325246546961</id><published>2010-02-23T22:38:00.000-08:00</published><updated>2010-02-23T22:44:28.761-08:00</updated><title type='text'>Windows XP Toddler Exploit</title><content type='html'>I have noticed something very strange with Windows XP: When you lock out the current user and let a small child wail on the keyboard, bad things happen.&lt;br /&gt;&lt;br /&gt;First, the next time you wake up your computer it will take a long time for the password prompt to appear - like a minute rather than instantly.  The password prompt will contain a blinking cursor, but it will not have focus - you have to click it with the mouse.&lt;br /&gt;&lt;br /&gt;And then there will be all sorts of focus issues with Explorer.  Taskbar icons will always be flashing the "something has changed" message, and you will have to click an icon in the taskbar several times to make a program surface.&lt;br /&gt;&lt;br /&gt;A reboot solves it - haven't tried simply logging the user off and back on.&lt;br /&gt;&lt;br /&gt;You know, this a serious downside of child labor laws - nothing gets childproofed anymore!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7673262325246546961?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7673262325246546961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7673262325246546961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7673262325246546961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7673262325246546961'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2010/02/windows-xp-toddler-exploit.html' title='Windows XP Toddler Exploit'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4206599694077814438</id><published>2010-02-20T21:00:00.000-08:00</published><updated>2010-02-20T22:13:04.702-08:00</updated><title type='text'>Well, Google Got It Half Right...</title><content type='html'>Google Reader has started &lt;a href="http://www.google.com/support/reader/bin/answer.py?hl=en&amp;answer=80468"&gt;recommending&lt;/a&gt; a combination of Christian news and porn to me.&lt;br /&gt;&lt;br /&gt;I'm not sure what to make of this interpretation of my online activities.&lt;br /&gt;&lt;br /&gt;It definitely limits the locations in which I would feel safe viewing their recommendations though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4206599694077814438?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4206599694077814438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4206599694077814438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4206599694077814438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4206599694077814438'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2010/02/well-google-got-it-half-right.html' title='Well, Google Got It Half Right...'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4166761513255288723</id><published>2009-07-09T11:49:00.000-07:00</published><updated>2009-07-09T11:53:50.769-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Bluehost'/><title type='text'>Do Not Use PostgreSQL on Bluehost</title><content type='html'>Argh.&lt;br /&gt;&lt;br /&gt;Much to my dismay, Bluehost treats PostgreSQL as a second class citizen.  You can't back up PostgreSQL databases using the standard Bluehost tools, and the Export function in the phpPgAdmin tool is non-functional.&lt;br /&gt;&lt;br /&gt;If you had shell access (why God why does Bluehost require ID verification for shell access?) you might be able to do backups using command line tools, but I'll never know.&lt;br /&gt;&lt;br /&gt;Back to MySQL...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4166761513255288723?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4166761513255288723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4166761513255288723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4166761513255288723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4166761513255288723'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/07/do-not-use-postgresql-on-bluehost.html' title='Do Not Use PostgreSQL on Bluehost'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4782633124606926933</id><published>2009-07-08T20:04:00.000-07:00</published><updated>2009-07-08T20:13:16.773-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web pages'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><title type='text'>Drupal: Hell Yes!</title><content type='html'>Just tried &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; for the first time.  Wow - an hour to get a pleasant looking corporate site up, and another two to get things configured and teach someone else how to create content.&lt;br /&gt;&lt;br /&gt;I will never build my own content management system again.&lt;br /&gt;&lt;br /&gt;I also took the opportunity to try &lt;a href="http://www.postgresql.org/"&gt;Postgres&lt;/a&gt; and used it as the underlying database, but the Drupal installation was so smooth that I didn't get to learn anything about Postgres.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4782633124606926933?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4782633124606926933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4782633124606926933' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4782633124606926933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4782633124606926933'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/07/drupal-hell-yes.html' title='Drupal: Hell Yes!'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-1306829642520372710</id><published>2009-07-04T20:05:00.000-07:00</published><updated>2009-07-04T20:18:32.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Save On Foods'/><title type='text'>Inside Job at Save On Foods</title><content type='html'>Witnessed something bizarre this evening while walking past the &lt;a href="http://www.saveonfoods.com/"&gt;Save On Foods&lt;/a&gt; at &lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=saveonfoods&amp;sll=49.056995,-122.799425&amp;sspn=0.008381,0.027595&amp;ie=UTF8&amp;radius=0.62&amp;rq=1&amp;ll=49.056995,-122.799425&amp;spn=0.008381,0.027595&amp;z=15"&gt;152nd and highway 99 in Surrey&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A dark colored SUV stops traffic on the East side of Save On, while the occupants have a very animated discussion.  Then the driver jumps out, yanks open the back door, and bodily hauls out the much scrawnier dude in the back.  I was sure a beat down was about to ensue, but instead the scrawny guy (who, incidentally, was wearing a golf shirt very much like those worn by Save On staff) mumbles something like "Oh, I didn't know", crosses the sidewalk, walks into the bushes next to Save On, and pulls out a basket full of what I assume to be groceries.&lt;br /&gt;&lt;br /&gt;He gets back in the SUV and they all drive off.&lt;br /&gt;&lt;br /&gt;I can only assume that one of them snuck the groceries out the side door near the deli counter... I bet if Save On has cameras on that door they would see something entertaining around 6:45pm on July 4th!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-1306829642520372710?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/1306829642520372710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=1306829642520372710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1306829642520372710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1306829642520372710'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/07/inside-job-at-save-on-foods.html' title='Inside Job at Save On Foods'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7721643392603007849</id><published>2009-06-20T23:03:00.000-07:00</published><updated>2009-06-20T23:26:07.034-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Radiant'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='SPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Apps SPF Checking More Strict than Gmail</title><content type='html'>When you host your email through &lt;a href="https://www.google.com/a/"&gt;Google Apps&lt;/a&gt;, you can create email aliases that are called "groups".  Very recently messages routed via those aliases started to silently drop off the face of the earth.  The exact same message sent directly to a real account (part of the same Google Apps domain) was received just fine.&lt;br /&gt;&lt;br /&gt;The only thing that stood out as interesting was that the successfully received email was marked as a "soft fail" under &lt;a href="http://en.wikipedia.org/wiki/Sender_Policy_Framework"&gt;SPF&lt;/a&gt; verification.&lt;br /&gt;&lt;br /&gt;Now, these messages are all being routed through &lt;a href="http://www.radiant.net/"&gt;Radiant&lt;/a&gt; mail servers.  Ah good old Radiant.  Only several years into SPF being widely accepted and they still haven't published an authoritative list of their mail servers.&lt;br /&gt;&lt;br /&gt;So my domain's SPF record listed every other place we might send from, but did not claim this was an exclusive list - hence the soft fail.&lt;br /&gt;&lt;br /&gt;After totally botching my SPF record a few times because I didn't remember that "include:"ing domains without SPF records results in automatic fails, I used a "ptr:radiant.net" to say we trust any host that reverse resolves to *.radiant.net.  (This is highly frowned upon because anyone can spoof reverse DNS lookups, but it seems like a limited risk for a small domain like mine.)&lt;br /&gt;&lt;br /&gt;Anyway, as soon as that change propagated Google Apps started accepting my messages via aliases again.  Very curious that they would have inconsistent SPF processing...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7721643392603007849?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7721643392603007849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7721643392603007849' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7721643392603007849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7721643392603007849'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/06/google-apps-spf-checking-more-strict.html' title='Google Apps SPF Checking More Strict than Gmail'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6714725803527290989</id><published>2009-06-13T09:16:00.000-07:00</published><updated>2009-06-13T09:48:01.810-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web pages'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>The Ineffectiveness of Double Entry Email Validation</title><content type='html'>Way back when, pre-2002, I started maintaining an ecommerce website that delivers ordered products via email.  This means that customers have to enter their email address during the order process, and that is more challenging than one might expect.&lt;br /&gt;&lt;br /&gt;In fact, I recall that the bulk of the customer service revolved around resending orders to people that screwed up their own addresses.  Unacceptable!  So I whipped up the latest in luser-combatting technology - a double entry email verification system.  It was totally vanilla, two entry boxes that got compared (minus whitespace) on the review page.&lt;br /&gt;&lt;br /&gt;This seemed to cut down problem users significantly, and there was much rejoicing!&lt;br /&gt;&lt;br /&gt;Now, at the time of implementation I added a logging function and periodically reviewed the results to make sure that my syntax validation wasn't too strict.  A couple years ago I realized that this data was quite a bit more interesting than I previously thought, and started saving it for later analysis.&lt;br /&gt;&lt;br /&gt;Later has arrived.&lt;br /&gt;&lt;br /&gt;A short &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; script that &lt;a href="http://www.dabeaz.com/generators/"&gt;heavily abuses generators&lt;/a&gt; filters out the really stupid attempts and groups the rest into sessions based on &lt;a href="http://docs.python.org/library/difflib.html"&gt;difflib&lt;/a&gt; comparisons of the email addresses and the log timestamp (one hour cutoff).&lt;br /&gt;&lt;br /&gt;I expected to see lots of people struggling with entering an address twice, possibly to the extent that I should not reject them on the basis that it is more important to take customers' money before they get frustrated and give up.  Not so at all.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Only 4.22% had any kind of trouble - everyone else got their syntactically correct address entered twice identically on the first try and kept it that way.  &lt;span style="font-style: italic;"&gt;Huh... that's a lot of users having their time wasted for no reason.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;41.92% of trouble sessions gave up and never gave us any money.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Of the trouble sessions, 92.62% had trouble entering the same address twice.&lt;/li&gt;&lt;li&gt;Of the trouble sessions, 33.01% "round tripped", which is to say they finished with two matching email address that happen to match the very first email address they entered.  &lt;span style="font-style: italic;"&gt;Not helping those guys!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Of the trouble sessions, 4.6% started out with a good double email entry but then sabotaged themselves in some way (we have single page data entry forms...).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Average attempts for a trouble session before giving up: 1.44.  &lt;span style="font-style: italic;"&gt;So if they don't get it right on the first try, they probably aren't coming back.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Average attempts for a trouble session that eventually results in success: 2.23&lt;/li&gt;&lt;/ul&gt;A lot of these categories overlap, so summaries are tricky, but one clear finding is that 75% (gave up + round trippers) of the people that had trouble were not helped by the double entry system.&lt;br /&gt;&lt;br /&gt;What I don't have is information on which sessions resulted in orders, or even include multiple orders.  Demographics wise, I can confidently say that customers skew to the over-30 side, but beyond that I couldn't say.&lt;br /&gt;&lt;br /&gt;I am currently leaning towards completely scrapping the double entry system, and possibly making the syntax validation a warning.  This would move a certain number of customers into the post transaction support queue, but would hopefully increase the total number of transactions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6714725803527290989?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6714725803527290989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6714725803527290989' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6714725803527290989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6714725803527290989'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/06/ineffectiveness-of-double-entry-email.html' title='The Ineffectiveness of Double Entry Email Validation'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8180569392117115948</id><published>2009-06-08T06:35:00.000-07:00</published><updated>2009-08-28T21:03:35.470-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web pages'/><category scheme='http://www.blogger.com/atom/ns#' term='ads'/><title type='text'>Pre-Rendering to Defeat Ad Blocking</title><content type='html'>I wonder why big media companies (like the newspapers going bankrupt because no one will pay for anything anymore) are still offering their content in a form that facilitates ad blocking.&lt;br /&gt;&lt;br /&gt;It seems like if you are CNN or the New York Times you probably don't care that much about search engine traffic and therefore wouldn't be punished as severely for doing something like pre-rendering most of your content (with ads embedded of course).  It seems to me this would make ad filtering a lot harder - you'd need more than a &lt;a href="http://en.wikipedia.org/wiki/Regular_expression"&gt;regular expression&lt;/a&gt; to do the work.&lt;br /&gt;&lt;br /&gt;You would have to use heat maps to do links of course, but as long as you passed all the links through a redirector it still wouldn't be obvious what links are ads.&lt;br /&gt;&lt;br /&gt;Or maybe ad blocking really isn't as wide spread as some make it out to be?&lt;br /&gt;&lt;br /&gt;I don't understand why ads on webpages would be fundamentally less valuable than ads in newspapers though... (this is the claim of the dying companies, yes?)  Maybe the sheer volume of amateur content is driving rates down?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8180569392117115948?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8180569392117115948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8180569392117115948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8180569392117115948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8180569392117115948'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/06/pre-rendering-to-defeat-ad-blocking.html' title='Pre-Rendering to Defeat Ad Blocking'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3481934510668109144</id><published>2009-06-07T08:48:00.000-07:00</published><updated>2009-06-07T09:24:56.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>The Golden Age</title><content type='html'>Finally read the last book of &lt;a href="http://en.wikipedia.org/wiki/The_Golden_Age_(John_C._Wright_novel)#Reception"&gt;John C. Wright's Golden Age&lt;/a&gt; sci fi series.  I think I picked it up because of an &lt;a href="http://www.hatrack.com/"&gt;Orson Scott Card&lt;/a&gt; recommendation.&lt;br /&gt;&lt;br /&gt;Two things really bugged me in this tale of the far far future.&lt;br /&gt;&lt;br /&gt;Firstly, the main characters were all massively augmented by technological evolution, yet still plagued by obnoxious character flaws.  I would like to believe that the elites of 1000s of years from now will be more emotionally stable than the drama queens of today.&lt;br /&gt;&lt;br /&gt;Secondly, the digressions into philosophy as a plot driving mechanism were painful.  Much like in &lt;a href="http://en.wikipedia.org/wiki/Zen_and_the_Art_of_Motorcycle_Maintenance"&gt;Zen and of Art of Motorcycle Maintenance&lt;/a&gt; I largely skipped those "deep" sections because I don't care enough to work through the tortured logic.  And the idea that anyone would still be arguing on a level that present day readers could understand is kind of silly.&lt;br /&gt;&lt;br /&gt;So I didn't actually think much of the story.  All that being said, Wright's exploration of property rights and personhood in a society that doesn't require a biological presence is fascinating.  Evolution is explicitly by "intelligent design", with individuals modifying themselves or creating "children" based on whatever criteria they want.  Clones have a special place in the law, and there are all sorts of interesting rules declaring how much damage to copy can be tolerated before considering the copy a new individual.&lt;br /&gt;&lt;br /&gt;Interesting stuff!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3481934510668109144?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3481934510668109144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3481934510668109144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3481934510668109144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3481934510668109144'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/06/golden-age.html' title='The Golden Age'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-911313520733036852</id><published>2009-06-06T15:45:00.000-07:00</published><updated>2009-06-06T16:04:28.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thesixtyone'/><category scheme='http://www.blogger.com/atom/ns#' term='last.fm'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>thesixtyone is Genius</title><content type='html'>After &lt;a href="http://www.last.fm/"&gt;last.fm&lt;/a&gt; had the gall to start charging money for their service I had to scramble to find a replacement.  &lt;a href="http://www.fourhourworkweek.com/blog/2009/05/15/tim-ferriss-and-kevin-rose-random-episode-2/"&gt;Tim Ferris and Kevin Rose&lt;/a&gt; talked about &lt;a href="http://www.thesixtyone.com/?referred_by_username=damnnicks"&gt;thesixtyone&lt;/a&gt; in one of their random videos, so I gave it a shot.&lt;br /&gt;&lt;br /&gt;Most brilliant interface, EVAR.&lt;br /&gt;&lt;br /&gt;They have basically added the MMORPG concept of &lt;a href="http://en.wikipedia.org/wiki/Grind_(gaming)"&gt;grinding&lt;/a&gt; to music: there are quests to encourage you to listen to different types of music, experiment with features, interact with other users.  Completing these quests gives you currency to do other things, including vote up songs you like.  And then you get more currency when a song you voted up becomes more popular.&lt;br /&gt;&lt;br /&gt;Totally addictive.  Thank god it's limited by the number of songs you can listen to in a day!  I wonder if they have grand plans for the users that surface who tend to drive music popularity...&lt;br /&gt;&lt;br /&gt;Oh, and lots of never before heard of bands and music - &lt;a href="http://www.thesixtyone.com/?referred_by_username=damnnicks#/Johnossi/song/Man+Must+Dance/23316/"&gt;some of which is far better than top 40 radio stuff&lt;/a&gt;.  It took me a while to build up a collection of stuff I really like, but now I have plenty of variety.  There is also &lt;a href="http://www.thesixtyone.com//?referred_by_username=damnnicks#/formerfatboys/song/I%22M+A+DINOSAURus/48372/"&gt;dinosaur gansta rap&lt;/a&gt; and songs about &lt;a href="http://www.thesixtyone.com//?referred_by_username=damnnicks#/stwpt/song/WE+ARE+THE+ROBOT+PIRATES/35087/"&gt;robot pirates&lt;/a&gt;.  Oh yes.&lt;br /&gt;&lt;br /&gt;And if you &lt;a href="http://www.thesixtyone.com/?referred_by_username=damnnicks"&gt;sign up from here&lt;/a&gt; I'll get currency for that too.  That's right, they've even built in a pyramid scheme!  Fantastic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-911313520733036852?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/911313520733036852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=911313520733036852' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/911313520733036852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/911313520733036852'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/06/thesixtyone-is-genius.html' title='thesixtyone is Genius'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-976565240290109860</id><published>2009-06-01T21:38:00.000-07:00</published><updated>2009-06-01T21:44:56.693-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YVR'/><category scheme='http://www.blogger.com/atom/ns#' term='complaints'/><category scheme='http://www.blogger.com/atom/ns#' term='noise'/><category scheme='http://www.blogger.com/atom/ns#' term='airplanes'/><category scheme='http://www.blogger.com/atom/ns#' term='flying'/><title type='text'>Noise Reporting for YVR</title><content type='html'>If you live anywhere near the Vancouver (BC) International Airport (YVR) you can now do &lt;a href="http://www.yvr.ca/webtrak/"&gt;online reporting of noise complaints&lt;/a&gt;.  Like for when a plane flies so low over your house it rattles the windows - common in Richmond perhaps, but not cool in Surrey.  In theory this will be used to schedule move air traffic away from the people with the most political clout who like to complain about stuff.  I hope to be one of those people :-)&lt;br /&gt;&lt;br /&gt;It's a pretty nifty interface - you can pick a time in the past and replay old traffic to find the flight that bugged you.&lt;br /&gt;&lt;br /&gt;And much to my surprise, I actually got a reasonably custom response to my first complaint:&lt;br /&gt;&lt;blockquote&gt;Thank you for your comments submitted through WebTrak on 28 May 2009.&lt;br /&gt;&lt;br /&gt;I have investigated the flight that you specified using our Aircraft Noise Monitoring and Flight Tracking System. The aircraft was a hush-kitted Boeing 727. Although this type of jet does meet the current federal Chapter III noise certification standards, it is one of the older aircraft types still operating in Canada and tends to be noisier than its modern counterparts. &lt;br /&gt;&lt;br /&gt;Please do not hesitate to contact us if you would like to visit the YVR Noise Office to discuss aircraft operations over your area. In addition, you may also visit our website (www.yvr.ca) for more detailed information on the YVR Aeronautical Noise Management Program.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-976565240290109860?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/976565240290109860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=976565240290109860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/976565240290109860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/976565240290109860'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/06/noise-reporting-for-yvr.html' title='Noise Reporting for YVR'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3981086118733311689</id><published>2009-05-31T21:54:00.000-07:00</published><updated>2009-05-31T21:54:33.468-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='caches'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='websites'/><category scheme='http://www.blogger.com/atom/ns#' term='privacy'/><title type='text'>Secure (Private) Web Browser Caches</title><content type='html'>I'm not a privacy nut in any sense of the word.  I have stupid and largely unused Facebook, LinkedIn, and "whatever my friends are hot on today" accounts, and I don't worry about the information I'm sharing.&lt;br /&gt;&lt;br /&gt;But browser caches are a different story.  How can a browser cache that persists between sessions possibly be of benefit to me?  Sure there are some minor bandwidth and loading speed gains (if you actually use more than 5 pages a day...).  But is that really worth allowing your entire life of browsing be potentially held against you one day?  If I see a link that labeled "for the love of God and your eyesight, don't click this", you know I'm going to be clicking it.  I've seen things that I wouldn't like to explain to anyone.  And doesn't even consider the deviant things I search out!  So I have all my browsers set to clear cache on shutdown.&lt;br /&gt;&lt;br /&gt;There should be a middle ground.  Why do browser caches have to be so easy to browse through?  (I remember a game people used to play with other peoples computers - take a slideshow program and have it run through a browser cache - good times...)&lt;br /&gt;&lt;br /&gt;My proposal is to encrypt cached content and store a hashed key based on the URL the content was loaded from.  The encryption would be based on the URL or something like that as well of course.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You visit a site&lt;/li&gt;&lt;li&gt;Your browser takes a URL and hashes it with your custom salt value.&lt;/li&gt;&lt;li&gt;Your browser checks if that hash exists in your cache.&lt;/li&gt;&lt;li&gt;If hash exists, content is decrypted using URL or something like that as the key.&lt;/li&gt;&lt;/ol&gt;As long as the key is salted so that you can't do scans for known deviant hashes, this would do a pretty good job of obscuring what is in your cache.&lt;br /&gt;&lt;br /&gt;I think this idea is pretty awesome.  Please tell me why it is not/is computationally prohibitive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3981086118733311689?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3981086118733311689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3981086118733311689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3981086118733311689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3981086118733311689'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/05/secure-private-web-browser-caches.html' title='Secure (Private) Web Browser Caches'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4284376419685767852</id><published>2009-05-24T08:19:00.000-07:00</published><updated>2009-05-24T08:31:26.188-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>The End of Contextual Search</title><content type='html'>It seems that Google is giving up on advancing their automated search technology.&lt;br /&gt;&lt;br /&gt;Submission 1: After largely deprecating HTML meta tags like &lt;em&gt;keywords&lt;/em&gt; and &lt;em&gt;description&lt;/em&gt;, &lt;a href="http://googlewebmastercentral.blogspot.com/2009/05/introducing-rich-snippets.html"&gt;Google is now requesting that pages include "snippets" for the Google web crawler to use&lt;/a&gt;.&lt;br /&gt;Submission 2: &lt;a href="http://adwords.blogspot.com/2009/05/improvements-to-google-ad-planner-data.html"&gt;Content publishers who display Adsense ads have been requested to manually enter details about their site content&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I thought that the end goal was to eliminate this kind of manual tweaking?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4284376419685767852?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4284376419685767852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4284376419685767852' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4284376419685767852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4284376419685767852'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/05/end-of-contextual-search.html' title='The End of Contextual Search'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-2111263980820358506</id><published>2009-04-25T21:46:00.000-07:00</published><updated>2009-04-25T21:57:13.314-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GiftFinder'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>App Engine SDK Timeouts Unrealistic</title><content type='html'>My primary irritation with App Engine right now is that long running scripts that worked fine on my machine in the SDK time out in the live environment.&lt;br /&gt;&lt;br /&gt;I initially created a page for &lt;a href="http://notthethought.appspot.com/"&gt;GiftFinder&lt;/a&gt; to load product data from Amazon for testing purposes, then modified it to handle duplicates better and set up as an &lt;a href="http://code.google.com/appengine/docs/python/config/cron.html"&gt;App Engine cron job&lt;/a&gt; (&lt;a href="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html"&gt;a new feature&lt;/a&gt;).  The goal is to automatically insert new top products without any intervention from me.&lt;br /&gt;&lt;br /&gt;Unfortunately, this job hasn't run to completion once since I installed it.  It would be nice if there was a "throttle to realistic speeds" in the SDK so that this could be more easily avoided.  I have just made the script a bit lighter - hopefully that will put it under the limit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-2111263980820358506?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/2111263980820358506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=2111263980820358506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2111263980820358506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2111263980820358506'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/04/app-engine-sdk-timeouts-unrealistic.html' title='App Engine SDK Timeouts Unrealistic'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6693380631964672824</id><published>2009-04-24T18:44:00.000-07:00</published><updated>2009-04-24T18:44:00.763-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='GiftFinder'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>GiftFinder: A Google App Engine Test Case</title><content type='html'>Some time ago I came up with the idea of a simple web application to help people pick half decent gifts for recipients that they couldn't come with a meaningful gift for.  This idea was particularly appealing because of the great capitalist potential.&lt;br /&gt;&lt;br /&gt;My initial concept could be summed up by:&lt;br /&gt;&lt;blockquote&gt;Ask questions about the recipient, sort potential gifts based on n-dimensional &lt;a href="http://en.wikipedia.org/wiki/Euclidean_distance"&gt;Euclidean distance&lt;/a&gt; from recipient (while database servers catch fire in the distance), and then use the feedback from user actions to adjust the scores for the gifts.  Send users to &lt;a href="https://affiliate-program.amazon.com/gp/associates/join/landing/main.html"&gt;Amazon&lt;/a&gt;.  Profit!&lt;br /&gt;&lt;/blockquote&gt;I am determined to never blight the world with another &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt; application and I am also comfortable with &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;, so I set out to find an appropriate development framework that supported Python.  Bottom line, &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; was pretty attractive for a toy application:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It runs Python&lt;/li&gt;&lt;li&gt;It is free for non-heavy use&lt;/li&gt;&lt;li&gt;It requires no configuration or hardware from me&lt;/li&gt;&lt;li&gt;It scales transparently on the off chance you get lots of visitors&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I had wanted to try App Engine for some time&lt;/li&gt;&lt;/ul&gt;And lo!  &lt;a href="http://notthethought.appspot.com/"&gt;GiftFinder&lt;/a&gt;, in all its (hopefully short term) crumminess, is born!&lt;br /&gt;&lt;br /&gt;I plan to blog about some of the different components of GiftFinder in the future, and how the choice of App Engine impacted design.  If I get back into the developing mood I will continue to try to improve the app to something workable.&lt;br /&gt;&lt;br /&gt;Feedback and questions are encouraged and appreciated!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6693380631964672824?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6693380631964672824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6693380631964672824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6693380631964672824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6693380631964672824'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/04/giftfinder-google-app-engine-test-case.html' title='GiftFinder: A Google App Engine Test Case'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5028901415548983365</id><published>2009-04-19T18:11:00.000-07:00</published><updated>2009-04-19T18:14:52.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='AMD'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='ATI'/><title type='text'>Firewhat?</title><content type='html'>The rocket scientists at AMD have designed their &lt;a href="http://support.amd.com/us/gpudownload/windows/Legacy/Pages/radeonaiw_xp.aspx?type=2.4.1&amp;amp;product=2.4.1.3.24&amp;amp;lang=English"&gt;driver download page&lt;/a&gt; so that Firefox users get redirected to a "stop leeching" page.  This is when clicking through the AMD site.&lt;br /&gt;&lt;br /&gt;IE works fine.&lt;br /&gt;&lt;br /&gt;Wow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5028901415548983365?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5028901415548983365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5028901415548983365' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5028901415548983365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5028901415548983365'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/04/firewhat.html' title='Firewhat?'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6124996951149732850</id><published>2009-04-13T17:55:00.000-07:00</published><updated>2009-04-13T12:39:56.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TortoiseSVN'/><title type='text'>TortoiseSVN Show Log Brutally Slow</title><content type='html'>I don't know if upgrading to the 1.6 &lt;a href="http://tortoisesvn.tigris.org/"&gt;TSVN&lt;/a&gt; line caused the problem, but suddenly it takes 10 minutes to do a Show Log on the root of a repository, and even more on a small subdirectory.  And the problem does not go away after the first successful Show Log, indicating that the log cache isn't working very well.&lt;br /&gt;&lt;br /&gt;I worked around the problem by disabling the log cache entirely - things work lickety split now!&lt;br /&gt;&lt;br /&gt;Settings -&gt; Log Caching -&gt; Enable log caching = Unchecked&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6124996951149732850?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6124996951149732850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6124996951149732850' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6124996951149732850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6124996951149732850'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/04/tortoisesvn-show-log-brutally-slow.html' title='TortoiseSVN Show Log Brutally Slow'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8329966820998123718</id><published>2009-03-05T18:58:00.000-08:00</published><updated>2009-03-05T18:59:36.916-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='exercise'/><category scheme='http://www.blogger.com/atom/ns#' term='P90X'/><title type='text'>P90X for Geeks</title><content type='html'>A while back I read &lt;a href="http://www.fourhourworkweek.com/"&gt;The 4-Hour Workweek&lt;/a&gt;.  The one thing that really stuck with me was the idea that you should pick an area of your life to improve, and take a concrete action to achieve that change.&lt;br /&gt;&lt;br /&gt;How to achieve "living like James Bond" seemed a little nebulous, so I tried to narrow it down a little.  OK, I really like how Bond can solve almost any problem with sufficient amounts of violence.  That seems like a really satisfying fall-back plan.&lt;br /&gt;&lt;br /&gt;So with that thought percolating, I was particularly susceptible to the barrage of &lt;a href="http://www.beachbody.com/product/fitness_programs/p90x.do?code=P90XDOTCOM"&gt;P90X&lt;/a&gt; ads that have been on TV recently.  P90X has a few things going for it that I think made me unconsciously dismiss every other exercise program I have seen advertised:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Not targeting weight loss through cardio&lt;/li&gt;&lt;li&gt;No equipment needed that I didn't already own&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Where I Started&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Starting Weight&lt;/span&gt;: 115 pounds or so, which at 5'7" would put me soundly in the "scrawny" category.&lt;br /&gt;&lt;br /&gt;Like many tech workers, my physical fitness leaves something to be desired.  My borderline ADD burns up all excess calories so I don't have to worry about getting fat, but it is becoming increasingly difficult to convince myself that slimness equals healthy.  There was an eye-opening moment at my previous job during a fitness challenge: I did 30 crunches to a metronome and was pretty pleased until I saw that it took 60 to even make the top 5.&lt;br /&gt;&lt;br /&gt;Even this video eventually stopped making me feel better about myself.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SfSwS4OO51w&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/SfSwS4OO51w&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Goal&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To be strong enough that when someone complains about the quality of my code I have the (highly inadvisable) option of throwing him through the nearest wall.  Clearly some experimentation will be required once I think I've reached this milestone.&lt;br /&gt;&lt;br /&gt;The gym manager at work is my height and 210 lbs.  &lt;span style="font-weight: bold;"&gt;Waaaaaay&lt;/span&gt; too big.  I need to fit through the narrow halls.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Where I Deviated From the P90X Instructions&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No change in diet.  Thanks to my wife I eat pretty well to begin with, and I am kind of suspicious of what might be in the "recovery" drink marketed with the program.  My understanding is that we Westerners massively over-eat anyway.&lt;/li&gt;&lt;li&gt;I have dumbbells with removable plates rather than a set of fixed weight dumbbells, and changing weights as I went added too much time.  So I would pick a weight that was comfortable for most everything and used individual remaining plates when that was too heavy.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Didn't keep records, beyond what weight I should use for the entire routine.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Swapped rest/stretch day with Kenpo day.  Even after 90 days my legs were always too sore for Kenpo from the Yoga and Legs/Back the preceding two days.&lt;/li&gt;&lt;li&gt;Life interfered a few times, resulting in some unscheduled rest days.  Christmas vacation didn't help.&lt;/li&gt;&lt;li&gt;Did not stick to 8-10 reps rule.  It turns out my wrists can handle far less weight than my arms, so I stuck with doing more reps of lighter weights.  As my wrists stopped feeling as tweaky I very carefully increased the weight.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Initial Impressions&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;After day one I was too sore to do any more exercise for like four days.  Clearly should have taken it easier.  The first 7 days took me two weeks to struggle through.&lt;/li&gt;&lt;li&gt;After doing Yoga for the first time in my life, my nipples hurt.  WTF? Thankfully that never happened again.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Exceptionally depressing to discover that I can barely do pull ups any more.  Took a few weeks to admit I should be using a chair for support, to increase reps.&lt;/li&gt;&lt;li&gt;Aerobic components were hard and didn't feel as constructive as the strength components.  I considered dropping them, but eventually decided that being able to throw a dude through a wall was going to be of limited value if I was winded after the first one.&lt;/li&gt;&lt;li&gt;P90X was advertised on TV as "an hour a day".  Not bloody likely.  Most days are between 1.25 and 1.5 hours.&lt;/li&gt;&lt;li&gt;I find the random crap that comes of out the instructor's (Tony) mouth to be rather endearing.  &lt;a href="http://en.wikipedia.org/wiki/Stockholm_syndrome"&gt;Stockholm syndrome&lt;/a&gt;?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Results&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After a full 90 days of the program (completed over more like 115 days), I have made measurable improvements.  I put on somewhere between 5 and 10 pounds, and have become fairly flexible (when I'm not sore from exercising).  Cardio routines no longer kill me.&lt;br /&gt;&lt;br /&gt;Perhaps an hour a day of any kind of exercise would have had the same effect?&lt;br /&gt;&lt;br /&gt;I'm still scrawny, but a much more muscular scrawny.  Not so muscular I would dare posting "after" pictures on the Internet though!  The weight is more visible in my face than I expected it to be.&lt;br /&gt;&lt;br /&gt;Before starting the program I was experiencing shoulder pain, particularly after getting up in the morning.  That cleared up after the first month or so.&lt;br /&gt;&lt;br /&gt;I also think that I was headed for trouble in back land, what with my acrobatics loving toddler rapidly putting on weight.  I feel a lot better in that regard as well.&lt;br /&gt;&lt;br /&gt;So success, although I have no idea if it was a reasonable amount of success.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Going Forward&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;My current employer has a private, very nice, gym on site.  I intend to start using it, which will be helpful given that my workout room is being converted into a bedroom to make room for the new baby.  I imagine I'll use the P90X routines as the basis for those workouts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8329966820998123718?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8329966820998123718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8329966820998123718' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8329966820998123718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8329966820998123718'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/03/p90x-for-geeks.html' title='P90X for Geeks'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3547341712378039274</id><published>2009-01-11T19:02:00.000-08:00</published><updated>2009-01-11T19:02:00.900-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='routers'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2000'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Outbound Traffic Required to Wake Listening Sockets</title><content type='html'>This is a real and frustrating ongoing situation for me.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Players&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;all-in-one style PC motherboard&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Windows 2000&lt;/li&gt;&lt;li&gt;Apache&lt;/li&gt;&lt;li&gt;cheapo router&lt;/li&gt;&lt;li&gt;ADSL modem&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;The Symptoms&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;intermittent outages of all services - like the server dropped off the internet&lt;br /&gt;&lt;/li&gt;&lt;li&gt;sometimes recovers on its own&lt;/li&gt;&lt;li&gt;always solved by rebooting server&lt;/li&gt;&lt;li&gt;replacing the hard drive and power supply made no difference&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Now, naturally, the server is off-site compared to me, and I have limited support over there.  In my one physical visit so far, I made the following discoveries:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;one network weirdness in the event log, but nothing correlated with the very frequent outages&lt;/li&gt;&lt;li&gt;outbound internet working fine&lt;/li&gt;&lt;li&gt;the logs of the webserver showed that no remote connections had been received for a couple hours before I showed up, but they started coming in within seconds of me sitting down at the computer!   WTF?&lt;/li&gt;&lt;li&gt;but localhost hits (from scheduled jobs) were coming in like clockwork during the outage&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;The "Solution"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It pains me to admit it, but it was late and I was tired.  So I decided that the trigger that got the server working again had to have been me trying to browse out.  So I made a scheduled job that uses curl to poke another site I own every minute.&lt;br /&gt;&lt;br /&gt;And... no outages since.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Perimortem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;OK, outbound traffic is clearly kicking something back into gear.  The router is a prime candidate, given that it definitely has some sort of capability to open ports based on outbound traffic.  This router has been running for years under the same configuration and never made trouble, but the same can be said for most of the other hardware and software.&lt;br /&gt;&lt;br /&gt;So perhaps the problem was always there, but there was sufficient outbound traffic to mask the issue?  Traffic is down by a fair bit over the last few months, and there are certain kinds of orders that result in extra outbound traffic.&lt;br /&gt;&lt;br /&gt;Things probably periodically fix themselves right now because of NTP polling...&lt;br /&gt;&lt;br /&gt;Am I missing anything?  Other than the router, are there any other likely causes?&lt;br /&gt;&lt;br /&gt;I hate hardware even more than I hate software :-p&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3547341712378039274?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3547341712378039274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3547341712378039274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3547341712378039274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3547341712378039274'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/01/outbound-traffic-required-to-wake.html' title='Outbound Traffic Required to Wake Listening Sockets'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3651238207748138810</id><published>2009-01-05T17:30:00.000-08:00</published><updated>2009-01-05T17:33:43.751-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Outlook is so Retarded</title><content type='html'>The latest offense it has committed?&lt;br /&gt;&lt;br /&gt;I dragged an email to the root of the mailbox (because I get confused by the 18 copies of the Inbox, OK), and it is just gone.  Gone from the folder it was in.  Not in the Inbox.  Not in Deleted Items.  Like it never existed.&lt;br /&gt;&lt;br /&gt;Needless to say, Undo did not work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3651238207748138810?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3651238207748138810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3651238207748138810' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3651238207748138810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3651238207748138810'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/01/outlook-is-so-retarded.html' title='Outlook is so Retarded'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-661749400465758782</id><published>2009-01-02T17:39:00.000-08:00</published><updated>2009-01-02T17:39:00.375-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JOIP'/><category scheme='http://www.blogger.com/atom/ns#' term='VOIP'/><category scheme='http://www.blogger.com/atom/ns#' term='Panasonic'/><title type='text'>No 911 with joip in Canada</title><content type='html'>Much to my dismay, I discovered the other day that 911 does not work with &lt;a href="http://www.joip.com/"&gt;joip&lt;/a&gt;!  This was during an emergency naturally (which begs the question, how do you legally test your 911 service?), but thankfully there were no consequences due to the delayed ambulance.&lt;br /&gt;&lt;br /&gt;The Panasonic Globarange manual clearly states that by providing your address your 911 calls will be routed to the correct network.  The joip website allows the entry of Canadian addresses (and explicitly offers Provinces as choices).&lt;br /&gt;&lt;br /&gt;A bit of after-the-fact searching led me to an FAQ page that suggests &lt;a href="http://joipcanada.custhelp.com/cgi-bin/joipcanada.cfg/php/enduser/std_adp.php?p_faqid=1047"&gt;only US joip customers get 911 service&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It has been &lt;a href="http://www.crtc.gc.ca/ENG/NEWS/RELEASES/2005/r050404.htm"&gt;illegal to sell VOIP services in Canada without 911 services since 1995&lt;/a&gt;.  We bought the phone from London Drugs, a mainstream retailer, in 2008.&lt;br /&gt;&lt;br /&gt;So I have a few decisions to make:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Do I switch phone services?  The danger is significantly mitigated knowing the limitation, and there is cell phone in the house too.&lt;/li&gt;&lt;li&gt;Do I report this to the CRTC?  Odds as to whether the deficiency is addressed or joip just closes up shop in Canada?  Clearly if I switch phone services I don't care about the risk of shutting them down...&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-661749400465758782?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/661749400465758782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=661749400465758782' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/661749400465758782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/661749400465758782'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2009/01/no-911-with-joip-in-canada.html' title='No 911 with joip in Canada'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3637761103184916749</id><published>2008-12-16T21:58:00.000-08:00</published><updated>2008-12-16T22:07:42.992-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='batch files'/><title type='text'>Windows Temp Dir Cleanup Script</title><content type='html'>Poorly written programs will freak out if your Windows temp directory gets too full.  You could also (theoretically) run out of disk space because of temp directory abuse.&lt;br /&gt;&lt;br /&gt;Seeing as how Windows has no default cleanup mechanism (beyond the Cleanup Wizard that everybody immediately disables), a run on boot batch file is helpful.&lt;br /&gt;&lt;br /&gt;I add cleantmp.bat to the start menu of each computer I use.&lt;br /&gt;&lt;pre class="prettyprint"&gt;del /F /Q "%temp%\*.*"&lt;br /&gt;FOR /D %%a IN ("%temp%\*.*") DO rmdir /S /Q "%%a"&lt;/pre&gt;Based on &lt;a href="http://harrycoal.co.uk/2008/08/20/delete-temp-files-for-each-user-profile/"&gt;Harry Coal's script&lt;/a&gt;, but simplified to be single user and all the extended character set crap converted to 7 bit ascii.&lt;br /&gt;&lt;br /&gt;Also, syntax highlighting based on &lt;a href="http://lukabloga.blogspot.com/2008/10/to-test-new-highlighting.html"&gt;Luka Marinko's post on google-code-prettify&lt;/a&gt;.  It doesn't do much for .bat files, but is impressive for other languages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3637761103184916749?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3637761103184916749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3637761103184916749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3637761103184916749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3637761103184916749'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/12/windows-temp-dir-cleanup-script.html' title='Windows Temp Dir Cleanup Script'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-402274831294222011</id><published>2008-11-30T14:43:00.000-08:00</published><updated>2008-11-30T14:53:20.846-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Telus'/><category scheme='http://www.blogger.com/atom/ns#' term='customer service'/><category scheme='http://www.blogger.com/atom/ns#' term='long distance'/><category scheme='http://www.blogger.com/atom/ns#' term='Primus'/><title type='text'>Primus Hidden Fees</title><content type='html'>Several months after canceling my long distance service with Primus, I just now received a bill for "Termination Charges".&lt;br /&gt;&lt;br /&gt;The current version of the &lt;a href="http://www.primustel.ca/en/residential/legal/termsofuse.html"&gt;Primus contract&lt;/a&gt; does discuss them - several pages into what is otherwise boilerplate stuff - but I don't know if they were referenced in the contract that existed when I signed up.&lt;br /&gt;&lt;br /&gt;The main point is that these fees were not advertised up front as part of the price.  This strikes me as completely unethical, if not illegal.  Even &lt;a href="http://blog.fumbledmumblings.com/2008/08/how-to-lose-customer.html"&gt;Telus&lt;/a&gt; isn't brazen enough to have hidden cancellation fees.&lt;br /&gt;&lt;br /&gt;It's not enough money to go to the mat over, so I'll have to be satisfied with complaints here (and to the &lt;a href="http://www.crtc.gc.ca/eng/welcome.htm"&gt;CRTC&lt;/a&gt;).  Hopefully it will cause them more trouble than my $8.00 was worth.&lt;br /&gt;&lt;br /&gt;(I've considered trying to reverse the automatic charge to my credit card, but this seems like a weak case to spend that capital on... a good reason to not have automatic bill payments attached to anything though.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-402274831294222011?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/402274831294222011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=402274831294222011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/402274831294222011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/402274831294222011'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/11/primus-hidden-fees.html' title='Primus Hidden Fees'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3001860217021183896</id><published>2008-11-22T21:40:00.000-08:00</published><updated>2008-11-22T21:55:11.258-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stock market'/><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='Questrade'/><title type='text'>Noob Questrade Impressions</title><content type='html'>After getting burned by mutual funds at every job that has had a employer matching program, I decided it was finally time to do this right and trade for myself.  Time will tell if that was a good choice, but I figure that either I'll trade up my starting pittance into something meaningful or I'll lose it all and stick with paying off my house.&lt;br /&gt;&lt;br /&gt;Based on &lt;a href="http://doubleblind.ca/2008/03/20/fairly-impressed-with-questrade/"&gt;Sacha's reasonably positive comments&lt;/a&gt;, I went with &lt;a href="http://www.questrade.com"&gt;Questrade&lt;/a&gt; (referred, so hopefully getting my initial commissions refunded...).&lt;br /&gt;&lt;br /&gt;The application process was pretty terrible.  Dozens of documents to read and electronically "sign".  Then I had to mail in some real signatures too.  Luckily, they didn't seem to care that I annotated the agreement to indicate that they hadn't given me several of the contracts I was supposed to be signing off on, and that obviously I didn't agree to those ones.&lt;br /&gt;&lt;br /&gt;The initial funding was also painful.  You don't get access to your trading account until you have fully funded it, and you can't tell how much you have put in without access to the trading account.  This mattered because I am far too paranoid to transfer the minimum $1000 without being sure that I am sending the money to my own account.  So there were about two weeks of delays while I phoned in every day trying to figure out if my test transfers had worked (due to a stupid choice for the size of the first one, it wasn't obvious what was going on).&lt;br /&gt;&lt;br /&gt;But yay!  Finally everything goes through and I can make trades, although under yet another username and password - up to three now I think.&lt;br /&gt;&lt;br /&gt;The trading interface is the crudest, Web 1.0 thing I have seen in a long time.  And they do wacky stuff like list prices for a bunch of stocks I don't care about on the main account page - can't figure out how to change that.  But it works, 100% so far.&lt;br /&gt;&lt;br /&gt;I'm still a little shaky about the mechanics of trading.  A few things surprised me:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There is a very small surcharge for limit orders that cannot be filled against the current bid/ask (at least, that's what it looks like).  I can't figure out how they calculate the surcharge, but it really is tiny.&lt;/li&gt;&lt;li&gt;There must be some minimum threshold before an order is reflected in the current bid/ask, because it doesn't seem to change when I place an order between the spread.  And my trades don't seem to show up in the charts either - perhaps this is to stop guys from making the charts lie by doing single share transactions at artificial prices?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Questrade does &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; screw you via arbitrage!  I placed a limit order to buy at one price, and actually got filled at a better price (probably because my order was too small to be listed?) - I can't imagine why they wouldn't have taken the difference.  Must be a legal thing.&lt;/li&gt;&lt;li&gt;In spite of my orders not being reflected in the current bid, I did see someone seemingly respond to me by canceling and raising their ask right as I was canceling and raising my bid to match his first ask.  It looked very much like he was jittering the price in the hopes that someone would make a market order and get caught at a higher price.  I just left my bid alone at that point, and it eventually got filled.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3001860217021183896?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3001860217021183896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3001860217021183896' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3001860217021183896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3001860217021183896'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/11/noob-questrade-impressions.html' title='Noob Questrade Impressions'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8537719475513677217</id><published>2008-11-22T17:59:00.000-08:00</published><updated>2008-11-22T18:06:01.909-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Chinese food'/><category scheme='http://www.blogger.com/atom/ns#' term='restaurants'/><title type='text'>Green Lettuce</title><content type='html'>Based on &lt;a href="http://allgeekallthetime.blogspot.com/2008/11/stay-away-from-golden-panda.html?showComment=1226170800000#c418133204649698857"&gt;Ryan's recommendation&lt;/a&gt;, I got some takeout from &lt;a href="http://www.greenlettucerestaurant.com/"&gt;Green Lettuce&lt;/a&gt; in Surrey, BC.  Much better than &lt;a href="http://allgeekallthetime.blogspot.com/2008/11/stay-away-from-golden-panda.html"&gt;the last Chinese food place I tried&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;The House Chow Mein was just OK, but the Veggie Spring Rolls, Veggie Samosas (it's a Chinese/Indian fusion place), and Beef with Broccoli were all solidly in the Good category.  Greasily delicious, if a bit over-seasoned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8537719475513677217?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8537719475513677217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8537719475513677217' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8537719475513677217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8537719475513677217'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/11/green-lettuce.html' title='Green Lettuce'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-874617807315873382</id><published>2008-11-07T22:07:00.000-08:00</published><updated>2008-11-07T22:12:44.646-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Chinese food'/><category scheme='http://www.blogger.com/atom/ns#' term='restaurants'/><title type='text'>Stay Away From Golden Panda</title><content type='html'>The best thing I can say about &lt;b&gt;Golden Panda Restaurant&lt;/b&gt; (in Surrey, BC) is that the food is probably safe to eat.  Other than that, mediocre quality at the very best.&lt;br /&gt;&lt;br /&gt;I was a little concerned seeing how few actual Chinese people were in the place (given how many Chinese there are in the area), and my fears were confirmed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-874617807315873382?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/874617807315873382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=874617807315873382' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/874617807315873382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/874617807315873382'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/11/stay-away-from-golden-panda.html' title='Stay Away From Golden Panda'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-98976947850648256</id><published>2008-10-23T21:23:00.000-07:00</published><updated>2008-10-23T21:26:08.300-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TCP/IP'/><category scheme='http://www.blogger.com/atom/ns#' term='Aspire One'/><category scheme='http://www.blogger.com/atom/ns#' term='WiFi'/><title type='text'>Roaming WiFi Piracy</title><content type='html'>I recently purchased my very first WiFi enabled device and was shocked to discover how laborious it is to get access to an unsecured, SSID advertised connection.&lt;br /&gt;&lt;br /&gt;Nine clicks minimum on my &lt;a href="http://allgeekallthetime.blogspot.com/2008/09/on-road-with-acers-aspire-one.html"&gt;Aspire&lt;/a&gt;, which is fairly slow using a touch pad.  Specifically, far too slow to grab a connection while bombing down the highway and do something productive with it.  &lt;i&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt; A new feature seemingly just appeared in my Aspire: a left click on the wireless system tray icon sometimes shows available connections right there, and allows them to be connected to.  So maybe 2 only clicks if you manage to choose a good one on the first try?  Still clumsy for my purposes...&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I had imagined an option for making it aggresively connect to whatever was available, and relatively seamlessly hopping connections as I moved.  There would be TCP/IP complications of course, but for normal browsing type use it would have been OK (I think).&lt;br /&gt;&lt;br /&gt;Are there any WiFi drivers for doing this?  It seems fairly simple and super awesome.&lt;br /&gt;&lt;br /&gt;I think that I might be able to simulate this by carefully adding explicit connections for enough access points along my regular commute - the Aspire seems to do a good job of picking and using known available connections.  Will report back after I try it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-98976947850648256?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/98976947850648256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=98976947850648256' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/98976947850648256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/98976947850648256'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/10/roaming-wifi-piracy.html' title='Roaming WiFi Piracy'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4468853258407897320</id><published>2008-10-08T20:14:00.000-07:00</published><updated>2008-10-08T20:18:43.824-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><title type='text'>Voice Input Without NLP</title><content type='html'>The trouble with visual interfaces has always been, and will remain, the limited amount of screenspace.  Combine that with the fact most people can't efficiently use "busy" interfaces, and you have to make some hard choices about what will be presented.&lt;br /&gt;&lt;br /&gt;The dream of natural language processing (NLP) is that you verbally state your desire, and magic happens.  This would allow the  use of all the communication tools we already know.  Unfortunately, NLP is fairly tricky in practice because language processing requires a significant amount of contextual knowledge that is hard to program in.  So voice interfaces of today tend to simply map keywords to their mouse click and shortcut key equivalents.  Which is great if you have arthritis, but pretty slow for everyone else.&lt;br /&gt;&lt;br /&gt;I would like to see voice input used as an enhancement to visual interfaces, rather than a replacement for them.&lt;br /&gt;&lt;br /&gt;The example that comes to mind is trip planning software; Google Maps for example.  In order to keep things clean, they can't present much more than directions, distances, and predicted times.  But there is lots of other information that would occasionally be very helpful.  The weather, temperature, road conditions, sight-seeing opportunities, you name it.  But even a small link to add extra details would quickly devolve into a nightmare of nested menus that would require a fair bit of knowledge of how menu items are grouped.  It would be much cleaner to simply say (or type, for that matter) "temperatures" and have that data added to the trip.&lt;br /&gt;&lt;br /&gt;This of course adds a pretty significant layer of hidden UI, but that's better than not there at all, right?  And command line interfaces have had this problem forever, yet are still used extremely productively for some kinds of tasks.  Listing all the supported keywords for a "help" request would give a standardized way of familiarizing one's self with a new application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4468853258407897320?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4468853258407897320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4468853258407897320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4468853258407897320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4468853258407897320'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/10/voice-input-without-nlp.html' title='Voice Input Without NLP'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3172679885627120198</id><published>2008-10-08T15:55:00.000-07:00</published><updated>2008-10-08T15:58:51.189-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cookies'/><category scheme='http://www.blogger.com/atom/ns#' term='Questrade'/><category scheme='http://www.blogger.com/atom/ns#' term='websites'/><title type='text'>Questrade Misunderestimates Cookies</title><content type='html'>I got a chuckle out of the "cookie" section of Questrade's privacy policy:&lt;br /&gt;&lt;blockquote&gt;"Cookies" are small amounts of data that a web site can send to your browser and store on your computer. Cookies do not contain personal information about you (unless you knowingly provide it).&lt;/blockquote&gt;So, like, if your password shows up in a cookie, it's totally your fault dude!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3172679885627120198?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3172679885627120198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3172679885627120198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3172679885627120198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3172679885627120198'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/10/questrade-misunderestimates-cookies.html' title='Questrade Misunderestimates Cookies'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6750419565861165554</id><published>2008-10-06T22:34:00.000-07:00</published><updated>2008-10-06T22:42:20.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GICs'/><category scheme='http://www.blogger.com/atom/ns#' term='Questrade'/><category scheme='http://www.blogger.com/atom/ns#' term='RESPs'/><title type='text'>Random Questrade Trivia</title><content type='html'>While trying to figure out who to go with for an RESP for my son, I got some details out of Questrade that might be useful to someone...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Interest rates on cash are the same for RESPs as for RRSPs.&lt;/li&gt;&lt;li&gt;Questrade does not accept third party deposits, which are helpful if you have extended family that doesn't trust their contributions will not end up in the beer fund!&lt;/li&gt;&lt;li&gt;Laurentian and HSBC GICs are available, but must be purchased over the phone for a $25-$30 fee.&lt;/li&gt;&lt;li&gt;It might be possible to purchase GICs even without fully funding the account... they were a little ambiguous with that answer.  Accounts have to be "approved" before GICs can be purchased.&lt;/li&gt;&lt;/ul&gt;Also, they misspell "Questtrade" as the password to their trading platform demo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6750419565861165554?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6750419565861165554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6750419565861165554' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6750419565861165554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6750419565861165554'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/10/random-questrade-trivia.html' title='Random Questrade Trivia'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-1155059887937144621</id><published>2008-09-27T17:12:00.000-07:00</published><updated>2008-09-27T17:39:11.134-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='computers'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Aspire One'/><category scheme='http://www.blogger.com/atom/ns#' term='Acer'/><category scheme='http://www.blogger.com/atom/ns#' term='laptops'/><title type='text'>On the Road with Acer's Aspire One</title><content type='html'>Just before leaving on my current vacation, I bought an &lt;a href="http://en.wikipedia.org/wiki/Aspire_One"&gt;Acer Aspire One&lt;/a&gt; which I wrote the bulk of this post on.  The choice was to either get a &lt;a href="http://www.apple.com/macbook/"&gt;MacBook&lt;/a&gt; of some sort or a totally cheap notebook.  After much agonizing I decided that I couldn't justify the price of a MacBook for what is going to be a way to be productive in some small way while I'm commuting (I'm looking for a new job, and expect to be commuting to it).  I am sick of dealing with Microsoft's upgrade cycle (and the extra cost of their OSs), so that left a Linux machine.  &lt;a href="http://www.dell.com/content/products/productdetails.aspx/laptop-inspiron-9?c=us&amp;amp;cs=19&amp;amp;l=en&amp;amp;s=dhs"&gt;Dell's new notebook&lt;/a&gt; isn't quite out yet, and friends recommended both the Linux and XP versions of the Aspire One, so here we are.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3aSmcnzocW4/SN7O09DrESI/AAAAAAAAAhY/gpeJ85q9q74/s1600-h/20080913_1610_small.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_3aSmcnzocW4/SN7O09DrESI/AAAAAAAAAhY/gpeJ85q9q74/s400/20080913_1610_small.jpg" alt="Acer Aspire One on the Oregon coast at sunset" id="BLOGGER_PHOTO_ID_5250861624699064610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The "toy" interface they provide is damn slick.  This is the first time I've used a Linux machine that I thought a non-techy might be able to handle.  Nice big icons to regular user software, some of which I'm familiar with, and other stuff that is either lesser known open source or custom Acer stuff.  All the laptop system tray icons you would expect.  But to be fair, I haven't tried printing anything yet, and that was always a big Linux problem.  After connecting to the Internet for the first time I ended up spending an hour or so downloading patches (after being prompted by the update software), mostly performance related.  And one crash so far (reboot required), playing some pre-installed open source game.&lt;br /&gt;&lt;br /&gt;Email is handled by a custom Acer program that does initial configuration better than any equivalent I have ever used.  You enter the email address, and it fills in all the POP, SMTP, and encryption settings so long as the domain is well known.  Gmail worked perfectly.  Sweet!  This feature should be adopted by all email software.  After configuration is complete, there is a daemon that checks your email even if the mail program isn't running - look for a system tray icon to appear and start blinking if you have new mail.  But no spell checking?  WTF?&lt;br /&gt;&lt;br /&gt;I love the fact that the "hard drive" is simply an 8GB Solid State Drive.  It comes about half full... of stuff... I haven't really explored what is installed beyond the advertised programs.  It's sluggish working with big files, but the lack of moving parts is a big plus.  Also amusing is the fact that (unlike Linux) Windows XP apparently can't work on the SSD drive because it fundementally depends on being able to move lots of data around.&lt;br /&gt;&lt;br /&gt;The Aspire runs hotter than I would like, and the fan is not particularly quiet.  OK, you won't hear it over most desktop fans, but you wouldn't want to sleep next to it.  And the power converter box for charging runs &lt;b&gt;really&lt;/b&gt; hot - uncomfortable to the touch.  Aside from the inefficiency implied, it doesn't seem very safe.  I wouldn't want to leave the thing unattended...&lt;br /&gt;&lt;br /&gt;The touch pad unfortunately ranges from OK to bad.  I can't type without brushing the touchpad, particularly in a car, and that means the tapping feature has to be turned right off.  It would be nice if there was a dedicated button for turning that feature back on when browsing the web.  Also, sometimes it causes unwanted scrolling... I don't really understand how.&lt;br /&gt;&lt;br /&gt;The glossy screen is irritating, but not as bad as I had feared.  I've managed to use the thing more-or-less in direct sunlight.&lt;br /&gt;&lt;br /&gt;It seems that my WiFi expectations were a tad unrealistic, so I'll complain more about the sad state of wireless in another post.  My first hurdle specific to this machine is that the wireless system tray icon requires a &lt;i&gt;left click&lt;/i&gt; to get to the "add a connection" window, and it took me several days of manually going through the Settings menus before I figured this out.  Who doesn't put left-click actions in right-click menus?  And then the automatic scan refresh for available networks often deselects your choice before you have a chance to press OK.  But I generally haven't had any trouble connecting to unprotected or WPA networks, and the machine seems to automatically pick the most appropriate one you have previously configured.  The hardware switch for disabling wireless is a nice touch (assuming it actually extends battery life...).&lt;br /&gt;&lt;br /&gt;Once I was comfortable with the basic features, I turned to investigating the under-the-hood aspects of the system.  Thank God for the active user community, because it would have taken me a long time to figure a lot of this stuff out on my own!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Shells can be accessed by a menu item in the file browser, or by Alt+F2 and then running a blank command with the shell option checked.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.len.ro/work/tools/acer-aspire-one-1/acer-aspire-one"&gt;Yum is misconfigured&lt;/a&gt;, so you either have to fix that or &lt;a href="http://jorge.ulver.no/2008/08/06/acer-aspire-one-tips-and-tricks/#Enablingtherightclickmenu"&gt;get the graphical Add/Remove Programs tool accessible&lt;/a&gt;.  And the latter won't run until you have &lt;a href="http://www.len.ro/work/tools/acer-aspire-one-1/acer-aspire-one"&gt;set a root password&lt;/a&gt;, and then proceeds to install all sorts of stupid stuff if you don't search for the specific packages you want.  Fortran support for gcc?  No thanks.&lt;/li&gt;&lt;li&gt;The 'man' command doesn't work out of the box (it just doesn't exist), and I haven't found a solution to that yet.&lt;/li&gt;&lt;li&gt;No 'locate' command is pre-installed.  You want the 'mlocate' package to get that guy.&lt;/li&gt;&lt;li&gt;The Java installation is some open source variety that isn't sufficient to run all Java apps.  The &lt;a href="http://macles.blogspot.com/2008/09/installing-sun-java-on-acer-aspire-one.html"&gt;upgrade process&lt;/a&gt; was a bit of a pain in the ass.&lt;/li&gt;&lt;li&gt;And sudo results in some audit error spam every time.  Don't know how to fix that yet either.&lt;/li&gt;&lt;/ul&gt;But so far it is performing as advertised, and I am getting things done with it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-1155059887937144621?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/1155059887937144621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=1155059887937144621' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1155059887937144621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1155059887937144621'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/09/on-road-with-acers-aspire-one.html' title='On the Road with Acer&apos;s Aspire One'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3aSmcnzocW4/SN7O09DrESI/AAAAAAAAAhY/gpeJ85q9q74/s72-c/20080913_1610_small.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7391712122731650425</id><published>2008-09-27T10:26:00.000-07:00</published><updated>2008-09-27T10:36:06.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Going Back in Chrome Clears Radio Buttons</title><content type='html'>My first interaction with &lt;a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html"&gt;Google's new browser&lt;/a&gt;, &lt;a href="http://www.google.com/chrome"&gt;Chrome&lt;/a&gt;, has not been a positive one.  An order on a website I maintain was mysteriously missing a bunch of the normally posted variables, and this resulted in an effectively failed order.&lt;br /&gt;&lt;br /&gt;It turns out that if a user changes the default state of a radio button, submits the form, and then uses the back button to return to the data collection page, Chrome helpfully deselects &lt;b&gt;all&lt;/b&gt; the radio buttons in the set.  So the subsequent submission will simply be missing that set of radio buttons.&lt;br /&gt;&lt;br /&gt;All radio buttons that were left in the default position are OK though.&lt;br /&gt;&lt;br /&gt;I'm used to writing web pages that protect users from themselves and me from users, but not to protect everybody from buggy browsers...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7391712122731650425?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7391712122731650425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7391712122731650425' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7391712122731650425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7391712122731650425'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/09/going-back-in-chrome-clears-radio.html' title='Going Back in Chrome Clears Radio Buttons'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7020909109246047842</id><published>2008-08-30T22:40:00.000-07:00</published><updated>2008-08-30T22:48:19.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web pages'/><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='Costco'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><title type='text'>Costco Photo UI Hell</title><content type='html'>There are serious problems with &lt;a href="http://www.costco.com/PhotoCenter/PhotoCenter.aspx"&gt;Costco's Photo Center&lt;/a&gt; web interface...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Uploading photos results in some of them appearing multiple times in the album, making it challenging to order a specific number of each photo in an album.&lt;/li&gt;&lt;li&gt;Photos in their shopping cart are not sorted by name, so it is hard to find the ones you are looking for.&lt;/li&gt;&lt;li&gt;If you update the number of each photo you want, and then foolishly press "Checkout", your changes will be lost.  You have to press "Update Cart" or something like that first.&lt;/li&gt;&lt;li&gt;When changing the photos from glossy to matte, you will be given the convenient option of doing them all in bulk rather than manually for each photo.  Of course, this also erases the record of how many of each photo you want.&lt;/li&gt;&lt;/ol&gt;My wife was seething by the end of the process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7020909109246047842?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7020909109246047842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7020909109246047842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7020909109246047842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7020909109246047842'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/08/costco-photo-ui-hell.html' title='Costco Photo UI Hell'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-285708396323899505</id><published>2008-08-19T17:43:00.000-07:00</published><updated>2008-11-24T11:25:20.755-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2000'/><category scheme='http://www.blogger.com/atom/ns#' term='Quicktime Alternative'/><category scheme='http://www.blogger.com/atom/ns#' term='VLC'/><category scheme='http://www.blogger.com/atom/ns#' term='MediaPlayerConnectivity'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='trailers'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Quicktime'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Apple Trailers Without Quicktime</title><content type='html'>Apple's &lt;a href="http://www.apple.com/quicktime/download/"&gt;Quicktime&lt;/a&gt; software for Windows is the source of most of my concerns about &lt;a href="http://www.apple.com/macosx/"&gt;Mac OS X&lt;/a&gt;.  It just blows, and I can't believe the same group of engineers could produce anything of quality.&lt;br /&gt;&lt;br /&gt;After running an old Win2k compatible &lt;a href="http://en.wikipedia.org/wiki/QuickTime_Alternative"&gt;Quicktime Alternative&lt;/a&gt; for a while to deal with the incredible unreliability and obnoxiousness of the official software, Apple finally upgraded their &lt;a href="http://www.apple.com/trailers/"&gt;movie trailer site&lt;/a&gt; to the point where I couldn't view the things at all.&lt;br /&gt;&lt;br /&gt;The new official release of Quicktime doesn't support Win2k either anymore, so I decided to give the Firefox plugin &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/446"&gt;MediaPlayerConnectivity&lt;/a&gt; a try.&lt;br /&gt;&lt;br /&gt;Holy awesome, Batman!&lt;br /&gt;&lt;br /&gt;It autodetected my &lt;a href="http://www.videolan.org/vlc/"&gt;VLC&lt;/a&gt; installation - now trailers just pop up in a separate window.  And rather than medium size trailers running at 100% CPU usage, I can watch the large versions with roughly 0% CPU usage.  Dunno if it was a Firefox plugin issue or shitty Apple codecs, but things are soooo much better now.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt; Here are the MPC settings I use to get as seamless an experience as possible.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3aSmcnzocW4/SSr_G0swzdI/AAAAAAAAAi4/OrdBE6AQfcE/s1600-h/config1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 306px;" src="http://4.bp.blogspot.com/_3aSmcnzocW4/SSr_G0swzdI/AAAAAAAAAi4/OrdBE6AQfcE/s400/config1.jpg" border="0" alt="MediaPlayerConnectivity Configuration for VLC and Apple Trailers, Page 1" id="BLOGGER_PHOTO_ID_5272306806481276370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3aSmcnzocW4/SSr_HKTvcEI/AAAAAAAAAjA/W1OOdT8ikWo/s1600-h/config2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 306px;" src="http://4.bp.blogspot.com/_3aSmcnzocW4/SSr_HKTvcEI/AAAAAAAAAjA/W1OOdT8ikWo/s400/config2.jpg" border="0" alt="MediaPlayerConnectivity Configuration for VLC and Apple Trailers, Page 2" id="BLOGGER_PHOTO_ID_5272306812281909314" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-285708396323899505?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/285708396323899505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=285708396323899505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/285708396323899505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/285708396323899505'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/08/apple-trailers-without-quicktime.html' title='Apple Trailers Without Quicktime'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3aSmcnzocW4/SSr_G0swzdI/AAAAAAAAAi4/OrdBE6AQfcE/s72-c/config1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6332264416860413862</id><published>2008-08-02T12:57:00.000-07:00</published><updated>2008-08-02T13:02:01.980-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JOIP'/><category scheme='http://www.blogger.com/atom/ns#' term='phones'/><category scheme='http://www.blogger.com/atom/ns#' term='Panasonic'/><title type='text'>JOIP Voicemail Woes</title><content type='html'>After getting a second Panasonic Globarange JOIP handset the voicemail (not the optional onboard answering machine) stopped working.&lt;br /&gt;&lt;br /&gt;After a week or two of this (no response from JOIP customer service...) my wife figured out that in addition to enabling voicemail via the JOIP website you also have to enable it in the phone itself.  Otherwise the caller just gets a "number cannot be reached" type message.&lt;br /&gt;&lt;br /&gt;Not 100% sure that adding the second handset caused this to happen, but the timing seems right.&lt;br /&gt;&lt;br /&gt;Hope this helps someone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6332264416860413862?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6332264416860413862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6332264416860413862' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6332264416860413862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6332264416860413862'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/08/joip-voicemail-woes.html' title='JOIP Voicemail Woes'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8410297919707201746</id><published>2008-07-13T11:08:00.000-07:00</published><updated>2008-07-13T11:22:54.070-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ING Direct'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='banks'/><category scheme='http://www.blogger.com/atom/ns#' term='finance'/><title type='text'>ING Mutual Funds</title><content type='html'>&lt;a href="http://www.ingdirect.ca/en/"&gt;ING Direct&lt;/a&gt; offers relatively simple &lt;a href="http://www.ingdirect.ca/en/save-invest/mutualfunds/index.html"&gt;index tracking Mutual Funds&lt;/a&gt; that seemed like a good fit for someone like myself who is too lazy to do their own research, and who also distrusts fund managers.  But from beginning to unsuccessful end, trying to sign up for them was a total WTF experience.&lt;br /&gt;&lt;br /&gt;My first hint that all was not well?  The signup form required re-entry of a fair bit of information that ING should have already known.  Except for the stuff they pre-populated with inaccurate data that is not changeable through any existing account tools.&lt;br /&gt;&lt;br /&gt;Next came the "investor profile" questions which seemed to lock you into only being able to purchase one kind of fund, irrespective of what kind of external investments you might have.  I never managed to figure out if that was a real limitation however, because...&lt;br /&gt;&lt;br /&gt;There is no way to electronically transfer money from your regular ING RRSP to ING RRSP Mutual Funds.  Trying to complete the paper transfer form I got hung up on the demand that a copy of your "Mutual Fund Enrollment Form" be supplied with the transfer request; since the enrollment had been online, I had no such form, and they already should have had it.  I tried to contact them to clarify, but...&lt;br /&gt;&lt;br /&gt;Contrary to what the website indicated, their phone support does not work on weekends, and the email contact provided bounced.&lt;br /&gt;&lt;br /&gt;So that's that.  Maybe I'll revisit once they've worked out the kinks on the first suckers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8410297919707201746?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8410297919707201746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8410297919707201746' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8410297919707201746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8410297919707201746'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/07/ing-mutual-funds.html' title='ING Mutual Funds'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5678719071981814478</id><published>2008-07-02T19:45:00.000-07:00</published><updated>2008-07-02T19:46:20.139-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smtp'/><category scheme='http://www.blogger.com/atom/ns#' term='Radiant'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><title type='text'>Radiant's SMTP Service Has Improved</title><content type='html'>Of all the &lt;a href="http://allgeekallthetime.blogspot.com/2008/04/friday-nights-with-radiant.html"&gt;terrible&lt;/a&gt; things I've said about &lt;a href="http://allgeekallthetime.blogspot.com/2007/07/hosting-with-radiant-communications.html"&gt;Radiant&lt;/a&gt;, at least one of them has improved.  After Google suddenly stopped allowing us to route mail through them, I was forced to try Radiant again and have been pleasantly surprised that there have been no complaints about missing messages or multiple deliveries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5678719071981814478?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5678719071981814478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5678719071981814478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5678719071981814478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5678719071981814478'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/07/radiants-smtp-service-has-improved.html' title='Radiant&apos;s SMTP Service Has Improved'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6495563621768318084</id><published>2008-06-21T20:31:00.000-07:00</published><updated>2008-06-21T20:41:09.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='locks'/><category scheme='http://www.blogger.com/atom/ns#' term='keys'/><title type='text'>Broken Keys</title><content type='html'>Thanks to a &lt;a href="http://www.ehow.com/tips_16770.html"&gt;comment&lt;/a&gt; on a suggestion to use a "coping blade" to yank broken keys out of locks (wtf is a coping blade anyway?), I tried using a bent bobby-pin.&lt;br /&gt;&lt;br /&gt;Worked like a charm!&lt;br /&gt;&lt;br /&gt;Paperclips didn't cut it because they weren't strong enough - the force required to get the key out was more than enough to bend them back straight again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6495563621768318084?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6495563621768318084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6495563621768318084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6495563621768318084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6495563621768318084'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/06/broken-keys.html' title='Broken Keys'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-187250872107624745</id><published>2008-05-28T19:58:00.000-07:00</published><updated>2008-05-28T19:58:01.264-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='calculus'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>I Will Derive</title><content type='html'>This song is a pretty good refresher if it's been a while since you just barely scraped a 'D' out of Calculus...&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/P9dpTTpjymE&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/P9dpTTpjymE&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-187250872107624745?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/187250872107624745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=187250872107624745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/187250872107624745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/187250872107624745'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/05/i-will-derive.html' title='I Will Derive'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5842661235388948305</id><published>2008-05-23T20:04:00.000-07:00</published><updated>2008-05-23T20:04:00.467-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video games'/><category scheme='http://www.blogger.com/atom/ns#' term='vikings'/><title type='text'>Viking Singing Game</title><content type='html'>This company knocked off quite a few mini-games in a week, just to experiment.  There is some funny stuff in there, but best is definitely the game where you control the height of the flying Viking by singing at different pitches.  While wearing a viking hat.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Uwt9y5ebiMs&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Uwt9y5ebiMs&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5842661235388948305?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5842661235388948305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5842661235388948305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5842661235388948305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5842661235388948305'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/05/viking-singing-game.html' title='Viking Singing Game'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4432465523301902418</id><published>2008-05-22T21:35:00.000-07:00</published><updated>2008-05-23T20:20:40.699-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='pipes'/><category scheme='http://www.blogger.com/atom/ns#' term='popen'/><title type='text'>Popen, Pipes, and Deadlocks</title><content type='html'>I recently had a phenomenally frustrating time figuring out why a child process started with Popen was mysteriously hanging (but only some of the time).  With a lot of experimentation and some seriously outdated &lt;a href="http://docs.python.org/lib/popen2-flow-control.html"&gt;Python&lt;/a&gt; &lt;a href="http://effbot.org/pyfaq/how-do-i-run-a-subprocess-with-pipes-connected-to-both-input-and-output.htm"&gt;documentation&lt;/a&gt; I finally got to the bottom of it.&lt;br /&gt;&lt;br /&gt;This code snippet turns out to only be safe if the child process is not writing enough to stderr to fill that pipe's buffer (size is chosen by the OS, as far as I know).&lt;br /&gt;&lt;pre&gt;stdin, stdout, stderr = win32pipe.popen3('child.exe')&lt;br /&gt;output = stdout.read()&lt;br /&gt;errors = stderr.read()&lt;/pre&gt;If the child is filling stderr, stdout.read() blocks forever.  You are at risk of experiencing variants of this anytime you are handling both pipes in a single thread of execution.&lt;br /&gt;&lt;br /&gt;There are two suggested solutions:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Handle the reading of one of the pipes in a different thread.&lt;/li&gt;&lt;li&gt;Redirect both stderr and stdout to temp files on disk and then read them back in afterwards.&lt;/li&gt;&lt;/ol&gt;I went with option 1, as it seemed marginally less unpleasant, and it seems to be holding up just fine.  Immediately after implementing it I discovered, much to my irritation, that the relatively new &lt;a href="http://docs.python.org/lib/module-subprocess.html"&gt;subprocess&lt;/a&gt; module does something almost exactly like that!&lt;br /&gt;&lt;pre&gt;app = \&lt;br /&gt;    subprocess.Popen(&lt;br /&gt;        'child.exe', stdout=subprocess.PIPE, stderr=subprocess.PIPE)&lt;br /&gt;stdout, stderr = app.communicate()&lt;/pre&gt;The one thing that isn't clear to me about subprocess is whether is has all the same &lt;a href="http://www.python.org/doc/faq/windows/#why-doesn-t-os-popen-work-in-pythonwin-on-nt"&gt;problems on Windows&lt;/a&gt; that other Popens apparently do.  Fun for another day...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4432465523301902418?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4432465523301902418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4432465523301902418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4432465523301902418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4432465523301902418'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/05/popen-pipes-and-deadlocks.html' title='Popen, Pipes, and Deadlocks'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5090608724346972588</id><published>2008-04-14T20:50:00.000-07:00</published><updated>2008-04-14T21:01:00.248-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='gmail'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Gmail Email Routing</title><content type='html'>Google bypasses MX lookups when forwarding mail from Gmail account to Gmail account.  I discovered this detail in the midst of &lt;a href="http://allgeekallthetime.blogspot.com/2008/04/friday-nights-with-radiant.html"&gt;my emergency mail server transition&lt;/a&gt;, and it struck me as interesting even if I can't figure out who this knowledge might help.&lt;br /&gt;&lt;br /&gt;This is probably only relevant when you are using &lt;a href="http://www.google.com/a/"&gt;Google Apps&lt;/a&gt; to host your domain email.  Basically, if you have a regular Gmail account set to forward to address@yourdomain.com, forwarded messages will make it to your Google Apps account of that name even if you haven't reconfigured your MX records yet.&lt;br /&gt;&lt;br /&gt;Sending emails through Gmail SMTP on the other hand seems to use regular MX lookups.  The inconsistency is what strikes me as the strangest... why not cheat in both cases?&lt;br /&gt;&lt;br /&gt;I never tested sending via the Gmail web interface before the DNS propagation started to kick in, so that is left as an exercise to the reader.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5090608724346972588?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5090608724346972588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5090608724346972588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5090608724346972588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5090608724346972588'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/04/gmail-email-routing.html' title='Gmail Email Routing'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3411634042420431686</id><published>2008-04-12T22:37:00.000-07:00</published><updated>2008-04-12T22:55:20.163-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Radiant'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><title type='text'>Friday Nights With Radiant</title><content type='html'>Radiant Communications' latest &lt;a href="http://allgeekallthetime.blogspot.com/2007/07/hosting-with-radiant-communications.html"&gt;crime against my free time&lt;/a&gt;: 'upgrading' a mail server to the point that it no longer accepts mail and also seems to have lost all record of any of the email accounts and aliases I painstakingly created.&lt;br /&gt;&lt;br /&gt;After somewhere between 12 and 16 hours after my complaint, they called me up to tell me that it couldn't be their problem because the DNS records show I am using a 3rd party for handling email.&lt;br /&gt;&lt;br /&gt;That's right, it took them so long to even investigate that I had time to create a &lt;a href="http://www.google.com/a/"&gt;Google Apps&lt;/a&gt; account, recreate all my email accounts and aliases, build a new &lt;a href="http://en.wikipedia.org/wiki/Zone_file"&gt;zone&lt;/a&gt; record at my domain registrar, and repoint the DNS servers away from Radiant.  (Radiant doesn't provide an interface for editing your zone file, so it seemed like I should go all the way rather than just having the MX records updated.)&lt;br /&gt;&lt;br /&gt;On the brighter side, Google Apps provides far better email service than Radiant - free spam filtering for one thing.  It's pretty cool.  If you aren't afraid of messing with your MX data, the migration to having Google host your domain's email (for free) is pretty easy.  The only gotcha I found was that the documentation for setting up pop access is a little thin; it turns out that you still use the standard pop.gmail.com servers, but use your fully qualified email address for your login.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3411634042420431686?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3411634042420431686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3411634042420431686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3411634042420431686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3411634042420431686'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/04/friday-nights-with-radiant.html' title='Friday Nights With Radiant'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-2101553916601588351</id><published>2008-03-10T21:32:00.000-07:00</published><updated>2008-03-10T22:06:50.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='P2P'/><category scheme='http://www.blogger.com/atom/ns#' term='scams'/><category scheme='http://www.blogger.com/atom/ns#' term='RIAA'/><category scheme='http://www.blogger.com/atom/ns#' term='fraud'/><title type='text'>Watch Out for Fake Shareaza</title><content type='html'>It seems that some &lt;a href="http://www.shareaza.com/"&gt;diabolical fiends&lt;/a&gt; have &lt;a href="http://www.shareazasecurity.be/forum/viewtopic.php?f=46&amp;t=8"&gt;blackmailed&lt;/a&gt; &lt;a href="http://shareaza.sourceforge.net"&gt;Shareaza&lt;/a&gt;'s domain name out of the hands of one of the project's main contributors.&lt;br /&gt;&lt;br /&gt;Shareaza is one of the last decent P2P apps out there, so this makes me sad.&lt;br /&gt;&lt;br /&gt;Especially since the new owners of the domain seem to be a European RIAA-like group that is perpetrating a gigantic fraud on those who fall prey to their ripped-off website design.  The "new" Shareaza allegedly &lt;a href="http://www.shareazasecurity.be/forum/viewtopic.php?f=46&amp;t=450&amp;st=0&amp;sk=t&amp;sd=a"&gt;convinces users to provide incriminating personal information&lt;/a&gt;, takes their credit card information for later billing after a "free" month of service, changes your browser home page, and destroys the real Shareaza installation.  Pretty classic malware stuff.&lt;br /&gt;&lt;br /&gt;Anyway, this post is mostly to help encourage Google to re-order the search results for Shareaza to reflect reality.  If you have control over any &lt;a href="http://www.google.ca/search?q=link:www.shareaza.com&amp;hl=en&amp;lr=lang_en&amp;sa=X&amp;oi=lrtip&amp;ct=restrict&amp;cad=8"&gt;websites that link to the hijacked domain&lt;/a&gt;, please update those links to point to the real site!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-2101553916601588351?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/2101553916601588351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=2101553916601588351' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2101553916601588351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2101553916601588351'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/03/watch-out-for-fake-shareaza.html' title='Watch Out for Fake Shareaza'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3679606792039272512</id><published>2008-02-18T20:08:00.000-08:00</published><updated>2008-02-18T20:14:06.716-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InternetSecure'/><title type='text'>DNS Is Not Rocket Science</title><content type='html'>We are nearing the end of day two without &lt;a href="http://www.internetsecure.com"&gt;InternetSecure&lt;/a&gt;'s website or order processing services being visible from the internet.&lt;br /&gt;&lt;br /&gt;After not warning any of their customers about this outrageous outage, they now claim that this is due to a DNS server migration.  Hence the Network Solutions domain parking spam instead of their actual website.&lt;br /&gt;&lt;br /&gt;I seem to recall migrating DNS servers a time or two myself, and never having all that much trouble keeping the sites in question online.  This a basic test of IT competence, and InternetSecure has failed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3679606792039272512?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3679606792039272512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3679606792039272512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3679606792039272512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3679606792039272512'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/02/dns-is-not-rocket-science.html' title='DNS Is Not Rocket Science'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5044265254637923711</id><published>2008-02-08T12:18:00.000-08:00</published><updated>2008-02-08T12:27:51.893-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='keyboards'/><category scheme='http://www.blogger.com/atom/ns#' term='OLED'/><title type='text'>Organic LED Keyboard</title><content type='html'>Gizmodo has a &lt;a href="http://gizmodo.com/gadgets/optimus-video/first-video-of-the-optimus-keyboard-actually-working-and-looking-awesome-325615.php"&gt;very cool video of a new keyboard that has a 48x48 display built into each key&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The price ($1500) is kind of insane right now, but that will come down.  In addition to the obvious "custom layouts for niche programs (Photoshop, Final Cut, etc)" use, it would be a handy way to be able to show a user what keys are currently available in the program they are using.&lt;br /&gt;&lt;br /&gt;Here is a more general video about it, that doesn't really do the OLED keys justice.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3_eDq4uMV8k&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3_eDq4uMV8k&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5044265254637923711?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5044265254637923711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5044265254637923711' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5044265254637923711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5044265254637923711'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/02/organic-led-keyboard.html' title='Organic LED Keyboard'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8154270560518291360</id><published>2008-01-31T21:31:00.000-08:00</published><updated>2008-01-31T21:43:10.908-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='craigslist'/><title type='text'>craigslist</title><content type='html'>I just completed my first &lt;a href="http://vancouver.craigslist.ca/"&gt;craigslist&lt;/a&gt; sale!&lt;br /&gt;&lt;br /&gt;What a weird site to have taken off so much.  The post editing pages are buggy as hell - if you post a picture the formatting is totally screwed on the review page.&lt;br /&gt;&lt;br /&gt;And when I tried to make later edits to my post I was completely unable to see the changes except for at work.  This was the case for days, until I deleted the post.  I don't know if &lt;a href="http://www.shaw.ca/en-ca"&gt;Shaw&lt;/a&gt; is doing some really bad secret proxying or what - clearing my cache and restarting my browser sure didn't help.&lt;br /&gt;&lt;br /&gt;So I guess my recommendation would be to always delete and create a new post if you need to make revisions.&lt;br /&gt;&lt;br /&gt;Also, it doesn't work quite as fast as I expected (3 days till I got my first call) - I think I reduced the price on my item too soon.  Give it at least a week before deciding that no one wants your junk at the original price.&lt;br /&gt;&lt;br /&gt;Oh yeah:  Everyone who contacted me used my phone number rather than the anonymized email.  I suspect that not listing a phone number is a huge disadvantage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8154270560518291360?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8154270560518291360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8154270560518291360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8154270560518291360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8154270560518291360'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/01/craigslist.html' title='craigslist'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4917176390217601711</id><published>2008-01-31T21:26:00.000-08:00</published><updated>2008-01-31T21:30:29.556-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='Future Shop'/><title type='text'>Future Shop's 5 Day Photo Service</title><content type='html'>&lt;a href="http://pix.futureshop.ca/"&gt;Future Shop&lt;/a&gt; has recently switched from 1 hour photo processing to 5 day photo processing.  Naturally, they don't tell you this on their website.  To make matters worse, you have to line up with all the scammers and angry owners of junk in order to pick up your pictures.&lt;br /&gt;&lt;br /&gt;I almost lost control when one of the "service" reps started flirting with a customer who had loooooong finished his business.&lt;br /&gt;&lt;br /&gt;Never again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4917176390217601711?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4917176390217601711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4917176390217601711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4917176390217601711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4917176390217601711'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/01/future-shops-5-day-photo-service.html' title='Future Shop&apos;s 5 Day Photo Service'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3371544456629410096</id><published>2008-01-30T21:33:00.000-08:00</published><updated>2008-01-30T21:42:39.475-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mods'/><category scheme='http://www.blogger.com/atom/ns#' term='virtual reality'/><category scheme='http://www.blogger.com/atom/ns#' term='Wii'/><title type='text'>Wii Hacks</title><content type='html'>I kept reading about &lt;a href="http://www.cs.cmu.edu/~johnny/"&gt;some guy who used a Wii sensor to rig up some sort of virtual reality headset&lt;/a&gt; - I couldn't quite bring myself to care enough to check it out.  My loss!&lt;br /&gt;&lt;br /&gt;A co-worker finally showed me one of the many demo videos.  This is so very cool.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="373"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Jd3-eiid-Uw&amp;rel=1&amp;border=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Jd3-eiid-Uw&amp;rel=1&amp;border=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="373"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3371544456629410096?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3371544456629410096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3371544456629410096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3371544456629410096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3371544456629410096'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/01/wii-hacks.html' title='Wii Hacks'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3659789418123324678</id><published>2008-01-21T21:44:00.000-08:00</published><updated>2008-09-27T10:24:18.170-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scams'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Buy'/><title type='text'>Best Buy Shipping Scam</title><content type='html'>The ripoff artists at Best Buy have taken scamming to a whole new level.&lt;br /&gt;&lt;br /&gt;Their Canadian website lists a choice of two types of shipping, at two very different prices.  And then no matter what shipping method you choose they then sum up the two shipping options and list the cumulative amount on the credit card page.&lt;br /&gt;&lt;br /&gt;This behavior comes and goes - it happened consistently for 15 minutes while I struggled to fairly give them my money, and then an hour later when I went to take screenshots for this post the behavior was correct.&lt;br /&gt;&lt;br /&gt;If there was more time between my two attempts or this had not happened during reasonably active online shopping hours I might have believed they had patched a legitimate bug, and that their QA team is just incompetent.  But I suspect that someone ran the numbers and determined that "accidentally" overcharging for shipping once in a while is more than worth the potentially lost customers.&lt;br /&gt;&lt;br /&gt;Also, could they have a smaller, less prominently placed "add to cart" button?  Sheesh!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3659789418123324678?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3659789418123324678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3659789418123324678' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3659789418123324678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3659789418123324678'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/01/best-buy-shipping-scam.html' title='Best Buy Shipping Scam'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4763908802247991060</id><published>2008-01-20T17:47:00.000-08:00</published><updated>2008-02-03T21:20:34.517-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ceiva'/><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><title type='text'>Don't Waste Your Money on Ceiva's Dial Up Service</title><content type='html'>&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt; Two days or so after posting this, I was contacted by a Ceiva rep offering to look into my grandmother's problems.  Within a few more days the frame was up and running - I'm not sure that my complaints here actually sped things up though.  So although it did take roughly 3 weeks for all issues to be resolved, it would appear that my initial dismissal of the product and slandering of Ceiva's tech support staff was premature.&lt;br /&gt;&lt;br /&gt;Now I just have to somehow overcome my grandmother's irritation that "it keeps repeating the same old pictures" complaint.  As if a regular picture frame is somehow better?!  Sigh.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ceiva.com/"&gt;Ceiva&lt;/a&gt; offers digital picture frames that can either be updated via memory cards or remotely, using a modem.  I can't speak to the general quality of the product, but let me tell you that the dial up service is crap.&lt;br /&gt;&lt;br /&gt;The entire point of dial up service like this is to be able to rapidly sent digital stills to someone that isn't particularly computer savvy.  For that reason, you would expect that the recipient would be able to just plug it into the wall and be done with it.&lt;br /&gt;&lt;br /&gt;No such luck.&lt;br /&gt;&lt;br /&gt;After several weeks of communications with completely incompetent tech support, the frame has managed to download pictures once.&lt;br /&gt;&lt;br /&gt;My grandmother has pretty well lost all faith in her descendants at this point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4763908802247991060?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4763908802247991060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4763908802247991060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4763908802247991060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4763908802247991060'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/01/dont-waste-your-money-on-ceivas-dial-up.html' title='Don&apos;t Waste Your Money on Ceiva&apos;s Dial Up Service'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8420298342017677069</id><published>2008-01-19T17:59:00.000-08:00</published><updated>2008-01-19T18:08:04.939-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web pages'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='privacy'/><title type='text'>Referrer Privacy</title><content type='html'>One of the things I think should be added to the (X)HTML spec is is a flag for all possibly foreign content that indicates the web browser should not pass accurate referrer information.&lt;br /&gt;&lt;br /&gt;Yes, it is polite to tell the content provider where their visitors are coming from.  But if you are trying to run a private site that password protection doesn't make sense for (for whatever reason), you also don't want to advertise your existence by linking to other sites.  Specifically I'm thinking of personal blogs - I don't want strangers looking at pictures of my kid just because I linked to something that my extended family might find interesting.&lt;br /&gt;&lt;br /&gt;I can't think of anyway this could make the current "hotlinking" situation any worse, and it would definitely help a small minority of people.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8420298342017677069?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8420298342017677069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8420298342017677069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8420298342017677069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8420298342017677069'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2008/01/referrer-privacy.html' title='Referrer Privacy'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4621989319592270117</id><published>2007-12-25T21:04:00.000-08:00</published><updated>2007-12-25T21:08:55.585-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='simulations'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='2d'/><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><title type='text'>Flash 2d Physics Engine</title><content type='html'>You can interact with many of the components in the &lt;a href="http://www.barechoons.com/index.php?option=com_content&amp;task=view&amp;id=27"&gt;sample&lt;/a&gt; as well.  My understanding is that this is all Open Source from &lt;a href="http://www.box2d.org/"&gt;Box2D&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.barechoons.com/index.php?option=com_content&amp;task=view&amp;id=27"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_3aSmcnzocW4/R3HhjJ5wPNI/AAAAAAAAAUo/Rk07l4SB8Wk/s320/2d_physics.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5148143843131014354" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4621989319592270117?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4621989319592270117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4621989319592270117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4621989319592270117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4621989319592270117'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/12/flash-2d-physics-engine.html' title='Flash 2d Physics Engine'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_3aSmcnzocW4/R3HhjJ5wPNI/AAAAAAAAAUo/Rk07l4SB8Wk/s72-c/2d_physics.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7524818658465718952</id><published>2007-12-22T20:05:00.000-08:00</published><updated>2007-12-22T20:06:36.139-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Static Variables in Class Methods</title><content type='html'>I ran into a C++ situation the other day that made me realize I have a complete conceptual disconnect with a variant of one of the language features.&lt;br /&gt;&lt;pre&gt;int Counter()&lt;br /&gt;{&lt;br /&gt;    static int count = 0; // clearly a replacement for a global&lt;br /&gt;    count++;&lt;br /&gt;    return count;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Counter&lt;br /&gt;{&lt;br /&gt;public:&lt;br /&gt;    static int someVar = 0; // also clearly a replacement for a global&lt;br /&gt;    int mCount;&lt;br /&gt;    &lt;br /&gt;    Counter() : mCount(0) {}&lt;br /&gt;&lt;br /&gt;    int Increment()&lt;br /&gt;    {&lt;br /&gt;        &lt;b&gt;static int count = 0;&lt;br /&gt;        // wtf??  need to use mCount for this to make sense&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;        count++;&lt;br /&gt;        return count;&lt;br /&gt;    }&lt;br /&gt;};&lt;/pre&gt;I never even gave it a second thought when I wrote code (far more interesting than this sample) that assumed the static variables within a non-static class method would be relative to the instantiated objects.  And when I figured out why my code didn't work I was stunned, in spite of the obviousness of the error.&lt;br /&gt;&lt;br /&gt;I'm still not convinced that my expected behavior wouldn't be more useful, but I suppose it's a little late to be arguing about the C++ spec...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7524818658465718952?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7524818658465718952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7524818658465718952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7524818658465718952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7524818658465718952'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/12/static-variables-in-class-methods.html' title='Static Variables in Class Methods'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-9018931736784019918</id><published>2007-12-18T21:57:00.001-08:00</published><updated>2007-12-18T22:11:32.992-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='mutual funds'/><category scheme='http://www.blogger.com/atom/ns#' term='investing'/><category scheme='http://www.blogger.com/atom/ns#' term='Manulife'/><title type='text'>Manulife Has A Sucky Website</title><content type='html'>At least the Group Retirement portion is the stink.  Let me count the ways:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It only works in IE, and not very well even so - very sluggish response times&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It opens each new page in a tiny popup&lt;/li&gt;&lt;li&gt;Back button often doesn't work because of inappropriately POST'ed pages&lt;br /&gt;&lt;/li&gt;&lt;li&gt;During sign up it requires that you answer a huge number of questions, &lt;span style="font-weight: bold;"&gt;including making decisions about which mutual funds you are investing in&lt;/span&gt;, and if you take too long it expires your session and you have to start over from scratch&lt;/li&gt;&lt;li&gt;They don't offer meaningful details on most of their investment choices: rates for GIC/GIAs, penalties for early withdrawals from GIAs, fees for mutual funds, etc.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Password is constrained to 4 numerical digits&lt;/span&gt;... sure hope they have some good auditing on login attempts&lt;/li&gt;&lt;/ul&gt;I never thought I would see the day that Fidelity didn't seem so terrible.  I suffered through their incompetence for years and assumed it couldn't get much worse than that.&lt;br /&gt;&lt;br /&gt;Incidentally, it always cracks me up how you never see anyone promoting mutual funds that have existed for more than five to ten years.  Doesn't speak terribly well of the long term performance...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-9018931736784019918?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/9018931736784019918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=9018931736784019918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9018931736784019918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9018931736784019918'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/12/manulife-has-sucky-website.html' title='Manulife Has A Sucky Website'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6658997498015147902</id><published>2007-12-12T20:07:00.000-08:00</published><updated>2007-12-12T20:11:19.101-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xkcd'/><title type='text'>Uh Oh...</title><content type='html'>I'm actually wishing that I could remember enough of my basic physics to try and solve &lt;a href="http://xkcd.com/356/"&gt;this problem&lt;/a&gt;.  Stupid easily disabled brain!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6658997498015147902?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6658997498015147902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6658997498015147902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6658997498015147902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6658997498015147902'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/12/uh-oh.html' title='Uh Oh...'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-1634824558961938944</id><published>2007-12-04T22:04:00.000-08:00</published><updated>2007-12-05T20:25:25.362-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xkcd'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>I WISH Python Was This Much Fun!</title><content type='html'>Python really is a nice language, although I remain mistrustful of duck typing and all the crazy runtime data structure modification.  I'm in the odd position of liking other languages better &lt;span style="font-style:italic;"&gt;theoretically&lt;/span&gt;, but in practice never voluntarily choosing to work in them.&lt;br /&gt;&lt;br /&gt;I have been contemplating trying to modify C++ to have a Python-like syntax, and see how close that gets me to my ideal language...  Or maybe the &lt;a href="http://allgeekallthetime.blogspot.com/2007/08/almost-as-good-as-my-scene-is-rendering.html"&gt;Delphi trolls&lt;/a&gt; are on to something...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://xkcd.com"&gt;&lt;img src="http://imgs.xkcd.com/comics/python.png"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-1634824558961938944?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/1634824558961938944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=1634824558961938944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1634824558961938944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1634824558961938944'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/12/i-wish-python-was-thismuch-fun.html' title='I WISH Python Was This Much Fun!'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5930723789497751733</id><published>2007-12-01T11:16:00.000-08:00</published><updated>2007-12-01T11:26:30.105-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social bookmarking'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='websites'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Social Bookmarking Support for Blogs</title><content type='html'>I have long resisted putting the myriad of "Digg This", "Del.icio.us", etc. buttons on my blogs.  Mostly because I am too lazy to keep up with the latest fads, but also because they add a lot of clutter to a page.&lt;br /&gt;&lt;br /&gt;Via &lt;a href="http://www.sciencetext.com/top-ten-reasons-bloggers-should-avoid-social-bookmarking.html"&gt;ScienceText&lt;/a&gt; I have discovered a &lt;a href="http://www.addthis.com/"&gt;small plugin from AddThis that supports lots of bookmarking sites&lt;/a&gt; and will presumably be updated with whatever newest flash-in-the-pan pops up.  It was easy to install in Blogger.&lt;br /&gt;&lt;br /&gt;One nice feature is that using the button on an article on your main page results in the specific article being bookmarked, rather than your site in general.&lt;br /&gt;&lt;br /&gt;They claim to offer usage stats as well - it will be interesting to see if anyone actually uses the thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5930723789497751733?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5930723789497751733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5930723789497751733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5930723789497751733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5930723789497751733'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/12/social-bookmarking-support-for-blogs.html' title='Social Bookmarking Support for Blogs'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5068704908643332377</id><published>2007-11-22T19:59:00.000-08:00</published><updated>2007-11-22T20:07:29.507-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='Kindle'/><title type='text'>The Kindle eBook Reader</title><content type='html'>Via some &lt;a href="http://www.squidoo.com/thekindleebookreader/"&gt;Caveman&lt;/a&gt; comes a video of the &lt;a href="http://amazon.com/gp/mpd/permalink/m25LKTYHEBQP7L"&gt;"drop test" for Amazon's new Kindle eBook reader&lt;/a&gt;.  It's pretty neat how much it flexes on impact.&lt;br /&gt;&lt;br /&gt;Anyway, come talk to me about buying one when it replaces my phone, PDA, and mp3 player too.  I've had enough of single purpose portable electronics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5068704908643332377?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5068704908643332377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5068704908643332377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5068704908643332377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5068704908643332377'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/11/kindle-ebook-reader.html' title='The Kindle eBook Reader'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5595038666554274003</id><published>2007-11-13T22:28:00.001-08:00</published><updated>2007-11-13T22:31:51.595-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='Michael Yon'/><category scheme='http://www.blogger.com/atom/ns#' term='cameras'/><title type='text'>War Photojournalism and Cameras</title><content type='html'>&lt;a href="http://www.michaelyon-online.com/wp/consumer-reports-geared-for-combat.htm"&gt;Michael Yon (a photojournalist in Iraq who frequently embeds with the military) has a couple articles&lt;/a&gt; up on &lt;a href="http://www.michaelyon-online.com/wp/a-consumer-reports-geared-for-combat-ii.htm"&gt;the cameras he uses&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Neat stuff if you care at all about photography.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5595038666554274003?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5595038666554274003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5595038666554274003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5595038666554274003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5595038666554274003'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/11/war-photojournalism-and-cameras.html' title='War Photojournalism and Cameras'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6987455686871576962</id><published>2007-11-04T10:13:00.000-08:00</published><updated>2007-11-04T10:16:37.719-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Seam Carving</title><content type='html'>This is truly one of the most awesome things I have seen in a long time.  Seam carving, also known as liquid resize, retargeting, or content aware image resizing allows you to resize an image in such a way that only the least significant information gets dropped (or duplicated).  The result is more clarity in the important area of the images.&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/c-SSu3tJ3ns&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/c-SSu3tJ3ns&amp;amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;The video shows how this technique is brilliant for breakups (and you need to edit the offending party out of all your photographs).  Or perhaps if you foolishly allow yourself to be photographed with someone that will hurt your political career...?  This was my quick and dirty test using &lt;a href="http://www.thegedanken.com/retarget/"&gt;Liquid Resize&lt;/a&gt; - I think I could do a much better job the second time around.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_3aSmcnzocW4/Ry007m1B9rI/AAAAAAAAATQ/yx753G5EYzQ/s1600-h/matthew_broderick08.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_3aSmcnzocW4/Ry007m1B9rI/AAAAAAAAATQ/yx753G5EYzQ/s400/matthew_broderick08.jpg" alt="" id="BLOGGER_PHOTO_ID_5128813749284763314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_3aSmcnzocW4/Ry008W1B9tI/AAAAAAAAATg/jBSUWPATokY/s1600-h/liquid_resize_bill_clinton.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_3aSmcnzocW4/Ry008W1B9tI/AAAAAAAAATg/jBSUWPATokY/s400/liquid_resize_bill_clinton.jpg" alt="" id="BLOGGER_PHOTO_ID_5128813762169665234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_3aSmcnzocW4/Ry008G1B9sI/AAAAAAAAATY/uJ8wvQ5wK7I/s1600-h/matthew_broderick08_retarget.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_3aSmcnzocW4/Ry008G1B9sI/AAAAAAAAATY/uJ8wvQ5wK7I/s400/matthew_broderick08_retarget.jpg" alt="" id="BLOGGER_PHOTO_ID_5128813757874697922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Via &lt;a href="http://mythicflame.blogspot.com/"&gt;Mythic Flame&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6987455686871576962?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6987455686871576962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6987455686871576962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6987455686871576962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6987455686871576962'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/11/seam-carving.html' title='Seam Carving'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_3aSmcnzocW4/Ry007m1B9rI/AAAAAAAAATQ/yx753G5EYzQ/s72-c/matthew_broderick08.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8539456005178025297</id><published>2007-10-16T07:22:00.000-07:00</published><updated>2007-10-16T07:25:54.148-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><category scheme='http://www.blogger.com/atom/ns#' term='monitors'/><category scheme='http://www.blogger.com/atom/ns#' term='Dilbert'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Does a 3rd Monitor Make You More Evil?</title><content type='html'>&lt;a href="http://www.dilbert.com/comics/dilbert/archive/dilbert-20071016.html"&gt;The first Dilbert strip in a long while that has made me laugh&lt;/a&gt;.  Possibly with a hint of evil genius, given my two monitor setup at work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8539456005178025297?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8539456005178025297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8539456005178025297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8539456005178025297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8539456005178025297'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/10/does-3rd-monitor-make-you-more-evil.html' title='Does a 3rd Monitor Make You More Evil?'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8773165390342228128</id><published>2007-10-03T20:04:00.000-07:00</published><updated>2007-10-03T20:22:40.065-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>HxD - The Grandaddy of Hex Editors</title><content type='html'>&lt;a href="http://mh-nexus.de/hxd/"&gt;HxD is the craziest hex editor I have ever used&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Aside from handling monstrously large files with ease, HxD even opens entire disks/your RAM as a searchable and editable(!!!) file. Apparently it is pretty effective for retrieving things from corrupted media (like flash cards).&lt;br /&gt;&lt;br /&gt;Highly recommended, even though not being Open Source I suppose there is no guarantee it isn't sending spam from my computer right now...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8773165390342228128?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8773165390342228128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8773165390342228128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8773165390342228128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8773165390342228128'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/10/hxd-grandaddy-of-hex-editors.html' title='HxD - The Grandaddy of Hex Editors'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6205075992318411203</id><published>2007-09-15T19:51:00.000-07:00</published><updated>2007-09-15T20:12:13.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Miro'/><category scheme='http://www.blogger.com/atom/ns#' term='downloading'/><category scheme='http://www.blogger.com/atom/ns#' term='BitTorrent'/><title type='text'>Miro First Impressions</title><content type='html'>On the &lt;a href="http://www.cnet.com/8301-13739_1-9775271-46.html?part=rss&amp;tag=feed&amp;subj=SurveillanceState"&gt;recommendation of Surveillance State&lt;/a&gt; I am trying out &lt;a href="http://www.getmiro.com/"&gt;Miro&lt;/a&gt;, an RSS eating BitTorrent client that automatically downloads new episodes of whatever you want.&lt;br /&gt;&lt;br /&gt;The main problem I have run into so far is instability.  Lots of crashes, but in particular the RSS service recommended by Surveillance State (&lt;a href="http://www.tvrss.net/shows/"&gt;tvRSS&lt;/a&gt;) causes non-stop crashes under Windows 2000.  &lt;a href="http://tvfreedom.wordpress.com/"&gt;TV Freedom&lt;/a&gt; is far more stable, and integrates better with Miro too (single click downloads).&lt;br /&gt;&lt;br /&gt;Miro also feels extremely sluggish on my somewhat dated machine.&lt;br /&gt;&lt;br /&gt;But the concept is cool (if not particularly new), and I'll be trying it out this season (rather than recording the shows on lame VHS).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6205075992318411203?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6205075992318411203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6205075992318411203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6205075992318411203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6205075992318411203'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/09/miro-first-impressions.html' title='Miro First Impressions'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4389050957755047717</id><published>2007-09-01T12:44:00.000-07:00</published><updated>2007-09-01T12:46:41.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='space'/><category scheme='http://www.blogger.com/atom/ns#' term='heat'/><title type='text'>Why Heat Is a Problem in Freezing Space</title><content type='html'>Via &lt;a href="http://www.doubleblind.ca/"&gt;Double Blind&lt;/a&gt; comes a writeup on the &lt;a href="http://denbeste.nu/cd_log_entries/2004/04/SpaceNavies2.shtml"&gt;problems spaceships have dissipating the heat they inevitably produce&lt;/a&gt;.  The context is hypothetical space warfare, but the challenges will be relevant to any future space exploration.&lt;br /&gt;&lt;blockquote&gt;Nor is this something which can be solved by better design. Even if every energy mechanism on the ship operates near the theoretical limit of efficiency, there will still be a lot of heat generated. It is physically impossible for any device to utilize energy 100% efficiently without producing any waste heat at all. The Second Law of Thermodynamics doesn't permit it. And as a practical matter, human engineering rarely comes even close. In many systems, 30% efficiency is considered superb, and in some systems it can be as bad as a couple of percent. All the rest of the energy becomes waste heat.&lt;br /&gt;&lt;br /&gt;Therefore, warships will require large radiators, and since they will potentially have to dissipate megawatts they'll be very hot during intense operations, likely glowing in visible frequencies.&lt;/blockquote&gt;The same author started with an equally fascinating &lt;a href="http://denbeste.nu/cd_log_entries/2004/04/SpaceNavies.shtml"&gt;brief history of naval warfare&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4389050957755047717?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4389050957755047717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4389050957755047717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4389050957755047717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4389050957755047717'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/09/why-heat-is-problem-in-freezing-space.html' title='Why Heat Is a Problem in Freezing Space'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-9095135790986119715</id><published>2007-08-28T19:35:00.000-07:00</published><updated>2007-08-28T19:36:06.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='gas'/><category scheme='http://www.blogger.com/atom/ns#' term='Shell'/><title type='text'>Trickery at Shell Gas Stations</title><content type='html'>Pumps at Shell stations are not labeled consistently; sometimes the price/octane level goes up left to right, and sometimes right to left. I refuse to believe that this is an accident.&lt;br /&gt;&lt;br /&gt;There are two plausible explanations:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The back to back pumps are mirrored to reduce the amount/complexity of pipe that needs to be used.  Those pumps are not all that close to each other though - I'm not convinced that there would be enough of a savings to warrant that design.&lt;/li&gt;&lt;li&gt;Shell has built the increased chance of people mistakenly choosing the premium gas into the business model.  It is entirely possible that low octane users (the poorer, presumably stupider ones - like me) are more likely to make this mistake, making it a net profitable situation for the stations.  Or else so many more people are trying to buy low octane that even at equal mistake rates it is still profitable to encourage confusion.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I will investigate further as to whether there are other symmetries in play here...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-9095135790986119715?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/9095135790986119715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=9095135790986119715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9095135790986119715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/9095135790986119715'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/08/trickery-at-shell-gas-stations.html' title='Trickery at Shell Gas Stations'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-2830664232418791955</id><published>2007-08-25T23:27:00.000-07:00</published><updated>2007-08-25T23:29:57.256-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='touch screens'/><title type='text'>Multi User Touch Screens</title><content type='html'>Finally, a touch screen interface with applications more compelling than "messy photo sorting".  Pretty cool how the apps support cloning a view and handing it off to other people.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q77Cuau28I0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Q77Cuau28I0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;What bothers me about this "advanced technology" is that the really exciting stuff could have been done years ago (and has been, in many cases).  Basically this is putting collaborative workflow on a gigantic touch screen - the touch screen is a neat trick, but hardly necessary for this to be useful.&lt;br /&gt;&lt;br /&gt;Where are the collaborative apps for my desktop PC?!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-2830664232418791955?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/2830664232418791955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=2830664232418791955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2830664232418791955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2830664232418791955'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/08/multi-user-touch-screens.html' title='Multi User Touch Screens'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7765849737011433362</id><published>2007-08-14T21:52:00.000-07:00</published><updated>2007-08-14T21:54:19.934-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xkcd'/><title type='text'>Almost As Good As "My Scene is Rendering"</title><content type='html'>&lt;a href="http://xkcd.com"&gt;&lt;img src="http://imgs.xkcd.com/comics/compiling.png"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7765849737011433362?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7765849737011433362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7765849737011433362' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7765849737011433362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7765849737011433362'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/08/almost-as-good-as-my-scene-is-rendering.html' title='Almost As Good As &quot;My Scene is Rendering&quot;'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3892473494207409432</id><published>2007-07-05T19:34:00.000-07:00</published><updated>2007-07-05T20:15:17.313-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><category scheme='http://www.blogger.com/atom/ns#' term='trailers'/><category scheme='http://www.blogger.com/atom/ns#' term='quality control'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='proofreading'/><title type='text'>Apple's Least Polished Service</title><content type='html'>&lt;a href="http://www.apple.com/"&gt;Apple&lt;/a&gt; is famous for elegant and intuitive interfaces, which makes me wonder how &lt;a href="http://www.apple.com/trailers/"&gt;Apple Trailers&lt;/a&gt; is so overlooked.  It's like the ugly stepchild or something.&lt;br /&gt;&lt;br /&gt;By the time a trailer is posted to &lt;a href="http://images.apple.com/trailers/home/rss/newtrailers.rss"&gt;their RSS feed&lt;/a&gt; there is roughly a 25% chance that the trailer won't actually load for you.  If this is the case it usually shows up in the next couple of days.  Sometimes it is because the embedded .mov simply doesn't exist, other times it is because the provided links point back to the page you are already on.&lt;br /&gt;&lt;br /&gt;On top of that, the fact checking, spelling, and grammar in the text descriptions of the movies are terrible.  You are lucky if the actors' names and major plot points are listed correctly.  Some of the descriptions I have read were written in English, yet had no meaning.&lt;br /&gt;&lt;br /&gt;It seems bizarre that Apple wouldn't at least have a proofreader on this public face for their company and products.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3892473494207409432?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3892473494207409432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3892473494207409432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3892473494207409432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3892473494207409432'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/07/apples-least-polished-service.html' title='Apple&apos;s Least Polished Service'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8042604876602303967</id><published>2007-07-04T23:52:00.000-07:00</published><updated>2007-07-04T23:52:49.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Radiant'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='websites'/><title type='text'>Hosting With Radiant Communications</title><content type='html'>&lt;a href="http://radiant.net/"&gt;Radiant Communications&lt;/a&gt; is a prominent web hosting/ADSL reseller in the BC Lower Mainland.  I have purchased ADSL service and a static IP from them for eight or nine years now in three different locations.&lt;br /&gt;&lt;br /&gt;My experience with Radiant has been a mixed bag.  Only my laziness and a perceived lack of alternatives keeps my business with them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;The Good&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On the one hand, they offer affordable prices for pretty decent uptime.  When outages do occur (like right now), they tend to be much wider in scope than just you - as I write this their corporate site is gone along with my own, and they are not answering their tech support line (and have not provided an automated status message, which is irritating).&lt;br /&gt;&lt;br /&gt;Their tech guys tend to be pretty helpful as well.  I have had no trouble getting SPF records updated at a moment's notice, and as long as I explain things carefully I can usually convince the junior guys to perform more advanced maintenance for me (in fact, I think I once convinced them to configure the reverse DNS for what I now believe to be a shared IP address in such a way that it would only benefit me - whoops!).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;The Bad&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Radiant's email services are inexcusably bad.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Spam filtering costs some ridiculous amount per month per email address (I'd provide a quote, but their site is down...).  I have had to forward everything through Gmail to get a decent spam/ham ratio.&lt;/li&gt;&lt;li&gt;The outbound mailservers are garbage.  If your message actually gets delivered, it will often be delivered multiple times (weeks apart).  Once again, using Gmail as a smarthost has proved to be far more effective than using the provided service.&lt;/li&gt;&lt;li&gt;The webmail interface is godawful ugly.  It's like the last 5 or 10 years of Open Source development has passed them by.&lt;/li&gt;&lt;/ul&gt;In addition, pointing your domain at Radiant DNS servers means effectively giving up any control over your domain.  No automated interface whatsoever is provided for managing your DNS settings (hence all the communication about SPF records).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;The Ugly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After roughly 7 years of being a customer, the credit card on which automated payments are withdrawn expired.  I did not think to notify Radiant of this, and so they found out when they tried to run that fateful month's charges.  It just so happened that the primary contact phone number they had on file was also out of date.&lt;br /&gt;&lt;br /&gt;What did they do when the charges were declined?  Use the white pages to look up a more current contact number?  Send a letter notifying us of the problem (ADSL after all - they certainly had the correct address)?  Send an email to the domain that their DNS servers provide info for (and there is contact info on the website as well)?&lt;br /&gt;&lt;br /&gt;No, they just cut service and waited for us to call them.  Thanks for nothing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8042604876602303967?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8042604876602303967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8042604876602303967' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8042604876602303967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8042604876602303967'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/07/hosting-with-radiant-communications.html' title='Hosting With Radiant Communications'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-8967058219643821812</id><published>2007-06-22T22:18:00.000-07:00</published><updated>2007-06-22T22:22:42.384-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Penny Arcade'/><category scheme='http://www.blogger.com/atom/ns#' term='video games'/><category scheme='http://www.blogger.com/atom/ns#' term='trailers'/><title type='text'>Penny Arcade Video Game Trailer</title><content type='html'>If this game is anywhere near as good as the &lt;a href="http://www.penny-arcade.com/"&gt;Penny Arcade comic strip&lt;/a&gt; it is going to be genius.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="gtembed" width="480" height="409"&gt; &lt;param name="allowScriptAccess" value="sameDomain" /&gt; &lt;param name="movie" value="http://www.gametrailers.com/remote_wrap.php?mid=20799"/&gt; &lt;param name="quality" value="high" /&gt; &lt;embed src="http://www.gametrailers.com/remote_wrap.php?mid=20799" swLiveConnect="true" name="gtembed" align="middle" allowScriptAccess="sameDomain" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="480" height="409"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-8967058219643821812?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/8967058219643821812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=8967058219643821812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8967058219643821812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/8967058219643821812'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/06/penny-arcade-video-game-trailer.html' title='Penny Arcade Video Game Trailer'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6584463613808513089</id><published>2007-06-12T20:10:00.000-07:00</published><updated>2007-06-12T20:18:38.615-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web pages'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><category scheme='http://www.blogger.com/atom/ns#' term='websites'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Testing Cross Browser Compatibility With Browsershots</title><content type='html'>&lt;a href="http://browsershots.org/"&gt;Browsershots&lt;/a&gt; lets you submit a web page to its pool of machines for test renders.  Assuming that the demo pool isn't totally overloaded (as opposed to the normal mostly overloaded state), you get back screen captures of your page as it looks on various platforms and browsers.&lt;br /&gt;&lt;br /&gt;Many browsers and platforms are represented - for example try out Safari 1.3 on Mac, or Iceweasel 2.0 on Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6584463613808513089?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6584463613808513089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6584463613808513089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6584463613808513089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6584463613808513089'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/06/testing-cross-browser-compatibility.html' title='Testing Cross Browser Compatibility With Browsershots'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7116133934211286324</id><published>2007-06-10T13:03:00.000-07:00</published><updated>2007-06-10T13:40:13.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='speculation'/><category scheme='http://www.blogger.com/atom/ns#' term='gambling'/><category scheme='http://www.blogger.com/atom/ns#' term='BC'/><category scheme='http://www.blogger.com/atom/ns#' term='natural gas'/><title type='text'>Fixed vs Variable Price Natural Gas</title><content type='html'>I have received pitches from representatives from two different natural gas resellers recently.  &lt;a href="http://www.bbbvan.org/page.php?id=455"&gt;The Lower Mainland BBB claims that people are getting pretty upset with these companies&lt;/a&gt;, and if my experience is typical I can't say that I'm particularly surprised.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.superiorenergy.ca/Index%20-BC.htm"&gt;Superior Energy&lt;/a&gt; rep was the most weaselly (and incompetent).  His only promotional material was a &lt;a href="http://www.terasengas.com/"&gt;Terasen Gas&lt;/a&gt; "Customer Choice" pamphlet that he scribbled (unreadable) notes on.  He went straight for the "look at how much it costs to fill up your car - what are you going to do when gas prices double?" angle, and didn't seem able to understand why that was not a particularly compelling argument.  I felt bad for the lady next door who he claimed as a victim (peer pressure!).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.esbc.ca/"&gt;Energy Savings BC&lt;/a&gt; on the other hand sent a guy who was at least marginally better trained.  He stuck with a much more conservative sales pitch: can't promise giant savings, but won't you sleep better knowing that your gas costs for the next 5 years are limited? etc.  He wasn't sharp enough to recognize the fact that I know a whole lot more commodity pricing/speculation than him though, and rapidly became quite obnoxious while pushing his "just sign up and you can cancel anytime before November if you change your mind" line.  I sent him on his way, as I imagine all of my neighbors did: on top of caming two weeks after the last guy, I imagine the fact his price was a fair bit higher than Superior's didn't help him much.&lt;br /&gt;&lt;br /&gt;For the record, there are only two legitimate reasons for considering fixed natural gas prices:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You can afford the fixed price rate, but couldn't afford any fluctuations above that.  This is analogous to buying insurance for something you can't afford to replace, or a fixed rate mortgage.  You are paying a premium for stability.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You have good reason to believe that the fixed price has been set incorrectly, and you want to take the gas company's money.  But unless you are planning to blow up a refinery, what are the odds that you can price natural gas better than one of these big companies?&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7116133934211286324?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7116133934211286324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7116133934211286324' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7116133934211286324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7116133934211286324'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/06/fixed-vs-variable-price-natural-gas.html' title='Fixed vs Variable Price Natural Gas'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3228785014597117950</id><published>2007-06-02T12:02:00.000-07:00</published><updated>2007-07-05T20:20:44.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSL'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><category scheme='http://www.blogger.com/atom/ns#' term='websites'/><title type='text'>On the Abuse of SSL</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Ssl"&gt;Secure Sockets Layer&lt;/a&gt; (SSL) is at its core a pretty solid technology.  It is clearly good to encrypt your banking information, and given a cost free choice, more encryption is better (on an individual level at least).&lt;br /&gt;&lt;br /&gt;Whoever is responsible for SSL including identity validation through Certificate Authorities is a bad, bad person.  Certificate signing (even ignoring sloppy authorities that issue questionable certificates) has never been a useful way for normal people to determine if they are communicating with a trusted party.  Firstly no one really pays attention to them, and secondly no amount of certificate reading can help you if the site has been directly compromised.&lt;br /&gt;&lt;br /&gt;And because browsers perpetuate this stupidity by popping up giant warnings for self-signed/expired certs we have a small cartel of SSL providers that can charge outrageous amounts of money for the privilege of providing encryption to your customers.&lt;br /&gt;&lt;br /&gt;At the very least there should be an SSL light option where no claim of identity verification is made, but warning free encryption can be provided.  These free certificates would massively encourage the protection of personal data during transmission, keeping your 12 year old neighbor from learning far more about you than you would really like.&lt;br /&gt;&lt;br /&gt;Trust verification should handled by user feedback driven mechanism - see your built in browser tools (&lt;a href="http://www.mozilla.com/en-US/firefox/phishing-protection/"&gt;Firefox Phishing Protection&lt;/a&gt; for example), or third party plugins like the &lt;a href="http://news.netcraft.com/archives/2005/05/24/firefox_version_of_netcraft_toolbar_available.html"&gt;Netcraft toolbar&lt;/a&gt;.  These are far more likely to successfully warn you that you are on an unsafe site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3228785014597117950?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3228785014597117950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3228785014597117950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3228785014597117950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3228785014597117950'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/06/on-abuse-of-ssl.html' title='On the Abuse of SSL'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-290042110453140310</id><published>2007-05-29T21:35:00.000-07:00</published><updated>2007-05-29T22:09:11.986-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface design'/><title type='text'>Facebook's "Friend Request" Interface Stinks</title><content type='html'>While the jury is still out on &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;'s lasting power, it has impressed me enough to start complaining about it.  My primary beef with Facebook is the crudeness of the tools for finding and connecting with friends.&lt;br /&gt;&lt;br /&gt;First of all, choosing "Find Friends" from the "Friends" menu does not provide a choice for just searching by name.  For weeks I assumed that this was some amazing attempt at privacy protection and was frankly kind of disappointed to discover that you &lt;span style="font-weight:bold;"&gt;can&lt;/span&gt; search by name, but you have to use the generically labeled search field in the upper left.&lt;br /&gt;&lt;br /&gt;Secondly, when you are invited by someone who only knows your email address (even if you have linked this address to your account already!) you are asked to make a new account to become their friend.  No option is presented to attach them to an existing account, and once you log in you can no longer view the request.  If there are too many matches under that person's name, your only option is to copy the id (i=xxx) from the request link into a profile view page URL.  Then you can properly add them as a friend.&lt;br /&gt;&lt;br /&gt;It's like their UI guys have never actually used any of these features...&lt;br /&gt;&lt;br /&gt;That being said, I think Facebook has perfectly captured 99% of what normal people want from blogging and social sites (like &lt;a href="http://www.linkedin.com/"&gt;LinkedIn&lt;/a&gt;).  I have reconnected with loads of (good) people that I had completely forgotten about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-290042110453140310?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/290042110453140310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=290042110453140310' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/290042110453140310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/290042110453140310'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/05/facebooks-friend-request-interface.html' title='Facebook&apos;s &quot;Friend Request&quot; Interface Stinks'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5755058936001121917</id><published>2007-05-26T09:19:00.000-07:00</published><updated>2007-05-26T09:38:22.715-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Star Wars'/><title type='text'>Comic Review: Tag &amp; Bink Were Here</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.amazon.com/gp/product/159307641X?ie=UTF8&amp;tag=fumblmumbl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=159307641X"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_3aSmcnzocW4/Rlhf8EDkGnI/AAAAAAAAAOM/Z3eMCvrKfNw/s400/tag_and_bink.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5068906866090973810" /&gt;&lt;/a&gt;The premise of &lt;a href="http://www.amazon.com/gp/product/159307641X?ie=UTF8&amp;tag=fumblmumbl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=159307641X"&gt;Tag &amp;amp; Bink&lt;/a&gt; is that the same two half-wits were present for almost every major event in the Star Wars universe.&lt;br /&gt;&lt;br /&gt;Flunking Padewan school, they become soldiers in the Rebel army before fleeing a losing battle dressed as Storm Troopers.  From there they stumble from one outrageous scenario to the next, usually disguised as someone that got screen time in one of the movies.&lt;br /&gt;&lt;br /&gt;It's all pretty clever.  If you are familiar with the movies you will probably enjoy the comic, but there are a few references to characters that come from the many Star Wars books that have been released in the last 15 years.  Having read only a few of those books, there were a couple characters that I didn't recognize.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5755058936001121917?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5755058936001121917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5755058936001121917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5755058936001121917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5755058936001121917'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/05/comic-review-tag-bink-were-here.html' title='Comic Review: Tag &amp;amp; Bink Were Here'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_3aSmcnzocW4/Rlhf8EDkGnI/AAAAAAAAAOM/Z3eMCvrKfNw/s72-c/tag_and_bink.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4890477497181596603</id><published>2007-05-25T23:16:00.000-07:00</published><updated>2007-05-25T23:17:59.401-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='restaurants'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>Restaurant: Bob's Subs in Richmond</title><content type='html'>Restaurants like these make one wonder how there can possibly be world hunger.  Sure, you'd die of heart failure after a couple of months eating at Bob's Subs, but you'd be fat and happy.&lt;br /&gt;&lt;br /&gt;I had a 6 inch 'Super Sub' (under $6, as I recall), and I swear to God that more steak fell off the sub than I ate, and I still could barely walk out of the place.  You could feed a family of 4 for $12 there.&lt;br /&gt;&lt;br /&gt;Bob's Subs - It's a remarkable eating experience.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=6390+No.+3+Rd.,+richmond,+bc&amp;sll=49.055656,-122.799747&amp;sspn=0.007621,0.012918&amp;ie=UTF8&amp;ll=49.167002,-123.136525&amp;spn=0.007604,0.012918&amp;z=16&amp;iwloc=addr&amp;om=1"&gt;6390 No. 3 Rd.&lt;/a&gt;&lt;br /&gt;Richmond, BC&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4890477497181596603?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4890477497181596603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4890477497181596603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4890477497181596603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4890477497181596603'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/05/restaurant-bobs-subs-in-richmond.html' title='Restaurant: Bob&apos;s Subs in Richmond'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4062982840539138311</id><published>2007-05-21T15:24:00.000-07:00</published><updated>2007-05-21T15:59:38.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='highways'/><category scheme='http://www.blogger.com/atom/ns#' term='driving'/><category scheme='http://www.blogger.com/atom/ns#' term='cars'/><category scheme='http://www.blogger.com/atom/ns#' term='roads'/><category scheme='http://www.blogger.com/atom/ns#' term='BC'/><title type='text'>Coquihalla Highway</title><content type='html'>At $10 a car, wouldn't you think they could afford to paint some lane lines on the &lt;a href="http://en.wikipedia.org/wiki/Coquihalla_Highway"&gt;Coquihalla&lt;/a&gt;?  It was definitely disconcerting the first few times it switched back and forth between 2 and 3 lanes with no visual cues on the pavement.&lt;br /&gt;&lt;br /&gt;On the other hand, this is the first highway I have ever driven on where my car (a little Toyota Echo) basically couldn't reach high enough speeds to make driving not completely boring...  Between the steep steep hills and all the passengers it was hard to keep up with the 110 speed limit, let alone go any faster.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4062982840539138311?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4062982840539138311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4062982840539138311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4062982840539138311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4062982840539138311'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/05/coquihalla-highway.html' title='Coquihalla Highway'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3319118291133970942</id><published>2007-05-10T08:19:00.000-07:00</published><updated>2007-05-10T08:25:43.794-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poison'/><category scheme='http://www.blogger.com/atom/ns#' term='mercury'/><title type='text'>Symptoms of Mercury Vapor Poisoning</title><content type='html'>&lt;a href="http://www.stanford.edu/%7Ebcalhoun/AStock.htm"&gt;A remarkable first-hand account of what it is like to be exposed to high levels of mercury for an extended period of time.&lt;/a&gt; It ain't pretty!&lt;br /&gt;&lt;blockquote&gt;With me the situation began with slight intermittent headaches and mild drowsiness, which increased gradually, over the years, to constant nervous restlessness and "jitteriness." Head-pressure impaired the ability to think. It worsened and finally became an almost uninterrupted vexing headache (sits mostly over the eyes). I had strong vertigo, which was occasionally connected with visual disturbances (unclear and double vision). Soon the upper air passages were involved as well. This started with a slight transient nose cold. This was followed by a constant "stuffy nose," which later turned into severe nose, throat and sinus infections. They were followed, one by one, almost without interruption, by pussy, often bloody, mucosal discharge and scabbing, frequent sore throats and ear aches connected to auditory loss and loss of smell (some sense of smell remained; e.g. cyanic acid). There was a distaste for tobacco smoke. During the last years prior to recognition of the poisoning, there were added signs: a strong flow of saliva, a sour, insipid taste in the mouth, infections of the eyes and oral mucosa. There were little blisters, sensitive and sore areas on the tongue, the palate, the gums and the insides of the lips and cheeks. There was reddening of the gums and slight bleeding while brushing the teeth. There were toothaches, receding of the gums and formation of "pockets" and temporary loosening of individual teeth. The mouth and tooth signs revealed themselves only (in part they only reached their peak months after recognition of the poisoning) because, since my youth, I have been taking good care of my teeth (among other things nightly long rinses with 1 and 1/2% hydrogen peroxyde solution and sodium bicarbonate). If this hadn't been the case, I might possibly have become aware of the cause of my problems through mouth infections.&lt;br /&gt;&lt;br /&gt;Other signs were: Mental weariness and exhaustion, lack of inclination and inability to perform any, particularly mental, work, and increased need for sleep. There were tremors of the spread-out fingers and also sometimes the eyelids. There was pain in various locations of the body, tearing in the back and limbs, and pressure in the liver area. At times, there were disturbances of stomach and intestinal activity, loss of appetite, sudden bladder pressure, isolated bouts of diarrhea, which occurred without other possible causes. There were sudden blistery rashes, e.g. on the insides of the arms and thighs.&lt;br /&gt;&lt;br /&gt;The most depressing accompanying sign relating to mental work was the diminshment of memory. My memory, which had previously been excellent, left more and more to be desired and became worse and worse until, two years ago, I suffered from nearly complete memory loss.&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;Via &lt;a href="http://www.doubleblind.ca/"&gt;Double Blind&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3319118291133970942?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3319118291133970942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3319118291133970942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3319118291133970942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3319118291133970942'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/05/symptoms-of-mercury-vapor-poisoning.html' title='Symptoms of Mercury Vapor Poisoning'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-1033754795840808232</id><published>2007-04-30T22:38:00.000-07:00</published><updated>2007-04-30T23:06:26.776-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='Flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><title type='text'>Yahoo's Unholy Absorption of Flickr</title><content type='html'>Once upon a time, Yahoo decided that it didn't want to miss out on the whole "Web 2.0" thing.  Rather than try to build its own groundbreaking applications, it just threw gobs of money at the problem and purchased Flickr.&lt;br /&gt;&lt;br /&gt;So far, so good.&lt;br /&gt;&lt;br /&gt;But then some genius in marketing decides "Hey, if Flickr is part of Yahoo, we should really integrate the login procedures.  Then people will see how committed we are to Web 2.0!"&lt;br /&gt;&lt;br /&gt;Okay, this doesn't have to be a disaster...&lt;br /&gt;&lt;br /&gt;Until a clever but short-sighted co-op student is tasked with the integration.  He starts out right, allowing logins with either your Yahoo account or your Flickr account, all the while encouraging you to migrate to a merged Yahoo account.  But he makes a very strange choice at this point.  If a the Flickr account is tied to an email address that is also tied to a Yahoo account, you &lt;span style="font-weight:bold;"&gt;must&lt;/span&gt; log in through Yahoo.&lt;br /&gt;&lt;br /&gt;Hmmm... what happens if you don't actually remember the password to that Yahoo account?  Time for password retrieval - no wait, they want to know your birthday and postal code.  Too bad you signed up with fraudulent information!&lt;br /&gt;&lt;br /&gt;So apparently that account is lost forever (unless like me you randomly stumble onto your old Yahoo password - long after creating a new Flickr account of course).&lt;br /&gt;&lt;br /&gt;The most galling part is the Flickr Uploadr utility has remembered your old Flickr password, &lt;span style="font-weight:bold;"&gt;and still works fine&lt;/span&gt;!  So they haven't fully disabled the old accounts, just enough to make life miserable...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-1033754795840808232?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/1033754795840808232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=1033754795840808232' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1033754795840808232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/1033754795840808232'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/yahoos-unholy-absorption-of-flickr.html' title='Yahoo&apos;s Unholy Absorption of Flickr'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-7471795849440207487</id><published>2007-04-27T22:36:00.000-07:00</published><updated>2007-04-28T22:40:34.315-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='repair'/><category scheme='http://www.blogger.com/atom/ns#' term='furnace'/><category scheme='http://www.blogger.com/atom/ns#' term='ICG'/><category scheme='http://www.blogger.com/atom/ns#' term='Heil'/><title type='text'>Furnace Ignition Problems</title><content type='html'>Apparently it is &lt;span style="font-weight:bold;"&gt;not at all normal&lt;/span&gt; for a furnace to take several minutes to ignite after your thermostat kicks it into gear.  After a year of occasional multi-hour delays in ignition, I had convinced myself that a minute or two was completely reasonable.&lt;br /&gt;&lt;br /&gt;Not so.  After a pretty damn expensive visit from a repair guy (ended up replacing both the igniter assembly and the gas valve) the thing now starts within seconds of thermostat signals.&lt;br /&gt;&lt;br /&gt;Incidentally, I am pretty happy with the guy that did the repairs.  Unlike the last time I had servicing done, this time I made a point of finding an authorized repair shop.  I have a Heil, which is apparently a rebranded ICG, which can also be found under the Sears/Whirlpool, Keeprite, and Tempster names.  Sears disavowed all knowledge of ICG though, so I just went with one of the companies listed on the &lt;a href="http://www.heil-hvac.com/"&gt;Heil website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you are in the Greater Vancouver area and have a similar furnace, you might want to give these guys a try:&lt;br /&gt;&lt;br /&gt;Artisan Plumbing &amp; Heating&lt;br /&gt;604-298-5100&lt;br /&gt;Tradesman: Danny A.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-7471795849440207487?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/7471795849440207487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=7471795849440207487' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7471795849440207487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/7471795849440207487'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/furnace-ignition-problems.html' title='Furnace Ignition Problems'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-2264336272849324334</id><published>2007-04-16T20:23:00.000-07:00</published><updated>2008-02-28T20:09:11.734-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PAM'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Getting pam_auth Installed</title><content type='html'>Method 3 from the &lt;a href="http://web.archive.org/web/20070828102933/http://www.math.ohio-state.edu/~ccunning/pam_auth/INSTALL"&gt;official installation instructions&lt;/a&gt; is not quite right.  pam_auth.so is not found in &lt;tt&gt;ext/pam_auth/&lt;/tt&gt;, but in &lt;tt&gt;ext/pam_auth/.libs/&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;Like many &lt;a href="http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules"&gt;PAM&lt;/a&gt; projects however, &lt;a href="http://web.archive.org/web/20070827221106/http://www.math.ohio-state.edu/~ccunning/pam_auth/"&gt;pam_auth&lt;/a&gt; looks to have been abandoned years ago, so I don't think the documentation is likely to be updated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-2264336272849324334?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/2264336272849324334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=2264336272849324334' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2264336272849324334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/2264336272849324334'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/getting-pamauth-installed.html' title='Getting pam_auth Installed'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4017181942249313284</id><published>2007-04-14T04:20:00.000-07:00</published><updated>2007-04-14T04:20:55.597-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bruce Schneier'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Defending Source Code From Malicious Additions</title><content type='html'>&lt;a href="http://www.schneier.com/blog/archives/2007/04/us_government_c_1.html"&gt;Bruce Schneier has posted a note&lt;/a&gt; about a recent &lt;a href="http://content.hamptonroads.com/story.cfm?story=122352&amp;ran=199274"&gt;successful sabotage attempt against the US Navy&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I don't really think that Schneier actually read the story, but nevertheless, I am going to critique his concerns.&lt;br /&gt;&lt;blockquote&gt;Yeah, it was annoying to find and fix the problem, but hang on. How is it possible for a single disgruntled idiot to damage a multi-billion-dollar weapons system? Why aren't there any security systems in place to prevent this? I'll bet anything that there was absolutely no control or review over who put what code in where. I'll bet that if this guy had been just a little bit cleverer, he could have done a whole lot more damage without ever getting caught.&lt;/blockquote&gt;Firstly, the article says that they saboteur was the &lt;span style="font-weight: bold;"&gt;owner&lt;/span&gt; of the contracting firm hired to maintain the software.  So it isn't the case of a "single disgruntled idiot" so much as a "single treasonous supervisor" (who got a pretty light sentence, all things considered).  And he didn't get caught because he wasn't clever enough - he got caught because &lt;span style="font-weight: bold;"&gt;his sabotage worked and he fled the country&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;All that being said, this seems like a good a time to discuss source code security in general.&lt;br /&gt;&lt;br /&gt;The software development through deployment process typically goes something like this for these big systems (ignoring audits, which are probably not done enough):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Software engineer writes/tests code.&lt;/li&gt;&lt;li&gt;A second engineer reviews that code.&lt;/li&gt;&lt;li&gt;Build team adds reviewed code to build.&lt;/li&gt;&lt;li&gt;Quality Assurance confirms that only reviewed code has been added to the build.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;QA retests the built software (using a well defined set of tests).&lt;/li&gt;&lt;li&gt;Product is delivered to client who typically runs their own tests or supervises QA while they run more tests onsite.&lt;/li&gt;&lt;/ol&gt;This kind of procedure is fantastic for catching mistakes, and is also pretty good at stopping malicious actors.  Unless you have a case of someone incompetent doing the reviewing, malicious code isn't getting in through regular channels.  I can only think of a single major weakness in this process: if you are delivering executables as well as source to the client, the build team could easily create compromised executables to be delivered with untainted source.  Assuming the change isn't immediately catastrophic and doesn't intersect with QA's (publicly known) tests, QA simply has no chance of catching this kind of problem.  So you need to have the build process supervised somehow so that a single person couldn't execute the crime.&lt;br /&gt;&lt;br /&gt;The biggest security problems in software development falls under the IT domain.  A short list of the weaknesses IT may have:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Is the source code repository writable by developers/anyone at the filesystem level?  If it is, it is pretty easy to make unauthorized additions, framing anyone you like.&lt;/li&gt;&lt;li&gt;Is the review database secure?  Simply attach your changes to someone else's already approved review and you are in.&lt;/li&gt;&lt;li&gt;Does anyone have root access?  Yes, of course they do, probably lots of administrators in a big company.  By definition, root users can do anything, and alter the logs to hide any evidence of it - I am not aware of any operating system that performs black box style recording of all actions taken.  The best you could really hope for would be a journaling file system that wouldn't accept any monkeying without being taken offline.  Even then, a single root user could probably do the work secretly if they timed things well.&lt;/li&gt;&lt;li&gt;How solid is your IT audit trail?  Probably non-existent.  As above, I am not aware of any operating system that performs meaningful logging of user actions, and certainly not in a way that can't be tampered with by root users.  So you probably won't even be able to find out who did the dastardly deed.&lt;/li&gt;&lt;/ul&gt;It seems to me that in order to have true confidence in the security of any software development it has to be possible to create accounts that require more than one person to log into them.  For example you might need two or more root administrators to log in as root, and then corporate policy would be for all of them to remain present until the system is logged out.  Now you can trust your logs again.  And perhaps each admin would have a console to approve each action taken before it is executed.&lt;br /&gt;&lt;br /&gt;But since I don't believe there are any operating systems with this functionality built into the core, good luck stopping tampering by a dedicated hostile.  In light of that, it becomes imperative that the client performs detailed software reviews and builds the product from the delivered source.  And that isn't going to be cheap!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4017181942249313284?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4017181942249313284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4017181942249313284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4017181942249313284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4017181942249313284'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/defending-source-code-from-malicious.html' title='Defending Source Code From Malicious Additions'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-5102917163348280041</id><published>2007-04-12T21:43:00.000-07:00</published><updated>2007-04-12T21:50:31.135-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facial replacement'/><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><category scheme='http://www.blogger.com/atom/ns#' term='special effects'/><category scheme='http://www.blogger.com/atom/ns#' term='motion capture'/><title type='text'>Facial Replacement In Blades of Glory</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Will_Ferrell"&gt;Will Ferrell&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Jon_Heder"&gt;Jon Heder&lt;/a&gt; didn't do any of their own skating in &lt;a href="http://en.wikipedia.org/wiki/Blades_of_Glory_%28film%29"&gt;Blades of Glory&lt;/a&gt;.  Instead, &lt;a href="http://www.vfxworld.com/?sa=adv&amp;code=319b255d&amp;atype=articles&amp;id=3236&amp;page=1"&gt;real skaters were filmed who then had their faces replaced with those of the actors&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-5102917163348280041?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/5102917163348280041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=5102917163348280041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5102917163348280041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/5102917163348280041'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/facial-replacement-in-blades-of-glory.html' title='Facial Replacement In Blades of Glory'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-6761011897467240897</id><published>2007-04-07T17:43:00.000-07:00</published><updated>2007-04-07T17:48:29.725-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='graphs'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>New Layout and HTML Graph</title><content type='html'>Per this &lt;a href="http://allgeekallthetime.blogspot.com/2007/03/visualizing-html-structure.html"&gt;previous post&lt;/a&gt;, here is the HTML graph for this site that results from the upgraded Blogger layout.  There's a fair bit more going on, even taking into account the addition of two more ad blocks (which don't provide any meaningful income by the way - getting some interesting statistics that I'll write about later though).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_3aSmcnzocW4/Rhg7Ik1aPAI/AAAAAAAAALU/MHTTjIjrtiI/s1600-h/geek_graph.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_3aSmcnzocW4/Rhg7Ik1aPAI/AAAAAAAAALU/MHTTjIjrtiI/s400/geek_graph.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5050852000608697346" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-6761011897467240897?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/6761011897467240897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=6761011897467240897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6761011897467240897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/6761011897467240897'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/new-layout-and-html-graph.html' title='New Layout and HTML Graph'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_3aSmcnzocW4/Rhg7Ik1aPAI/AAAAAAAAALU/MHTTjIjrtiI/s72-c/geek_graph.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3507832825947650964</id><published>2007-04-07T16:03:00.000-07:00</published><updated>2007-04-07T16:07:18.848-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stoves'/><category scheme='http://www.blogger.com/atom/ns#' term='burners'/><category scheme='http://www.blogger.com/atom/ns#' term='elements'/><category scheme='http://www.blogger.com/atom/ns#' term='cooking'/><title type='text'>Timely Replacement of Stove Elements</title><content type='html'>Being a new first-time home owner, I never worried about things like burner elements before.  It took one of our elements becoming totally flaky (required jiggling to work at all) to get me to investigate replacing it.&lt;br /&gt;&lt;br /&gt;It turns out that if your elements don't glow red within a few minutes of turning them on max, they aren't running at full efficiency.  New burners have made a &lt;span style="font-weight:bold;"&gt;huge&lt;/span&gt; difference in our cooking times!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3507832825947650964?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3507832825947650964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3507832825947650964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3507832825947650964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3507832825947650964'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/timely-replacement-of-stove-elements.html' title='Timely Replacement of Stove Elements'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-3379301705946689643</id><published>2007-04-04T22:52:00.000-07:00</published><updated>2007-04-04T23:18:02.637-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='websites'/><category scheme='http://www.blogger.com/atom/ns#' term='Bluehost'/><title type='text'>Bluehost: You Get What You Pay For</title><content type='html'>Given the price, Bluehost is fairly stable and has good enough uptime.&lt;br /&gt;&lt;br /&gt;But they suck for lots of reasons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You don't get a dedicated Apache error log, so you can never be sure which errors are actually coming from your site.&lt;/li&gt;&lt;li&gt;Bluehost likes to do upgrades to core pieces of software like PHP.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Not only do they not ask your permission, but they don't even bother to tell you in advance.  So when this upgrade (hypothetically of course) &lt;a href="http://bugs.php.net/bug.php?id=40909"&gt;breaks preg_match&lt;/a&gt;, your site goes down and you have to spend all night tracking down the problem.  Not that I'm bitter or anything.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;They won't give shell access without a faxed copy of your driver's license.  God only knows why.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-3379301705946689643?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/3379301705946689643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=3379301705946689643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3379301705946689643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/3379301705946689643'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/bluehost-you-get-what-you-pay-for.html' title='Bluehost: You Get What You Pay For'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31054948.post-4946674231961640171</id><published>2007-04-01T11:35:00.000-07:00</published><updated>2007-04-01T11:35:28.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='April Fools'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='jokes'/><title type='text'>Google Gulp</title><content type='html'>Those Google guys have way too much time on their hands!  This page detailing &lt;a href="http://www.google.com/googlegulp/index.html"&gt;the launch of a new Google drink&lt;/a&gt; was an April Fool's joke a few years back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31054948-4946674231961640171?l=allgeekallthetime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://allgeekallthetime.blogspot.com/feeds/4946674231961640171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31054948&amp;postID=4946674231961640171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4946674231961640171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31054948/posts/default/4946674231961640171'/><link rel='alternate' type='text/html' href='http://allgeekallthetime.blogspot.com/2007/04/google-gulp.html' title='Google Gulp'/><author><name>Raven</name><uri>http://www.blogger.com/profile/00700235246831229213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
