<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rss [<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">]>
<rss version="2.0" xml:base="http://billstclair.com/blog">
<channel>
 <title>End the War on Freedom - Webmaster stuff</title>
 <link>http://billstclair.com/blog/taxonomy/term/15/0</link>
 <description>Discussion and announcements about the technical details of this web site.</description>
 <language>en</language>
 <managingEditor>bill@billstclair.com</managingEditor>
<item>
 <title>Near Disaster</title>
 <link>http://billstclair.com/blog/near_disaster.html</link>
 <description>&lt;p&gt;You may have noticed that you couldn&#039;t get to this site yesterday. I inadvertently allowed the billstclair.com domain to expire. Fortunately, I caught it before my registrar sold it to a domain parking service. Whew!&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Wed, 03 Sep 2008 05:37:49 -0500</pubDate>
</item>
<item>
 <title>Mibbit</title>
 <link>http://billstclair.com/blog/mibbit.html</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://www.mibbit.com/&quot;&gt;Mibbit&lt;/a&gt; is a web-based IRC client. Very nicely done AJAX code. Has a wizard to set up an embedded chat or a link to a server and channel that you pick. I added a Mibbit link to the &lt;a href=&quot;http://trubanc.com/&quot;&gt;Trubanc&lt;/a&gt; home page pointing to the &lt;a href=&quot;http://embed.mibbit.com/?server=irc.freenode.com&amp;amp;channel=%23Trubanc&quot;&gt;#Trubanc channel&lt;/a&gt; on irc.freenode.net. There&#039;s an embedded chat below:&lt;br /&gt;
&lt;center&gt;&lt;br /&gt;
&lt;iframe width=500 height=280 scrolling=no style=&quot;border:0&quot; src=&quot;http://embed.mibbit.com/?server=irc.freenode.net&amp;amp;channel=%23Trubanc&quot;&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Fri, 22 Aug 2008 11:13:41 -0500</pubDate>
</item>
<item>
 <title>Debugging SSL Connections</title>
 <link>http://billstclair.com/blog/debugging_ssl_connections.html</link>
 <description>&lt;p&gt;I&#039;ve had a little trouble with the SSL certificate for this site and for some sites for which I do technical maintenance. I wrote up a little about that in &lt;a href=&quot;intermediate_ssl_certificates.html&quot;&gt;Intermediate SSL Certificates&lt;/a&gt;. Well, I asked my web hosting provider to install the intermediate certificates for another web site that is also using a GoDaddy certificate. They said that they had done it, but I was still getting warnings in Safari, on both my Mac and my iPhone. So I did some Googling, and found some simple Java code that I could modify, and enable debugging while running, to show the SSL handshake during a connection to a web site.&lt;/p&gt;
&lt;p&gt;I have uploaded that code as &lt;a href=&quot;images/ssltest.zip&quot;&gt;billstclair.com/blog/images/ssltest.zip&lt;/a&gt;. The zip file decompresses into the &quot;ssltest&quot; directory, containing the following files:&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;/p&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;5&quot;&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ssltest&lt;/b&gt;&lt;/td&gt;&lt;td&gt;a bash script to run the java program&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ssltest.class&lt;/b&gt;&lt;/td&gt;&lt;td&gt;the compiled version of the Java program&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ssltest.java&lt;/b&gt;&lt;/td&gt;&lt;td&gt;the source code for the Java program&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;ssltest.zip.sh&lt;/b&gt;&lt;/td&gt;&lt;td&gt;a bash script to create ssltest.zip&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;You&#039;re certainly welcome to look at the Java source, and change it to your liking, but to use the program, you just need to cd to the ssltest directory in your shell, and type the following:&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;Quote:&lt;/div&gt;./ssltest billstclair.com&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Or change &quot;billstclair.com&quot; to your favorite SSL-enabled web site. It prints quite a bit of stuff, but the most interesting to me were the lines beginning with &quot;chain [&quot;, which show the certificate and the intermediate certificates, if any.&lt;/p&gt;
&lt;p&gt;I didn&#039;t include an ssltest.bat file for Windows, because I have no way to test it, but it should be pretty obvious how to convert the bash script into a Windows batch file.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Tue, 24 Jun 2008 19:24:59 -0500</pubDate>
</item>
<item>
 <title>Intermediate SSL Certificates</title>
 <link>http://billstclair.com/blog/intermediate_ssl_certificates.html</link>
 <description>&lt;p&gt;At the end of January, I installed an SSL certificate on this web site. I initially got a free certificate from &lt;a href=&quot;http://www.cacert.org/&quot;&gt;cacert.org&lt;/a&gt;. That worked, but I had to tell my browsers to import their root certificate in order to stop security warnings. So I switched to a &lt;a href=&quot;https://www.godaddy.com/gdshop/ssl/ssl.asp?ci=8979&quot;&gt;GoDaddy certificate&lt;/a&gt;, thinking that it would work. Same problem. Well, yesterday I installed a GoDaddy certificate at another site, and this time I read GoDaddy&#039;s &lt;a href=&quot;https://certs.godaddy.com/InstallationInstructions_alt.go&quot;&gt;instructions&lt;/a&gt; (may require an account). Turns out that they, and many other SSL vendors, don&#039;t sign their certificates with their root certificate authority (CA). They use an intermediate certificate, which establishes a chain of trust to the root CA. That intermediate certificate needs to be installed on the web server. Today, I asked the &lt;a href=&quot;http://site5.com/&quot;&gt;Site5&lt;/a&gt; folks to install that intermediate certificate, and, voila, no more browser complaints. Unfortunately, my iPhone still complains. Guess it&#039;s missing the root of the chain, the &quot;Go Daddy Secure Certification Authority&quot;, or Apple left out the intermediate certificate part of the validation process. Sigh...&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Wed, 18 Jun 2008 07:20:03 -0500</pubDate>
</item>
<item>
 <title>SSL Access Available</title>
 <link>http://billstclair.com/blog/ssl_access_available.html</link>
 <description>&lt;p&gt;Well, I finally paid the $15 that site5.com charges to install an SSL certificate, so you can now get get encrypted access to this site.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://billstclair.com/blog/&quot;&gt;https://billstclair.com/blog/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You will likely get a warning that the Certificate Authority (CA), &lt;a href=&quot;http://cacert.org/&quot;&gt;CAcert.org&lt;/a&gt;, is unknown to your browser. That&#039;s the drawback of using a free CA. There will likely be an option to add their certificate. Do it if you want to get rid of the warning (and warnings for similar certificates from other web sites).&lt;/p&gt;
&lt;p&gt;If you say &lt;a href=&quot;http://www.billstclair.com&quot;&gt;www.billstclair.com&lt;/a&gt;, you&#039;ll get a warning, every time you visit here after relaunching your browser, that the domain doesn&#039;t match the certificate. So don&#039;t do that unless you like the warning.&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Thu, 17 Jan 2008 03:41:42 -0600</pubDate>
</item>
<item>
 <title>Web Site Nearly Wiped Out</title>
 <link>http://billstclair.com/blog/web_site_nearly_wiped_out.html</link>
 <description>&lt;p&gt;I decided to add --delete-after to an rsync command last night to keep one of my directories exactly matching the version on my local disk. Problem is, I was doing the rsync from that directory&#039;s parent, which had nothing else in it. So rsync started deleting files and directories at the top-level. Fortunately, I had -v in the command, so I saw this, and was able to stop it before &lt;i &gt;everything&lt;/i&gt; was gone. Also, fortunately, most of the changes since I switched from my nearlyfreespeech.net hosting were either in the Drupal database, that this blog uses, or in one of two directories on my local disk. And I never shut down the old hosting location. So between those three places, and about an hour of my time, I believe I&#039;ve restored everything. All the top-level links at billstclair.com work. And this blog. rsync&#039;ed everything back to the backup location afterwards, to make it easier should I do something incredibly stupid like this again. Whew!&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Fri, 11 Jan 2008 06:23:14 -0600</pubDate>
</item>
<item>
 <title>New Web Hosting Service</title>
 <link>http://billstclair.com/blog/new_web_hosting_service.html</link>
 <description>&lt;p&gt;I&#039;ve been very happy with &lt;a href=&quot;http://nearlyfreespeech.net&quot;&gt;NearlyFreeSpeech.net&lt;/a&gt; (NFS). They&#039;ve been serving billstclair.com for quite a few years now. But my bandwidth has risen to a gigabyte a day, which means a dollar a day for NFS&#039; hosting. That&#039;s $30/month. I was clued into a new hosting service by one of the guys on the &lt;a href=&quot;http://linkinus.com/&quot;&gt;Linkinus&lt;/a&gt; IRC channel (Linkinus is a nice Mac OS X IRC client). I can get more bandwidth for $10/month there than I&#039;m getting for $30/month at NFS. They don&#039;t have the free speech philosophy of NFS, and I don&#039;t know yet how their reliability and speed will compare, but so far they look faster, and money is tight. I can go back pretty easily, should that become necessary.&lt;/p&gt;
&lt;p&gt;Anyway. I hope you enjoy my new home. Same domain, same politics, different web service provider: &lt;a href=&quot;http://site5.com/&quot;&gt;Site5.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Liberty!&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Wed, 02 May 2007 20:12:41 -0500</pubDate>
</item>
<item>
 <title>Shift of Blog Energy</title>
 <link>http://billstclair.com/blog/shift_of_blog_energy.html</link>
 <description>&lt;p&gt;I&#039;m spending a lot of my blogging time at my &lt;a href=&quot;http://imacpr0n.com/blog/&quot;&gt;iMac Pr0n Blog&lt;/a&gt; these days. Don&#039;t know how long it will last, but at least until configuration of my new machine slows down.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://drupal.org/&quot;&gt;Drupal&lt;/a&gt;, the blogging engine I use for this site, is very nice, but I must admit that I like the simplicity of &lt;a href=&quot;../blogmax/&quot;&gt;BlogMax&lt;/a&gt;, which I&#039;m using again at the iMac Pr0n Blog.&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Sun, 03 Dec 2006 18:30:47 -0600</pubDate>
</item>
<item>
 <title>Drupal Duplicate Sessions Issue</title>
 <link>http://billstclair.com/blog/drupal_duplicate_sessions_issue.html</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://drupal.org/node/21120&quot;&gt;fbomb at drupal.org&lt;/a&gt; - this blog was showing &quot;You are not authorized...&quot; messages today, on every page. I discovered the cause. I must have twice posted a delete request for a disapproving a spam user, and this had the side-effect of deleting user 0, the anonymous user, from my database. This caused the &quot;not authorized&quot; message and also a duplicate key database error on attempting to log in. ejk posted the fix:&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;quote-msg&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;Quote:&lt;/div&gt;&lt;code &gt;INSERT INTO users (uid, name, mail) VALUES (&#039;0&#039;, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
INSERT INTO users_roles (uid, rid) VALUES (0, 1);&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Fri, 06 Oct 2006 15:00:17 -0500</pubDate>
</item>
<item>
 <title>Captcha Comments Replace Spam Filter</title>
 <link>http://billstclair.com/blog/captcha_comments_replace_spam_filter.html</link>
 <description>&lt;p&gt;I&#039;ve installed Drupal&#039;s &lt;a href=&quot;http://en.wikipedia.org/wiki/Captcha&quot;&gt;Captcha&lt;/a&gt; module (completely automated public Turing test to tell computers and humans apart). This forces you to transcribe some random text, designed to be hard for computer programs to grok, to post an anonymous comment or to register. If you register, you will be able to post comments without the Captcha nonsense.&lt;/p&gt;
&lt;p&gt;This should stop automated comment spam. It won&#039;t, however, stop rooms full of low-paid workers posting spam. We&#039;ll discover soon which is my problem.&lt;/p&gt;
&lt;p&gt;I hate Captcha strings, since I often have a hard time decoding them. These don&#039;t appear to be too bad. Please let me know how they work for you, either by comments to this post, or via email to &lt;a href=&quot;mailto:bill@billstclair.com&quot;&gt;bill@billstclair.com&lt;/a&gt; (or to &lt;a href=&quot;mailto:billstclair@gmail.com&quot;&gt;billstclair@gmail.com&lt;/a&gt; if my web hosting mail forwarder doesn&#039;t like your email server).&lt;/p&gt;
&lt;p&gt;The captcha module is at &lt;a href=&quot;http://drupal.org/project/captcha&quot;&gt;http://drupal.org/project/captcha&lt;/a&gt;&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Wed, 12 Jul 2006 11:00:42 -0500</pubDate>
</item>
<item>
 <title>Spam Comments Abound</title>
 <link>http://billstclair.com/blog/spam_comments_abound.html</link>
 <description>&lt;p&gt;The spam comments are getting out of hand. My spam filter can&#039;t distinguish them from the real comments anymore, so it&#039;s marking all comments as spam. I can still distinguish them, though, most of the time, so don&#039;t stop commenting just because you don&#039;t see your comment until I approve it.&lt;/p&gt;
&lt;p&gt;I&#039;ve closed comments on the Hitler thread. This was beginning to look like &quot;All Hitler, all the time.&quot; Not a pleasant prospect from my perspective. So all you Hitler lovers and Hitler lover haters. Chill.&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Thu, 29 Jun 2006 05:24:07 -0500</pubDate>
</item>
<item>
 <title>Burning the Midnight Oil</title>
 <link>http://billstclair.com/blog/burning_the_midnight_oil.html</link>
 <description>&lt;p&gt;My posting frequency has gone down a bit of late. I&#039;ve been working late at night on the &lt;a href=&quot;http://www.puppyos.com/&quot;&gt;Puppy Linux&lt;/a&gt; 2.0 Alpha. I got my ipw2200 wireless networking interface to work, and found a bug in the code that makes file system changes, initially memory-resident, persistent. Today, I&#039;ll be installing Ruby and getting my S3 code to work (it&#039;ll probably &quot;just work&quot;).&lt;/p&gt;
&lt;p&gt;Remember, I&#039;ve been a computer hacker for a lot longer than I&#039;ve been a political hack.&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Fri, 12 May 2006 06:02:39 -0500</pubDate>
</item>
<item>
 <title>Membership moderation enabled</title>
 <link>http://billstclair.com/blog/membership_moderation_enabled.html</link>
 <description>&lt;p&gt;I got a lot of bogus registrations today, so I&#039;ve turned on moderation for new members. You can still join, but your account won&#039;t be active until I review it. Very few of my regular readers have chosen to register anyway. There are a few benefits to registering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can post forum entries&lt;/li&gt;
&lt;li&gt;You won&#039;t have to type your name and email address to comment&lt;/li&gt;
&lt;li&gt;You can disable some of the side blocks, e.g. the banners&lt;/li&gt;
&lt;/ul&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Mon, 08 May 2006 20:42:49 -0500</pubDate>
</item>
<item>
 <title>911 Timeline Moved to S3</title>
 <link>http://billstclair.com/blog/911_timeline_moved_to_s3.html</link>
 <description>&lt;p&gt;I finished moving my mirror of Paul Thompson&#039;s &lt;a href=&quot;http://s3.amazonaws.com/911timeline/index.html&quot;&gt;911 Timeline&lt;/a&gt; to S3. billstclair.com/911timeline now redirects to a page documenting the move. All other links to the timeline automatically redirect. Apache&#039;s Redirect and RedirectMatch directives at work.&lt;/p&gt;
&lt;p&gt;Next step in my S3 Ruby library: streaming upload of files and web URLs and download of files. The current Amazon-provided library requires objects to fit in memory.&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Sun, 19 Mar 2006 09:45:15 -0600</pubDate>
</item>
<item>
 <title>Spam Filter Added</title>
 <link>http://billstclair.com/blog/spam_filter_added.html</link>
 <description>&lt;p&gt;I installed and enabled Jeremy Andrews&#039; &lt;a href=&quot;http://www.kerneltrap.org/jeremy/drupal/spam/&quot;&gt;Drupal Spam Module 2.0&lt;/a&gt;, to attempt to get rid of the online poker comment spam that started appearing en masse today. It uses a Baysesian filter, plus some counts to flag spam. t will notify you if your comment is flagged as potential spam. It also sends me email, so I&#039;ll unmark anything that is obviously mischaracterized. Hopefully, it will just work (famous last words).&lt;/p&gt;
</description>
 <category domain="http://billstclair.com/blog/categories/webmaster_stuff">Webmaster stuff</category>
 <pubDate>Wed, 01 Mar 2006 17:14:06 -0600</pubDate>
</item>
</channel>
</rss>
