<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://NadeauSoftware.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>NadeauSoftware.com articles from all months, all years</title>
 <link>http://NadeauSoftware.com/articles/%2A/%2A</link>
 <description>A list of articles, sorted by title.</description>
 <language>en</language>
<item>
 <title>Java tip: Use gradient backgrounds to add interest and polish to a user interface</title>
 <link>http://NadeauSoftware.com/articles/2008/08/java_tip_use_gradient_backgrounds_add_interest_and_polish_user_interface</link>
 <description>&lt;p class=&quot;summary&quot;&gt;
Java&#039;s Swing components have a constant background color used to fill the entire component area. To add interest, contrast, and polish to a user interface, override the component&#039;s background painting and add a  gradient to smoothly vary the color across the background.  This tip shows how and demonstrates the effect.
&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/08/java_tip_use_gradient_backgrounds_add_interest_and_polish_user_interface&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/08/java_tip_use_gradient_backgrounds_add_interest_and_polish_user_interface#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/java">Java</category>
 <category domain="http://NadeauSoftware.com/articles/user_interfaces">User interfaces</category>
 <pubDate>Thu, 21 Aug 2008 08:25:56 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">82 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>How to improve search engine findability for a Drupal web site</title>
 <link>http://NadeauSoftware.com/articles/2008/07/how_improve_search_engine_findability_drupal_web_site</link>
 <description>&lt;p class=&quot;summary&quot;&gt;
A &amp;quot;findable&amp;quot; web site is one that search engines can easily scan to find content to add to their search indexes. Since most visitors today find web pages by using a search engine, the more easily search engines can index your content, the more easily visitors will find it. A default Drupal installation is moderately findable, but you can improve the site by installing a few more modules.&lt;/p&gt;

  
&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/07/how_improve_search_engine_findability_drupal_web_site&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/07/how_improve_search_engine_findability_drupal_web_site#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/drupal">Drupal</category>
 <pubDate>Sat, 26 Jul 2008 11:16:27 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">81 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>Don&#039;t bother using CSS optimization to speed up a web site</title>
 <link>http://NadeauSoftware.com/articles/2008/06/dont_bother_using_css_optimization_speed_web_site</link>
 <description>&lt;p class=&quot;summary&quot;&gt;CSS optimization (a.k.a. minimization, cleaning, or tidying) removes white-space and comments, merges similar selectors, removes redundant properties, and cleans up a CSS file to make it more compact. The optimized file is  smaller and faster to send to a site visitor.  This article uses the &lt;em&gt;CSS Tidy&lt;/em&gt; optimizer and measures the improvement first for CSS from 30 popular web sites, and second for CSS from 30  site  themes for the Drupal content management system. Unfortunately, in all cases the improvement is small and  will not have a noticeable impact on page load times.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/06/dont_bother_using_css_optimization_speed_web_site&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/06/dont_bother_using_css_optimization_speed_web_site#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/drupal">Drupal</category>
 <category domain="http://NadeauSoftware.com/articles/web_authoring">Web authoring</category>
 <category domain="http://NadeauSoftware.com/articles/web_site_performance">Web site performance</category>
 <pubDate>Thu, 19 Jun 2008 19:15:25 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">80 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>PHP tip: How to convert a relative URL to an absolute URL</title>
 <link>http://NadeauSoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url</link>
 <description>&lt;p class=&quot;summary&quot;&gt; An &lt;em&gt;absolute&lt;/em&gt; URL is complete and ready to use to download a web file. But web pages often include incomplete &lt;em&gt;relative&lt;/em&gt; URLs with missing parts, such as an &amp;quot;http&amp;quot; or  host name, or the first part of a file path. These parts need to be filled in by copying them from a &lt;em&gt;base&lt;/em&gt; absolute URL. This article shows how and includes code to do it.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/05/php_tip_how_convert_relative_url_absolute_url#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/php">PHP</category>
 <category domain="http://NadeauSoftware.com/articles/text_processing">Text processing</category>
 <pubDate>Tue, 27 May 2008 21:39:08 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">79 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>PHP tip: How to parse and build URLs</title>
 <link>http://NadeauSoftware.com/articles/2008/05/php_tip_how_parse_and_build_urls</link>
 <description>&lt;p class=&quot;summary&quot;&gt; Splitting apart and rebuilding URLs is essential for link checkers,  phishing detectors, spiders, and so on. PHP&#039;s standard &lt;code&gt;parse_url(&amp;nbsp;)&lt;/code&gt; function  works pretty well to parse simple URLs, but it has problems with complex  and relative URLs.  Once split apart, there is no standard PHP function to  reassemble the URL properly. This article  reviews the official syntax of URLs, discusses  URL parsing complexities, and provides new PHP functions to split apart a URL and join its parts together again.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/05/php_tip_how_parse_and_build_urls&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/05/php_tip_how_parse_and_build_urls#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/php">PHP</category>
 <category domain="http://NadeauSoftware.com/articles/text_processing">Text processing</category>
 <pubDate>Tue, 27 May 2008 21:35:20 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">78 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>Java tip: How to list and find threads and thread groups</title>
 <link>http://NadeauSoftware.com/articles/2008/04/java_tip_how_list_and_find_threads_and_thread_groups</link>
 <description>&lt;p class=&quot;summary&quot;&gt;Java&#039;s threads are essential for building complex applications, but thread control is split across several classes in different packages added at different times in the JDK&#039;s history. This tip shows how to connect these classes together to  find threads and thread groups, and get thread information.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/04/java_tip_how_list_and_find_threads_and_thread_groups&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/04/java_tip_how_list_and_find_threads_and_thread_groups#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/java">Java</category>
 <pubDate>Sun, 20 Apr 2008 10:38:14 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">77 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>PHP tip: How to extract keywords from a web page</title>
 <link>http://NadeauSoftware.com/articles/2008/04/php_tip_how_extract_keywords_web_page</link>
 <description>&lt;p class=&quot;summary&quot;&gt;Web page keywords characterize the page&#039;s topic for a search engine. Extracting keywords requires that you recognize the page&#039;s character encoding, strip away HTML tags, scripts, and styles, decode HTML entities, and remove unwanted punctuation, symbols, numbers, and stop words. This article shows how.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/04/php_tip_how_extract_keywords_web_page&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/04/php_tip_how_extract_keywords_web_page#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/php">PHP</category>
 <category domain="http://NadeauSoftware.com/articles/text_processing">Text processing</category>
 <pubDate>Sun, 13 Apr 2008 10:12:00 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">76 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>Java tip: How to get CPU, system, and user time for benchmarking</title>
 <link>http://NadeauSoftware.com/articles/2008/03/java_tip_how_get_cpu_and_user_time_benchmarking</link>
 <description>&lt;p class=&quot;summary&quot;&gt;Performance optimization requires that you measure the time to perform a task, then try algorithm and coding changes to make the task faster. Prior to Java 5, the only way to time a task was to measure wall clock time. Unfortunately, this gives inaccurate results when there is other activity on the system (and there always is). Java 5 introduced the &lt;code&gt;java.lang.management&lt;/code&gt; package and methods to report CPU and user time per thread. These times are not affected by other system activity, making them just what we need for benchmarking. This tip shows how to use them to benchmark your application.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/03/java_tip_how_get_cpu_and_user_time_benchmarking&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/03/java_tip_how_get_cpu_and_user_time_benchmarking#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/java">Java</category>
 <pubDate>Thu, 20 Mar 2008 08:38:32 -0700</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">75 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>Java tip: How to read files quickly</title>
 <link>http://NadeauSoftware.com/articles/2008/02/java_tip_how_read_files_quickly</link>
 <description>&lt;p class=&quot;summary&quot;&gt;Java has several classes for reading files, with and without buffering, random access, thread safety, and memory mapping. Some of these are much faster than the others. This tip benchmarks 13 ways to read bytes from a file and shows which ways are the fastest.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/02/java_tip_how_read_files_quickly&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/02/java_tip_how_read_files_quickly#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/java">Java</category>
 <pubDate>Sun, 24 Feb 2008 08:05:33 -0800</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">74 at http://NadeauSoftware.com</guid>
</item>
<item>
 <title>Java tip: How to get a web page</title>
 <link>http://NadeauSoftware.com/articles/2008/01/java_tip_how_get_web_page</link>
 <description>&lt;p class=&quot;summary&quot;&gt;The starting point for building a link checker, web spider, or web page analyzer is, of course, to get the web page from the web server. Java&#039;s &lt;code&gt;java.net&lt;/code&gt; package includes classes to manage URLs and to open web server connections. This tip shows how to use them to a get text, image, audio, or data file from a web server.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://NadeauSoftware.com/articles/2008/01/java_tip_how_get_web_page&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://NadeauSoftware.com/articles/2008/01/java_tip_how_get_web_page#comments</comments>
 <category domain="http://NadeauSoftware.com/articles/java">Java</category>
 <category domain="http://NadeauSoftware.com/articles/text_processing">Text processing</category>
 <pubDate>Sun, 06 Jan 2008 08:19:27 -0800</pubDate>
 <dc:creator>Dave_Nadeau</dc:creator>
 <guid isPermaLink="false">73 at http://NadeauSoftware.com</guid>
</item>
</channel>
</rss>
