<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-28160416</id><updated>2008-12-30T17:48:34.300-05:00</updated><title type='text'>Developer Notes</title><subtitle type='html'>Technology notes from an IT/software developer, mostly about the "shiny objects" in the web and software world.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/index.php'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://developernotes.thomaspowell.com/atom.xml'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>106</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28160416.post-441982866038930404</id><published>2008-12-22T23:53:00.003-05:00</published><updated>2008-12-23T00:02:39.176-05:00</updated><title type='text'>Made a space for my "tech notes"</title><content type='html'>I'm moving my tech stuff to &lt;a href="http://tech0x20.com"&gt;tech0x20.com&lt;/a&gt; (Tech Space)&lt;br /&gt;&lt;br /&gt;I originally created three sites on my thomaspowell.com domain:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://linux-notes.thomaspowell.com"&gt;linux-notes&lt;/a&gt; - I started my blogging experiment here.&lt;br /&gt;&lt;a href="http://vim.thomaspowell.com"&gt;vim&lt;/a&gt; - My "adventures" in vim, not a very broad audience, but I liked keeping public notes on my favorite programming editor here.&lt;br /&gt;&lt;a href="http://developernotes.thomaspowell.com"&gt;developernotes&lt;/a&gt; - I realized that I was researching and wanting to publicly note things that did not apply to the other two blogs.&lt;br /&gt;&lt;br /&gt;Moreover, my role and experience has changed in general.  I'm no longer a full-time developer.  I haven't been that for a year or more.  I still research programming and system configuration, but I just as often research technology, trends, and concepts.  I had been using the "developer notes" blog for this, but I was starting to branch out into a new blog when it hit me.  I *really* needed to kick the blogger habit.  Therefore, I have started a new home with a shiny &lt;a href="http://wordpress.org"&gt;wordpress&lt;/a&gt; theme at &lt;a href="http://tech0x20.com"&gt;tech0x20.com&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/441982866038930404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=441982866038930404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/441982866038930404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/441982866038930404'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/12/made-space-for-my-tech-notes.php' title='Made a space for my &quot;tech notes&quot;'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-5878938854915922206</id><published>2008-12-22T07:39:00.011-05:00</published><updated>2008-12-22T22:25:17.093-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='xampp'/><category scheme='http://www.blogger.com/atom/ns#' term='web-general'/><title type='text'>Installing JSPWiki on an XAMPP for Windows install</title><content type='html'>I've been experimenting with XAMPP as a way to setup a temporary and transportable Apache install with PHP, MySQL, and a database admin tool (phpMyAdmin).  Before starting, be sure to have &lt;a href="http://java.sun.com/javaee/sdk/"&gt;Sun J2EE 5.x SDK (or higher) installed&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As mentioned on &lt;a href="http://portableapps.com/apps/development/xampp"&gt;PortableApps.com&lt;/a&gt;, by following the &lt;a href="http://www.apachefriends.org/en/xampp-windows.html#521"&gt;"Installation" without the installer&lt;/a&gt; instructions, XAMPP will run from a removable drive (I'm using an SD card, myself--quite a bit slower than other options, but VERY cheap).&lt;br /&gt;&lt;br /&gt;First, I downloaded the ZIP package from from the &lt;a href="http://www.apachefriends.org/en/xampp-windows.html#641"&gt;xampp for windows&lt;/a&gt; page:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/xampp_download-763979.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 356px;" src="http://developernotes.thomaspowell.com/uploaded_images/xampp_download-763961.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Open the xampp-win32-*.*.*.zip file that was just downloaded and extract to C:\ (change to flash drive drive letter here if necessary).&lt;br /&gt;&lt;br /&gt;Run [drive]:\xampp\xampp_start.exe to test starting up the web server and mysql.&lt;br /&gt;Run [drive]:\xampp\xampp_stop.exe to shut the web server and mysql down again.&lt;br /&gt;&lt;br /&gt;Next download the Apache Tomcat plug-in from the &lt;a href="http://www.apachefriends.org/en/xampp-windows.html#644"&gt;XAMPP for Windows Add-Ons&lt;/a&gt; area.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/xampp_tomcat_download-742526.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 356px;" src="http://developernotes.thomaspowell.com/uploaded_images/xampp_tomcat_download-742503.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Extract this .zip file into to the c:\xampp folder (again, substitute c: for appropriate drive letter if necessary).  You should get a "Confile File Overwrite" prompt when you do this--the Tomcat files should overwrite the original xampp files, so select [Yes to All].&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/overwrite_prompt-763292.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 248px;" src="http://developernotes.thomaspowell.com/uploaded_images/overwrite_prompt-762724.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After the Tomcat files have been extracted, run [drive]:\xampp\setup_xampp.bat to setup Tomcat.&lt;br /&gt;&lt;br /&gt;Test the installation by running&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[drive]:\xampp\xampp_start.exe to start xampp, then&lt;br /&gt;&lt;/li&gt;&lt;li&gt;[drive]:\xampp\tomcat_start.bat to start Tomcat.&lt;/li&gt;&lt;li&gt;Browse to &lt;a href="http://localhost:8080/"&gt;http://localhost:8080&lt;/a&gt;, which should be something like the following:&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/tomcat_screenshot-747174.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 356px;" src="http://developernotes.thomaspowell.com/uploaded_images/tomcat_screenshot-747165.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally download &lt;a href="http://www.jspwiki.org/wiki/JSPWikiDownload#section-JSPWikiDownload-CurrentStableRelease2.8.11"&gt;JSPWiki&lt;/a&gt; (Current stable release):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/jspwiki_dl-755180.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 356px;" src="http://developernotes.thomaspowell.com/uploaded_images/jspwiki_dl-755172.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Extract the JSPWiki.war file from the JSPWiki download and copy to the [drive]:\xampp\tomcat\webapps folder.&lt;br /&gt;&lt;br /&gt;Run [drive]:\xampp\tomcat_stop.bat and then [drive]:\xampp\tomcat_start.bat to restart Tomcat.  Web application JSPWiki should get loaded as part of the restart.  I had to restart a second time (probably started too soon after shutting down.)&lt;br /&gt;&lt;br /&gt;Browse to &lt;a href="http://localhost:8080/JSPWiki"&gt;http://localhost:8080/JSPWiki&lt;/a&gt; to view the JSPWiki page.  You will be prompted to begin installation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/jspwiki_install-712229.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 356px;" src="http://developernotes.thomaspowell.com/uploaded_images/jspwiki_install-711246.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the installation options, I used:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Application name - JSPWiki&lt;/li&gt;&lt;li&gt;BaseURL - http://localhost:8080/JSPWiki/&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Page Storage - /p/web/www-data/jspwiki/ (default) -- note that this will be the path off of your root drive wherever xampp and Tomcat are running from.  This is where the wiki pages will be stored.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;All other options - default values&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Finally:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Press [Configure!]&lt;/li&gt;&lt;li&gt;[drive]:\xampp\tomcat_stop.bat to stop Tomcat.&lt;/li&gt;&lt;li&gt;[drive]:\xampp\tomcat_start.bat to start Tomcat.&lt;/li&gt;&lt;li&gt;Browse to &lt;a href="http://localhost:8080/JSPWiki/"&gt;http://localhost:8080/JSPWiki/&lt;/a&gt; to start using your JSPWiki.  By default, versioning is turned on, which is accomplished by storing every version of the file in an "OLD" folder just off the main page storage folder.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.jspwiki.org/wiki/InstallingJSPWiki"&gt;Troubleshooting JSPWiki Installation&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/5878938854915922206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=5878938854915922206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/5878938854915922206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/5878938854915922206'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/12/installing-jspwiki-on-xampp-for-windows.php' title='Installing JSPWiki on an XAMPP for Windows install'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-3958608048212931447</id><published>2008-12-15T20:34:00.004-05:00</published><updated>2008-12-15T20:59:30.189-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><title type='text'>Insight DNS issues #insight</title><content type='html'>&lt;span class="icon"&gt;&lt;i&gt;Half of my DNS requests are timing out, and DHCP release/renew works about 50% of the time...&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://helpchat.insightbb.com/netagent/client/unified/default/imgs/user1.png" alt="Customer" /&gt;&lt;/span&gt;&lt;span class="name"&gt;thomas.powell&lt;/span&gt;&lt;div class="custtext2"&gt; &lt;span class="text"&gt;Initial Question/Comment: Half my DNS requests are failing,  DHCP renew fails half the time.&lt;/span&gt;&lt;/div&gt; &lt;div class="systemtext1"&gt;&lt;span class="time"&gt;8:29:33 PM &lt;/span&gt;&lt;span class="icon"&gt;&lt;img src="http://helpchat.insightbb.com/netagent/client/unified/default/imgs/system1.png" alt="System" /&gt;&lt;/span&gt;&lt;span class="name"&gt;System&lt;/span&gt;&lt;/div&gt; &lt;div class="systemtext2"&gt;&lt;span class="text"&gt;Ashley H has joined this session!&lt;/span&gt;&lt;/div&gt; &lt;div class="systemtext1"&gt;&lt;span class="time"&gt;8:29:33 PM &lt;/span&gt;&lt;span class="icon"&gt;&lt;img src="http://helpchat.insightbb.com/netagent/client/unified/default/imgs/system1.png" alt="System" /&gt;&lt;/span&gt;&lt;span class="name"&gt;System&lt;/span&gt;&lt;/div&gt; &lt;div class="systemtext2"&gt;&lt;span class="text"&gt;Connected with Ashley H&lt;/span&gt;&lt;/div&gt; &lt;div class="systemtext1"&gt;&lt;span class="time"&gt;8:29:33 PM &lt;/span&gt;&lt;span class="icon"&gt;&lt;img src="http://helpchat.insightbb.com/netagent/client/unified/default/imgs/system1.png" alt="System" /&gt;&lt;/span&gt;&lt;span class="name"&gt;System&lt;/span&gt;&lt;/div&gt; &lt;div class="systemtext2"&gt;&lt;span class="text"&gt;Thank you for contacting Insight Communications Customer Netchat Support, please allow me a moment to read your question and I will be more than happy to assist you.&lt;/span&gt;&lt;/div&gt; &lt;div class="agenttext1"&gt;&lt;span class="time"&gt;8:29:53 PM &lt;/span&gt;&lt;span class="icon"&gt;&lt;img src="http://helpchat.insightbb.com/netagent/client/unified/default/imgs/agent.png" alt="Agent" /&gt;&lt;/span&gt;&lt;span class="name"&gt;Ashley H&lt;/span&gt;&lt;/div&gt; &lt;div class="agenttext2"&gt;&lt;span class="text"&gt;We are currently experiencing dns issues in your area that may cause slow browsing speeds or intermittent issues loading pages.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;...Hey Insight, Power Down and Power Up.  It's easy!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Added&lt;/span&gt;&lt;span&gt; @ 8:50 PM:&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Thanks to &lt;a href="http://twitter.com/DanielLight"&gt;@DanielLight&lt;/a&gt; I'm using &lt;a href="http://www.opendns.com/"&gt;OpenDNS&lt;/a&gt; now.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Of course, now I can't connect to the server addresses half the time.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;  Thanks, Insight!&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/3958608048212931447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=3958608048212931447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/3958608048212931447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/3958608048212931447'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/12/insight-dns-issues-insight.php' title='Insight DNS issues #insight'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-7910346257128611685</id><published>2008-12-15T13:25:00.003-05:00</published><updated>2008-12-15T14:10:32.375-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Every time you make an Excel spreadsheet this big, a kitten meets its maker</title><content type='html'>I'm not really that elitist about non-programmers using applications in an advanced way the programmers could find a better way to do.  I've never had to port functionality from an Excel spreadsheet that was 2 MB in size prior to data being added--at least not more than once.&lt;br /&gt;&lt;br /&gt;However, I am a bit disturbed that &lt;a href="http://blogs.msdn.com/excel/archive/2005/09/26/474258.aspx"&gt;Excel is the new Access&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; &lt;p&gt;&lt;span style="font-family:Verdana;"&gt;The total number of available columns in Excel&lt;br /&gt;Old Limit: 256  (2^8)&lt;br /&gt;New Limit: 16k  (2^14)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;The total number of available rows in Excel&lt;br /&gt;Old Limit: 64k  (2^16)&lt;br /&gt;New Limit: 1M  (2^20)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;Number of unique colours allowed a single workbook&lt;br /&gt;Old Limit: 56 (indexed colour)&lt;br /&gt;New Limit: 4.3 billion (32-bit colour)&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Therefore, Excel is now Microsoft's new small business data warehouse.  (Apologies to DW people.)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You could also store and represent a very large 32-bit color bitmap inside an Excel spreadsheet.  Also supported are Base-64 Encoded BLOBs :-)  :&lt;br /&gt;&lt;/p&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;The total number of characters that can display in a cell&lt;br /&gt;Old Limit: 1k (when the text is formatted)&lt;br /&gt;New Limit: 32k or as many as will fit in the cell (regardless of formatting)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;The number of characters per cell that Excel can print&lt;br /&gt;Old Limit: 1k&lt;br /&gt;New Limit: 32k&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;div&gt; I'd hate to have to debug a 8k character formula with 64 levels of nesting:&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; &lt;p&gt;&lt;span style="font-family:Verdana;"&gt;The maximum length of formulas (in characters)&lt;br /&gt;Old Limit: 1k characters&lt;br /&gt;New Limit: 8k characters&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;The number of levels of nesting that Excel allows in formulas&lt;br /&gt;Old Limit: 7&lt;br /&gt;New Limit: 64&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;A 255 argument function.  The mind shudders.  Even if you did not use a computer science major to create the program, such an unwieldly program might benefit from the education and experience of a computer science major.  Maybe there is a better way to do this, by applying some mid-level software engineering techniques instead of stream of consciousness coding.&lt;br /&gt;&lt;/div&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;Maximum number of arguments to a function&lt;br /&gt;Old Limit: 30&lt;br /&gt;New Limit: 255&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;     &lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/7910346257128611685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=7910346257128611685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7910346257128611685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7910346257128611685'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/12/every-time-you-make-excel-spreadsheet.php' title='Every time you make an Excel spreadsheet this big, a kitten meets its maker'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-4379870314599363086</id><published>2008-12-15T09:43:00.002-05:00</published><updated>2008-12-15T09:50:20.231-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='socialnetworking'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>TwitterThreads.com - what I've been looking for. Almost.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/twitterthreads-700752.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 238px;" src="http://developernotes.thomaspowell.com/uploaded_images/twitterthreads-700745.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I just searched on  &lt;a href="http://www.google.com/search?q=twitter+threads&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:en-US:official&amp;amp;client=firefox-a"&gt;"twitter" and "threads" in google&lt;/a&gt;.  What I found was &lt;a href="http://www.twitterthreads.com/"&gt;TwitterThreads.com&lt;/a&gt;.  Simple, huh?&lt;br /&gt;&lt;br /&gt;It's not 100% what I had envisioned:  My vision was probably something more like expandable threading by author sorted by date of most recent update.  The TwitterThreads version looks like it shows all posts that you'd normally see if you were following someone, but limited to a single day's posts.&lt;br /&gt;&lt;br /&gt;This is pretty much what I wanted to build, with a few additional features... Other things I thought of were [+]/[-] Expand/Collapse functionality, an option to configure the number of days shown, and read/unread functionality of some sort.&lt;br /&gt;&lt;br /&gt;There is also a &lt;a href="http://m.twitterthreads.com/"&gt;mobile TwitterThreads&lt;/a&gt; site.  On my ancient Treo 650, this is a beautifully elegant and simple interface.  It may become my new twitter interface on my phone.&lt;br /&gt;&lt;br /&gt;Something both interfaces are missing are direct links to "reply-to" and "favorite" individual tweets.  I was also a little disappointed that the timestamp link on each tweet went to the person's home instead of direct linking to the tweet on Twitter.  This makes the lack of reply-to and favorite functionality more of an issue for me.  If the timestamp had linked to the individual tweet, I could reply-to or favorite through the Twitter web interface.&lt;br /&gt;&lt;br /&gt;Overall, I am still thrilled to see that someone has implemented this idea.  Like any programmer geek, I would have liked to be the first, but I wouldn't really have made the time to throw something like this together.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/4379870314599363086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=4379870314599363086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/4379870314599363086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/4379870314599363086'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/12/twitterthreadscom-what-ive-been-looking.php' title='TwitterThreads.com - what I&apos;ve been looking for. Almost.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-4294681561825488285</id><published>2008-12-05T11:27:00.008-05:00</published><updated>2008-12-12T08:50:07.378-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stinkpad'/><title type='text'>Proof that I'm not the only one with problems with the Lenovo T-61 laptop</title><content type='html'>I had virtually no problems with my IBM T60 laptop, but my T61 has had several problems.&lt;br /&gt;&lt;br /&gt;The most recent problem that I've had is that I went into hibernate mode last night, and this morning, my PC would not turn on:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I dock my PC, the dock indicator light comes on, but the battery and AC power indicators on the laptop do not.  The power button does not respond.&lt;/li&gt;&lt;li&gt;I remove my PC from the dock and plug in the AC directly, still the battery and AC power indicators on the laptop do not come on.&lt;/li&gt;&lt;li&gt;I remove the battery and plug in the AC directly.  Still nothing.&lt;/li&gt;&lt;li&gt;I finally panic enough to call our internal help desk (early call might get turnaround by lunch time) and the tech offers one last suggestion...  pull the battery out (AC too) and let power state drain, then re-insert battery.  Crisis averted.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://forums.lenovo.com/lnv/board/message?board.id=T_Series_Thinkpads&amp;amp;thread.id=260&amp;amp;view=by_date_ascending&amp;amp;page=1" target="_blank"&gt;Lenovo support thread for T61 power on problem&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've also had problems with the LCD screen being locked in an "off" state on [Max Battery] mode (Presentation mode works well, though).&lt;br /&gt;&lt;br /&gt;When I had the PC in [Max Battery] performance, the machine would not come out of hibernate at least 50% of the time.&lt;br /&gt;&lt;br /&gt;I had a DAILY blue screen on Windows XP when I was docked (wired connection to LAN) and wireless was turned on.  This was remedied by having my laptop upgraded to a newer version of Symantec Security software than was widely deployed in the organization.&lt;br /&gt;&lt;br /&gt;Added 2008.12.05:&lt;br /&gt;If my laptop was in its docking station when I tried to hibernate, it would restart immediately.  I have now gotten into the habit of undocking first, then hibernating.  According to another blog, this is due to a &lt;a href="http://www.brooks-bilson.com/blogs/rob/index.cfm/2008/5/2/Fix-for-Lenovo-ThinkPad-T61-Hibernation-Issue-where-Laptop-Restarts-Immediately-after-Hibernating"&gt;Wake On LAN setting in Windows Device manager and BIOS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;cnet user review:  &lt;a href="http://reviews.cnet.com/laptops/lenovo-thinkpad-t61/4864-3121_7-32442903-2.html?tag=mncol;uo"&gt;Blue Screen of Death w/ Bad Customer Service&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Added 2008.12.09:&lt;br /&gt;&lt;a href="http://forum.notebookreview.com/showthread.php?t=135145"&gt;T61 Problems?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Added 2008.12.12:&lt;br /&gt;I ended up in the weird power state again today, but this time I was prepared to pull my battery, wait 10 seconds, and replace.  Voilà!  It works!</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/4294681561825488285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=4294681561825488285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/4294681561825488285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/4294681561825488285'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/12/proof-that-im-not-only-one-with.php' title='Proof that I&apos;m not the only one with problems with the Lenovo T-61 laptop'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-73413775455627019</id><published>2008-11-29T14:40:00.002-05:00</published><updated>2008-11-30T09:04:49.183-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Finding distances between two zip codes in PHP</title><content type='html'>I found &lt;a href="http://www.micahcarrick.com/04-19-2005/php-zip-code-range-and-distance-calculation.html"&gt;this script&lt;/a&gt; to calculate distances between two zip codes from PHP (requires MySQL).  According to this &lt;a href="http://www.idealog.us/2006/07/zip_code_distan.html"&gt;Idealog post&lt;/a&gt;, the calculation relies on a text file of  &lt;a href="http://www.cfdynamics.com/cfdynamics/zipbase/index.cfm"&gt;Zip code lon/lats from CFDynamics&lt;/a&gt;, available on the &lt;a href="http://www.populardata.com/downloads.html"&gt;downloads page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have yet to try it; however, I have a specific implementation that I was needing it for.  Does anyone else have a better way to align searcher's proximity to location-based data?  I'd like to classify by city, but I'm sure that is a lot more of a gray area than allowing the searcher to specify a specific radius in which to search or letting the resource specify maximum distance to travel.&lt;br /&gt;&lt;br /&gt;Added 2008.11.30:&lt;br /&gt;I love Twitter.  A few hours after posting this, I received a suggestion that I could get longitude/latitude from Google Maps.&lt;br /&gt;&lt;br /&gt;On &lt;a href="http://code.google.com"&gt;code.google.com&lt;/a&gt;, I found the following question:  &lt;a href="http://code.google.com/support/bin/answer.py?answer=55180&amp;amp;topic=12266"&gt;I need to convert addresses to latitude/longitude pairs. Can I do that with the Maps API?&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Yes, this process is called "geocoding." The Google Maps API provides two methods for performing geocoding. If you wish to geocode from within your Google Maps API application you can do so using the &lt;a href="http://code.google.com/apis/maps/documentation/services.html#Geocoding_Object"&gt;GClientGeocoder&lt;/a&gt; object. Alternatively you can send geocoding requests directly to the &lt;a href="http://code.google.com/apis/maps/documentation/services.html#Geocoding_Direct"&gt;HTTP geocoder&lt;/a&gt;.&lt;span style="font-size:0;"&gt; &lt;/span&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/73413775455627019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=73413775455627019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/73413775455627019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/73413775455627019'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/11/finding-distances-between-two-zip-codes.php' title='Finding distances between two zip codes in PHP'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-5680509479129064193</id><published>2008-11-20T22:14:00.003-05:00</published><updated>2008-11-20T22:24:55.169-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Gmail terminal theme--for your inner nerd</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://developernotes.thomaspowell.com/uploaded_images/gmailterminal-784742-784834.PNG"&gt;&lt;img src="http://developernotes.thomaspowell.com/uploaded_images/gmailterminal-784742-784831.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;I don't know if I like it for nostalgia and geekiness, or just plain geekiness.  There's only one thing I'd change with the terminal theme...  make it truly like the BBS experiences of 15+ years ago.  I want ANSI animation and color ANSI art--especially for the Gmail logo.&lt;br /&gt;&lt;br /&gt;Added:  Even more importantly, the terminal theme works great if you get LISTSERV mailings that have tables rendered in all ASCII characters or code.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/5680509479129064193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=5680509479129064193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/5680509479129064193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/5680509479129064193'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/11/gmail-terminal-theme-for-your-inner.php' title='Gmail terminal theme--for your inner nerd'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-7845319177753319670</id><published>2008-11-15T09:32:00.006-05:00</published><updated>2008-12-14T18:16:28.836-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><title type='text'>I suspect that the delicious bookmark plug-in for Firefox 3 is not keeping me logged for  two weeks.</title><content type='html'>Not only that, but whenever I'm required to log-in to bookmark a page, the plug-in does not continue on to actually creating the bookmark.&lt;br /&gt;&lt;br /&gt;This morning I was forced to log in.  I believe the loss of information is coinciding with Firefox updates.  Anyone else have this experience?&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Home PC&lt;/u&gt;:&lt;br /&gt;2008.11.15, 9:15 AM&lt;br /&gt;2008.11.29, 2:29 PM&lt;br /&gt;2008.12.14. 6:16 PM&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Work PC&lt;/u&gt;:&lt;br /&gt;2008.11.26, 10:01 AM&lt;br /&gt;2008.12.11, 5:08 PM&lt;br /&gt;&lt;br /&gt;Updated 2008.11.29:  So far, no glitches.  However, I still dislike the fact that the log-in prompt prevents tagging and you have to have to select the tag icon again after logging in.&lt;br /&gt;&lt;br /&gt;Updated 2008.12.11:  Looks like everything's fine, just that I'm overly sensitive to having to login.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/7845319177753319670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=7845319177753319670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7845319177753319670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7845319177753319670'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/11/i-suspect-that-delicious-bookmark-plug.php' title='I suspect that the delicious bookmark plug-in for Firefox 3 is not keeping me logged for  two weeks.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-8209834782639936809</id><published>2008-11-10T15:03:00.003-05:00</published><updated>2008-11-10T15:11:45.992-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='word'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Autotext lines in Word (using 2003 here)</title><content type='html'>Sorry if this is pretty trivial for the true power users of Word...&lt;br /&gt;&lt;br /&gt;I don't know if Word 2007 works this way or not, but I've discovered a couple additional characters in Word that auto-correct to divider lines.  (Other than 'equals', 'minus', and 'underscore').  The 'hash' divider was of the most interest to me, as I'm trying to write a white paper and need distinctive, yet compact, format markings.  (The quicker the better, as well.)  Just enter 3 successive '#' (hash), '~' (tilde), '-' (minus sign), '=' (equals), '_' (underscore), or '*' (asterisk) characters and immediately press enter.  The text will be replaced by a dividing line.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(This trick does something similar OpenOffice 2.4.)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/autolines-780261.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 249px;" src="http://developernotes.thomaspowell.com/uploaded_images/autolines-780259.PNG" alt="" border="0" /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/8209834782639936809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=8209834782639936809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8209834782639936809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8209834782639936809'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/11/autotext-lines-in-word-using-2003-here.php' title='Autotext lines in Word (using 2003 here)'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-8248530189120444071</id><published>2008-11-09T08:22:00.004-05:00</published><updated>2008-11-09T08:36:01.128-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='socialnetworking'/><title type='text'>Reading List by Amazon</title><content type='html'>It looks like LinkedIn has found a way to make itself relevant for day-to-day use...  The Amazon Readling List provides a way for you to post what you're currently reading, want to read, or have read.  You can also see the contents of other people's reading lists--in your network, in your industry, or all recent updates.  Your reading list will automatically appear on your LinkedIn Home and Profile pages.&lt;br /&gt;&lt;br /&gt;So far, I only have one book listed.  I'll probably start adding to this reading list from my Safari bookshelf list, and all the various other lists that I've been compiling over the last couple of years.&lt;br /&gt;&lt;br /&gt;You can get to my LinkedIn profile at &lt;a href="http://www.linkedin.com/in/twilliampowell" target="_blank" title="New window will open"&gt;http://www.linkedin.com/in/twilliampowell&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Reading List Application full view:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/readinglistapphome-761867.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 291px;" src="http://developernotes.thomaspowell.com/uploaded_images/readinglistapphome-761858.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On your LinkedIn Home:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/readinglisthome-761758.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 117px;" src="http://developernotes.thomaspowell.com/uploaded_images/readinglisthome-761750.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On your LinkedIn Profile:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/readinglistonprofile-751618.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 233px;" src="http://developernotes.thomaspowell.com/uploaded_images/readinglistonprofile-750563.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Adding from featured applications page.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developernotes.thomaspowell.com/uploaded_images/readinglistappselection-750373.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 255px;" src="http://developernotes.thomaspowell.com/uploaded_images/readinglistappselection-750359.PNG" alt="" border="0" /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/8248530189120444071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=8248530189120444071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8248530189120444071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8248530189120444071'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/11/reading-list-by-amazon.php' title='Reading List by Amazon'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-1404974154605265748</id><published>2008-11-03T22:43:00.002-05:00</published><updated>2008-11-03T22:44:36.750-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lists'/><title type='text'>99 bottles of beer and hello world programming examples</title><content type='html'>I'm a sucker for different programming languages, especially in trivial and whimsical implementations...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://99-bottles-of-beer.net/"&gt;99 Bottles of Beer in 1200+ programming languages&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://esolangs.org/wiki/Main_Page"&gt;Esoteric Programming Languages wiki&lt;/a&gt; - contains Hello World samples.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.roesler-ac.de/wolfram/hello.htm"&gt;The hello world collection (420+ languages)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www2.latech.edu/%7Eacm/HelloWorld.html"&gt;Hello World project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikibooks.org/wiki/List_of_hello_world_programs"&gt;List of hello world programs on Wikibooks&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/1404974154605265748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=1404974154605265748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/1404974154605265748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/1404974154605265748'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/11/99-bottles-of-beer-and-hello-world.php' title='99 bottles of beer and hello world programming examples'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-4373116235931291189</id><published>2008-11-03T21:04:00.001-05:00</published><updated>2008-11-03T21:04:06.450-05:00</updated><title type='text'>Found some Gtk/Ruby signal stuff.</title><content type='html'>(For gtk2+ruby, I used the &lt;a href="http://ruby-gnome2.sourceforge.jp/hiki.cgi?Install+Guide+for+Windows#Microsoft+Windows+%28mswin32%2C+mingw32%29"&gt;Windows installer package&lt;/a&gt;)&lt;br&gt;&lt;br&gt;For some reason, I&amp;#39;m trying to learn a portable language/toolkit.&lt;br&gt; &lt;br&gt;First, I had to find the &lt;a href="http://ruby-gnome.sourceforge.net/programming/signal.html" target="_blank"&gt;correct signal to connect to&lt;/a&gt;.&amp;nbsp; Looks like focus_out_event is it.&lt;br&gt; &lt;br&gt;&lt;br style="font-family: courier new,monospace;"&gt; &lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;&lt;span style="font-family: courier new,monospace;"&gt;currentMileage.signal_connect(&amp;quot;focus_out_event&amp;quot;) {&lt;/span&gt;&lt;br style="font-family: courier new,monospace;"&gt; &lt;span style="font-family: courier new,monospace;"&gt;&amp;nbsp; mileagePerDay.text=((targetMileage.text.to_f&amp;nbsp; - currentMileage.text.to_f)&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: courier new,monospace;"&gt; &amp;nbsp;&amp;nbsp; /(Time.parse(targetDate.text)-Time.now)*3600*24).to_s&lt;/span&gt;&lt;br style="font-family: courier new,monospace;"&gt;&lt;span style="font-family: courier new,monospace;"&gt;}&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;  &lt;br&gt;&lt;a href="http://markmail.org/message/3dzrezlzfhdgt2so" target="_blank"&gt;signal_connect vs signal_connect_after&lt;/a&gt;...&amp;nbsp; apparently, improper usage of signal_connect (for &amp;quot;focus_out_event&amp;quot;) will generate the following warning which the signal occurs&lt;br&gt;  &lt;span style="font-family: courier new,monospace;"&gt;Gtk-WARNING **: GtkEntry - did not receive focus-out-event&lt;/span&gt;&lt;br&gt;&lt;br&gt;From the description, what has happened is a timeout with a now invalid pointer (because of the signal&amp;#39;s redirect).&amp;nbsp; Using signal_connect_after() ensures that the default handler has run first.&lt;br&gt;  &lt;span style="font-family: courier new,monospace;"&gt;&lt;/span&gt;&lt;br style="font-family: courier new,monospace;"&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; &lt;span style="font-family: courier new,monospace;"&gt;currentMileage.signal_connect&lt;b&gt;_after&lt;/b&gt;(&amp;quot;focus_out_event&amp;quot;) {&lt;/span&gt;&lt;br style="font-family: courier new,monospace;"&gt;&lt;span style="font-family: courier new,monospace;"&gt;&amp;nbsp; mileagePerDay.text=((targetMileage.text.to_f&amp;nbsp; - currentMileage.text.to_f)&lt;/span&gt;&lt;br&gt; &lt;span style="font-family: courier new,monospace;"&gt;&amp;nbsp;&amp;nbsp; /(Time.parse(targetDate.text)-Time.now)*3600*24).to_s&lt;/span&gt;&lt;br style="font-family: courier new,monospace;"&gt;&lt;span style="font-family: courier new,monospace;"&gt;}&lt;/span&gt;&lt;br style="font-family: courier new,monospace;"&gt; &lt;/blockquote&gt;&lt;span style="font-family: courier new,monospace;"&gt;&lt;/span&gt;&lt;br&gt;Next up:&amp;nbsp; Encapsulate some of this stuff.&amp;nbsp; In this exercise, I realized that I forgot some of the basics, like how variable scope is defined in Ruby:&amp;nbsp; &lt;a href="http://www.informit.com/articles/article.aspx?p=18225&amp;amp;seqNum=2" target="_blank"&gt;http://www.informit.com/articles/article.aspx?p=18225&amp;amp;seqNum=2&lt;/a&gt;.&lt;br&gt;  &lt;br&gt;Some additional Ruby links...&lt;br&gt;&lt;a href="http://www.rubyist.net/%7Eslagell/ruby/globalvars.html" target="_blank"&gt;Rubyist reference&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.ruby-doc.org/docs/UsersGuide/rg/globalvars.html" target="_blank"&gt;RubyDocs reference to global variables&lt;/a&gt;&lt;br&gt;  &lt;a href="http://pasadenarb.com/2007/03/ruby-shell-commands.html" target="_blank"&gt;6 Ways to Run Shell Commands in Ruby &lt;/a&gt;&lt;br&gt;&lt;br&gt; </content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/4373116235931291189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=4373116235931291189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/4373116235931291189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/4373116235931291189'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/11/found-some-gtkruby-signal-stuff.php' title='Found some Gtk/Ruby signal stuff.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-1791535917458047710</id><published>2008-10-30T10:09:00.001-04:00</published><updated>2008-10-30T10:09:08.836-04:00</updated><title type='text'>I remember the good old days of domain squatting</title><content type='html'>At least you had to pony up a few bucks per domain name back then.&amp;nbsp; Now there&amp;#39;s &lt;a href="http://www.networkworld.com/community/node/34635?netht=rn_102908&amp;amp;nladname=102908dailynewspmal"&gt;Twitter squatting&lt;/a&gt;.&amp;nbsp; It&amp;#39;s fairly predictable, really...&amp;nbsp; Every single letter TwitID is taken.&amp;nbsp; Common surnames...&amp;nbsp; taken.&amp;nbsp; Common words...&amp;nbsp; taken.&amp;nbsp; Apparently, you don&amp;#39;t even need to use a legitimate or at least &lt;i&gt;legitimately unique &lt;/i&gt;e-mail address to do it.&lt;br&gt; &lt;br&gt;&lt;br&gt; </content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/1791535917458047710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=1791535917458047710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/1791535917458047710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/1791535917458047710'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/i-remember-good-old-days-of-domain.php' title='I remember the good old days of domain squatting'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-7531460821966886255</id><published>2008-10-30T08:42:00.001-04:00</published><updated>2008-10-30T08:42:02.709-04:00</updated><title type='text'>Classic Blogger and PHP?</title><content type='html'>&lt;div class="gmail_quote"&gt;A question via e-mail:&lt;br&gt;&lt;div class="gmail_quote"&gt;&lt;blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"&gt; &lt;br&gt;I stumbled upon your blog: &lt;a href="http://developernotes.thomaspowell.com/" target="_blank"&gt;http://developernotes.thomaspowell.com&lt;/a&gt;&lt;br&gt;What I noticed - and it&amp;#39;s something that I wanted also - is that your blogpages are all ending in .php, even your individual blogpost pages (&lt;a href="http://developernotes.thomaspowell.com/2008/10/remember-milk-is-on-twitter.php" target="_blank"&gt;http://developernotes.thomaspowell.com/2008/10/remember-milk-is-on-twitter.php&lt;/a&gt;)&lt;br&gt;   &lt;br&gt;How do you do that in settings? I can only get the index page to end as PHP. The individual posts remain in HTML. &lt;br&gt;&lt;br&gt;Could you share this nugget of wisdom with me? &lt;br&gt;&lt;br&gt; &lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt; (Note:&amp;nbsp; I&amp;#39;ve only done this publishing to another host via FTP)&lt;br&gt;&lt;br&gt;In Blogger dashboard, click the [Settings] link for your blog.&lt;br&gt;&lt;br&gt;Under the [Settings] Tab -&amp;gt; [Publishing] Tab, edit the Blog Filename field. (index.html -&amp;gt; index.php)&lt;br&gt;  &lt;br&gt;There is also a setting for the archive file:&lt;br&gt;Under the [Settings] Tab -&amp;gt; [Archive] Tab, edit the Archive filename field. (archive.html -&amp;gt; archive.php)&lt;br&gt;&lt;br&gt;One more thing to note...&amp;nbsp; all the old *.html files will still be left on the server, so if you want them removed, you&amp;#39;ll have to clean them yourself.&lt;div&gt; &lt;div class="Wj3C7c"&gt;&lt;br&gt;(You may also want to &lt;a href="http://developernotes.thomaspowell.com/2008/07/htaccess-redirect-guide.php"&gt;redirect old links&lt;/a&gt; to the new extension).&lt;br&gt; &lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt; </content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/7531460821966886255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=7531460821966886255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7531460821966886255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7531460821966886255'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/classic-blogger-and-php.php' title='Classic Blogger and PHP?'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-6692197819133670847</id><published>2008-10-29T10:16:00.001-04:00</published><updated>2008-10-29T10:16:19.435-04:00</updated><title type='text'>Is a Yahoo developer platform worth the time investment to learn?</title><content type='html'>&lt;a href="http://www.informationweek.com/news/internet/social_network/showArticle.jhtml?articleID=211601154"&gt;Yahoo Introduces Social Developer Platform&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;quot;3 elements&amp;quot;:&lt;br&gt;&lt;b&gt;&lt;span id="articleBody"&gt; &lt;/span&gt;&lt;/b&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; &lt;b&gt;Yahoo Social Platform&lt;/b&gt;, a set of REST-based social application programming interfaces (APIs) for utilizing social data related to Profiles, Connections, Updates, Contacts, and Status. &lt;span id="articleBody"&gt;&lt;p&gt;&lt;b&gt;Yahoo Query Language&lt;/b&gt;, a new Web service API for accessing other Web services &lt;b&gt;using a SQL-style query language&lt;/b&gt;, rather than a lower-level programming code. Yahoo describes it as &amp;quot;a command-line version of Pipes,&amp;quot; Yahoo&amp;#39;s visual programming system for mashing up and remixing Web data, like RSS feeds. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Yahoo Application Platform&lt;/b&gt;, a set of software and services to build applications that run on Yahoo. It includes a browser-based development environment, various APIs and Web services, a distribution and discovery infrastructure, and a runtime and rendering environment.&lt;/p&gt;&lt;/span&gt;&lt;span id="articleBody"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span id="articleBody"&gt;&lt;p&gt;&lt;span id="articleBody"&gt;&lt;a href="http://developer.yahoo.com/yos/intro/index.html"&gt;Yahoo Open Strategy (Y!OS) 1.0 Developer Release&lt;/a&gt;&lt;/span&gt; announcement and &lt;a class="ulink" href="http://developer.yahoo.com/yos/intro/yos-docs.html" target="_top"&gt;List of Y!OS                 Documentation&lt;/a&gt;. &lt;br&gt;&lt;/p&gt;&lt;p&gt;Is this new hope for Yahoo, or another potential dead-end for an industry laggard?&amp;nbsp; I remember&amp;nbsp; &lt;a href="http://valleywag.com/5043513/yahoo-kills-its-facebook-wannabe"&gt;Yahoo killing its Facebook wannabe&lt;/a&gt;, which, with TechCrunch keeping score, makes Yahoo &lt;a href="http://www.techcrunch.com/2008/08/28/yahoo-shuts-down-mash-0-4-on-social-networking/" rel="bookmark" title="Yahoo Shuts Down Mash, 0-4 On Social Networking"&gt;0-4 On Social Networking&lt;/a&gt;. Yahoo does not equal AOL, but I can&amp;#39;t help but think of AOL&amp;#39;s shutting down of &lt;a href="http://arstechnica.com/news.ars/post/20081028-aol-tightening-belt-to-kill-off-three-more-products.html"&gt;AOL Journals, Pictures, Hometown, Bluestring, and XDrive&lt;/a&gt;.&amp;nbsp; Is it worth investing the time to figure out something that will potentially be on the chopping block in the future?&lt;br&gt; &lt;/p&gt;&lt;/span&gt; </content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/6692197819133670847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=6692197819133670847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/6692197819133670847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/6692197819133670847'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/is-yahoo-developer-platform-worth-time.php' title='Is a Yahoo developer platform worth the time investment to learn?'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-8711938265043283406</id><published>2008-10-20T15:30:00.003-04:00</published><updated>2008-10-23T08:28:30.159-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='productivity'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><title type='text'>Remember the Milk is on Twitter!</title><content type='html'>&lt;div dir="ltr"&gt;This may be old news to many RTM/Twitter users, but it was a pleasant surprise to me today.&lt;br /&gt;&lt;br /&gt;As I was perusing the Remember the Milk keyboard shortcuts, I noticed that at the bottom, under "Services", Twitter was listed.  So I clicked on the link, and the "Services / Remember the Milk for Twitter page" came up, where I could enter my Twitter id.  I was presented with a verification code for the next step.&lt;br /&gt;&lt;br /&gt;From there, I typed "follow rtm" and then "d rtm [verification code]".&lt;br /&gt;&lt;br /&gt;Now that all that is set up, I can interact with Twitter through direct msg:&lt;br /&gt;&lt;br /&gt;"&lt;b&gt;d rtm&lt;/b&gt; pick up the milk"&lt;br /&gt;&lt;br /&gt;"&lt;b&gt;d rtm&lt;/b&gt; call jimmy at 5pm tomorrow"&lt;br /&gt;&lt;br /&gt;"&lt;b&gt;d rtm !complete&lt;/b&gt; call jimmy"&lt;br /&gt;&lt;br /&gt;All the instructions and some command examples are at: &lt;a href="http://www.rememberthemilk.com/services/twitter/"&gt;http://www.rememberthemilk.com/services/twitter/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Of course, I'm still learning how to even use the &lt;a href="http://www.rememberthemilk.com/help/answers/basics/dateformat.rtm"&gt;RTM Date Formats&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Added:&lt;br /&gt;Of course, since I can txt updates to Twitter (40404), I can add tasks for today by texting&lt;br /&gt;"&lt;span style="font-weight: bold;"&gt;d rtm&lt;/span&gt; pick up the milk &lt;span style="font-weight: bold;"&gt;tod&lt;/span&gt;ay"&lt;br /&gt;&lt;br /&gt;I don't need a laptop or notepad to record my "action items" anymore.  This is awesome.&lt;br /&gt;&lt;br /&gt;Added 8/23:&lt;br /&gt;Thanks to &lt;a href="http://twitter.com/louisvillesoup"&gt;@louisvilllesoup&lt;/a&gt;, I looked into sending tasks &lt;a href="http://www.rememberthemilk.com/help/answers/sending/emailinbox.rtm"&gt;from e-mail to RTM inbox&lt;/a&gt; as well...  this is a pretty robust feature set.&lt;br /&gt;&lt;br /&gt;A much simpler setup is &lt;a href="http://www.rememberthemilk.com/help/answers/sending/importemail.rtm"&gt;importing a list via e-mail&lt;/a&gt;, which enables adding a list in bulk to a specific list (e.g., personal) by specifying the list in the subject line and list items on individual lines in the message body.  A downside to this method is that signature lines and legal disclaimers get added (per line) to your to do list.  I'll need to research if there is a way around this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/8711938265043283406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=8711938265043283406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8711938265043283406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8711938265043283406'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/remember-milk-is-on-twitter.php' title='Remember the Milk is on Twitter!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-5032359749891226504</id><published>2008-10-20T09:50:00.002-04:00</published><updated>2008-10-21T08:58:33.695-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><title type='text'>Trying to dig up IT relevant podcasts</title><content type='html'>&lt;div dir="ltr"&gt;&lt;div&gt;Any suggestions?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.infoworld.com/weblog/podcasts/new_podcasts_index.html"&gt;InfoWorld Podcasts&lt;/a&gt;: These look promising...&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Infoworld Daily - includes a general tech news segment which is repeated in the NetworkWorld 360 podcast as well.&lt;br /&gt;&lt;/li&gt; &lt;li&gt;The Virtualization Report&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Storage Sprawl&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The SOA Report&lt;br /&gt;&lt;/li&gt;&lt;li&gt;...a few discontinued ones are out there, too.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;a href="http://enterprise2conf.libsyn.com/"&gt;Enterprise 2.0 podcasts&lt;/a&gt;  - looks like recordings from a conference?  I'll have to download and check them out tonight.  Not as promising as the Infoworld ones.  I see that a lone spammer has managed to post spam comments in "response" to a few of the links.&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.networkworld.com/podcasts/"&gt;NetworkWorld podcasts&lt;/a&gt;:  Again, some promise here.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;NetworkWorld's Twisted Pair (this sounds more like entertainment, but possibly relevant news)&lt;/li&gt; &lt;li&gt;NetworkWorld Panorama&lt;/li&gt;&lt;li&gt;NetworkWorld 360 - includes a general tech news segment.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Voices from the IT Roadmap&lt;/li&gt;&lt;li&gt;NetworkWorld's Newsmaker of the Week&lt;/li&gt;&lt;li&gt;Forrester Fundamentals&lt;/li&gt;&lt;li&gt;Network Downtime (entertainment)&lt;/li&gt;&lt;li&gt;Converging on Microsoft&lt;/li&gt; &lt;li&gt;Cisco News and Reviews&lt;/li&gt;&lt;li&gt;JavaWorld's Java Technology Insider&lt;/li&gt;&lt;li&gt;LinuxCast&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/5032359749891226504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=5032359749891226504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/5032359749891226504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/5032359749891226504'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/trying-to-dig-up-it-relevant-podcasts.php' title='Trying to dig up IT relevant podcasts'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-462110637565062976</id><published>2008-10-20T08:12:00.002-04:00</published><updated>2008-10-20T08:16:57.104-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geek humor'/><title type='text'>Same old grind / a new day / gotta work / for the pay / Burma-shave</title><content type='html'>&lt;div dir="ltr"&gt;&lt;a href="http://xkcd.com/491/"&gt;Today's xkcd comic&lt;/a&gt; has &lt;a href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; all &lt;a href="http://search.twitter.com/search?q=Burma-shave"&gt;Twitterpated&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://xkcd.com/491/"&gt;&lt;img src="http://imgs.xkcd.com/comics/twitter.png" /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/462110637565062976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=462110637565062976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/462110637565062976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/462110637565062976'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/same-old-grind-new-day-gotta-work-for.php' title='Same old grind / a new day / gotta work / for the pay / Burma-shave'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-6715008058697964148</id><published>2008-10-17T15:59:00.002-04:00</published><updated>2008-10-17T16:02:58.696-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><title type='text'>On comments and blogs</title><content type='html'>&lt;div dir="ltr"&gt;A &lt;a href="http://twitter.com/JasonFalls/statuses/964223313"&gt;tweet&lt;/a&gt; by &lt;a href="http://twitter.com/JasonFalls"&gt;@JasonFalls&lt;/a&gt; reminded of this topic.&lt;br /&gt;&lt;br /&gt;Have you ever been in a large meeting where someone asks a question that is uncomfortably inappropriate?  The perceived anonymity of the internet only seems to only embolden such tendencies.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://copywriteink.blogspot.com/2008/10/allowing-anonymous-communicators.html"&gt;Copywrite, Ink.:  Allowing Anonymous:  Communicators Divided&lt;/a&gt; - The business and communications justifications for allowing anonymous, allowing moderated comments, or allowing no comments at all.  I would tend to agree that considering "[allowing] no comments at all" myopic is a bit harsh, for two reasons:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;While the average lone miscreant is relatively harmless, many organizations might (justifiably) consider themselves potential targets of coordinated attacks.&lt;/li&gt;&lt;li&gt;The more popular the blog, the faster the comments degrade into flame wars.  I avoid the comments on &lt;a href="http://digg.com/"&gt;digg.com&lt;/a&gt; and several news sites because I've seen mildly provacative devolve into vitriolic hatred and ignorance--sometimes over something as benign as a story about a local basketball game.&lt;/li&gt; &lt;/ol&gt;&lt;br /&gt;I do, however, like this final point:&lt;br /&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;However, and I cannot stress this enough, I do advise communicators and public relations professionals to never make anonymous comments or, if they do, they need to be prepared to answer for such posts in a world where no communication is really private. Not &lt;a href="http://copywriteink.blogspot.com/2006/09/e-mailing-is-never-private.html"&gt;anymore&lt;/a&gt;.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Of course, my feelings might be partially influenced by the &lt;a href="http://www.scripting.com/2007/01/01.html#theUneditedVoiceOfAPerson"&gt;Unedited Voice of a Person&lt;/a&gt;:&lt;br /&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt;Do comments make it a blog? Do the lack of comments make it not a blog? Well actually, my opinion is different from many, but it still is my opinion that it does not follow that a blog must have comments, in fact, to the extent that comments interfere with the natural expression of the unedited voice of an individual, comments may act to make something &lt;i&gt;not&lt;/i&gt; a blog.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolsky&lt;/a&gt; draws from this to make the point that you get a few insights, followed by a spew of noise/filth that no one would say out loud if they had to take ownership of their words.&lt;br /&gt;&lt;br /&gt;Finally, &lt;a href="http://xkcd.com/"&gt;xkcd&lt;/a&gt; illustrates:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://imgs.xkcd.com/comics/listen_to_yourself.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Especially&lt;/span&gt; on &lt;a href="http://www.youtube.com"&gt;YouTube&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://imgs.xkcd.com/comics/youtube.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/6715008058697964148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=6715008058697964148' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/6715008058697964148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/6715008058697964148'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/on-comments-and-blogs.php' title='On comments and blogs'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-6609814529214303096</id><published>2008-10-17T09:51:00.002-04:00</published><updated>2008-10-17T14:55:23.906-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><title type='text'>In a time when I'm aggravated at Insight, Verizon cheers me so...</title><content type='html'>&lt;div dir="ltr"&gt;...of course, only in a schadenfreude kind of way.&lt;br /&gt;&lt;br /&gt;Part of my reluctance to change carriers for phone and internet service is the whole "devil you know" dilemma.  I've never really considered Verizon a viable option for my needs, and I know very few people in the area that are on Verizon.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.networkworld.com/community/node/33767"&gt;Verizon plays fast and loose with the wrong 1,200 e-mail addresses&lt;/a&gt; is an almost juvenile example of Verizon's customer service failings...  just a mere mass e-mail with a cc: version bcc: used for the mailing list, plus some exchange server glitches.  There's also the equally juvenile &lt;a href="http://www.networkworld.com/community/node/32639"&gt;Run-amok Verizon robo-caller torments 1,400 customers&lt;/a&gt; incident.&lt;br /&gt;&lt;br /&gt;When I think Verizon, I think of: &lt;a href="http://www.engadget.com/2005/04/17/verizon-ceo-thinks-its-unreasonable-to-expect-your-cellphone/2"&gt;Verizon CEO thinks it's unreasonable to expect your cellphone to work at home&lt;/a&gt; or &lt;a href="http://verizonmath.blogspot.com/2006/12/verizon-doesnt-know-dollars-from-cents.html"&gt;Verizon doesn't know dollars from cents&lt;/a&gt;...  Oh yeah, and &lt;a href="http://thedailywtf.com/Articles/792-Octiiiiiiilion-Dollars.aspx"&gt;792 Octillion Dollars&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/6609814529214303096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=6609814529214303096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/6609814529214303096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/6609814529214303096'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/in-time-when-im-aggravated-at-insight.php' title='In a time when I&apos;m aggravated at Insight, Verizon cheers me so...'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-8740428079366377468</id><published>2008-10-16T21:52:00.002-04:00</published><updated>2008-10-16T22:32:29.610-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><title type='text'>See?  I'm not insane...</title><content type='html'>Less than an hour later, no changes to my setup or running programs.&lt;br /&gt;&lt;br /&gt;Firefox 3&lt;br /&gt;&lt;a href="http://speedtest.dslreports.com"&gt;&lt;img border=0 src="http://www.dslreports.com/im/59364893/13109.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then things fall apart again:&lt;br /&gt;IE 7&lt;br /&gt;&lt;a href="http://speedtest.dslreports.com"&gt;&lt;img border=0 src="http://www.dslreports.com/im/59365198/6986.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;40 minutes later:&lt;br /&gt;&lt;a href="http://speedtest.dslreports.com"&gt;&lt;img border=0 src="http://www.dslreports.com/im/59366774/79394.png"&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/8740428079366377468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=8740428079366377468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8740428079366377468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/8740428079366377468'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/see-im-not-insane.php' title='See?  I&apos;m not insane...'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-7452028669278491047</id><published>2008-10-16T21:11:00.001-04:00</published><updated>2008-10-17T19:59:23.893-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><title type='text'>My current Insight cable speed tests.</title><content type='html'>(No, I'm not just trying to squeeze maximum throughput here--I just want basic pages to load properly--the slow speeds are yet another indicator that there is a problem.)&lt;br /&gt;&lt;br /&gt;Under IE 7:&lt;br /&gt;&lt;a href="http://speedtest.dslreports.com/"&gt;&lt;img src="http://www.dslreports.com/im/59362865/61739.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Under Firefox 3:&lt;br /&gt;&lt;a href="http://speedtest.dslreports.com/"&gt;&lt;img src="http://www.dslreports.com/im/59363017/63817.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These are actually excellent results for me right now...  I've been dropping to 88 Kps down/22 Kps up.  Aggravating thing is, at certain times of the day, I get over 3000 Kbs up and over 300 Kbs down (sometimes 7000 up, 700 down).  Supposedly, since my line is "good" (according to the tech at the call center) and behavior just as bad without router plugged in, it hasto be the modem.  I don't really have time to drive to Insight office to get replacement and then hook up.  Besides, I told the tech that connection has been inconsistent since the storm.  I guess it's cheaper for me to come have the modem replaced than to have someone check the line these days.&lt;br /&gt;&lt;br /&gt;At least when I used to have bad internet service before, I'd at least get decent/on-site service.  I guess I need to "power down/power up" 30 times, try turning the cable modem upside down, and letting the water run before getting a tech out here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Added:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://dotherightthing.com/entries/845-dear-insight-broadband-please-treat-your-customers-with-respect"&gt;&lt;span&gt;Dear Insight Broadband, Please Treat Your Customers with Respect&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://huh.youmightbe.com/2007/03/insight-wants-to-save-you-money.html"&gt;&lt;span&gt;Insight want to save? you money&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt;&lt;br /&gt;So far so good with the new modem:&lt;br /&gt;&lt;a href="http://speedtest.dslreports.com"&gt;&lt;img border=0 src="http://www.dslreports.com/im/59419326/43391.png"&gt;&lt;/a&gt;&lt;br /&gt;This should tide me over until my cell phone contract runs out, at least.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/7452028669278491047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=7452028669278491047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7452028669278491047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/7452028669278491047'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/my-current-insight-cable-speed-tests.php' title='My current Insight cable speed tests.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-1875169750851451232</id><published>2008-10-15T16:09:00.001-04:00</published><updated>2008-10-17T14:56:10.473-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='socialnetworking'/><title type='text'>Follow Cost on Twitter</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://developernotes.thomaspowell.com/uploaded_images/followcosts-793055-793185.png"&gt;&lt;img src="http://developernotes.thomaspowell.com/uploaded_images/followcosts-793055-793171.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr"&gt;&lt;a href="http://followcost.com/stringsn88keys"&gt;My follow cost for Twitter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/1875169750851451232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=1875169750851451232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/1875169750851451232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/1875169750851451232'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/follow-cost-on-twitter.php' title='Follow Cost on Twitter'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28160416.post-427289128288972281</id><published>2008-10-14T16:47:00.001-04:00</published><updated>2008-10-14T16:47:17.668-04:00</updated><title type='text'>All these silly little Top 10 lists.</title><content type='html'>&lt;div dir="ltr"&gt;Okay, so I just love punditry sometimes...&lt;br&gt;&lt;br&gt;&lt;a href="http://www.networkworld.com/community/node/33961"&gt;10 Things That Won&amp;#39;t Make Windows 7 A Success (and 1 That Will)&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; &lt;span&gt;&lt;strong&gt;8.&amp;nbsp;Death By A Thousand Versions Of The Same Product.&lt;/strong&gt; How many versions of Vista are there again? Okay, if you say so. We only need 3 versions of Windows 7:&amp;nbsp;a home version, a business version, and a mobile version. Three products, and three SKUs. That&amp;#39;s it. Give us any more and we&amp;#39;ll send you back into timeout, Microsoft.&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"&gt; &lt;span&gt;&lt;strong&gt;10. Annoying The User.&lt;/strong&gt; UAC was the direct approach. Ask the end user at every turn possible a question they don&amp;#39;t care about, don&amp;#39;t know the answer to, for something they are going to do any way. Or there&amp;#39;s the indirect approach, the sum of a lot annoying little problems: slower file copy, a slower computer using experience, a lack of drivers, stability issues, confusing product editions, etc. Either approach works great at annoying the end user. Doing both&amp;nbsp;guarantees it will happen.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Also, some really cool graphic design going on here on a couple of these slideshows:&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.networkworld.com/slideshows/2007/071207-top-25-iphonies-nano.html"&gt;Top 25 iPhonies: The Nano edition&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.networkworld.com/slideshows/2007/062907-top-25-iphonies.html"&gt;Top 25 iPhonies&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.networkworld.com/slideshows/2007/101007-google-gphonies.html?nwwpkg=slideshows"&gt;Top 12 Gooogle GPhonies&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;/div&gt; </content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/427289128288972281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28160416&amp;postID=427289128288972281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/427289128288972281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28160416/posts/default/427289128288972281'/><link rel='alternate' type='text/html' href='http://developernotes.thomaspowell.com/2008/10/all-these-silly-little-top-10-lists.php' title='All these silly little Top 10 lists.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/08347962976730903449</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>