<?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-13783659</id><updated>2011-10-16T22:36:59.915-05:00</updated><category term='SOAP'/><category term='XML'/><category term='XHTML'/><category term='XSLT'/><category term='CSS'/><category term='PeopleSoft'/><category term='ASP.NET'/><title type='text'>Programmer's Shack</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13783659.post-7297610126837661860</id><published>2007-08-24T19:01:00.001-05:00</published><updated>2007-08-24T19:01:14.668-05:00</updated><title type='text'>5 video tutorials on AJAX</title><content type='html'>I was looking around for video tutorials for AJAX and Javascript and I came across Stian Solberg's blog.  The videos include one about debugging AJAX with Firebug and an introduction to jQuery.&lt;br /&gt;&lt;br /&gt;http://ajaxwidgets.com/Blogs/stian/5_video_tutorials_on_ajax.bb&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/javascript" rel="tag"&gt;javascript&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Firebug" rel="tag"&gt;Firebug&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/jQuery" rel="tag"&gt;jQuery&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-7297610126837661860?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/7297610126837661860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=7297610126837661860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7297610126837661860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7297610126837661860'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2007/08/5-video-tutorials-on-ajax.html' title='5 video tutorials on AJAX'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-2843497160060199755</id><published>2007-06-15T11:03:00.001-05:00</published><updated>2007-06-15T11:04:20.277-05:00</updated><title type='text'>JRuby 1.0 released</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;If you have been using Java for some time, but have dabbled in Ruby as of late, you might be interested in knowing that &lt;a href='http://www.jruby.org'&gt;JRuby 1.0&lt;/a&gt; has been released. It provides a 100% pure-Java implementation of the Ruby programming language based on version 1.8.5 of the Ruby interpreter.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;small&gt;&lt;/small&gt;&lt;div style='text-align: right;'&gt;&lt;small&gt;Technorati Tags: &lt;a class='performancingtags' href='http://technorati.com/tag/JRuby' rel='tag'&gt;JRuby&lt;/a&gt;, &lt;a class='performancingtags' href='http://technorati.com/tag/Ruby' rel='tag'&gt;Ruby&lt;/a&gt;, &lt;a class='performancingtags' href='http://technorati.com/tag/Java' rel='tag'&gt;Java&lt;/a&gt;, &lt;a class='performancingtags' href='http://technorati.com/tag/framework' rel='tag'&gt;framework&lt;/a&gt;, &lt;a class='performancingtags' href='http://technorati.com/tag/scripting' rel='tag'&gt;scripting&lt;/a&gt;, &lt;a class='performancingtags' href='http://technorati.com/tag/programming' rel='tag'&gt;programming&lt;/a&gt;, &lt;a class='performancingtags' href='http://technorati.com/tag/software%20development' rel='tag'&gt;software development&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-2843497160060199755?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/2843497160060199755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=2843497160060199755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/2843497160060199755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/2843497160060199755'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2007/06/jruby-10-released.html' title='JRuby 1.0 released'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-3456380002759170675</id><published>2007-06-11T22:53:00.001-05:00</published><updated>2007-06-11T22:53:58.451-05:00</updated><title type='text'>.NET Garbage Collector</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;How much do you really know about the garbage collector in .NET?&amp;amp;nbsp; Take the &lt;a href='http://blogs.msdn.com/tess/archive/2007/04/02/net-garbage-collection-popquiz.aspx'&gt;.NET GC PopQuiz&lt;/a&gt; and then &lt;a href='http://blogs.msdn.com/tess/archive/2007/04/10/net-garbage-collector-popquiz-followup.aspx'&gt;read the followup&lt;/a&gt; to find out the real answers.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;&lt;div align='right'&gt;&lt;small&gt;Technorati Tags: &lt;a rel='tag' href='http://technorati.com/tag/.NET' class='performancingtags'&gt;.NET&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/garbage%20collection' class='performancingtags'&gt;garbage collection&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Orcas' class='performancingtags'&gt;Orcas&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/programming' class='performancingtags'&gt;programming&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/software%20development' class='performancingtags'&gt;software development&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-3456380002759170675?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/3456380002759170675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=3456380002759170675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3456380002759170675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3456380002759170675'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2007/06/net-garbage-collector.html' title='.NET Garbage Collector'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-294660017308553642</id><published>2006-12-14T21:23:00.001-06:00</published><updated>2006-12-14T21:28:44.885-06:00</updated><title type='text'>Borland BDS 2005 Problem</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I have been struggling with an issue when launching Borland BDS 2005 lately. I kept seeing an error during launch that an EPackageRegistrationException in coreide90.bpl. I tried searching for everything that I could find to fix the issue, but there was just no information beyond they fix for the same error involving HTMLHelp.IDERegister.&lt;br /&gt;&lt;br /&gt;I am running Vista, by the way. I had missed on the error dialog&lt;br /&gt;earlier that there was an access denied error. So, I thought about a&lt;br /&gt;possible permissions issue which did not really seem to make sense.&lt;br /&gt;Nonetheless, I went through the process of changing the permissions on&lt;br /&gt;my login user account for the "C:\Program Files\Borland" directory from&lt;br /&gt;Read+Execute to Full Control.&lt;br /&gt;&lt;br /&gt;Upon launching the BDS environment, I had no more errors. Finally! Success!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;p style="text-align: right; font-size: 10px;"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/Delphi" class="performancingtags"&gt;Delphi&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/BDS" class="performancingtags"&gt;BDS&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/EPackageRegistrationException" class="performancingtags"&gt;EPackageRegistrationException&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/Vista" class="performancingtags"&gt;Vista&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-294660017308553642?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/294660017308553642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=294660017308553642' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/294660017308553642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/294660017308553642'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/12/borland-bds-2005-problem.html' title='Borland BDS 2005 Problem'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115720113479051225</id><published>2006-09-02T07:40:00.000-05:00</published><updated>2006-09-02T07:45:34.863-05:00</updated><title type='text'>SQL Server</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;I have used &lt;span class="caps"&gt;SQL &lt;/span&gt;Server a lot in the past and I have written simple &lt;span class="caps"&gt;SELECT&lt;/span&gt;, INSERT, and &lt;span class="caps"&gt;DELETE&lt;/span&gt; statements, but I have been diving into it a lot more lately.  I have messed around lately with triggers and stored procedures.&lt;/p&gt;	&lt;p&gt;I am currently working on complex stored procedures making use of data output from another stored procedure.  Getting the &lt;span class="caps"&gt;SELECT&lt;/span&gt; statements just right when joining tables is what is currently throwing me for a loop.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=4558718"&gt;Learn SQL&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115720113479051225?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115720113479051225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115720113479051225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115720113479051225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115720113479051225'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/09/sql-server.html' title='SQL Server'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115639136026894487</id><published>2006-08-23T22:29:00.000-05:00</published><updated>2006-08-23T23:19:43.266-05:00</updated><title type='text'>Obscure T-SQL Annoyance</title><content type='html'>We are moving toward the use of SQL Server 2005 at work, so I have been getting my head wrapped around things like stored procedures and triggers. I have been using SQL Server Management Studio to create my stored procedures on my test database.&lt;br /&gt;&lt;br /&gt;I created a stored procedure tonight that would insert a new record in the database and return the new identity in an output parameter. My stored procedure looked like this...&lt;br /&gt;Use testing&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;CREATE PROCEDURE [dbo].AddName&lt;br /&gt; @firstname varchar(20) = NULL,&lt;br /&gt; @lastname varchar(30) = NULL,&lt;br /&gt; @NameID int OUTPUT&lt;br /&gt;AS&lt;br /&gt; SET @NameID = 0 -- return zero if the insert fails&lt;br /&gt;&lt;br /&gt; IF @firstname IS NOT NULL AND @lastname IS NOT NULL&lt;br /&gt; BEGIN&lt;br /&gt;    SELECT @NameID = ID&lt;br /&gt;    FROM names&lt;br /&gt;    WHERE firstname = @firstname&lt;br /&gt;       and lastname = @lastname&lt;br /&gt;&lt;br /&gt;    IF @NameID IS NULL&lt;br /&gt;    BEGIN&lt;br /&gt;       INSERT INTO names (firstname, lastname)&lt;br /&gt;       VALUES (@firstname, @lastname)&lt;br /&gt;&lt;br /&gt;       SELECT @NameID = SCOPE_IDENTITY()&lt;br /&gt;    END&lt;br /&gt; END&lt;br /&gt; SELECT @NameID&lt;br /&gt;GO&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Everything that I did just would not work. I kept getting a NULL back for the output parameter value.  My test went something like this....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;DECLARE @NameID INT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;EXEC AddName 'John', 'Smith', @NameID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SELECT @NameID&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I used the Template Explorer and setup a new stored procedure on the test database using the template. It worked like a charm with the output parameter being properly populated when the stored procedure returned.&lt;br /&gt;&lt;br /&gt;I finally figured it out a little while ago. That little light blue word called &lt;span style="color: rgb(51, 204, 255);"&gt;OUTPUT&lt;/span&gt; over on the right after the last parameter in the EXEC statement for the stored procedure.  I completely missed that on the template code example.  I did not realize that you had to include the direction declaration there since the procedure itself already designated the last parameter as an output parameter.&lt;br /&gt;&lt;br /&gt;My EXEC statement should have looked like this to work properly...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;EXEC AddName 'John', 'Smith', @NameID OUTPUT&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Oh well... I still have my hair. :)&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align: right; font-size: 10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/database" rel="tag"&gt;database&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/programming" rel="tag"&gt;programming&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/software" development="" rel="tag"&gt;software development&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/SQL" server="" 2005="" rel="tag"&gt;SQL Server 2005&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115639136026894487?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115639136026894487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115639136026894487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115639136026894487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115639136026894487'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/08/obscure-t-sql-annoyance.html' title='Obscure T-SQL Annoyance'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115602667330829503</id><published>2006-08-19T17:30:00.000-05:00</published><updated>2006-08-19T17:31:13.326-05:00</updated><title type='text'>Nerd Factor</title><content type='html'>I came across the Nerd Quiz on another blog this afternoon and just had to find out my nerd factor after 20 years of using computers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nerdtests.com/ft_nq.php?im"&gt;&lt;img src="http://www.nerdtests.com/images/ft/nq.php?val=1696" alt="I am nerdier than 65% of all people. Are you nerdier? Click here to find out!"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115602667330829503?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115602667330829503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115602667330829503' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115602667330829503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115602667330829503'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/08/nerd-factor.html' title='Nerd Factor'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115492383071636707</id><published>2006-08-06T23:05:00.000-05:00</published><updated>2006-08-06T23:10:30.753-05:00</updated><title type='text'>MCPD - Microsoft Certified Professional Developer</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;Because of the way that we are headed at work, I have decided to go the Microsoft Certified Professional Developer route.  To do this, I have to get the Microsoft Certified Technology Specialist (MCTS) certification first.  I am going to do this on the .NET 2.0 Windows Applications path first and then the Web Applications path.&lt;/p&gt;	&lt;p&gt;I ordered the &lt;em&gt;MCTS Self-Paced Training Kit (Exam 70-536)&lt;/em&gt; late last week.  I want to try and do this in the next six months to a year.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=1463147"&gt;get a Microsoft certification&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115492383071636707?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115492383071636707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115492383071636707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115492383071636707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115492383071636707'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/08/mcpd-microsoft-certified-professional.html' title='MCPD - Microsoft Certified Professional Developer'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115406254729875937</id><published>2006-07-27T23:51:00.000-05:00</published><updated>2006-07-27T23:55:47.340-05:00</updated><title type='text'>Four Days on Rails: Day 1 complete</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;I finished working through the Day 1 section of Four Days on Rails this evening.  It was a struggle at first trying to get everything setup, especially on Windows (still not fixed there), but that is behind me now.  The deeper I get into it, the more interesting it gets.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=3811541"&gt;Work through Four Days on Rails&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115406254729875937?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115406254729875937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115406254729875937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115406254729875937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115406254729875937'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/07/four-days-on-rails-day-1-complete.html' title='Four Days on Rails: Day 1 complete'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115404626096329464</id><published>2006-07-27T19:19:00.000-05:00</published><updated>2006-07-27T19:24:21.036-05:00</updated><title type='text'>Issues with RoR, Apache, and Windows</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;I have had some issues getting started, especially on my Dell laptop.  I have been trying to get the tutorial application working on Apache 2 on the laptop, but I am unable to get it going that way.&lt;/p&gt;	&lt;p&gt;On my Power Mac, everything went very smoothly.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=2444315"&gt;read Agile Web Development with Rails&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115404626096329464?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115404626096329464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115404626096329464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115404626096329464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115404626096329464'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/07/issues-with-ror-apache-and-windows.html' title='Issues with RoR, Apache, and Windows'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115271703562347476</id><published>2006-07-12T10:06:00.000-05:00</published><updated>2006-07-12T11:30:04.396-05:00</updated><title type='text'>Finally started with RoR</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;I finally got started on this yesterday.  I pulled down the InstantRails setup and got it all unzipped, but I could not get my first small application (from a tutorial) working.  I kept getting an error message when trying to launch the server.&lt;/p&gt; &lt;p&gt;I pulled down Locomotive and set it up on my Power Mac at home and got the same tutorial working in just a matter of minutes.&lt;/p&gt; &lt;p&gt;I need to try again on the Windows laptop today and see if I can get it working there.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=1626967"&gt;learn ruby on rails&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/programming" rel="tag"&gt;programming&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Rails" rel="tag"&gt;Rails&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Ruby" rel="tag"&gt;Ruby&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/software development" rel="tag"&gt;software development&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/InstantRails" rel="tag"&gt;InstantRails&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Locomotive" rel="tag"&gt;Locomotive&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115271703562347476?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115271703562347476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115271703562347476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115271703562347476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115271703562347476'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/07/finally-started-with-ror.html' title='Finally started with RoR'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-115250769971587850</id><published>2006-07-09T23:57:00.000-05:00</published><updated>2006-07-12T11:29:43.096-05:00</updated><title type='text'>Chapter 1 of "Agile Web Development with Rails"</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;I finally picked up the book and started reading today.  I had to do something other than all of the moving of boxes that I have been doing as of late.&lt;/p&gt; &lt;p&gt;I am eager to get into later chapters now and start producing something with Rails.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=2444315"&gt;read Agile Web Development with Rails&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/programming" rel="tag"&gt;programming&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Rails" rel="tag"&gt;Rails&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Ruby" rel="tag"&gt;Ruby&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/software development" rel="tag"&gt;software development&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-115250769971587850?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/115250769971587850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=115250769971587850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115250769971587850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/115250769971587850'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/07/chapter-1-of-agile-web-development.html' title='Chapter 1 of &quot;Agile Web Development with Rails&quot;'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-114722812900660055</id><published>2006-05-09T21:26:00.000-05:00</published><updated>2006-05-09T21:28:49.026-05:00</updated><title type='text'>ComputerZen.com - Scott Hanselman - Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List</title><content type='html'>&lt;a href="http://www.hanselman.com/blog/ScottHanselmans2005UltimateDeveloperAndPowerUsersToolList.aspx"&gt;Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List&lt;/a&gt; is just awesome if you are a software developer.  Scott tells you about all the tools that he uses that might be helpful in your day-to-day activities.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/programming" rel="tag"&gt;programming&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/software development" rel="tag"&gt;software development&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-114722812900660055?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/114722812900660055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=114722812900660055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114722812900660055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114722812900660055'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/05/computerzencom-scott-hanselman-scott.html' title='ComputerZen.com - Scott Hanselman - Scott Hanselman&apos;s 2005 Ultimate Developer and Power Users Tool List'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-114628250329343249</id><published>2006-04-28T22:46:00.000-05:00</published><updated>2006-04-28T22:49:08.660-05:00</updated><title type='text'>Sample source for Visual Studio 2005</title><content type='html'>What better than having sample source from the very company who brought us Visual Studio 2005 and the .NET 2.0 Framework?  Check out the &lt;a href="http://msdn.microsoft.com/vstudio/downloads/101samples/default.aspx" target="_blank"&gt;101 Samples for Visual Studio 2005&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/ASP.NET 2.0" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/C#" rel="tag"&gt;C#&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/CLR" rel="tag"&gt;CLR&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Visual Studio 2005" rel="tag"&gt;Visual Studio 2005&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-114628250329343249?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/114628250329343249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=114628250329343249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114628250329343249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114628250329343249'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/04/sample-source-for-visual-studio-2005.html' title='Sample source for Visual Studio 2005'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-114628205437621447</id><published>2006-04-28T22:38:00.000-05:00</published><updated>2006-04-28T22:40:54.420-05:00</updated><title type='text'>Take web apps offline for maintenance</title><content type='html'>I found a very interesting entry at ScottGu's Blog regarding maintenance on ASP.NET 2.0 web applications.  It basically consists of adding a file named asp_offline.htm to the root directory of your web application and ASP.NET 2.0 will shut down the app.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx" target="_blank" title="App_Offline.htm"&gt;read more&lt;/a&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/ASP.NET 2.0" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-114628205437621447?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/114628205437621447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=114628205437621447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114628205437621447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114628205437621447'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/04/take-web-apps-offline-for-maintenance.html' title='Take web apps offline for maintenance'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-114627639698474956</id><published>2006-04-28T21:04:00.000-05:00</published><updated>2006-04-28T21:21:13.606-05:00</updated><title type='text'>SQL Server 2005 Express</title><content type='html'>I was playing around with SQL Server Express 2005 at work today.  We are thinking about using it for the next release of one of our products.  I moved my database over and attached it to the server and started working in Visual Studio 2005.&lt;br /&gt;&lt;br /&gt;When I finished creating a CLR based stored procedure, on deployment, I got an error about &amp;#8220;Incorrect syntax near 'EXTERNAL'&amp;#8221;.  I did some searching and finally found that you have to update the compatibility index on your database when moving from SQL Server 2000 to SQL Server 2005.  The command to do this is ...&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;Exec sp_dbcmptlevel 'DatabaseName', '90'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Optima;font-size:14pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;Even after setting the compatibility index, I was still unable to execute my stored procedure, because CLR Integration was not enabled for SQL Server 2005 Express.  I had to use the SQL Server Surface Area Configuration tool to enable the CLR Integration.  Once that was done, all worked fine.&lt;br /&gt;&lt;br /&gt;I hope this helps someone to avoid headaches in the future.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/CLR" rel="tag"&gt;CLR&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/SQL" rel="tag"&gt;SQL&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/SQL Server 2005" rel="tag"&gt;SQL Server 2005&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Visual Studio 2005" rel="tag"&gt;Visual Studio 2005&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-114627639698474956?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/114627639698474956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=114627639698474956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114627639698474956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114627639698474956'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/04/sql-server-2005-express.html' title='SQL Server 2005 Express'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-114616917378883589</id><published>2006-04-27T15:17:00.000-05:00</published><updated>2006-04-28T21:11:24.180-05:00</updated><title type='text'>AJAX and Atlas</title><content type='html'>&lt;div class="goalentry"&gt;I just started looking into &lt;span class="caps"&gt;AJAX&lt;/span&gt;.  I am a .NET developer by trade, so naturally, I am looking at the Atlas framework which plugs into &lt;span class="caps"&gt;ASP&lt;/span&gt;.NET and lets you take advantage of &lt;span class="caps"&gt;AJAX&lt;/span&gt; techniques in web apps.&lt;/div&gt;&lt;div class="goalentry"&gt;&lt;/div&gt;&lt;div class="goalentry"&gt;I worked with a tutorial last night and I was not impressed, but I watched a tutorial video earlier today and I now understand it a lot more.  It is some very interesting technology.&lt;/div&gt;&lt;div class="goalprogresslink"&gt;&lt;br /&gt;&lt;br /&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=2884069"&gt;learn ajax&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Atlas" rel="tag"&gt;Atlas&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-114616917378883589?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/114616917378883589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=114616917378883589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114616917378883589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114616917378883589'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/04/ajax-and-atlas.html' title='AJAX and Atlas'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-114610211486221907</id><published>2006-04-26T20:39:00.000-05:00</published><updated>2006-04-26T20:41:54.913-05:00</updated><title type='text'>SQL weakness</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;One of my big weaknesses at work is &lt;span class="caps"&gt;SQL&lt;/span&gt;.  I have been at the same job for almost 17 years.  Unfortunately, my skills have been retarded due to the things that we do with our client software.&lt;/p&gt;	&lt;p&gt;I was doing some things for a new piece of software today that uses a &lt;span class="caps"&gt;MSSQL&lt;/span&gt; for data persistence.  I was doing a join on two tables, but I was not getting the results back that I expected.  I finally figured out that I needed a &amp;#8220;left join&amp;#8221;, because not all of the records for one table had matching records in the joined table.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=232415"&gt;Become a better programmer&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-114610211486221907?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/114610211486221907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=114610211486221907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114610211486221907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/114610211486221907'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2006/04/sql-weakness.html' title='SQL weakness'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-113479787383677061</id><published>2005-12-16T23:38:00.000-06:00</published><updated>2005-12-16T23:39:08.523-06:00</updated><title type='text'>Geek Heaven</title><content type='html'>&lt;p&gt;I came across the Dictionary of Algorithms and Data Structures tonight on &lt;a href="http://digg.com/links/Alogrithms_Dictionary_Online"&gt;Digg&lt;/a&gt;.  This site has everything you would ever want to know on an exhaustive list of algorithms, algorithmic techniques, data structures, archetypical problems, and related definitions.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.nist.gov/dads/terms.html"&gt;Dictionary of Algorithms and Data Structures&lt;/a&gt;&lt;p&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/algorithms"&gt;algorithms&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/data%20structures"&gt;data structures&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-113479787383677061?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/113479787383677061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=113479787383677061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113479787383677061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113479787383677061'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/12/geek-heaven.html' title='Geek Heaven'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-113435734765818249</id><published>2005-12-11T21:11:00.000-06:00</published><updated>2005-12-11T21:15:47.673-06:00</updated><title type='text'>Ten Commandments of Egoless Programming</title><content type='html'>&lt;p style="margin: 0px;"&gt;I came across this list tonight.  These are some very interesting principles to live by in regards to one's programming career.&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p style="margin: 0px;"&gt;&lt;b&gt;Ten Commandments of Egoless Programming  - &lt;/b&gt;(Lamont Adams, Builder.com | Sunday, July 14 2002)&lt;/p&gt; &lt;ol type="1"&gt;&lt;li&gt;&lt;b&gt;Understand and accept that you will make mistakes.&lt;/b&gt; The point is to find them early, before they make it into production. Fortunately, except for the few of us developing rocket guidance software at JPL, mistakes are rarely fatal in our industry, so we can, and should, learn, laugh, and move on. &lt;/li&gt;&lt;li&gt;&lt;b&gt;You are not your code.&lt;/b&gt; Remember that the entire point of a review is to find problems, and problems will be found. Don't take it personally when one is uncovered. &lt;/li&gt;&lt;li&gt;&lt;b&gt;No matter how much "karate" you know, someone else will always know more.&lt;/b&gt; Such an individual can teach you some new moves if you ask. Seek and accept input from others, especially when you think it's not needed. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Don't rewrite code without consultation.&lt;/b&gt; There's a fine line between "fixing code" and "rewriting code." Know the difference, and pursue stylistic changes within the framework of a code review, not as a lone enforcer. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Treat people who know less than you with respect, deference, and patience.&lt;/b&gt; Nontechnical people who deal with developers on a regular basis almost universally hold the opinion that we are prima donnas at best and crybabies at worst. Don't reinforce this stereotype with anger and impatience. &lt;/li&gt;&lt;li&gt;&lt;b&gt;The only constant in the world is change.&lt;/b&gt; Be open to it and accept it with a smile. Look at each change to your requirements, platform, or tool as a new challenge, not as some serious inconvenience to be fought. &lt;/li&gt;&lt;li&gt;&lt;b&gt;The only true authority stems from knowledge, not from position.&lt;/b&gt; Knowledge engenders authority, and authority engenders respect—so if you want respect in an egoless environment, cultivate knowledge.  &lt;/li&gt;&lt;li&gt;&lt;b&gt;Fight for what you believe, but gracefully accept defeat.&lt;/b&gt; Understand that sometimes your ideas will be overruled. Even if you do turn out to be right, don't take revenge or say, "I told you so" more than a few times at most, and don't make your dearly departed idea a martyr or rallying cry. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Don't be "the guy in the room."&lt;/b&gt; Don't be the guy coding in the dark office emerging only to buy cola. The guy in the room is out of touch, out of sight, and out of control and has no place in an open, collaborative environment. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Critique code instead of people—be kind to the coder, not to the code.&lt;/b&gt; As much as possible, make all of your comments positive and oriented to improving the code. Relate comments to local standards, program specs, increased performance, etc&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-113435734765818249?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/113435734765818249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=113435734765818249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113435734765818249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113435734765818249'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/12/ten-commandments-of-egoless.html' title='Ten Commandments of Egoless Programming'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-113405791752630351</id><published>2005-12-08T10:05:00.000-06:00</published><updated>2005-12-08T10:07:18.926-06:00</updated><title type='text'>SQL Server</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;Currently installing &lt;span class="caps"&gt;SQL &lt;/span&gt;Server 2005.  I get to do some work with the latest &lt;span class="caps"&gt;SQL &lt;/span&gt;Server version starting today.  Time to go visit the local bookstore.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;tags:  &lt;a href="http://technorati.com/tag/SQL+Server+2005" rel="tag"&gt;SQL Server 2005&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-113405791752630351?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/113405791752630351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=113405791752630351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113405791752630351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113405791752630351'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/12/sql-server.html' title='SQL Server'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-113388440740108137</id><published>2005-12-06T09:47:00.000-06:00</published><updated>2005-12-06T09:53:28.543-06:00</updated><title type='text'>Ten essential add-ins for Visual Studio</title><content type='html'>&lt;a href="http://msdn.microsoft.com/msdnmag/find/?type=Au&amp;phrase=James%20Avery&amp;words=exact"&gt;James Avery&lt;/a&gt; has posted an article on &lt;a href="http://msdn.microsoft.com/"&gt;MSDN&lt;/a&gt; where he focuses on 10 essential add-ins that every &lt;a href="http://msdn.microsoft.com/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt; developer must have now.&lt;br /&gt;&lt;br /&gt;I have used TestDriven.Net in the past myself, but I have not used any of the other tools.  I need to download the tools that Mr. Avery talks about in the article and try them out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/12/VisualStudioAddins/default.aspx"&gt;read more&lt;/a&gt; | tags: &lt;a href="http://technorati.com/tag/MSDN" rel="tag"&gt;MSDN&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;, &lt;a href="http://technorati.com/tag/.NET+development" rel="tag"&gt;.NET development&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-113388440740108137?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/113388440740108137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=113388440740108137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113388440740108137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113388440740108137'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/12/ten-essential-add-ins-for-visual.html' title='Ten essential add-ins for Visual Studio'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-113284968333568478</id><published>2005-11-24T10:28:00.000-06:00</published><updated>2005-11-24T10:28:03.453-06:00</updated><title type='text'>MCSD</title><content type='html'>&lt;div&gt;&lt;div class="goalentry"&gt;&lt;p&gt;I started working on my &lt;span class="caps"&gt;MCSD&lt;/span&gt; a while back, but we started doing more Java at work.  Recently, we have been doing a lot more C#, so I am interested in picking it up again.  I want to complete it this time, though.&lt;/p&gt;&lt;/div&gt;&lt;div class="goalprogresslink"&gt;See more progress on: &lt;a href="http://www.43things.com/people/progress/kwsanders?on=1463147"&gt;get a Microsoft certification&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-113284968333568478?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/113284968333568478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=113284968333568478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113284968333568478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113284968333568478'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/11/mcsd.html' title='MCSD'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-113159602888706349</id><published>2005-11-09T22:06:00.000-06:00</published><updated>2005-11-09T22:13:48.896-06:00</updated><title type='text'>Delphi</title><content type='html'>I used to use Delphi in my job all the time.  I got moved to a different project since that time and I have not really used Delphi in over two years.  I had to start using it a bit this past week at work.  It is so funny to feel like a newbie when you sit down to something after programming for 16+ years.  :)&lt;br /&gt;&lt;br /&gt;I finally started remembering things and got back up to speed.&lt;br /&gt;&lt;br /&gt;tags: &lt;a href="http://technorati.com/tag/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a href="http://technorati.com/tag/BORLAND" rel="tag"&gt;BORLAND&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Delphi" rel="tag"&gt;Delphi&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-113159602888706349?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/113159602888706349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=113159602888706349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113159602888706349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/113159602888706349'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/11/delphi.html' title='Delphi'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-112664667030542317</id><published>2005-09-13T16:20:00.000-05:00</published><updated>2005-09-13T16:24:30.316-05:00</updated><title type='text'>Eclipse Wiki</title><content type='html'>I just came across the Eclipse Wiki today.  According to the site, it was created to provide the development community with a place to share information about Eclipse and its sub-projects.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://eclipsewiki.editme.com/"&gt;read more&lt;/a&gt; | tags: &lt;a href="http://technorati.com/tag/Eclipse" rel="tag"&gt;Eclipse&lt;/a&gt;, &lt;a href="http://technorati.com/tag/software+development" rel="tag"&gt;software development&lt;/a&gt;, &lt;a href="http://technorati.com/tag/programming" rel="tag"&gt;programming&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-112664667030542317?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/112664667030542317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=112664667030542317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112664667030542317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112664667030542317'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/09/eclipse-wiki.html' title='Eclipse Wiki'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-112438753940060611</id><published>2005-08-18T12:49:00.000-05:00</published><updated>2005-08-18T12:52:19.406-05:00</updated><title type='text'>Using JUnit Test Groups</title><content type='html'>I came across an interesting article on DogBiscuit today that talks about how to setup test groups in JUnit if you have expensive setup code that would normally be run before each test.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dogbiscuit.org/mdub/weblog/Tech/Programming/Java/TestGroupsForJUnit"&gt;read more&lt;/a&gt; | tags: &lt;a href="http://technorati.com/tag/junit" rel="tag"&gt;junit&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-112438753940060611?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/112438753940060611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=112438753940060611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112438753940060611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112438753940060611'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/08/using-junit-test-groups.html' title='Using JUnit Test Groups'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-112149224708005276</id><published>2005-07-16T00:37:00.000-05:00</published><updated>2005-07-16T00:37:27.086-05:00</updated><title type='text'>Does Intel's compiler cripple AMD performance?</title><content type='html'>One of the claims in AMD's sensational antitrust complaint against Intel has been getting some play around the web lately. Specifically, folks are focusing on what AMD says about Intel compilers and how they react to the presence of AMD processors. Here's the meat of the claim, taken directly from the AMD complaint:&lt;br/&gt;&lt;br/&gt;&lt;a href="http://techreport.com/onearticle.x/8547"&gt;read more&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://digg.com/technology/Does_Intel_s_compiler_cripple_AMD_performance?"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-112149224708005276?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/112149224708005276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=112149224708005276' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112149224708005276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112149224708005276'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/07/does-intels-compiler-cripple-amd.html' title='Does Intel&apos;s compiler cripple AMD performance?'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-112105241297847720</id><published>2005-07-10T22:26:00.000-05:00</published><updated>2005-07-10T22:26:52.996-05:00</updated><title type='text'>Regular Expression Library</title><content type='html'>A library of pre-written regular expressions that you can plug into your code. Also, features a regular expression online testing engine against inputted text or a website text. Very handy resource!&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.regexlib.com/"&gt;read more&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://digg.com/programming/Regular_Expression_Library"&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-112105241297847720?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/112105241297847720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=112105241297847720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112105241297847720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112105241297847720'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/07/regular-expression-library.html' title='Regular Expression Library'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-112071737275039797</id><published>2005-07-07T01:18:00.000-05:00</published><updated>2005-07-07T01:23:43.926-05:00</updated><title type='text'>Excited about programming again</title><content type='html'>For the past year or so, I have had a situation at work where I have been limited in what I could due to some issues between my current company and my previous company.  It seemed like everything that I got put on, a couple of weeks later, someone came along and said that I could not work on that particular project.  My job seemed to be going no place.&lt;br /&gt;&lt;br /&gt;I got word this week that things have finally been cleared up and I can go back to working on some of the projects that I had been attempting to work on in tthe past.  This was like someone lifting a huge elephant right off my back or something.  I had been quite down as of late due to all of this.&lt;br /&gt;&lt;br /&gt;After getting this news this week, I have actually been interested in programming again.  Hopefully everything will start picking up and works gets fun again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-112071737275039797?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/112071737275039797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=112071737275039797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112071737275039797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112071737275039797'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/07/excited-about-programming-again.html' title='Excited about programming again'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-112020025334195674</id><published>2005-07-01T01:35:00.000-05:00</published><updated>2005-07-01T01:44:13.346-05:00</updated><title type='text'>Programming doldrums</title><content type='html'>Have you ever been in a state where there was so much that you wanted to do in programming, yet you didn't really want to do anything?  I am at that point right now in my programming life.  I have been jerked, pulled, and tossed around so much lately that I do not know which way is up.&lt;br /&gt;&lt;br /&gt;In the past 3 months, I have been on and off projects that used Java, C++, C#, Delphi, and VB.  It is like someone threw it all in a blender, turned it up on high, and out comes a lot of mush.&lt;br /&gt;&lt;br /&gt;I have a personal project that I was really getting into when I was working with Java, but lately, I have been on a C++ kick.  I got the Power Mac back in May and I want to do some programming in Objective-C and Cocoa for it, but that is just another ingredient to add to the mix.&lt;br /&gt;&lt;br /&gt;I am not really sure what I want to do at this point.  I just sit here at night now playing around in iTunes listening to various technical podcasts and I do not do any programming.  I need a plan for something that I can stick to and finish.  I guess I should just pick up the personal project again.&lt;br /&gt;&lt;br /&gt;I just hope that I have not gotten into such a rut that I cannot get myself out of it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-112020025334195674?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/112020025334195674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=112020025334195674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112020025334195674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/112020025334195674'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/07/programming-doldrums.html' title='Programming doldrums'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-111996711897695754</id><published>2005-06-28T08:58:00.000-05:00</published><updated>2005-06-30T19:51:09.856-05:00</updated><title type='text'>AMD files suit against Intel</title><content type='html'>Wow! This one caught me off guard. I can certainly expect something like this from a software company that is fighting against the big fish in the pond, but I did not expect something like this in the computer chip market. I wonder if this has anything to do with &lt;a href="http://shrinkster.com/6aa"&gt;Apple's decision to use Intel&lt;/a&gt; for their product line going forward?&lt;br /&gt;&lt;br /&gt;Read the &lt;a href="http://shrinkster.com/6a8"&gt;CNET News.com article&lt;/a&gt; for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-111996711897695754?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/111996711897695754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=111996711897695754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111996711897695754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111996711897695754'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/06/amd-files-suit-against-intel.html' title='AMD files suit against Intel'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-111996282950710072</id><published>2005-06-28T07:47:00.000-05:00</published><updated>2005-06-28T07:47:09.510-05:00</updated><title type='text'>Eclipse 3.1 released at JavaOne</title><content type='html'>&lt;a href="http://www.eclipse.org/"&gt;Eclipse.org&lt;/a&gt; released the latest version of the Eclipse development environment at &lt;a href="http://java.sun.com/javaone/sf/index.jsp"&gt;JavaOne&lt;/a&gt; yesterday.  Much of the excitement regarding Eclipse 3.1 centered on the &lt;a href="http://www.eclipse.org/rcp/"&gt;Rich Client Platform&lt;/a&gt; upon which you can build very professional looking applications.&lt;br /&gt;&lt;br /&gt;The Rich Client Platform has been &lt;a href="http://www.eclipse.org/org/press-release/20050627rcp31.htm"&gt;greatly enhanced&lt;/a&gt; in this version of Eclipse.  The system has improved performance, expanded tool support, bettery support for &lt;a href="http://java.sun.com/products/javawebstart/"&gt;Java Web Start (JNLP)&lt;/a&gt;, and &lt;a href="http://www.eclipse.org/vep/"&gt;Visual Editor&lt;/a&gt; support.&lt;br /&gt;&lt;br /&gt;For more information and a &lt;a href="http://en.wikipedia.org/wiki/Podcast"&gt;podcast&lt;/a&gt; on the launch, check out this story on &lt;a href="http://blogs.zdnet.com/BTL/?p=1547&amp;amp;tag=nl.e539"&gt;Between the Lines&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-111996282950710072?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/111996282950710072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=111996282950710072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111996282950710072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111996282950710072'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/06/eclipse-31-released-at-javaone.html' title='Eclipse 3.1 released at JavaOne'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-111980543251821494</id><published>2005-06-26T12:02:00.001-05:00</published><updated>2005-06-26T12:03:52.516-05:00</updated><title type='text'>Blog puke</title><content type='html'>I am not sure what exactly happened today at Blogger, but my mother emailed me asking about my blog and why the Blogroll was gone.  I took a look and the template had reverted to the default and lost my changes at some point in the past 36 hours.  It is fixed now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-111980543251821494?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/111980543251821494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=111980543251821494' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111980543251821494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111980543251821494'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/06/blog-puke.html' title='Blog puke'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-111958358512809466</id><published>2005-06-23T22:09:00.000-05:00</published><updated>2005-06-23T22:26:25.133-05:00</updated><title type='text'>Eclipse CDT project 3.0 RC0</title><content type='html'>Eclipse.org has also released the first release candidate for the &lt;a href="http://www.eclipse.org/cdt/"&gt;CDT (C/C++ Development Tools)&lt;/a&gt; Project. This is an excellent plugin development environment for Eclipse that gives full C/C++ development and debugging capabilities. &lt;a href="http://download.eclipse.org/tools/cdt/builds/3.0.0/M7/index.html"&gt;CDT 3.0 RC0&lt;/a&gt; runs under Eclipse 3.1 M7 and later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-111958358512809466?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/111958358512809466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=111958358512809466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111958358512809466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111958358512809466'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/06/eclipse-cdt-project-30-rc0.html' title='Eclipse CDT project 3.0 RC0'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-111958252846341381</id><published>2005-06-23T22:06:00.000-05:00</published><updated>2005-06-23T22:08:48.466-05:00</updated><title type='text'>Eclipse 3.1 RC3</title><content type='html'>Eclipse.org has released the &lt;a href=http://download.eclipse.org/eclipse/downloads/drops/S-3.1RC3-200506171618/index.php&gt;Eclipse 3.1 RC3&lt;/a&gt; development environment for all platforms.  The environment seems to be getting quicker and more stable with each RC release at this point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-111958252846341381?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/111958252846341381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=111958252846341381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111958252846341381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111958252846341381'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/06/eclipse-31-rc3.html' title='Eclipse 3.1 RC3'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-111915496682898890</id><published>2005-06-18T22:51:00.000-05:00</published><updated>2005-06-18T23:24:50.936-05:00</updated><title type='text'>Going home</title><content type='html'>God took one of his children home tonight.  My father's sister, Lillian Parker, was taken to be with God tonight.  She had a really bad heart attack Saturday and was put in the hospital.&lt;br /&gt;&lt;br /&gt;My parents went to see her earlier today.  My mother said that she looked quite bad with only about 20% functionality in her heart.  My father called just a little while ago to give me the news and said that he knew it was just a matter of time earlier today, because she seemed to be just holding on... just like her mother did so many years ago when I was young.&lt;br /&gt;&lt;br /&gt;My aunt was a life long member of Harmony Baptist Church in a small, unincorporated area of Blount county in Alabama.  She always laughed and smiled when I saw her.  Her laugh was always infectious.  She was definitely a special lady.&lt;br /&gt;&lt;br /&gt;Please pray for my family in this time of mourning, but please do not shed a tear, for she is in no longer suffering and she is much happier than we could ever be, because she is laughing and singing with her mother, Jesus, and having a wonderful fellowship with God, The Father!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-111915496682898890?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/111915496682898890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=111915496682898890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111915496682898890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111915496682898890'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/06/going-home.html' title='Going home'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-111915489584046775</id><published>2005-06-17T08:56:00.000-05:00</published><updated>2005-06-18T23:24:18.896-05:00</updated><title type='text'>Going back in time</title><content type='html'>I recently started playing around with C++, partly because I wanted to work with a cross-platform language other than Java that I could use on my Windows based laptop and my PowerPC Mac. I have been a developer for 16+ years, but working with C++ has me feeling like I am a new programmer again.&lt;br /&gt;&lt;br /&gt;I have been struggling with virtual methods, abstract classes, and templates. I am currently stuck on a situation where I have a pure abstract class defined that I want to use in a collection to represent one of three different derived classes, but I seem to be getting some compile errors where I use it.&lt;br /&gt;&lt;br /&gt;At least I am not getting paid like a new developer again.&amp;nbsp; I would go hungry.  :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-111915489584046775?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/111915489584046775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=111915489584046775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111915489584046775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/111915489584046775'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/06/going-back-in-time.html' title='Going back in time'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-6883783228439760819</id><published>2005-04-05T23:53:00.000-05:00</published><updated>2007-07-20T23:55:48.566-05:00</updated><title type='text'>JFrame setMinimumSize() and setMaximumSize() issue</title><content type='html'>I have been playing around with Swing tonight using JDK 1.5.0_02. I have found an issue where the setMinimumSize and setMaximumSize dimensions are not enforced on a JFrame. I wanted to keep a dialog from being resized smaller than a minimum bounds or larger than a maximum bounds. To do this, I originally used the following code in my application:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;frame.setMinimumSize( new Dimension( 250, 200 ) ); frame.setMaximumSize( new Dimension( 325, 275 ) );&lt;/span&gt;&lt;/blockquote&gt;Unfortunately, as I mentioned above, this does not prevent you from resizing the frame smaller or larger than the specified sizes. Of course, you could just decide to not allow any resizing of the frame. To do that, you could use this line of code in your application:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;frame.setResizable( false );&lt;/span&gt;&lt;/blockquote&gt;However, if you want to allow the user to resize a dialog, then this is not a viable alternative. I decided to create my own class derived from JFrame. This class takes a title as well as minimum and maximum dimensions. My constructor for the class looks like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;private Dimension minimumSize;&lt;br /&gt;private Dimension maximumSize;&lt;br /&gt;&lt;br /&gt;public MyJFrame( String title, Dimension minimumSize,&lt;br /&gt;   Dimension maximumSize ) throws HeadlessException &lt;br /&gt;{&lt;br /&gt;   super( title );&lt;br /&gt;   this.minimumSize = minimumSize;&lt;br /&gt;   this.maximumSize = maximumSize;&lt;br /&gt;   initialize();&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;The initialize(): call does nothing more than make a call to addComponentListener on the frame. In this call, I create an anonymous ComponentAdapter class which overrides the componentResized method to handle the constraints on the frame. The code looks like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;private void initialize() {&lt;br /&gt;    this.addComponentListener( new ComponentAdapter() {&lt;br /&gt;        @Override&lt;br /&gt;        public void componentResized( ComponentEvent e ) {&lt;br /&gt;            MyJFrame frame = (MyJFrame) e.getSource();&lt;br /&gt;            int width = frame.getWidth();&lt;br /&gt;            int height = frame.getHeight();&lt;br /&gt;            boolean resize = false;&lt;br /&gt;            if ( width &amp;lt; minimumSize.getSize().width ) {&lt;br /&gt;                width = minimumSize.getSize().width;&lt;br /&gt;                resize = true;&lt;br /&gt;            }&lt;br /&gt;            else if ( width &amp;gt; maximumSize.getSize().width ) {&lt;br /&gt;                width = maximumSize.getSize().width;&lt;br /&gt;                resize = true;&lt;br /&gt;            }&lt;br /&gt;            if ( height &amp;lt; minimumSize.getSize().height ) {&lt;br /&gt;                height = minimumSize.getSize().height;&lt;br /&gt;                resize = true;&lt;br /&gt;            }&lt;br /&gt;            else if (height &amp;gt; maximumSize.getSize().height ) {&lt;br /&gt;                height = maximumSize.getSize().height;&lt;br /&gt;                resize = true;&lt;br /&gt;            }&lt;br /&gt;            if ( resize ) {&lt;br /&gt;                frame.setSize( width, height );&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    })&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;This code is pretty straight forward. It grabs the current size constraints for the frame that fired the event. It then checks these constraints against the specified minimum and maximum dimensions. If the constraints on the frame are not met, the size of the frame is set explicitly, otherwise, the flow falls through and the frame is resized according to the size that the user has resized it.&lt;br /&gt;&lt;br /&gt;There may be better ways to handle this situation. This is what I came up with tonight and it works pretty well. Hopefully future versions of the JDK will enforce the setMinimumSize and setMaximumSize dimensions on the JFrame component.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/JFrame" rel="tag"&gt;JFrame&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/swing" rel="tag"&gt;swing&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-6883783228439760819?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/6883783228439760819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=6883783228439760819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6883783228439760819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6883783228439760819'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/04/jframe-setminimumsize-and.html' title='JFrame setMinimumSize() and setMaximumSize() issue'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-3941669727546978864</id><published>2005-04-04T11:55:00.000-05:00</published><updated>2007-07-20T23:49:13.666-05:00</updated><title type='text'>Eclipse Milestone Build 3.1M6 released; SWT problem?</title><content type='html'>Eclipse Foundation has released the latest milestone build of Eclipse 3.1 for download. This version has quite a few bug fixes and some enhancements. One of the enhancements allows for plugins to be setup in JAR files instead of a directory structure.&lt;br /&gt;&lt;br /&gt;I downloaded it today and set it up on my laptop. I then opened up the SWT application that I am currently working on at home and found that there appears to be an issue with SWT in this build. My classpath is setup correctly and the build works, but when the application launches, I get a NullReferenceException on a call to super.configureShell( shell ). This all works in Eclipse 3.1M5a. I am not sure what has changed, but I need to play around with it a little more to see what is going on.&lt;br /&gt;&lt;br /&gt;One thing that I noticed with the new plugin setup is that the SWT DLL for Win32 is located in a totally different directory now. I think they have a little work to do on this new plugin strategy. Of course, that is why they call this beta software. It might not work for everything that you want to do.&lt;br /&gt;&lt;br /&gt;Update: I worked with this some more tonight and it appears that there is definitely an issue with SWT in the latest milestone build. I would imagine that it might be in the swt-win32-3128.dll file, but of course, you should not bank on that information. I use milestone build M6 and pointed it ot the swt.jar and the swt-win32-3123.dll for milestone build M5a and my application works.&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Eclipse" rel="tag"&gt;Eclipse&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/SWT" rel="tag"&gt;SWT&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-3941669727546978864?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/3941669727546978864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=3941669727546978864' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3941669727546978864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3941669727546978864'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/04/eclipse-milestone-build-31m6-released.html' title='Eclipse Milestone Build 3.1M6 released; SWT problem?'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-4278988735376318358</id><published>2005-04-01T20:41:00.000-06:00</published><updated>2007-07-20T23:47:12.091-05:00</updated><title type='text'>Regular Expressions in Java</title><content type='html'>I started playing around with regular expressions this past week. I am going to use them in the personal project that I am working on to validate different user input data strings. I recently purchased a very good book from Apress called &lt;span style="text-decoration:underline;"&gt;Regular Expression Recipes: A Problem-Solution Approach&lt;/span&gt; by Nathan A. Good. They have another book specifically for Java called &lt;span style="text-decoration:underline;"&gt;Java Regular Expressions: Taming the java.util.regex Engine&lt;/span&gt;, but I did not know about it before I purchased the first book. It may have helped me with this problem. :)&lt;br /&gt;&lt;br /&gt;Anyway, the book that I purchased has examples for Perl, Python, and shell scripting. Since it was the first example for each recipe, I picked off the regular expressions from the Perl code for the particulat items that I wanted to validate and used that in Java. I was dumbfounded when it did not work. As an example, I used a regular expression to validate an email address. The regular expression looked like this from the Perl example:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/&lt;/span&gt;&lt;/blockquote&gt;I spent a couple of evenings after work at home on this problem before I finally figured it out. You should not use the starting and ending slash ("/") when using any regular expression in Java. Java's regular expression compiler apparently sees this as a literal character when it compiles the expression and the corresponding validation ends up failing. When I removed those slashes, the validation unit test past and things were grand!&lt;br /&gt;&lt;br /&gt;One other thing to remember in Java with regular expressions is that the backslash ("\") is an escape character. Unfortunately, it is also an escape character in Java. Thusly, you have to use double backslashes for the escape character in your regular expressions in Java. So, in the example above, the first \w should be set in Java as \\w.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Perl" rel="tag"&gt;Perl&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Regular Expressions" rel="tag"&gt;Regular Expressions&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/shell scripting" rel="tag"&gt;shell scripting&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-4278988735376318358?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/4278988735376318358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=4278988735376318358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/4278988735376318358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/4278988735376318358'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/04/regular-expressions-in-java.html' title='Regular Expressions in Java'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-9166356629572714984</id><published>2005-04-01T00:32:00.000-06:00</published><updated>2007-07-20T23:41:21.314-05:00</updated><title type='text'>SWT/JFace, MVC, JUnit</title><content type='html'>Whew! Did I get them all in there? I have been struggling lately with the Model-View-Controller pattern. Well, I haven't been struggling with the pattern itself as much as I had been struggling with how to implement it properly and create unit tests in an SWT/JFace application. Being new to MVC, one struggles with what should be in the controller and what should not. I was trying to put everything in the controller, but that is not always feasible.&lt;br /&gt;&lt;br /&gt;In my case, I was unsure about the inherited methods from the JFace Window class, such as createContents(), initializeBounds(), etc. Well, those methods do not need to be in the controller, because there is no interaction with the model. These methods are strictly there to create and initialize the view. The methods that I ended up putting in the controller were only those that dealt with the view with respect to the model.&lt;br /&gt;&lt;br /&gt;For instance, in my example application that I put together tonight to play around with this process, I have a Contact class (model), a setup dialog (view), and a controller class. The model contains nothing more than first, middle, and last name strings for this example. It is quite simple. The view is also simple in that it has three Label controls, three Text controls, and two Button controls (Print and Cancel).&lt;br /&gt;&lt;br /&gt;My controller class ended up having the following methods:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;public void onFirstNameChanged();&lt;br /&gt;public void onMiddleNameChanged();&lt;br /&gt;public void onLastNameChanged();&lt;br /&gt;public void onPrintClick();&lt;br /&gt;public void onCancelClick();&lt;/span&gt;&lt;/blockquote&gt;The first three methods are called in the focusLost method for the FocusListener on the respective edit control for each component of the contact name. The onPrintClick method is called when I click on the Print button. It fires the print method on the view and does nothing more than print the contents of the model out to the console in this simple example. The onCancelClick method fires the close method on the view.&lt;br /&gt;&lt;br /&gt;I was able to create unit tests for my controller class and the model, but I did not really create anything for the view. The view does nothing more than initialize itself and wait for user input or receives events from the controller. Since all of the major work for updating the model and other user interaction is handled in the controller, then I am not even sure if it matters that there are no unit tests for the view.&lt;br /&gt;&lt;br /&gt;I could have simplified this example a little more by combining the view and the model, but since I have most of the classes already created for an application that I am currently working on for myself, I figured I would see if I could get things working with a model that is separate from the view.&lt;br /&gt;&lt;br /&gt;I came across an interesting discussion on Martin Fowler's web site tonight which talks about Model-View-Presenter.  I need to investigate this further.&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/JFace" rel="tag"&gt;JFace&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/JUnit" rel="tag"&gt;JUnit&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Martin Fowler" rel="tag"&gt;Martin Fowler&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Model-View-Controller" rel="tag"&gt;Model-View-Controller&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Model-View-Presenter" rel="tag"&gt;Model-View-Presenter&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/MVC" rel="tag"&gt;MVC&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/patterns" rel="tag"&gt;patterns&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/SWT" rel="tag"&gt;SWT&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-9166356629572714984?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/9166356629572714984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=9166356629572714984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/9166356629572714984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/9166356629572714984'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/04/swtjface-mvc-junit.html' title='SWT/JFace, MVC, JUnit'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-5232127031927867792</id><published>2005-03-19T19:46:00.000-06:00</published><updated>2007-07-20T23:37:25.619-05:00</updated><title type='text'>ImageDescriptor problem on JFace actions?</title><content type='html'>I found what seems to be an issue with setting an jface.resource.ImageDescriptor for an jface.Action class.  I have a few standard button bar images that I was going to use in my application.  When I first set the image for the action, I thought I was doing something wrong.  I set the image originally, like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;public ExitAction() extends Action {&lt;br /&gt;   &lt;br /&gt;    public ExitAction() {&lt;br /&gt;        super( “E&amp;#38;xit@Ctrl+X“, ImageDescriptor.createFromFile( “images\\close.gif“ ) );&lt;br /&gt;        setToolTipText( “Exit Application“ );&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;Unfortunately, this produced a small red square on the button and on the menu item that the ExitAction was assigned to.  I checked the image thinking it was corrupt, but all was well.  After doing a little snooping, I found that you can also create an ImageDescriptor from a swt.graphics.Image.  I changed the code to look like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;public ExitAction() extends Action {&lt;br /&gt;   &lt;br /&gt;    public ExitAction() {&lt;br /&gt;        super( “E&amp;#38;xit@Ctrl+X“ );&lt;br /&gt;        setToolTipText( “Exit Application“ );&lt;br /&gt;        Image image = new Image( Display.getCurrent(), “images\\close.gif“ );&lt;br /&gt;        setImageDescriptor( ImageDescriptor.createFromImage( image ) );&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;This produces the desired results.  I am not sure why the first way of setting the image for the action did not work, but every tutorial that I have gone through and even the code in Apress' &lt;span style="text-decoration:underline;"&gt;The Definitive Guide to SWT and JFace&lt;/span&gt; do it like I did it in the first code fragment above.&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/ImageDescriptor" rel="tag"&gt;ImageDescriptor&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/JFace" rel="tag"&gt;JFace&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-5232127031927867792?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/5232127031927867792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=5232127031927867792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5232127031927867792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5232127031927867792'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/03/imagedescriptor-problem-on-jface.html' title='ImageDescriptor problem on JFace actions?'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-895154588651456100</id><published>2005-03-19T13:21:00.000-06:00</published><updated>2007-07-20T23:34:15.713-05:00</updated><title type='text'>Using Ant to build an executable Jar file</title><content type='html'>Boy... I am tired.  It is 3:09 pm in the afternoon and I have only been up for just over three hours today.  I dove deep into SWT and JFace last night.  I am really enjoying JFace at this point.  It really makes building a GUI application with SWT so much easier.&lt;br /&gt;&lt;br /&gt;Anyway, at some point during the night, for whatever reason (can't remember now), I decided to setup a build.xml file for Ant.  I did this for two reasons:  1)  I wanted to learn more about using Ant and 2) I wanted to see if I could setup a build properly for the SWT/JFace application that I am working on.&lt;br /&gt;&lt;br /&gt;The setup of the build.xml to do a clean compile and to build a simple jar file was quite easy.  The problem came in, however, when I tried to build an executable Jar.  I never could get things to work correctly.  I kept getting a message about java not being able to find the main class when I tried to launch the jar.&lt;br /&gt;&lt;br /&gt;A little after 6:00 am this morning, I finally decided that I should get some sleep.  I guess that helped, because after sitting here for the past 30 minutes looking at it again, I figured it out.  Well, I figured it out by accident.  :)&lt;br /&gt;&lt;br /&gt;I did a little reading on the Sun Developer Network forums and something made me look at another executable jar file that I know I have on my computer.  When I took a look at the manifest in the jar, I noticed that all of the files listed on the Class-Path entry were in the same deployment directory as the executable jar.  I had tried putting them in a path on the classpath and putting them in the jar, but that never did work this morning.&lt;br /&gt;&lt;br /&gt;So, I said what the heck and copied the appropriate external jar files that I knew the project needed into the directory where my jar file was located.  Now, mind you, this is the same jar that had just 30 seconds earlier given me that same “Cannot find the main class” error message.  After copying the files, I tried to launch the jar again and to my surprise, my application came right up.  Sweet!&lt;br /&gt;&lt;br /&gt;I hate that I have wasted most of a Saturday, but I have definitely learned a lot about Ant and creating executable jar files in the past 18 hours.&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Ant" rel="tag"&gt;Ant&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/JFace" rel="tag"&gt;JFace&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/SWT" rel="tag"&gt;SWT&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-895154588651456100?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/895154588651456100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=895154588651456100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/895154588651456100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/895154588651456100'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/03/using-ant-to-build-executable-jar-file.html' title='Using Ant to build an executable Jar file'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-6381011136557513216</id><published>2005-03-17T21:15:00.000-06:00</published><updated>2007-07-20T23:31:12.443-05:00</updated><title type='text'>JFace ApplicationWindow issue resolved</title><content type='html'>OK... duh... I read a couple of different articles tonight about using the ApplicationWindow class from JFace, but I missed both times that I had to include the &lt;strong&gt;&lt;em&gt;org.eclipse.ui.workbench_&amp;lt;version&amp;gt;/workbench.jar&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;org.eclipse.core.runtime_&amp;lt;version&amp;gt;/runtime.jar&lt;/em&gt;&lt;/strong&gt; to get it to work.&lt;br /&gt;&lt;br /&gt;I was having another problem with my JFace demo application tonight when it came to Actions.  I had created a couple of private inner classes to handle exit and another action that I was playing around with.  Unfortunately, whenever I clicked on the menu item or the toolbar entry, I would get a stack trace in the Console window in Eclipse.&lt;br /&gt;&lt;br /&gt;After doing some searching on Google for the past hour, I finally found out that you also have to include &lt;strong&gt;&lt;em&gt;org.eclipse.osgi_&amp;lt;version&amp;gt;/core.jar&lt;/em&gt;&lt;/strong&gt;.   I am not sure exactly what this is for as of yet, but it allows everything to work properly, so it got added.  :)&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/JFace" rel="tag"&gt;JFace&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/ApplicationWindow" rel="tag"&gt;ApplicationWindow&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Eclipse" rel="tag"&gt;Eclipse&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-6381011136557513216?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/6381011136557513216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=6381011136557513216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6381011136557513216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6381011136557513216'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/03/jface-applicationwindow-issue-resolved.html' title='JFace ApplicationWindow issue resolved'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-3261200191189537749</id><published>2005-03-17T19:42:00.001-06:00</published><updated>2007-07-20T23:28:03.355-05:00</updated><title type='text'>Build errors using Ant and jCoverage</title><content type='html'>After using Ant and jCoverage at work as of late, I decided to creat a build.xml for my small application that I am writing for myself at home.  I have run into a problem that I cannot figure out at this point, though.  Whenever I do a full build (including jCoverage reports), I get the error shown below.  Has anyone seen anything like this?&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:Courier;"&gt;&lt;em&gt;coverage:jcoverage.instrument:&lt;br /&gt;[instrument] jcoverage 1.0.4 copyright (c)2003 jcoverage ltd. http://jcoverage.com/&lt;br /&gt;[instrument] instrumenting 13 classes to C:\Projects\MyContacts\build\instrumented&lt;br /&gt;[instrument] Exception in thread "main" org.apache.bcel.classfile.ClassFormatException:&lt;br /&gt;     Invalid constant pool reference: 1066. Constant pool size is: 1024&lt;/em&gt;&lt;/span&gt;&lt;/blockquote&gt;I am not sure what the problem is with this build.  It follows everything that we do at work.  Unfortunately, this is definitely something that I do not know enough about and I am unable to find too much information about it on Google.&lt;br /&gt;&lt;br /&gt;If anyone has any insight on this problem, I would greatly appreciate any help.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Ant" rel="tag"&gt;Ant&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/jCoverage" rel="tag"&gt;jCoverage&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-3261200191189537749?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/3261200191189537749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=3261200191189537749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3261200191189537749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3261200191189537749'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/03/build-errors-using-ant-and-jcoverage.html' title='Build errors using Ant and jCoverage'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-3977911738727511473</id><published>2005-03-17T19:42:00.000-06:00</published><updated>2007-07-20T23:25:03.667-05:00</updated><title type='text'>GUI Development with SWT and JFace</title><content type='html'>OK... I took a dive into JFace tonight.  This is the first time that I have played around with it.  For those who do not know, JFace allows you do UI development using the SWT widgets without a lot of the overhead code that you would require if you were using the raw widgets.&lt;br /&gt;&lt;br /&gt;I was following along with an article on JavaWorld called “Rich clients with SWT and JFace”.  The article shows a very simple demo that displays a simple window.  The class extends ApplicationWindow, which is a more robust version of the JFace abstract Window class.  Unfortunately, when I type in everything as shown and try to run it in Eclipse, I get an error that says:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;font-size:14pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Courier;"&gt;&lt;em&gt;Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor at com.pshack.application.Application.main(Application.java:30)&lt;/em&gt;&lt;/span&gt;&lt;span style="font-family:Courier;"&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;/blockquote&gt;I changed the demo to create a separate Window class and use that instead of extending from ApplicationWindow.  This works.  I am not sure why extending from ApplicationWindow does not work for me.  It might be because I am using JDK5, but I doubt it.  I am sure it is just something that I do not understand as of yet.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/JFace" rel="tag"&gt;JFace&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/SWT" rel="tag"&gt;SWT&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-3977911738727511473?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/3977911738727511473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=3977911738727511473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3977911738727511473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/3977911738727511473'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/03/gui-development-with-swt-and-jface.html' title='GUI Development with SWT and JFace'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-846498850075253196</id><published>2005-03-16T20:15:00.000-06:00</published><updated>2007-07-20T23:18:06.089-05:00</updated><title type='text'>SWT Development</title><content type='html'>I am currently writing an application that will fill a small bit of functionality that I need.  I am also using this as a way to learn more about JDK 5.0 and SWT development, in particular.  Over the past hour, I have realized, at least in JDK 5.0 (never tried it in earlier versions), you cannot override the SWT Display or Shell objects.&lt;br /&gt;&lt;br /&gt;I was thinking about a way to have a main Application class that extends Display.  From that, I was going to have multiple window classes which extended Shell from SWT.  Unfortunately after I put together a couple of classes and tried to launch it, I get an error stating that overrides are not allowed.  I then remembered reading something like that on the web somewhere.  Unfortunately, this is one of those situations where you sort of remember something, but you cannot remember exactly where you saw it, so you have no clue where to find it again.  :)&lt;br /&gt;&lt;br /&gt;Oh well, it is all a learning process.  That and the fact that it is just so much fun is the reason I got into software development over 16 years ago anyway.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/SWT" rel="tag"&gt;SWT&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-846498850075253196?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/846498850075253196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=846498850075253196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/846498850075253196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/846498850075253196'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/03/swt-development.html' title='SWT Development'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-8342423956837912773</id><published>2005-03-04T22:54:00.000-06:00</published><updated>2007-07-20T22:21:19.226-05:00</updated><title type='text'>Joda-Time v1.0</title><content type='html'>I came across a new date and time API for the Java community the other day, but I did not get a chance to do anything with it until tonight.  The package is called Joda-Time v1.0.   Joda-Time provides a quality replacement for the Java date and time classes.&lt;br /&gt;&lt;br /&gt;It is very easy to get up to speed with Joda-Time.  The main object that you will deal with if you are just doing regular date and time manipulations is the org.joda.time.DateTime class.  I refactored a couple of my classes tonight and I can say that using DateTime is far simpler than using the Date and Calendar objects from java.util.&lt;br /&gt;&lt;br /&gt;I can actually create a new DateTime object, add some specified duration to it, and assign it to a variable all in one line of code.  Using the classes from java.util, I would have to get a Calendar object instance.  From that, I could add some specified duration.  To finally get a Date object, I call a method called getTime().  Geez!&lt;br /&gt;&lt;br /&gt;Joda-Time is a very nice project.  The documentation is very clean and the web site has all of their JCoverage information for their unit tests.&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/JCoverage" rel="tag"&gt;JCoverage&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-8342423956837912773?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/8342423956837912773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=8342423956837912773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/8342423956837912773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/8342423956837912773'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/03/joda-time-v10.html' title='Joda-Time v1.0'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-5665986818356005971</id><published>2005-02-26T08:00:00.000-06:00</published><updated>2007-07-20T22:10:48.487-05:00</updated><title type='text'>Iterators in Java</title><content type='html'>Coming from a background in C# for the past couple of years, I am so glad to see the Java SDK add constructs that I have used in the past.&lt;br /&gt;&lt;br /&gt;In a personal project that I am working on, I had created a couple of enumeration classes.  The classes had a lookup() method that I used to allow me to assign a particular enumeration label to a variable by looking up a particular id of one of the enumeration constants.  To facilitate the lookup of a particular enumeration value, there was a private array of all the available enumerations in the particular class.  The lookup() method was pretty straight forward...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;//.. lookup procedure expects an id pass in&lt;br /&gt;for ( int i = 0; i &amp;lt; available.length; i++ ) {&lt;br /&gt;    if ( available[i].getId() == id ) {&lt;br /&gt;        return available[i];&lt;br /&gt;    }&lt;br /&gt;    return null;&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;I decided at work yesterday to come home and setup the latest milestone release of Eclipse so that I could play around with JDK 5.0.  After getting that working, I refactored my enumeration classes to be actual enum classes now that Java 5 has the new enum keyword.  With that refactoring, I was able to make use of the new for-each style of iteration that Java 5 has added.  So, my lookup() method on the enumeration classes now look like this...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;//.. lookup procedure still expects an id passed in&lt;br /&gt;MyEnumType[] available = MyEnumType.values();&lt;br /&gt;for ( MyEnumType e : available ) {&lt;br /&gt;    if ( e.getId() == id ) {&lt;br /&gt;        return e;&lt;br /&gt;    }&lt;br /&gt;    return null;&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;I have been used to this style of construct in C# which has the for-each style of iterations for a collection.  For a new Java developer, this method might be a little harder to understand.  There is not the explicit notion of having checking each object in a particular collection like you have in C# where you say “for each ...”, but I feel like this is a little cleaner code than the style where you use the index property, which could always lead to problems itself.&lt;br /&gt;&lt;br /&gt;Of course, Java had the older style of iterations where you could get an iterator and then calling hasNext() on each loop iteration, but it is a bit more to type and it is nice to have the compiler itself be a little smarter in situations like this where I am looping over a collection and checking every object in the collection.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/C#" rel="tag"&gt;C#&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Eclipse" rel="tag"&gt;Eclipse&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-5665986818356005971?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/5665986818356005971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=5665986818356005971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5665986818356005971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5665986818356005971'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/02/iterators-in-java.html' title='Iterators in Java'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-6440983268925453797</id><published>2005-02-16T22:49:00.000-06:00</published><updated>2007-07-20T21:54:37.031-05:00</updated><title type='text'>Using INSERT..SELECT with MySQL</title><content type='html'>I have been working on a small application at home lately which is going to use MySQL for data persistence.  I was messing around with my tables tonight and got into a situation where I wanted to add data into one table using the last inserted value from the auto_increment primary key field in another table.&lt;br /&gt;&lt;br /&gt;According to the documentation for MySQL, I should be able to use LAST_INSERT_ID(), but I couldn't figure out exactly how to get it to pull the last inserted ID from a different table.&lt;br /&gt;&lt;br /&gt;So, I then tried the following code...&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;INSERT INTO table2 (id, field1, field2) SELECT NULL, 4, id FROM table1 t WHERE t.id IS NULL;&lt;/span&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;According to some information that I found in a comment posted on the documentation for the INSERT..SELECT command on the MySQL documentation site, this should give me the last inserted ID from the first table.  Nope... this results in no errors and no rows being added to the table.  Very weird!&lt;br /&gt;&lt;br /&gt;Finally, I came up with the following...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;INSERT INTO table2 (id, field1, field2) SELECT NULL, 4, MAX(id) from table1;&lt;/span&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;So far, this seems to give me the results that I am after.&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/MySQL" rel="tag"&gt;MySQL&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-6440983268925453797?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/6440983268925453797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=6440983268925453797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6440983268925453797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6440983268925453797'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/02/using-insertselect-with-mysql.html' title='Using INSERT..SELECT with MySQL'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-5372544419956290489</id><published>2005-02-15T10:37:00.000-06:00</published><updated>2007-07-20T21:50:00.284-05:00</updated><title type='text'>Adding a new DataRow to a DataTable</title><content type='html'>This is one little item that I never can seem to remember, because I just do not use it that often, so I thought I would commit it to my blog.&lt;br /&gt;&lt;br /&gt;When creating a new DataRow that you want to subsequently add to a DataTable, you generally create the columns that you need for the rows and then you add data values. The code for this looks something like this...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;    DataTable ErrorTable = new DataTable();&lt;br /&gt;    ErrorTable.Columns.Add(new DataColumn("Fault Code Namespace", typeof(string)));&lt;br /&gt;    ErrorTable.Columns.Add(new DataColumn("Fault Code Name", typeof(string)));&lt;br /&gt;    ErrorTable.Columns.Add(new DataColumn("SOAP Actor that threw Exception", typeof(string)));&lt;br /&gt;    ErrorTable.Columns.Add(new DataColumn("Error Message", typeof(string)));&lt;br /&gt;    ErrorTable.Columns.Add(new DataColumn("Detail", typeof(string)));&lt;br /&gt;    DataRow row = ErrorTable.NewRow();&lt;br /&gt;    row["Fault Code Namespace"] = error.Code.Namespace;&lt;br /&gt;    row["Fault Code Name"] = error.Code.Name;&lt;br /&gt;    row["SOAP Actor that threw Exception"] = error.Actor;&lt;br /&gt;    row["Error Message"] = error.Message;&lt;br /&gt;    row["Detail"] = HttpUtility.HtmlEncode(error.Detail.OuterXml);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There is a simpler way to write the code above which sets up the data values and adds the DataRow to the DataTable. That code can be written in one line like this...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;    ErrorTable.Rows.Add( new object[] {error.Code.Namespace, error.Code.Name, error.Actor,&lt;br /&gt;    error.Message, HttpUtility.HtmlEncode(error.Detail.OuterXml)} );&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The code is definitely not more readable and is probably more of a headache for someone to come along later and maintain, but it is easier to type the first time around. :)&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/C#" rel="tag"&gt;C#&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/DataTable" rel="tag"&gt;DataTable&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/DataRow" rel="tag"&gt;DataRow&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-5372544419956290489?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/5372544419956290489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=5372544419956290489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5372544419956290489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5372544419956290489'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/02/adding-new-datarow-to-datatable.html' title='Adding a new DataRow to a DataTable'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-6805590459158328423</id><published>2005-01-06T08:49:00.000-06:00</published><updated>2007-07-20T21:31:05.674-05:00</updated><title type='text'>Make sure that CLASSPATH is correct</title><content type='html'>I had an issue with a java class today that I was trying to execute from the command line.  I kept getting the following error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;Exception in thread "main" java.lang.NoClassDefFoundError: Example&lt;/em&gt;&lt;/blockquote&gt;After doing a little research, I found that my CLASSPATH variable was set to &lt;span style="font-family:monospace;"&gt;c:\junit3.8.1\junit.jar&lt;/span&gt; which was not allowing the virtual machine to properly find the binaries it needed to execute the class.  After clobbering the CLASSPATH variable (“set CLASSPATH=“), everything worked as expected.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;br /&gt;Someone that I work with gave me a good tip today that I did not know regarding Java and how it parses the CLASSPATH variable.  Make sure that you have a dot in the path declaration at the end.  In other words, in my case, the CLASSPATH would be something like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;CLASSPATH=.;c:\junit\junit3.8.1\junit.jar&lt;/span&gt;&lt;/blockquote&gt;For those of you who can't quite see it, that is a period at the beginning of the CLASSPATH declaration.  This tells Java to use the current directory when searching for classes and JAR files.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/CLASSPATH" rel="tag"&gt;CLASSPATH&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/Java" rel="tag"&gt;Java&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-6805590459158328423?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/6805590459158328423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=6805590459158328423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6805590459158328423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6805590459158328423'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2005/01/make-sure-that-classpath-is-correct.html' title='Make sure that CLASSPATH is correct'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-5563726567303759998</id><published>2004-12-10T15:15:00.000-06:00</published><updated>2007-07-20T21:25:33.913-05:00</updated><title type='text'>Adding a DataTable to a DataSet</title><content type='html'>I have been doing a lot of web service work for my job lately. I am getting data back from application and returning it to PeopleSoft. I ran into a small issue when trying to setup a new DataSet. I wanted to include only certain rows of data from one of the tables that I was getting back in the DataSet that the web application, which I am integrating into our online system, was returning.&lt;br /&gt;&lt;br /&gt;The line of code that I was using to add the DataTable to my DataSet was quite simple...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;    dtNewData.Tables.Add( dsAppData.Tables[0] );&lt;/span&gt;&lt;/blockquote&gt;Almost immediately, I found that was causing a real problem. I kept getting an error that said “DataTable already belongs to another DataSet”. I did some searching on Google and finally found that you cannot simply add a table to a DataSet that already exists in another DataSet. Luckily, there are ways around this.&lt;br /&gt;&lt;br /&gt;The most simple way to get around this issue is to make a copy of the table before adding. This is achieved with a very simple change to the line of code above:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:monospace;"&gt;    dtNewData.Tables.Add( dsAppData.Tables[0].Copy() );&lt;/span&gt;&lt;/blockquote&gt;Unfortunately, this did not meet my needs, because I only need the first few rows of data from the original table. My final code ended up looking like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:monospace;"&gt;    dtNewData = dsAppData.DataSet.Copy();&lt;br /&gt;    while (dsAppData.Tables[0].Rows.Count &amp;gt; RequestedRows)&lt;br /&gt;    {&lt;/blockquote&gt;&lt;blockquote style="font-family:monospace;"&gt;    DataRow dr = dsAppData.Tables[0].Rows[dsAppData.Tables[0].Rows.Count-1];&lt;br /&gt;    dsNewData.Tables[0].Rows.Remove(dr);&lt;/blockquote&gt;&lt;blockquote style="font-family:monospace;"&gt;    }&lt;/blockquote&gt;This created a copy of the entire DataSet and just removes the unwanted rows at the end of the table. Originally, I did a clone of the table and used ImportRow(), but this method seems to be just a little faster.&lt;br /&gt;&lt;br /&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/C#" rel="tag"&gt;C#&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/database" rel="tag"&gt;database&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/DataSet" rel="tag"&gt;DataSet&lt;/a&gt;, &lt;a href="http://www.technorati.com/tag/DataTable" rel="tag"&gt;DataTable&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-5563726567303759998?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/5563726567303759998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=5563726567303759998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5563726567303759998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/5563726567303759998'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2007/07/adding-datatable-to-dataset.html' title='Adding a DataTable to a DataSet'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-7941920346657307692</id><published>2004-11-20T13:16:00.000-06:00</published><updated>2007-07-20T21:03:54.584-05:00</updated><title type='text'>DataTable.ImportRow method confusion - DUH!</title><content type='html'>I wrote some code in a web service the other day to pick off the first few rows of a data in a DataTable that was returned to me from someone else's data engine.  The code that I wrote looked something like this:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;DataTable dsTemp = new DataTable();&lt;br /&gt;for (int i = 0; i &lt;&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;When I started testing the code, I found that my table was coming back with zero data rows.  I was puzzled by this, because I had read the documentation for ImportRow, which states:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;Calling &lt;span style="color: rgb(51, 102, 255);"&gt;NewRow&lt;/span&gt; adds a row to the table using the existing table schema, but with default values for the row, and sets the DataRowState to Added. Calling ImportRow preserves the existing DataRowState, along with other values in the row.&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;Well, after doing a little searching on the web, I realized that I had read this documentation incorrectly.  I thought that the “existing table schema” that it was referring to was the table that you are importing the rows from, which would give your new table the same schema.  Wrong!  You must already have your schema set for the table that you are importing rows into.  Thus, to fix my code, I made a couple of small changes:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;DataSet dsTemp = ds.Clone();&lt;br /&gt;for (int i = 0; i &lt;&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;Once I made this change to the code, the data was returned from my web service just as I had expected.  You live and learn.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Technorati Tags : &lt;a href="http://technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt; &lt;a href="http://technorati.com/tag/DataTable" rel="tag"&gt;DataTable&lt;/a&gt; &lt;a href="http://technorati.com/tag/ImportRow" rel="tag"&gt;ImportRow&lt;/a&gt; &lt;a href="http://technorati.com/tag/NewRow" rel="tag"&gt;NewRow&lt;/a&gt; &lt;a href="http://technorati.com/tag/DataRowState" rel="tag"&gt;DataRowState&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-7941920346657307692?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/7941920346657307692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=7941920346657307692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7941920346657307692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7941920346657307692'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2004/11/i-wrote-some-code-in-web-service-other.html' title='DataTable.ImportRow method confusion - DUH!'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-7436789594822713862</id><published>2004-10-26T21:31:00.000-05:00</published><updated>2007-07-20T20:40:13.107-05:00</updated><title type='text'>Consuming Web Services with HTTP Post</title><content type='html'>When I first started working on a web service project a few weeks ago, I put together a small ASPx page that uses HTTP Post to call the web service.  This made it somewhat simple to test.  I could easily change the input values and re-submit without having to change some code and recompile an application that uses the web service.&lt;p&gt;&lt;/p&gt; &lt;p&gt;This worked great on my laptop where I accessed everything on localhost.  As soon as I migrated the project to our development server for testing that all changed.  I spent a couple of days trying to figure out if I had inadvertently changed my web service code and caused this problem.  I ended up writing that application that I mentioned to see if that would work.  To my bewilderment, it did.&lt;/p&gt; &lt;p&gt;After doing some searching, I finally found some very useful information in &lt;a href="http://safari.samspublishing.com/?XmlId=0-672-32542-X"&gt;ASP.NET Unleashed, Second Edition&lt;/a&gt; last night that helped solve my problem.  For security reasons, in ASP.NET 1.1 a web service can only be accessed using SOAP.  HTTP Post and HTTP Get are both disabled by default.  HTTP Post still works on a local machine, which is why I did not have a problem at first.&lt;/p&gt; &lt;p&gt;To enable the use of HTTP Post or HTTP Get from remote machines, you will have to edit the Web.Config file for your project:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;system.web&gt;&lt;br /&gt;&lt;webservices&gt;&lt;br /&gt;&lt;protocols&gt;&lt;br /&gt;&lt;add name="”HttpPost”/"&gt;&lt;br /&gt;&lt;add name="”HttpGet”/"&gt;&lt;br /&gt;&lt;/add&gt;&lt;br /&gt;&lt;/add&gt;&lt;br /&gt;&lt;/protocols&gt;&lt;br /&gt;&lt;/webservices&gt;&lt;br /&gt;&lt;/system.web&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-7436789594822713862?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/7436789594822713862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=7436789594822713862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7436789594822713862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7436789594822713862'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2007/07/consuming-web-services-with-http-post.html' title='Consuming Web Services with HTTP Post'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-7498532917868122379</id><published>2004-10-26T21:11:00.000-05:00</published><updated>2007-07-20T20:20:08.759-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT'/><title type='text'>XML to XHTML via XSLT - revisited</title><content type='html'>&lt;p&gt;I worked on the XSLT project again today.  I am basically taking a dataset from a web service and putting it in a tabular format for display.  I successfully applied the stylesheet enhancements today.  That was a no-brainer.  I had never worked with stylesheets in HTML before, so I did not realize just how easy it would be.  The project that I am working on is, obviously, quite simple, but it is nice to do something different and learn something new for a change.&lt;/p&gt; &lt;p&gt;One thing that I definitely learned about XSLT today is that you should have well formed tags.  In other words, every tag must have an end tag.&lt;/p&gt; &lt;p&gt;Wow!  Working sure makes the day go by faster.  I should do it more often!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-7498532917868122379?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/7498532917868122379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=7498532917868122379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7498532917868122379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7498532917868122379'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2004/10/xml-to-xhtml-via-xslt-revisited.html' title='XML to XHTML via XSLT - revisited'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-6741172234941380646</id><published>2004-10-25T21:57:00.000-05:00</published><updated>2007-07-20T20:18:47.080-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='PeopleSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>SOAP Message Content-Length</title><content type='html'>&lt;p&gt;I am working with someone to properly understand how to call an ASP.NET web service from PeopleSoft.  After several tries, I finally saw down at the keyboard Sunday night and put together some code to call the web service from a Java application.  I learned very quickly that if you do not have all your ducks in a row, most likely, the SOAP request will not work.&lt;/p&gt; &lt;p&gt;The thing that I struggled with the most last night was getting the Content-Length value set properly.  When I thought I had it set just right, I would use the code to access a different web service with different parameter names and it would no longer work.&lt;/p&gt; &lt;p&gt;I finally figured out after a lot of trial and error that the Content-Length value in the POST header for the SOAP message only includes the length of the content in the SOAP message body, which is encompassed by the &lt;soap:envelope&gt; tags.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-6741172234941380646?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmershack.blogspot.com/feeds/6741172234941380646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13783659&amp;postID=6741172234941380646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6741172234941380646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/6741172234941380646'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2004/10/soap-message-content-length.html' title='SOAP Message Content-Length'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13783659.post-7302886413665026385</id><published>2004-10-25T21:24:00.000-05:00</published><updated>2007-07-20T20:16:50.001-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT'/><title type='text'>XML to XHTML vis XSLT</title><content type='html'>Too many acronyms there. I started playing around with a new technology today. Welll, it is new to me, anyway. I am having to transform some data from a web service into HTML. I have only started working with XSLT. I am doing some very basic transformations which takes the data in the XML dataset and put it in a tabular format that is easily read by the viewer of the pagelet.&lt;br /&gt;&lt;br /&gt;I downloaded the Unicorn XSLT Processor to do the transformations after I created my XSLT. It is command line driven, but it works well for what I am doing.&lt;br /&gt;&lt;br /&gt;One thing that I need to do next is learn how to apply a style sheet (CSS) to the HTML as I do the transformation so that I can get the proper look that I want.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13783659-7302886413665026385?l=programmershack.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7302886413665026385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13783659/posts/default/7302886413665026385'/><link rel='alternate' type='text/html' href='http://programmershack.blogspot.com/2004/10/xml-to-xhtml-vis-xslt.html' title='XML to XHTML vis XSLT'/><author><name>Kerry</name><uri>http://www.blogger.com/profile/12983374008519812152</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_rfr4xSeVssw/SYKWrs30K6I/AAAAAAAAAAM/vHVfRDPpuo4/s1600-R/kerry.jpg'/></author></entry></feed>
