<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Eschew Obfuscation: Category Tech Tips</title>
    <link>http://blog.maxdunn.com/articles/category/tech-advice</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Max Dunn's Personal Blog</description>
    <item>
      <title>MythTV Trial</title>
      <description>&lt;p&gt;Several weeks ago, my Windows Media Center started having problems. TV playback would stutter and the &lt;span class="caps"&gt;CPU&lt;/span&gt; was pegged at 100%. After looking for solutions on the web, I deinstalled all codecs and then reinstalled NVidia PureVideo. Now TV and &lt;span class="caps"&gt;DVD&lt;/span&gt;&amp;#8217;s wouldn&amp;#8217;t play at all! Since I was tired of continually hassling with Media Center, I decided to finally give the Linux based MythTV a try.&lt;/p&gt;</description>
      <pubDate>Mon, 21 Jan 2008 09:15:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:559073f0-76f4-4438-ac39-079480fd4682</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2008/01/21/mythtv-trial</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Avoid Spam - Don't Use Simple Email Addresses</title>
      <description>&lt;p&gt;When choosing an email address, it is often tempting to use just your first name or last name like &lt;code&gt;lisa@mycompany.com&lt;/code&gt; or &lt;code&gt;smith@mycompany.com&lt;/code&gt;. Don&amp;#8217;t do it!&lt;/p&gt;


	&lt;p&gt;The problem with these simple email addresses is that spammers often use directory harvest attacks to find new email addresses to send spam to. In these attacks, they try using all sorts of different email names to see if any go through. Here is an edited portion of my mail log file that records these attacks:&lt;/p&gt;


&lt;pre&gt;
...
Oct 28 01:51:26 &amp;lt;barker@testcompany.com&amp;gt;... User unknown
Oct 28 01:51:27 &amp;lt;barnes@testcompany.com&amp;gt;... User unknown
Oct 28 01:51:28 &amp;lt;barnett@testcompany.com&amp;gt;... User unknown
Oct 28 01:51:29 &amp;lt;barrett@testcompany.com&amp;gt;... User unknown
Oct 28 01:51:30 &amp;lt;bates@testcompany.com&amp;gt;... User unknown
...
&lt;/pre&gt;</description>
      <pubDate>Fri, 02 Nov 2007 07:08:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:9d8040c4-7767-4677-b855-2f4a860f9484</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2007/11/02/avoid-spam-dont-use-simple-email-addresses</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Designing Web Sites That Look Good Everywhere</title>
      <description>&lt;p&gt;There are three main issues to consider when designing web sites that will look good to the widest number of visitors: monitor size, OS/browser and colors.&lt;/p&gt;


	&lt;h2&gt;Monitor Size&lt;/h2&gt;


	&lt;p&gt;First, no-one uses 640&amp;#215;480 anymore, so this should not be considered. Next up only about 8% of users have 800&amp;#215;600 displays. The biggest group is 1024&amp;#215;768 which accounts for about 50% of user&amp;#8217;s displays. At the 1280&amp;#215;1024, we have about 17% of the users. The rest, about 25% have higher resolution displays.&lt;/p&gt;


	&lt;p&gt;What this means is that to design for the widest group, web pages should be displayable on a 800&amp;#215;600 display, but can be optimized for best viewing on a 1024&amp;#215;768 display.&lt;/p&gt;


	&lt;p&gt;Keep in mind though, when thinking about the design is that it is hard to read long lines of text and that narrower web pages are often easier to read. Also, when users scan web pages, they look in an &lt;a href="http://www.useit.com/alertbox/reading_pattern.html"&gt;F-shaped pattern&lt;/a&gt;: first along the top and then the left side. So having a wide page with a lot of important information on the right side will likely not be effective.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Sep 2007 13:25:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:170f4de1-1a34-4194-a213-1156a2275e64</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2007/09/11/designing-web-sites-that-look-good-everywhere</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Initial Subversion (SVN) import</title>
      <description>&lt;p&gt;If you are using the &lt;span class="caps"&gt;SVN&lt;/span&gt; command line, here is a trick that makes it easier to import your files into Subversion. The problem with the usual method is that after importing your files, you have to check them out to a different directory, rather than continuing to work with them in the same location. This methods avoids that problem:&lt;/p&gt;</description>
      <pubDate>Sat, 28 Apr 2007 09:31:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:e2d40c5d-b8de-465e-9f6d-b0c94ffeb9be</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2007/04/28/initial-subversion-svn-import</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Automatically starting Apache with chkconfig</title>
      <description>&lt;p&gt;It is interesting that Apache 2.2 doesn&amp;#8217;t include a startup script that is compatible with the Linux &amp;#8216;chkconfig&amp;#8217; command. Here is how you fix this:&lt;/p&gt;


	&lt;p&gt;First, add this information to the top of /usr/local/apache2/bin/apachectl:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;# chkconfig: - 85 15
# description: Apache is a World Wide Web server.  \
#              It is used to serve HTML files and CGI.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Then change to /etc/init.d and do:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;sudo ln -s /usr/local/apache2/bin/apachectl httpd
sudo /sbin/chkconfig --add httpd
sudo /sbin/chkconfig --level 2345 httpd on&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;That&amp;#8217;s it! Now Apache will start when the computer starts up.&lt;/p&gt;</description>
      <pubDate>Tue, 20 Mar 2007 07:44:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:2d674003-05e4-4bd7-ab22-c6e138c8da61</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2007/03/20/automatically-starting-apache-with-chkconfig</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>MySQL Recovery</title>
      <description>&lt;p&gt;We had a bad crash yesterday on our MySQL 5.0.22 database. Our guess is that we ran out of hard disk space during a large transaction and the database somehow got corrupted. Worse, restarting MySQL didn&amp;#8217;t clear the error, but continued to have the problem. Luckily, we could still read from the database so we were able to do a current backup which allowed us to recreate the database and re-import the data. Here are the steps we used:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;In my.conf use:&lt;br&gt;
     &lt;code&gt;innodb_force_recovery = 6&lt;/code&gt;&lt;br&gt;
  (or lower) to bring the database up.&lt;br&gt;
   (See http://www.mysql.org/doc/refman/5.1/en/forcing-recovery.html)&lt;/li&gt;
		&lt;li&gt;Dump the tables. For example. to dump the &amp;#8216;maxwiki&amp;#8217; table use:&lt;br&gt;
  &lt;code&gt;
  mysqldump -
   mysqldump --database maxwiki -u (username) -p (password) &amp;gt; maxwiki.sql
  &lt;/code&gt;&lt;br&gt;
  Repeat for all other tables&lt;/li&gt;
		&lt;li&gt;Shut down the database&lt;/li&gt;
		&lt;li&gt;Move all files out of /usr/bin/mysql and put elsewhere&lt;/li&gt;
		&lt;li&gt;Re-init with:&lt;br&gt;
   &lt;code&gt;&lt;pre&gt;
  mysqld_safe --user=mysql
  mysql_install_db --user=mysql
  mysqladmin -u (username) password '(password)'
 &lt;/pre&gt;&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;Reload all the tables from the sql files&lt;/li&gt;
		&lt;li&gt;Reset the users&lt;/li&gt;
	&lt;/ol&gt;</description>
      <pubDate>Mon, 05 Mar 2007 08:57:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:9f23cc78-1784-4ffd-bfef-d2d9f086d456</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2007/03/05/mysql-recovery</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Setting up Subversion 1.4 with Apache 2</title>
      <description>&lt;p&gt;I like Linux, I really do. That is one reason why I got a Mac last year and also why I host my web sites on Linux servers. However, for all the talk about &lt;a href="http://en.wikipedia.org/wiki/Dll_hell"&gt;Microsoft&amp;#8217;s &lt;span class="caps"&gt;DLL&lt;/span&gt; Hell&lt;/a&gt;, it is nothing compared to &lt;a href="http://en.wikipedia.org/wiki/Dependency_hell"&gt;Linux Dependency Version Hell&lt;/a&gt;. Those of you that have tried installing new versions of software on Linux know what I mean. Whenever you upgrade one piece it causes a cascading effect of having to upgrade lots of other pieces. And sometimes there is a problem with the latest version of a library so you have to use an older version. Now if you have something like apt-get, yum or urpmi, it can help a lot by installing all the needed dependencies for you. But once you venture outside the official versions, it will take a long time to get everything right.&lt;/p&gt;


	&lt;p&gt;Take for instance, what should be a straightforward task of getting Subversion 1.4 (SVN) working with Apache 2. Of course, you don&amp;#8217;t have to have these working together because you can use svnserve by itself. But  this only lets you set access control for the whole repository, rather than the finer grained access you get going through http, and you also need to add all svn users to Linux, which is problematic. So to get the advantage of having Subversion working through Apache using http, I spent a day figuring it out.&lt;/p&gt;


	&lt;p&gt;In the end, the procedure turned out to be fairly straightforward and to save others the pain I went through, here is the trick:&lt;/p&gt;


	&lt;h4&gt;Use the Apache apr and apr-util libraries when making Subversion.&lt;/h4&gt;


	&lt;p&gt;On a standard install, you will probably have libapr-1.so and libaprutil-1.so in  both /usr/local/apache2/lib and /usr/local/apr/lib and maybe even /usr/lib. If you configure Subversion with the defaults, it will find the apr libraries in /usr/lib. And if they are not the exact same version as in /usr/local/apache2/lib, there won&amp;#8217;t be any errors but when you try to access the repository, you will get error messages like:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Could not fetch resource information.  [500, #0]
Could not open the requested SVN filesystem  [500, #2]
Internal error: Can't open file '/var/svn/format': No such file or directory&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;So the best thing is to delete all the libapr* files everywhere but /usr/local/apache2/lib and then configure Subversion like this:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;./configure --with-apxs=/usr/local/apache2/bin/apxs \
--with-apr=/usr/local/apache2/bin/apr-1-config \
--with-apr-util=/usr/local/apache2/bin/apu-1-config&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;After that, you should be able to follow the &lt;a href="http://svnbook.red-bean.com/en/1.0/ch06s04.html"&gt;Subversion/Apache&lt;/a&gt; setup instructions with no problems.&lt;/p&gt;</description>
      <pubDate>Tue, 23 Jan 2007 09:50:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:7497195e-5b51-4e1d-bd43-355373d8ca37</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2007/01/23/setting-up-subversion-1-4-with-apache-2</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Differences between RewriteRule in .htaccess and httpd.conf</title>
      <description>&lt;p&gt;This is probably obvious to people who know Apache well, but I just spent a half day struggling with the differences between RewriteRule in .htaccess and httpd.conf. I was assuming they would behave the same way, but there are slight differences:&lt;/p&gt;


	&lt;h2&gt;Differences&lt;/h2&gt;


	&lt;h4&gt;httpd.conf&lt;/h4&gt;


	&lt;ul&gt;
	&lt;li&gt;The request &lt;span class="caps"&gt;URI&lt;/span&gt; will have a leading slash&lt;/li&gt;
		&lt;li&gt;The leading slash needs to remain to find cached files&lt;/li&gt;
		&lt;li&gt;When using -f or !-f, it needs to have the document root on front&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h4&gt;.htaccess&lt;/h4&gt;


	&lt;ul&gt;
	&lt;li&gt;The request &lt;span class="caps"&gt;URI&lt;/span&gt; won&amp;#8217;t have a leading slash&lt;/li&gt;
		&lt;li&gt;Can&amp;#8217;t have a leading slash to find cached files&lt;/li&gt;
		&lt;li&gt;When using -f or !-f, don&amp;#8217;t use the document root&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2&gt;Examples&lt;/h2&gt;


	&lt;p&gt;Here is an example that looks in the public/cache directory for cached files:&lt;/p&gt;


	&lt;h4&gt;httpd.conf&lt;/h4&gt;


&lt;code&gt;
&lt;pre&gt;
RewriteRule ^/$ /cache/index.html [QSA]
RewriteRule ^/([^.]+)$ /cache/$1.html [QSA]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
&lt;/pre&gt;
&lt;/code&gt;

	&lt;h4&gt;.htaccess&lt;/h4&gt;


&lt;code&gt;
&lt;pre&gt;
RewriteRule ^$ cache/index.html [QSA]
RewriteRule ^([^.]+)$ cache/$1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
&lt;/pre&gt;
&lt;/code&gt;

	&lt;h4&gt;Rails&lt;/h4&gt;


	&lt;p&gt;Just to complete this example, add this line to a before_filter method in application.rb to have Rails cache files to this directory:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;ApplicationController::page_cache_directory = "#{RAILS_ROOT}/public/cache"&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate>Fri, 12 Jan 2007 15:08:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:eef91d5b-d7e3-461f-86eb-6d243910764a</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2007/01/12/differences-between-rewriterule-in-htaccess-and-httpd-conf</link>
      <category>Ruby on Rails</category>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Installing MySQL Ruby Gem on Mac OS X 10.4</title>
      <description>&lt;p&gt;There are some problems installing the Ruby Gem MySQL on the Mac 10.4. When you do a:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;sudo gem install mysql&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;you will likely get an error like:&lt;/p&gt;


&lt;code&gt;
&lt;pre&gt;
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
&lt;/pre&gt;
&lt;/code&gt;

	&lt;p&gt;To fix this problem, run this:&lt;/p&gt;


&lt;code&gt;
&lt;pre&gt;
sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
&lt;/pre&gt;
&lt;/code&gt;

	&lt;p&gt;(Solution From &lt;a href="http://wiki.rubyonrails.com/rails/pages/HowtoInstallOnOSXTiger#7"&gt;How to Install on &lt;span class="caps"&gt;OSX&lt;/span&gt;&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;Next, you will probably see this error:&lt;/p&gt;


&lt;code&gt;
&lt;pre&gt;
mysql.c: In function 'Init_mysql':
mysql.c:2015: error: 'ulong' undeclared (first use in this function)
...
&lt;/code&gt;
&lt;/pre&gt;

	&lt;p&gt;To fix this, change to /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7 and  edit &amp;#8220;mysql.c&amp;#8221; to add this to the top:&lt;/p&gt;


&lt;code&gt;
&lt;pre&gt;
#define ulong unsigned long
&lt;/pre&gt;
&lt;/code&gt;

	&lt;p&gt;(Solution from: &lt;a href="http://www.railtie.net/articles/2006/09/12/running-rails-on-os-x-with-mysql-5-0-24"&gt;I.NFECTIO.US&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;Now recompile with:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;sudo make
sudo make install
sudo make clean&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;That should do it!&lt;/p&gt;</description>
      <pubDate>Tue, 12 Dec 2006 23:14:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:39ce37c7-30bf-445e-baf4-433574dc28f8</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/12/12/installing-mysql-gem-on-mac-os-x-10-4</link>
      <category>Ruby on Rails</category>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>SVN Connection problem</title>
      <description>&lt;p&gt;We use &lt;a href="http://rubyforge.org/projects/maxwiki"&gt;RubyForge&lt;/a&gt; to host &lt;a href="http://www.maxwiki.com"&gt;MaxWiki&lt;/a&gt;. A few days ago, I started having problems connecting to our Subversion (SVN) repository on RubyForge. In Eclipse, I would get the message:&lt;/p&gt;
	&lt;pre&gt;&lt;code&gt;svn: Cannot connect to 'svn+ssh://maxdunn210@rubyforge.org/': 
There was a problem while connecting to rubyforge.org:22&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;If I tried to use the &lt;span class="caps"&gt;SVN&lt;/span&gt; Repository Explorer in Eclipse, it would report something like:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Cannot find folder "&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Running the svn command line would produce:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;ssh_exchange_identification: Connection closed by remote host
svn: Connection closed unexpectedly&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Since I had been struggling recently with some other &lt;span class="caps"&gt;SVN&lt;/span&gt; problems and had updated Eclipse to use the latest Subclipse version 1.1.9, I thought the problem had something to do with this upgrade. Also Wido had been struggling with problems connecting to the RubyForge &lt;span class="caps"&gt;SVN&lt;/span&gt; repository on his Windows box and finally got everything working fine when he setup a convoluted arrangement to use &lt;a href="http://rubyforge.org/docman/view.php/5/460/faq.html#publickey"&gt;public key authentication&lt;/a&gt;.  However, since these instructions didn&amp;#8217;t apply to my Mac, and I knew that it worked before, I kept banging my head against the wall trying different things.&lt;/p&gt;


	&lt;p&gt;Finally this morning, I ran into a note on RubyForge that described this &lt;a href="http://rubyforge.org/docman/view.php/5/460/faq.html#denyhosts"&gt;exact error.&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;It turns out that RubyForge uses a service called &lt;a href="http://denyhosts.sourceforge.net/"&gt;DenyHosts&lt;/a&gt; to to help thwart &lt;span class="caps"&gt;SSH&lt;/span&gt; server attacks. Somehow my IP got on this list, and that was what was causing this problem!&lt;/p&gt;


	&lt;p&gt;Since I use &lt;span class="caps"&gt;DSL&lt;/span&gt; with a dynamic IP, it is possible that the person that had this IP before me was trying to hack and got the IP on the blacklist. Or maybe it was just my futzing with the upgrade that triggered this. In any event, I just reset my &lt;span class="caps"&gt;DSL&lt;/span&gt; modem to get a new IP, and &amp;#8211; voila &amp;#8211; I can access RubyForge &lt;span class="caps"&gt;SVN&lt;/span&gt; again!&lt;/p&gt;


	&lt;p&gt;Probably if I setup Eclipse and &lt;span class="caps"&gt;SSH&lt;/span&gt; to use public key authentication, I wouldn&amp;#8217;t have this problem, but that will have to wait until next time.&lt;/p&gt;</description>
      <pubDate>Tue, 12 Dec 2006 09:16:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:48f62633-c08d-48c0-b56b-a022b62466e5</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/12/12/svn-connection-problem</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>&amp;quot;svn: Malformed network data&amp;quot; error in Eclipse</title>
      <description>&lt;p&gt;Several weeks ago, I changed from a Windows laptop to a MacBook. After I got Eclipse setup and went to check-in some code to RubyForge, I received an error:&lt;/p&gt;
	&lt;pre&gt;&lt;code&gt;svn: Commit failed (details follow):
svn: Malformed network data&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;At first I figured that this was just a problem with the RadRails Subclipse module on my Mac, but then I tried it on my old Windows computer that used to work fine, and got the same error!&lt;/p&gt;


	&lt;p&gt;After googling around, it seems that this is a known issue when &lt;span class="caps"&gt;SVN&lt;/span&gt; server is updated to version 1.4, but older clients are used. The clients were fixed in October, but there hasn&amp;#8217;t been a new official Subclipse build so the automatic Eclipse update doesn&amp;#8217;t help. I spent a day trying to figure out how to compile a new Eclipse version, but no luck.&lt;/p&gt;


	&lt;p&gt;However, there are two workarounds. First, the svn command line works fine.&lt;/p&gt;


	&lt;p&gt;The second workaround relies on the fact that the changed files are actually committed, but that the error just prevents the local svn repository from recognizing that. So after the error, doing an &amp;#8220;update&amp;#8221; will merge the changes and everything will be good.&lt;/p&gt;


	&lt;p&gt;If you have added or deleted files, however, the update trick won&amp;#8217;t work. In this case, it is necessary to delete the entire directory that contains the added or deleted files. &lt;strong&gt;Be sure to do this outside of Eclipse with Explorer or Finder!&lt;/strong&gt; Then update the files and it will bring everything down fine.&lt;/p&gt;


	&lt;h4&gt;Versions&lt;/h4&gt;


	&lt;table&gt;
		&lt;tr&gt;
			&lt;th&gt;Program&lt;/th&gt;
			&lt;th&gt;Version&lt;/th&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;RadRails&lt;/td&gt;
			&lt;td&gt;v.0.7.1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;Subclipse&lt;/td&gt;
			&lt;td&gt;1.0.3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;svn command line&lt;/td&gt;
			&lt;td&gt;1.3.1&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;




	&lt;h2&gt;Fix&lt;/h2&gt;


	&lt;p&gt;Mark Phippard added a comment explaining the problem. Here is a summary:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;The issue is JavaSVN. It had a problem talking to Subversion 1.4.x server. RadRails can be used with Eclipse 3.2 and then you can install Subclipse 1.1.9 which includes &lt;span class="caps"&gt;SVN 1&lt;/span&gt;.4 clients.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;So I installed Eclipse 3.2 and RadRails on top. However, when I installed Subclipse according to the instructions:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Eclipse: Help =&amp;gt; Software Updates =&amp;gt; Find and Install&lt;/li&gt;
		&lt;li&gt;Search for new features to install&lt;/li&gt;
		&lt;li&gt;New Remote Site&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;URL&lt;/span&gt; =&amp;gt; http://subclipse.tigris.org/update_1.0.x&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;it gave me version Subclipse 1.0.3. The trick to get Subclipse 1.1.9 was to use the update site:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;span class="caps"&gt;URL&lt;/span&gt; =&amp;gt; http://subclipse.tigris.org/update_1.2.x&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Thu, 07 Dec 2006 10:37:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:d330791c-c5b0-407a-a7e8-25bee9319447</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/12/07/svn-malformed-network-data-error-in-eclipse</link>
      <category>Ruby on Rails</category>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Apache Redirects to the Rescue</title>
      <description>&lt;p&gt;There are a couple of technical problems with my web site. The first is that to get into this blog, you need to add the trailing slash at the end of &amp;#8220;typo&amp;#8221; like this: &lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;http://www.maxdunn.com/typo/&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Otherwise, the wiki gives a page not found error for the &amp;#8220;typo&amp;#8221; page. Of course, when most people type in the &lt;span class="caps"&gt;URL&lt;/span&gt; manually, they won&amp;#8217;t add the trailing slash and then get confused when it doesn&amp;#8217;t pull up my blog.&lt;/p&gt;


	&lt;p&gt;I have tried various things in the Rails routing.rb file to correct for this, but none worked. However, a simple change to .htaccess did the trick:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;RedirectMatch permanent ^/typo$ http://www.maxdunn.com/typo/&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Now another problem I have is that my &lt;span class="caps"&gt;ISP&lt;/span&gt; &lt;a href="http://www.site5.com"&gt;Site5&lt;/a&gt; maps maxdunn.com to www.maxdunn.com and there is no way to turn this off. This causes several problems:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;When logged into &lt;strong&gt;www.maxdunn.com&lt;/strong&gt;, you won&amp;#8217;t be logged in if you access it as &lt;strong&gt;maxdunn.com&lt;/strong&gt;.&lt;/li&gt;
		&lt;li&gt;If someone first accesses the site using &lt;strong&gt;maxdunn.com&lt;/strong&gt;, then the page cache will create all links as &lt;strong&gt;maxdunn.com&lt;/strong&gt; and serve these up, even if the page is later accessed as &lt;strong&gt;www.maxdunn.com&lt;/strong&gt;.&lt;/li&gt;
		&lt;li&gt;If the site is accessed with both &lt;strong&gt;maxdunn.com&lt;/strong&gt; and &lt;strong&gt;www.maxdunn.com&lt;/strong&gt;, then Google and other search engines will think these are two sites and neither will be ranked as highly.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;To fix this problem, there is another simple .htaccess addition that will redirect all &lt;strong&gt;maxdunn.com&lt;/strong&gt; requests to &lt;strong&gt;www.maxdunn.com&lt;/strong&gt;:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;RewriteCond %{HTTP_HOST} ^maxdunn.com$ [NC]
RewriteRule ^(.*)$ http://www.maxdunn.com/$1 [L,R=301]&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate>Sat, 07 Oct 2006 12:36:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:842caffa-e0d2-44de-beef-56bfb91796db</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/10/07/apache-redirects-to-the-rescue</link>
      <category>Ruby on Rails</category>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Improving Hard Drive Performance</title>
      <description>&lt;p&gt;My computer is pretty lame. It is a lightweight Averatec 3280 laptop running Windows XP, and I bought it at Staples for under $900. This is half the price of a comparable Dell, so I willing to live with its problems. One of the problems is that whenever it hibernates, it comes back up with the wireless card off, so I need to turn it on then search for a wireless connection. Another problem is that the hard drive keeps dropping into &lt;span class="caps"&gt;PIO&lt;/span&gt; mode which makes everything really slow. So far, I have been deleting the &lt;span class="caps"&gt;IDE&lt;/span&gt; controller and rebooting twice to fix it, but this is a lengthy process.&lt;/p&gt;


	&lt;p&gt;Thanks to &lt;a href="http://neodon.blogspot.com/2006/07/little-known-tweak-to-boost-hard-drive.html"&gt;James Barton&lt;/a&gt;, here are some instructions for getting around this problem. I am going to try this on my computer and see how it works:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Open up the Registry Editor.&lt;/li&gt;
		&lt;li&gt;Navigate to the following key: &lt;span class="caps"&gt;HKEY&lt;/span&gt;_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}.&lt;/li&gt;
		&lt;li&gt;There are several sub-keys under this one, such as 0000, 0001, etc. You are interested in two of them that say Primary &lt;span class="caps"&gt;IDE&lt;/span&gt; Channel and Secondary &lt;span class="caps"&gt;IDE&lt;/span&gt; Channel.&lt;/li&gt;
		&lt;li&gt;Make the following changes to both of those keys:
	&lt;ol&gt;
	&lt;li&gt;Delete any attributes named MasterIdDataCheckSum or SlaveIdDataCheckSum. This resets the tracking for errors that Windows uses to determine when the transfer mode should be lowered.&lt;/li&gt;
		&lt;li&gt;Add an attribute with the name ResetErrorCountersOnSuccess and a &lt;span class="caps"&gt;DWORD&lt;/span&gt; value of 1. This tells Windows that it should lower the transfer mode when there are six consecutive errors instead of six cumulative errors.&lt;/li&gt;
		&lt;li&gt;If they exist, set the following keys to a hexadecimal value of ffffffff (eight F&amp;#8217;s). This will change the transfer modes to UltraDMA-6:   
	&lt;ul&gt;
	&lt;li&gt;MasterDeviceTimingMode&lt;/li&gt;
		&lt;li&gt;MasterDeviceTimingModeAllowed&lt;/li&gt;
		&lt;li&gt;SlaveDeviceTimingMode&lt;/li&gt;
		&lt;li&gt;SlaveDeviceTimingModeAllowed&lt;/li&gt;
		&lt;li&gt;UserMasterDeviceTimingModeAllowed&lt;/li&gt;
		&lt;li&gt;UserSlaveDeviceTimingModeAllowed&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
		&lt;li&gt;Reboot your computer and check the devices to see if they are set to UltraDMA Mode 6.&lt;/li&gt;
	&lt;/ol&gt;</description>
      <pubDate>Wed, 13 Sep 2006 20:37:59 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:18533066-7542-49a4-acc1-3cc15c82532d</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/09/13/improving-hard-drive-performance</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Test Post From Windows Live Writer</title>
      <description>&lt;p&gt;This is a test of the Windows Live Writer. It works pretty well!&lt;/p&gt;</description>
      <pubDate>Thu, 24 Aug 2006 15:24:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:12e718b0-bf03-4904-aa0d-d3048f6fe750</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/08/24/test-post-from-windows-live-writer</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>On-Demand Document Management</title>
      <description>&lt;p&gt;Here are some of my thoughts regarding on-demand document management.&lt;/p&gt;</description>
      <pubDate>Fri, 18 Aug 2006 11:05:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:5098fdcf-b1b2-4130-af64-6a7742325e59</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/08/18/on-demand-document-management</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>How To Really Mess Up a Hard Drive (Then Fix It)</title>
      <description>&lt;p&gt;Yesterday, I almost lost everything on my hard disk &amp;#8211; very scary. I was playing around with &lt;a href="Ubuntu"&gt;Ubuntu 6.06&lt;/a&gt; and it ran well from the CD, so I let it install itself to the hard disk. I knew that it was going to partition the disk and add a boot loader, but I figured that the worse thing that could happen was that I would have a boot menu and be able to select to boot from Windows each time. Wrong. I almost lost all my data, but in the end, was able to restore the original partition information. Here is my tale and how I recovered.&lt;/p&gt;</description>
      <pubDate>Fri, 07 Jul 2006 11:05:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:4bc3edf4-ce74-4f93-98c5-3a1b3b79e437</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/07/07/how-to-really-mess-up-a-hard-drive-then-fix-it</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Getting Started With Flickr on Rails</title>
      <description>&lt;p&gt;I have been working on a Flickr mashup on my wiki so that I can easily insert links to my Flickr pictures. There are several Flickr libraries for Rails, but the documentation is not very good. So here are some instructions for getting a Flickr library working with Rails.&lt;/p&gt;


	&lt;p&gt;(&lt;strong&gt;Note&lt;/strong&gt;: On August 28, 2006, I expanded and updated these instructions at: &lt;a href="http://www.maxdunn.com/RoR+and+Flickr"&gt;http://www.maxdunn.com/RoR+and+Flickr&lt;/a&gt;)&lt;/p&gt;</description>
      <pubDate>Thu, 06 Jul 2006 10:47:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:4ae1d1cd-481d-4243-a681-3d6becd43759</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/07/06/getting-started-with-flickr-on-rails</link>
      <category>Ruby on Rails</category>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Eclipse and Subversion</title>
      <description>&lt;p&gt;It can be a little confusing to set up Eclipse to work with your Subversion repository. Once you have downloaded and installed &lt;a href="http://subclipse.tigris.org/"&gt;Subclipse&lt;/a&gt;, follow these instructions to connect to your &lt;span class="caps"&gt;SVN&lt;/span&gt; repository:&lt;/p&gt;</description>
      <pubDate>Wed, 05 Jul 2006 13:41:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:9abba41d-47a3-49b9-9372-c25967854e81</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/07/05/eclipse-and-subversion</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Google Map Mashup in Rails</title>
      <description>&lt;p&gt;How would you like to put an interactive Google map in your Ruby on Rails page with single or multiple markers? Here is how to do this.&lt;/p&gt;</description>
      <pubDate>Fri, 30 Jun 2006 10:03:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:b7737160-1edc-4bbc-9106-7ffb48a199a1</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/06/30/google-map-mashup-in-rails</link>
      <category>Tech Tips</category>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Eclipse: Closing Projects</title>
      <description>&lt;p&gt;Eclipse is known to be a memory hog and slow at starting up and shutting down. Especially if yo have a lot of projects with a lot of files, it can be painfully slow to start. A friend of mine took a programming class where they had exams using Eclipse. All the students made sure they started Eclipse well before class, otherwise they joked that it would take half of the exam time just for Eclipse to start!&lt;/p&gt;


	&lt;p&gt;Today, I discovered something that helps speed up Eclipse. If you right-click on the projects that you aren&amp;#8217;t actively working on and &amp;#8220;close&amp;#8221; them, Eclipse won&amp;#8217;t try to load them into the workspace. This helps not only with the startup and shutdown times, but also when it refreshes the workspace.&lt;/p&gt;</description>
      <pubDate>Tue, 27 Jun 2006 19:25:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:620fae71-248e-496c-a1d4-1ab9f7cf0d5a</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/06/27/eclipse-closing-projects</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Alfresco architecture</title>
      <description>&lt;p&gt;Alfresco is a new but promising open source document management system. It is Java based and supports many of the latest standards including the &lt;span class="caps"&gt;JSR&lt;/span&gt;-170 file access &lt;span class="caps"&gt;API&lt;/span&gt;, the &lt;span class="caps"&gt;JSF&lt;/span&gt; tag based interface, the Spring framework, &lt;span class="caps"&gt;JSR&lt;/span&gt;-168 portlets and WebDAV file transfers.&lt;/p&gt;


	&lt;p&gt;While Alfresco is still young and lacks some functionality, it is well architected and shows a lot of promise. Here is some information about its architecture.&lt;/p&gt;</description>
      <pubDate>Sat, 15 Apr 2006 10:58:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:cb9631c5bedcd466e97527f291e2553a</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/04/15/alfresco-architecture</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>HDTV Setup</title>
      <description>&lt;p&gt;&lt;span class="caps"&gt;HDTV&lt;/span&gt; (High Definition TV) is so cool, once you see it, you will never want to go back to regular TV. It is like the difference between listening to a weak radio station in the car that has a lot of static, and listening to a crystal-clear CD.&lt;/p&gt;


	&lt;p&gt;Watching Lost in &lt;span class="caps"&gt;HDTV&lt;/span&gt;, you can see the pores on the actors faces (luckily, there are some nice looking faces you don&amp;#8217;t mind seeing close up) and the scenes of the ocean and jungle makes you feel like you are there in Hawaii with them (whoops, I mean some uncharted island) feeling the ocean breezes and tropical humidity.&lt;/p&gt;


	&lt;p&gt;We don&amp;#8217;t watch any non-HD shows&amp;#8212;it just isn&amp;#8217;t the same. Conversely, there are some shows we watch just because they look gorgeous in &lt;span class="caps"&gt;HDTV&lt;/span&gt;, that we wouldn&amp;#8217;t normally watch (like Las Vegas).&lt;/p&gt;


	&lt;p&gt;The kicker is that we don&amp;#8217;t need to pay for cable to get &lt;span class="caps"&gt;HDTV&lt;/span&gt;; we just put on antenna on the roof and get all the local stations for free!&lt;/p&gt;


	&lt;p&gt;Now setting up an &lt;span class="caps"&gt;HDTV&lt;/span&gt; system is a little complicated, so here is some information on how to do it.&lt;/p&gt;</description>
      <pubDate>Mon, 09 Jan 2006 22:50:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:a2986ee4ab4a7970cd6dd9be0437dd48</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2006/01/09/hdtv-setup</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Linux Setup</title>
      <description>&lt;p&gt;When we moved in September, I knew that I wouldn&amp;#8217;t be able to keep the Internet connection to my home server going continuously, so I transfered all the email and web accounts I was hosting to a 1and1 account. I also wanted to update to the latest Mandrake Linux, to get rid of the hodgepodge of application versions I was currently running. So over the last few months, I wiped out my server, updated to Mandrake 2005 and proceeded to reconfigure it, especially as an router with web filtering software.&lt;/p&gt;


	&lt;p&gt;There were a few tricky things that took a while to figure out, so I wanted to document them in case I have to go through this exercise again.&lt;/p&gt;


	&lt;p&gt;But rather than clutter up this blog with all the excruciating details, I am going to add them as extended content to this entry. I doubt these notes will be of much use to anyone else, so consider this just an entry of me talking to myself. ;-)&lt;/p&gt;</description>
      <pubDate>Sat, 10 Dec 2005 16:09:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:b07901da1e27938c38727c15383c29ba</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2005/12/10/linux-setup</link>
      <category>Tech Tips</category>
    </item>
    <item>
      <title>Formatting Text in Typo</title>
      <description>&lt;p&gt;This Typo blog is setup to use Markdown, and here are some basic formatting rules.&lt;/p&gt;


&lt;b&gt;Input:&lt;/b&gt;
&lt;hr&gt;

    Header 2
    &lt;del&gt;&amp;#8212;&lt;/del&gt;&amp;#8212;-

    ##Another Header 2

    &lt;strong&gt;emphasis&lt;/strong&gt;

    &lt;b&gt;strong&lt;/b&gt;

    * List 1
    * List 2

    &amp;#8211; Another List 1
    &amp;#8211; Another List 2

    1. Ordered List 1
    2. Ordered List 2

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;b&gt;Output&lt;/b&gt;
&lt;hr&gt;

	&lt;p&gt;Header 2
&lt;del&gt;&amp;#8212;&lt;/del&gt;&amp;#8212;-&lt;/p&gt;


	&lt;p&gt;##Another Header 2&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;emphasis&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;strong&lt;/b&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;List 1&lt;/li&gt;
		&lt;li&gt;List 2&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;- Another List 1
- Another List 2&lt;/p&gt;


	&lt;p&gt;1. Ordered List 1
2. Ordered List 2&lt;/p&gt;</description>
      <pubDate>Thu, 01 Dec 2005 09:56:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:f674f21a7ba079ea5b23c89b0986d618</guid>
      <author>Max Dunn</author>
      <link>http://blog.maxdunn.com/articles/2005/12/01/formatting-text-in-typo</link>
      <category>Tech Tips</category>
    </item>
  </channel>
</rss>
