<?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-36034388</id><updated>2011-11-27T17:03:29.649-08:00</updated><category term='mt.exe'/><category term='Windows XP'/><category term='VC8'/><category term='Wordpress'/><category term='DNS'/><category term='MX'/><category term='WinHelp'/><category term='Bear Lake'/><category term='quirks'/><category term='String'/><category term='Cisco'/><category term='Memory leak'/><category term='Snake River'/><category term='Windows'/><category term='WebKit'/><category term='VC++'/><category term='Apple'/><category term='Microsoft Visual Studio'/><category term='Standard Libraries'/><category term='HTML Help'/><category term='Ditka'/><category term='JQuery'/><category term='applications'/><category term='WTL'/><category term='Visual Studio 2008'/><category term='Flash'/><category term='RSS'/><category term='Taxonomy'/><category term='website design tools'/><category term='charter email'/><category term='programming language rankings'/><category term='Image Gallery'/><category term='Custom Search Results'/><category term='tips'/><category term='ORM'/><category term='Mac'/><category term='CreateProcess'/><category term='Marketing'/><category term='Work'/><category term='Chicago Bears'/><category term='Blogs'/><category term='Forms'/><category term='WebFaction'/><category term='Drupal 6'/><category term='time savers'/><category term='DNA Testing'/><category term='employee work'/><category term='IBM'/><category term='Fishing'/><category term='Windows Vista'/><category term='press release'/><category term='VeriSign'/><category term='DNA'/><category term='mysql'/><category term='last dollar'/><category term='authentication'/><category term='WIX'/><category term='Subversion'/><category term='PDF'/><category term='Javascript'/><category term='SP1'/><category term='C3202'/><category term='XML'/><category term='surname'/><category term='Trout'/><category term='Compiler support'/><category term='link baiting'/><category term='SqlCommand'/><category term='CRT'/><category term='genealogy'/><category term='Administrator Privleges'/><category term='Drupal'/><category term='DateTime'/><category term='Upgrade'/><category term='UAC'/><category term='Intermate'/><category term='WebDav'/><category term='Ricoh'/><category term='Service Pack 1'/><category term='HTML'/><category term='Certificate'/><category term='post mortem debugging'/><category term='LD_LIBRARY_PATH'/><category term='Boost'/><category term='Vista'/><category term='Microsoft'/><category term='Doctor'/><category term='Email'/><category term='#import'/><category term='SeBatchLogonRight'/><category term='Greek Alphabet'/><category term='CA'/><category term='Visual Studio 2005'/><category term='Vmware'/><category term='ActionScript'/><category term='AJAX'/><category term='Hmong'/><category term='Manifest Files'/><category term='Web Expressions'/><category term='Developer documentation'/><category term='CCK'/><category term='Tutorials'/><category term='Code Signing'/><category term='Frontpage'/><category term='Pronunciation'/><category term='Idaho SEO'/><category term='C++'/><category term='unlink'/><category term='dr. watson'/><category term='TurboGears'/><category term='Slideshow'/><category term='mob'/><category term='SQLAlchemy'/><category term='Doctors Excuse Forms'/><category term='python'/><category term='mako'/><category term='DACL'/><category term='Doctors Excuse'/><category term='Drag and Drop'/><category term='forwarded email'/><category term='Chart'/><category term='Webware'/><category term='Boss play'/><category term='Digg'/><category term='ADO.Net'/><category term='School'/><category term='compile errors'/><category term='linux'/><category term='daylight savings time'/><category term='crash'/><category term='Idaho Falls'/><category term='py2exe'/><category term='windows service'/><category term='C/C++'/><category term='Application Data'/><category term='Migration'/><category term='COM'/><category term='Search'/><category term='Dig'/><category term='IPDS'/><category term='wxPython'/><category term='Web Hosting'/><category term='Windows C++'/><category term='C#'/><category term='PHP'/><category term='CSS Opacity'/><category term='requestedExecutionLevel'/><category term='Joomla'/><category term='SEO'/><category term='TAB'/><category term='funeral poem'/><category term='cherrypy'/><category term='Maxam-Gilbert'/><category term='Egg Roll'/><category term='Recipe'/><category term='Ubuntu'/><category term='Web Accessibility'/><category term='VIM'/><category term='Tim Mcgraw'/><category term='Login'/><title type='text'>Software Development Notes</title><subtitle type='html'>Programming keepsakes and more♦</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default?start-index=101&amp;max-results=100'/><author><name>koobmeej</name><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>101</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36034388.post-4569397450130532260</id><published>2010-10-18T11:53:00.000-07:00</published><updated>2010-10-18T11:55:34.383-07:00</updated><title type='text'>Garage Cleanup Idea</title><content type='html'>Ran across this &lt;a href="http://www.monkeybarstorage.com"&gt;website&lt;/a&gt;.  I need to forward it along to my parents.  I don't think they've seen their garage floor in years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4569397450130532260?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4569397450130532260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4569397450130532260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4569397450130532260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4569397450130532260'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2010/10/garage-cleanup-idea.html' title='Garage Cleanup Idea'/><author><name>koobmeej</name><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-36034388.post-5463090143753837969</id><published>2010-03-18T12:30:00.000-07:00</published><updated>2010-03-18T12:46:32.802-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>LNK2019 - Undefined External Symbol</title><content type='html'>LNK2019 errors are fun to track down.  Nothing like "Undefined External Symbol" to strike fear in your mind. &lt;br /&gt;&lt;br /&gt;LNK2019 means that one of the functions or classes that you are using cannot be found.  Well duh, but why can't the linker find it?&lt;br /&gt;&lt;br /&gt;So you have 2 projects.   One is a static lib project, the other is using the static lib.  When linking to the static lib, it can't find one of the functions or classes that you are using in your non static lib project. &lt;br /&gt;&lt;br /&gt;First make sure that the project settings are looking in the right place for the static lib.  Then use dumpbin.exe to analyze the static lib and make sure the symbols are actually defined in the static lib.&lt;br /&gt;&lt;br /&gt;If you don't find the symbol your looking for in the output from dumpbin.exe, then take a look at your static lib.  What is most likely happening is some of your functions have prototypes, but the actual implementation is missing.  i.e. look for .cpp files that need to be added to the static lib, or actually code up the prototypes that are missing bodies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5463090143753837969?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5463090143753837969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5463090143753837969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5463090143753837969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5463090143753837969'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2010/03/lnk2019-undefined-external-symbol.html' title='LNK2019 - Undefined External Symbol'/><author><name>koobmeej</name><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-36034388.post-301063016338843279</id><published>2010-03-18T12:27:00.000-07:00</published><updated>2010-03-18T12:29:38.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><title type='text'>Turn Text in Drupal to HTML</title><content type='html'>So you have some text in drupal, and you want it to be formatted with HTML.  Use &lt;a href="http://api.drupal.org/api/function/check_markup"&gt;check_markup&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-301063016338843279?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/301063016338843279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=301063016338843279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/301063016338843279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/301063016338843279'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2010/03/turn-text-in-drupal-to-html.html' title='Turn Text in Drupal to HTML'/><author><name>koobmeej</name><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-36034388.post-5969947031087054613</id><published>2009-11-27T08:08:00.000-08:00</published><updated>2009-11-27T08:10:00.038-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Joomla'/><title type='text'>Joomla: Redirect to same page after login</title><content type='html'>Here's some code to redirect Joomla to the page you want, after forcing a user to login first.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;           $uri =&amp;amp; JFactory::getURI();&lt;br /&gt;           $redirect = '&amp;amp;return='.base64_encode($uri-&gt;toString());&lt;br /&gt;           $this-&gt;setRedirect(JRoute::_('/index.php?option=com_user&amp;amp;view=login'.$redirect),&lt;br /&gt; "Please login.");&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5969947031087054613?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5969947031087054613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5969947031087054613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5969947031087054613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5969947031087054613'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/11/joomla-redirect-to-same-page-after.html' title='Joomla: Redirect to same page after login'/><author><name>koobmeej</name><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-36034388.post-893882496748301881</id><published>2009-11-25T08:02:00.001-08:00</published><updated>2009-11-25T08:02:57.454-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TAB'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>A TAB is 4 Spaces</title><content type='html'>A TAB is 4 Spaces.  &lt;br /&gt;&lt;br /&gt;In .vimrc or _vimrc add these lines:&lt;br /&gt;&lt;br /&gt;set autoindent&lt;br /&gt;set smartindent&lt;br /&gt;set tabstop=4 shiftwidth=4&lt;br /&gt;set expandtab&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-893882496748301881?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/893882496748301881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=893882496748301881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/893882496748301881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/893882496748301881'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/11/tab-is-4-spaces.html' title='A TAB is 4 Spaces'/><author><name>koobmeej</name><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-36034388.post-4445247461853053756</id><published>2009-11-10T09:22:00.000-08:00</published><updated>2009-11-10T09:25:33.781-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Mac Quirks: Multiple From Emails with Apple Mail</title><content type='html'>Thanks to &lt;a href="http://www.michaelvoong.com/2008/01/19/multiple-from-address-in-apple-mail/"&gt;Michael Voong&lt;/a&gt; for this tip.  There is bare minimal documentation from Apple on how to add multiple email addresses to a single account in their email program.&lt;br /&gt;&lt;br /&gt;The solution, edit your email account settings  using a comma separated list for all the email addresses or email aliases you want to be able to use in Apple Mail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4445247461853053756?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4445247461853053756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4445247461853053756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4445247461853053756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4445247461853053756'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/11/mac-quirks-multiple-from-emails-with.html' title='Mac Quirks: Multiple From Emails with Apple Mail'/><author><name>koobmeej</name><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-36034388.post-6661763037525744410</id><published>2009-10-14T09:11:00.000-07:00</published><updated>2009-10-14T09:12:25.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>Recursively Remove .svn directories on Linux</title><content type='html'>To recursively remove .svn directories on Linux:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;rm -rf `find . -type d -name .svn`&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6661763037525744410?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6661763037525744410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6661763037525744410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6661763037525744410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6661763037525744410'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/10/recursively-remove-svn-directories-on.html' title='Recursively Remove .svn directories on Linux'/><author><name>koobmeej</name><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-36034388.post-3159377541005428079</id><published>2009-08-26T13:57:00.000-07:00</published><updated>2009-08-26T14:06:45.540-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='py2exe'/><category scheme='http://www.blogger.com/atom/ns#' term='VC++'/><title type='text'>Python 2.6, py2exe, and VC++ Runtime Issues</title><content type='html'>I got this annoying error the other day, while freezing a python 2.6 executable on Windows:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;py2exe msvcp90.dll no such file or directory&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Background:&lt;br /&gt;&lt;br /&gt;Python 2.6 uses Visual Studio 2008, and so it requires the Visual Studio 2008 C++ Runtime (vcredist).&lt;br /&gt;&lt;br /&gt;I saw a few posts on the web, &lt;a href="http://wiki.wxpython.org/py2exe"&gt;here &lt;/a&gt;and &lt;a href="http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=2314633&amp;amp;group_id=15583&amp;amp;atid=115583"&gt;here&lt;/a&gt;.  They get the solution partially right.&lt;br /&gt;&lt;br /&gt;The Correct way to fix &lt;span style="font-weight: bold;"&gt;py2exe msvcp90.dll no such file or directory&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;In your setup.py file first exclude the dll so you can build the exe.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;options = {&lt;br /&gt;  "py2exe": {&lt;br /&gt;      "compressed": 1,&lt;br /&gt;"optimize": 2,&lt;br /&gt;      "bundle_files": 2,&lt;br /&gt;      "dll_excludes": [&lt;br /&gt;    "MSVCP90.dll",   &lt;br /&gt;      ]&lt;br /&gt;  }}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then add this to your manifest file in between the &lt;assembly&gt; tags:&lt;br /&gt;&lt;br /&gt; &amp;lt;dependency&amp;gt;&lt;br /&gt; &amp;lt;dependentassembly&amp;gt;&lt;br /&gt;     &amp;lt;assemblyidentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorarchitecture="x86" publickeytoken="1fc8b3b9a1e18e3b"&gt;&amp;lt;/assemblyidentity&amp;gt;&lt;br /&gt;   &amp;lt;/dependentassembly&amp;gt;&lt;br /&gt; &amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;br /&gt;This allows you to use the vcredist to install the required vc++ dlls on the target system.&lt;/assembly&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-3159377541005428079?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/3159377541005428079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=3159377541005428079' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3159377541005428079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3159377541005428079'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/08/python-26-py2exe-and-vc-runtime-issues.html' title='Python 2.6, py2exe, and VC++ Runtime Issues'/><author><name>koobmeej</name><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-36034388.post-4547932759934884819</id><published>2009-08-24T15:36:00.000-07:00</published><updated>2009-08-24T15:40:58.735-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><category scheme='http://www.blogger.com/atom/ns#' term='py2exe'/><title type='text'>Annoing Windows XP issue : _except_handler4_common could not be located</title><content type='html'>&lt;div&gt;Thanks to &lt;a href="http://www.cantovirtual.com.br/dev-adventures/-except-handler4-common.html"&gt;Dev Adventures&lt;/a&gt; for this one.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had one of the most annoining Windows XP issue. It happened while building a py2exe project on Windows Vista, and installing it on Windows XP.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The issue, a most cryptic error message:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:'trebuchet ms';font-size:100%;color:#333333;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms'; color: rgb(51, 51, 51); font-size: 13px; "&gt;"The procedure entry point _except_handler4_common could not be located in the dynamic link library msvcrt.dll"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;The solution:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Remove the mswsock.dll from the distribution.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4547932759934884819?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4547932759934884819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4547932759934884819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4547932759934884819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4547932759934884819'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/08/annoing-windows-xp-issue.html' title='Annoing Windows XP issue : _except_handler4_common could not be located'/><author><name>koobmeej</name><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-36034388.post-9180063216124490070</id><published>2009-08-05T21:31:00.000-07:00</published><updated>2009-08-05T21:36:01.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='UAC'/><title type='text'>Visual Studio 2008 UAC Issue</title><content type='html'>Thanks &lt;a href="http://qualapps.blogspot.com/2007/10/visual-studio-2008-beta-2-test-results.html"&gt;Jim&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Visual Studio 2008 UAC Problem&lt;br /&gt;&lt;br /&gt;I had a Visual Studio 2005 project with a manifest that set requireAdministrator.  When ported to Visual Studoi 2008 I got this error: manifest authoring error c1010001: Values of attribute "level" not equal in different manifest snippets.&lt;br /&gt;&lt;br /&gt;Solution&lt;br /&gt;&lt;br /&gt;Remove the explicit manifest file and set the UAC. &lt;br /&gt;&lt;br /&gt;1. Remove the explicit manifest file "Configuration Properties &gt; Manifest Tool &gt; Input and Output" remove the "Additional Manifest Files" value&lt;br /&gt;&lt;br /&gt;2  Go to "Configuration Properties &gt; Linker &gt; Manifest File" and change the UAC Execution Level&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-9180063216124490070?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/9180063216124490070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=9180063216124490070' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/9180063216124490070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/9180063216124490070'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/08/visual-studio-2008-uac-issue.html' title='Visual Studio 2008 UAC Issue'/><author><name>koobmeej</name><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-36034388.post-7259981653026062132</id><published>2009-05-26T09:26:00.000-07:00</published><updated>2009-05-26T09:28:09.921-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>SVN Ignore</title><content type='html'>CVS allows you to place a .cvsignore file in your path to ignore files you don't want in CVS.  Subversion (SVN) has a similar feature, though a little bit different implementation.  To ignore a file in SVN:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;svn propedit svn:ignore ./some_path&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7259981653026062132?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7259981653026062132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7259981653026062132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7259981653026062132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7259981653026062132'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/05/svn-ignore.html' title='SVN Ignore'/><author><name>koobmeej</name><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-36034388.post-4751661354774422880</id><published>2009-04-30T20:02:00.000-07:00</published><updated>2009-04-30T20:04:19.213-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorials'/><title type='text'>Free Wordpress Tutorials</title><content type='html'>Some &lt;a href="http://www.bartonseo.com/wordpress-tutorials/" title="Free Wordpress Tutorials"&gt;Free Wordpress Tutorials&lt;/a&gt; covering the basics of:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Logging into Wordpress&lt;/li&gt;&lt;li&gt;Creating/Editing Posts in Wordpress&lt;/li&gt;&lt;li&gt;Creating/Editing Pages in Wordpress&lt;/li&gt;&lt;li&gt;Using the NGEN Gallery in Wordpress&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/36034388-4751661354774422880?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4751661354774422880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4751661354774422880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4751661354774422880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4751661354774422880'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/04/free-wordpress-tutorials.html' title='Free Wordpress Tutorials'/><author><name>koobmeej</name><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-36034388.post-5558899491107615202</id><published>2009-03-03T11:42:00.000-08:00</published><updated>2009-03-03T11:43:19.273-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Vmware'/><title type='text'>Ubuntu Mouse Scroll and Vmware</title><content type='html'>Edit the xorg.conf file to :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Configured Mouse"&lt;br /&gt;Driver "vmmouse"&lt;br /&gt;Option "CorePointer"&lt;br /&gt;Option "Device" "/dev/input/mice"&lt;br /&gt;Option "Protocol" "ImPS/2"&lt;br /&gt;Option "Buttons" "5"&lt;br /&gt;Option "ZAxisMapping" "4 5"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and the mouse scroll starts to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5558899491107615202?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5558899491107615202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5558899491107615202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5558899491107615202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5558899491107615202'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/03/ubuntu-mouse-scroll-and-vmware.html' title='Ubuntu Mouse Scroll and Vmware'/><author><name>koobmeej</name><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-36034388.post-2551155999917838928</id><published>2009-02-13T07:39:00.000-08:00</published><updated>2009-02-13T07:49:10.516-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flash Slideshow: ActionScript to Load an XML File</title><content type='html'>I've seen a few various ways to load an &lt;span style="font-weight: bold;"&gt;xml file with flash&lt;/span&gt;.  Each of them suffer from the same problem. They are hard coded for a specific file, and riddled with magic numbers to access xml node data.&lt;br /&gt;&lt;br /&gt;Here's some &lt;span style="font-weight: bold;"&gt;actionscript to load an XML in Flash&lt;/span&gt;.  Great for loading say a &lt;span style="font-weight: bold;"&gt;Flash Slideshow&lt;/span&gt; from XML.&lt;br /&gt;&lt;br /&gt;&lt;pre style=""&gt;&lt;br /&gt;var slideshow_images:Array;&lt;br /&gt;&lt;br /&gt;var data_xml:XML = new XML();&lt;br /&gt;data_xml.ignoreWhite = true;&lt;br /&gt;data_xml.onLoad = function(loaded) {&lt;br /&gt;if (loaded) {&lt;br /&gt; slideshow_images = load_images(data_xml);&lt;br /&gt;&lt;br /&gt; //TODO: do something with the images&lt;br /&gt;&lt;br /&gt; delete data_xml;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;data_xml.load("photos.xml");&lt;br /&gt;&lt;br /&gt;function load_images(images_xml) {&lt;br /&gt;var images:Array = new Array();&lt;br /&gt;var cur_image_xml = images_xml.firstChild.firstChild;&lt;br /&gt;while (cur_image_xml != null) {&lt;br /&gt; images.push(get_image_data(cur_image_xml));&lt;br /&gt; cur_image_xml = cur_image_xml.nextSibling;&lt;br /&gt;}&lt;br /&gt;return images;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function get_image_data(image_xml) {&lt;br /&gt;var image = new Object();&lt;br /&gt;var image_prop_iter = image_xml.firstChild;&lt;br /&gt;while (image_prop_iter != null) {&lt;br /&gt; //trace(image_prop_iter.firstChild.nodeValue);&lt;br /&gt; image[image_prop_iter.nodeName] = image_prop_iter.firstChild.nodeValue;&lt;br /&gt; image_prop_iter = image_prop_iter.nextSibling;&lt;br /&gt;}&lt;br /&gt;return image;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;images&gt;&lt;/images&gt;&lt;/span&gt;&lt;images&gt;&lt;src&gt;&lt;images&gt;&lt;br /&gt;&lt;/images&gt;&lt;/src&gt;&lt;br /&gt;&lt;br /&gt;&lt;/images&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2551155999917838928?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2551155999917838928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2551155999917838928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2551155999917838928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2551155999917838928'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/02/flash-slideshow-actionscript-to-load.html' title='Flash Slideshow: ActionScript to Load an XML File'/><author><name>koobmeej</name><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-36034388.post-4225620105258452266</id><published>2009-01-10T14:28:00.000-08:00</published><updated>2009-01-10T14:31:15.677-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS Opacity'/><title type='text'>Cross Browser CSS Opacity</title><content type='html'>&lt;p&gt;Here's a simple CSS Tip from &lt;a href="http://arbent.net/blog/css-tips-that-every-beginning-developer-should-know-about"&gt;arbnet.net&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If you want your transparency to translate to all browsers, then make sure to use all four of the elements shown below.&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;br /&gt;.class {&lt;br /&gt;opacity: 0.7;&lt;br /&gt;filter:alpha(opacity=70);&lt;br /&gt;-moz-opacity:0.7;&lt;br /&gt;-khtml-opacity:0.5;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;The first is CSS Standard and will work in all standards compliant browsers, the second is for Internet Explorer, the third for older Mozilla browsers and the last for older Safari browsers.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4225620105258452266?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4225620105258452266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4225620105258452266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4225620105258452266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4225620105258452266'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2009/01/cross-browser-css-opacity.html' title='Cross Browser CSS Opacity'/><author><name>koobmeej</name><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-36034388.post-4373580256417914933</id><published>2008-11-17T07:30:00.000-08:00</published><updated>2008-11-20T13:28:29.685-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Idaho SEO'/><title type='text'>Idaho SEO</title><content type='html'>It really bothers me when local businesses don't take the time to create  a website and optimize it for the search engines.  Nothing like searching for a local company and having a bunch of national directory websites show up in the search results instead.  Have businesses in Idaho ever heard of &lt;a title="Idaho SEO" href="http://www.bartonseo.com/seo/idaho-seo/"&gt;Idaho SEO&lt;/a&gt;?  With a few simple SEO tweaks to their websites they could boot the national sites from the list and make a lot of local customers happy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4373580256417914933?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4373580256417914933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4373580256417914933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4373580256417914933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4373580256417914933'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/11/idaho-seo.html' title='Idaho SEO'/><author><name>koobmeej</name><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-36034388.post-5609339642647405059</id><published>2008-11-11T12:58:00.000-08:00</published><updated>2008-11-11T13:05:32.019-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>See What Version of a Package Is Installed on Ubuntu</title><content type='html'>To see what version of a package is installed on Ubuntu, or a Debian version of linux:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;dpkg -s &lt;package_name&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5609339642647405059?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5609339642647405059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5609339642647405059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5609339642647405059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5609339642647405059'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/11/see-what-version-of-package-is.html' title='See What Version of a Package Is Installed on Ubuntu'/><author><name>koobmeej</name><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-36034388.post-5544771783852922204</id><published>2008-10-27T09:33:00.001-07:00</published><updated>2008-10-27T09:33:59.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Slideshow'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Image Gallery'/><title type='text'>jQuery Image Gallery, jQuery Slideshow</title><content type='html'>The Galleria module for jQuery makes a really great &lt;a href="http://www.monc.se/galleria/demo/demo_01.htm#img/grass-blades.jpg" title="jQuery Image Gallery"&gt;jQuery Image Gallery&lt;/a&gt;.  Added some tweaks to it, and now I've got a &lt;a href="http://assignment.stockshop.com" title="jQuery Image Gallery and Slideshow"&gt;jQuery Image Gallery and Slideshow&lt;/a&gt;.  With features such as pause on hover, and a contact sheet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5544771783852922204?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5544771783852922204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5544771783852922204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5544771783852922204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5544771783852922204'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/10/jquery-image-gallery-jquery-slideshow.html' title='jQuery Image Gallery, jQuery Slideshow'/><author><name>koobmeej</name><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-36034388.post-8443656772771443369</id><published>2008-10-10T12:21:00.000-07:00</published><updated>2008-10-10T12:27:20.306-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drupal 6'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Search Results'/><title type='text'>Theme Drupal Search Results</title><content type='html'>I had the most awful time trying to theme the drupal search results page and remove the silly "node type", "author", "date" and "extra" info from the search results.&lt;br /&gt;&lt;br /&gt;Initially I tried the easy route which was to copy modules/search/search-result.tpl.php into my theme and then in the themes template.php file remove the search-info div. Because that's the info I didn't want to show up.&lt;br /&gt;&lt;br /&gt;Didn't work.  Worked only for /search/node.  Failed when going to /search/node/some%20search%20term.&lt;br /&gt;&lt;br /&gt;Finally was able to get it working by implementing hook_prepocess_search_result, and making sure the $info array didn't have anything.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/**&lt;br /&gt; * Implement hook_preprocess_search_result()&lt;br /&gt; */&lt;br /&gt;function phptemplate_preprocess_search_result(&amp;$variables) {&lt;br /&gt;  $result = $variables['result'];&lt;br /&gt;  $variables['url'] = check_url($result['link']);&lt;br /&gt;  $variables['title'] = check_plain($result['title']);&lt;br /&gt;&lt;br /&gt;  $info = array();&lt;br /&gt;  /* HIDE THIS FROM END USER&lt;br /&gt;  if (!empty($result['type'])) {&lt;br /&gt;    $info['type'] = check_plain($result['type']);&lt;br /&gt;  }&lt;br /&gt;  if (!empty($result['user'])) {&lt;br /&gt;    $info['user'] = $result['user'];&lt;br /&gt;  }&lt;br /&gt;  if (!empty($result['date'])) {&lt;br /&gt;    $info['date'] = format_date($result['date'], 'small');&lt;br /&gt;  }&lt;br /&gt;  if (isset($result['extra']) &amp;&amp; is_array($result['extra'])) {&lt;br /&gt;    $info = array_merge($info, $result['extra']);&lt;br /&gt;  }&lt;br /&gt;  */&lt;br /&gt;  // Check for existence. User search does not include snippets.&lt;br /&gt;  $variables['snippet'] = isset($result['snippet']) ? $result['snippet'] : '';&lt;br /&gt;  // Provide separated and grouped meta information..&lt;br /&gt;  $variables['info_split'] = $info;&lt;br /&gt;  $variables['info'] = implode(' - ', $info);&lt;br /&gt;  // Provide alternate search result template.&lt;br /&gt;  $variables['template_files'][] = 'search-result-'. $variables['type'];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;With this gem in my hook_theme implementation&lt;br /&gt;&lt;br /&gt;    'search_result' =&gt; array(&lt;br /&gt;      'arguments' =&gt; array('result' =&gt; NULL, 'type' =&gt; NULL),&lt;br /&gt;      'template' =&gt; 'search-result',&lt;br /&gt;      'path' =&gt; drupal_get_path('module', 'search')&lt;br /&gt;    )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8443656772771443369?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8443656772771443369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8443656772771443369' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8443656772771443369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8443656772771443369'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/10/theme-drupal-search-results.html' title='Theme Drupal Search Results'/><author><name>koobmeej</name><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>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36034388.post-1635276648261621020</id><published>2008-10-06T13:07:00.000-07:00</published><updated>2008-10-06T13:10:05.594-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><title type='text'>Disable the Drupal User Contact Form</title><content type='html'>The best way I've found to disable the user "contact form", is to hook_menu_alter and remove the 'contact' fieldset from the user profile form itself.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function modulename_form_alter(&amp;$form, $form_state, $form_id) {&lt;br /&gt;  switch ($form_id) {&lt;br /&gt;    case 'user_profile_form':&lt;br /&gt;      unset($form['contact']);&lt;br /&gt;      break;&lt;br /&gt;...&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1635276648261621020?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1635276648261621020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1635276648261621020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1635276648261621020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1635276648261621020'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/10/disable-drupal-user-contact-form.html' title='Disable the Drupal User Contact Form'/><author><name>koobmeej</name><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-36034388.post-8667059788957142810</id><published>2008-09-25T20:40:00.000-07:00</published><updated>2008-09-25T20:44:50.939-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webware'/><category scheme='http://www.blogger.com/atom/ns#' term='WebKit'/><title type='text'>Webware for Python, and WebKit</title><content type='html'>So does anybody still use Webware for Python?  And how do the developers of Webware feel about WebKit?  Now there stuck with names for their products that companies with bigger pocket books have rebranded. &lt;br /&gt;&lt;br /&gt;Ask anyone about WebKit, they won't tell you its a python application server that runs on top of Webware.  No, they'll say, WebKit is an open source web browser engine with roots in KHTML, that Apple has invested heavily in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8667059788957142810?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8667059788957142810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8667059788957142810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8667059788957142810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8667059788957142810'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/09/webware-for-python-and-webkit.html' title='Webware for Python, and WebKit'/><author><name>koobmeej</name><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-36034388.post-2999644139076619700</id><published>2008-09-08T12:38:00.000-07:00</published><updated>2008-09-08T12:43:01.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Taxonomy'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='CCK'/><title type='text'>Drupal CCK Search</title><content type='html'>So you've added a custom content type, you've added CCK fields to it.  Now you want to create some pages, to provide search result lists for your custom content type.&lt;br /&gt;&lt;br /&gt;If your using Drupal 6, make sure the CCK Module, the Views Module, and the Advanced Help module are installed.&lt;br /&gt;&lt;br /&gt;Then within the drupal admin, go to "Views".  This is where you can create your custom search result pages.  The advanced help module, will help you make sense of things, and the "Views" module itself is great in that it tells you the exact SQL that will be used to generate your search results. You can use any thing related to your node to help filter your results; be it CCK, Taxonomy or many other options.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2999644139076619700?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2999644139076619700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2999644139076619700' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2999644139076619700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2999644139076619700'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/09/drupal-cck-search.html' title='Drupal CCK Search'/><author><name>koobmeej</name><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-36034388.post-8455651138241472824</id><published>2008-09-06T10:01:00.000-07:00</published><updated>2008-09-06T10:06:57.865-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><title type='text'>Drupal Gripes</title><content type='html'>Today's Drupal gripes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Everything in the database&lt;/li&gt;&lt;li&gt;Difficult to move between development and production servers&lt;/li&gt;&lt;li&gt;Version Control, difficult to have a running production server, add changes to a development server, and then merge the changes into a production environment&lt;br /&gt;&lt;/li&gt;&lt;li&gt;No Unit Testing&lt;/li&gt;&lt;/ul&gt;Why Java, .Net, Ruby, Django, Pylons, TurboGears, etc are better&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Unit Testing&lt;/li&gt;&lt;li&gt;Easy to move between development and production code&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/36034388-8455651138241472824?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8455651138241472824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8455651138241472824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8455651138241472824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8455651138241472824'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/09/drupal-gripes.html' title='Drupal Gripes'/><author><name>koobmeej</name><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-36034388.post-2041964221164015128</id><published>2008-09-05T08:32:00.000-07:00</published><updated>2008-09-05T08:39:28.790-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><title type='text'>Drupal Custom Menu</title><content type='html'>So, you've made a custom drupal menu, now you want to use it in your theme.  How do you use your custom drupal menu in a theme?  Here's how.&lt;br /&gt;&lt;br /&gt;First, Drupal adds "menu-" to your custom menu.  So if you named your menu "custom-menu", when referencing your custom menu you have to call it "menu-custom-menu".&lt;br /&gt;&lt;br /&gt;The drupal api call to make is "menu_navigation_links", and then pass the result to "theme" to render the list.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;print theme('links', menu_navigation_links('menu-custom-menu',0));&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Look how the code above is similar to what you're used to doing for the $primary_links, and $secondary_links that are built into drupal, as shown below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;print theme('links', $primary_links, array('class' =&gt; 'links primary-links'));&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2041964221164015128?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2041964221164015128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2041964221164015128' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2041964221164015128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2041964221164015128'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/09/drupal-custom-menu.html' title='Drupal Custom Menu'/><author><name>koobmeej</name><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-36034388.post-6969239790136174594</id><published>2008-09-05T08:28:00.000-07:00</published><updated>2008-09-05T08:32:02.795-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><title type='text'>Top Drupal Developer Links</title><content type='html'>Here's my Top Drupal Developer Links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://api.drupal.org/"&gt;Drupal API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://drupal.org/theme-guide"&gt;Drupal Theme Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://drupal.org/node/231276"&gt;Drupal Modules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://drupal.org/node/102338"&gt;Drupal Menus&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/36034388-6969239790136174594?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6969239790136174594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6969239790136174594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6969239790136174594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6969239790136174594'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/09/top-drupal-developer-links.html' title='Top Drupal Developer Links'/><author><name>koobmeej</name><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-36034388.post-7695854399396711656</id><published>2008-08-29T15:27:00.001-07:00</published><updated>2008-08-29T15:28:09.069-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Vim Tab Preferences</title><content type='html'>Vim Tab preferences for PHP and Python Development:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;set expandtab&lt;br /&gt;set tabstop=4&lt;br /&gt;set shiftwidth=4&lt;br /&gt;set autoindent&lt;br /&gt;set smartindent&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7695854399396711656?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7695854399396711656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7695854399396711656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7695854399396711656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7695854399396711656'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/08/vim-tab-preferences.html' title='Vim Tab Preferences'/><author><name>koobmeej</name><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-36034388.post-86718570034188507</id><published>2008-08-13T12:54:00.001-07:00</published><updated>2008-08-13T13:02:40.654-07:00</updated><title type='text'>Convert Degrees, Minutes, and Seconds to Decimal Degrees</title><content type='html'>Converting Latitude and Longitude values from Degrees, Minutes, Seconds to Decimal Degrees.&lt;br /&gt;&lt;br /&gt;Here is the Formula:&lt;br /&gt;&lt;br /&gt;      (DEG + (MIN * 1/60) + (SEC * 1/60 * 1/60))&lt;br /&gt;&lt;br /&gt;If it has an additional North, East, South or West, multiply by -1 for South and West.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-86718570034188507?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/86718570034188507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=86718570034188507' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/86718570034188507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/86718570034188507'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/08/convert-degrees-minutes-and-seconds-to.html' title='Convert Degrees, Minutes, and Seconds to Decimal Degrees'/><author><name>koobmeej</name><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-36034388.post-5928546934555516667</id><published>2008-07-18T09:46:00.000-07:00</published><updated>2008-07-18T09:48:20.138-07:00</updated><title type='text'>Article on Buying a Notebook</title><content type='html'>Some self promotion here.  Here's a link to &lt;a href="http://www.koobmeej.com/notebooks/buying-a-notebook-computer.html" title="Buying a Notebook Computer"&gt;Buying a Notebook Computer.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5928546934555516667?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5928546934555516667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5928546934555516667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5928546934555516667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5928546934555516667'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/07/article-on-buying-notebook.html' title='Article on Buying a Notebook'/><author><name>koobmeej</name><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-36034388.post-4503816839044445949</id><published>2008-07-10T15:38:00.001-07:00</published><updated>2008-07-10T15:43:53.348-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frontpage'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Expressions'/><title type='text'>2 Things to make Microsoft Web Expression Suck Less</title><content type='html'>Microsoft Web Expressions, the Microsoft replacement for the piece of crap software we call Microsoft Frontpage. Web Expressions doesn't suck as bad as Frontpage, but still has its quirks. These 2 tips make it suck less.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Turn off hidden meta data by going to "site" » "site settings" » "general" and unchecking "Manage the web site using hidden Metadata files"&lt;/li&gt;&lt;li&gt;Turn off stupid Byte Order Marker (BOM) "tools" » "page editor options" » "authoring" and unchecking "Add BOM when creating or renaming UTF-8 documents" towards the right of the screen.&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/36034388-4503816839044445949?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4503816839044445949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4503816839044445949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4503816839044445949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4503816839044445949'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/07/2-things-to-make-microsoft-web.html' title='2 Things to make Microsoft Web Expression Suck Less'/><author><name>koobmeej</name><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-36034388.post-2415306645553648117</id><published>2008-06-10T08:14:00.000-07:00</published><updated>2008-06-10T08:38:08.153-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Login'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>jQuery AJAX Login</title><content type='html'>Wanted to use jQuery to display a login form on a site, and use AJAX to do the login. Seemed easy enough. Prerequisites are jQuery, and jqModal.  Created an HTML page with a Login link, and a jqModal div that hides the username, password form.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;a class="display-form"&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="login" class="jqmDialog"&amp;gt;&lt;br /&gt;&amp;lt;div class="jqmdMSG"&amp;gt;&lt;br /&gt;   &amp;lt;form id="login-form"&amp;gt; here is the login form. &lt;br /&gt;hidden in a jqModal div. The css hides the div. &lt;br /&gt;The jQuery javascript handles the show/hide of the&lt;br /&gt;login form.&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script src="text/javascript" &amp;gt;&lt;br /&gt;$().ready( function() {&lt;br /&gt;        // setup the login form to display,&lt;br /&gt;        // hide itself appropriately.&lt;br /&gt;        var t = $('#login div.jqmdMSG');&lt;br /&gt;        $('#login').jqm({&lt;br /&gt;            // a link of class display-form is clicked,&lt;br /&gt;            //  the login dialog will be displayed&lt;br /&gt;            trigger:'a.display-form',  &lt;br /&gt;            target: t,&lt;br /&gt;            overlay: 30,&lt;br /&gt;            onHide: function(h) {&lt;br /&gt;                h.o.remove();  // remove the overlay&lt;br /&gt;                h.w.fadeOut(888);  // fade out the dialog&lt;br /&gt;            }&lt;br /&gt;        });  &lt;br /&gt;     &lt;br /&gt;        // setup the login form to work via ajax&lt;br /&gt;        $('#login-form').ajaxForm({ &lt;br /&gt;               url: 'url to post form to', &lt;br /&gt;               beforeSubmit: function(formData, jqForm, options) {             &lt;br /&gt;                   // code executed before form &lt;br /&gt;                   // is submited could possibly&lt;br /&gt;                   // display a "Please wait ..."&lt;br /&gt;                   // and hide the login button on the form&lt;br /&gt;                   return true;&lt;br /&gt;        },&lt;br /&gt;        success: function(responseText, statusText) {       &lt;br /&gt;                   // code executed if logged in success                     &lt;br /&gt;               },&lt;br /&gt;               error: function(responseText, statusText) { &lt;br /&gt;                   // code executed if things failed&lt;br /&gt;               }&lt;br /&gt;        });&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2415306645553648117?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2415306645553648117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2415306645553648117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2415306645553648117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2415306645553648117'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/06/jquery-ajax-login.html' title='jQuery AJAX Login'/><author><name>koobmeej</name><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-36034388.post-6184813489706414390</id><published>2008-06-02T10:28:00.000-07:00</published><updated>2008-06-02T10:42:58.860-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='WebFaction'/><title type='text'>WebFaction Web Hosting that Doesn't Suck</title><content type='html'>Have to say I have been quite pleased with my web hosting through &lt;a title="WebFaction Web Hosting" href="http://www.webfaction.com/?affiliate=barsult"&gt;WebFaction&lt;/a&gt;.  When looking for a Web Hosting Provider such as &lt;a title="WebFaction Web Hosting" href="http://www.webfaction.com/?affiliate=barsult"&gt;WebFaction&lt;/a&gt;, these things are most important to me:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Uptime, the server needs to be up all the time&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fast, even under heaving loads the server needs to respond quickly to user requests&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Support, when I contact them at anytime day or night, I expect a response within a few hours&lt;/li&gt;&lt;li&gt;Ease of Use, configuring websites should be easy&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I've found that &lt;a title="WebFaction Web Hosting" href="http://www.webfaction.com/?affiliate=barsult"&gt;WebFaction&lt;/a&gt; meets my web hosting requirements.&lt;br /&gt;&lt;br /&gt;I've gone with other hosting providers and have never been that impressed.  Other web hosting providers tend to never have competent staff on duty. Don't care about uptime.  Give an ancient software interface to configure things.   And whats really annoying is when there web hosting is down, they could care less about getting things back up again fast. Drives me crazy, if my site isn't up, there is no money being made.  If there is no money being made, then I don't have money for food.  If I don't have money for food ...  well lets just say I can be a little cranky.&lt;br /&gt;&lt;br /&gt;So my hats off to &lt;a title="WebFaction Web Hosting" href="http://www.webfaction.com/?affiliate=barsult"&gt;WebFaction&lt;/a&gt;.  They deliver good service, for a decent price, with good support.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6184813489706414390?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6184813489706414390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6184813489706414390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6184813489706414390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6184813489706414390'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/06/webfaction-web-hosting-that-doesnt-suck.html' title='WebFaction Web Hosting that Doesn&apos;t Suck'/><author><name>koobmeej</name><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-36034388.post-2001069241855006462</id><published>2008-05-15T07:53:00.000-07:00</published><updated>2008-05-15T08:10:26.652-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><title type='text'>JQuery AJAX Tabs</title><content type='html'>Really impressed with &lt;a href="http://docs.jquery.com/UI/Tabs"&gt;JQuery tabs&lt;/a&gt;.  JQuery's documentation isn't half that bad.  The &lt;a href="http://stilbuero.de/jquery/tabs_3/"&gt;Tab Examples&lt;/a&gt; were helpful. This website had a little bit more in depth example of how to use &lt;a href="http://kuujinbo.info/ajax/jq_tabs.aspx"&gt;JQuery AJAX tabs.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2001069241855006462?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2001069241855006462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2001069241855006462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2001069241855006462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2001069241855006462'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/05/jquery-ajax-tabs.html' title='JQuery AJAX Tabs'/><author><name>koobmeej</name><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-36034388.post-4665939753969703001</id><published>2008-04-21T09:44:00.000-07:00</published><updated>2008-04-21T09:53:19.616-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VeriSign'/><category scheme='http://www.blogger.com/atom/ns#' term='CA'/><category scheme='http://www.blogger.com/atom/ns#' term='Certificate'/><title type='text'>OpenSSL Certificate Authority (CA)</title><content type='html'># To Create the CA Private/Public Keys&lt;br /&gt;openssl req -x509 -newkey rsa:1024 -keyout CA/private/cakey.pem -out&lt;br /&gt; CA/cacert.pem -passout pass:capass -config openssl.cnf&lt;br /&gt;&lt;br /&gt;# To sign a Certificate Signing Request&lt;br /&gt;openssl ca -in user.csr -out user.crt -notext -passin pass:capass -config openssl.cnf&lt;br /&gt;&lt;br /&gt;Generating a CRL&lt;br /&gt;&lt;br /&gt;An empty CRL that is signed by the CA can be generated with the command&lt;br /&gt;&lt;br /&gt;    openssl ca -gencrl -crldays 15 -out crl.pem&lt;br /&gt;&lt;br /&gt;If you omit the -crldays option then the default_crl_days value (30 days) specified in openssl.cnf is used.&lt;br /&gt;&lt;br /&gt;If you prefer the CRL to be in binary DER format, then this conversion can be achieved with&lt;br /&gt;&lt;br /&gt;    openssl crl -in crl.pem -outform DER -out cert.crl&lt;br /&gt;&lt;br /&gt;The directory /etc/ipsec.d/crls/ contains all CRLs either in binary DER or in base64 PEM format. Irrespective of the file suffix, pluto "automagically" determines the correct format.&lt;br /&gt;&lt;br /&gt;Revoking a certificate&lt;br /&gt;&lt;br /&gt;A specific host certificate stored in the file host.pem is revoked with the command&lt;br /&gt;&lt;br /&gt;    openssl ca -revoke host.pem&lt;br /&gt;&lt;br /&gt;Next the CRL file must be updated&lt;br /&gt;&lt;br /&gt;    openssl ca -gencrl -crldays 15 -out crl.pem&lt;br /&gt;&lt;br /&gt;The content of the CRL file can be listed with the command&lt;br /&gt;&lt;br /&gt;    openssl crl -in crl.pem -noout -text&lt;br /&gt;&lt;br /&gt;in the case of a base64 CRL, or alternatively for a CRL in DER format&lt;br /&gt;&lt;br /&gt;    openssl crl -inform DER -in cert.crl -noout -text&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How do I generate a certificate request for VeriSign?&lt;br /&gt;&lt;br /&gt;Applying for a certificate signed by a recognized certificate authority like VeriSign is a complex bureaucratic process. You’ve got to perform all the requisite paperwork before creating a certificate request.&lt;br /&gt;&lt;br /&gt;As in the recipe for creating a self-signed certificate, you’ll have to decide whether or not you want a passphrase on your private key. The recipe below assumes you don’t. You’ll end up with two files: a new private key called mykey.pem and a certificate request called myreq.pem.&lt;br /&gt;&lt;br /&gt;openssl req \&lt;br /&gt;  -new -newkey rsa:1024 -nodes \&lt;br /&gt;  -keyout mykey.pem -out myreq.pem&lt;br /&gt;&lt;br /&gt;If you’ve already got a key and would like to use it for generating the request, the syntax is a bit simpler.&lt;br /&gt;&lt;br /&gt;openssl req -new -key mykey.pem -out myreq.pem&lt;br /&gt;&lt;br /&gt;Similarly, you can also provide subject information on the command line.&lt;br /&gt;&lt;br /&gt;openssl req \&lt;br /&gt;  -new -newkey rsa:1024 -nodes \&lt;br /&gt;  -subj '/CN=www.some-domain-name.com/O=My Dom, Inc./C=US/ST=New York/L=Portland' \&lt;br /&gt;  -keyout mykey.pem -out myreq.pem&lt;br /&gt;&lt;br /&gt;When dealing with an institution like VeriSign, you need to take special care to make sure that the information you provide during the creation of the certificate request is exactly correct. I know from personal experience that even a difference as trivial as substituting “and” for “&amp;” in the Organization Name will stall the process.&lt;br /&gt;&lt;br /&gt;If you’d like, you can double check the signature and information provided in the certificate request.&lt;br /&gt;&lt;br /&gt;# verify signature&lt;br /&gt;openssl req -in myreq.pem -noout -verify -key mykey.pem&lt;br /&gt;&lt;br /&gt;# check info&lt;br /&gt;openssl req -in myreq.pem -noout -text&lt;br /&gt;&lt;br /&gt;Save the key file in a secure location. You’ll need it in order to use the certificate VeriSign sends you. The certificate request will typically be pasted into VeriSign’s online application form.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4665939753969703001?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4665939753969703001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4665939753969703001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4665939753969703001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4665939753969703001'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/04/openssl-certificate-authority-ca.html' title='OpenSSL Certificate Authority (CA)'/><author><name>koobmeej</name><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-36034388.post-2895043485749102798</id><published>2008-03-06T07:53:00.000-08:00</published><updated>2008-03-06T08:36:54.041-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cherrypy'/><category scheme='http://www.blogger.com/atom/ns#' term='mako'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='windows service'/><category scheme='http://www.blogger.com/atom/ns#' term='py2exe'/><title type='text'>CherryPy, Mako, and Py2exe</title><content type='html'>So I wanted to make a windows service out of CherryPy.  CherryPy as the webserver, Mako as my template engine, and Py2exe to turn it into a windows service.&lt;br /&gt;&lt;br /&gt;Easy enough I thought, great reference about &lt;a href="http://tools.cherrypy.org/wiki/WindowsService"&gt;CherryPy and Windows Services&lt;/a&gt; on CherryPy's website.  Unfortunately their tutorial didn't work with CherryPy 3.0. Instead I got a "&lt;span style="font-style: italic;"&gt;cherrypy No HTTP servers have been created&lt;/span&gt;" error.   Easy enough to fix though change the cherrypy.server.&lt;span style="font-weight: bold;"&gt;start&lt;/span&gt;() to be cherrypy.server.&lt;span style="font-weight: bold;"&gt;quickstart&lt;/span&gt;().&lt;br /&gt;&lt;br /&gt;My next hurdle was wanting the config to be within the code and not in an external file.  From Cherry py's example on windows services, cherrypy.tree&lt;span style="font-weight: bold;"&gt;.mount(HelloWorld(), '/')&lt;/span&gt;.  There is an optional third parameter, the config object.  cherrypy.tree.mount(HelloWorld(), '/', &lt;span style="font-weight: bold;"&gt;config&lt;/span&gt; ).&lt;br /&gt;&lt;br /&gt;My config looks like this:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;config = {&lt;br /&gt;'/': {&lt;br /&gt;  'tools.staticdir.root': path,&lt;br /&gt;},&lt;br /&gt;'/static': {&lt;br /&gt;  'tools.staticdir.on': True,&lt;br /&gt;  'tools.staticdir.dir': "static",&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;Finally a working windows service.  Then off to integrating Mako.  That was the easy part.&lt;br /&gt;&lt;br /&gt;In my controllers code:&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;from mako.template import Template&lt;br /&gt;from mako.lookup import TemplateLookup&lt;br /&gt;&lt;br /&gt;DEBUG_MODE=False&lt;br /&gt;lookup = TemplateLookup( directories=['template'], module_directory="cache",&lt;br /&gt;                   output_encoding="utf-8", encoding_errors="replace",&lt;br /&gt;                   filesystem_checks=DEBUG_MODE)&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;class HelloWorld(object):&lt;br /&gt;def index(self):&lt;br /&gt;  # index.html is in the template dir&lt;br /&gt;  tmp = lookup.get_template("index.html")&lt;br /&gt;  # title used as ${title} in index.html template file&lt;br /&gt;  return tmp.render(**dict(title="Welcome"))&lt;br /&gt;index.exposed = True&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;The last hurdle was Py2Exe. Did I mention I was using simplejson and YUI? Simplejson's egg needed to be unzipped.   Simplejson made it easy to send python data to YUI as something YUI could understand; json.&lt;br /&gt;&lt;br /&gt;mako.cache and simplejson needed to be included in my packages list, so my py2exe options looked like this:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;OPTIONS = {&lt;br /&gt;"py2exe": {&lt;br /&gt;   "compressed": 1,&lt;br /&gt;   "optimize": 2,&lt;br /&gt;    "bundle_files": 2,&lt;br /&gt;    "packages": [&lt;br /&gt;         "elementtree",&lt;br /&gt;         "simplejson",         &lt;br /&gt;         "mako.cache"&lt;br /&gt;    ],&lt;br /&gt;    "excludes": [&lt;br /&gt;         "Tkinter"&lt;br /&gt;    ]&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;My mako template directory needed to be copied to the py2exe dist directory:&lt;br /&gt;&lt;blockqoute&gt;&lt;/blockqoute&gt;&lt;pre&gt;&lt;br /&gt;DATA_FILES = [&lt;br /&gt;("template", glob.glob("template/*.html"))&lt;br /&gt;]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;End result is a Windows HTTP Service that works quite nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2895043485749102798?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2895043485749102798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2895043485749102798' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2895043485749102798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2895043485749102798'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/03/cherrypy-mako-and-py2exe.html' title='CherryPy, Mako, and Py2exe'/><author><name>koobmeej</name><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-36034388.post-5167251559054222971</id><published>2008-02-15T14:45:00.000-08:00</published><updated>2008-02-15T14:49:14.990-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WIX'/><title type='text'>MSI Testing</title><content type='html'>To install with debugging:&lt;br /&gt;&lt;br /&gt;msiexec /i your.msi /l* debug.log&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;msiexec /i your.msi /l*v debug.log&lt;br /&gt;&lt;br /&gt;To uninstall an msi file without going to add remove programs:&lt;br /&gt;&lt;br /&gt;msiexec /x your.msi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5167251559054222971?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5167251559054222971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5167251559054222971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5167251559054222971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5167251559054222971'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/02/learning-wix.html' title='MSI Testing'/><author><name>koobmeej</name><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-36034388.post-8298478469522654059</id><published>2008-01-21T09:51:00.000-08:00</published><updated>2008-02-22T08:39:06.557-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming language rankings'/><title type='text'>Python Beats Ruby</title><content type='html'>Interesting news on the Python front, http://www.tiobe.com/tpci.htm&lt;br /&gt;&lt;br /&gt;Python beats Ruby.  Python holds its ground at #7 while Ruby drops ground from #10 to #11.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8298478469522654059?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8298478469522654059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8298478469522654059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8298478469522654059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8298478469522654059'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/01/python-beats-ruby.html' title='Python Beats Ruby'/><author><name>koobmeej</name><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-36034388.post-1255478828796357024</id><published>2008-01-09T10:10:00.000-08:00</published><updated>2008-01-11T15:58:55.839-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SeBatchLogonRight'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Programmatically give Logon as Batch Right</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;a href="http://support.microsoft.com/kb/279664"&gt;ntrights.exe&lt;/a&gt; is nice and all, but sometimes you want to do things on your own.  The code below will allow you to programmatically assign the Logon as Batch Right (SeBatchLogonRight) to a user.  This can be applied to any other rights assignment you want to give a user on Windows.  For instance: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;SeCreateTokenPrivilege, SeAssignPrimaryTokenPrivilege, SeLockMemoryPrivilege, SeIncreaseQuotaPrivilege, SeUnsolicitedInputPrivilege, SeMachineAccountPrivilege, TcbPrivilege, SeSecurityPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeSystemProfilePrivilege, SeSystemtimePrivilege, SeProfileSingleProcessPrivilege,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    SeIncreaseBasePriorityPrivilege, SeCreatePagefilePrivilege, SeCreatePermanentPrivilege,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeAuditPrivilege, SeSystemEnvironmentPrivilege,  SeChangeNotifyPrivilege, or SeRemoteShutdownPrivilege.  This technique, in python, can be carried over easy enough to C++ if desired.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-family:courier new;" &gt;&lt;/span&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;import &lt;/span&gt;win32security&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;user = &lt;span style="color: rgb(51, 204, 0);"&gt;"Administrator"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;system = &lt;span style="color: rgb(51, 204, 0);"&gt;"Some computer name"&lt;/span&gt; # or None for local&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;handle = win32security.LsaOpenPolicy(&lt;br /&gt;system,&lt;br /&gt;win32security.POLICY_ALL_ACCESS ) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sid, domain, tmp = win32security.LookupAccountName(system, user)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;if not&lt;/span&gt; &lt;span style="color: rgb(51, 204, 0);"&gt;'SeBatchLogonRight'&lt;/span&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;in&lt;/span&gt; \&lt;br /&gt;win32security.LsaEnumerateAccountRights(handle, sid):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    win32security.LsaAddAccountRights(&lt;br /&gt; handle,&lt;br /&gt; sid,&lt;br /&gt; ('SeBatchLogonRight',) )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;win32security.LsaClose(handle)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1255478828796357024?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1255478828796357024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1255478828796357024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1255478828796357024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1255478828796357024'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2008/01/programatically-give-logon-as-batch.html' title='Programmatically give Logon as Batch Right'/><author><name>koobmeej</name><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-36034388.post-5264318163725968827</id><published>2007-12-05T09:36:00.000-08:00</published><updated>2008-02-22T08:36:36.764-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wxPython'/><title type='text'>wxPython - Cleanup resources OnDestroy</title><content type='html'>Within your __init Method&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then add OnDestroy:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;  def OnDestroy(self, event):&lt;br /&gt;      ## clean up resources as needed here&lt;br /&gt;      event.Skip()&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5264318163725968827?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5264318163725968827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5264318163725968827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5264318163725968827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5264318163725968827'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/12/wxpython-cleanup-resources-ondestroy.html' title='wxPython - Cleanup resources OnDestroy'/><author><name>koobmeej</name><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-36034388.post-7175021693999916298</id><published>2007-11-21T10:05:00.000-08:00</published><updated>2007-11-21T10:12:06.343-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application Data'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Storing Windows Application Data Properly</title><content type='html'>Use &lt;a href="http://msdn2.microsoft.com/en-US/library/bb762181.aspx"&gt;SHGetFolderPath&lt;/a&gt; for backwards compatibility, &lt;a href="http://msdn2.microsoft.com/en-US/library/bb762188.aspx"&gt;SHGetKnownFolderPath&lt;/a&gt; for Windows Vista and beyond.&lt;br /&gt;&lt;br /&gt;Additional reference:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/310294"&gt;KB 310294&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7175021693999916298?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7175021693999916298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7175021693999916298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7175021693999916298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7175021693999916298'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/11/storing-windows-application-data.html' title='Storing Windows Application Data Properly'/><author><name>koobmeej</name><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-36034388.post-7881370414004248013</id><published>2007-11-01T08:32:00.000-07:00</published><updated>2007-11-01T08:33:31.400-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Drag and Drop'/><title type='text'>JavaScript Drag and Drop</title><content type='html'>Some references on JavaScript Drag and Drop:&lt;br /&gt;&lt;a href="http://www.webreference.com/programming/javascript/mk/column2/"&gt;&lt;br /&gt;http://www.webreference.com/programming/javascript/mk/column2/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.isocra.com/articles/table_dnd.php"&gt;http://www.isocra.com/articles/table_dnd.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7881370414004248013?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7881370414004248013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7881370414004248013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7881370414004248013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7881370414004248013'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/11/javascript-drag-and-drop.html' title='JavaScript Drag and Drop'/><author><name>koobmeej</name><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-36034388.post-7437701326505156146</id><published>2007-10-30T14:02:00.000-07:00</published><updated>2007-10-30T14:04:33.334-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Dig'/><category scheme='http://www.blogger.com/atom/ns#' term='MX'/><title type='text'>DIG MX Records</title><content type='html'>Query mx record using default DNS server for operating system:&lt;br /&gt;&lt;br /&gt;dig mx tech-recipes.com&lt;br /&gt;&lt;br /&gt;Specifying a DNS server to query:&lt;br /&gt;&lt;br /&gt;dig @dns1.not_a_real_name_server.com mx www.blogger.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7437701326505156146?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7437701326505156146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7437701326505156146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7437701326505156146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7437701326505156146'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/10/dig-mx-records.html' title='DIG MX Records'/><author><name>koobmeej</name><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-36034388.post-7506185165538105661</id><published>2007-10-05T15:06:00.000-07:00</published><updated>2008-02-22T08:34:53.670-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wxPython'/><title type='text'>wxPython - Multiple Panels Without Tab Control</title><content type='html'>Wanted to display multiple Panels, one at a single time the rest hidden. Without showing the tabs.  Found this gem on the wxPython news group from Robin Dunn:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;to have no tabs at all but still show a page window?  If so, then&lt;br /&gt;you can do that simply but not using the notebook at all when you don't&lt;br /&gt;want the tabs.  Just put all the page windows in a box sizer, each with&lt;br /&gt;proportion=1 and wx.EXPAND flag set, and Hide() all but the one you want&lt;br /&gt;to be visible.  If you need to change which is visible then Hide() the&lt;br /&gt;current one, Show() the other and call sizer.Layout().&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7506185165538105661?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7506185165538105661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7506185165538105661' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7506185165538105661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7506185165538105661'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/10/wxpython-multiple-panels-without-tab.html' title='wxPython - Multiple Panels Without Tab Control'/><author><name>koobmeej</name><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-36034388.post-1224867032107350221</id><published>2007-10-03T08:01:00.000-07:00</published><updated>2007-10-03T08:09:44.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlCommand'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ADO.Net'/><title type='text'>C# SqlCommand</title><content type='html'>Dynamic SQL queries in ADO.Net.  How to bind dynamic parameters to a query and avoid concatenating strings.  Avoiding problems with cross site scripting attacks.  Good link &lt;a href="http://www.gridviewguy.com/ArticleDetails.aspx?articleID=158"&gt;SqlCommand bind parameter info&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;SqlCommand cmd = new SqlCommand( @"SELECT something, anothervalue FROM sometable WHERE something &gt; @param1 AND anothervalue &gt; @param2" );&lt;br /&gt;&lt;br /&gt;cmd.Parameters.AddWithValue("@param1", "2007-10-02");&lt;br /&gt;cmd.Parameters.AddWithValue("@param2", 5678 );&lt;br /&gt;&lt;br /&gt;SqlDataReader reader = cmd.ExecuteReader();&lt;br /&gt;while ( reader.Read() ){&lt;br /&gt;   Console.WriteLine( reader["something"].ToString() );&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1224867032107350221?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1224867032107350221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1224867032107350221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1224867032107350221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1224867032107350221'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/10/c-sqlcommand.html' title='C# SqlCommand'/><author><name>koobmeej</name><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-36034388.post-1824185201821469583</id><published>2007-10-02T15:30:00.000-07:00</published><updated>2007-10-02T15:32:49.543-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DateTime'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='String'/><title type='text'>C# DateTime to String conversion</title><content type='html'>Found this helpful link on &lt;span style="text-decoration: underline;"&gt;C# DateTime to String Conversion&lt;/span&gt;&lt;a href="http://www.codeproject.com/useritems/String2DateTime.asp"&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1824185201821469583?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1824185201821469583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1824185201821469583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1824185201821469583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1824185201821469583'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/10/c-datetime-to-string-conversion.html' title='C# DateTime to String conversion'/><author><name>koobmeej</name><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-36034388.post-1528526632848854157</id><published>2007-10-02T06:35:00.000-07:00</published><updated>2007-10-02T06:37:11.766-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='WebDav'/><title type='text'>Issues with WebDav on Windows Vista</title><content type='html'>Had to install &lt;a href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=17c36612-632e-4c04-9382-987622ed1d64&amp;amp;displayLang=en"&gt;this patch&lt;/a&gt; for things to even work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1528526632848854157?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1528526632848854157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1528526632848854157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1528526632848854157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1528526632848854157'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/10/issues-with-webdav-on-windows-vista.html' title='Issues with WebDav on Windows Vista'/><author><name>koobmeej</name><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-36034388.post-7984567604257078187</id><published>2007-08-30T07:29:00.001-07:00</published><updated>2007-08-30T07:39:11.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='employee work'/><category scheme='http://www.blogger.com/atom/ns#' term='Boss play'/><title type='text'>Work vs Play, Boss Hoss Saves the Day</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_c5KM9jPLEbc/RtbUb9Slv7I/AAAAAAAAAD8/2EFP5Yzmb8o/s1600-h/workvsplay.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_c5KM9jPLEbc/RtbUb9Slv7I/AAAAAAAAAD8/2EFP5Yzmb8o/s400/workvsplay.png" alt="" id="BLOGGER_PHOTO_ID_5104500804445126578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ever feel this way?  Remember those old Dukes of Hazard movies, where  Boss Hoss sleeps all day? Boss Hoss has to be the worse boss of all time.  Got to love those Bosses that sit on their rumps, or play all day while their employees slave away.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7984567604257078187?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7984567604257078187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7984567604257078187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7984567604257078187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7984567604257078187'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/08/work-vs-play-boss-hoss-saves-day.html' title='Work vs Play, Boss Hoss Saves the Day'/><author><name>koobmeej</name><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://bp0.blogger.com/_c5KM9jPLEbc/RtbUb9Slv7I/AAAAAAAAAD8/2EFP5Yzmb8o/s72-c/workvsplay.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36034388.post-8509040372566881657</id><published>2007-06-26T10:30:00.000-07:00</published><updated>2007-06-26T10:36:33.946-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>2 Linux Tips</title><content type='html'>&lt;ol&gt;&lt;li&gt;Use ntpdate to synchronize linux server with a public ntp server&lt;br /&gt;  &lt;p&gt;Do it automatically within crontab:&lt;br /&gt;0 3,9,15,21 * * * /usr/sbin/ntpdate -u time.nist.gov | logger -t NTP&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Change the default editor in Ubuntu to VIM&lt;p&gt;sudo update-alternatives --config editor&lt;br /&gt;Select VIM and say farewell to Nano.&lt;br /&gt;&lt;/p&gt;&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/36034388-8509040372566881657?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8509040372566881657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8509040372566881657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8509040372566881657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8509040372566881657'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/06/2-linux-tips.html' title='2 Linux Tips'/><author><name>koobmeej</name><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-36034388.post-683808780981176756</id><published>2007-06-25T07:48:00.001-07:00</published><updated>2007-06-25T07:57:22.522-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chart'/><category scheme='http://www.blogger.com/atom/ns#' term='Greek Alphabet'/><category scheme='http://www.blogger.com/atom/ns#' term='Pronunciation'/><title type='text'>Greek Alphabet</title><content type='html'>Ah, the Greek Alphabet.  I just hate it when a book uses a symbol from the Greek alphabet, yet forgets to teach the reader how to pronounce the symbol.  So here it is the Greek alphabet and English equivalent pronunciation:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_c5KM9jPLEbc/Rn_VypjWIVI/AAAAAAAAAD0/JIXS30VWvjk/s1600-h/Grejpg.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_c5KM9jPLEbc/Rn_VypjWIVI/AAAAAAAAAD0/JIXS30VWvjk/s400/Grejpg.jpg" alt="" id="BLOGGER_PHOTO_ID_5080013970821488978" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;(One may argue that any book that uses the Greek Alphabet is absolutely boring and I would have to agree.)&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;alpha, beta, gamma, delta, epsilon, zeta, eta, theta, iota, kappa, lambda, mu, nu, xi, omicron, pi, rho, sigma, tau, upsilon, phi, chi, psi, and omega.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-683808780981176756?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/683808780981176756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=683808780981176756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/683808780981176756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/683808780981176756'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/06/greek-alphabet.html' title='Greek Alphabet'/><author><name>koobmeej</name><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://bp1.blogger.com/_c5KM9jPLEbc/Rn_VypjWIVI/AAAAAAAAAD0/JIXS30VWvjk/s72-c/Grejpg.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36034388.post-8802639045848574847</id><published>2007-05-09T09:22:00.000-07:00</published><updated>2007-05-09T09:28:06.679-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TurboGears'/><category scheme='http://www.blogger.com/atom/ns#' term='quirks'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>TurboGears, MySQL Quirk</title><content type='html'>From the &lt;a href="http://docs.turbogears.org/FAQ#q-031"&gt;TurboGears FAQ&lt;/a&gt;.  My comments injected in bold.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Why does my application work fine until it's idle for a while then the next request returns a "500 Internal Error" response?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Are you on mysql? If so, this is probably the mysql time out. Because cherrypy is a long running process it doesn't make a new connection on every page load. After a period of inactivity the mysql server will timeout the connection. This causes an error the next time the application attempts to use the connection. &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Why doesn't it attempt to reconnect before throwing an error?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;One solution some people use is to set up a cron job that every so often wgets a page from the application that will cause a database query. There is also apparently a mysql wait_timeout setting that can be adjusted to stop the connection from timing out.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I noticed this &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Quirk/Bug&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; on a TurboGears site I've been working on.  This is really annoying.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8802639045848574847?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8802639045848574847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8802639045848574847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8802639045848574847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8802639045848574847'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/05/turbogears-mysql-quirk.html' title='TurboGears, MySQL Quirk'/><author><name>koobmeej</name><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-36034388.post-2842346966110262391</id><published>2007-05-07T07:51:00.000-07:00</published><updated>2007-05-07T07:53:22.451-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Accessibility'/><title type='text'>Web Accessibility</title><content type='html'>The all to neglected topic of Web Accessibility.  Found this W3C reference on &lt;a href="http://www.w3.org/TR/WAI-WEBCONTENT/full-checklist.html"&gt;Web Accessibility&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2842346966110262391?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2842346966110262391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2842346966110262391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2842346966110262391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2842346966110262391'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/05/web-accessibility.html' title='Web Accessibility'/><author><name>koobmeej</name><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-36034388.post-6014965488881587689</id><published>2007-05-07T07:46:00.000-07:00</published><updated>2007-05-07T07:50:12.893-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLAlchemy'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><title type='text'>SQLAlchemy Supported Databases</title><content type='html'>Object relational mappers such as SQLAlchemy make database access so much easier.  SQLAlchemy is my personal favorite.  Below is a list of &lt;a href="http://www.sqlalchemy.org/docs/dbengine.html#dbengine_supported"&gt;SQLALchemy supported databases&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Supported Databases&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;      Postgres:  &lt;a href="http://www.initd.org/tracker/psycopg/wiki/PsycopgTwo"&gt;psycopg2&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;      SQLite:  &lt;a href="http://initd.org/tracker/pysqlite"&gt;pysqlite&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;      MySQL:   &lt;a href="http://sourceforge.net/projects/mysql-python"&gt;MySQLDB&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;      Oracle:  &lt;a href="http://www.cxtools.net/default.aspx?nav=home"&gt;cx_Oracle&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;      MS-SQL:  &lt;a href="http://pyodbc.sourceforge.net/"&gt;pyodbc&lt;/a&gt; (recommended) &lt;a href="http://adodbapi.sourceforge.net/"&gt;adodbapi&lt;/a&gt;  &lt;a href="http://pymssql.sourceforge.net/"&gt;pymssql&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;      Firebird:  &lt;a href="http://kinterbasdb.sourceforge.net/"&gt;kinterbasdb&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;      Informix:  &lt;a href="http://informixdb.sourceforge.net/"&gt;informixdb&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/36034388-6014965488881587689?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6014965488881587689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6014965488881587689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6014965488881587689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6014965488881587689'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/05/sqlalchemy-supported-databases.html' title='SQLAlchemy Supported Databases'/><author><name>koobmeej</name><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-36034388.post-1536382926355552867</id><published>2007-05-02T08:17:00.000-07:00</published><updated>2007-05-02T08:20:03.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mob'/><category scheme='http://www.blogger.com/atom/ns#' term='Digg'/><title type='text'>Digg Surrenders to Mob</title><content type='html'>Fun, fun, fun, &lt;a href="http://www.techcrunch.com/2007/05/01/digg-surrenders-to-mob/"&gt;Digg surrenders to mob&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1536382926355552867?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1536382926355552867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1536382926355552867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1536382926355552867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1536382926355552867'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/05/digg-surrenders-to-mob.html' title='Digg Surrenders to Mob'/><author><name>koobmeej</name><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-36034388.post-6807526640132152937</id><published>2007-04-18T13:31:00.000-07:00</published><updated>2007-04-18T13:40:02.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dr. watson'/><category scheme='http://www.blogger.com/atom/ns#' term='post mortem debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Paging Dr. Watson Postmortem Debugger</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_c5KM9jPLEbc/RiaAvInkccI/AAAAAAAAADc/4H41YZA9By4/s1600-h/drwatson.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp0.blogger.com/_c5KM9jPLEbc/RiaAvInkccI/AAAAAAAAADc/4H41YZA9By4/s400/drwatson.JPG" alt="" id="BLOGGER_PHOTO_ID_5054869179025617346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;To enable Dr. Watson: drwtsn32.exe -i&lt;br /&gt;&lt;br /&gt;To configure Dr. Watson to generate a mini dump file, launch drwtsn32.exe without any args.  Check mini under Crash Dump Type, and make sure it's set to Create Crash Dump File.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Dr._Watson_%28debugger%29"&gt;Wikipedia&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/308538"&gt;Microsoft&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Using Dr. Watson for postmortem debugging:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/debug/moomoo.asp"&gt;Code project&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/debug/postmortemdebug_standalone1.asp"&gt;Mini dumps&lt;/a&gt;&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/36034388-6807526640132152937?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6807526640132152937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6807526640132152937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6807526640132152937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6807526640132152937'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/04/paging-dr-watson-postmortem-debugger.html' title='Paging Dr. Watson Postmortem Debugger'/><author><name>koobmeej</name><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://bp0.blogger.com/_c5KM9jPLEbc/RiaAvInkccI/AAAAAAAAADc/4H41YZA9By4/s72-c/drwatson.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36034388.post-8432426522186065838</id><published>2007-04-17T15:53:00.000-07:00</published><updated>2007-04-17T16:05:16.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LD_LIBRARY_PATH'/><title type='text'>Alternative to LD_LIBRARY_PATH</title><content type='html'>Trying out &lt;a href="http://pymssql.sourceforge.net/example_pymssql.html"&gt;pymssql example&lt;/a&gt;.  After installing the prerequisite &lt;a href="http://www.freetds.org/"&gt;freetds&lt;/a&gt;. I got this fun error: 'libsybdb.so.5: cannot open shared object file'.  Which ment it didn't like where my libsydbd.so file was installed.  So I had to update the load library path.  Instead of something like this: export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH.  I edited '/etc/ld.so.conf' adding /usr/local/lib.  Then I ran ldconfig.  No more error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8432426522186065838?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8432426522186065838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8432426522186065838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8432426522186065838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8432426522186065838'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/04/alternative-to-ldlibrarypath.html' title='Alternative to LD_LIBRARY_PATH'/><author><name>koobmeej</name><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-36034388.post-2540036481791074386</id><published>2007-04-11T07:43:00.001-07:00</published><updated>2007-04-11T07:59:15.275-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Intermate'/><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='Ricoh'/><category scheme='http://www.blogger.com/atom/ns#' term='IPDS'/><title type='text'>Ricoh, IBM deal not all roses</title><content type='html'>Ricoh's purchase of IBM Printer Division what does that mean for IPDS printing?.  Ricoh keeps relationship with Intermate giving them time to integrate with IBM code at later date.  What they neglect to mention is that if you buy an InfoPrint now and want IPDS support you have to purchase an IPDS dimm.  You make ask, whose code is on that dimm?  From what I've seen, it is Intermate's (InfoPrint owners pop out your dimm and look for the word copyright Intermate hidden on the dimm).&lt;br /&gt;&lt;br /&gt;So all this talk about native IBM IPDS support seems a little silly.  Yes Ricoh will eventually gain control of the AFP/IPDS code that is used by PSF (kind of like the print spooler on windows, but specific to IBM's System i or zSeries services).  But that's not the code embedded on the printers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.itjungle.com/fhs/fhs041007-story02.html"&gt;read more&lt;/a&gt; | &lt;a href="http://digg.com/hardware/Ricoh_in_Deal_for_AFP_IPDS_Emulation"&gt;digg story&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's some links to other players in the IPDS market:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.excelliprint.com/"&gt;ExcelliPrint&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.solimarsystems.com/"&gt;iCONVERT&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.twindata.com/"&gt;Twin data&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.barrsystems.com/"&gt;BARR Systems&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/36034388-2540036481791074386?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2540036481791074386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2540036481791074386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2540036481791074386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2540036481791074386'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/04/ricoh-ibm-deal-not-all-roses.html' title='Ricoh, IBM deal not all roses'/><author><name>koobmeej</name><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-36034388.post-6256341412776828137</id><published>2007-03-25T21:49:00.000-07:00</published><updated>2007-03-25T21:54:47.937-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='funeral poem'/><title type='text'>Poem to Read at a Funeral</title><content type='html'>Here is a nice poem to read at a funeral or for a funeral service.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Crossing the Bar&lt;/span&gt;&lt;br /&gt;by Alfred Lord Tennyson&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Sunset and evening star,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;And one clear call for me!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;And may there be no moaning of the bar,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;When I put out to sea.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;But such a tide as moving seems asleep,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Too full for sound and foam,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;When that which drew from out the boundless deep&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Turns again home.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Twilight and evening bell,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;And after that the dark!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;And may there be no sadness of farewell,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;When I embark;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For though from out our bourne of Time and Place&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The flood may bear me far,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I hope to see my Pilot face to face&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;When I have crossed the bar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6256341412776828137?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6256341412776828137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6256341412776828137' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6256341412776828137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6256341412776828137'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/03/poem-to-read-at-funeral.html' title='Poem to Read at a Funeral'/><author><name>koobmeej</name><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-36034388.post-7449351651022584992</id><published>2007-03-18T21:53:00.000-07:00</published><updated>2007-03-18T22:00:38.751-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='charter email'/><category scheme='http://www.blogger.com/atom/ns#' term='forwarded email'/><title type='text'>How to Check My Charter Email</title><content type='html'>Wordtracker is your friend.  How else would you find out about "How to Check My Charter Email".  Started a new blog about email.  This one is about forwarded email.  The obnoxious kind that friends and relatives tend to send you.  Haven't been bold enough to reply with "REMOVE" in the subject line to any of them yet. So I waste my time documenting the emails at my &lt;a href="http://igotforwardedemail.blogspot.com/"&gt;forwarded email website&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7449351651022584992?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7449351651022584992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7449351651022584992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7449351651022584992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7449351651022584992'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/03/how-to-check-my-charter-email.html' title='How to Check My Charter Email'/><author><name>koobmeej</name><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-36034388.post-2941571422512920446</id><published>2007-03-18T12:09:00.000-07:00</published><updated>2007-03-18T12:24:07.809-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><title type='text'>new info on windows vista</title><content type='html'>Bought a new HP desktop over the weekend.  The HP Pavilion Slimline.  It came with Windows Vista Home Basic Edition preinstalled.  Nothing fancy.  It came with an AMD Sempron processor, 512 MB ram, 200 GB Hardrive, Modem, Ethernet, and Wi-Fi.  I was one over by how tiny the box was.  Now this is  probably not new info for anyone, but Windows Vista sucks.  It took forever, and I mean forever to do anything on my new computer.  Now I know I don't have much ram, the processor isn't the greatest.  But hey, it should at least be faster than my Pentium II I got hiding in the closet.&lt;br /&gt;&lt;br /&gt;So my solution, install FC6. Would have went with Ubuntu, but figured if I was getting rid of Vista why not try some of the other linux distros before committing to just one.&lt;br /&gt;&lt;br /&gt;My first impressions, it didn't auto detected my lcd monitor correctly, I had to do a ctrl-alt-backspace to kill xwindows and use system-config-monitor to get things right.  Which is obviously not optimal.  But speed wise, man FC6 is beating the pants off of Vista.  I can actually use my computer for something.  Granted, when you first get a new computer, especially from one of the bigger chains its full of crappy software that bogs it down and hinders performance from the get go.  But hey, right out of the box when you get a new computer it should be fast, not slow and Vista, like it or not, is definitely SLOW.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2941571422512920446?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2941571422512920446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2941571422512920446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2941571422512920446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2941571422512920446'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/03/new-info-on-windows-vista.html' title='new info on windows vista'/><author><name>koobmeej</name><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-36034388.post-8325101347820971755</id><published>2007-03-18T11:42:00.000-07:00</published><updated>2007-03-18T11:46:06.142-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='last dollar'/><category scheme='http://www.blogger.com/atom/ns#' term='Tim Mcgraw'/><title type='text'>tim mcgraw last dollar</title><content type='html'>a little bored, so here's some music.  Tim Mcgraw's &lt;span style="font-style: italic;"&gt;Last Dollar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed width="448" height="365" src="http://www.ifilm.com/efp" quality="high" bgcolor="000000" name="efp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="flvbaseclip=2829646"&gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8325101347820971755?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8325101347820971755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8325101347820971755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8325101347820971755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8325101347820971755'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/03/tim-mcgraw-last-dollar.html' title='tim mcgraw last dollar'/><author><name>koobmeej</name><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-36034388.post-7351111442790218900</id><published>2007-03-12T09:21:00.000-07:00</published><updated>2007-03-12T09:22:30.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><category scheme='http://www.blogger.com/atom/ns#' term='press release'/><title type='text'>Success Strategies for Optimizing Online Press Release Campaigns</title><content type='html'>By Craig Cannings&lt;br /&gt;&lt;br /&gt;I was recently having breakfast with a good friend of mine who is in management with a large Brick and Mortar Company and the topic of Press Releases came up in our conversation. My friend questioned the real value of this medium and pointed out that Press Releases, while certainly apart of his company's communication strategy seemed to have little impact or value on their business as a whole and were rarely picked up by major news publications. Well, in my last online press release campaign, I can honestly say we did not receive an enthusiastic call from the Business editor of USA Today or the New York Times or even the Grand Forks Herald for that matter!&lt;br /&gt;However, this recent Press Release campaign did result in a top 5 listing for one of my keywords in Google, multiple top 20 listings, strong placement in Yahoo and Google News, many new quality in-bound links and a significant íncrease in our overall web visibility. The campaign proved to be a roaring success in driving quality traffíc and gaining great exposure for our site, even though we were largely ignored by all of the mainstream news publications. So, how did we do it?&lt;br /&gt;Before I outline the key steps we took in our own online PR endeavors, let's first review the key benefits of an optimized Press Release campaign:&lt;br /&gt; • High Quality One-Way Links to Your Website&lt;br /&gt;A well-constructed Press Release campaign can result in multiple in-bound links from various sources such as industry-related websites, news and media sites, many of which have a decent Google Page Rank. Given that our business was launching a new website, we literally went from zero exposure to hundreds of one-way links and listings within a couple days.&lt;br /&gt; • Top Listings in the News Search Engines&lt;br /&gt;An optimized press release may see top placement in many key news engines such as Google News, MSN News and Yahoo News potentially resulting in a steady stream of traffíc for up to a period of 30 days. To put it into perspective, Google and Yahoo News have the largest Internet News Audience in the world, even bígger than CNN or the BBC.&lt;br /&gt; • Improved Natural Search Results for Particular Keywords&lt;br /&gt;As mentioned earlier, a recent Press Release Campaign of ours resulted in a top 5 listing for one of our keywords in Google as well as multiple top 20 listings all in matter of a two week period.&lt;br /&gt; • Increased Web Visibility&lt;br /&gt;For new web companies, Press Releases can be a very effective and low cost means of increasing the sheer number of web listings and overall exposure.&lt;br /&gt; • Enhanced Brand Awareness&lt;br /&gt;Optimized Press Releases through useful media portals like Prweb.com and Pr.com can significantly íncrease the brand awareness and recognition for both new and existing web businesses.&lt;br /&gt; • Promotion in a Rapidly Growing Medium&lt;br /&gt;Statistics have revealed that more than 70% of Americans actually read their news online, so press releases are certainly a part of an increasingly popular news medium.&lt;br /&gt; • Low Cost Means for Increasing Exposure and Web Visibility&lt;br /&gt;As mentioned, there are a number of key PR distribution portals such as Prweb.com that provide a great vehicle for syndicating your releases to thousands of news outlets as well as optimizing it for the Search Engines. I would highly recommend spending at least a couple hundred dollars to take advantage of a few SEO tools offered there.&lt;br /&gt; • Quality Exposure to Industry Specific Editors&lt;br /&gt;I include this last benefit as an added bonus since your press release might be deemed very newsworthy and subsequently picked up by multiple editors and news channels. However, I must emphasize the number of editor calls or inquiries certainly should not be the primary measure of success for your Online Press Release campaigns.&lt;br /&gt;So, the big question here is how do you actually optimize the Press Release in order to achieve some of the results we experienced in previous campaigns. Let me roll back the curtain and show you the basic formula we employed.&lt;br /&gt;1. Targeted Keyword Research and Selection&lt;br /&gt;Before even commencing with drafting your online Press Release, it is imperative to conduct some thorough keyword research for your targeted audience and subject matter through such tools as wordtracker.com and keyworddiscovery.com. It is ideal to select targeted keywords that have the greatest degree of volume with the fewest competitors that will also make the most sense in the context of your Press Release. Again, it is important to marry relevant and newsworthy content with good SEO practices.&lt;br /&gt;I would recommend narrowing your keyword selection to approximately two to three words for your Press Release with a primary keyword and a couple secondary words. You will löse SEO potency by trying to incorporate too many keywords into one 500-800 word Press Release.&lt;br /&gt;2. Strategic Keyword Placement in the Press Release&lt;br /&gt;It is essential to include your main keyword(s) in the title of the Press Release as well as in the first or second paragraphs of the body. I would recommend optimizing the first 250 words of your press release and then include the keywords in strategic and relevant spots throughout the remainder of the body.&lt;br /&gt;It is also recommended to maintain a keyword density of approximately 3-5% for the main keyword and 1-2% for secondary keywords. (Keyword Density refers to the percentage of words on a web page that match a specified set of keywords) I must emphasize here though that while it is important to be aware of your keyword density, it should not come at the expense of relevant and high quality content. That will ultimately defeat the purpose and desired result of your PR campaign.&lt;br /&gt;3. The Effective Use of Anchor Text&lt;br /&gt;Creating Anchor Text (keyword-rich links) with your targeted keyword(s) will provide valuable optimization and relevant back-links to your respective landing page.&lt;br /&gt;4. Relevant and Optimized Website Content&lt;br /&gt;The use of targeted keywords in your Press Release will only have real value if you also include those same words with reasonable keyword density on your landing page. Make sure to include the keywords in the H1 Header Tag as well as strategically placed in the first 250 words or so of the landing page.&lt;br /&gt;5. Tagging Strategies&lt;br /&gt;Finally I have experienced great value in incorporating Technorati Keyword Tags as well as popular Social Bookmark tags such as Del.icio.us and Digg at the end of the Press Release. Those visitors that like the Press Release and choose to clíck on a technorati tag or a social bookmark tag provide high quality trackbacks or back links that will ultimately enhance your site's link popularity.&lt;br /&gt;In summary, I believe an optimized Press Release using some of the above strategies can be an excellent marketing channel with a good viral effect and great SEO potential long-term. I would highly recommend making the small ínvestment through popular PR distribution sites such as Prweb.com, Prleap.com and Pr.com in order to maximize the potential for yielding top keyword listings, high quality back links and great long-term exposure for your business.&lt;br /&gt;I should note that while the optimization of your Press Release is paramount, it is essential to provide a newsworthy and journalistic feel to the release as well. Great content combined with skillful optimization will yield the best results for your PR campaigns.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7351111442790218900?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7351111442790218900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7351111442790218900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7351111442790218900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7351111442790218900'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/03/success-strategies-for-optimizing.html' title='Success Strategies for Optimizing Online Press Release Campaigns'/><author><name>koobmeej</name><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-36034388.post-2537237674122425752</id><published>2007-03-07T12:02:00.000-08:00</published><updated>2007-04-12T20:00:50.148-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='daylight savings time'/><title type='text'>Linux Timezone Change</title><content type='html'>Pretty good instructions found here &lt;a href="http://www.linux-watch.com/news/NS6300294422.html"&gt;http://www.linux-watch.com/news/NS6300294422.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Noticed my timezone wasn't set so did a:&lt;br /&gt;&lt;br /&gt;ln -sf /usr/share/zoneinfo/America/MyTimeZone /etc/localtime&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2537237674122425752?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2537237674122425752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2537237674122425752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2537237674122425752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2537237674122425752'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/03/linux-timezone-change.html' title='Linux Timezone Change'/><author><name>koobmeej</name><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-36034388.post-5504577576421903107</id><published>2007-03-05T10:43:00.000-08:00</published><updated>2007-03-05T10:49:22.733-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quirks'/><category scheme='http://www.blogger.com/atom/ns#' term='VC++'/><title type='text'>Visual Studio Quirks</title><content type='html'>Today's Visual Studio Quirk.&lt;br /&gt;&lt;br /&gt;When using Visual Studio 2005 and numeric_limits (from #include &lt;limits&gt;) I get the following error.&lt;br /&gt;&lt;br /&gt;"not enough actual parameters for macro 'max'"&lt;br /&gt;&lt;br /&gt;To resolve this&lt;br /&gt;#define NOMINMAX in stdafx.h before #include &lt;windows.h&gt;&lt;br /&gt;&lt;br /&gt;Thank you Microsoft!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5504577576421903107?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5504577576421903107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5504577576421903107' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5504577576421903107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5504577576421903107'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/03/visual-studio-quirks.html' title='Visual Studio Quirks'/><author><name>koobmeej</name><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-36034388.post-5761582138304183061</id><published>2007-02-28T09:41:00.000-08:00</published><updated>2007-02-28T10:17:21.607-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unlink'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows C++'/><title type='text'>Why can't I unlink a read-only file on Windows?</title><content type='html'>Every now and then when programming on windows, you run into little quirks, that make you go huh? Then you file the quirk away in your mind and move on.&lt;br /&gt;&lt;br /&gt;Today's quirk, which I can't believe I didn't realize a long, long, long time ago.  unlink on Windows doesn't remove read-only files.&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://mail.python.org/pipermail/python-bugs-list/2005-November/031026.html"&gt;http://mail.python.org/pipermail/python-bugs-list/2005-November/031026.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Personal experience: char *file = "path to readonly file"; int res = unlink(file); assert(res==0);&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;And the Fix:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Obviously we can't modify unlink to behave like Linux.  So if unlink fails we need to remove the read-only attribute from the file to properly remove the file.  Here is how to remove the read-only attribute from file programmatically in C++ on Windows:&lt;br /&gt;&lt;br /&gt;::SetFileAttributes( "path to readonly file", FILE_ATTRIBUTE_NORMAL);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5761582138304183061?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5761582138304183061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5761582138304183061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5761582138304183061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5761582138304183061'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/why-cant-i-unlink-read-only-file-on.html' title='Why can&apos;t I unlink a read-only file on Windows?'/><author><name>koobmeej</name><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-36034388.post-84686261604126678</id><published>2007-02-24T15:26:00.000-08:00</published><updated>2007-02-24T15:30:32.731-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='authentication'/><title type='text'>Client does not support authentication ..</title><content type='html'>Having some fun with &lt;a href="http://www.turbogears.com/"&gt;TurboGears&lt;/a&gt;.  Trying out it's Python 2.3 support.  Got the following error, &lt;i&gt;Client does not support authentication protocol requested by server; consider upgrading MySQL client&lt;/i&gt;.  I should be using at least Python 2.4, but doing work on an older server that only has Python 2.3 support.  Not an optimal fix, but I found this one when searching on the topic.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.digitalpeer.com/id/mysql"&gt;Client does not support authentication&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Login to mysql as an administrator, then, paste the following command, editing as necessary, to change the password of the user to the old format.&lt;br /&gt;&lt;br /&gt;UPDATE mysql.user&lt;br /&gt;SET password=OLD_PASSWORD('somepassword')&lt;br /&gt;WHERE user='someuser'&lt;br /&gt;AND host='somehost';&lt;br /&gt;&lt;br /&gt;After you have set the passwords to the old format, flush the tables.&lt;br /&gt;&lt;br /&gt;flush privileges;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-84686261604126678?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/84686261604126678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=84686261604126678' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/84686261604126678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/84686261604126678'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/client-does-not-support-authentication.html' title='Client does not support authentication ..'/><author><name>koobmeej</name><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-36034388.post-4835226575205868505</id><published>2007-02-14T19:49:00.001-08:00</published><updated>2007-02-14T19:49:12.999-08:00</updated><title type='text'>685 of the best programming links</title><content type='html'>Some good programming links sorted by category and popularity.  Includes: .net,ajax, c, c#, c++, flash, java, javascript, perl, php, python, ruby,sql and xml.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;a href='http://thepeoplestoolbox.com/programmers/'&gt;read more&lt;/a&gt; | &lt;a href='http://digg.com/programming/685_of_the_best_programming_links'&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4835226575205868505?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4835226575205868505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4835226575205868505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4835226575205868505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4835226575205868505'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/685-of-best-programming-links.html' title='685 of the best programming links'/><author><name>koobmeej</name><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-36034388.post-8154010715863397286</id><published>2007-02-14T13:58:00.001-08:00</published><updated>2007-02-14T13:58:20.122-08:00</updated><title type='text'>The 10 Most Spectacularly Awful Gifts You Can Give Your Girlfriend</title><content type='html'>Here are 10 half-baked gifts you should never, under any circumstances, give your girlfriend on Valentine's Day.Though the Wind-Breaking Teddy Bear seems like it could be lots of fun.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;a href='http://www.foxnews.com/story/0,2933,251818,00.html'&gt;read more&lt;/a&gt; | &lt;a href='http://digg.com/offbeat_news/The_10_Most_Spectacularly_Awful_Gifts_You_Can_Give_Your_Girlfriend'&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8154010715863397286?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8154010715863397286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8154010715863397286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8154010715863397286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8154010715863397286'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/10-most-spectacularly-awful-gifts-you.html' title='The 10 Most Spectacularly Awful Gifts You Can Give Your Girlfriend'/><author><name>koobmeej</name><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-36034388.post-1149020835617309770</id><published>2007-02-13T08:23:00.001-08:00</published><updated>2007-02-24T15:39:35.735-08:00</updated><title type='text'>Some interesting Links</title><content type='html'>&lt;a href="http://www.azoogleads.com/corp/index.php"&gt;http://www.azoogleads.com/corp/index.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.digg.com/"&gt;http://www-128.ibm.com/developerworks/rss/rssfeeds.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.seomoz.org/"&gt;http://www.seomoz.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.mindvalleylabs.com/marketing/the-top-10-killer-blogs-and-resources-for-entrepreneurs/"&gt;http://blog.mindvalleylabs.com/marketing/the-top-10-killer-blogs-and-resources-for-entrepreneurs/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1149020835617309770?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1149020835617309770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1149020835617309770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1149020835617309770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1149020835617309770'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/some-interesting-links.html' title='Some interesting Links'/><author><name>koobmeej</name><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-36034388.post-1683517366917961047</id><published>2007-02-12T09:41:00.001-08:00</published><updated>2007-02-12T09:42:44.656-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='DACL'/><title type='text'>Creating a Discretionary Access Control List (DACL)</title><content type='html'>Needed to create a DACL for a Named Pipe today.  Here's what I ended up with.&lt;br /&gt;&lt;br /&gt;Microsoft Developer Documentation Links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa379560.aspx"&gt;SECURITY_ATTRIBUTES&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms717798.aspx"&gt;Creating a DACL&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa379567.aspx"&gt;SDDL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some code below, (note LocalFree needs to be used on the SECURITY_ATTRIBUTES lpSecurityDescriptor member.&lt;span style="font-family: monospace;"&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;#include &amp;lt;sddl.h&amp;gt;&lt;br /&gt;BOOL CreateDACL( SECURITY_ATTRIBUTES * pSA ) {&lt;br /&gt;TCHAR * szSD = TEXT("D:")       // Discretionary ACL&lt;br /&gt;TEXT("(D;OICI;GA;;;BG)")     // Deny access to built-in guests&lt;br /&gt;TEXT("(D;OICI;GA;;;AN)")     // Deny access to anonymous logon&lt;br /&gt;TEXT("(A;OICI;GRGWGX;;;AU)") // Allow read/write/execute to authenticated users&lt;br /&gt;TEXT("(A;OICI;GA;;;BA)");    // Allow full control to administrators&lt;br /&gt;&lt;br /&gt;if ( NULL == pSA ) { return FALSE; }&lt;br /&gt;return ConvertStringSecurityDescriptorToSecurityDescriptor(&lt;br /&gt;  szSD,&lt;br /&gt;  SDDL_REVISION_1,&lt;br /&gt;  &amp;(pSA-&gt;lpSecurityDescriptor),&lt;br /&gt;  NULL );&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1683517366917961047?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1683517366917961047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1683517366917961047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1683517366917961047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1683517366917961047'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/creating-discretionary-access-control.html' title='Creating a Discretionary Access Control List (DACL)'/><author><name>koobmeej</name><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-36034388.post-460939423815072597</id><published>2007-02-10T13:15:00.000-08:00</published><updated>2007-03-01T22:08:32.914-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ditka'/><category scheme='http://www.blogger.com/atom/ns#' term='Chicago Bears'/><title type='text'>Da Bears</title><content type='html'>So Da Bears lost the super bowl but it doesn't mean they didn't have a great season.  &lt;span weight="" bold="" style=""&gt;Go Bears!!&lt;br /&gt;&lt;/span&gt;Not a Bears fan, how about Ditka? Get a Ditka shirt from &lt;a href="http://www.crystalcosmos.com/"&gt;www.crystalcosmos.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.crystalcosmos.com/Mike%20Ditka%20for%20Website.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.crystalcosmos.com/Mike%20Ditka%20for%20Website.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-460939423815072597?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/460939423815072597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=460939423815072597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/460939423815072597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/460939423815072597'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/da-bears.html' title='Da Bears'/><author><name>koobmeej</name><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-36034388.post-3408106173588911081</id><published>2007-02-09T08:48:00.000-08:00</published><updated>2007-02-24T15:36:51.938-08:00</updated><title type='text'>One of these days</title><content type='html'>&lt;div align="center"&gt;&lt;!--62.5 63.64 51.35 51.35--&gt; &lt;table bg="" style="color: rgb(221, 221, 221);" border="0" cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td width="250"&gt; &lt;div align="center"&gt; &lt;span style="color:black;"&gt;&lt;b&gt;&lt;a href="http://similarminds.com/jung/esfp.html"&gt;ESFP&lt;/a&gt;&lt;/b&gt; -  "Entertainer". Radiates attractive warmth and optimism. Smooth, witty, charming, clever. Fun to be with. Very generous. 8.5% of the total population. &lt;/span&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;a href="http://similarminds.com/"&gt;Free Jung Personality Test (similar to Myers-Briggs/MBTI)&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-3408106173588911081?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/3408106173588911081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=3408106173588911081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3408106173588911081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3408106173588911081'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/one-of-these-days.html' title='One of these days'/><author><name>koobmeej</name><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-36034388.post-4625260553607567514</id><published>2007-02-09T08:01:00.000-08:00</published><updated>2007-02-24T15:33:28.352-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='applications'/><category scheme='http://www.blogger.com/atom/ns#' term='time savers'/><title type='text'>Absolutely Must Have Software</title><content type='html'>&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.launchy.net/"&gt;Launchy&lt;br /&gt;&lt;/a&gt;  I can't live without Launchy.  No more Windows Start Menu for me.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mozilla.com/en-US/"&gt;Firefox&lt;/a&gt; Cause Internet Explorer ... Let's just say I don't prefer it.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adobe.com/products/acrobat/readstep2.html"&gt;Adobe Reader&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.apple.com/itunes/"&gt;iTunes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.openoffice.org/"&gt;OpenOffice.org&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vim.org/"&gt;VIM&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/"&gt;Microsoft Visual Studio&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/"&gt;Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;InnoSetup&lt;/li&gt;&lt;li&gt;putty.exe&lt;/li&gt;&lt;li&gt;WinSCP&lt;/li&gt;&lt;li&gt;OpenCMD Window here&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/36034388-4625260553607567514?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4625260553607567514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4625260553607567514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4625260553607567514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4625260553607567514'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/absolutely-must-have-software.html' title='Absolutely Must Have Software'/><author><name>koobmeej</name><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-36034388.post-2354617471461591830</id><published>2007-02-08T21:47:00.001-08:00</published><updated>2007-02-24T15:35:58.278-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>MySQL User Stuff</title><content type='html'>A stupid way to be easily hacked.&lt;br /&gt;&lt;br /&gt;mysql&gt; GRANT ALL ON *.* TO 'anybody'@'%' IDENTIFIED BY '123';&lt;br /&gt;Query OK, 0 rows affected (0.14 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; FLUSH PRIVILEGES;&lt;br /&gt;Query OK, 0 rows affected (0.16 sec)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2354617471461591830?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2354617471461591830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2354617471461591830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2354617471461591830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2354617471461591830'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/mysql-user-stuff.html' title='MySQL User Stuff'/><author><name>koobmeej</name><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-36034388.post-3771275448582346543</id><published>2007-02-07T13:14:00.001-08:00</published><updated>2007-02-24T15:38:59.833-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link baiting'/><title type='text'>Ultimate Guide to Link Baiting</title><content type='html'>&lt;p&gt;&lt;strong&gt;http://tropicalseo.com/2007/andy-hagans-ultimate-guide-to-link-baiting-and-social-media-marketing/&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Copyblogger’s title cheat sheet:&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Who Else Wants [blank]?&lt;/li&gt;&lt;li&gt;The Secret of [blank]&lt;/li&gt;&lt;li&gt;Here is a Method That is Helping [blank] to [blank]&lt;/li&gt;&lt;li&gt;Little Known Ways to [blank]&lt;/li&gt;&lt;li&gt;Get Rid of [problem] Once and For All&lt;/li&gt;&lt;li&gt;Here’s a Quick Way to [solve a problem]&lt;/li&gt;&lt;li&gt;Now You Can Have [something desirable] [great circumstance]&lt;/li&gt;&lt;li&gt;[Do something] like [world-class example]&lt;/li&gt;&lt;li&gt;Have a [or] Build a [blank] You Can Be Proud Of&lt;/li&gt;&lt;li&gt;What Everybody Ought to Know About [blank]&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;Want an example? Let’s run through the cheat sheet Andy Hagans style:&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Who Else Wants Build Links and Rank High in Google?&lt;/li&gt;&lt;li&gt;The Secret of Link Baiting (It’s all in the title!)&lt;/li&gt;&lt;li&gt;Here is a Method That is Helping Webmasters to Link Bait Better&lt;/li&gt;&lt;li&gt;Little Known Ways to Link Bait Like an SEO Pro&lt;/li&gt;&lt;li&gt;Get Rid of Your Backlink Problem Once and For All&lt;/li&gt;&lt;li&gt;Here’s a Quick Way to Rank Highly in Google by Link Baiting&lt;/li&gt;&lt;li&gt;Now You Can Have that #1 Rank in Google&lt;/li&gt;&lt;li&gt;Learn to Link Bait like Andy Hagans&lt;/li&gt;&lt;li&gt;Build a Backlink Structure You Can Be Proud Of&lt;/li&gt;&lt;li&gt;What Everybody Ought to Know About Link Baiting&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/36034388-3771275448582346543?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/3771275448582346543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=3771275448582346543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3771275448582346543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3771275448582346543'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/ultimate-guide-to-link-baiting.html' title='Ultimate Guide to Link Baiting'/><author><name>koobmeej</name><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-36034388.post-8019269316867216898</id><published>2007-02-02T08:30:00.000-08:00</published><updated>2007-02-05T09:08:20.984-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Certificate'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Signing'/><title type='text'>Windows Code Signing (Authenticode)</title><content type='html'>signtool.exe which comes with Windows Visual Studio 2005 has totally different command line options than signcode.exe, the later being part of the original Microsoft Authenticode toolkit and came bundled with Windows Visual Studio 2003.&lt;br /&gt;&lt;br /&gt;If your migrating your code signing from VC7 to VC8 you'll need to take your PRIVATEKEYFILE and SPCFILE that you get from Verisign, Thawte, Geotrust, etc. and create a pfx file. This pfx file will be used to sign your files.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Creating a pfx file:&lt;br /&gt;&lt;br /&gt;pvk2pfx.exe -pvk PRIVATEKEYFILE -spc SPCFILE -pfx your_new_pfx_filename.pfx&lt;br /&gt;&lt;br /&gt;Signing a file:&lt;br /&gt;&lt;br /&gt;signtool.exe sign /f PATH_TO_PFX_FILE -t http://timestamp.verisign.com/scripts/timstamp.dll /v $(OutDir)\$(TargetFileName)&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://msdn2.microsoft.com/en-gb/library/9sh96ycy%28VS.80%29.aspx"&gt;signtool.exe&lt;/a&gt; for more options.&lt;br /&gt;See &lt;a href="http://msdn2.microsoft.com/en-us/library/aa906332.aspx"&gt;pvk2pfx.exe&lt;/a&gt; for more options.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8019269316867216898?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8019269316867216898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8019269316867216898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8019269316867216898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8019269316867216898'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/windows-code-signing-authenticode.html' title='Windows Code Signing (Authenticode)'/><author><name>koobmeej</name><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-36034388.post-6140714337690233870</id><published>2007-02-02T08:26:00.001-08:00</published><updated>2007-02-09T08:20:17.493-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Note to self</title><content type='html'>Found this snippet of &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; code about a &lt;a href="http://www.digg.com/"&gt;dictionary proxy metaclass&lt;/a&gt;.  No time today, so I'll have to look at it later.&lt;br /&gt;&lt;br /&gt;Sometimes when programming in Python I just want to type:&lt;br /&gt;&lt;pre&gt;d = {}&lt;br /&gt;d.some_key = 'some data'&lt;br /&gt;&lt;/pre&gt;instead of:&lt;br /&gt;&lt;pre&gt;d['some_key'] = 'some data'&lt;br /&gt;&lt;/pre&gt;like you can in JavaScript.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6140714337690233870?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6140714337690233870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6140714337690233870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6140714337690233870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6140714337690233870'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/note-to-self.html' title='Note to self'/><author><name>koobmeej</name><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-36034388.post-8906563538151406112</id><published>2007-02-01T15:00:00.000-08:00</published><updated>2007-02-01T15:13:53.900-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Boost'/><category scheme='http://www.blogger.com/atom/ns#' term='Standard Libraries'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Boost C++ Libraries</title><content type='html'>&lt;div class="wikipage"&gt;     &lt;div id="searchable"&gt;&lt;p&gt;The Boost libraries found at &lt;a class="ext-link" href="http://www.boost.org/"&gt;&lt;span class="icon"&gt;http://www.boost.org&lt;/span&gt;&lt;/a&gt; are wonderful.  Been using them for years.&lt;/p&gt;Here are the build instructions:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download latest boost source&lt;/li&gt;&lt;li&gt;Download bjam.exe&lt;/li&gt;&lt;li&gt;Extract boost source&lt;/li&gt;&lt;li&gt;cd into the newly created directory&lt;/li&gt;&lt;li&gt;bjam "-sTOOLS=TOOLKIT" --prefix=PREFIX install&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Replace TOOLKIT with the appropriate toolkit for your compiler. That list can be found here &lt;a class="ext-link" href="http://www.boost.org/more/getting_started.html#step2"&gt;&lt;span class="icon"&gt;http://www.boost.org/more/getting_started.html#step2&lt;/span&gt;&lt;/a&gt;. Replace PREFIX with the prefix of choice Windows Default:  C:\Boost.  Others Default to: /usr/local on Unix. Linux, etc.&lt;br /&gt;&lt;br /&gt;So if your using Visual Studio 2005 SP1 and want boost to be installed onto your D drive the command would be:&lt;br /&gt;&lt;pre&gt;bjam "-sTOOLS=vc-8_0" --prefix=D:\Boost install&lt;br /&gt;&lt;/pre&gt;It's that simple.  What you get from Boost?  OS independent thread code, a good shared pointer implementation,  and more.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8906563538151406112?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8906563538151406112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8906563538151406112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8906563538151406112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8906563538151406112'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/boost-c-libraries.html' title='Boost C++ Libraries'/><author><name>koobmeej</name><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-36034388.post-2834000256461958599</id><published>2007-02-01T07:42:00.000-08:00</published><updated>2007-02-02T07:50:39.786-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='website design tools'/><title type='text'>Free website design tools</title><content type='html'>Trying to keep a list of free web design stuff.&lt;br /&gt;&lt;br /&gt;Website templates:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.oswd.org/"&gt;http://www.oswd.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.openwebdesign.org/"&gt;http://www.openwebdesign.org/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Royalty free stock images:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sxc.hu/"&gt;http://www.sxc.hu/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.masternewmedia.org/news/2005/04/01/where_to_find_free_images.htm"&gt;http://www.masternewmedia.org/news/2005/04/01/where_to_find_free_images.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sweetie.sublink.ca/"&gt;http://sweetie.sublink.ca/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.intersmash.com/300images/"&gt;http://www.intersmash.com/300images/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.digg.com/"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2834000256461958599?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2834000256461958599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2834000256461958599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2834000256461958599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2834000256461958599'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/02/free-website-design-tools.html' title='Free website design tools'/><author><name>koobmeej</name><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-36034388.post-6276790625476691581</id><published>2007-01-27T14:51:00.000-08:00</published><updated>2007-01-27T15:04:27.944-08:00</updated><title type='text'>The Weekly Search Report</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Question: &lt;/span&gt;&lt;a href="http://koobmeej.blogspot.com/2006/12/cc-and-distributing-vc8-application.html"&gt;Inno Setup how to not require admin rights on vista&lt;/a&gt;?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer:&lt;/span&gt; Get the &lt;a href="http://www.jrsoftware.org/files/is5-whatsnew.htm"&gt;latest version&lt;/a&gt; of Inno Setup at least version 5.1.9 or better.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question: &lt;/span&gt;&lt;a href="http://www.mydoctorsoffice.com/pcdoctor.html"&gt;why does my computer not boot up&lt;/a&gt;?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Is your computer plugged in?  Does your house have electricity? Are all the cables plugged in? Is your memory bad? Is your hard drive bad?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question:&lt;/span&gt; &lt;a href="http://www.mydoctorsoffice.com/pcdoctor.html"&gt;my pc is too slow why&lt;/a&gt;?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Not enough memory?  To many programs running in the background? Your still using your old 486? Your computer is infected with viruses and other malware? &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question:&lt;/span&gt; &lt;a href="http://www.mydoctorsoffice.com/doctorsalary.html"&gt;doctor's who make a lot of money&lt;/a&gt;?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Plastic Surgeons&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question:&lt;/span&gt; &lt;a href="http://www.mydoctorsoffice.com/dna/index.html"&gt;how to choose a genealogy test&lt;/a&gt;?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;The more markers the better.  See &lt;a href="http://www.worldfamilies.net"&gt;worldfamilies.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question: &lt;/span&gt;&lt;a href="http://www.mydoctorsoffice.com/pcdoctor.html"&gt;why is my pc so slow&lt;/a&gt;?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;See answer for &lt;span style="font-style: italic;"&gt;my pc is too slow why&lt;/span&gt; above&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6276790625476691581?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6276790625476691581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6276790625476691581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6276790625476691581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6276790625476691581'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/weekly-search-report.html' title='The Weekly Search Report'/><author><name>koobmeej</name><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-36034388.post-5196738355283825738</id><published>2007-01-27T10:39:00.000-08:00</published><updated>2007-01-27T13:41:19.902-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNA Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='genealogy'/><category scheme='http://www.blogger.com/atom/ns#' term='surname'/><title type='text'>WorldFamilies.Net and Surname DNA Testing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.worldfamilies.net"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 287px; height: 155px;" src="http://www.worldfamilies.net/logo.jpg" alt="World Families Network, Where Genealogy meets DNA Testing" border="0" title="World Families Network, Where Genealogy meets DNA Testing" /&gt;&lt;/a&gt;&lt;br /&gt;Ever heard of &lt;a href="http://www.worldfamilies.net/"&gt;WorldFamilies.net&lt;/a&gt;?  If your into genealogy.  You might want to give them a visit.  They specialize in &lt;span style="color: rgb(153, 102, 0);"&gt;&lt;b&gt;&lt;span style="background-color: rgb(255, 255, 255);"&gt;Surname DNA Testing&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;, managing several thousand surname DNA projects. Search for your &lt;a href="http://www.worldfamilies.net/search/search.php"&gt;surname DNA project&lt;/a&gt;.  Can't find your surname, ask them to &lt;a href="http://www.worldfamilies.net/register.htm"&gt;add a DNA project for you&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Take a look at some of WorldFamilies.Net's top surname DNA projects:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.familytreedna.com/DNAList.asp?Group=MacDonald"&gt;MacDonald DNA Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.rootsweb.com/%7Ewellsfam/dnaproje/dnaproj1.html"&gt;Wells DNA Testing&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.familytreedna.com/DNAList.asp?Group=Walker"&gt;Walker DNA Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.familytreedna.com/DNAList.asp?Group=smith"&gt;Smith DNA Testing&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bartondna.info/"&gt;Barton DNA Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.worldfamilies.net/surnames/h/hodges/"&gt;Hodges DNA Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jonesfamilies.org/"&gt;Jones DNA Testing&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/36034388-5196738355283825738?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5196738355283825738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5196738355283825738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5196738355283825738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5196738355283825738'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/worldfamiliesnet-and-surname-dna.html' title='WorldFamilies.Net and Surname DNA Testing'/><author><name>koobmeej</name><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-36034388.post-3158097776017066220</id><published>2007-01-25T07:43:00.001-08:00</published><updated>2007-01-27T13:50:35.588-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Forms'/><title type='text'>Some PDF Forms Research</title><content type='html'>Starting a new project, can you guess what I'm working on?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.planetpdf.com/developer/article.asp?contentid=6492&amp;ra"&gt;How to populate a PDF file from a webserver&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.accesspdf.com/pdftk"&gt;PDFTK the PDF Toolkit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://createpdf.adobe.com"&gt;Convert Documents to PDF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oreilly.com/catalog/pdfhks/chapter/index.html"&gt;PDF Hacks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://office.microsoft.com/assistance/preview.aspx?AssetID=HA010449811033"&gt;Microsoft Office File Converters and Viewers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.quask.com/common/home.asp"&gt;Workflow Software, Forms Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.formdesk.com/?id_aff=1684585&amp;amp;keyword=_form_pdf&amp;amp;gclid=CPyR67_3-4kCFSFZUAodiwxjSQ"&gt;Generate Online Forms&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://billmill.org/Keywords/computer"&gt;Create a PDF Calander&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/36034388-3158097776017066220?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/3158097776017066220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=3158097776017066220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3158097776017066220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3158097776017066220'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/some-pdf-forms-research.html' title='Some PDF Forms Research'/><author><name>koobmeej</name><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-36034388.post-6171224789725604500</id><published>2007-01-23T22:21:00.000-08:00</published><updated>2007-01-23T22:37:11.206-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Maxam-Gilbert'/><title type='text'>Maxam-Gilbert DNA sequence method</title><content type='html'>When is Google going to do something about search engine spam?  Take this page for instance.  &lt;a href="http://www.wordtracker.com"&gt;Wordtracker&lt;/a&gt; tells me the words "maxam-gilbert dna sequence method" where searched for 34 times in the last 24 hour period.  Not knowing much about the maxam-gilbert dna sequence method I'd go to http://www.attotron.com/pub/dnaquiz/Q6SEQ.htm and find out that,&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The Maxam-Gilbert method of nucleotide sequence determination is based on preferential, base-specific methylation followed by chemical cleavage to generate a nested set of end- labeled derivatives.  &lt;/span&gt;The funny thing is within a few weeks because of this blogspot.com url, google will rank this page pretty high.  Not that I even know a thing about the Maxam-Gilbert DNA sequence method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6171224789725604500?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6171224789725604500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6171224789725604500' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6171224789725604500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6171224789725604500'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/maxam-gilbert-dna-sequence-method.html' title='Maxam-Gilbert DNA sequence method'/><author><name>koobmeej</name><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-36034388.post-4918047416623441491</id><published>2007-01-23T20:03:00.000-08:00</published><updated>2007-01-23T21:36:51.380-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bear Lake'/><category scheme='http://www.blogger.com/atom/ns#' term='Fishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Cisco'/><title type='text'>Fried Cisco</title><content type='html'>Ever heard of a fish called &lt;a href="http://en.wikipedia.org/wiki/Cisco_%28fish%29"&gt;Cisco&lt;/a&gt;? First thing I thought of was the &lt;a href="http://www.cisco.com/"&gt;co&lt;/a&gt;&lt;a href="http://www.cisco.com/"&gt;mpany&lt;/a&gt;. Someone says these Cisco are only found at &lt;a href="http://www.utah.com/stateparks/bear_lake.htm"&gt;Bear Lake&lt;/a&gt;.  They must mean the specific subspecies of Cisco&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_c5KM9jPLEbc/RbbiybpgriI/AAAAAAAAAAU/D5d4lmJF23o/s1600-h/fishing+jan+2007+009.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_c5KM9jPLEbc/RbbiybpgriI/AAAAAAAAAAU/D5d4lmJF23o/s200/fishing+jan+2007+009.jpg" alt="" id="BLOGGER_PHOTO_ID_5023451790421569058" border="0" /&gt;&lt;/a&gt; found at Bear Lake are unique.  Seeing as anyone can google Cisco and find more results than just Bear Lake.  Was told they were spawning.  Took a little drive down to Bear Lake for some ice fishing with the scouts, came back to Idaho Falls with a whole lot of Cisco.&lt;br /&gt;&lt;br /&gt;Using a net or a hook, the later taking more skill; it was actually pretty fun.  Bear Lake had totally frozen over the previous week.  Not that it mattered the Cisco were right by the edge of the aptly named Cisco Beach.  There had to be thousands of them.  They seemed to like our Marabou Jigs, and Silver Kastmasters.  One person would tease them with the bait, another scooping them up with the net.&lt;br /&gt;&lt;br /&gt;The real fun was cleaning and descaling the fish.  My 25 Cisco took way to long to clean (&lt;a href="http://fishandgame.idaho.gov/cms/fish/rules/se.pdf"&gt;the daily limit is 30&lt;/a&gt;).  It was worth it though.  They sure were yummy.  Deep fat fried them.  umm, umm good.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-4918047416623441491?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/4918047416623441491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=4918047416623441491' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4918047416623441491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/4918047416623441491'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/fried-cisco.html' title='Fried Cisco'/><author><name>koobmeej</name><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://bp1.blogger.com/_c5KM9jPLEbc/RbbiybpgriI/AAAAAAAAAAU/D5d4lmJF23o/s72-c/fishing+jan+2007+009.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36034388.post-2126225263807126208</id><published>2007-01-22T08:20:00.001-08:00</published><updated>2007-01-23T21:24:57.648-08:00</updated><title type='text'>(Great) Employees Only</title><content type='html'>So my boss has a subscription to &lt;a href="http://store.audiotech.com"&gt;Audio-Tech Business Book Summaries&lt;/a&gt;  most of the cds are actually pretty interesting to listen too.&lt;br /&gt;&lt;br /&gt;I was impressed with a cd he shared with me recently.  &lt;span style="font-style: italic;"&gt;(Great) Employees Only How Gifted Bosses Hire and De-Hire&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Their Way to Success &lt;/span&gt;by Dale Dauten.  What I enjoyed most about it where the six questions Dale Dauten says to ask an employee that is in line to be de-hired.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1. Are you happy here? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2. What are you passionate about?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;3. Does this job do that for you? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;4. How can we make changes so that happens? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;5. What would you rather be doing?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;6. How can I help you move in that direction?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2126225263807126208?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2126225263807126208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2126225263807126208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2126225263807126208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2126225263807126208'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/great-employees-only.html' title='(Great) Employees Only'/><author><name>koobmeej</name><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-36034388.post-2132860201889185541</id><published>2007-01-17T15:14:00.000-08:00</published><updated>2007-01-23T21:27:51.082-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='#import'/><category scheme='http://www.blogger.com/atom/ns#' term='Compiler support'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><title type='text'>Compiler COM Support</title><content type='html'>Touching code that I had long since forgotten about.  Documented in the source, but also here in case I ever need it someday long after I have left my current company.  Not that the links will be valid, but at least It will help me remember search terms to get the knowledge back.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/h31ekh7e.aspx"&gt;Compiler COM Support&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/8etzzkb6.aspx"&gt;#import directive&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2132860201889185541?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2132860201889185541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2132860201889185541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2132860201889185541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2132860201889185541'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/compiler-com-support.html' title='Compiler COM Support'/><author><name>koobmeej</name><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-36034388.post-1574020422925823926</id><published>2007-01-17T08:08:00.000-08:00</published><updated>2007-01-23T21:15:04.172-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Developer documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='WinHelp'/><category scheme='http://www.blogger.com/atom/ns#' term='Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML Help'/><title type='text'>Windows Vista and Windows Help</title><content type='html'>I have to admit, I really enjoy reading Microsoft documentation.  Especially marketing fluff.  I have nothing better to do each day.  Why not just waste it reading Microsoft marketing fluff, excuse me ... developer documentation.  Maybe your familiar with what I'm writing about, the documentation that tells you how good Microsoft is but doesn't really tell you how to implement any of their technologies.  My second favorite Microsoft documentation to read is the &lt;span style="font-style: italic;"&gt;You can't do it this way anymore, but were not going to give you any links, cause we change them daily, so good luck figuring it out on your own&lt;/span&gt; style of documentation&lt;span style="font-style: italic;"&gt;.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;I've been reminded of my Microsoft documentation pet peeves, as I'm currently focused on migrating some old Windows Help files (.hlp files) to Vista.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480152.aspx#appcomp_topic15"&gt;http://msdn2.microsoft.com/en-us/library/aa480152.aspx#appcomp_topic15&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Windows Help (WinHelp.exe and WinHlp32.exe) is being deprecated for Windows Vista. Windows Help is not supported in Beta 2 and some of the Windows Help code has been removed for the release ... &lt;/span&gt;&lt;span style="font-style: italic;"&gt;HTML Help and .CHM files will continue to be supported for Windows Vista.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;Source: &lt;a href="http://support.microsoft.com/kb/917607/en-us"&gt;http://support.microsoft.com/kb/917607/en-us&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We strongly recommend that software developers stop using the Windows Help application in Windows Vista. Software developers who ship programs that rely on .hlp files are encouraged to transition their Help experience to an alternative Help file format, such as .chm, .html, or .xml. You will also have to change your calls from the WinHelp() API to the new content source.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now I know HTML Help has been around forever, almost as long as WinHelp.  But I don't work with Html Help everyday, so they should say.  HTML Help uses the HtmlHelp api, here is a link to the documentation.  Don't force me to use the msdn search engine, it's useless.&lt;br /&gt;&lt;br /&gt;For my own benefit, a few years down the road if I actually have to worry about help files again.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconovhtmlhelpapioverview.asp"&gt;MSDN Documentation&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The HTML Help API function is modeled after the WinHelp API function to simplify the process of updating existing programs from WinHelp to HTML Help. However, the HTML Help API command names and parameters are not the same as those in the WinHelp API, and the output file formats are very different.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Useful links:&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.help-info.de/en/Help_Info_WinHelp/hw.htm"&gt;http://www.help-info.de/en/Help_Info_WinHelp/hw.htm&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=00535334-c8a6-452f-9aa0-d597d16580cc&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=00535334-c8a6-452f-9aa0-d597d16580cc&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.helpblocks.com"&gt;http://www.helpblocks.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://frogleg.mvps.org/helptechnologies/htmlhelp/hhtutorials.html#lammers_api"&gt;http://frogleg.mvps.org/helptechnologies/htmlhelp/hhtutorials.html#lammers_api&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-1574020422925823926?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/1574020422925823926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=1574020422925823926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1574020422925823926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/1574020422925823926'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/windows-vista-and-windows-help.html' title='Windows Vista and Windows Help'/><author><name>koobmeej</name><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-36034388.post-7165831533147986348</id><published>2007-01-11T13:29:00.000-08:00</published><updated>2007-01-16T08:23:35.629-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='VC8'/><category scheme='http://www.blogger.com/atom/ns#' term='SP1'/><category scheme='http://www.blogger.com/atom/ns#' term='Memory leak'/><category scheme='http://www.blogger.com/atom/ns#' term='VC++'/><category scheme='http://www.blogger.com/atom/ns#' term='Service Pack 1'/><title type='text'>Windows Visual Studio 2005 Service Pack 1</title><content type='html'>Upgrade it's that simple.  &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC&amp;displaylang=en"&gt;Download&lt;/a&gt; and &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC&amp;amp;displaylang=en#Instructions"&gt;Install&lt;/a&gt; otherwise be doomed to waste your time scouring the web for resolutions to obscure bugs.&lt;br /&gt;&lt;br /&gt;The bug I'm most happy about being fixed this &lt;a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=98861"&gt;Memory leak&lt;/a&gt;.  It also resolves the &lt;a href="http://koobmeej.blogspot.com/2006/12/vista-manifest-crash.html"&gt;Vista Manifest Crash&lt;/a&gt; reported earlier without any fancy work around.   Though you still have to worry about how to &lt;a href="http://koobmeej.blogspot.com/2006/12/cc-and-distributing-vc8-application.html"&gt;distribute the CRT dlls&lt;/a&gt; and such.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7165831533147986348?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7165831533147986348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7165831533147986348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7165831533147986348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7165831533147986348'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/windows-visual-studio-2005-service-pack.html' title='Windows Visual Studio 2005 Service Pack 1'/><author><name>koobmeej</name><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-36034388.post-6074665879112777859</id><published>2007-01-03T15:06:00.000-08:00</published><updated>2007-01-16T22:57:12.769-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='UAC'/><title type='text'>Thoughts on Windows Vista User Access Control</title><content type='html'>Bye, Bye Power Users&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technet2.microsoft.com/WindowsVista/en/library/00d04415-2b2f-422c-b70e-b18ff918c2811033.mspx?mfr=true"&gt;http://technet2.microsoft.com/WindowsVista/en/library/00d04415-2b2f-422c-b70e-b18ff918c2811033.mspx?mfr=true&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally, a parent can let  a child view a DVD, while preventing them from installing software; courtesy of User Access Control(UAC) and the infamous split token.&lt;br /&gt;&lt;br /&gt;Virtualization&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"IT administrators will not need to replace the majority of pre-Windows Vista applications when running Windows Vista with UAC enabled."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The cynic in me thinks it should read, &lt;span style="font-style: italic;"&gt;"IT administrators &lt;span style="font-weight: bold;"&gt;will need&lt;/span&gt; to replace the majority of pre-Windows Vista applications when running Windows Vista with UAC enabled."&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6074665879112777859?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6074665879112777859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6074665879112777859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6074665879112777859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6074665879112777859'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/thoughts-on-windows-vista-user-access.html' title='Thoughts on Windows Vista User Access Control'/><author><name>koobmeej</name><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-36034388.post-7456483260826988017</id><published>2007-01-03T10:55:00.000-08:00</published><updated>2007-01-23T20:56:20.168-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogs'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><title type='text'>Blog Sites</title><content type='html'>Some blog sites.  Found these on some site off of Digg. Just here so I can slowly work my way through them in my spare time.&lt;br /&gt;&lt;br /&gt;Name: 2RSS&lt;br /&gt;URL: &lt;a href="http://www.2rss.com/"&gt;http://www.2rss.com&lt;/a&gt;&lt;br /&gt;Description:RSS Feed Directory&lt;br /&gt;Add your blog here: On front page&lt;br /&gt;Note: Requires RSS Feed&lt;br /&gt;&lt;br /&gt;Name: Blogarama&lt;br /&gt;URL: &lt;a href="http://www.blogarama.com/"&gt;http://www.blogarama.com&lt;/a&gt;&lt;br /&gt;Description:Small search engine&lt;br /&gt;Add your blog here: http://www.blogarama.com/index.php?show=add&lt;br /&gt;&lt;br /&gt;Name: Blogdigger&lt;br /&gt;URL: &lt;a href="http://www.blogdigger.com/"&gt;http://www.blogdigger.com&lt;/a&gt;&lt;br /&gt;Description: Small search engine&lt;br /&gt;Add your blog here: http://www.blogdigger.com/addFeedForm.jsp&lt;br /&gt;Note: Need RSS feed&lt;br /&gt;&lt;br /&gt;Name: Bloghop&lt;br /&gt;URL: &lt;a href="http://www.bloghop.com/"&gt;http://www.bloghop.com&lt;/a&gt;&lt;br /&gt;Description: Small search engine&lt;br /&gt;Add your blog here: http://www.bloghop.com/addblog.htm&lt;br /&gt;&lt;br /&gt;Name: Bloglines&lt;br /&gt;URL: &lt;a href="http://www.bloglines.com/"&gt;http://www.bloglines.com&lt;/a&gt;&lt;br /&gt;Description: Search and aggregate RSS feeds&lt;br /&gt;Add your blog here: No submission process, users add feeds they wish to track&lt;br /&gt;&lt;br /&gt;Name: Blogmatrix&lt;br /&gt;URL: &lt;a href="http://www.blogmatrix.com/"&gt;http://www.blogmatrix.com&lt;/a&gt;&lt;br /&gt;Description: Blog tool provider, offers search as well&lt;br /&gt;Add your blog here: http://www.blogmatrix.com/join&lt;br /&gt;&lt;br /&gt;Name: Blogsearchengine&lt;br /&gt;URL: &lt;a href="http://www.blogsearchengine.com/"&gt;http://www.blogsearchengine.com&lt;/a&gt;&lt;br /&gt;Description: Blog search engine&lt;br /&gt;Add your blog here: http://www.blogsearchengine.com/add_link.html&lt;br /&gt;&lt;br /&gt;Name: Blogtastic&lt;br /&gt;URL: &lt;a href="http://www.blogstreet.com/"&gt;http://www.blogstreet.com&lt;/a&gt;&lt;br /&gt;Description: Metasearch&lt;br /&gt;Add your blog here: http://www.blogstreet.com/bin/add.cgi&lt;br /&gt;&lt;br /&gt;Name: Blogwise&lt;br /&gt;URL: &lt;a href="http://www.blogwise.com/"&gt;http://www.blogwise.com&lt;/a&gt;&lt;br /&gt;Description: Categorized Blog search&lt;br /&gt;Add your blog here: http://www.blogwise.com/submit&lt;br /&gt;&lt;br /&gt;Name: Bloogz&lt;br /&gt;URL: &lt;a href="http://www.bloogz.com/"&gt;http://www.bloogz.com&lt;/a&gt;&lt;br /&gt;Description: Blog search engine&lt;br /&gt;Add your blog here: http://www.bloogz.com/man_en/add_your_url.php&lt;br /&gt;&lt;br /&gt;Name: Daypop&lt;br /&gt;URL: &lt;a href="http://www.daypop.com/"&gt;http://www.daypop.com&lt;/a&gt;&lt;br /&gt;Description: News oriented search&lt;br /&gt;Add your blog here: http://www.daypop.com/info/submit.htm&lt;br /&gt;Note: Requires your site to be "frequently updated"&lt;br /&gt;&lt;br /&gt;Name: Eatonweb&lt;br /&gt;URL: &lt;a href="http://portal.eatonweb.com/"&gt;http://portal.eatonweb.com&lt;/a&gt;&lt;br /&gt;Description: Blog search engine&lt;br /&gt;Add your blog here: http://portal.eatonweb.com/add.php&lt;br /&gt;&lt;br /&gt;Name: Globeofblogs&lt;br /&gt;URL: &lt;a href="http://www.globeofblogs.com/"&gt;http://www.globeofblogs.com&lt;/a&gt;&lt;br /&gt;Description: Blog search engine&lt;br /&gt;Add your blog here: Click "Register" in upper-right corner of front page&lt;br /&gt;Note: Strange site, requires extensive classification of blogs&lt;br /&gt;&lt;br /&gt;Name: LocalFeeds.com/GeoURL&lt;br /&gt;URL: &lt;a href="http://www.localfeeds.com/"&gt;http://www.localfeeds.com&lt;/a&gt; , &lt;a href="http://www.geourl.org/"&gt;http://www.geourl.org&lt;/a&gt;&lt;br /&gt;Description: Blogs and headlines by geographic region. GeoURL is by lat/longitude while LocalFeeds is by ZIP or country.&lt;br /&gt;Add your blog here: http://www.geourl.org/add.html (for both)&lt;br /&gt;Note: Complex instructions, you must edit your blog's meta tags prior to submission.&lt;br /&gt;&lt;br /&gt;NEW! Name: Memigo&lt;br /&gt;URL: &lt;a href="http://www.memigo.com/"&gt;http://www.memigo.com&lt;/a&gt;&lt;br /&gt;Description: Customized news portal&lt;br /&gt;Add your blog here: http://www.memigo.com/feed&lt;br /&gt;&lt;br /&gt;Name: NewsIsFree&lt;br /&gt;URL: &lt;a href="http://www.newsisfree.com/"&gt;http://www.newsisfree.com&lt;/a&gt;&lt;br /&gt;Description: Search for RSS feeds&lt;br /&gt;Add your blog here: http://www.newsisfree.com/contact.php&lt;br /&gt;&lt;br /&gt;Name: Popdex&lt;br /&gt;URL: &lt;a href="http://www.popdex.com/"&gt;http://www.popdex.com&lt;/a&gt;&lt;br /&gt;Description: Hot topics listing and search engine&lt;br /&gt;Add your blog here: http://www.popdex.com/addsite.php&lt;br /&gt;Note: "Fast Track" if you link to Popdex&lt;br /&gt;&lt;br /&gt;Name: RDF Ticker&lt;br /&gt;URL: &lt;a href="http://www.anse.de/rdfticker"&gt;http://www.anse.de/rdfticker/findchannels.php&lt;/a&gt;&lt;br /&gt;Description: Search and aggregate RSS feeds&lt;br /&gt;Add your blog here: http://www.anse.de/rdfticker/addchannel.php&lt;br /&gt;&lt;br /&gt;Name: Read A Blog&lt;br /&gt;URL: &lt;a href="http://www.readablog.com/"&gt;http://www.readablog.com&lt;/a&gt;&lt;br /&gt;Description: Blog Search Engine&lt;br /&gt;Add your blog here: http://www.readablog.com/AddFeed.aspx&lt;br /&gt;&lt;br /&gt;Name: RSSFeedsDirectory&lt;br /&gt;URL: &lt;a href="http://rss-feeds-directory.com/directory"&gt;http://rss-feeds-directory.com/directory&lt;/a&gt;&lt;br /&gt;Description: RSS Directory&lt;br /&gt;Add your blog here: Not clear&lt;br /&gt;&lt;br /&gt;Name: Search4RSS&lt;br /&gt;URL: &lt;a href="http://www.search4rss.com/"&gt;http://www.search4rss.com&lt;/a&gt;&lt;br /&gt;Description: RSS Search Engine&lt;br /&gt;Add your blog here: Not available, must be added by site owners.&lt;br /&gt;&lt;br /&gt;Name: Sindic8&lt;br /&gt;URL: &lt;a href="http://www.syndic8.com/"&gt;http://www.syndic8.com&lt;/a&gt;&lt;br /&gt;Description: Search and aggregate RSS feeds&lt;br /&gt;Add your blog here: http://www.syndic8.com/suggest.php?Mode=data&lt;br /&gt;Note: Need RSS feed&lt;br /&gt;&lt;br /&gt;Name: Technorati&lt;br /&gt;URL: &lt;a href="http://www.technorati.com/"&gt;http://www.technorati.com&lt;/a&gt;&lt;br /&gt;Description: Index of links between millions of blogs&lt;br /&gt;Add your blog here: http://www.technorati.com/ping.html&lt;br /&gt;&lt;br /&gt;Name: Waypath&lt;br /&gt;URL: &lt;a href="http://www.waypath.com/"&gt;http://www.waypath.com&lt;/a&gt;&lt;br /&gt;Description: Keyword searches and "find similar" searches&lt;br /&gt;Add your blog here: Automatically adds blogs through a spidering process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7456483260826988017?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7456483260826988017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7456483260826988017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7456483260826988017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7456483260826988017'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/blog-sites.html' title='Blog Sites'/><author><name>koobmeej</name><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-36034388.post-62689959599027896</id><published>2007-01-03T09:40:00.000-08:00</published><updated>2007-01-23T21:39:49.422-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Upgrade'/><title type='text'>XP to Vista upgrade, is it worth it?</title><content type='html'>Upgrading from Windows XP to Vista is it really worth it?  That's for you to decide.  I've been using the Vista RTM for development/testing.  It's not that bad, though there are some quirks to get used to.  If you're thinking of upgrading, I'd recommend a clean install.  Things have changed way to much, and your in for a world of hurt if you believe Microsoft and think most software will work on Vista out of the box.  It won't.  If you go into the upgrade realizing most things won't work, mentally, you'll probably be better off.&lt;br /&gt;&lt;br /&gt;Recommended path of Upgrade:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make a list of all the software you use&lt;/li&gt;&lt;li&gt;Verify that each software product you use works with Windows Vista&lt;/li&gt;&lt;li&gt;Backup configuration information for each of your products&lt;/li&gt;&lt;li&gt;Install Windows Vista on a brand new computer&lt;/li&gt;&lt;li&gt;Install the software you use&lt;/li&gt;&lt;li&gt;Import over configuration information&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;What you can look forward too:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Enhanced security&lt;/li&gt;&lt;li&gt;Better eye candy&lt;/li&gt;&lt;li&gt;User Access Control (UAC) prompts&lt;/li&gt;&lt;li&gt;Gadgets&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Things you may miss:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Lack of UAC prompts&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/36034388-62689959599027896?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/62689959599027896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=62689959599027896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/62689959599027896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/62689959599027896'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2007/01/xp-to-vista-upgrade-is-it-worth-it.html' title='XP to Vista upgrade, is it worth it?'/><author><name>koobmeej</name><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-36034388.post-5726519942512669402</id><published>2006-12-29T13:07:00.000-08:00</published><updated>2007-01-03T14:50:13.503-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VC8'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='CRT'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><category scheme='http://www.blogger.com/atom/ns#' term='VC++'/><title type='text'>C/C++ and Distributing a VC8 application</title><content type='html'>C/C++ in Visual Studio 8 has changed once again.  Seems Microsoft can't decide on the best way to handle their C/C++ &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;runtime&lt;/span&gt;&lt;/span&gt; &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;dlls&lt;/span&gt;&lt;/span&gt; (CRT).&lt;br /&gt;&lt;br /&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;VC&lt;/span&gt;&lt;/span&gt;6 and &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;dll&lt;/span&gt;&lt;/span&gt; hell was fun.&lt;br /&gt;&lt;br /&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;VC&lt;/span&gt;&lt;/span&gt;7, &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;VC&lt;/span&gt;&lt;/span&gt;7.1 got better because the compiler was a bit more standard.  Redistributing files wasn't as bad, just copy &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;msvcrt&lt;/span&gt;&lt;/span&gt;71.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;dll&lt;/span&gt;&lt;/span&gt; or &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;msvcr&lt;/span&gt;&lt;/span&gt;71.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;dll&lt;/span&gt;&lt;/span&gt; to your application directory and things worked.&lt;br /&gt;&lt;br /&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;VC&lt;/span&gt;&lt;/span&gt;8 changes things once again.  Introducing side-by-side assemblies.  If I were a C# guy, I'm sure I'd be familiar with assemblies by now, but alas, I prefer the C/C++.  So here are some links on how to deal with the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;VC&lt;/span&gt;&lt;/span&gt;8 CRT &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;dlls&lt;/span&gt;&lt;/span&gt;, so that your applications don't crash after you distribute them because your missing required &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;dlls&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.gotdotnet.com/martynl/archive/2005/10/13/480880.aspx"&gt;A more &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;thorough&lt;/span&gt; explanation of &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;VC8 CRT and WinSxS&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/nikolad/archive/2005/09/02/460368.aspx"&gt;Using Windows Installer XML (&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;WiX&lt;/span&gt;&lt;/span&gt;) and &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;VC&lt;/span&gt;&lt;/span&gt;8 CRT Merge Modules&lt;br /&gt;&lt;/a&gt; I'm an &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;InnoSetup&lt;/span&gt;&lt;/span&gt; fan, but without merge module support, or a better way to install the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;VC&lt;/span&gt;&lt;/span&gt;8 CRT &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;dlls&lt;/span&gt;&lt;/span&gt; the above works.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/astebner/archive/2006/08/23/715755.aspx"&gt;Silently install vcredist_x86.exe&lt;/a&gt; Though for InnoSetup and other non-msi based installs, silently installing vcredist_x86.exe is less of a kludge.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms235285%28VS.80%29.aspx"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;VC&lt;/span&gt;&lt;/span&gt;8 C/C++ CRT &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;Distrubution&lt;/span&gt;&lt;/span&gt;/Deployment &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Howto&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Offers various ways to install the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;VC&lt;/span&gt;&lt;/span&gt;8 CRT &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;dlls&lt;/span&gt;&lt;/span&gt;.  The &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;xcopy&lt;/span&gt;&lt;/span&gt; way looks appealing, though some of the fine print suggests Windows 2000 server doesn't like things this way.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sbscs/setup/guidelines_for_creating_side_by_side_assemblies.asp"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;VC&lt;/span&gt;&lt;/span&gt;8 Guidelines for Creating Side-By-Side (&lt;/a&gt;&lt;a href="http://blogs.gotdotnet.com/martynl/archive/2005/10/13/480880.aspx"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;WinSxS&lt;/span&gt;&lt;/a&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sbscs/setup/guidelines_for_creating_side_by_side_assemblies.asp"&gt;) Assemblies&lt;/a&gt;  You maybe wondering what side-by-side assemblies are. This may give some insight to you.&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/36034388-5726519942512669402?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5726519942512669402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5726519942512669402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5726519942512669402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5726519942512669402'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/12/cc-and-distributing-vc8-application.html' title='C/C++ and Distributing a VC8 application'/><author><name>koobmeej</name><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-36034388.post-8344838571822982034</id><published>2006-12-27T10:30:00.000-08:00</published><updated>2007-01-16T22:40:22.920-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Search Engine Optimization (SEO)</title><content type='html'>&lt;h2&gt;Web Marketing&lt;/h2&gt;&lt;br /&gt;&lt;a href="https://adwords.google.com/"&gt;Google Adwords &lt;/a&gt;&lt;br /&gt;&lt;a href="https://account.uk.miva.com/Advertiser/Account/login.asp"&gt;Miva UK&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.findwhat.com/"&gt;Findwhat&lt;/a&gt;&lt;br /&gt;&lt;a href="https://adcenter.msn.com/"&gt;MSN Adcenter&lt;/a&gt;&lt;br /&gt;&lt;a href="https://adcenter.us.miva.com/login.aspx"&gt;Miva US&lt;/a&gt;&lt;br /&gt;&lt;a href="https://secure.overture.com/login.do?mkt=us&amp;amp;locale=en_US"&gt;Overture&lt;/a&gt;&lt;br /&gt;&lt;a href="http://arc.tucows.com/"&gt;Tucows&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.upload.com/"&gt;Upload.com&lt;/a&gt;&lt;br /&gt;&lt;a href="https://safe.kanoodle.com/login.cool"&gt;Kanoodle&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;SEO - Forums - Stats - Sites&lt;/h2&gt;&lt;br /&gt;&lt;a href="http://www.seo-news.com/cgi-bin/gforum/gforum.cgi?"&gt;SEO News&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.seotoday.com/"&gt;SEO Today&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cre8asiteforums.com/"&gt;Cre8asite forumns&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.highrankings.com/forum/"&gt;High Rankings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.searchengineworld.com/"&gt;Search Engine World&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.webproworld.com/"&gt;Webpro World&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.statcounter.com/"&gt;Statcounter&lt;/a&gt;&lt;br /&gt;&lt;a href="http://webmasterradio.fm/"&gt;Webmaster Radio&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Design - SEO Tools&lt;/h2&gt;&lt;br /&gt;&lt;a href="http://www.boxedart.com/phpshop/login.php"&gt;Boxed Art&lt;/a&gt;&lt;br /&gt;&lt;a href="http://netmechanic.com/GIFBot/optimize-graphic.htm#ses_sample"&gt;Net mechanic&lt;/a&gt;&lt;br /&gt;&lt;a href="https://ondemand.webtrends.com/"&gt;Webtrends&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.clipart.com/en/sign_in/index"&gt;Clip art&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.animfactory.com/cgi-bin/login.pl"&gt;Anim Factory&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.marketleap.com/"&gt;Market Leap&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wordtracker.com/"&gt;Wordtracker&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flashcomponents.com/"&gt;Flash Components&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.searchenginepromotionhelp.com/m/keywords/processor.php"&gt;Search Engine promotion help&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.godaddy.com/"&gt;Go Daddy&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8344838571822982034?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8344838571822982034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8344838571822982034' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8344838571822982034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8344838571822982034'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/12/search-engine-optimization-seo.html' title='Search Engine Optimization (SEO)'/><author><name>koobmeej</name><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-36034388.post-8210334306782492864</id><published>2006-12-08T07:26:00.000-08:00</published><updated>2006-12-08T07:49:52.148-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Manifest Files'/><category scheme='http://www.blogger.com/atom/ns#' term='mt.exe'/><category scheme='http://www.blogger.com/atom/ns#' term='crash'/><title type='text'>Vista Manifest Crash</title><content type='html'>Since a lot of people are searching for it here it is again.&lt;br /&gt;&lt;br /&gt;Out of the box, when you create a manifest using Windows Visual Studio 2005 your  program will &lt;span style="font-weight: bold;"&gt;crash&lt;/span&gt; when run on &lt;span style="font-weight: bold;"&gt;Non Windows Vista&lt;/span&gt; boxes.   Microsoft uses a gentler word and says &lt;a href="http://support.microsoft.com/Default.aspx?kbid=921337"&gt;&lt;span style="font-weight: bold;"&gt;reboot&lt;/span&gt;&lt;/a&gt; in their KB article.&lt;br /&gt;&lt;br /&gt;To &lt;span style="font-weight: bold;"&gt;fix&lt;/span&gt; the &lt;span style="font-weight: bold;"&gt;Vista Manifest Crash&lt;/span&gt; issue taken from my previous &lt;a href="http://koobmeej.blogspot.com/2006/11/cc-and-windows-vista-woes.html"&gt;blog entry&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span id="_ctl0_MainContent_PostFlatView"&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;In Windows Visual Studio 2005&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;&lt;span id="_ctl0_MainContent_PostFlatView"&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;there are multiple copies of the mt.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;exe&lt;/span&gt; (Manifest Tool) program. There is an older version in the $&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;InstallDir&lt;/span&gt;\&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;VC&lt;/span&gt;\bin that you need to replace with the mt.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;exe&lt;/span&gt; found in $&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;InstallDir&lt;/span&gt;\Common7\Tools\Bin.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="_ctl0_MainContent_PostFlatView"&gt;&lt;span&gt;&lt;br /&gt;After you replace the mt.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;exe&lt;/span&gt; file with the one that works.  Rebuild your project and the manifest file will be created properly.  Your program will no longer crash when run on non vista boxes.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8210334306782492864?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8210334306782492864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8210334306782492864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8210334306782492864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8210334306782492864'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/12/vista-manifest-crash.html' title='Vista Manifest Crash'/><author><name>koobmeej</name><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-36034388.post-6773827787590222534</id><published>2006-12-06T10:40:00.000-08:00</published><updated>2006-12-06T10:44:09.790-08:00</updated><title type='text'>Windows Vista Launch Developer Resource DVD</title><content type='html'>Got the &lt;span style="font-style: italic;"&gt;Windows Vista Launch Developer Resource DVD&lt;/span&gt;&lt;span&gt; in the mail today.  Found it extremely funny that it didn't run properly on my &lt;span style="font-style: italic;"&gt;Windows Vista Ultimate&lt;/span&gt; test computer.  So if Microsoft can't even get their programs to work right on Vista, what are the rest of us to do?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-6773827787590222534?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/6773827787590222534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=6773827787590222534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6773827787590222534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/6773827787590222534'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/12/windows-vista-launch-developer-resource.html' title='Windows Vista Launch Developer Resource DVD'/><author><name>koobmeej</name><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-36034388.post-2375963952581642439</id><published>2006-11-27T11:08:00.000-08:00</published><updated>2006-11-27T11:30:04.202-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='VC8'/><category scheme='http://www.blogger.com/atom/ns#' term='compile errors'/><category scheme='http://www.blogger.com/atom/ns#' term='C3202'/><category scheme='http://www.blogger.com/atom/ns#' term='WTL'/><title type='text'>Unspecialized class template can't be used ...</title><content type='html'>Ever had fun with Compiler Error C3203 and Visual Studio 2005 (VC8)?  I maintain a project that uses the Windows Template Library (WTL).  When upgrading the project to use VC8 I noticed hundreds upon hundreds of compile errors with this cryptic statement &lt;span style="font-style: italic;"&gt;"unspecialized class template can't be used as a template argument for template parameter 'T', expected a real type"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Here's Microsoft's explanation:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms177253.aspx"&gt;Unspecialized class template can't be used as a template argument in a base class list&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a onclick="javascript:Track('ctl00_LibFrame_ctl01|ctl00_LibFrame_ctl12',this);" href="http://msdn2.microsoft.com/en-us/library/606k9xxc.aspx"&gt;Compiler Error C3203&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Here's my translation:&lt;br /&gt;&lt;br /&gt;Say you have a class definition something like below.  Pay attention to the text in bold.&lt;br /&gt;&lt;br /&gt;template &amp;lt;class TItem = CCustomTabItem&amp;gt;&lt;br /&gt;class CDotNetButtonTabCtrl :&lt;br /&gt; public CCustomTabCtrl&amp;lt;&lt;span style="font-weight: bold;"&gt;CDotNetButtonTabCtrl&lt;/span&gt;, TItem&amp;gt;&lt;br /&gt;&lt;br /&gt;Change the code to below so it will compile, and your C3203 compile errors will disappear.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;template &amp;lt;class TItem = CCustomTabItem&amp;gt;&lt;br /&gt;class CDotNetButtonTabCtrl :&lt;br /&gt; public CCustomTabCtrl&amp;lt;&lt;span style="font-weight: bold;"&gt;CDotNetButtonTabCtrl&amp;lt;TItem&amp;gt;&lt;/span&gt;, TItem&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-2375963952581642439?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/2375963952581642439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=2375963952581642439' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2375963952581642439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/2375963952581642439'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/11/unspecialized-class-template-cant-be.html' title='Unspecialized class template can&apos;t be used ...'/><author><name>koobmeej</name><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-36034388.post-5757691191466915315</id><published>2006-11-21T07:21:00.000-08:00</published><updated>2008-02-22T08:32:26.400-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='CreateProcess'/><title type='text'>Windows Vista CreateProcess Issues</title><content type='html'>Windows Vista has been nothing but fun.&lt;span style="font-style: italic;"&gt;   &lt;/span&gt;I came across an issue where all CreateProcess calls in the application I'm upgrading to Vista now fail.  The processes are launched from within a GUI application.  The launched process requires &lt;a href="http://koobmeej.blogspot.com/2006/11/cc-and-windows-vista-woes.html"&gt;Administrator rights&lt;/a&gt;.  The launched process was upgraded to include the appropriate Vista Maniftest, though when launched from the old application the CreateProcess call fails with error 740 &lt;span style=";font-family:Calibri;font-size:100%;"  &gt;ERROR_ELEVATION_REQUIRED.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Turns out I can no longer use CreateProcess to launch the process.  I have to use ShellExecute instead.&lt;br /&gt;&lt;br /&gt;&lt;pre class='code'&gt;&lt;br /&gt;::ShellExecute( &lt;br /&gt;          m_hWnd,&lt;br /&gt;          _T("runas"), &lt;br /&gt;          szProcess,&lt;br /&gt;          0, // params&lt;br /&gt;          0, // directory&lt;br /&gt;          SW_SHOWNORMAL&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've found this resources somewhat useful &lt;a href="http://msdn.microsoft.com/windowsvista/reference/default.aspx"&gt;Microsoft Vista Developer Reference&lt;/a&gt;.  Though most of Microsoft's Vista documentation tends to be a bunch of marketing fluff with no real substance.  My favorite example of this can be &lt;a href="http://msdn.microsoft.com/windowsvista/reference/interop/default.aspx?pull=/library/en-us/dnlong/html/interopmig.asp#interopmig_new_topic1"&gt;found here&lt;/a&gt;.  In it's current state the article is nothing more than a poorly organized mess, sprinkled with keywords, giving the developer no real hope of ever figuring out what wonderful changes are ahead with Microsoft Vista.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-5757691191466915315?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/5757691191466915315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=5757691191466915315' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5757691191466915315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/5757691191466915315'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/11/windows-vista-createprocess-issues.html' title='Windows Vista CreateProcess Issues'/><author><name>koobmeej</name><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-36034388.post-8981927632648174433</id><published>2006-11-20T21:34:00.000-08:00</published><updated>2006-11-21T07:46:29.259-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='Doctors Excuse Forms'/><category scheme='http://www.blogger.com/atom/ns#' term='Doctor'/><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><category scheme='http://www.blogger.com/atom/ns#' term='Doctors Excuse'/><title type='text'>Ode to the Doctor's Excuse</title><content type='html'>Doctor's excuse oh Doctor's excuse why do I need thee?  Did I fall out of bed and break my head?&lt;br /&gt;Or am I just to lazy? I've been so sick I fear my rear is stuck to the bed though I am not dead.&lt;br /&gt;For work for school the form I seek, but don't know where to &lt;a href="http://www.mydoctorsoffice.com/doctorexcuseforms.html"&gt;find it&lt;/a&gt;?  Where can I go, I do not know? The doctor I know is not willing to give it. Unless, I get out of bed and drive to town and ask him for the Doctor's Excuse Form.  Signed by him or maybe her, it doesn't matter.  As long as my boss or maybe my teacher doesn't fire me over the matter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-8981927632648174433?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/8981927632648174433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=8981927632648174433' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8981927632648174433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/8981927632648174433'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/11/ode-to-doctors-excuse.html' title='Ode to the Doctor&apos;s Excuse'/><author><name>koobmeej</name><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-36034388.post-3412864696064307256</id><published>2006-11-19T08:52:00.000-08:00</published><updated>2006-11-21T07:47:02.182-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hmong'/><category scheme='http://www.blogger.com/atom/ns#' term='Egg Roll'/><category scheme='http://www.blogger.com/atom/ns#' term='Recipe'/><title type='text'>The Egg Roll</title><content type='html'>My wife made some Hmong Egg Rolls for me.  I have to say they were so yummy!  Best Egg Rolls I've had in a long time.  Here's the &lt;a href="http://www.koobmeej.com/eggrolls.html"&gt;recipe&lt;/a&gt;.  I think the secret to the egg roll recipe is letting the bean thread soak up all the juices from the cilantro, meat, and other ingredients.  Then when you cook them in the peanut oil ... delicious!!  I've seen a few other &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;recipes&lt;/span&gt; for &lt;a href="http://www.rice.edu/armadillo/Projects/Menus/kab-yob.html"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Hmong&lt;/span&gt; egg rolls&lt;/a&gt; around some better than others.  If you were to search for &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Hmong&lt;/span&gt; egg rolls you'll also see it called &lt;span style="font-style: italic;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;kabyob&lt;/span&gt;&lt;/span&gt;;  which is just how to spell egg roll in in the &lt;a href="http://www.koobmeej.com/hmong/index.html"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;Hmong&lt;/span&gt;&lt;/a&gt; language.  &lt;span style="font-style: italic;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Kabyob&lt;/span&gt;&lt;/span&gt; pronounced more like &lt;span style="font-style: italic;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;ga&lt;/span&gt; yaw&lt;/span&gt; in &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;English&lt;/span&gt; means egg roll.  Each &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;Hmong&lt;/span&gt; family tends to have their own egg roll recipe, not really written down, but adapted to their own tastes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-3412864696064307256?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/3412864696064307256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=3412864696064307256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3412864696064307256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/3412864696064307256'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/11/egg-roll.html' title='The Egg Roll'/><author><name>koobmeej</name><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-36034388.post-7214821694566675375</id><published>2006-11-17T07:51:00.000-08:00</published><updated>2006-11-21T07:47:49.467-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Manifest Files'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Signing'/><title type='text'>Windows Vista Code Signing</title><content type='html'>Windows Vista Code Signing.  Seems with Windows latest OS code signing isn't optional.  Its something you need to do.  Why?  Cause if you don't Windows Vista makes your program to appear as if it's a malware or a virus program.  The "Do you really want to do this?" and "Are you really, really sure?" dialogs are all over the place in Windows Vista.   So bottom line, you need to sign your executables.&lt;br /&gt;&lt;br /&gt;Code signing has actually gotten easier over the years.  You used to have to download the &lt;span style="font-style: italic;"&gt;Microsoft Code Signing Tool&lt;/span&gt;.  Now it just comes bundled with Visual Studio; which actually makes things a little easier.&lt;br /&gt;&lt;br /&gt;So first off, you need to get a Code Signing Certificate.  These can be obtained from a Windows Vista &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/rootcertprog.asp"&gt;Trusted Certificate Authority (CA)&lt;/a&gt;.  Verisign, Thawte, and GeoTrust are the big ones (Though Thawte is owned by Verisign).  You'll need to order a &lt;a href="http://msdn.microsoft.com/workshop/security/authcode/intro_authenticode.asp"&gt;Microsoft Authenticode&lt;/a&gt; signing certificate. The company you purchase from can walk you through the step of generating the certificate.&lt;br /&gt;&lt;br /&gt;Once you have a certificate you can add a post build event to your visual studio project that will sign the exe, or dll after it's built.  The command to run will look something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signcode.exe -v your.pvk -spc your.spc $(OutDir)\$(TargetFileName) -t http://timestamp.verisign.com/scripts/timstamp.dll&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You'll probably find these links helpful:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://http//msdn2.microsoft.com/en-gb/library/8s9b9yaz%28VS.80%29.aspx"&gt;SignCode.exe Documentation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-gb/library/9sh96ycy%28VS.80%29.aspx"&gt;SignTool.exe Documentation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-gb/library/f657tk8f%28VS.80%29.aspx"&gt;Cert2Spc.exe Documentation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://http//msdn2.microsoft.com/en-gb/library/8s9b9yaz%28VS.80%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-7214821694566675375?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/7214821694566675375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=7214821694566675375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7214821694566675375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/7214821694566675375'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/11/windows-vista-code-signing.html' title='Windows Vista Code Signing'/><author><name>koobmeej</name><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-36034388.post-261776572499087570</id><published>2006-11-15T07:29:00.000-08:00</published><updated>2006-11-20T08:09:43.268-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='requestedExecutionLevel'/><category scheme='http://www.blogger.com/atom/ns#' term='Manifest Files'/><category scheme='http://www.blogger.com/atom/ns#' term='Administrator Privleges'/><title type='text'>Windows Vista Manifest File Issues</title><content type='html'>In the process of upgrading a product to work with Windows Vista and having way to much fun.&lt;br /&gt;&lt;br /&gt;Part of my issues have been with adding the new &lt;span id="_ctl0_MainContent_PostFlatView"&gt;&lt;span&gt;requestedExecutionLevel to an exe so it can be run as an administrator.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/AccProtVista.asp"&gt;Per Microsoft Vista Documentation&lt;/a&gt; a manifest needs to be added which adds the appropriate requestedExecutionLevel, in my case administrator.&lt;br /&gt;&lt;br /&gt;So how do you add the requestedExecutionlevel to a program?&lt;br /&gt;&lt;br /&gt;1) Create a file and paste the required XML found in the Microsoft Vista Documentation&lt;br /&gt;&lt;br /&gt;It looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestversion="1.0"&amp;gt;&lt;br /&gt;&amp;lt;trustinfo xmlns="urn:schemas-microsoft-com:asm.v3"&amp;gt;&lt;br /&gt;&amp;lt;security&amp;gt;&lt;br /&gt;  &amp;lt;requestedprivileges&amp;gt;&lt;br /&gt;    &amp;lt;requestedexecutionlevel level="requireAdministrator" uiaccess="false"&amp;gt;&lt;br /&gt;  &amp;lt;/requestedexecutionlevel&amp;gt;&lt;br /&gt;&amp;lt;/requestedprivileges&amp;gt;&lt;br /&gt;&amp;lt;/security&amp;gt;&lt;br /&gt;&amp;lt;/trustinfo&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2)  Tell VC8 about the manifest file you just created.  From the VC8 project properties you need to go to Manifest Tool &gt; Input and Output &gt; Additional Manifest Files.  Set Additional Manifest Files to be the filename you created above.&lt;br /&gt;&lt;br /&gt;3) Compile your project.&lt;br /&gt;&lt;br /&gt;If you have a working Manifest Tool program, your program will now have a good manifest file.  If you don't, then the manifest created will be broken, and your program will have a great feature when run on Windows XP.  It will automatically &lt;a href="http://support.microsoft.com/Default.aspx?kbid=921337"&gt;reboot the computer&lt;/a&gt; for you!! Isn't that wonderful?&lt;br /&gt;&lt;br /&gt;The fix for this Windows Vista Manifest crash on Windows XP is a gem I found in one of the &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=918895&amp;SiteID=1"&gt;Microsoft Forumns&lt;/a&gt;.  Since it is a gem, the solution is buried away in the forumn.  Here is the gem:&lt;br /&gt;&lt;br /&gt;In Windows Visual Studio 2005 there are multiple copies of the mt.exe (Manifest Tool) program.  There is an older version in the $InstallDir\VC\bin that you need to replace with the mt.exe found in $InstallDir\Common7\Tools\Bin.&lt;br /&gt;&lt;br /&gt;Follow the above steps and you should have a program that will run as an administrator on Windows Vista and actually work on previous versions of Windows without crashing. &lt;span style="font-style: italic;"&gt;(Always a plus)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Possible additional steps, use your code signing certificate and sign the executable for a more user friendly dialog when your program is run on Windows Vista.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-261776572499087570?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/261776572499087570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=261776572499087570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/261776572499087570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/261776572499087570'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/11/cc-and-windows-vista-woes.html' title='Windows Vista Manifest File Issues'/><author><name>koobmeej</name><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-36034388.post-116112677623178592</id><published>2006-10-17T16:11:00.001-07:00</published><updated>2006-11-15T08:14:01.988-08:00</updated><title type='text'>In search of a good website stat counter</title><content type='html'>Looking for some good website stat counters.   I've been using &lt;a href="http://statcounter.com/"&gt;http://statcounter.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Came across &lt;a href="http://103bees.com/"&gt;http://103bees.com&lt;/a&gt; impressed by how it helps you with search terms.  Also pretty fond of &lt;a href="http://www.google.com/analytics"&gt;http://www.google.com/analytics&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Any better ones out there?&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36034388-116112677623178592?l=koobmeej.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://koobmeej.blogspot.com/feeds/116112677623178592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36034388&amp;postID=116112677623178592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/116112677623178592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36034388/posts/default/116112677623178592'/><link rel='alternate' type='text/html' href='http://koobmeej.blogspot.com/2006/10/stat-counters_17.html' title='In search of a good website stat counter'/><author><name>koobmeej</name><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>
