<?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-20589565</id><updated>2011-11-27T18:31:46.132-06:00</updated><title type='text'>CroftSoft Update</title><subtitle type='html'>Update announcements from &lt;a href="http://www.CroftSoft.com/"&gt;CroftSoft Inc&lt;/a&gt;.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-20589565.post-5908932325897679248</id><published>2011-11-14T18:12:00.000-06:00</published><updated>2011-11-14T18:12:41.250-06:00</updated><title type='text'>CroftSoft IntFire v1.1</title><content type='html'>&lt;div style="text-align: justify;"&gt;I put out a new release of &lt;a target="_blank" href="http://www.croftsoft.com/library/software/intfire/"&gt;CroftSoft IntFire&lt;/a&gt; to accompany my tutorial presentation on &lt;a href="http://www.croftsoft.com/library/tutorials/exp-decay/" target="_blank"&gt;Exponential Decay Current Synapses&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/intfire/"&gt;&lt;img border="0" height="214" width="320" src="http://2.bp.blogspot.com/-_PW43FY1yrY/TsGuUUfx8DI/AAAAAAAAAWo/0M7Qtkw89ME/s320/exp-decay.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-5908932325897679248?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/5908932325897679248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=5908932325897679248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5908932325897679248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5908932325897679248'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/11/croftsoft-intfire-v11.html' title='CroftSoft IntFire v1.1'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-_PW43FY1yrY/TsGuUUfx8DI/AAAAAAAAAWo/0M7Qtkw89ME/s72-c/exp-decay.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-8859706296664680935</id><published>2011-10-26T19:19:00.000-05:00</published><updated>2011-10-26T19:19:53.395-05:00</updated><title type='text'>Java Style Guide</title><content type='html'>&lt;div style="text-align: justify;"&gt;I started writing the &lt;a href="http://www.croftsoft.com/library/tutorials/java-style-guide/" target="_blank"&gt;CroftSoft Java Style Guide&lt;/a&gt;.  I will be adding to it as time goes on.  I have adopted the &lt;a href="http://en.wikipedia.org/wiki/Allman_style#Allman_style" target="_blank"&gt;brace indentation style&lt;/a&gt; popularized by &lt;a href="http://en.wikipedia.org/wiki/Eric_Allman" target="_blank"&gt;Eric Allman&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Eric_Allman" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-EmvTKm8xAPw/TqiigsCcwZI/AAAAAAAAARg/wLkOOBM7eWs/s320/Eric_Allman-lca2011.jpg" width="214" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-8859706296664680935?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/8859706296664680935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=8859706296664680935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8859706296664680935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8859706296664680935'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/10/java-style-guide.html' title='Java Style Guide'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-EmvTKm8xAPw/TqiigsCcwZI/AAAAAAAAARg/wLkOOBM7eWs/s72-c/Eric_Allman-lca2011.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-8046987173131745652</id><published>2011-10-17T17:43:00.000-05:00</published><updated>2011-10-17T17:43:27.738-05:00</updated><title type='text'>SIEVE JOGL Applet</title><content type='html'>&lt;div style="text-align: justify;"&gt;I deployed the Spike Interface Embodied Virtual Environment (SIEVE) implementation that I wrote in 2008, &lt;a target="_blank" href="http://www.croftsoft.com/library/software/sieve/"&gt;CroftSoft SIEVE&lt;/a&gt;, as a Java OpenGL (JOGL) applet.  I also released the &lt;a target="_blank" href="http://croftsoft.svn.sourceforge.net/viewvc/croftsoft/trunk/mvn/croftsoft-app-sieve/src/main/java/com/croftsoft/app/sieve/"&gt;source code&lt;/a&gt; as Open Source.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.croftsoft.com/library/software/sieve/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="286" src="http://2.bp.blogspot.com/-Xu0XRFhVrrE/TpytWcUulvI/AAAAAAAAARQ/KQMnIGVp7KI/s320/sieve.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-8046987173131745652?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/8046987173131745652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=8046987173131745652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8046987173131745652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8046987173131745652'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/10/sieve-jogl-applet.html' title='SIEVE JOGL Applet'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Xu0XRFhVrrE/TpytWcUulvI/AAAAAAAAARQ/KQMnIGVp7KI/s72-c/sieve.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-6164431178761803814</id><published>2011-10-13T12:25:00.000-05:00</published><updated>2011-10-13T12:25:11.690-05:00</updated><title type='text'>SIEVE</title><content type='html'>&lt;div style="text-align: justify;"&gt;I uploaded some documents from a few years ago on my research into creating a &lt;a href="http://www.croftsoft.com/people/david/research/neural/#sieve" target="_blank"&gt;Spike Interface Embodied Virtual Environment&lt;/a&gt; (SIEVE).  I proposed to train a neuronal network using spike-timing dependent plasticity (STDP) in a virtual environment and then validate the performance in the real world using a robot.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a target="_blank" href="http://www.croftsoft.com/people/david/research/neural/#sieve" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="247" src="http://1.bp.blogspot.com/-4Ymo0U7Sm98/TpceHqSF7UI/AAAAAAAAARE/ebMyVzabIpw/s320/sieve-2007-10-22.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-6164431178761803814?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/6164431178761803814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=6164431178761803814' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/6164431178761803814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/6164431178761803814'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/10/sieve.html' title='SIEVE'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-4Ymo0U7Sm98/TpceHqSF7UI/AAAAAAAAARE/ebMyVzabIpw/s72-c/sieve-2007-10-22.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-5551220779301679348</id><published>2011-10-08T22:34:00.001-05:00</published><updated>2011-10-08T22:49:23.568-05:00</updated><title type='text'>CroftSoft QuickStudy</title><content type='html'>&lt;div style="text-align: justify;"&gt;I released my first Android app, &lt;a href="http://www.croftsoft.com/library/software/quickstudy/" target="_blank"&gt;CroftSoft QuickStudy&lt;/a&gt;.  This is a quiz application to help you study.  Topics included so far are atomic element symbols and United States capitals.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/quickstudy/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="293" src="http://2.bp.blogspot.com/-3yrKZsLFYSQ/TpEVxjm4DsI/AAAAAAAAAQ8/6HkSPkwLoG8/s320/quickstudy.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-5551220779301679348?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/5551220779301679348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=5551220779301679348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5551220779301679348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5551220779301679348'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/10/croftsoft-quickstudy.html' title='CroftSoft QuickStudy'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-3yrKZsLFYSQ/TpEVxjm4DsI/AAAAAAAAAQ8/6HkSPkwLoG8/s72-c/quickstudy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-315881108344442929</id><published>2011-10-07T21:27:00.003-05:00</published><updated>2011-11-04T01:02:57.074-05:00</updated><title type='text'>Integrate-and-Fire</title><content type='html'>&lt;div style="text-align: justify;"&gt;I uploaded my slideshow presentation on the &lt;a href="http://www.croftsoft.com/library/tutorials/integrate-and-fire/" target="_blank"&gt;Integrate-and-Fire&lt;/a&gt; neuron model.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.croftsoft.com/library/tutorials/integrate-and-fire/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="214" width="320" src="http://4.bp.blogspot.com/-1tL-EQsSEDE/TrN_z5-H35I/AAAAAAAAASY/Sf0HYV6F9oo/s320/leaky-integrate-and-fire-circuit.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-315881108344442929?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/315881108344442929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=315881108344442929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/315881108344442929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/315881108344442929'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/10/integrate-and-fire.html' title='Integrate-and-Fire'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-1tL-EQsSEDE/TrN_z5-H35I/AAAAAAAAASY/Sf0HYV6F9oo/s72-c/leaky-integrate-and-fire-circuit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-184555597100333919</id><published>2011-10-07T00:34:00.000-05:00</published><updated>2011-10-07T00:34:18.435-05:00</updated><title type='text'>CroftSoft IntFire</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.croftsoft.com/library/software/intfire/" target="_blank"&gt;CroftSoft IntFire&lt;/a&gt; is an interactive animated simulation of a spiking neuron.  The &lt;a target="_blank" href="http://croftsoft.svn.sourceforge.net/viewvc/croftsoft/trunk/mvn/croftsoft-app-intfire/src/main/java/com/croftsoft/app/intfire/"&gt;Java Swing code&lt;/a&gt; is similar to &lt;a href="http://www.croftsoft.com/library/software/neuro/" target="_blank"&gt;CroftSoft Neuro&lt;/a&gt; except that it uses a &lt;a target="_blank" href="http://croftsoft.svn.sourceforge.net/viewvc/croftsoft/trunk/mvn/croftsoft-lib-jse/src/main/java/com/croftsoft/core/ai/neuro/imp/IntFireNeuronImp.java?revision=128&amp;view=markup"&gt;leaky integrate-and-fire neuron model&lt;/a&gt; instead of &lt;a target="_blank" href="http://croftsoft.svn.sourceforge.net/viewvc/croftsoft/trunk/mvn/croftsoft-lib-jse/src/main/java/com/croftsoft/core/ai/neuro/imp/HhNeuronImp.java?revision=113&amp;view=markup"&gt;Hodgkin-Huxley equations&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.croftsoft.com/library/software/intfire/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="214" src="http://2.bp.blogspot.com/-n-ft-4l_Gz0/To6MjejUC6I/AAAAAAAAAQs/WM5RtctZjq0/s320/intfire.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-184555597100333919?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/184555597100333919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=184555597100333919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/184555597100333919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/184555597100333919'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/10/croftsoft-intfire.html' title='CroftSoft IntFire'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-n-ft-4l_Gz0/To6MjejUC6I/AAAAAAAAAQs/WM5RtctZjq0/s72-c/intfire.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-8108920260957549002</id><published>2011-09-27T21:29:00.002-05:00</published><updated>2011-09-27T21:30:04.124-05:00</updated><title type='text'>Hodgkin-Huxley</title><content type='html'>&lt;div style="text-align: justify;"&gt;I uploaded my presentation on the &lt;a href="http://www.croftsoft.com/library/tutorials/hodgkin-huxley/" target="_blank"&gt;Hodgkin-Huxley&lt;/a&gt; equations which are used to create computer simulations of biologically realistic neuronal networks.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.croftsoft.com/library/tutorials/hodgkin-huxley/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="214" src="http://3.bp.blogspot.com/-apJjw6fzhY0/ToKGPjiUJpI/AAAAAAAAAQc/qBUCkpSyQPU/s320/hodgkin-huxley.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-8108920260957549002?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/8108920260957549002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=8108920260957549002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8108920260957549002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8108920260957549002'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/09/hodgkin-huxley.html' title='Hodgkin-Huxley'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-apJjw6fzhY0/ToKGPjiUJpI/AAAAAAAAAQc/qBUCkpSyQPU/s72-c/hodgkin-huxley.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-3779056678133291760</id><published>2011-09-26T13:04:00.002-05:00</published><updated>2011-09-26T13:05:33.443-05:00</updated><title type='text'>Taylor Series</title><content type='html'>&lt;div style="text-align: justify;"&gt;I uploaded a slide presentation on the &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/taylor/"&gt;Taylor Series&lt;/a&gt; which is frequently used in computer simulation and game programming.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.croftsoft.com/library/tutorials/taylor/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/--g6a8Jo22Dk/ToC-bZDXa6I/AAAAAAAAAQU/tSqfw32g10U/s1600/taylor.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-3779056678133291760?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/3779056678133291760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=3779056678133291760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3779056678133291760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3779056678133291760'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/09/taylor-series.html' title='Taylor Series'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/--g6a8Jo22Dk/ToC-bZDXa6I/AAAAAAAAAQU/tSqfw32g10U/s72-c/taylor.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-7388105382208148147</id><published>2011-09-03T19:20:00.001-05:00</published><updated>2011-09-03T19:47:27.024-05:00</updated><title type='text'>Poisson Distribution</title><content type='html'>&lt;div style="text-align: justify;"&gt;On page 378 of my book &lt;a target="_blank" href="http://www.croftsoft.com/library/books/ajgp/"&gt;Advanced Java Game Programming&lt;/a&gt;, I explained how the probability of an enemy tank firing during a game loop update could be approximated by simply multiplying the firing rate with the reciprocal of the frame rate.  As part of my recent &lt;a target="_blank" href="http://www.croftsoft.com/people/david/research/neural/"&gt;computational neuroscience research&lt;/a&gt; into how to simulate the firing rate of a spiking neuron, I have acquired a more detailed understanding of the mathematics.  Please see my slide presentation on the &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/poisson/"&gt;Poisson Distribution&lt;/a&gt; for both the exact formula and justification for the approximation.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a target="_blank" href="http://en.wikipedia.org/wiki/File:Poisson_pmf.svg"&gt;&lt;img border="0" height="257" src="http://1.bp.blogspot.com/-XvLX8jHznZY/TmLDvclU7BI/AAAAAAAAAQM/wm8UxtBpBCo/s320/poisson.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-7388105382208148147?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/7388105382208148147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=7388105382208148147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/7388105382208148147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/7388105382208148147'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2011/09/poisson-distribution.html' title='Poisson Distribution'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XvLX8jHznZY/TmLDvclU7BI/AAAAAAAAAQM/wm8UxtBpBCo/s72-c/poisson.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-3960568299767522080</id><published>2010-03-30T21:17:00.001-05:00</published><updated>2010-03-30T21:18:46.072-05:00</updated><title type='text'>SloopSoft SkipperFree</title><content type='html'>&lt;div style="text-align: justify;"&gt;I recently co-founded SloopSoft Inc to sell Skipper, the image slideshow viewer that automatically learns as you use it to show only what you like.&amp;nbsp; An Open Source version, &lt;a target="_blank" href="http://www.croftsoft.com/library/software/skipper/"&gt;SkipperFree&lt;/a&gt;, is online and can be downloaded as a desktop application.&amp;nbsp; The SkipperFree Java Swing source code is available at &lt;a target="_blank" href="http://sourceforge.net/projects/sloopsoft/develop"&gt;SourceForge.net&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://commons.wikimedia.org/wiki/File:Sloop_%28PSF%29.png" target="_blank"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_0hd1h7W7uak/S7Ku8UcJWRI/AAAAAAAAALo/9_JtjN7w-QU/s320/564px-Sloop_%28PSF%29.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-3960568299767522080?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/3960568299767522080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=3960568299767522080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3960568299767522080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3960568299767522080'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2010/03/sloopsoft-skipperfree.html' title='SloopSoft SkipperFree'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0hd1h7W7uak/S7Ku8UcJWRI/AAAAAAAAALo/9_JtjN7w-QU/s72-c/564px-Sloop_%28PSF%29.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-9034954812391475593</id><published>2009-07-04T00:57:00.004-05:00</published><updated>2009-07-04T01:01:00.372-05:00</updated><title type='text'>Three Phase Update</title><content type='html'>&lt;p align="justify"&gt;I uploaded a new tutorial &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/tpu/"&gt;Concurrent Java Simulations Using Three Phase Update&lt;/a&gt;.  Here is the abstract:&lt;/p&gt;&lt;p align="justify"&gt;Computer games and simulations have a main loop which is divided into phases such as user input controller processing, updating model state, and rendering the view. Since the states of multiple simulated objects are determined by their interactions, each object must have the opportunity to access the current state of every other object during the update phase. To ensure that the next states of objects are independent of the order in which they are updated, all of these accesses must occur before the state of any one object mutates into its next state. This can be accomplished by dividing the update into two sub-phases, access and mutate, in which no object can mutate its state until every other object has completed accessing shared state. Beyond update order independence, this has an additional benefit in that this can increase the performance of multi-threaded concurrent applications because synchronization is not required to ensure the integrity of shared state. A further increase in performance for concurrent simulations can be had by the introduction of a third sub-phase, digest, in which processing is performed on data copied during the preceding access sub-phase but modifying shared state is delayed until the following mutate sub-phase. This tutorial demonstrates the use of the three sub-phases pattern, Three Phase Update (TPU), using example code in the Java programming language including classes from the Java concurrency library. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=croftsoft-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0321349601&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-9034954812391475593?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/9034954812391475593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=9034954812391475593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/9034954812391475593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/9034954812391475593'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2009/07/three-phase-update.html' title='Three Phase Update'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-3212320132928034477</id><published>2008-11-10T21:30:00.003-06:00</published><updated>2008-11-10T21:32:53.922-06:00</updated><title type='text'>Drools Game of Life Example</title><content type='html'>&lt;p align="justify"&gt;I uploaded an export of my slides for my presentation to the Dallas Rules Group on the &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/drools/"&gt;Drools Game of Life Example&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/drools/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://2.bp.blogspot.com/_0hd1h7W7uak/SRj8s93wKeI/AAAAAAAAAGQ/IVDjGHqY55U/s400/pulsar.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5267237613662644706" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-3212320132928034477?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/3212320132928034477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=3212320132928034477' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3212320132928034477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3212320132928034477'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2008/11/drools-game-of-life-example.html' title='Drools Game of Life Example'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_0hd1h7W7uak/SRj8s93wKeI/AAAAAAAAAGQ/IVDjGHqY55U/s72-c/pulsar.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-3851877069787783436</id><published>2008-11-04T22:02:00.004-06:00</published><updated>2008-11-04T22:05:34.182-06:00</updated><title type='text'>CroftSoft Life</title><content type='html'>&lt;p align="justify"&gt;I uploaded &lt;a target="_blank" href="http://www.croftsoft.com/library/software/life/"&gt;CroftSoft Life&lt;/a&gt;, an animation of Conway's Game of Life.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/life/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://1.bp.blogspot.com/_0hd1h7W7uak/SREbNQYICEI/AAAAAAAAAGI/0WQSYORMfkM/s400/life.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265019353921226818" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-3851877069787783436?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/3851877069787783436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=3851877069787783436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3851877069787783436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3851877069787783436'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2008/11/croftsoft-life.html' title='CroftSoft Life'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0hd1h7W7uak/SREbNQYICEI/AAAAAAAAAGI/0WQSYORMfkM/s72-c/life.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-6912909122615553925</id><published>2008-09-28T20:40:00.003-05:00</published><updated>2008-09-28T20:48:18.694-05:00</updated><title type='text'>Quaternion Rotations</title><content type='html'>&lt;p align="justify"&gt;I created the tutorial &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/quat/"&gt;Quaternion Rotations in 3D Java OpenGL&lt;/a&gt; to document a 3D math library that I wrote a few months ago.  It includes an interactive demonstration applet and links to the javadoc and source code.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/quat/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_0hd1h7W7uak/SOAzmwy3jJI/AAAAAAAAAGA/PIzFkaWpO8o/s400/quat.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251253906540301458" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-6912909122615553925?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/6912909122615553925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=6912909122615553925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/6912909122615553925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/6912909122615553925'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2008/09/quaternion-rotations.html' title='Quaternion Rotations'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0hd1h7W7uak/SOAzmwy3jJI/AAAAAAAAAGA/PIzFkaWpO8o/s72-c/quat.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-2570613992720840674</id><published>2008-08-29T21:15:00.004-05:00</published><updated>2008-08-29T21:25:18.473-05:00</updated><title type='text'>CroftSoft Neuro</title><content type='html'>&lt;p align="justify"&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/software/neuro/"&gt;CroftSoft Neuro&lt;/a&gt; is an animated simulation of the Hodgkin-Huxley neuron model.  The Java source code is available from the &lt;a target="_blank" href="http://www.CroftSoft.com/library/code/"&gt;CroftSoft Code Library&lt;/a&gt;.  Here is the &lt;a target="_blank" href="http://croftsoft.cvs.sourceforge.net/croftsoft/apps/src/com/croftsoft/apps/neuro/"&gt;direct link&lt;/a&gt; to browse the source code in the SourceForge.net Open Source code repository.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/software/neuro/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_0hd1h7W7uak/SLit2LDg7jI/AAAAAAAAAFg/_osMGdPCqFQ/s400/neuro.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5240129312637644338" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-2570613992720840674?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/2570613992720840674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=2570613992720840674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/2570613992720840674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/2570613992720840674'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2008/08/croftsoft-neuro.html' title='CroftSoft Neuro'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0hd1h7W7uak/SLit2LDg7jI/AAAAAAAAAFg/_osMGdPCqFQ/s72-c/neuro.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-5754726643948313371</id><published>2008-01-27T20:23:00.001-06:00</published><updated>2008-01-27T20:30:15.364-06:00</updated><title type='text'>Interface Mail</title><content type='html'>&lt;p align="justify"&gt;I added a couple of new classes to the CroftSoft Code Library today.  I also wrote a tutorial to explain them, &lt;a target="_blank" href="http://www.CroftSoft.com/library/tutorials/mail/"&gt;Interface Mail&lt;/a&gt;.&lt;/p&gt;&lt;p align="justify"&gt;Java interface Mail is used as an intermediary to broadcast and retrieve messages passed between objects. Class FlipMail is an implementation of interface Mail which flips the outgoing and incoming messages lists when updated. FlipMail simplifies desktop application programming by reducing coupling between Model, View, and Controller (MVC) objects and controlling when state change request and event messages are processed.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/tutorials/mail/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_0hd1h7W7uak/R508slcHVgI/AAAAAAAAAD0/_6r2yM3gDko/s400/messenger.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5160347484698400258" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-5754726643948313371?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/5754726643948313371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=5754726643948313371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5754726643948313371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5754726643948313371'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2008/01/interface-mail.html' title='Interface Mail'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0hd1h7W7uak/R508slcHVgI/AAAAAAAAAD0/_6r2yM3gDko/s72-c/messenger.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-1807667971668783497</id><published>2007-12-27T20:09:00.000-06:00</published><updated>2007-12-27T20:49:16.719-06:00</updated><title type='text'>Dell Laptop NVIDIA Driver</title><content type='html'>&lt;p align="justify"&gt;I bought a Dell laptop with an NVIDIA graphics card.  The vido game Bioshock would crash on it so I tried to update the display driver.  When I attempted to do so, I got this error message:&lt;/p&gt;&lt;blockquote&gt;The NVIDIA Setup program could not locate any drivers that are compatible with your current hardware.  Setup will now exit.&lt;/blockquote&gt;&lt;p align="justify"&gt;It turns out that NVIDIA supports installation for the 8800, but not the 8800M.  If you dig around on the NVIDIA website, you can find this hint:&lt;blockquote&gt;&lt;p align="justify"&gt;Dell requires that you download the driver for your GPU from their support site.&lt;/p&gt;&lt;p align="justify"&gt;You can find more information at: http://support.dell.com/.&lt;/p&gt;&lt;p align="justify"&gt;The GeForce M series and GeForce Go series notebook GPUs use drivers that have been customized by the notebook manufacturers to support hot key functions, power management functions, lid close and suspend/resume behavior. NVIDIA has worked with some notebook manufacturers to provide notebook-specific driver updates, however, most notebook driver updates must come from the notebook manufacturer. Additionally, the desktop GeForce graphics drivers will not install on Geforce M series and Quadro M series notebook GPU's.&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="justify"&gt;Unfortunately the customized driver that Dell provides is the outdated version I needed to replace in order to get Bioshock working.  I was stuck with a new laptop with a new video card that could not run the new video games.&lt;/p&gt;&lt;p align="justify"&gt;After many hours of searching the Web, I finally found a solution at &lt;a target="_blank" href="http://www.LaptopVideo2Go.com"&gt;LaptopVideo2Go.com&lt;/a&gt;.  They provide a customized installation configuration file of a recent version of the NVIDIA display drivers for your laptop.  Now I have had problems with the suspend/resume function since I installed the driver but at least I can play my new games now.  Until Dell or NVIDIA start providing installation configuration files for the latest NVIDIA display drivers for the Dell laptop, LaptopVideo2Go might be your only solution.&lt;/p&gt;&lt;p align="justify"&gt;Speaking of video games, I love the &lt;a target="_blank" href="http://www.amazon.com/exec/obidos/ASIN/B000PS2XES/croftsoft-20"&gt;Orange Box&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.LaptopVideo2Go.com/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_0hd1h7W7uak/R3RbNvao_UI/AAAAAAAAADU/qnHetGVI-Bc/s400/error.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5148840565615951170" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-1807667971668783497?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/1807667971668783497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=1807667971668783497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/1807667971668783497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/1807667971668783497'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/12/updating-dell-laptop-nvidia-driver.html' title='Dell Laptop NVIDIA Driver'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0hd1h7W7uak/R3RbNvao_UI/AAAAAAAAADU/qnHetGVI-Bc/s72-c/error.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-515639551439166428</id><published>2007-11-30T21:12:00.000-06:00</published><updated>2007-11-30T21:29:23.518-06:00</updated><title type='text'>Source Code Release</title><content type='html'>&lt;p align="justify"&gt;I finished my Open Source software project &lt;a target="_blank" href="http://CroftSoft.com/library/software/infant/"&gt;CroftSoft Infant&lt;/a&gt;.  My collaborator was able to use the software successfully to collect research data.&lt;/p&gt;&lt;p align="justify"&gt;She wanted a new software feature added for a new type of experiment.  She recruited a programmer to add the feature but he had some problems checking out the latest version of my code from the source code repository using CVS.  I then realized it had been four years since I exported my code to a zip file for easy download so I did that tonight.  You can get it by downloading the latest file release of the &lt;a target="_blank" href="http://CroftSoft.com/library/code/"&gt;CroftSoft Code Library&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://croftsoft.com/library/software/infant/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_0hd1h7W7uak/R1DU0QbixyI/AAAAAAAAADE/vcGfopLtwaw/s400/infant.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5138841169058514722" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-515639551439166428?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/515639551439166428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=515639551439166428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/515639551439166428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/515639551439166428'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/11/source-code-release.html' title='Source Code Release'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0hd1h7W7uak/R1DU0QbixyI/AAAAAAAAADE/vcGfopLtwaw/s72-c/infant.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-6672195833529602728</id><published>2007-10-30T19:50:00.000-05:00</published><updated>2007-10-30T20:19:04.896-05:00</updated><title type='text'>Development PC Setup</title><content type='html'>&lt;p align="justify"&gt;Ever since I wrote my first computer program back in 1980, I have had to recreate and customize my software development environment to my liking on new computers at home, work, and school at least once a year.  Tonight I uploaded my &lt;a target="_blank" href="http://www.CroftSoft.com/library/tutorials/setup/"&gt;Development PC Setup&lt;/a&gt; checklist to speed me through this process of configuring a new Windows computer and installing my preferred free and Open Source software development tools.  Please save a link to this webpage in your online bookmarks as I plan to update it each time I use it.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://commons.wikimedia.org/wiki/Image:U-2_new_cockpit_2006-06-20_F-8409K-001.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_0hd1h7W7uak/RyfXtQGOPNI/AAAAAAAAAC8/5Tsu6FtsM_g/s400/U-2_new_cockpit_2006-06-20_F-8409K-001.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5127303873199750354" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-6672195833529602728?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/6672195833529602728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=6672195833529602728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/6672195833529602728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/6672195833529602728'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/10/development-pc-setup.html' title='Development PC Setup'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0hd1h7W7uak/RyfXtQGOPNI/AAAAAAAAAC8/5Tsu6FtsM_g/s72-c/U-2_new_cockpit_2006-06-20_F-8409K-001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-5760388363977449414</id><published>2007-09-30T17:37:00.000-05:00</published><updated>2007-09-30T17:51:58.662-05:00</updated><title type='text'>Retirement Calculator</title><content type='html'>&lt;p align="justify"&gt;I updated and installed a &lt;a target="_blank" href="http://www.CroftSoft.com/portfolio/retirement/"&gt;Retirement Calculator&lt;/a&gt; servlet that I wrote back in 1999.  The &lt;a target="_blank" href="http://www.CroftSoft.com/library/code/"&gt;source code&lt;/a&gt; is available.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/portfolio/retirement/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_0hd1h7W7uak/RwAnubndd8I/AAAAAAAAAC0/qd_yzD21aWA/s400/gold.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5116132855333615554" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-5760388363977449414?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/5760388363977449414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=5760388363977449414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5760388363977449414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/5760388363977449414'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/09/retirement-calculator.html' title='Retirement Calculator'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0hd1h7W7uak/RwAnubndd8I/AAAAAAAAAC0/qd_yzD21aWA/s72-c/gold.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-7231044119964198010</id><published>2007-08-31T18:41:00.000-05:00</published><updated>2007-08-31T19:10:15.251-05:00</updated><title type='text'>Switched to LGPLv3</title><content type='html'>&lt;p align="justify"&gt;The Free Software Foundation (FSF) recently published version 3 of the GNU Lesser General Public License (&lt;a target="_blank" href="http://www.gnu.org/licenses/lgpl-3.0.html"&gt;LGPLv3&lt;/a&gt;).  This update to the popular non-viral Open Source license covers patent usage, implied but not explicit in previous versions.  It also blocks "tivoization" which is described in the FSF release &lt;a target="_blank" href="http://www.fsf.org/news/gplv3_launched"&gt;announcement&lt;/a&gt;.&lt;/p&gt;&lt;p align="justify"&gt;Today I switched the Open Source license for the &lt;a target="_blank" href="http://www.croftsoft.com/library/code/"&gt;CroftSoft Code Library&lt;/a&gt; over to the LGPLv3 since I think preventing tivoization is a good idea.  I can foresee that in the near future it will become more common to have code running in devices within or permanently attached to our bodies, especially as &lt;a target="_blank" href="http://www.croftsoft.com/library/software/newt/"&gt;neuroprosthetics&lt;/a&gt; technology advances.  Having the option to modify this code seems like it should be a basic right.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.GNU.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_0hd1h7W7uak/RtitM2U4ZgI/AAAAAAAAACk/pkl8EUkAQGg/s400/gnu-head-banner.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5105020613877589506" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-7231044119964198010?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/7231044119964198010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=7231044119964198010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/7231044119964198010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/7231044119964198010'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/08/switched-to-lgplv3.html' title='Switched to LGPLv3'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0hd1h7W7uak/RtitM2U4ZgI/AAAAAAAAACk/pkl8EUkAQGg/s72-c/gnu-head-banner.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-4731553202874919970</id><published>2007-07-28T12:31:00.000-05:00</published><updated>2007-07-28T12:49:58.847-05:00</updated><title type='text'>CroftSoft Skipper</title><content type='html'>&lt;p align="justify"&gt;Today I published &lt;a target="_blank" href="http://www.croftsoft.com/library/software/skipper/"&gt;CroftSoft Skipper&lt;/a&gt;.  Like the previously released &lt;a target="_blank" href="http://croftsoft.blogspot.com/2006/12/croftsoft-slideshow.html"&gt;CroftSoft Slideshow&lt;/a&gt;, CroftSoft Skipper will display a slideshow of the photos on your computer.  The feature that makes CroftSoft Skipper smart is "skip weighting":  when you skip a photo you do not like, that photo is less likely to be randomly selected for display in the future.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/skipper/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_0hd1h7W7uak/RquBUHbGYuI/AAAAAAAAACc/eoZkbb--0jk/s200/skip_flowchart_2007-02-11.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5092305986262557410" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-4731553202874919970?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/4731553202874919970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=4731553202874919970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/4731553202874919970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/4731553202874919970'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/07/croftsoft-skipper.html' title='CroftSoft Skipper'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0hd1h7W7uak/RquBUHbGYuI/AAAAAAAAACc/eoZkbb--0jk/s72-c/skip_flowchart_2007-02-11.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-4016884830147944571</id><published>2007-06-28T23:16:00.000-05:00</published><updated>2007-06-28T23:45:07.646-05:00</updated><title type='text'>Enumerated Accessors</title><content type='html'>&lt;p align="justify"&gt;As an update to the "Persistent Data" chapter in my book &lt;i&gt;Advanced Java Game Programming&lt;/i&gt;, I have written a new tutorial, &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/enum/"&gt;Enumerated Accessors&lt;/a&gt;.  Data management and persistence are simplified by using new features that have been added to the Java programming language such as enumerated types and JAXB.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/enum/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_0hd1h7W7uak/RoSJeHMJicI/AAAAAAAAACM/3-P8rPjmFt8/s400/cover.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5081337429999847874" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-4016884830147944571?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/4016884830147944571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=4016884830147944571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/4016884830147944571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/4016884830147944571'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/06/enumerated-accessors.html' title='Enumerated Accessors'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0hd1h7W7uak/RoSJeHMJicI/AAAAAAAAACM/3-P8rPjmFt8/s72-c/cover.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-3442283910271539378</id><published>2007-05-28T18:43:00.000-05:00</published><updated>2007-05-31T12:46:38.943-05:00</updated><title type='text'>Wireshark</title><content type='html'>&lt;p align="justify"&gt;I recently used the Open Source packet sniffer &lt;a target="_blank" href="http://wireshark.org/"&gt;Wireshark&lt;/a&gt; to decode a custom client-server protocol for relaying telemetry data.  Without the use of the packet sniffer, I might have been stuck with no way to progress.  I have added Wireshark to my list of &lt;a target="_blank" href="http://CroftSoft.com/library/links/"&gt;Links&lt;/a&gt; to useful free and Open Source software development tools.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://wireshark.org"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_0hd1h7W7uak/RltpcV9Y_aI/AAAAAAAAABs/4G2mey4u2KE/s400/wireshark.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5069761741187513762" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-3442283910271539378?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/3442283910271539378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=3442283910271539378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3442283910271539378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/3442283910271539378'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/05/wireshark.html' title='Wireshark'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_0hd1h7W7uak/RltpcV9Y_aI/AAAAAAAAABs/4G2mey4u2KE/s72-c/wireshark.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-9147797266254518333</id><published>2007-04-29T23:57:00.000-05:00</published><updated>2007-04-30T00:23:21.761-05:00</updated><title type='text'>Interface Seq</title><content type='html'>&lt;p align="justify"&gt;I wrote a tutorial for &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/seq/"&gt;Inteface Seq&lt;/a&gt;, a Java interface I created to provide read-only access to a sequence such as an object array or a List.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/seq/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_0hd1h7W7uak/RjV9JQzhBPI/AAAAAAAAABk/K6FkyiphL4I/s400/hide_and_seek.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5059087354503955698" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-9147797266254518333?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/9147797266254518333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=9147797266254518333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/9147797266254518333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/9147797266254518333'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/04/interface-seq.html' title='Interface Seq'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0hd1h7W7uak/RjV9JQzhBPI/AAAAAAAAABk/K6FkyiphL4I/s72-c/hide_and_seek.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-867158615967698802</id><published>2007-03-31T16:05:00.000-05:00</published><updated>2007-03-31T16:21:17.149-05:00</updated><title type='text'>World Community Grid</title><content type='html'>&lt;p align="justify"&gt;My new development desktop has two quad-core processors.  I was feeling a little inefficient with all of this computing power sitting around mostly unused so I decided to revisit &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Distributed_computing#Projects"&gt;distributed computing projects&lt;/a&gt;.  In particular, I was interested in contributing my idle CPU cycles to biomedical research.  I settled on the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/World_Community_Grid"&gt;World Community Grid&lt;/a&gt; with the Open Source &lt;a target="_blank" href="http://en.wikipedia.org/wiki/BOINC"&gt;BOINC&lt;/a&gt; client.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.worldcommunitygrid.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_0hd1h7W7uak/Rg7Ntv6lAXI/AAAAAAAAABU/Ufb8v0UffmU/s400/logo.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5048198418168873330" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-867158615967698802?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/867158615967698802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=867158615967698802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/867158615967698802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/867158615967698802'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/03/world-community-grid.html' title='World Community Grid'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0hd1h7W7uak/Rg7Ntv6lAXI/AAAAAAAAABU/Ufb8v0UffmU/s72-c/logo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-8278168680488929732</id><published>2007-02-28T19:36:00.000-06:00</published><updated>2007-02-28T19:51:30.265-06:00</updated><title type='text'>Mozilla Firefox 2</title><content type='html'>&lt;p align="justify"&gt;The web browser &lt;a target="_blank" href="http://www.mozilla.com/"&gt;Mozilla Firefox 2&lt;/a&gt; was released last week.  It is included in my list of useful Open Source software on the &lt;a target="_blank" href="http://croftsoft.com/library/links/"&gt;CroftSoft Links&lt;/a&gt; webpage.&lt;/p&gt;&lt;p align="center"&gt;&lt;a target="_blank" href="http://getfirefox.com/" title="Get Firefox - Take Back the Web"&gt;&lt;img src="http://www.mozilla.org/products/firefox/buttons/takebacktheweb_large.png" width="185" height="72" border="0" alt="Get Firefox"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-8278168680488929732?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/8278168680488929732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=8278168680488929732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8278168680488929732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/8278168680488929732'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/02/mozilla-firefox-2.html' title='Mozilla Firefox 2'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-117001771755693360</id><published>2007-01-28T12:25:00.000-06:00</published><updated>2007-01-28T15:09:45.216-06:00</updated><title type='text'>Interface Slot</title><content type='html'>&lt;p align="justify"&gt;I wrote a Java programming tutorial on &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/slot/"&gt;Interface Slot&lt;/a&gt;, a new interface class to be used as a mail slot for receiving messages to be processed, stored, or relayed.&lt;/p&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/slot/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/5445/1948/320/704168/USMailbox1909.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-117001771755693360?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/117001771755693360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=117001771755693360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/117001771755693360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/117001771755693360'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2007/01/interface-slot.html' title='Interface Slot'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-116626782027050737</id><published>2006-12-16T05:06:00.000-06:00</published><updated>2006-12-16T05:17:00.280-06:00</updated><title type='text'>CroftSoft Slideshow</title><content type='html'>&lt;p align="justify"&gt;&lt;a target="_blank" href="http://CroftSoft.com/library/software/slideshow/"&gt;CroftSoft Slideshow&lt;/a&gt; presents a slideshow of your pictures.  It is a conversion of the &lt;a target="_blank" href="http://CroftSoft.com/library/software/savor/"&gt;CroftSoft Savor Pix&lt;/a&gt; screensaver to an applet and a desktop application.  It requires Java 6.  Take a peek at the &lt;a target="_blank" href="http://croftsoft.cvs.sourceforge.net/croftsoft/apps/src/com/croftsoft/apps/slideshow/"&gt;source code&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://CroftSoft.com/library/software/slideshow/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/5445/1948/400/570728/slideshow.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-116626782027050737?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/116626782027050737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=116626782027050737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116626782027050737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116626782027050737'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/12/croftsoft-slideshow.html' title='CroftSoft Slideshow'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-116593503335282481</id><published>2006-12-12T08:16:00.000-06:00</published><updated>2006-12-12T08:50:33.790-06:00</updated><title type='text'>Java 6</title><content type='html'>&lt;p align="justify"&gt;Java 6 was released today.  You can download it &lt;a target="_blank" href="http://java.sun.com/javase/downloads/"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p align="justify"&gt;In the past I would always switch to the latest release of Java as soon as it was out of beta.  For Java 5, however, I waited a year or so until there was also a &lt;a target="_blank" href="http://www.apple.com/macosx/features/java/"&gt;Java 5 implementation for the Mac&lt;/a&gt; since we did not want to exclude any of our users.  I think that proved to be a mistake for a number of reasons.  This time I am upgrading immediately.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://java.sun.com/javase/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/5445/1948/400/3686/javase6rc.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-116593503335282481?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/116593503335282481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=116593503335282481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116593503335282481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116593503335282481'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/12/java-6.html' title='Java 6'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-116573954556875939</id><published>2006-12-10T02:19:00.000-06:00</published><updated>2006-12-10T02:44:12.083-06:00</updated><title type='text'>Slideshow Screensaver</title><content type='html'>&lt;p align="justify"&gt;I created a slideshow screensaver for Windows, &lt;a target="_blank" href="http://www.croftsoft.com/library/software/savor/"&gt;CroftSoft Savor Pix&lt;/a&gt;.  It displays the images in your "My Pictures" directory and subdirectories in random order.  You can configure the slideshow speed and turn on a display of the filename path.  Pressing the spacebar skips to the next image.&lt;/p&gt;&lt;p align="justify"&gt;I know that there are screensavers that come installed with Windows that already do this sort of thing but I wanted to create one that I could customize.  Here is the &lt;a target="_blank" href="http://croftsoft.cvs.sourceforge.net/croftsoft/apps/src/com/croftsoft/apps/savor/"&gt;source code&lt;/a&gt;.&lt;/p&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/savor/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/5445/1948/400/454693/pix.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-116573954556875939?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/116573954556875939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=116573954556875939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116573954556875939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116573954556875939'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/12/slideshow-screensaver.html' title='Slideshow Screensaver'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-116470614868687903</id><published>2006-11-28T03:21:00.000-06:00</published><updated>2006-11-28T03:33:54.833-06:00</updated><title type='text'>Program D Client</title><content type='html'>&lt;p align="justify"&gt;I have created a Java user interface client for the Program D chatbot server, &lt;a target="_blank" href="http://www.CroftSoft.com/library/software/client/"&gt;CroftSoft Client&lt;/a&gt;.  It comes in three flavors:  applet, desktop application, and desktop application with speech synthesis.&lt;/p&gt;&lt;p align="justify"&gt;I also started a new tutorial, &lt;a target="_blank" href="http://www.CroftSoft.com/library/tutorials/programd/"&gt;Program D Setup on JBoss&lt;/a&gt;.&lt;/p&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/software/client/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/client.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-116470614868687903?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/116470614868687903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=116470614868687903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116470614868687903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116470614868687903'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/11/program-d-client.html' title='Program D Client'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-116192656136827638</id><published>2006-10-26T23:53:00.000-05:00</published><updated>2006-10-27T00:31:39.326-05:00</updated><title type='text'>A.I. Chatbots</title><content type='html'>&lt;div style="text-align: justify;"&gt;I just signed a short contract with &lt;a target="_blank" href="http://www.terasemfoundation.org/"&gt;Terasem Movement&lt;/a&gt; to create an A.I. chatbot web application.  The goal is to enable users to create chatbots representing themselves by uploading customized Artificial Intelligence Markup Language (&lt;a target="_blank" href="http://en.wikipedia.org/wiki/AIML"&gt;AIML&lt;/a&gt;) files.  I have already had some success installing and testing &lt;a target="_blank" href="http://www.aitools.org/Program_D"&gt;Program D&lt;/a&gt;, an Open Source Java &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Artificial_Linguistic_Internet_Computer_Entity"&gt;A.L.I.C.E.&lt;/a&gt; interpreter.&lt;br /&gt;&lt;br /&gt;If I have time, I hope to add speech synthesis for output.  At my previous job, we were able to combine an Open Source Java text-to-speech (TTS) engine &lt;a target="_blank" href="http://freetts.sourceforge.net/"&gt;FreeTTS&lt;/a&gt; with the Speech Synthesis Markup Language (&lt;a target="_blank" href="http://en.wikipedia.org/wiki/SSML"&gt;SSML&lt;/a&gt;).  This was a favorite feature of my children as they delighted in typing in text to make the computer say whatever they wanted.  This promises to be a fun project.&lt;br /&gt;&lt;br /&gt;It is wonderful to be able to combine all of these &lt;a target="_blank" href="http://www.OpenSource.org/"&gt;Open Source&lt;/a&gt; components to create a new application.  Fortunately I will be able to contribute this effort to the Open Source community as well.  Look for the source code to start appearing in the &lt;a target="_blank" href="http://www.CroftSoft.com/library/code/"&gt;CroftSoft Code Library&lt;/a&gt; in the days ahead.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.aitools.org/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/5445/1948/400/aitools.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-116192656136827638?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/116192656136827638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=116192656136827638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116192656136827638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/116192656136827638'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/10/ai-chatbots.html' title='A.I. Chatbots'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115970112068279589</id><published>2006-10-01T05:54:00.000-05:00</published><updated>2006-10-17T03:25:18.143-05:00</updated><title type='text'>Savor Screensaver</title><content type='html'>&lt;p align="justify"&gt;I wrote my first screensaver, &lt;a target="_blank" href="http://www.CroftSoft.com/library/software/savor/"&gt;CroftSoft Savor&lt;/a&gt;, using the early access &lt;a target="_blank" href="https://jdic.dev.java.net/documentation/incubator/screensaver/"&gt;SaverBeans Screensaver SDK&lt;/a&gt; version 0.2.  So far I have only deployed it on Windows but since the SaverBeans SDK is Java-based it should be cross-platform.  After you have a chance to download and install it, take a peek at the &lt;a target="_blank" href="http://croftsoft.cvs.sourceforge.net/croftsoft/apps/src/com/croftsoft/apps/savor/Savor.java?view=markup"&gt;source code&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/software/savor/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/savor.0.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115970112068279589?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115970112068279589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115970112068279589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115970112068279589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115970112068279589'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/10/savor-screensaver.html' title='Savor Screensaver'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115927234404335348</id><published>2006-09-26T06:35:00.000-05:00</published><updated>2006-09-26T08:15:52.446-05:00</updated><title type='text'>Interface APIs</title><content type='html'>&lt;p align="justify"&gt;Last night I started the Java 3D Interfaces (J3DI) API.  J3DI is an "interface API".  An interface API provides interfaces for the concrete and abstract classes of another API.  The purpose is to be able to program your applications to the interface API so that you can swap out the underlying implementation at compile-time or run-time without additional coding.  Applications and libraries programmed to manipulate instances of the interfaces will work with any of the implementations.  Wrapper classes are used to adapt implementations to the interface API.  They also shield application code from changes in the implementation APIs as they evolve over time.&lt;/p&gt;&lt;p align="justify"&gt;J3DI is based on the &lt;a target="_blank" href="https://java3d.dev.java.net/"&gt;Java 3D&lt;/a&gt; scene graph API.  Sun Microsystems provides a public source reference implementation.  &lt;a target="_blank" href="http://www.xith.org/"&gt;Xith&lt;/a&gt; is an &lt;a target="_blank" href="http://www.OpenSource.org/"&gt;Open Source&lt;/a&gt; implementation of the Java 3D API with a few deviations.  I developed a &lt;a target="_blank" href="http://www.collada.org/"&gt;COLLADA&lt;/a&gt; loader for the Xith API.  I also created a multiplayer game prototype and a &lt;a target="_blank" href="http://earth.whoola.com:8080/space/cyber/"&gt;3D browser&lt;/a&gt; based on Xith.  I am modifying the COLLADA loader, the game, and the browser to work with J3DI instead so that they can use either Java 3D or Xith as the underlying implementation.&lt;/p&gt;&lt;p align="justify"&gt;Using J3DI also gives me the flexibility to experiment with a new implementation under development while retaining compatibility with working implementations.  I am toying with a J3DI implementation (JIMP) that will render using another interface API, &lt;a target="_blank" href="http://earth.whoola.com:8080/space/jigl/"&gt;JIGL&lt;/a&gt;.  No wrapper classes will be needed as the concrete classes will implement the J3DI interfaces directly.  You can take a look at what I have so far in the project source code repository for &lt;a target="_blank" href="http://whoola.cvs.sourceforge.net/whoola/core/src/com/whoola/core/media/j3di/"&gt;J3DI&lt;/a&gt;, &lt;a target="_blank" href="http://whoola.cvs.sourceforge.net/whoola/core/src/com/whoola/core/media/jimp/"&gt;JIMP&lt;/a&gt;, and &lt;a target="_blank" href="http://whoola.cvs.sourceforge.net/whoola/core/src/com/whoola/core/media/jigl/"&gt;JIGL&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.xith.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/320/xith3d.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115927234404335348?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115927234404335348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115927234404335348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115927234404335348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115927234404335348'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/09/interface-apis.html' title='Interface APIs'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115863878456078034</id><published>2006-09-18T22:59:00.000-05:00</published><updated>2007-06-18T23:31:24.772-05:00</updated><title type='text'>JIGL demo</title><content type='html'>&lt;p align="justify"&gt;Please see the &lt;a target="_blank" href="http://www.croftsoft.com/library/software/jigl/"&gt;JIGL demo&lt;/a&gt; applet and documentation that I created today.&lt;br /&gt;&lt;a target="_blank" href="http://earth.whoola.com:8080/space/jigl/"&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/jigl.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115863878456078034?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115863878456078034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115863878456078034' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115863878456078034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115863878456078034'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/09/jigl-demo.html' title='JIGL demo'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115830601236943112</id><published>2006-09-15T02:16:00.000-05:00</published><updated>2006-09-15T02:40:12.380-05:00</updated><title type='text'>JIGL</title><content type='html'>&lt;p align="justify"&gt;I am having some success in creating a &lt;a target="_blank" href="http://jogl.dev.java.net"&gt;JOGL&lt;/a&gt;-compatible wrapper API for &lt;a target="_blank" href="http://www.cmlab.csie.ntu.edu.tw/~robin/JavaGL/"&gt;jGL&lt;/a&gt;, a pure Java implementation of OpenGL.  I am calling it the Java Interface to OpenGL (JIGL) because it lets you "jiggle" between JOGL-based hardware rendering and jGL-based software rendering at run-time.  You can see what I have so far by browsing the &lt;a target="_blank" href="http://whoola.cvs.sourceforge.net/whoola/core/src/com/whoola/core/media/jigl/"&gt;library&lt;/a&gt; and the &lt;a target="_blank" href="http://whoola.cvs.sourceforge.net/whoola/lab/croft/src/com/whoola/lab/croft/jogljnlp/"&gt;test application&lt;/a&gt; in the CVS repository.&lt;/p&gt;&lt;p align="justify"&gt;The purpose is to be able deploy &lt;a target="_blank" href="http://earth.whoola.com:8080/space/cyber/"&gt;Whoola Cyberspace&lt;/a&gt; as an unsigned applet and still have it run when the JOGL native libraries are not pre-installed.  I do have a prototype where it is deployed as a &lt;a target="_blank" href="http://earth.whoola.com:8080/space/cyber/doc/applet"&gt;signed applet&lt;/a&gt; with the native libraries installed on demand but this is less than satisfactory as it brings up a window requesting that the users grant the applet full access to their machines.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.cmlab.csie.ntu.edu.tw/~robin/JavaGL/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/jgl.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115830601236943112?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115830601236943112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115830601236943112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115830601236943112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115830601236943112'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/09/jigl.html' title='JIGL'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115774545832254272</id><published>2006-09-08T14:49:00.000-05:00</published><updated>2006-09-09T01:14:37.046-05:00</updated><title type='text'>Multiverse</title><content type='html'>&lt;p align="justify"&gt;I am at the &lt;a target="_blank" href="http://www.gameconference.com/"&gt;Austin Game Conference&lt;/a&gt; where the focus is on online and multiplayer games.  The most exciting thing I have seen here is &lt;a target="_blank" href="http://www.multiverse.net/"&gt;Multiverse&lt;/a&gt;, a website that provides you with the software to build your own massively multiplayer online game (MMOG).  The really unique bit about it is that they only charge you to use their tools if you are charging your users to play.  That means academicians and hobbyists can use it for free.  Is this the beginning of the 3D equivalent to the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Blogosphere"&gt;blogosphere&lt;/a&gt;?&lt;/p&gt;&lt;p&gt;&lt;a target="_blank" href="http://www.multiverse.net/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/logo.0.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115774545832254272?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115774545832254272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115774545832254272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115774545832254272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115774545832254272'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/09/multiverse.html' title='Multiverse'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115524179958473309</id><published>2006-08-10T15:16:00.000-05:00</published><updated>2006-08-10T15:34:17.903-05:00</updated><title type='text'>Microsoft Update as IE Homepage</title><content type='html'>&lt;p align="justify"&gt;I use &lt;a target="_blank" href="http://www.mozilla.com/"&gt;Mozilla Firefox&lt;/a&gt; as my default web browser so I do not use Internet Explorer (IE) except when I am forced to by an IE-only webpage.  I set my IE homepage to the &lt;a target="_blank" href="http://update.microsoft.com/"&gt;Microsoft Update&lt;/a&gt; webpage so that I when I do use IE every now and then I am reminded to check for operating system updates and security patches.  The Department of Homeland Security just issued an &lt;a target="_blank" href="http://www.newsfactor.com/news/U-S--Warns-of-Windows-Security-Flaw/story.xhtml?story_id=0220026YWR7M"&gt;advisory&lt;/a&gt; recommending the installation of the latest security patches for Windows so you might want to head over to the Microsoft Update webpage now, especially if you do not have "Automatic Updates" running.&lt;/p&gt;&lt;a target="_blank" href="http://www.us-cert.gov/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/sh_titlelogo.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115524179958473309?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115524179958473309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115524179958473309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115524179958473309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115524179958473309'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/08/microsoft-update-as-ie-homepage.html' title='Microsoft Update as IE Homepage'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115480626821936173</id><published>2006-08-05T13:52:00.001-05:00</published><updated>2006-08-05T14:41:49.980-05:00</updated><title type='text'>JOGL and COLLADA Books</title><content type='html'>&lt;p align="justify"&gt;I just got back from &lt;a target="_blank" href="http://www.siggraph.org/s2006/"&gt;ACM SIGGRAPH 2006&lt;/a&gt;, a computer graphics conference in Boston.  I was pleased to receive a book I had ordered a few weeks before just before I left, &lt;a target="_blank" href="http://www.amazon.com/exec/obidos/ASIN/1846281857/croftsoft-20"&gt;Foundations of 3D Graphics Programming:  Using JOGL and Java3D&lt;/a&gt; by Chen and Wegman.  I had feared it would be delivered to my home the day after I left for the trip.&lt;/p&gt;&lt;p align="justify"&gt;When I got to the conference, I was also pleased to purchase &lt;a target="_blank" href="http://www.amazon.com/exec/obidos/ASIN/1568812876/croftsoft-20"&gt;COLLADA:  Sailing the Gulf of 3D Digital Content Creation&lt;/a&gt; by Arnaud and Barnes.  &lt;a target="_blank" href="http://www.COLLADA.org/"&gt;COLLADA&lt;/a&gt; is a new non-proprietary open standard for 3D content in XML that I am using.  The authors were kind enough to sign my copy.&lt;/p&gt;&lt;p align="justify"&gt;I was mainly at the conference to demonstrate the &lt;a target="_blank" href="http://whoola.sourceforge.net/"&gt;Whoola COLLADA Library&lt;/a&gt;, an Open Source Java library that I wrote to import and export 3D graphics in COLLADA.  I am excited about these two book as I think they will help me improve my code considerably.  I am going to add them to the &lt;a target="_blank" href="http://www.CroftSoft.com/library/books/"&gt;CroftSoft Book List&lt;/a&gt;.&lt;/p&gt;&lt;p align="center"&gt;&lt;table width="100" align="center" cellspacing="20"&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.amazon.com/exec/obidos/ASIN/1846281857/croftsoft-20"&gt;&lt;img border="0" src="http://images.amazon.com/images/P/1846281857.01.TZZZZZZZ.jpg"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.amazon.com/exec/obidos/ASIN/1568812876/croftsoft-20"&gt;&lt;img border="0" src="http://images.amazon.com/images/P/1568812876.01.TZZZZZZZ.jpg"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115480626821936173?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115480626821936173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115480626821936173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115480626821936173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115480626821936173'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/08/jogl-and-collada-books.html' title='JOGL and COLLADA Books'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115178508332853421</id><published>2006-07-01T15:02:00.000-05:00</published><updated>2006-07-01T15:22:02.170-05:00</updated><title type='text'>COLLADA and Google</title><content type='html'>&lt;p align="justify"&gt;For awhile now, I have been updating my Open Source 3D web browser &lt;a target="_blank" href="http://earth.whoola.com:8080/space/cyber/"&gt;Whoola Cyberspace&lt;/a&gt; to use the new XML-based 3D format &lt;a target="_blank" href="http://en.wikipedia.org/wiki/COLLADA"&gt;COLLADA&lt;/a&gt;.  To my pleasant surprise, I recently discovered that the free 3D modeling tool &lt;a target="_blank" href="http://sketchup.google.com/"&gt;Google SketchUp&lt;/a&gt; exports to the &lt;a target="_blank" href="http://earth.google.com/"&gt;Google Earth&lt;/a&gt; format and that the Google Earth format is based on COLLADA.  This means that it should be possible to load Google Earth formatted 3D files into Whoola Cyberspace, including the growing collection of free 3D models in the &lt;a target="_blank" href="http://sketchup.google.com/3dwarehouse/"&gt;Google 3D Warehouse&lt;/a&gt;.  I am very excited about this and I have already had some limited success in getting this to work.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://earth.whoola.com:8080/space/cyber/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/google.1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115178508332853421?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115178508332853421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115178508332853421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115178508332853421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115178508332853421'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/07/collada-and-google.html' title='COLLADA and Google'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115178035545385781</id><published>2006-07-01T13:48:00.000-05:00</published><updated>2006-07-01T14:01:05.443-05:00</updated><title type='text'>Free Software Updates</title><content type='html'>&lt;p align="justify"&gt;The free Open Source office suite &lt;a target="_blank" href="http://www.openoffice.org/"&gt;OpenOffice&lt;/a&gt; has been updated to version 2.0.3.  I read that it includes &lt;a target="_blank" href="http://www.heise.de/english/newsticker/news/74930"&gt;security fixes&lt;/a&gt;.&lt;/p&gt;&lt;p align="justify"&gt;Version 9 of the free web browser &lt;a target="_blank" href="http://www.opera.com/"&gt;Opera&lt;/a&gt; is now available.&lt;/p&gt;&lt;p align="justify"&gt;&lt;a target="_blank" href="http://java.sun.com/javase/6/"&gt;Java 6 Beta 2&lt;/a&gt; is out.&lt;/p&gt;&lt;p align="justify"&gt;You can find a list of additional free and Open Source software on the &lt;a target="_blank" href="http://www.CroftSoft.com/library/links/"&gt;CroftSoft Links&lt;/a&gt; webpage.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.OpenOffice.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/openoffice.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115178035545385781?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115178035545385781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115178035545385781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115178035545385781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115178035545385781'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/07/free-software-updates.html' title='Free Software Updates'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-115098602531632720</id><published>2006-06-22T09:02:00.000-05:00</published><updated>2006-06-22T09:20:25.336-05:00</updated><title type='text'>Enumerated Type Message</title><content type='html'>&lt;p align="justify"&gt;Recently I have been using what I am calling an "Enumerated Type Message" for internal messaging between the model, view, and controller.  Please see my template class &lt;a target="_blank" href="http://www.croftsoft.com/library/books/ajgp/checklist/Message.java"&gt;Message.java&lt;/a&gt; for an example.&lt;/p&gt;&lt;p align="justify"&gt;The Enumerated Type Message is basically a wrapper around an enumerated type with an extra field for arbitrary content.  The extra field is necessary because you will often have messages of the same type instantiated at the same time with different content.  For those messages with content that stays the same, e.g., null values, I create singleton instances.&lt;/p&gt;&lt;p align="justify"&gt;I have added the creation of an Enumerated Type Message class as a new step in my Advanced Java Game Programming &lt;a target="_blank" href="http://www.croftsoft.com/library/books/ajgp/checklist/"&gt;Checklist&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/books/ajgp/checklist/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/exemplar.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-115098602531632720?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/115098602531632720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=115098602531632720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115098602531632720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/115098602531632720'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/06/enumerated-type-message.html' title='Enumerated Type Message'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-114898110654382077</id><published>2006-05-30T04:18:00.000-05:00</published><updated>2006-05-30T04:29:04.596-05:00</updated><title type='text'>Evolve</title><content type='html'>&lt;p align="justify"&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/software/evolve/"&gt;Evolve&lt;/a&gt; is an evolution simulation which I wrote as a Java applet back in 1996.  Last week I fixed a bug in it that was causing it to crash in Java 5.  Today I updated the documentation webpage.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/software/evolve/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/200/evolve.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-114898110654382077?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/114898110654382077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=114898110654382077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114898110654382077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114898110654382077'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/05/evolve.html' title='Evolve'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-114427679059246196</id><published>2006-04-05T17:39:00.000-05:00</published><updated>2006-04-05T17:40:59.026-05:00</updated><title type='text'>First Year Project Report</title><content type='html'>&lt;p align="justify"&gt;I have uploaded my doctoral studies first year project report, entitled &lt;a href="http://www.croftsoft.com/library/software/newt/doc/croft_results_2005-12-22.doc"&gt;Real-time Simulation and Processing of Peripheral Nerve Spike Activity&lt;/a&gt;.  My research advisor, &lt;a target="_blank" href="http://www.utdallas.edu/~lcauller/"&gt;Dr. Cauller&lt;/a&gt;, contributed a few lines to the "Introduction" section.&lt;/p&gt;&lt;p align="justify"&gt;The anonymous reviewer feedback had some comments but suggested I did not need to revise if I did not plan to publish.  I am putting this aside now to focus on writing a grant proposal for "Neuroprosthetic Training Software".  This will combine the features of &lt;a target="_blank" href="http://www.croftsoft.com/library/software/newt/"&gt;CroftSoft Newt Cyborg&lt;/a&gt; with &lt;a target="_blank" href="http://earth.whoola.com:8080/space"&gt;Whoola Cyberspace&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/newt/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/newt.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-114427679059246196?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/114427679059246196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=114427679059246196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114427679059246196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114427679059246196'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/04/first-year-project-report.html' title='First Year Project Report'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-114299990735507460</id><published>2006-03-21T21:39:00.000-06:00</published><updated>2006-03-21T22:03:31.353-06:00</updated><title type='text'>CDBurnerXP Pro</title><content type='html'>To install the operating system &lt;a target="_blank" href="http://fedora.redhat.com/"&gt;Fedora&lt;/a&gt; (a.k.a. Red Hat Linux), you need to burn ISO files to CD-ROM or DVD.  Unfortunately, many of the Windows CD and DVD burners require a paid upgrade for the ISO support feature.  If you want to do it all for free, it is sort of a catch-22:  you need to be running Fedora to burn the Fedora ISO's so that you can install Fedora.&lt;br /&gt;&lt;br /&gt;Finally after much searching and experimentation, I have settled on the free Windows application &lt;a target="_blank" href="http://www.cdburnerxp.se/"&gt;CDBurnerXP Pro&lt;/a&gt; version 3.5.  I notice that other people I know use it too.&lt;br /&gt;&lt;br /&gt;It did what I needed; now I can install Fedora.  In writing this now, I am mildly annoyed to discover that after finally creating a set of Fedora Core 4 CD's a couple of days ago, Fedora Core 5 came out the very next day.&lt;br /&gt;&lt;br /&gt;For a list of more free tools, please see the &lt;a target="_blank" href="http://www.croftsoft.com/library/links/"&gt;CroftSoft Links&lt;/a&gt; webpage.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.cdburnerxp.se/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/cdburnerxp_pro_burn_free_CD_DVD.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-114299990735507460?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/114299990735507460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=114299990735507460' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114299990735507460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114299990735507460'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/03/cdburnerxp-pro.html' title='CDBurnerXP Pro'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-114299726068002032</id><published>2006-03-21T20:55:00.000-06:00</published><updated>2006-03-21T21:14:20.733-06:00</updated><title type='text'>Windows Defender</title><content type='html'>The free anti-spyware program from Microsoft is now called &lt;a target="_blank" href="http://www.microsoft.com/athome/security/spyware/software/default.mspx"&gt;Windows Defender&lt;/a&gt;.  Yesterday I installed it on a work computer that had been used previously by a number of different employees.  I found over a dozen remote access, trojan, and spyware programs.&lt;br /&gt;&lt;br /&gt;I also used the free &lt;a target="_blank" href="http://toolbar.yahoo.com/"&gt;Yahoo Toolbar&lt;/a&gt; anti-spy program and caught a couple more.  I see it has been upgraded to support &lt;a target="_blank" href="http://www.mozilla.com/"&gt;Mozilla Firefox 1.5&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For good measure, I also ran &lt;a target="_blank" href="http://windowsupdate.microsoft.com/"&gt;Windows Update&lt;/a&gt;.  It prompted me to install a security update.&lt;br /&gt;&lt;br /&gt;See a list of more free tools on the &lt;a target="_blank" href="http://www.croftsoft.com/library/links/"&gt;CroftSoft Links&lt;/a&gt; webpage.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.microsoft.com/athome/security/spyware/software/default.mspx"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/defender.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-114299726068002032?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/114299726068002032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=114299726068002032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114299726068002032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114299726068002032'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/03/windows-defender.html' title='Windows Defender'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-114199720463691276</id><published>2006-03-10T07:20:00.000-06:00</published><updated>2006-03-10T07:26:44.653-06:00</updated><title type='text'>Public Domain Photos</title><content type='html'>I recently discovered that Yellowstone National Park offers a collection of thousands of Public Domain images of natural scenes and animals from their &lt;a target="_blank" href="http://www.nps.gov/yell/slidefile/"&gt;Yellowstone Digital Slide File&lt;/a&gt; website.  &lt;br /&gt;&lt;br /&gt;I've added a link to this site to the list on my &lt;a target="_blank" href="http://www.croftsoft.com/library/media/"&gt;Public Domain and Royalty-Free Media&lt;/a&gt; webpage.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.nps.gov/yell/slidefile/index.htm"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/bison.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-114199720463691276?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/114199720463691276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=114199720463691276' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114199720463691276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114199720463691276'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/03/public-domain-photos.html' title='Public Domain Photos'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-114109817515026633</id><published>2006-02-27T21:37:00.000-06:00</published><updated>2006-02-27T21:42:55.160-06:00</updated><title type='text'>Eclipse Compiler Restrictions</title><content type='html'>I learned something useful today from this &lt;a target="_blank" href="http://www.EclipseZone.com/"&gt;EclipseZone&lt;/a&gt; article on &lt;a target="_blank" href="http://www.eclipsezone.com/eclipse/forums/t64749.rhtml"&gt;Project Compiler Restrictions&lt;/a&gt;.  Read more in my updated tutorial &lt;a target="_blank" href="http://www.CroftSoft.com/library/tutorials/eclipse/"&gt;Eclipse Setup&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.EclipseZone.com/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/ezmasthead_300x60.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-114109817515026633?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/114109817515026633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=114109817515026633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114109817515026633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114109817515026633'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/02/eclipse-compiler-restrictions.html' title='Eclipse Compiler Restrictions'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-114040344374133762</id><published>2006-02-19T20:19:00.000-06:00</published><updated>2006-02-19T23:34:57.876-06:00</updated><title type='text'>Newsfeed Intelligence</title><content type='html'>I do not like forums because you have to poll the website to see if there is anything new posted.  I prefer mailing lists because they are event-driven:  when new content is posted, it is e-mailed to you.&lt;br /&gt;&lt;br /&gt;Sometimes, though, I get overwhelmed by my mailing list subscriptions and I end up just filing the e-mail in a folder instead of actually reading it.  For example, the &lt;a target="_blank" href="http://www.kurzweilai.net/news/frame.html"&gt;Accelerating Intelligence News&lt;/a&gt; e-mail newsletter is great stuff but I often do not have time to read it when it arrives.  Most of the newsletters I receive from this source sit unread in my ever-expanding "read someday" folder.&lt;br /&gt;&lt;br /&gt;Fortunately you can also get this same e-mail newsletter via an RSS newsfeed.  Whenever I have the time to do a little reading, I can simply click on an icon and my &lt;a target="_blank" href="http://croftsoft.blogspot.com/2006/01/sage-for-firefox.html"&gt;Sage&lt;/a&gt; newsfeed reader will immediately poll all my favorite newsfeed sites for me.  It has the advantage of forums in that the content does not clog up your e-mail but it does not have the disadvantage of necessitating that you poll each of the forum websites manually.&lt;br /&gt;&lt;br /&gt;The &lt;a target="_blank" href="http://groups.yahoo.com/"&gt;Yahoo Groups&lt;/a&gt; electronic mailing lists are great in that you can now access the content via e-mail subscription, the website, or an RSS newsfeed.  Is this an example of convergence?&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.KurzweilAI.net/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/kurzweil.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-114040344374133762?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/114040344374133762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=114040344374133762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114040344374133762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/114040344374133762'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/02/newsfeed-intelligence.html' title='Newsfeed Intelligence'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113960806827531427</id><published>2006-02-10T15:34:00.000-06:00</published><updated>2006-02-10T15:47:48.306-06:00</updated><title type='text'>Spike Simulation</title><content type='html'>Today I presented a talk on "Real-time Simulation and Processing of Peripheral Nerve Spike Activity" at a meeting of the &lt;a target="_blank" href="http://www.SfNDANG.org/"&gt;Dallas Area Neuroscience Group&lt;/a&gt;.  The slides are available in &lt;a target="_blank" href="http://en.wikipedia.org/wiki/OpenDocument"&gt;OpenDocument&lt;/a&gt; (&lt;a target="_blank" href="http://www.OpenOffice.org/"&gt;OpenOffice.org&lt;/a&gt;) format from the &lt;a target="_blank" href="http://www.croftsoft.com/library/software/newt/doc/"&gt;Documentation&lt;/a&gt; link on the &lt;a target="_blank" href="http://www.croftsoft.com/library/software/newt/"&gt;CroftSoft Newt Cyborg&lt;/a&gt; webpage.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/newt/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/newt.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113960806827531427?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113960806827531427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113960806827531427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113960806827531427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113960806827531427'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/02/spike-simulation.html' title='Spike Simulation'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113874519256324099</id><published>2006-01-31T15:22:00.000-06:00</published><updated>2006-01-31T16:17:06.990-06:00</updated><title type='text'>Logging</title><content type='html'>Previously I had been using System.out.println() and my own &lt;a target="_blank" href="http://www.croftsoft.com/library/code/javadoc/core/com/croftsoft/core/util/log/package-summary.html"&gt;logging package&lt;/a&gt; for debugging.  I had heard about the &lt;a target="_blank" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/package-summary.html"&gt;java.util.logging&lt;/a&gt; package back when it was introduced in Java 1.4.  I did not look into it as I had read comments from other programmers saying that they preferred alternative logging packages such as &lt;a target="_blank" href="http://logging.apache.org/log4j/"&gt;log4j&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Recently the Open Source Java project Xith &lt;a target="_blank" href="http://www.javagaming.org/forums/index.php?topic=11671.msg96427#msg96427"&gt;switched&lt;/a&gt; from log4j to the &lt;a target="_blank" href="http://jakarta.apache.org/commons/logging/"&gt;Commons Logging API&lt;/a&gt;.  The Commons Logging API appears to be an adapter API to allow you to choose a logging implementation at run-time.&lt;br /&gt;&lt;br /&gt;This got me thinking about logging again so I learned how to use the java.util.logging package today.  The &lt;a target="_blank" href="http://java.sun.com/j2se/1.5.0/docs/guide/logging/"&gt;Java Logging Overview&lt;/a&gt; got me started.  I could not find a logging tutorial in the &lt;a target="_blank" href="http://java.sun.com/docs/books/tutorial/"&gt;Java Tutorial&lt;/a&gt; but the &lt;a target="_blank" href="http://javaalmanac.com/egs/java.util.logging/pkg.html"&gt;java.util.logging Examples from the Java Developers Almanac&lt;/a&gt; gave me what I needed.&lt;br /&gt;&lt;br /&gt;I had never stumbled across the Java Developers Almanac example source code before.  I do not know if the book is any good but the online examples sure are helpful.  You can search for code examples by &lt;a target="_blank" href="http://javaalmanac.com/egs/"&gt;core package name&lt;/a&gt;.  I am going to add a link to it from my &lt;a target="_blank" href="http://www.CroftSoft.com/library/links/"&gt;list of developer resources&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://javaalmanac.com/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/almanac.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113874519256324099?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113874519256324099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113874519256324099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113874519256324099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113874519256324099'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/logging.html' title='Logging'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113833822299735426</id><published>2006-01-26T22:45:00.000-06:00</published><updated>2006-01-26T23:43:07.626-06:00</updated><title type='text'>Javadoc LinkSource</title><content type='html'>I just used the &lt;a target="_blank" href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javadoc.html#linksource"&gt;javadoc linksource&lt;/a&gt; option for the first time, available in Java 5.0 and &lt;a target="_blank" href="http://ant.apache.org/manual/CoreTasks/javadoc.html"&gt;Ant 1.6&lt;/a&gt;.  It generates links in the javadoc to the corresponding source code listings.  I think it is very convenient to be able to click on a class or method name while browsing the javadoc and see what the code actually does, especially if there is no description or the description is not up-to-date.&lt;br /&gt;&lt;br /&gt;The javadoc source code listings are not &lt;a target="_blank" href="http://cvs.sourceforge.net/viewcvs.py/croftsoft/apps/src/com/croftsoft/apps/exemplar/Accessor.java?rev=1.3&amp;view=auto"&gt;color coded&lt;/a&gt; like those on SourceForge.net but they do include &lt;a target="_blank" href="http://www.croftsoft.com/library/code/javadoc/apps/src-html/com/croftsoft/apps/exemplar/Accessor.html"&gt;line numbers&lt;/a&gt;.  Take a look at the updated &lt;a target="_blank" href="http://www.CroftSoft.com/library/code/javadoc/"&gt;CroftSoft Javadoc&lt;/a&gt; and the linked source code listings.  I am particularly fond of package &lt;a target="_blank" href="http://www.croftsoft.com/library/code/javadoc/apps/com/croftsoft/apps/exemplar/package-summary.html"&gt;Exemplar&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/code/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/CroftSoftLogo2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113833822299735426?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113833822299735426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113833822299735426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113833822299735426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113833822299735426'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/javadoc-linksource.html' title='Javadoc LinkSource'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113812281163151763</id><published>2006-01-24T11:00:00.000-06:00</published><updated>2006-01-24T11:13:31.650-06:00</updated><title type='text'>Continuous Design</title><content type='html'>I have been preaching the software design methodology where you release early and release often.  After each release, you add just one new feature at a time and then release again.  This ensures that you always have a recent working demo available online while you work on the next feature.  This is ideal for Open Source projects.&lt;br /&gt;&lt;br /&gt;I have seen this called the "spiral", "component assembly", or "incremental release" design lifecycle.  From what I can tell from this recent &lt;a target="_blank" href="http://java.about.com/b/a/235746.htm"&gt;About.com article&lt;/a&gt;, it is also called "evolutionary", "emergent", and "continuous" design.  Is it all the same thing or are there subtle differences?&lt;br /&gt;&lt;br /&gt;Regardless of what it is called, I think it is a good way to go.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://java.about.com/b/a/235746.htm"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/abT.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113812281163151763?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113812281163151763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113812281163151763' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113812281163151763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113812281163151763'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/continuous-design.html' title='Continuous Design'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113754497480221665</id><published>2006-01-17T18:37:00.000-06:00</published><updated>2006-01-17T18:46:27.430-06:00</updated><title type='text'>7-Zip</title><content type='html'>In the past I used &lt;a target="_blank" href="http://www.info-zip.org/"&gt;Info-Zip&lt;/a&gt; for GUI-based file compression and decompression.  Today I switched over to &lt;a target="_blank" href="http://www.7-zip.org/"&gt;7-Zip&lt;/a&gt;.  I have added it to my list of &lt;a target="_blank" href="http://www.CroftSoft.com/library/links/"&gt;free and Open Source tools&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.7-zip.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/7ziplogo.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113754497480221665?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113754497480221665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113754497480221665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113754497480221665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113754497480221665'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/7-zip.html' title='7-Zip'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113730123125095149</id><published>2006-01-14T22:56:00.000-06:00</published><updated>2006-01-14T23:00:31.256-06:00</updated><title type='text'>Eclipse Preferences</title><content type='html'>I have exported my &lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/eclipse/"&gt;configuration preferences&lt;/a&gt; for my favorite integrated development environment (IDE), &lt;a target="_blank" href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/tutorials/eclipse/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/eclipse.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113730123125095149?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113730123125095149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113730123125095149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113730123125095149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113730123125095149'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/eclipse-preferences.html' title='Eclipse Preferences'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113694405114261459</id><published>2006-01-10T19:43:00.000-06:00</published><updated>2006-01-10T19:47:31.360-06:00</updated><title type='text'>Input Device for Infants</title><content type='html'>I created a webpage for one of my new programming projects, &lt;a target="_blank" href="http://www.croftsoft.com/library/software/infant/"&gt;CroftSoft Infant&lt;/a&gt;.  This software will present infants with visual and auditory stimuli and react to their responses via a pacifier connected to a pressure transducer.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.croftsoft.com/library/software/infant/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/transducer.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113694405114261459?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113694405114261459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113694405114261459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113694405114261459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113694405114261459'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/input-device-for-infants.html' title='Input Device for Infants'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113661351254418984</id><published>2006-01-06T23:51:00.000-06:00</published><updated>2006-01-06T23:58:32.676-06:00</updated><title type='text'>Exemplar Game Code</title><content type='html'>I updated the &lt;a target="_blank" href="http://www.CroftSoft.com/library/books/ajgp/checklist/"&gt;Advanced Java Game Programming Checklist&lt;/a&gt; to include new exemplar source code.  I am quite proud of it as it includes my new philosophy about model-view-controller (MVC) architecture plus some Java 5.0 tricks.  The next time you sit down to write a Java game, you might want to consider starting from this template.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.CroftSoft.com/library/books/ajgp/checklist/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/320/cover_359x475.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113661351254418984?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113661351254418984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113661351254418984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113661351254418984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113661351254418984'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/exemplar-game-code.html' title='Exemplar Game Code'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113651633563023038</id><published>2006-01-05T20:58:00.000-06:00</published><updated>2006-01-05T20:59:40.836-06:00</updated><title type='text'>GanttProject</title><content type='html'>I am a big fan of using free software development tools, especially if they are written in Open Source Java.  Recently I had some success with &lt;a target="_blank" href="http://ganttproject.sourceforge.net/"&gt;GanttProject&lt;/a&gt;, a project management tool that supports Gantt charts.  The webpage has an animated demo to help you get started.  I am happy to report that it did what I needed.&lt;br /&gt;&lt;br /&gt;Here is a list of more free and Open Source software development tools that I use:  &lt;a target="_blank" href="http://www.croftsoft.com/library/links/"&gt;http://www.CroftSoft.com/library/links/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://ganttproject.sourceforge.net/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/logo100.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113651633563023038?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113651633563023038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113651633563023038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113651633563023038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113651633563023038'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/ganttproject.html' title='GanttProject'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113650385742397197</id><published>2006-01-05T17:24:00.000-06:00</published><updated>2006-01-05T17:41:22.746-06:00</updated><title type='text'>Sage for Firefox</title><content type='html'>To track blogs such as this one, I recently started using &lt;a target="blank" href="http://sage.mozdev.org/"&gt;Sage&lt;/a&gt;, a newsfeed reader for the &lt;a target="_blank" href="http://www.mozilla.com/"&gt;Mozilla Firefox&lt;/a&gt; web browser.  I like Sage because it is simple to use and it is always accessible as a Firefox sidebar just by pressing ALT-S.  You can click on the magnifying glass icon to search the current webpage for newsfeed links.  Once you get it installed, try it on this page.&lt;br /&gt;&lt;br /&gt;&lt;a target="blank" href="http://sage.mozdev.org/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/sage.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113650385742397197?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113650385742397197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113650385742397197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113650385742397197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113650385742397197'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/sage-for-firefox.html' title='Sage for Firefox'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20589565.post-113650201080343095</id><published>2006-01-05T16:55:00.000-06:00</published><updated>2006-01-07T00:03:54.366-06:00</updated><title type='text'>List Archive</title><content type='html'>I am switching the CroftSoft Update from a Yahoo Group mailing list to this blog.  The old list archive is available here:&lt;br /&gt;&lt;a target="_blank" href="http://groups.yahoo.com/group/croftsoft/"&gt;http://groups.yahoo.com/group/croftsoft/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.yahoo.com/group/croftsoft/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/5445/1948/400/yahoo.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client="ca-pub-5318035910586039";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text";
google_color_border="A8DDA0";
google_color_bg="EBFFED";
google_color_link="0000CC";
google_color_url="008000";
google_color_text="6D6D6D";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;
&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20589565-113650201080343095?l=croftsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://croftsoft.blogspot.com/feeds/113650201080343095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20589565&amp;postID=113650201080343095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113650201080343095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20589565/posts/default/113650201080343095'/><link rel='alternate' type='text/html' href='http://croftsoft.blogspot.com/2006/01/list-archive.html' title='List Archive'/><author><name>David Wallace Croft</name><uri>http://www.blogger.com/profile/09977171768879170784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_0hd1h7W7uak/S3y04px-pII/AAAAAAAAALI/mcJtjrFDYwg/S220/david_wallace_croft_2010-02-17_580x552.jpg'/></author><thr:total>0</thr:total></entry></feed>
