<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://chacadwa.com/taxonomy/term/%2A">
  <channel>
    <title>chacadwa.com</title>
    <link>http://chacadwa.com/taxonomy/term/%2A</link>
    <description>Technical blog and writings by Micah Webner.</description>
    <language>en</language>
          <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/chacadwa" /><feedburner:info uri="chacadwa" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>42.7517</geo:lat><geo:long>-83.538</geo:long><item>
    <title>Drupal 7 on Microsoft Windows Server</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/m5hT1URqKqM/drupal-7-microsoft-windows-server</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-gif"  alt="image/gif icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/drupal-mssql.gif" type="image/gif; length=83422"&gt;drupal-mssql.gif&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;It may seem odd that I spent Drupal 7 release day installing Drupal on a Microsoft server platform, but that's what I did. Honestly, the timing was coincidental. One of my current projects has been to stage up a new Windows 2008 Server to replace an aged Windows 2000 web server, and yesterday just happened to be the day that all of the pieces fell together.&lt;/p&gt;
&lt;p&gt;The existing server runs Classic ASP code that talks to both SQL Server and Oracle, sometimes on the same page, and can export data to MySQL via DTS packages through an ODBC connection. There are also a few existing PHP pages in the mix, so the original server is complete soup. The long term goal is to migrate the site to Drupal, but some of the ASP back-end code is so specialized that the only way it will get migrated is to write it as custom PHP code usng Drupal APIs.&lt;/p&gt;
&lt;blockquote class="floatleft"&gt;&lt;p&gt;
Eeeewwh. Just because you can, doesn't mean you should :) &lt;em&gt;&lt;a href="https://twitter.com/#!/shrop/status/22820107214393345"&gt;@shrop&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The short answer is that the Drupal site will have to access legacy MSSQL data, so I might as well make that possible from day one. It wasn't a really easy task to pull all of the documentation together, which I suppose means I should write up something for the d.o installation guide, but I decided to assemble my notes here first.&lt;/p&gt;
&lt;p&gt;There is a Drupal 7 install package on Microsoft's website at &lt;a href="http://www.microsoft.com/web/drupal"&gt;www.microsoft.com/web/drupal&lt;/a&gt; but it's an older alpha release, and I didn't use it.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;As an aside, I tried using the Web Platform Installer (Web PI) for a few of these steps and it sometimes created more problems than it solved. Maybe it's just me, but things went better when I installed by hand. Then again, I'm kind of old school about things like that.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Server Configuration&lt;/h3&gt;
&lt;p&gt;My test server is a VMware virtual machine running Windows Server 2008 Standard Edition. I installed the OS and added the Web Server Role to enable IIS 7.&lt;/p&gt;
&lt;h3&gt;FastCGI&lt;/h3&gt;
&lt;p&gt;To prepare for PHP meant enabling FastCGI. Under the Application Development section, this means enabling CGI. There are several good documents about getting PHP running on the IIS learning website:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/701/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/"&gt;Enable FastCGI Support in IIS 7 on Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-7/"&gt;Using FastCGI to Host PHP Applications on IIS 7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/724/install-and-configure-php/"&gt;Install and Configure PHP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These all say basically the same thing, enabling CGI in IIS provides the necessary FastCGI support. The docs recommend applying a certain hotfix, but my fully patched Server 2008 box already had it.&lt;/p&gt;
&lt;p&gt;The docs also recommend installing the &lt;a href="http://www.iis.net/extensions/AdministrationPack"&gt;IIS 7.0 Administration Pack&lt;/a&gt;, which is handy if you go through the recommended settings later.&lt;/p&gt;
&lt;h3&gt;Installing PHP&lt;/h3&gt;
&lt;p&gt;True to form, installing PHP was a breeze. Simply download the PHP 5.2 zip file from &lt;a href="http://www.php.net/download" title="www.php.net/download"&gt;www.php.net/download&lt;/a&gt; and unpack it to the &lt;strong&gt;C:\PHP&lt;/strong&gt; directory on your server. I followed the instructions from the docs linked above to rename php.ini-recommend to php.ini and tweak a couple of settings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;strong&gt;fastcgi.impersonate = 1&lt;/strong&gt;. This allows IIS to define the security context that the request runs under, although I think it caused me some permissions issues later.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;cgi.fix_pathinfo=1&lt;/strong&gt;. The docs I read conflicted on this. I left it at the default.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;cgi.force_redirect = 0&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set extension_dir to point to the location where the PHP extensions are located. I specified the full path of  &lt;strong&gt;extension_dir = "C:\PHP\ext"&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also enabled the database extensions for MySQL, just so they'll be available later.&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;extension=php_mysql.dll&lt;br /&gt;
extension=php_mysqli.dll&lt;br /&gt;
extension=php_pdo.dll&lt;br /&gt;
extension=php_pdo_mysql.dll&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;We'll want different extensions for SQL Server, but we have to get the database running first.&lt;/p&gt;
&lt;p&gt;I also added C:\PHP to my system's PATH environment variable under the System control panel.&lt;/p&gt;
&lt;p&gt;Next, you have to tell IIS to handle requests for .php files. Both of the docs I linked above explain that in detail, but in summary, In &lt;strong&gt;IIS Manager&lt;/strong&gt;, open &lt;strong&gt;Handler Mappings&lt;/strong&gt; and click &lt;strong&gt;Add Module Mapping&lt;/strong&gt;. Specify the following settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request path: &lt;strong&gt;*.php&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Module: &lt;strong&gt;FastCgiModule&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Executable: &lt;strong&gt;"C:\[Path to your PHP installation]\php-cgi.exe"&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Name: &lt;strong&gt;PHP via FastCGI&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To test this, create a file called &lt;strong&gt;phpinfo.php&lt;/strong&gt; in your &lt;strong&gt;C:\inetpub\wwwroot&lt;/strong&gt; folder containing the following code:&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="php geshifilter-php" style="font-family:monospace;"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt; &lt;a href="http://www.php.net/phpinfo"&gt;&lt;span style="color: #990000;"&gt;phpinfo&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;?&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;View this page in a browser (i.e.: visit &lt;span&gt;http://&lt;/span&gt;&lt;span&gt;localhost/phpinfo.php&lt;/span&gt; ) to verify that PHP is working.&lt;/p&gt;
&lt;p&gt;You should probably read through both of the PHP documents linked above for some more advanced settings that I'm not going to cover in detail here.&lt;/p&gt;
&lt;h3&gt;SQL Server&lt;/h3&gt;
&lt;p&gt;I had a whole lot of fun getting &lt;a href="http://www.microsoft.com/express/Database/"&gt;SQL Server 2008 R2 Express&lt;/a&gt; installed on my server. Most of my problems stemmed from Web PI, so I'd say just download and install the server and the management tools and install them both.&lt;/p&gt;
&lt;p&gt;After you get SQL Server installed, you'll need to open up the &lt;strong&gt;SQL Server Configuration Manager&lt;/strong&gt; and go to &lt;strong&gt;SQL Server Network Configuration&lt;/strong&gt;. Enable &lt;strong&gt;Named Pipes&lt;/strong&gt; for Drupal. You might also want to add &lt;strong&gt;TCP/IP&lt;/strong&gt; for remote administration. If so, you'll need to add the appropriate firewall settings. I found some useful details &lt;a href="http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/"&gt;in this post on enabling remote connections&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As with any SQL Server application, you'll want to create a user and a database for your website.&lt;/p&gt;
&lt;h3&gt;Microsoft PDO Drivers for SQL Server&lt;/h3&gt;
&lt;p&gt;As announced at DrupalCon SF2010, Microsoft has developed a new &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=80e44913-24b4-4113-8807-caae6cf2ca05"&gt;SQL Driver for PHP&lt;/a&gt; which includes PDO support needed for Drupal 7.&lt;/p&gt;
&lt;p&gt;Copy the appropriate PHP 5.2 DLL files into your PHP extensions directory (&lt;strong&gt;C:\PHP\ext&lt;/strong&gt;) and add the entries in your php.ini file:&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;; Add Microsoft Drivers for PHP for SQL Server&lt;br /&gt;
extension=php_sqlsrv_52_nts_vc6.dll&lt;br /&gt;
extension=php_pdo_sqlsrv_52_nts_vc6.dll&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Restart your web server and check your &lt;strong&gt;phpinfo.php&lt;/strong&gt; page again. It should show &lt;strong&gt;sqlsrv&lt;/strong&gt; and &lt;strong&gt;pdo_sqlsrv&lt;/strong&gt; are now available.&lt;/p&gt;
&lt;h3&gt;URL Rewrite&lt;/h3&gt;
&lt;p&gt;For Drupal to work, you must download and install URL Rewrite.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/extensions/URLRewrite" title="http://www.iis.net/extensions/URLRewrite"&gt;http://www.iis.net/extensions/URLRewrite&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Drupal Installation&lt;/h3&gt;
&lt;p&gt;You're now ready to install Drupal! This is pretty simple if you've ever installed Drupal before, but I got hung up trying to connect to the database, which I'll cover below.&lt;/p&gt;
&lt;p&gt;First, download and deploy Drupal 7 by normal means. If you get a 403 error, try granting Read and Execute permissions to Everyone for the Drupal directory. You'll also need to adjust permissions in sites/default to grant IIS write privileges as you would in any other Drupal installation. You also need to copy default.settings.php to settings.php as usual.&lt;/p&gt;
&lt;p&gt;Before you run the installer, you should also download the &lt;a href="http://drupal.org/project/sqlsrv"&gt;Sqlsrv Driver&lt;/a&gt;. Unlike a normal module, download this file and unpack it to includes/databases/sqlsrv in your Drupal installation.&lt;/p&gt;
&lt;p&gt;Now when you run the installer, SQL Server is an installation choice. The gotcha is that you need to spin open advanced settings and change the server "hostname" from localhost to the name of Database instance. ie: SERVERNAME\SQLEXPRESS in this case.&lt;/p&gt;
&lt;h3&gt;Drush&lt;/h3&gt;
&lt;p&gt;It appears that drush will work from the Windows command shell, but I haven't fully tested it yet.&lt;/p&gt;
&lt;h3&gt;Updates&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Edit 07-Jan-2011:&lt;/strong&gt; Updated info about  Microsoft Drivers for PHP for SQL Server. Original post discussed pre-release driver package. Pierre from Microsoft sent me a link to the current driver.&lt;/p&gt;
&lt;div class="field field-type-nodereference field-field-related-posts"&gt;
  &lt;ul class="menu"&gt;
            &lt;li class="leaf odd"&gt;
          &lt;a href="/blog/micah/2006_09_12/why_drupal"&gt;Why I Chose Drupal&lt;/a&gt;        &lt;/li&gt;
        &lt;/ul&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/m5hT1URqKqM" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2011-01-06/drupal-7-microsoft-windows-server#comments</comments>
 <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Thu, 06 Jan 2011 23:24:40 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">93 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2011-01-06/drupal-7-microsoft-windows-server</feedburner:origLink></item>
  <item>
    <title>Repurposing Print Media For The Web</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/BBk4kLQ9wT8/repurposing-print-media-web</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-jpeg"  alt="image/jpeg icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/issuu.jpg" type="image/jpeg; length=18561"&gt;issuu.jpg&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I was recently asked about using &lt;a href="http://issuu.com/"&gt;issuu.com&lt;/a&gt; as a tool for publishing print media on the web. While I found only a couple of minor things I didn't like about Issuu, mostly regarding zoom control, this question roused my general dislike for the practice of dumping printed material to a PDF file and slapping it on a website.&lt;/p&gt;
&lt;p&gt;Content creators who insist on publishing this way either have a lack of understanding about the differences between web and print, or don't care. This sends a message (whether it's true or not) that the publisher only cares about getting their message out, and not about any real benefit for the reader.&lt;/p&gt;
&lt;p&gt;The reality is that print and web are two different platforms, and content needs to be formatted differently for each. Usability expert &lt;a href="http://www.useit.com/alertbox/990124.html"&gt;Jakob Nielsen outlined the differences back in 1999&lt;/a&gt;, and most of what he said then still holds true today. Using fancy tools to render print content, no matter how well implemented, is no substitute for a properly considered web version. The issues aren't just constrained to layout, either. People read differently on the web than in print, and the actual writing should reflect that. As more and more users move from desktop and lap to mobile, this rift can only increase.&lt;/p&gt;
&lt;p&gt;The challenge for designers and developers is that we can't really give users the ability to lay things out with the "ooh pretty" paradigm of print media without running huge risks of them breaking the site. (Largely because so many users try to do layout using crappy WYSIWYG tools and/or bad HTML habits we all learned in the 90's, and because they don't realize they need to test in all browsers.) So how do we keep the creatives happy without forcing them to learn the skills necessary for the level of design freedom they demand?&lt;/p&gt;
&lt;p&gt;We can't, yet, but there are new techniques coming. We're going to see a lot of UX changes driven by the iPad, where gestures cause natural movement like page flip. &lt;a href="http://treesaver.net/"&gt;Treesaver&lt;/a&gt; is a new standards-based process for displaying content in a more print-like manner with a pretty good degree of automation. It will first roll out when &lt;a href="http://readnomad.com/"&gt;Nomad Editions&lt;/a&gt; launches (see &lt;a href="http://www.youtube.com/watch?v=zEZ_ARKNTHE"&gt;demo video&lt;/a&gt;) and then be released as an open-source standard. At that point, it could probably be incorporated into Drupal sites, probably in the theme layer. Check out &lt;a href="http://5by5.tv/bigwebshow/18" title="Roger Black on Web Type and Templates"&gt;this episode of The Big Web Show podcast&lt;/a&gt; for further discussion and more information.&lt;/p&gt;
&lt;p&gt;Even so, it's not the technology but the mentality that's causing problems. Innovators are finding ways to squeeze as much out of the available platforms as possible, and HTML5 holds a lot of promise for publishing in the future. But people simply sticking print media up on the web are still missing the point. They need to be educated about how and why the web is a different place where layout, process and attention span all affect the way we read, so they can adapt their content accordingly.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/BBk4kLQ9wT8" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2010-10-08/repurposing-print-media-web#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Fri, 08 Oct 2010 17:31:45 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">88 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2010-10-08/repurposing-print-media-web</feedburner:origLink></item>
  <item>
    <title>Lessons Learned on My First Podcast</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/5A0vWbSdJgI/first-podcast-lessons-learned</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-jpeg"  alt="image/jpeg icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/1464859888_debc6cd24f.jpg" type="image/jpeg; length=95424"&gt;1464859888_debc6cd24f.jpg&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Last Monday, we released the &lt;a href="http://geeksandgod.com/episode128" title=" Reboot"&gt;first episode of the Geeks and God Podcast&lt;/a&gt; since I became one of the hosts. There were a lot of lessons to be learned in the process. Here are a few of the things I discovered.&lt;/p&gt;
&lt;h3&gt;1. Have a Detailed Outline&lt;/h3&gt;
&lt;p&gt;This is really obvious, but I wasn't really aware of how detailed an outline I needed. My short list of notes wasn't nearly enough, especially since we recorded things out of order. There were a lot of things I forgot, making our transitions rougher. I needed better notes about all aspects of the show, not just the one being recorded at any given time.&lt;/p&gt;
&lt;h3&gt;2. Record Segments First&lt;/h3&gt;
&lt;p&gt;For various reasons, we weren't able to record most of the drop-in segments of the show until after recording the intro and glue pieces. It was very difficult to make this sound natural when we didn't know how things would flow. The best transition was the one coming out of the interview, because it was the last piece to be recorded, and I knew exactly where it was going next.&lt;/p&gt;
&lt;p&gt;Some of the worst spots were the ones that I went back and re-recorded, and the parts I was gluing together simply didn't connect.&lt;/p&gt;
&lt;h3&gt;3. Use Audio Bumpers&lt;/h3&gt;
&lt;p&gt;The original hosts of the podcast generally recorded their whole show in one sitting. Even when they inserted prerecorded elements, they did that during their recording session and listened to those pieces while building the show. This enabled a smooth flow throughout the whole episode.&lt;/p&gt;
&lt;p&gt;The new podcast will use a lot of prerecorded elements with the connecting segments being recorded over Skype calls to tie it all together. Even if we get really good at recording the glue pieces, the listeners are going to need audible cues to indicate that we're moving from one segment of the show to another. Short audio bumpers should be an effective way to fix this.&lt;/p&gt;
&lt;h3&gt;4. Use a Clock&lt;/h3&gt;
&lt;p&gt;Because we'd planned this first episode to be an introductory show, I was expecting it to be a short one. Instead, every segment ran over our initial time estimates and we went about fifteen minutes long. The outline should include time estimates and we should use a timer to help us stick to it. This also alleviates the fact that I tend to talk too much in general, which leads me to my next point.&lt;/p&gt;
&lt;h3&gt;5. The More the Merrier&lt;/h3&gt;
&lt;p&gt;For a podcast with five hosts, not only did I talk too much, but we didn't have enough natural banter in the intro segment where everyone was involved. The only place where this really came out well was in the outtake I used at the end. Some of this will come with experience, but the best way to remedy this is to shorten the outline a bit and leave time to just talk. We need to change this, or else the podcast won't be fun to listen to.&lt;/p&gt;
&lt;h3&gt;6. Press Record While You're Getting Ready&lt;/h3&gt;
&lt;p&gt;Everything sounds better when the hosts are more relaxed, and I found that one of the best ways for me to do this was to press record early. My mind tends to go completely blank the moment that I start recording, and after a few false starts, I get so flustered that nothing comes out of my mouth right. Hitting record and then chatting a bit more before launching in tends to give me a chance to relax, and it's easy to delete the unwanted portion during editing.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/5A0vWbSdJgI" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2010-03-10/first-podcast-lessons-learned#comments</comments>
 <category domain="http://chacadwa.com/articles/techarts">Tech Arts</category>
 <pubDate>Wed, 10 Mar 2010 15:58:11 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">71 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2010-03-10/first-podcast-lessons-learned</feedburner:origLink></item>
  <item>
    <title>A Night of Different Perspectives</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/zPzuGUKnmq0/night-different-perspectives</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-jpeg"  alt="image/jpeg icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/1124081828.jpg" type="image/jpeg; length=279195"&gt;1124081828.jpg&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Tonight's rehearsal of our annual musical drama, &lt;em&gt;A Christmas Tale&lt;/em&gt;, was a night of different perspectives. I wasn't really thinking when I snapped this photo with my cell phone, but it fits.&lt;/p&gt;
&lt;p&gt;When we started out tonight, neither of my lighting guys were there, so I stuck my teenage daughter on the light board, where she did a great job of being mature and attentive, following cues without error. She worked backstage last year, so she saw a new perspective on how lighting tied in to the portions of the show where she'd had to move props on- and off-stage in the dark last year.&lt;/p&gt;
&lt;p&gt;When our regular lighting operator arrived, I had him call cues for my daughter rather than take over operations. He commented afterward on how different it was to call the cues than to just be watching, waiting for and executing them.&lt;/p&gt;
&lt;p&gt;Our lead sound guy got stuck late at work, so the guy who's usually the helper and coordinator ran the mics. He wanted the practice in case he ever has to run a performance. He commented afterward that he now understood why his counterpart chose a certain work flow over the way he has run things himself in previous years.&lt;/p&gt;
&lt;p&gt;When he arrived, the lead sound tech took the opportunity to sit in the house and watch the rehearsal. He said that now he really understood a few things that I've tried to explain to him in the past, because sitting in the house just doesn't sound the same as sitting behind the board.&lt;/p&gt;
&lt;p&gt;We've grown a really consistent core team over the past few years, and that team has settled into a pattern that allows us to quickly fall into place for each season. Early full cast rehearsals have gone from really horrible in the early years to very smooth these days. (We don't do a true tech rehearsal until the sets are constructed, but we run partial tech for all full cast rehearsals.) In the past couple of years, I've learned to get out from behind the tech area during rehearsals to observe and absorb, but everyone else usually stays in their regular positions. It served us well tonight to shake things up a little and give everyone a fresh look at things. I think the performances will benefit from things we all learned tonight.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/zPzuGUKnmq0" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-11-24/night-different-perspectives#comments</comments>
 <category domain="http://chacadwa.com/articles/techarts">Tech Arts</category>
 <pubDate>Tue, 25 Nov 2008 03:17:55 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">68 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-11-24/night-different-perspectives</feedburner:origLink></item>
  <item>
    <title>Clickin' It Old School</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/jKqR0ERQdfU/clickin-it-old-school</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-jpeg"  alt="image/jpeg icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/telegraph-key.jpg" type="image/jpeg; length=98222"&gt;telegraph-key.jpg&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;It's sometimes hard to remember that "instant" text messaging has been around for a long time, and that text messaging is far older than voice technology for long distance communication. The difference today is that text messaging devices are wireless, and don't require intensive training and study to be used.&lt;/p&gt;
&lt;p&gt;My great-grandfather, Rush Webner, was a telegrapher for various railroads, including a 36 year stint as agent-operator for the Wheeling and Lake Erie station in Smithville, Ohio.&lt;/p&gt;
&lt;p&gt;My cousin Eric sent me this picture back in the spring, but I keep forgetting to post it. I was reminded of it by a clip from the Tonight Show featuring &lt;a href="http://www.youtube.com/watch?v=AhsSgcsTMd4"&gt;a head-to-head competition between text messaging and Morse Code&lt;/a&gt;. Eric sent the following information along with the photo:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;A number of years ago, Great-Uncle Dick Webner gave me one of two telegraph keys (Uncle Terry, I believe you have the other key) that Great-Grandfather Rush used while working on the railroad years ago (presumably at Smithville Station). I have always wanted to restore it and mount it on a nice wood base. It is a terrific key, and in very good shape, so my intention is not just to make a nice memorial/collector piece, but also to use it with my ham radio station.&lt;/p&gt;
&lt;p&gt;This project finally got off the “back burner” when I met a ham in New York who makes bases for telegraph keys out of exotic woods. The picture below shows the base he made for me using Santos Mahogany, a very hard, dense and beautiful wood. The key has not been restored yet, but will be “polished” using non-abrasive methods. Mechanically, this Western Electric key works perfectly.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;In a reply, my Uncle Neil added some additional details and speculation about Rush and his keys:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;...but consider that perhaps Rush took this key with him from his Morse code lessons in 1891 from cousin Willis O. Walton, to Kentucky and Ohio with the Pennsylvania RR, to the Illinois Central stations in Kentucky and Tennessee, through several assignments with the Pennsy, and finally to the Wheeling &amp;amp; Lake Erie.  But that was a short stint, as he opted for the more money offered by the Pennsy and went back to work for them at Summit Station just south of Smithville.  That was apparently just a short assignment as he went back to the WLE in 1904 as Smithville's agent-operator where he stayed until his retirement in 1940, interrupted by two years in Orrville.&lt;/p&gt;
&lt;p&gt;So I don't know -- maybe he took his keys with him wherever he went as "tools of the trade".  Makes sense, because how else might he have ended up with them at his retirement -- oh, maybe they were practice keys he kept at home....?&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/jKqR0ERQdfU" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-10-31/clickin-it-old-school#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Fri, 31 Oct 2008 13:25:43 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">66 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-10-31/clickin-it-old-school</feedburner:origLink></item>
  <item>
    <title>Creating a Simple Link List with CCK and Views</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/J7Jlwgld6LQ/creating-simple-link-list-cck-and-views</link>
    <description>&lt;p&gt;&lt;strong&gt;Note: I've updated this tutorial for Drupal 6 in &lt;a href="http://geeksandgod.com/tutorials/computers/cms/drupal/creating-simple-link-list-cck-and-views" title="Creating a Simple Link List with CCK and Views"&gt;this post on the Geeks and God website&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Old school web design meant including a page full of links to other websites. As older sites are transitioned into current practice, many site owners expect this trend to continue. And in some ways it has, most commonly as a block containing a blogroll of other sites. This method can provide both solutions by creating a custom content type that will turn links into nodes, and can then display them as a page or block using Views.&lt;/p&gt;
&lt;p&gt;This tutorial assumes that you have a running Drupal site and understand the basics of downloading and installing contributed modules.&lt;/p&gt;
&lt;p&gt;For this exercise, we'll need the &lt;a href="http://drupal.org/project/cck"&gt;CCK&lt;/a&gt;, &lt;a href="http://drupal.org/project/views"&gt;Views&lt;/a&gt;, &lt;a href="http://drupal.org/project/links"&gt;Links&lt;/a&gt; and &lt;a href="http://drupal.org/project/auto_nodetitle"&gt;Automatic Nodetitles&lt;/a&gt; modules. Unpack each module into its own folder under sites/all/modules, then enable Content, Links, Automatic Nodetitles, Views and Views UI on the admin/build/modules page.&lt;/p&gt;
&lt;h3&gt;Creating the Content Type&lt;/h3&gt;
&lt;p&gt;Custom content types arent as difficult to create as it may seem. There is nothing special about the delivered Story and Page types, which can be altered, renamed or removed, depending on how you want your site to function. Any new content type will initially have the same properties as these default types. Under admin/content/types, simply select Add Content Type to get started. The name of our new type will be Link, and the type will be link. For my example, I've relabeled the Body field as Description, allowing the user to use this field for optional teaser text. Also, we won't want these nodes automatically promoted to the front page, and we'll disallow comments and attachments.&lt;/p&gt;
&lt;p&gt;&lt;img src="/sites/chacadwa.com/files/linkspage-01.gif" /&gt;&lt;/p&gt;
&lt;p&gt;With our basic link type created, we're now ready to add a Link-type field. I made mine with a label of "Link" as a required field with the link title required. We need this, because we're also going to force each entry to use the link title as the node title, rather than make the user enter the information twice.&lt;/p&gt;
&lt;p&gt;&lt;img src="/sites/chacadwa.com/files/linkspage-02.gif" /&gt;&lt;/p&gt;
&lt;p&gt;We'll want to fine tune the display of our custom field, making the label hidden, and the field display "Title, as link" for both teasers and full entries.&lt;/p&gt;
&lt;p&gt;&lt;img src="/sites/chacadwa.com/files/linkspage-03.gif" /&gt;&lt;/p&gt;
&lt;p&gt;Now we'll go back to edit the content type itself and spin open the Automatic Nodetitle section at the top, setting title generation to "Automatically generate the title and hide the title field." Assuming that we've created a field named &lt;em&gt;link&lt;/em&gt;, our title pattern becomes &lt;em&gt;[field_link-title]&lt;/em&gt;. We've now created a fairly simple content type. We'll simplify the user's job of data entry even more before we're through.&lt;/p&gt;
&lt;h3&gt;Create a View&lt;/h3&gt;
&lt;p&gt;For this example, we're going to build a simple block view and associate it with a single page. This will make it easy for future site maintainers to edit the info at the top of the page without delving into the depths of views editing. Create a new view and provide a block, making a list view. Because of the way we defined our view, we can use the full text of the node body as the only field to display. This will show the our links, followed by the optional descriptions in the body text if our users provide them.&lt;/p&gt;
&lt;p&gt;&lt;img src="/sites/chacadwa.com/files/linkspage-04.gif" /&gt;&lt;/p&gt;
&lt;p&gt;Set filters on the feed to only display published nodes of type link. Sort the view however you prefer.&lt;/p&gt;
&lt;p&gt;&lt;img src="/sites/chacadwa.com/files/linkspage-05.gif" /&gt;&lt;/p&gt;
&lt;p&gt;Now create a regular page node titled Links or Link List. For best results, enable the Path module and give this page a simple URL of "links." This way, you'll be able to use the URL alias when setting up the block. In the blocks menu, display your new block in the content area, and then go into the "configure" link and set the block to only appear on the links page.&lt;/p&gt;
&lt;p&gt;That's all there is to it! Now you can allow site users to create links without them having to actually manage the presentation aspects of the links page. The only side effect of this method is that the individual link nodes are not easy to access for editing. This can be fixed by providing your users with a table view that includes edit links.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/J7Jlwgld6LQ" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-09-17/creating-simple-link-list-cck-and-views#comments</comments>
 <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Thu, 18 Sep 2008 03:15:09 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">65 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-09-17/creating-simple-link-list-cck-and-views</feedburner:origLink></item>
  <item>
    <title>Simple hook_form_alter Module for Drupal 5</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/seBnjAwY5fA/simple-hook-form-alter-module-drupal-5</link>
    <description>&lt;p&gt;&lt;strong&gt;Note: I've updated this tutorial for Drupal 6 in &lt;a href="http://geeksandgod.com/tutorials/computers/cms/drupal/creating-simple-drupal-module" title="Creating a Simple Drupal Module"&gt;this post on the Geeks and God website&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This example "mysite" module demonstrates hook_form_alter. There is a lot of good info out there about hook_form_alter, but I found very few examples that put all of the pieces of custom module creation together in such a simple way as this.&lt;/p&gt;
&lt;p&gt;The also function adds an example "form_array" element that displays everything in a form using print_r. Installing the &lt;a href="http://drupal.org/project/devel"&gt;Devel Module&lt;/a&gt; is probably a better way to get this same information. You wouldn't want to leave this hunk of code on a production site, but it is pretty nice for seeing what form elements are available to manipulate.&lt;/p&gt;
&lt;p&gt;Uncomment print $form_id; to show the name of every form on your site as you navigate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mysite.info&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;; $Id$&lt;br /&gt;
name = mysite&lt;br /&gt;
description = Customizations and tweaks for my site.&lt;br /&gt;
package = Other&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mysite.module&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="php geshifilter-php" style="font-family:monospace;"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;// $Id: mysite.module,v 0.1 2008/06/07 18:16:00 micah Exp $&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt;
&amp;nbsp; * See &lt;a href="http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/drupalorg/" title="http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/drupalorg/"&gt;http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/drupalorg/&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; * for additional examples.&lt;br /&gt;
&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #009933; font-style: italic;"&gt;/**&lt;br /&gt;
&amp;nbsp; * Implementation of hook_form_alter().&lt;br /&gt;
&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; mysite_form_alter&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form_id&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #339933;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// print $form_id;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color: #b1b100;"&gt;switch&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form_id&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'story_node_form'&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #666666; font-style: italic;"&gt;// Place your form altering code here.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href="http://www.php.net/unset"&gt;&lt;span style="color: #990000;"&gt;unset&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'menu'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href="http://www.php.net/unset"&gt;&lt;span style="color: #990000;"&gt;unset&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'author'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href="http://www.php.net/unset"&gt;&lt;span style="color: #990000;"&gt;unset&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'log'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'form_array'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;a href="http://www.php.net/array"&gt;&lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'#value'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;pre style=&amp;quot;color: #000; background: #cba; border: 1px solid brown;&amp;quot; &amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href="http://www.php.net/print_r"&gt;&lt;span style="color: #990000;"&gt;print_r&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #339933;"&gt;.&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'&amp;lt;/pre&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;'#weight'&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'5'&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;break&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'story_node_form'&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href="http://www.php.net/unset"&gt;&lt;span style="color: #990000;"&gt;unset&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'log'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;break&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'user_login'&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'name'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'#description'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; t&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'Enter your username, if you can remember it.'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000088;"&gt;$form&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'pass'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'#description'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; t&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'You probably forgot this. Just use password reset again.'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;break&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #666666; font-style: italic;"&gt;/* might want to do similar thing for user_login_block */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/seBnjAwY5fA" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-09-17/simple-hook-form-alter-module-drupal-5#comments</comments>
 <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Thu, 18 Sep 2008 02:02:58 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">64 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-09-17/simple-hook-form-alter-module-drupal-5</feedburner:origLink></item>
  <item>
    <title>Drupal rsync backup scripts</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/EkUkVgKuOZY/drupal-rsync-backup-scripts</link>
    <description>&lt;p&gt;There are a lot of other &lt;a href="http://www.google.com/search?q=drupal+rsync+backup"&gt;backup scripts&lt;/a&gt; for &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; on the web, but I promised somebody I'd post mine in response to &lt;a href="http://www.geeksandgod.com/episode95"&gt;this week's episode of the Geeks and God podcast&lt;/a&gt;. There are variations based on how the different servers are set up, but here's a basic summary of how I do it.&lt;/p&gt;
&lt;p&gt;For this example, all backups are being done using rsync over ssh. This can be really simple to set up. An old Linux box in the basement with a couple of gigs of free space can be used as a backup for multiple sites.&lt;/p&gt;
&lt;p&gt;Start by setting up the receiving machine. Install the rsync package if it's not already available. (I'm assuming you can handle setting up your router with port-forwarding to sshd. I'm not going to cover that here.) Create a regular unprivileged user to receive the backups. In that user's home directory, create a target directory for each backup, and create an rsync.conf file with an entry for each server you'll be backing up.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;use chroot = false&lt;br /&gt;
[server1]&lt;br /&gt;
path = /home/user1/backups/server1&lt;br /&gt;
read only = false&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now create an ssh key pair to handle authentication. This key pair will only be used for backups, and won't require a password.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ ssh-keygen -t dsa -b 1024 -N"" -f ~/.ssh/backup&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The -N"" provides an empty password, and the files will be stored in the target user's .ssh folder.&lt;/p&gt;
&lt;p&gt;Now cd to the .ssh folder and append the new public key to the authorized_keys file:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ cd ~/.ssh&lt;br /&gt;
$ cat backup.pub &amp;gt;&amp;gt; authorized_keys&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now use the editor of your choice to add some code to the beginning of the last line of the authorized_keys file:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;command="rsync --server --daemon ." ssh-dss AAAAB3...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This tells sshd to &lt;em&gt;only&lt;/em&gt; allow this key pair to run the rsync program on your local backup machine.&lt;/p&gt;
&lt;p&gt;Now copy the ~/.ssh/backup private key file to the web server. We'll specify it as the key that ssh should use to contact your backup host. On your server, create a script similar to the following:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Drupal Database Info&lt;br /&gt;
#&lt;br /&gt;
DBUSER="username"&lt;br /&gt;
DBPASS="password"&lt;br /&gt;
DBNAME="database"&lt;br /&gt;
#&lt;br /&gt;
# Server Subdirectories&lt;br /&gt;
#&lt;br /&gt;
WEBDOCS="/path/to/htmlfiles"&lt;br /&gt;
BACKUPS="${HOME}/backups"&lt;br /&gt;
#&lt;br /&gt;
# Backup Server User and Hostname&lt;br /&gt;
#&lt;br /&gt;
BKUSER="username"&lt;br /&gt;
BKHOST="hostname"&lt;br /&gt;
MYNAME="server1"&lt;br /&gt;
#&lt;br /&gt;
# Rsync and Communications parameters&lt;br /&gt;
#&lt;br /&gt;
PARAMS="-azxC --exclude-from=${HOME}/backup/excludes --delete-excluded --stats"&lt;br /&gt;
CPARMS="--bwlimit=32 --timeout=1800"&lt;br /&gt;
RSH="ssh -c blowfish -i ${HOME}/.ssh/backup -l ${BKUSER}"&lt;br /&gt;
#&lt;br /&gt;
# echo "*** Performing Database Dumps ***"&lt;br /&gt;
#&lt;br /&gt;
/usr/bin/mysqldump -u ${DBUSER} -p ${DBPASS} --opt ${DBNAME}|&lt;br /&gt;
gzip &amp;gt; ${BACKUPS}/${DBNAME}.sql.gz&lt;br /&gt;
#&lt;br /&gt;
# echo "*** Performing Remote Rsync ***"&lt;br /&gt;
#&lt;br /&gt;
rsync $* ${PARAMS} ${CPARMS} --rsh="${RSH}" ${WEBDOCS} ${BACKUPS} ${BKHOST}::${MYNAME}&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Obviously, you'll need too tweak all of the parameters. In this example, MYNAME=server1 corresponds to the [server1] section in rsync.conf on the target machine.&lt;/p&gt;
&lt;p&gt;The extra command line parameters passed on the rsync line mean you can run this script with "-v --progress" appended to the command line and rsync will be very verbose during testing.&lt;/p&gt;
&lt;p&gt;The excludes file contains files or directories that should not be backed up. This would typically include your Drupal tmp directory (if within the backup area) and things of that nature. Here's an example from a site that also has &lt;a href="http://gallery.menalto.com/"&gt;Gallery2&lt;/a&gt; installed:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;httpdocs/sites/default/gallery.data/cache/&lt;br /&gt;
httpdocs/sites/default/gallery.data/sessions/&lt;br /&gt;
httpdocs/sites/default/gallery.data/tmp/&lt;br /&gt;
httpdocs/sites/default/gallery.data/smarty/&lt;br /&gt;
httpdocs/sites/all/tmp/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Add this script to cron on your web server, and it will back up regularly.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;35 0 * * * /path/to/script 2&amp;gt;&amp;amp;1|mail -s "Backup Results" user@example.com&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;There are some shortcomings in this script. It only keeps one backup of your site. If the site is hacked or otherwise damaged, and you don't catch it before the backup runs, you'll write the bad data over your good backup. I'm pondering the best way to address this.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/EkUkVgKuOZY" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-09-02/drupal-rsync-backup-scripts#comments</comments>
 <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Wed, 03 Sep 2008 00:33:49 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">63 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-09-02/drupal-rsync-backup-scripts</feedburner:origLink></item>
  <item>
    <title>Welcome to Twitter</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/AAZQ0RXyd3Q/welcome-to-twitter</link>
    <description>&lt;p&gt;&lt;em&gt;I wrote this email today intending to resend it again and again as new friends started joining Twitter, primarily from Facebook, but have quickly realized how cumbersome that might become, so instead I'm adding it here as a blog post for all to enjoy.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I've noticed a couple of my friends have signed up for Twitter but are not using it. Most of you have added the Twitter Facebook app, and are wondering "ok, so now what?" As a diligent and responsible Twitter addict, I've decided to sit down and write you a nice email to help you get started.&lt;/p&gt;
&lt;p&gt;I'll then save it as a template, so I can send out again later to other people as they discover Twitter, too.&lt;/p&gt;
&lt;p&gt;How is Twitter different than your Facebook status? Twitter's one and only question "What are you doing?" is pretty much the same, after all. One difference is that you can send replies. Twitter is its own thing, so you don't need Facebook to use it. Going right to &lt;a href="http://twitter.com/"&gt;twitter.com&lt;/a&gt; is much easier than using the Facebook app.&lt;/p&gt;
&lt;p&gt;If you have a good texting plan on your cell phone, you can set up Twitter to work from your phone. You can also choose whose updates come to your phone and whose don't, which helps. However, the text part isn't required. I don't have any text service on my phone, so I just use Twitter on the web.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://commoncraft.com/twitter"&gt;This 2-1/2 minute video&lt;/a&gt; explains Twitter pretty well, but it leaves some things out. Twitter is a conversation. Very rarely does anyone say anything earth-shattering. That kind of info doesn't fit in 140 characters. Ok, sometimes it does, and that's what favorites are for. Mostly it's just this background conversation that happens through your day. Blogger Natalie Jost &lt;a href="http://www.standardsforlife.com/virtual-cubicles/"&gt;likened it to virtual cubicles&lt;/a&gt;, where someone pops their head up, says something, and then moves on. Sometimes you reply, and sometimes you don't.&lt;/p&gt;
&lt;p&gt;By the way, to reply, just type @username at the start of your message. Twitter will automatically link it back to that person and their latest tweet. Use @username to refer to other users, and the links will happen automatically. You may also see #words, which is a way to help make tweets about those #words searchable.&lt;/p&gt;
&lt;p&gt;Besides "what are you doing?" consider these five questions from podcaster &lt;a href="http://thenewmediology.com/?p=22"&gt;Bill Seaver&lt;/a&gt;: What did you learn? What made you laugh? What do you need an answer to? What are you thankful for? What ticks you off? Pick one and go answer it as an update. Now. People don't "get" Twitter at first. I didn't either. That's because there's nothing to "get." You just start using it. Be yourself. All you do is start following people and start posting "tweets." The rest just comes naturally. As soon as you start following people, you'll see the latest conversations we've had. That should help explain a lot, too.&lt;/p&gt;
&lt;p&gt;Who should you follow? You can start by finding people you already know. I have already found you and am following you already. Follow my links to find other people you know, and see who we're following, and our followers. Read tweets by those people. Do they seem interesting? If so, then just start following them. They might follow you back; they might not. After a while, you might find you're missing parts of conversations unless you add another person.&lt;/p&gt;
&lt;p&gt;People will follow you, too. Some find you through your friends, some people pick randomly from the &lt;a href="http://twitter.com/public_timeline"&gt;public timeline&lt;/a&gt;, and some are spammers hoping you'll just automatically follow them back. Just use the block button to get rid of that last group, or even the randoms if you want.&lt;/p&gt;
&lt;p&gt;You're already on Twitter, so just start using it, or else I may have to nudge you!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/AAZQ0RXyd3Q" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/welcome-to-twitter#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Sat, 30 Aug 2008 03:31:29 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">62 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/welcome-to-twitter</feedburner:origLink></item>
  <item>
    <title>Drupal Adoption Issues for Churches</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/CJuoBcurVDc/drupal-adoption-issues-churches</link>
    <description>&lt;p&gt;Matt Farina recently &lt;a href="http://friendfeed.com/e/cdd3df56-5498-4358-8e99-9de8f0a07678/I-m-wondering-how-we-can-make-drupal-easier-for/"&gt;posted a question on FriendFeed&lt;/a&gt; about increasing adoption of Drupal among churches.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I'm wondering how we can make Drupal easier for churches to adopt. Drupal for Churches distribution? Documentation targeted at churches? Thoughts?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I think four factors are that churches are asking the wrong questions, we're providing wrong answers, the Drupal web site probably doesn't target non-geeks, and the word about Drupal isn't getting to the right places.&lt;/p&gt;
&lt;h3&gt;Wrong Questions&lt;/h3&gt;
&lt;p&gt;A lot of churches have web sites because during the Dot-com bubble, they realized they needed one. This led to an explosion of FrontPage-build brochureware sprinkled with sparse content and nifty animated GIFs. Many of these sites still exist, while others got updated to tables-within-tables-within-tables layout as webmasters flocked to Dreamweaver and Adobe Go-Live. Even well-constructed church sites are static, not encouraging repeat visits.&lt;/p&gt;
&lt;p&gt;Church leadership likes numbers, and at the top of the list are people and dollars. How many people are attending on Sunday morning? How much was the offering? Even churches that don't focus on numbers have to keep track of them.&lt;/p&gt;
&lt;p&gt;How many people are visiting our web site? How much is this costing us? The answers are usually disappointing. The church is paying a lot for hosting and domain registration, but not many people are visiting. How can we increase visitors? Most of them have heard of Web 2.0, and it's the mysterious Holy Grail solution to the problem. But they're not sure how to get there. Or how much it will cost.&lt;/p&gt;
&lt;p&gt;A bigger question is getting ignored: Why does this church even have a web site? Actually, this is a badly-worded question. Here's a better one: What is the mission statement of the church, and how does the web site help to fulfill it? For example, my home church's mission is the Great Commission, teaching the saved and reaching the unsaved. Every decision made about our site should be weighed in terms of those objectives.&lt;/p&gt;
&lt;p&gt;It's important that churches catch this concept, but they aren't the only ones that need to look at things differently.&lt;/p&gt;
&lt;h3&gt;Wrong Answers&lt;/h3&gt;
&lt;p&gt;I'm a big fan of Lee and Sachi LeFever's &lt;a href="http://www.commoncraft.com/show"&gt;Common Craft Show&lt;/a&gt;. They've developed an uncannily clear way to explain complex concepts, including popular Web 2.0 services, "in Plain English." (If you haven't seen any of their videos, go watch some.) Lee's &lt;a href="http://www.commoncraft.com/discovering-rss-explanation-problem"&gt;blog post about the explanation problem&lt;/a&gt; changed the way I look at communicating with end users.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt; Often, when someone asks "what is...", they really mean "Why does it matter to me?" By considering what matters to someone, the answer becomes different and more likely to give them information they can act on. One of the things that we've learned is that explanation sometimes means answering a different question than was asked. It's not always "what is it?" as much as "why should I care about it?"&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;How do you describe Drupal to someone for the first time? Simply put, it's a tool for building a web site so that for anyone in the church office can easily update information without going back to the web designer. But maybe they're not even ready to hear that it'll be easy to update. They need to understand that keeping content updated attracts repeat visitors, and that building a site with a vision and a mission is more important than updating the way it looks.&lt;/p&gt;
&lt;p&gt;At some point, of course, it is finally time to bring up Drupal as a solution. The worst way to convince them is point them at &lt;a href="http://drupal.org/"&gt;Drupal.org&lt;/a&gt; and tell them to check it out.&lt;/p&gt;
&lt;h3&gt;The Drupal Home Page&lt;/h3&gt;
&lt;p&gt;It's no secret that the Drupal web site is confusing to newcomers. The Drupal community and the Church have similar issues in the way they communicate with outsiders, but that's another story. There is &lt;a href="http://groups.drupal.org/drupal-org-redesign-analysis"&gt;an active group on a redesign&lt;/a&gt;. Most of the proposed front page changes are geared towards helping new developers find their way around and start contributing. Those are great things, but here's something I thought of last night:&lt;/p&gt;
&lt;p&gt;The Drupal home page needs a big button that says something to the effect of "I don't know the first thing about making websites, but some geek friend of mine said I should come here so now what?" This would open up into an area targeting end users. &lt;a href="http://acquia.com/"&gt;Acquia&lt;/a&gt; has started in this direction with their &lt;a href="http://acquia.com/what-is-drupal"&gt;What is Drupal? page&lt;/a&gt;, but the screencast there may still be too developer oriented.&lt;/p&gt;
&lt;h3&gt;Spreading The Word&lt;/h3&gt;
&lt;p&gt;Of course, this all assumes that someone they know is advocating Drupal. If not, how will church leaders even hear about it? It seems that print publications may still be a good avenue. Every once in a while, some church leadership magazine will get passed on to me from the senior staff because it has an article about loudspeaker systems or Internet Security in them. Like any other product targeting churches, advocacy has to take place where these leaders are looking for it.&lt;/p&gt;
&lt;p&gt;These are just four areas to consider. I'm sure there are a lot of other things that would help motivate churches to improve their web presence, and to use Drupal to do so.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Comments closed on this one. This conversation started on FriendFeed. &lt;a href="http://friendfeed.com/e/cdd3df56-5498-4358-8e99-9de8f0a07678/I-m-wondering-how-we-can-make-drupal-easier-for/"&gt;Please post comments there&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/CJuoBcurVDc" height="1" width="1"/&gt;</description>
     <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Sat, 19 Jul 2008 21:51:08 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">61 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-07-19/drupal-adoption-issues-churches</feedburner:origLink></item>
  <item>
    <title>Lifestream Aggregation Issues (or why I'm dropping Twitter from FriendFeed)</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/Huh0SVh8_G0/lifestream-aggregation-issues-or-why-im-dropping-twitter-friendfeed</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-gif"  alt="image/gif icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/aggregated-life.gif" type="image/gif; length=12899"&gt;aggregated-life.gif&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Lifestream aggregation is an issue I've been pondering for quite a while now. I have multiple blogs and web 2.0 services. Twitter, Tumblr, Flickr, Facebook, FriendFeed, YouTube and &lt;a href="http://thegreenbag.com/micah"&gt;the list&lt;/a&gt; goes on. I've been seeking an effective way to combine all of this crud into a single &lt;a href="http://commoncraft.com/rss_plain_english"&gt;RSS feed&lt;/a&gt; so I can share all of it in one place.&lt;/p&gt;
&lt;p&gt;And so I've tried a couple of methods. I made some &lt;a href="http://pipes.yahoo.com/"&gt;Yahoo! Pipes&lt;/a&gt;. I tried rolling everything through &lt;a href="http://tgbdad.tumblr.com/"&gt;my Tumblog&lt;/a&gt;. I tried the feed aggregator in &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; core. And I mostly settled on &lt;a href="http://friendfeed.com/tgbdad"&gt;FriendFeed&lt;/a&gt;, especially since &lt;a href="http://robloach.net/about"&gt;Rob Loach&lt;/a&gt; wrote a sweet &lt;a href="http://drupal.org/project/FriendFeed"&gt;FriendFeed Module for Drupal&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;About the time I committed to go in this direction, a bunch of &lt;a href="https://twitter.com/tgbdad/friends"&gt;my Twitter friends&lt;/a&gt; also started adopting FriendFeed. Some of us were considering it as an alternative to Twitter's steady stream of meltdowns, but I started to wonder whether this was even realistic. As far as I'm concerned, Twitter and FriendFeed fill different niches. FriendFeed seems to works well for letting tweets become threaded conversations, but most of my little clique doesn't use Twitter that way. Our tweets are mostly disposable, and even the conversations we have there are fleeting, and pass quickly.&lt;/p&gt;
&lt;p&gt;Side rant: My only real design issue with Twitter is that you can only send @replies to people, not individual posts, and these replies attach to the last thing a person said. That would be fine for text and API, but it would be nice if, on the web site anyway, a reply link on a post would link the @reply to the selected post.&lt;/p&gt;
&lt;p&gt;So now I'm not only using FriendFeed to aggregate my own web presence, but also to keep track of my friends. Bring in &lt;a href="http://www.standardsforlife.com/virtual-cubicles/"&gt;the daily background chatter&lt;/a&gt; from Twitter, and the feeds get cluttered with stuff I'm already watching directly on Twitter. Add in duplicate posts from services like &lt;a href="http://brightkite.com/"&gt;BrightKite&lt;/a&gt; and &lt;a href="http://ping.fm/"&gt;Ping.fm&lt;/a&gt;, and I'm missing some really good content that my friends are posting via FriendFeed. The only way to catch it all is to click on each friend's page every few days and scroll through it looking for stuff I might have missed.&lt;/p&gt;
&lt;p&gt;I have the same problem on the other end, as the FriendFeed shown here on my blog has become just another regurgitation of my latest tweets. All other aggregated content is getting lost in the shuffle. The only place where I might want it to show is in my FaceBook mini-feed, but if my FaceBook friends really want to follow my Twitter conversations, they would probably come join Twitter.&lt;/p&gt;
&lt;p&gt;So I've made the decision to drop Twitter from my FriendFeed sources. Which means that my FriendFeed will contain content of a different consistency and texture than a passing tweet. That's not to discount the value of the Twitter experience. It's just that for me, Twitter has become part of the daily stream, and things that make it to my FriendFeed might be worth lingering over or even revisiting.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/Huh0SVh8_G0" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-07-18/lifestream-aggregation-issues-or-why-im-dropping-twitter-friendfeed#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Fri, 18 Jul 2008 16:51:46 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">60 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-07-18/lifestream-aggregation-issues-or-why-im-dropping-twitter-friendfeed</feedburner:origLink></item>
  <item>
    <title>Where do we go from here? (A look at Web n.0)</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/yTE9RYj8Lv4/where-do-we-go-from-here</link>
    <description>&lt;p&gt;There's a lot of talk about version numbers and the web these days. It seems that people are getting tired of talking about Web 2.0, and want to move on to new versions. I've started wondering if the whole bit about numbering web versions is keeping us from seeing how short-sighted our vision actually is.&lt;/p&gt;
&lt;p&gt;This post has been simmering in my brain for a long time, and Bob Christenson's Mustardseed Media post, &lt;a href="http://www.mustardseedmedia.com/article/moving-beyond-web"&gt;Moving Beyond the Web&lt;/a&gt;, has kind of spurred me into finishing it. I'm not writing this to disagree with Bob's point of view. I think his predictions about emerging technology are pretty accurate. I'm just borrowing some of his momentum.&lt;/p&gt;
&lt;p&gt;I saw &lt;a href="http://www.readwriteweb.com/archives/there_is_no_web_30_there_is_no_web_20.php"&gt;an interesting blog post&lt;/a&gt; back in April from ReadWriteWeb's coverage of the Web 2.0 Expo that said:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I am forced to one conclusion: Tim O'Reilly, the man credited with popularizing the term Web 2.0, doesn't actually believe it exists. For O'Reilly, there is just the web right now. 1.0, 2.0, 3.0 -- it's all the same ever-changing web.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;In effect, is that the web always has been and will always be about presenting information.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;In other words, the versioning of the web is silly. Web 1.0, 2.0, or 3.0 is all really just whatever cool new thing we're using the web to accomplish &lt;em&gt;right now&lt;/em&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The author does concede that these version labels do sometimes help to discuss and explain context, so they're not completely unhelpful terms. If so, then let's say for a minute that the Web 1.0 boom was about the size of the web, but the Web 2.0 boom is about its capabilities. If that's the case, then I don't think we've even scratched the surface of Web 2.0.&lt;/p&gt;
&lt;p&gt;The BBC &lt;a href="http://news.bbc.co.uk/2/hi/technology/7371660.stm"&gt;recently quoted web-inventor Sir Tim Berners-Lee&lt;/a&gt; as saying the web is "still in its infancy", and that the future web will put "all the data in the world" at the fingertips of every user. I must admit, that sounds like Web 3.0 to me. But is it really, or are we finally starting to fulfill the original idea?&lt;/p&gt;
&lt;p&gt;In 1960, Ted Nelson got the idea for hypertext. Out of this vision grew &lt;a href="http://www.xanadu.net/xuhistory.html"&gt;Project Xanadu&lt;/a&gt; and a whole series of concepts that extend far beyond today's web. This includes &lt;a href="http://www.xanadu.com/tco/index.html"&gt;a solution for the copyright issue&lt;/a&gt;, which I think can be oversimplified by saying that content would always be served from its original location, and would never have to be duplicated or re-broadcast. (That would have avoided the whole &lt;a href="http://news.google.com/news?q=YouTube+Viacom"&gt;YouTube/Viacom debacle&lt;/a&gt;, wouldn't it.)&lt;/p&gt;
&lt;p&gt;Sadly, &lt;a href="http://en.wikipedia.org/wiki/Kubla_Khan"&gt;Xanadu was an opium-induced dream&lt;/a&gt; that, once lost, could never be recaptured. Project Xanadu's relative obscurity may have more to do with the shortcomings of people than technology. Just look at the failure of both web creators and browser manufacturers to adhere to existing standards, and then consider the level of standards that something like Xanadu would require.&lt;/p&gt;
&lt;p&gt;Various elements of &lt;a href="http://en.wikipedia.org/wiki/Project_Xanadu"&gt;the original 17 rules of Project Xanadu&lt;/a&gt; are beginning to emerge. For example, projects like &lt;a href="http://openid.net/what/"&gt;OpenID&lt;/a&gt; and &lt;a href="http://oauth.net/"&gt;oAuth&lt;/a&gt; strive to fill the rule that "every user is uniquely and securely identified." We're also able to do a limited amount of data sharing through things like embedding YouTube videos and Flickr photos into blogs.&lt;/p&gt;
&lt;p&gt;The part I find most interesting is the way we're moving towards Xanadu's global data sharing mechanism by way of &lt;a href="http://www.google.com/search?q=semantic+web"&gt;the semantic web&lt;/a&gt;. The practicality of the semantic web &lt;a href="http://en.wikipedia.org/wiki/Metacrap"&gt;has come into question&lt;/a&gt;, but there are people working to make it a reality.&lt;/p&gt;
&lt;p&gt;I'm excited that the &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; community is part of that movement. At DrupalCon Boston earlier this year, &lt;a href="http://boston2008.drupalcon.org/dries-buytaert-0"&gt;Dries Buytaert&lt;/a&gt; announced &lt;a href="http://blogs.talis.com/n2/archives/37"&gt;the RDF initiative for Drupal 7&lt;/a&gt;. He defined Web 3.0 in terms of interoperability, where RDF can turn the entire web into a database. If, aside from things mentioned above, Web 2.0 is/was about bringing people together into communities, then Web 3.0 may very well be about connecting &lt;em&gt;everything&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I've gotten geeked up when I've pulled data from two different database systems together to generate a web page. Imagine being able to generate a page from a variety of other web data sources world-wide, because the information is tied together by design. Contrast that with things we have to do today, like &lt;a href="http://www.nicklewis.org/node/962"&gt;web scraping&lt;/a&gt;, and the world is going to be a much more flexible place to work. I can't even imagine the things we'd be able to do.&lt;/p&gt;
&lt;p&gt;So call the versions what you will. But buckle up, it's going to be an exciting ride.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Additional References:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blogs.talis.com/nodalities/2008/03/the_best_is_yet_to_come.php"&gt;Nodalities: The Best is Yet to Come&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.wired.com/wired/archive/3.06/xanadu.html"&gt;Wired: The Curse of Xanadu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://hyperworlds.org/"&gt;Hyperworlds - Web Replacement Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Gopher_(protocol)"&gt;Wikipedia - Gopher Protocol&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/yTE9RYj8Lv4" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-07-03/where-do-we-go-from-here#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Thu, 03 Jul 2008 20:06:05 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">58 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-07-03/where-do-we-go-from-here</feedburner:origLink></item>
  <item>
    <title>HANK Admin Web Site Screencast</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/-aseund97lE/hank-admin-web-site-screencast</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-png"  alt="image/png icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/hank-admin-screen-cast.png" type="image/png; length=132188"&gt;hank-admin-screen-cast.png&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I just &lt;a href="https://dvc.hfcc.net/about/hank-admin.htm"&gt;posted a video&lt;/a&gt; over on the &lt;a href="https://dvc.hfcc.net/"&gt;HFCC Help Desk Web Site&lt;/a&gt; that describes the &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt;-powered web site that we use to manage the college's Student and Financial Management System, lovingly dubbed "HANK" or HFCC's Automated Network of Knowledge. (Yeah, it's weak. Somebody actually suggested an acrostic for EDSEL. My own suggestion of SCMODS never stood a chance...)&lt;/p&gt;
&lt;p&gt;The HANK Admin web site is an internal web site centered around Drupal's &lt;a href="http://drupal.org/project/project"&gt;Project&lt;/a&gt; and &lt;a href="http://drupal.org/project/project_issue"&gt;Project Issue Tracking&lt;/a&gt; modules. It also features LDAP Integration for authentication, Forums and navigable Book Pages for user documentation.&lt;/p&gt;
&lt;p&gt;View the video: &lt;a href="https://dvc.hfcc.net/about/hank-admin.htm" title="https://dvc.hfcc.net/about/hank-admin.htm"&gt;https://dvc.hfcc.net/about/hank-admin.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This was my first serious attempt at screencasting. If I had more time, I would start over and record it again to fix some minor issues, but overall, I'm satisfied with the quality.&lt;/p&gt;
&lt;p&gt;For the primary capture, I used &lt;a href="http://camstudio.org/"&gt;CamStudio&lt;/a&gt;. It works pretty well, but doesn't like writing audio to the hard drive at the same time that Firefox is working, so there are a couple of burps and beeps when I forgot to stop talking while clicking on web pages, and the audio track drifted from the video over time. I captured some additional screens on a second pass, and then pulled the whole mess into Adobe Premiere to straighten it out. Premiere did not like my 1032x752 media files at all! Eventually I figured it all out, and used &lt;a href="http://ffmpeg.mplayerhq.hu/"&gt;ffmpeg&lt;/a&gt; to spit out the final results. I also discovered the easy-to-use &lt;a href="http://www.jeroenwijering.com/?item=JW_FLV_Media_Player"&gt;JW FLV Media Player&lt;/a&gt; along the way.&lt;/p&gt;
&lt;p&gt;Because the Help Desk site is not Drupal (yet!) I posted a link directing viewers to this blog entry for comments and questions.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/-aseund97lE" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-05-07/hank-admin-web-site-screencast#comments</comments>
 <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Wed, 07 May 2008 18:08:18 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">57 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-05-07/hank-admin-web-site-screencast</feedburner:origLink></item>
  <item>
    <title>Drupal 6 Released</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/KOdlimv9yXg/drupal-6-released</link>
    <description>&lt;p&gt;I checked, and many of the contributed modules that I use have not been ported to Drupal 6. This means that I cannot upgrade without losing functionality. Before beginning a new site, you'll need to consider which modules are available and make your decision based on that.&lt;/p&gt;
&lt;p&gt;I am excited to start looking at Drupal 6, but my work load prohibits that I spend much time on it at the moment. Perhaps when I finish my current Drupal installation series I'll take a closer look at it.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/KOdlimv9yXg" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2008-02-15/drupal-6-released#comments</comments>
 <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Fri, 15 Feb 2008 21:57:22 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">53 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2008-02-15/drupal-6-released</feedburner:origLink></item>
  <item>
    <title>My First Linux P2V</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/9OhVHps6hOY/my-first-linux-p2v</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-gif"  alt="image/gif icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/fc2orc-vmware.gif" type="image/gif; length=36484"&gt;fc2orc-vmware.gif&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I just completed my first physical to virtual (p2v) migration of a Linux server. I used cpio, ssh and a rescue CD to migrate an aging server to VMware. Here's how I did it. (I'll try to leave out the steps that didn't work!)&lt;/p&gt;
&lt;p&gt;We recently identified several servers that could be migrated to &lt;a href="http://www.vmware.com/products/server"&gt;VMware Server&lt;/a&gt;, and the first Linux box to be moved is an old Fedora Core 2 box that runs as an instructional Oracle database server. According to the logs, it hasn't been used for student work since last May, so we may be retiring it, anyway.&lt;/p&gt;
&lt;p&gt;I've found a number of documents on Linux p2v. The one that helped me the most was from &lt;a href="http://www.windley.com/archives/2007/08/p2v_how_to_make_a_physical_linux_box_into_a_virtual_machine.shtml"&gt;Phil Windley's Technometria&lt;/a&gt;. That one told me what I'd need to do to make my new VM boot, and those instructions helped me decide how to proceed. I also relied heavily on the &lt;a href="http://www.onlamp.com/pub/a/bsd/2002/07/11/FreeBSD_Basics.html"&gt;Understanding CPIO&lt;/a&gt; article from ONLamp.com.&lt;/p&gt;
&lt;p&gt;I can't recall when or why I decided I was going to use cpio when I tried this, but it worked out great. Most of the instructions I've found for migrating Linux boxes involve booting the source machine from CD and doing a cold migration. For a variety of reasons, I wanted to try this as a hot clone.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Copying Data from the Old Server&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I shut down the Oracle database and all unnecessary services while copying from my source machine. The original server had only root and boot file systems. I wanted to split the Oracle install into different backups from the rest of root, so I ended up creating four archives:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;find /boot -mount -depth | sed "s|^/||g"| cpio -ova -H crc| gzip | ssh user@host 'cat&amp;gt;tmp/foo/boot.cpio.gz'&lt;br /&gt;
find / -mount -depth |egrep -v "^/u0"| sed "s|^/||g"| cpio -ova -H crc| gzip | ssh user@host 'cat&amp;gt;tmp/foo/root.cpio.gz'&lt;br /&gt;
find /u01 -mount -depth | sed "s|^/||g"| cpio -ova -H crc| gzip | ssh user@host 'cat&amp;gt;tmp/foo/u01.cpio.gz'&lt;br /&gt;
find /u02 -mount -depth | sed "s|^/||g"| cpio -ova -H crc| gzip | ssh user@host 'cat&amp;gt;tmp/foo/u02.cpio.gz'&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Note that the egrep command is used to eliminate the Oracle directories /u01 and /u02 from the root copy. This would not normally be needed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Preparing the Target VM&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I created a new VM, and used the Fedora Core 2 Rescue CD ISO file as my CD-ROM drive. I booted the VM from the CD image and dropped to a prompt. I created partitions for root, boot and swap, then created file systems on those. This would probably be a little tricky if I tried to use LVM, but the old box was static partitions, and that should work well enough in this case.&lt;/p&gt;
&lt;p&gt;Next, I mounted those file systems and changed directory, then unpacked my cpio archives across the network.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ mkdir /mnt/sysimage&lt;br /&gt;
$ mount /dev/sda3 /mnt/sysimage&lt;br /&gt;
$ mkdir /mnt/sysimage/boot&lt;br /&gt;
$ mount /dev/sda1 /mnt/sysimage/boot&lt;br /&gt;
$ cd /mnt/sysimage&lt;br /&gt;
$ ssh user@host 'zcat tmp/foo/root.cpio.gz'|cpio -ivdm&lt;br /&gt;
$ ssh user@host 'zcat tmp/foo/boot.cpio.gz'|cpio -ivdm&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I didn't bring over my /u01 and /u02 images yet, because I wanted to make sure the machine was running first. When I did, I realized that I should transfer the data and &lt;em&gt;then&lt;/em&gt; decompress, so I did those a little differently:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ ssh user@host 'cat tmp/foo/root.cpio.gz'|zcat|cpio -ivdm&lt;br /&gt;
$ ssh user@host 'cat tmp/foo/boot.cpio.gz'|zcat|cpio -ivdm&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Making the VM Bootable&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I probably should have rebooted at this point and let the rescue CD find my installed OS. That may have gone better. I think I also had problems because I didn't have the original FC2 kernel on the box any more. In any event, I needed to fix some things, and a lot of it was by trial and error.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chroot /mnt/sysimage&lt;br /&gt;
kudzu&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This removed a bunch of drivers for hardware that no longer existed, but didn't help find the new ones I needed. I finally just stuffed the ones I needed into /etc/modprobe.conf:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;alias eth0 pcnet32&lt;br /&gt;
alias scsi_hostadapter mptbase&lt;br /&gt;
alias scsi_hostadapter1 mptscsih&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I noticed that the SCSI drivers tend to be different in later versions of Fedora. I figured these out from modprobe.&lt;/p&gt;
&lt;p&gt;I edited /etc/fstab and /etc/mtab to match the rearranging I'd done in my partitions, and also had to edit /etc/grub.conf because I'd moved my /boot partition from /dev/sda3 to /dev/sda1. If you're coming from IDE and now using SCSI, you'll have to change hda to sda everywhere, too.&lt;/p&gt;
&lt;p&gt;Finally I was ready to make my new initial RAM disk and install grub.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ mv /boot/initrd-2.6.10-2.3.legacy_FC2.img /boot/initrd-2.6.10-2.3.legacy_FC2.old&lt;br /&gt;
mkinitrd -v /boot/initrd-2.6.10-2.3.legacy_FC2.img 2.6.10-2.3.legacy_FC2&lt;br /&gt;
grub-install /dev/sda&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If all goes well, that will pretty much do it for making the machine bootable. Try it by pressing Ctrl+D twice. My VM didn't actually boot until about the fourth try, but I finally figured out everything I'd done wrong, so just don't give up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Finishing Up&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Next up, I had to use netconfig to configure my network card because the original settings had been eaten by kudzu. After that I simply installed the VMwareTools rpm and installed kernel-source using yum. Then I ran vmware-config-tools.pl to build and configure all of the driver and daemon pieces. Another reboot to make sure that everything is ok, and it was.&lt;/p&gt;
&lt;p&gt;So now this VM is ready to move to the correct subnet and I can restore the Oracle backups, and I should be in business!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/9OhVHps6hOY" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2007_11_09/my-first-linux-p2v#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Fri, 09 Nov 2007 21:29:24 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">36 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2007_11_09/my-first-linux-p2v</feedburner:origLink></item>
  <item>
    <title>Simple Podcast Feeds with PHP and the getID3 Library</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/OBDyEdepH9I/simple-podcast-feeds-php-and-getid3-library</link>
    <description>&lt;p&gt;I may need to come back and write a better introduction to this, but I thought I'd share my relatively simple podcast template.&lt;/p&gt;
&lt;p&gt;There are a number of really good ways to deliver podcasts, but a very simple way is to write a simple directory index using php and the &lt;a href="http://getid3.sourceforge.net"&gt;getID3&lt;/a&gt; library. &lt;/p&gt;
&lt;p&gt;This template is based on the simple demo script, but generates an RSS feed instead of an HTML page. It reads all of the publishing information - title, author, and description - for each item directly from the ID3 tags in the mp3 files themselves. This script can be made to run faster by enabling mysql caching.&lt;/p&gt;
&lt;p&gt;To make this work, you'll need to download and install the getID3 library on your web server, and fix all of the paths to point to the correct stuff.&lt;/p&gt;
&lt;p&gt;I've used this script on both Linux/Apache and Windows/IIS and it works fine on either platform. Since most Windows hosting packages now support PHP, this could be a very simple way to add a podcast feed to your existing static web site.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;?php&lt;br /&gt;
/////////////////////////////////////////////////////////////////&lt;br /&gt;
/// getID3() by James Heinrich                //&lt;br /&gt;
//  available at &lt;a href="http://getid3.sourceforge.net" title="http://getid3.sourceforge.net"&gt;http://getid3.sourceforge.net&lt;/a&gt;                 //&lt;br /&gt;
//            or &lt;a href="http://www.getid3.org" title="http://www.getid3.org"&gt;http://www.getid3.org&lt;/a&gt;                         //&lt;br /&gt;
/////////////////////////////////////////////////////////////////&lt;br /&gt;
//                                                             //&lt;br /&gt;
/// podcast.php by Micah Webner                                //&lt;br /&gt;
//                                                             //&lt;br /&gt;
// Based on /demo/demo.simple.php - part of getID3()           //&lt;br /&gt;
// Sample script for scanning a single directory and           //&lt;br /&gt;
// displaying a few pieces of information for each file        //&lt;br /&gt;
//                                                            ///&lt;br /&gt;
/////////////////////////////////////////////////////////////////&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;header('Content-Type: text/xml; charset=UTF-8');&lt;br /&gt;
header('Cache-Control: no-store, no-cache, must-revalidate');&lt;br /&gt;
header('Cache-Control: post-check=0, pre-check=0');&lt;br /&gt;
header('Pragma: no-cache');&lt;br /&gt;
header('Expires: Sun, 19 Nov 1978 05:00:00 GMT');&lt;/p&gt;
&lt;p&gt;$now=date('r');&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/p&gt;
&lt;p&gt;   My Podcast&lt;br /&gt;
   My Description.&lt;br /&gt;
   Copyright 200x by me&lt;br /&gt;
   My Name &lt;/p&gt;
&lt;p&gt;     Owner Name&lt;br /&gt;
     &lt;a href="mailto:user@example.com"&gt;user@example.com&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;  clean&lt;br /&gt;
  &lt;a href="http://my.site/" title="http://my.site/"&gt;http://my.site/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;   &amp;lt;?php echo $now; ?&amp;gt;&lt;br /&gt;
   480&lt;br /&gt;
  en-us&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// include getID3() library (can be in a different directory if full path is specified)&lt;br /&gt;
require_once('/path/to/getid3/getid3/getid3.php');&lt;br /&gt;
// Initialize getID3 engine&lt;br /&gt;
$getID3 = new getID3;&lt;/p&gt;
&lt;p&gt;getid3_lib::IncludeDependency(GETID3_INCLUDEPATH.'extension.cache.mysql.php', __FILE__, true);&lt;/p&gt;
&lt;p&gt;// database not configured, sorry...&lt;br /&gt;
// $getID3 = new getID3_cached_mysql('localhost', 'dbname', 'login', 'password');&lt;/p&gt;
&lt;p&gt;$DirectoryToScan = '.'; // change to whatever directory you want to scan&lt;br /&gt;
$dir = opendir($DirectoryToScan);&lt;br /&gt;
while (($file = readdir($dir)) !== false) {&lt;br /&gt;
    if (strpos($file,".mp3")) $files[] = $file;&lt;br /&gt;
}&lt;br /&gt;
closedir($dir);&lt;/p&gt;
&lt;p&gt;rsort($files,SORT_STRING);&lt;/p&gt;
&lt;p&gt;foreach ($files as $file) {&lt;br /&gt;
  $FullFileName = realpath($DirectoryToScan.'/'.$file);&lt;br /&gt;
  if (is_file($FullFileName)) {&lt;br /&gt;
    set_time_limit(30);&lt;br /&gt;
    $ThisFileInfo = $getID3-&amp;gt;analyze($FullFileName);&lt;br /&gt;
    getid3_lib::CopyTagsToComments($ThisFileInfo); ?&amp;gt;&lt;/p&gt;
&lt;p&gt;     &amp;lt;?php echo (!empty($ThisFileInfo['comments_html']['title']) ? implode(' ', $ThisFileInfo['comments_html']['title']) : $ThisFileInfo['filename'] ); ?&amp;gt;&lt;br /&gt;
     &amp;lt;? echo (!empty($ThisFileInfo['comments_html']['artist']) ? implode(' ', $ThisFileInfo['comments_html']['artist']) : 'unknown'); ?&amp;gt;&lt;br /&gt;
     &amp;lt;?php echo (!empty($ThisFileInfo['comments_html']['artist']) ? implode(' ', $ThisFileInfo['comments_html']['artist']) : 'unknown'); ?&amp;gt;&lt;br /&gt;
     &amp;lt;?php echo (!empty($ThisFileInfo['comments_html']['comments']) ? implode(' ', $ThisFileInfo['comments_html']['comments']) : ''); ?&amp;gt;&lt;br /&gt;
     &amp;lt;?php echo date("D, j M Y H:i:s -0400", mktime(0,0,0,substr($file,2,2),substr($file,4,2),substr($file,0,2),-1)); ?&amp;gt;&lt;br /&gt;
    " length="&amp;lt;?php echo $ThisFileInfo['filesize']; ?&amp;gt;" type="audio/mpeg" /&amp;gt;&lt;br /&gt;
     &lt;a href="http://my.site/path/to/&amp;lt;?php" title="http://my.site/path/to/&amp;lt;?php"&gt;http://my.site/path/to/&amp;lt;?php&lt;/a&gt; echo $file; ?&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;?php     }&lt;br /&gt;
}?&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/OBDyEdepH9I" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/front-house/simple-podcast-feeds-php-and-getid3-library#comments</comments>
 <category domain="http://chacadwa.com/articles/techarts">Tech Arts</category>
 <pubDate>Wed, 24 Oct 2007 17:09:57 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">34 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/front-house/simple-podcast-feeds-php-and-getid3-library</feedburner:origLink></item>
  <item>
    <title>Using Matrix Outputs for Recording and Other Distribution</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/7OCA6aBZIgE/using-matrix-outputs-recording-and-other-distribution</link>
    <description>&lt;p&gt;When we first moved into our current sanctuary in 2001, we set up a wild assortment of connections to feed cassette and CD recording, FM hearing assist, the 70V system for the cry room, and so on. This short-lived arrangement became very cumbersome until we found a good solution that included sensible use of the matrix outputs on our &lt;a href="http://www.allen-heath.com/"&gt;Allen &amp;amp; Heath&lt;/a&gt; GL4000 console and the addition of a Rane SM 26B splitter mixer.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://chacadwa.com/sites/chacadwa.com/files/matrix-distribution.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Although our main speaker system is mono, we mix live music in stereo, which gets panned between our Matrix C and D outputs. Those, in turn, go into the dbx&amp;reg; 266xl compressor that was delivered with the system. The compressor channels are stereo-linked to keep things balanced.&lt;/p&gt;
&lt;p&gt;The compressor outputs are fed to the Rane splitter, which in turn feeds stereo or mono mixes to a variety of outputs. This mixer is one of the best pieces of gear I've ever used, despite the fact that we purchased it used, and the volume pot on channel 5 is bad. (It only works when turned all the way up.) That one flaw explains how the rest of the system was tuned.&lt;/p&gt;
&lt;p&gt;To tune the system I set levels until the FM Hearing Assist was on the verge of shredding the ear piece when the receiver is turned all the way up. From that setting, I set the tape outputs to where the cassette recording levels were peaking just a hair above 0dB. Next I set levels for CD recording and all of the other outputs. When the operator adjusts the tape record levels using the output gain on the compressor, everything else stays at about the right level, too. Generally, it's at 0dB for music and around +10dB for speaking. We did have to tweak until levels were consistently right for all systems, but now it is very easy to manage all of these different outputs with one control.&lt;/p&gt;
&lt;div class="field field-type-nodereference field-field-related-posts"&gt;
  &lt;ul class="menu"&gt;
            &lt;li class="leaf odd"&gt;
          &lt;a href="/foh/lametwice"&gt;Converting Processed Sermon Files to MP3&lt;/a&gt;        &lt;/li&gt;
              &lt;li class="leaf even"&gt;
          &lt;a href="/foh/ripping-sermons-with-cdex"&gt;Converting Sermons from CD to WAV for Audacity Processing&lt;/a&gt;        &lt;/li&gt;
              &lt;li class="leaf odd"&gt;
          &lt;a href="/foh/sermon-processing"&gt;Preparing Sermons for Podcast and Radio&lt;/a&gt;        &lt;/li&gt;
        &lt;/ul&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/7OCA6aBZIgE" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/foh/using-matrix-outputs-recording-and-other-distribution#comments</comments>
 <category domain="http://chacadwa.com/articles/techarts">Tech Arts</category>
 <pubDate>Thu, 19 Jul 2007 16:02:10 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">32 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/foh/using-matrix-outputs-recording-and-other-distribution</feedburner:origLink></item>
  <item>
    <title>Another One of Those Microsoft Days</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/U4D4Y39Crys/another-one-those-microsoft-days</link>
    <description>&lt;p&gt;Okay, this is a silly rant, but &lt;a href="http://jpowell.blogs.com/"&gt;Jason Powell&lt;/a&gt; said on the &lt;a href="http://www.talkshoe.com/talkshoe/web/talkCast.jsp?masterId=6983"&gt;Church IT Discussion Podcast&lt;/a&gt; to just do it. Blog about &lt;em&gt;something&lt;/em&gt;, at least once a week. So here it is...&lt;/p&gt;
&lt;p&gt;Last night was another one of those Microsoft days. A friend of mine got one of those cool Treo 700 phones that would drive me crazy, and needed me to come help him get it talking to his Exchange server.&lt;/p&gt;
&lt;p&gt;When he had tried to set it up himself, he'd encountered an SSL certificate problem (which in part turned out to be an expired self-signed cert on the Linux server that's sitting between OWA and the Internet), but the first thing I saw in his little booklet was that we needed to upgrade his Exchange server to Service Pack 2.&lt;/p&gt;
&lt;p&gt;Going through the correct procedure meant that we should first get current service packs for Windows Small Business Server installed, and that's where the nightmare began. WindowsUpdate was offering Service Pack 2, but the download size was pretty horrific, so I downloaded it manually and did other tasks while I was waiting around. Once it was there, SP2 failed to install. I fiddled and searched and fiddled some more, and then started downloading the pieces of Service Pack 1, which had not been applied either.&lt;/p&gt;
&lt;p&gt;Now, if you've never had the joy of installing Service Pack 1 for Small Business Server, you must know that it's a joy. First you must download and install SP1 for Server 2003. This is a huge (250MB) download that breaks all of the administration scripts for SBS. So you also have to download fixes for SharePoint and then SP1 for SBS, which is another 125-150MB. The instructions also say you need to download the server-deployable version of Service Pack 2 for Windows XP, but I ignored that because all of his XP workstations already have SP2 installed. (Stop snickering, I'll get back to this.) This was all on Monday. I had to come back last night to try the installations again.&lt;/p&gt;
&lt;p&gt;The short version is that SP1 failed with about the same problem that SP2 was giving me. And the cool part was that both installations had to run for about five minutes before they got to the point where they bombed. All roads lead to &lt;a href="http://support.microsoft.com/kb/822798"&gt;KB822798&lt;/a&gt;, but even so, I spent several hours dinking around with it until I finally fired all of the guns at once (performing essentially all of the available steps in one pass) and got the service pack to install.&lt;/p&gt;
&lt;p&gt;So now I'm finally ready to install SP1 for SBS. But will it let me install? No. Having the XP service pack (which I don't even need) is &lt;em&gt;required&lt;/em&gt;. Gaaahhhh. Okay, read the release notes for Exchange SP2 (I'd already installed Exchange SP1 a long time ago.) Alright, it looks like all I need is a couple of small hotfixes and we're good to go. One of the required hotfixes no longer exists (I assume it's now in Server 2003 SP2) but hey, I'm not going to enable SenderID, so nevermind. (Are you still with me on my fun little rant?)&lt;/p&gt;
&lt;p&gt;So after all that, Exchange SP2 goes without a hitch and we can start fiddling with his phone. As I mentioned, this involved renewing a self-signed SSL certificate on the Linux box that's acting as an accelerator, and then finally, we get the phone to sync over the USB cable.&lt;/p&gt;
&lt;p&gt;So now the moment of truth comes. We unplug the phone and I send him an email from the conference room to his regular inbox. While we're trying to figure out how to set up a wireless sync, the message arrives. He's got Outlook open on his desktop, so of course we see the message there, too. Okay, it must be already working because of his wireless plan, and other than getting everything to the right patch levels, we really haven't done anything special to make this work, so let's send another test message. Okay, that worked too.&lt;/p&gt;
&lt;p&gt;Then an email from someone else appeared on his phone, but not in Outlook. What? Wait a minute! What's going on here? And then it did appear in Outlook about a minute later. Oh wow, that's cool!&lt;/p&gt;
&lt;p&gt;And that's what drives me crazy about Microsoft, right there. Despite all of the quirks, all of the administrative hassles and headaches, all of the security bugs, all of the everything that we all love to hate about Microsoft. They get the features right. And when stuff works, it works very well, with very little setup and detail for the end user. Just stick this CD in and install some software, plug your phone into the computer and give me the login info from your mail server and away it goes.&lt;/p&gt;
&lt;p&gt;If Microsoft got the features wrong, we could all walk away in disgust and that would be the end of it. But they keep hooking people in with really cool features that actually make life easier for people (once some IT guy comes in and gets you over the hurdles) and so you can't really get away from them.&lt;/p&gt;
&lt;p&gt;Take my setup for example. I run Windows out of necessity, but have merged Linux and Cygwin into my work flow, use Firefox for my browser, eschewed Media Player and Zune and embraced iTunes and my iPod, use Pidgin for IM and IRC. But doggone it I can't get away from Lookout Express for email. Nothing else comes close feature-wise to the way I work against multiple IMAP4 servers with a zillion folders. Sure, it's cheesy, and generates such awful HTML that I often compose in Dreamweaver (or &lt;a href="http://sourceforge.net/projects/joe-editor/"&gt;joe&lt;/a&gt;) and then paste as source into OE, but nothing else lets me manipulate and store messages the way I want to.&lt;/p&gt;
&lt;p&gt;So Microsoft, please do me a favor. Either improve your software (from an administrator's point of view) or stop having good features. The current combination is hurting my head.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/U4D4Y39Crys" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2007-06-28/another-one-those-microsoft-days#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Thu, 28 Jun 2007 17:17:21 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">22 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2007-06-28/another-one-those-microsoft-days</feedburner:origLink></item>
  <item>
    <title>Instant Messaging - Friend or Foe?</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/XmCtwLZ01SI/instant-messaging-friend-or-foe</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-png"  alt="image/png icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/pidgin-buddy-list.png" type="image/png; length=53483"&gt;pidgin-buddy-list.png&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I was recently asked about installing instant messaging clients to allow young teens and pre-teens to join the online chat community. The main question was whether or not the client software was safe. This entry is my response to the question, because I don't think this question holds a simple answer. In today's Internet culture, safety has many different meanings. Because there are unpleasant people who would like to exploit vulnerabilities in our software, there are certain things we need to do to keep our computers safe. However, we also need to remember that there are things that we need to do to keep ourselves and our children safe from real-life threats that can be introduced or expanded by our Internet activities. And finally, there are the intangible threats to our social development and well-being. Like, for example, I really should be in bed so I can get up well in the morning and not be a grump at my daughter's last soccer game tomorrow morning. Then again, this answer has already been long-delayed, and I probably won't finish this post tonight. &lt;em&gt;(note: I didn't. Post finished three days later.)&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Personal Safety&lt;/h3&gt;
&lt;p&gt;I want to talk about the real-life risks first. It's easy to get our perspectives skewed in this area. Bruce Schneier recenly blogged about &lt;a href="http://www.schneier.com/blog/archives/2007/05/rare_risk_and_o_1.html"&gt;Rare Risk and Reaction&lt;/a&gt; to remind us of how we sometimes (with the help of the press, of course) tend to overreact to isolated incidents. He frequently links to &lt;a href="http://www.post-gazette.com/pg/07093/774604-51.stm"&gt;articles demonstrating that we usually get the risks wrong&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The fact is that most children are attacked by people they know. The thing to remember in this context is that instant messaging can be a way for potential perpetrators to get to know children. The sheriff's offices in Southeast Michigan are doing a brisk business arresting adults who though they were meeting up with 14 year olds they'd found on the Internet, when in fact they had been communicating with law enforcement officers. However, it would be foolhardy to believe that they caught them all.&lt;/p&gt;
&lt;p&gt;So does that mean that we should keep our children off of the Internet? Of course not. But we must be aware of the risks, and must also do our best to make our children aware of the risks.&lt;/p&gt;
&lt;p&gt;I'm going to jump aside for a minute and mention what I like about &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt;. The Facebook site is structured to enable connections with people you know, or have reason to know through association, rather than just having random people come up and try to "friend" you. It's not foolproof, I'm sure, but the fact that the emphasis is on people you know in real life is a good thing.&lt;/p&gt;
&lt;p&gt;The Internet, and instant messaging, is not really a safe place for underage people to meet new people. It's too easy for anyone to be pretending. Heck, it's hard enough to figure out with people you do know. (If you're not familiar with it, check out &lt;a href="http://www.youtube.com/watch?v=im5fbH6wee8"&gt;Eleventyseven's song, myspace&lt;/a&gt;.) I have it on good authority that one fine upstanding teen I know had, at one point, developed an entirely new online persona. I don't know any of the details. I'm not surprised that he's smart enough to do it, but I was a little surprised that he'd actually done it.&lt;/p&gt;
&lt;p&gt;So parents need to monitor their kids' online activities and relationships. And they need to talk to their kids about not meeting people online, and definitely not to make arrangements to meet those people in real life. I found some really good articles about this a couple of years ago, and emailed the links out at the time. While the Register article kinda pokes fun at the quality of the attempt, Microsoft has posted some information designed to help parents understand the online language kids use to hide their activities. The first MSNBC article tells of a 14-year-old girl who had an online affair with a 35-year-old man right under her mother's nose, and a twelve-year-old with several adult online personas who carried on an elaborate charade for three years. Not really pleasant articles, but probably something most parents should read. The last two links provide additional resources.&lt;/p&gt;
&lt;p&gt;L33tsp34k for the Luddite Classes&lt;br /&gt;
&lt;a href="http://www.theregister.co.uk/2005/02/18/l33tsp34k_for_parents/" title="http://www.theregister.co.uk/2005/02/18/l33tsp34k_for_parents/"&gt;http://www.theregister.co.uk/2005/02/18/l33tsp34k_for_parents/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MSNBC - Teens' online lingo leaves parents baffled&lt;br /&gt;
&lt;a href="http://www.msnbc.msn.com/id/6928800/" title="http://www.msnbc.msn.com/id/6928800/"&gt;http://www.msnbc.msn.com/id/6928800/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MSNBC - What you don't know can hurt kids&lt;br /&gt;
&lt;a href="http://www.msnbc.msn.com/id/3078811/" title="http://www.msnbc.msn.com/id/3078811/"&gt;http://www.msnbc.msn.com/id/3078811/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A parent's primer to computer slang&lt;br /&gt;
&lt;a href="http://www.microsoft.com/athome/security/children/kidtalk.mspx" title="http://www.microsoft.com/athome/security/children/kidtalk.mspx"&gt;http://www.microsoft.com/athome/security/children/kidtalk.mspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Wired Safety&lt;br /&gt;
&lt;a href="http://www.wiredsafety.org/" title="http://www.wiredsafety.org/"&gt;http://www.wiredsafety.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Chat Translator&lt;br /&gt;
&lt;a href="http://www.teenangels.org/" title="http://www.teenangels.org/"&gt;http://www.teenangels.org/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Messaging Software and Computer Safety&lt;/h3&gt;
&lt;p&gt;While I'm not completely aware of all of the details, I know that there are some security risks involved with instant messaging and IRC (Internet Relay Chat) clients. Most IM and chat clients allow users to send files to each other, and this creates the opportunity to send viruses. Most of these should be stopped by having current antivirus on your machine and by using wise setups for file transfer within IM. For example, on AIM and GoogleTalk, I would set it to make the user confirm before friends send files, and don't accept files from strangers at all.&lt;/p&gt;
&lt;p&gt;There are also some viruses and other malware out there that will do buddy list poisoning and other shenanigans, I think even stealing buddy list content so they can spread easier.&lt;/p&gt;
&lt;p&gt;Trust comes in different levels. Get to know your friends' data habits. Trusting someone as a friend and possibly even close confidant  does not automatically make them trustworthy when it comes to Internet security. I used to walk to school every morning with one of my best friends. Every day, he could not find his shoes when it was time to leave. He's a great guy (and a doctor now) but if we had Internet access back then, I probably wouldn't have trusted him to set strong passwords or to check files thoroughly before forwarding them. That's where you have to be wary about files being transferred over email, or over IM, or direct connect on IRC.&lt;/p&gt;
&lt;h3&gt;Selecting Software and Service Providers&lt;/h3&gt;
&lt;p&gt;So, what instant messaging service should you use, and what is this IRC stuff I keep mentioning? I'll take the latter first.&lt;/p&gt;
&lt;p&gt;IRC is Internet Relay Chat. It is older than many other services on the Internet, including IM and the web. IRC is less used for personal one-to-one chatting and more for a group setting. There are several public server networks out there, and it is not that hard to set up a private or semi-private server, either. IRC is not as popular as it once was. It's probably used more by geeks (myself included) and is often used as a communications method for viruses, which makes it somewhat suspect to many network administrators.&lt;/p&gt;
&lt;p&gt;Many good IRC clients exist in the Linux world. There are a couple in the Windows world, including mIRC, which I've never really used. One of the best was probably &lt;a href="http://www.google.com/search?q=microsoft+comic+chat"&gt;Microsoft Comic Chat&lt;/a&gt;, though it probably wasn't really ever accepted by "true" IRC users. Windows users can now use IRC via some of the multipurpose clients I'll mention below.&lt;/p&gt;
&lt;p&gt;When AOL came on the scene in the 90's, they offered instant messaging as part of their service. (As did most of the other big dialup services that slightly predated the Internet boom.) Once the Internet boom was in full swing, AOL split their instant messaging out to  form AOL Instant Messenger, or &lt;a href="http://www.aim.com/"&gt;AIM&lt;/a&gt;. From what I can tell, &lt;a href="http://en.wikipedia.org/wiki/ICQ"&gt;AOL bought ICQ&lt;/a&gt;, which was also a pretty popular instant messenger at the time, to use as the foundation for their messaging protocol. &lt;a href="http://www.icq.com"&gt;ICQ&lt;/a&gt; is still around in its native form, but has become far less popular.&lt;/p&gt;
&lt;p&gt;Other systems, including &lt;a href="http://chat.yahoo.com"&gt;Yahoo! Messenger&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/MSN_Chat"&gt;MSN Chat&lt;/a&gt; came on the scene. MSN Chat was an IRC-based system that was later dissolved and replaced with tools like &lt;a href="http://webmessenger.msn.com/"&gt;MSN Messenger&lt;/a&gt;, which ships with every copy of Windows and integrates with &lt;a href="http://www.live.com/"&gt;Windows Live&lt;/a&gt; services. The &lt;a href="http://www.jabber.org/"&gt;Jabber&lt;/a&gt; protocol came on the scene, and was adopted by Google to create &lt;a href="http://www.google.com/talk/"&gt;Google Talk&lt;/a&gt;. There are many systems available. From what I have seen, the largest are those that combine with the other service offerings from AOL, Yahoo!, Microsoft and Google.&lt;/p&gt;
&lt;p&gt;So how do you choose? I think the most likely approaches are services you know, and people you know. If you came onto the Internet scene as an AOL user, you are more likely to use AIM. If you have adopted Yahoo! or Google for your services, you may tend towards those. On the other hand, if everyone you know is already using AIM, then you would obviously tend towards selecting that service.&lt;/p&gt;
&lt;p&gt;I have used IRC for a long time, and run a semi-private IRC server to host weekly family chats. We have been doing this for at least six years, possibly longer. I added AIM when it was requested by one of our vendors at work. I added Google Talk when it became available, as I already had a &lt;a href="http://gmail.google.com/"&gt;GMail account&lt;/a&gt; by that time. I added MSN to talk to some other church friends who use that service. I have a Yahoo! account so I can upload photos to &lt;a href="http://flickr.com/photos/49677598@N00/"&gt;Flickr&lt;/a&gt;, but don't really have anyone on Yahoo! to chat with. So what do I do? Run four different chat clients?&lt;/p&gt;
&lt;p&gt;No, and not just because I got so irritated loading the latest AIM client that I deleted it, but that helped. Unless you enjoy suffering, I would recommend NOT loading AIM's client. Go sign up for an account, then download one of the all-in-one clients.&lt;/p&gt;
&lt;p&gt;There are probably numerous clients out there that will talk to all of the services I've mentioned. I've only tried two. I tried &lt;a href="http://www.ceruleanstudios.com/"&gt;Trillian&lt;/a&gt;, but it really didn't do it for me, so I decided to also try &lt;a href="http://pidgin.im/"&gt;Pidgin&lt;/a&gt;. (It was actually still called gaim when I first installed it, but has since been renamed.) I am very happy with Pidgin, and use it to contact to multiple services simultaneously.&lt;/p&gt;
&lt;h3&gt;Time Leech and Social Development&lt;/h3&gt;
&lt;p&gt;No discussion of instant messaging safety can be complete without at least mentioning this aspect. Participation in online communities can be a healthy and useful extension of an active and vibrant social lifestyle. Over the years, online communities have given me unparalleled access to my peers in network administration, live sound, and other areas where I would otherwise have been on my own to learn things and grow. However, the Internet is an addicting place, and I've seen some evidence of changed behavior in the real world as a result of online activities. My boss was talking about his teenage daughter, who can carry on five IM conversations at the same time, but can only cope with having one friend over at a time. At least she still spends some time with her friends. On the flip side, I've seen my cousin's daughters seem to have found a healthy blend. They are very active online, but still hang out with friends, have goofy (in a good way) theme parties and do things besides sit at the computer. If they read this, I'd welcome their comments to this post.&lt;/p&gt;
&lt;p&gt;So, in conclusion, instant messaging can have its dangers, but it can also be a good part of life. For young people, parental guidance and monitoring is key, just like any other Internet or social activities. I'm no expert on this topic, and I may have gotten some things wrong, or backwards, but these are my observations. Am I ready to let my daughter have that IM account she's asked about? I'm not sure. Maybe she should read this, and then we'll talk.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/XmCtwLZ01SI" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2007_06_16/instant-messaging-friend-or-foe#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Sat, 16 Jun 2007 04:13:14 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">21 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2007_06_16/instant-messaging-friend-or-foe</feedburner:origLink></item>
  <item>
    <title>Jason Powell and others on VMware Server</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/gQDqijvYkpg/vmware_links</link>
    <description>&lt;p&gt;I've become a strong advocate of VMware Server. I composed this collection of links back in June to give a coworker some background info.&lt;/p&gt;
&lt;p&gt;It was actually a SecurityFocus editorial by Scott Granneman that got me interested in VMware: &lt;em&gt;(04.12.06)&lt;/em&gt; &lt;a href="http://www.securityfocus.com/columnists/397"&gt;Virtualization for Security&lt;/a&gt;. That's what prompted me to download the VMWare server and start testing it out. Then I stumbled upon the &lt;a href="http://www.churchtechblogs.com/"&gt;ChurchTechBlogs.com&lt;/a&gt; aggregator right around the time that &lt;a href="http://jpowell.blogs.com/jason_powell_church_it/"&gt;Jason Powell&lt;/a&gt; and &lt;a href="http://tonydye.typepad.com/main/"&gt;Tony Dye&lt;/a&gt; were posting about VMware.&lt;/p&gt;
&lt;p&gt;05.17.06 Tony Dye - &lt;a href="http://tonydye.typepad.com/main/2006/05/vmware_casestud.html"&gt;VMware Case-Study&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The rest are from Jason Powell:&lt;/p&gt;
&lt;p&gt;06.06.06 &lt;a href="http://jpowell.blogs.com/jason_powell_church_it/2006/06/vmware_server_t.html"&gt;VMware Server To The Rescue&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;04.20.06 &lt;a href="http://jpowell.blogs.com/jason_powell_church_it/2006/04/exchange_moving.html"&gt;Exchange Moving to VMware Environment&lt;/a&gt; - With some mention on the need for a SAN in the comments&lt;/p&gt;
&lt;p&gt;04.03.06 &lt;a href="http://jpowell.blogs.com/jason_powell_church_it/2006/04/microsoft_virtu.html"&gt;Microsoft Virtual Server Now Free... But Is It Too Late?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;02.28.06 &lt;a href="http://jpowell.blogs.com/jason_powell_church_it/2006/02/free_vmware_ser.html"&gt;Free VMware Server&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That one got quoted on VMware's own blog:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.vmware.com/vmtn/blog/2006/03/#trying_server"&gt;http://www.vmware.com/vmtn/blog/2006/03/#trying_server&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And a couple of blogs from one of their vendors:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.opmanager.com/weblog_entry.php?e=173"&gt;http://blogs.opmanager.com/weblog_entry.php?e=173&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://devanand.wordpress.com/2006/03/08/server-virtualization-tips-by-jason-powell/"&gt;http://devanand.wordpress.com/2006/03/08/server-virtualization-tips-by-jason-powell/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/gQDqijvYkpg" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_09_27/vmware_links#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Wed, 27 Sep 2006 07:37:54 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">15 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_09_27/vmware_links</feedburner:origLink></item>
  <item>
    <title>Rudimentary X Sessions on Fedora</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/Pl8lvShL6x8/blackbox</link>
    <description>&lt;div class="field field-type-filefield field-field-image"&gt;
    &lt;div class="field-items"&gt;
            &lt;div class="field-item odd"&gt;
                    &lt;div class="filefield-file"&gt;&lt;img class="filefield-icon field-icon-image-gif"  alt="image/gif icon" src="http://chacadwa.com/sites/all/modules/contrib/filefield/icons/image-x-generic.png" /&gt;&lt;a href="http://chacadwa.com/sites/chacadwa.com/files/blackbox-jmeter.gif" type="image/gif; length=38145"&gt;blackbox-jmeter.gif&lt;/a&gt;&lt;/div&gt;        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I run &lt;a href="http://fedoraproject.org"&gt;Fedora Core&lt;/a&gt; on the Linux boxen I manage, and in most cases, they're configured for text-only operation. However, there are cases where running X is desirable, but usually remotely and generally not with all the bloat associated with a full desktop installation. (I've got nothing against Gnome or KDE; I just don't need them most of the time.) For this scenario, I generally use &lt;a href="http://xvnc.sourceforge.net/"&gt;Xvnc&lt;/a&gt; and the &lt;a href="http://blackboxwm.sourceforge.net/"&gt;Blackbox Window Manager&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In order to do this with current versions of Fedora, simply use yum to install the following packages:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum --enablerepo=extras install blackbox bbkeys vnc-server xterm xauth&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;(Some of these packages might already be installed, depending on how much X you included in your installation. If you didn't then you might need to add some font libraries and other fundamentals for this to work.)&lt;/p&gt;
&lt;p&gt;Create the following ${HOME}/.vnc/xstartup script:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;
# Uncomment the following two lines for normal desktop:&lt;br /&gt;
# unset SESSION_MANAGER&lt;br /&gt;
# exec /etc/X11/xinit/xinitrc&lt;br /&gt;
[ -x /etc/vnc/xstartup ] &amp;amp;&amp;amp; exec /etc/vnc/xstartup&lt;br /&gt;
[ -r $HOME/.Xresources ] &amp;amp;&amp;amp; xrdb $HOME/.Xresources&lt;br /&gt;
xsetroot -solid grey&lt;br /&gt;
vncconfig -iconic &amp;amp;&lt;br /&gt;
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &amp;amp;&lt;br /&gt;
blackbox &amp;amp;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Then fire off this command to start the server:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;vncserver :1 -name MYNAME -geometry 950x700&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I like the 950x700 size for running the VNC client in a 1024x768 Windows session, as the windows fill most of the screen without needing scrollbars or fullscreen mode.&lt;/p&gt;
&lt;p&gt;I'm using this setup right this very minute to perform some load testing using Apache JMeter on some remote Linux boxen. It works great.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/Pl8lvShL6x8" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_09_27/blackbox#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Wed, 27 Sep 2006 07:00:39 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">13 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_09_27/blackbox</feedburner:origLink></item>
  <item>
    <title>Keep The Main Thing The Main Thing (In Website Design, Content Is King)</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/hzmI00EhHV4/bells_and_whistles</link>
    <description>&lt;p&gt;Greg Nilsen over at &lt;a href="http://www.ifjesushadawebsite.net/"&gt;If Jesus Had A Website&lt;/a&gt; has been running a rather humorous series on &lt;a href="http://www.ifjesushadawebsite.net/index.cfm/module/story/story/09192006-How-To-Ineffectively-Use-Your-Church-Website" title="How to Ineffectively Use Your Church Web Site"&gt;ineffective church web site design&lt;/a&gt;. His &lt;a href="http://www.ifjesushadawebsite.net/index.cfm/module/story/story/09262006-Bells-Whistles-and-ContentOh-My" title="Bells Whistles and Content Oh My!"&gt;latest entry&lt;/a&gt; triggered a little bit of a rant from me because it hit too close to my own experience. (Not a rant against what he said, but one supporting it.) I do believe (as I posted in the comments there) that most organizations would probably do well with either two web sites, or at least two distinct portions of their web site.&lt;/p&gt;
&lt;p&gt;The public face can be essentially &lt;a href="http://www.google.com/search?q=define%3Abrochureware" title="Define Brochureware"&gt;brochureware&lt;/a&gt;, although it may be somewhat interactive. It should be attractive but not overbearing, and it should contain information for people who do not know about your organization. The private, or portal face should be clean (if not minimalistic) design, and if it has any marketing content at all, that should be geared towards repeat visits, not initial contact.&lt;/p&gt;
&lt;p&gt;On either front, content should be fresh and relevant, well-written and accurate.&lt;/p&gt;
&lt;p&gt;I came to the revelation about needing two different web sites when marketing people took over the public website where I work. I'd also been working on a new concept of using blogs for documentation at around the same time (almost three years ago) and my thought shift was towards a priesthood of believers (just thought of it in those terms) where web content could be created by those who needed to create content, not just those who knew web design.&lt;/p&gt;
&lt;p&gt;The tools have come a long way since then. I've talked a bit about &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; in &lt;a href="/blog/micah/2006_09_12/why_drupal"&gt;an earlier post&lt;/a&gt;. I also mentioned our use of &lt;a href="http://drupal.org/project/og"&gt;Organic Groups&lt;/a&gt; in a different &lt;a href="http://www.ifjesushadawebsite.net/index.cfm/module/story/story/09082006-QA-Content-Management-Systems"&gt;discussion at IJHAW&lt;/a&gt;. Tools like OG or the LDAP module are just a way to simplify group management so that the authors can be empowered.&lt;/p&gt;
&lt;p&gt;There are a million concepts of &lt;a href="http://www.google.com/search?q=web+2.0"&gt;Web 2.0&lt;/a&gt; out there. I guess my niche is all about making useful web sites for everyday people who can use the web to convey thoughts and information, but shouldn't have to be encumbered by the underlying mechanics of the web.&lt;/p&gt;
&lt;p&gt;Sure, this approach sucks for the fledgling web designers who want to hold on to their FrontPage98 installation and think every paragraph should have a different color and font, but sorry, you've missed the point. Keep the main thing the main thing. Content is king.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/hzmI00EhHV4" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_09_26/bells_and_whistles#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Tue, 26 Sep 2006 19:47:16 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">12 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_09_26/bells_and_whistles</feedburner:origLink></item>
  <item>
    <title>Why I Chose Drupal</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/fszqY77s_RI/why_drupal</link>
    <description>&lt;p&gt;What led me to choose &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; as a website platform? To answer that, I first need to explain what led me to choose a Content Management System (CMS) in the first place.&lt;/p&gt;
&lt;p&gt;I've been creating and maintaining web sites since 1995. Some good, some bad, some in between. Most of this was monolithic design with static HTML, using everything from notepad and &lt;a href="http://sourceforge.net/projects/joe-editor/"&gt;joe&lt;/a&gt; (I never really went for vi, though I can use it in a pinch) to FrontPage (yeeccch!) and DreamWeaver. I've written vbscript in asp, hacked together some perl (with and without the CGI module), and even dabbled very cautiously into the realm of php.&lt;/p&gt;
&lt;p&gt;Any of those would work for me as long as nobody else was trying to publish, and/or I wanted to do everything by hand. Pretty soon, it's time to move past brochureware and static pages and start creating dynamic sites. After all, this is web two-point-oh, right?&lt;/p&gt;
&lt;p&gt;All kidding aside, Laura Scott at pingVision has already written an excellent article, &lt;a href="http://pingv.com/blog/laura/200509/when-a-website-is-a-car-not-a-taxi"&gt;When a Website is a car, not a taxi&lt;/a&gt;, which explains the economic benefits of dynamic websites:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Think of a static website as a taxi. You pay per trip (per update), including the flag drop (design conceptualization) and mileage (designer time). If you want to make another trip, even on the same route, you need to hire a taxi again, and pay all over again.&lt;/p&gt;
&lt;p&gt;But a dynamic website is a car. You pay to keep it running (hosting), but you go where you want (whatever page additions or changes you want), when you want (24-hour access), as long as you want (unlimited pages).&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;In the summer of 2005, I spent a lot of time evaluating different content management systems to replace our existing portal at work. I started by comparing and test driving several different systems at &lt;a href="http://www.opensourcecms.com" title="www.opensourcecms.com"&gt;www.opensourcecms.com&lt;/a&gt;, and found several that I liked. None of the systems I tried had the level of LDAP support that I needed at the time, although Drupal now does.&lt;/p&gt;
&lt;p&gt;Of all the systems I tried, Drupal stood out as something I could use for some other projects, and eventually I did. There were (are) a wide variety of modules to extend the system, and the API appears to be pretty easy to work with when I need to create something unique. (I have something in mind, so &lt;em&gt;if&lt;/em&gt; isn't the question.)&lt;/p&gt;
&lt;p&gt;Like many newbie users, I got tripped up with &lt;a href="http://www.geeksandgod.com/episode30"&gt;Drupal terminology&lt;/a&gt;, but once I got past that, it's been pretty smooth sailing. Check out &lt;a href="http://drupal.org/node/77880"&gt;Why I Love Drupal So Much&lt;/a&gt; for another good testimonial.&lt;/p&gt;
&lt;p&gt;I've used Drupal for a variety of sites, including &lt;a href="http://www.skinnykidracecars.com/"&gt;Skinny Kid Race Cars&lt;/a&gt;, &lt;a href="http://thegreenbag.com/"&gt;thegreenbag.com&lt;/a&gt;, this site, and a couple of private portals. Each site has its own needs, and therefore its own unique blend of modules and configurations. Thanks to easy to install and configure web server configurations like &lt;a href="http://www.google.com/search?q=WAMP+apache+mysql+php"&gt;WAMP&lt;/a&gt; and &lt;a href="http://sourceforge.net/projects/mamp/"&gt;MAMP&lt;/a&gt;, it's easy to rapidly prototype a new site with nothing more than a USB memory stick and a laptop computer.&lt;/p&gt;
&lt;p&gt;With the many sites I maintain, there's always ample opportunity for tinkering, but I can also say I've spent more time actually just creating content on my Drupal sites as opposed to other places where I've spent way too much time tinkering with the interface. I've seen a very wide variety of people use Drupal as a publishing tool, and the success rate has been higher than with most systems I've tried.&lt;/p&gt;
&lt;p&gt;Sometimes I run into problems, but the Drupal user community has always gotten me through, and the answers to my questions have usually been on the forums even before I thought to ask. I've also been able to contribute back some (hopefully) helpful comments on some open issues.&lt;/p&gt;
&lt;p&gt;All in all, my experience with Drupal has been a good one, and I'm happy with the choice.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/fszqY77s_RI" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_09_12/why_drupal#comments</comments>
 <category domain="http://chacadwa.com/articles/drupal">Drupal</category>
 <pubDate>Tue, 12 Sep 2006 23:14:51 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">8 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_09_12/why_drupal</feedburner:origLink></item>
  <item>
    <title>Notes On Restaging Your Computer</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/b6-zlEm8Svc/restaging_your_computer</link>
    <description>&lt;p&gt;Two years ago, I worked on a family member's computer. It was so messed up that I couldn't fix it, so I reloaded Windows and started over. (This was anticipated, so they'd backed up their data ahead of time.) I saved the email that I wrote, intending to post it somewhere. Here's a copy, updated a little for the two years that passed.&lt;/p&gt;
&lt;!--break--&gt;&lt;!--break--&gt;&lt;p&gt;Tuesday, August 24, 2004&lt;br /&gt;
Hi &lt;var&gt;Family Member&lt;/var&gt;,&lt;/p&gt;
&lt;p&gt;For a variety of reasons, I did decide to go ahead and just restage your computer from scratch. I'm sending &lt;var&gt;someone else&lt;/var&gt; a copy of this email so she can print it and you can have a chance to look at it before you get too far along in reloading everything else back onto it.&lt;/p&gt;
&lt;p&gt;I reinstalled WindowsXP, and then applied &lt;del&gt;the brand-new XP&lt;/del&gt; Service Pack 2&lt;del&gt;, fresh from Microsoft just last week&lt;/del&gt;. I left Automatic Updates set to download first then prompt you to install, but I really recommend just going ahead and setting updates to install with no questions asked. &lt;ins&gt;(For home users. Business users should check first, and apply when it won't be disruptive.)&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;SP2 has its firewall enabled by default, and I have left it that way. This is still less ideal than installing a third-party personal firewall, but it should help keep you out of trouble. &lt;ins&gt;A dedicated hardware firewall is even better, and they're relatively cheap.&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;I did my best to configure other networking options to be secure, as well. You should &lt;del&gt;probably&lt;/del&gt; set a password for your login on the computer. (For reasons to do this, follow the link below to read &lt;a href="http://www.us-cert.gov/cas/tips/ST04-002.html" &gt;US-CERT's security tip ST04-002&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;&lt;del&gt;I downloaded and installed Norton AntiVirus. It has a 90-day free trial subscription. That should give you enough time to dig up the info from the last time you subscribed, contact Symantec, and reinstate your original subscription.&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;ins&gt;Norton and McAfee suck for home use. In fact, this person's computer started acting up again shortly after I wrote this. Use &lt;a href="http://www.avast.com/" &gt;avast!&lt;/a&gt; or &lt;a href="http://www.grisoft.com/" &gt;AVG&lt;/a&gt; antivirus instead. Both are free for home use, and work very well without clogging up the system like some of the more expensive competitors.&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;I forgot to download and install &lt;a href="http://www.lavasoftusa.com/" &gt;Ad-Aware&lt;/a&gt;. You might want to do that when you get a chance. &lt;ins&gt;Other good anti-spyware tools include &lt;a href="http://www.javacoolsoftware.com/" &gt;SpywareBlaster&lt;/a&gt; and &lt;a href="http://www.safer-networking.org/" &gt;SpyBot Search and Destroy&lt;/a&gt;.&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;I'd like to recommend that you carefully consider what really does or does not need to be reinstalled. For example, unless you really use some of its advanced features (I never have) then I wouldn't reinstall the software for your zip drive. Just connect the drive, and XP should detect it just fine. Same goes for digital cameras and the like - unless you need advanced features, or if XP can't identify the device, don't bother with the software. Most of these are invasive and not really necessary. You can copy the data from most USB devices using Windows Explorer without installing extra software.&lt;/p&gt;
&lt;p&gt;I do realize that your Palm Pilot is an exception. The software for that &lt;em&gt;does&lt;/em&gt; need to be reinstalled.&lt;/p&gt;
&lt;p&gt;The same caveat goes for your DSL software. Unless it is required for authentication, &lt;ins&gt;(turns out it is, in most cases. The crap that comes with your cable modem is a different story)&lt;/ins&gt; and/or you are really using some of its features, including the Yahoo! browser, I wouldn't install it. I _think_ you can just connect your PC to the DSL modem and go. If not, then yeah, I guess you'll need to install the software, but even then you might want to pick custom installation and only install the components that are&lt;br /&gt;
absolutely necessary.&lt;/p&gt;
&lt;p&gt;I have installed the Mozilla &lt;del&gt;Firebird&lt;/del&gt; &lt;ins&gt;&lt;a href="http://getfirefox.com/" &gt;Firefox&lt;/a&gt;&lt;/ins&gt; browser and &lt;a href="http://www.mozilla.com/thunderbird/" &gt;Thunderbird&lt;/a&gt; email client. Please consider using them and making them your default web and email clients. If you like them, check back at www.mozilla.org periodically for updates. If you don't like them, go into Control Panel and uninstall them so they don't clutter your system. I've included a link to some articles below that will help explain why using these alternatives to Internet Explorer and Outlook Express might be a good&lt;br /&gt;
idea, but the choice is (of course) yours.&lt;/p&gt;
&lt;p&gt;*** Recommended Reading ***&lt;/p&gt;
&lt;p&gt;First up, here's a column about dumping Internet Explorer, and why:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; http://www.securityfocus.com/printable/columnists/249&lt;/p&gt;
&lt;p&gt;Here are some articles on related horrors to the above column:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; http://www.wired.com/news/infostructure/0,1377,63391,00.html&lt;/p&gt;
&lt;p&gt;&amp;nbsp; http://www.wired.com/news/infostructure/0,1377,63280,00.html&lt;/p&gt;
&lt;p&gt;&amp;nbsp; http://www.wired.com/news/infostructure/0,1377,57553,00.html&lt;/p&gt;
&lt;p&gt;Here's another column I just read this morning, explaining how and why an unpatched XP machine will only last about 20 minutes on the Internet before getting infected:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; http://www.securityfocus.com/printable/columnists/262&lt;/p&gt;
&lt;p&gt;Finally, there are some excellent tips at the US-CERT web site. You can go read the existing ones and also sign up to receive the new ones automatically. While you're at it, you might want to sign up for the Cyber Security Alerts (non-technical version) so you'll know when new (major) problems are found.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; http://www.us-cert.gov/cas/tips/index.html&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/b6-zlEm8Svc" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_09_12/restaging_your_computer#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Tue, 12 Sep 2006 22:28:39 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">7 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_09_12/restaging_your_computer</feedburner:origLink></item>
  <item>
    <title>If it's too loud, you're too old...</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/kxnxekDi4uw/too_loud</link>
    <description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/nelsva/35925693/"&gt;&lt;img src="http://static.flickr.com/23/35925693_213d8ef435_m.jpg" title="If it&amp;#039;s too loud, you&amp;#039;re too old!" alt="flickr photo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Photo by &lt;a href="http://www.flickr.com/people/nelsva/"&gt;Vaughan&lt;/a&gt;, found on &lt;a href="http://www.flickr.com/photos/nelsva/35925693/"&gt;flickr&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/kxnxekDi4uw" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_08_17/too_loud#comments</comments>
 <category domain="http://chacadwa.com/articles/techarts">Tech Arts</category>
 <pubDate>Thu, 17 Aug 2006 19:20:59 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">6 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_08_17/too_loud</feedburner:origLink></item>
  <item>
    <title>Microsoft Genuine Disadvantage</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/Kg4SBNqarqc/genuine_disadvantage</link>
    <description>&lt;p&gt;I've been reserving opinion on the whole &lt;a href="http://ask.com/blogsearch?q=Windows+Genuine+Advantage"&gt;Microsoft Windows Genuine Advantage&lt;/a&gt; bruhaha, but I'm a little irked this morning. Working four day weeks in the summer doesn't mean I don't sometimes need access to my workstation back at the office, but Automatic Updates seems to put a kink in that plan from time to time. Updates that require a reboot (while I'm logged out, mind you) tend to lock out any further remote access to my workstation, and it will sit there deaf dumb and blind until I move my mouse on Monday morning. I don't know if this is a complication introduced by the Novell client, or what, but the latest out-of-cycle WGA update left me high and dry when I needed remote access to some files over the weekend. Irritating, to say the least. It's back to &amp;quot;Download updates but let me decide when to install them&amp;quot; for me.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/Kg4SBNqarqc" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_07_03/genuine_disadvantage#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Mon, 03 Jul 2006 11:35:46 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">4 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_07_03/genuine_disadvantage</feedburner:origLink></item>
  <item>
    <title>Top 100 Network Security Tools</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/1r4iO3xVCp8/security_tools</link>
    <description>&lt;p&gt;&lt;a href="http://insecure.org/"&gt;Nmap&lt;/a&gt; author &lt;a href="http://www.insecure.org/myworld.html"&gt;Fyodor&lt;/a&gt; has compiled a list of the &lt;a href="http://sectools.org/"&gt;Top 100 Network Security Tools&lt;/a&gt;, as tabulated in a survey of nmap-hackers mailing list members. I remember when the previous lists were published in 2000 and 2003, and each release has led to my discovery of new tools, or reminded me that it's time to go back and revisit some old ones. I'd have to agree with the statement that &amp;quot;Anyone in the security field would be well advised to go over the list and investigate tools they are unfamiliar with. I discovered several powerful new tools this way.&amp;quot;&lt;/p&gt;
&lt;p&gt;found via: &lt;a href="http://geeksaresexy.blogspot.com/2006/06/top-100-network-security-tools.html"&gt;[Geeks are Sexy]&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/1r4iO3xVCp8" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_06_22/security_tools#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Thu, 22 Jun 2006 15:18:00 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">2 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_06_22/security_tools</feedburner:origLink></item>
  <item>
    <title>About Chacadwa!</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/dyQnnFPHE4A/about</link>
    <description>&lt;p&gt;I am &lt;a href="http://thegreenbag.com/search/node/overconnected" title="my previous posts on being overconnected"&gt;overconnected&lt;/a&gt;. I have too many inputs, and too many outputs, and yet, there are things that I have to say that don't fit any of my existing outlets, and so I have created chacadwa.com. When I first started this site, I wasn't sure what it was going to contain. As time has gone on, it has turned out to be my technical blog. For the personal stuff, try &lt;a href="http://thegreenbag.com/blog/micah"&gt;my relatively quiet blog on thegreenbag.com&lt;/a&gt;, or my periodic rumblings on &lt;a href="http://twitter.com/tgbdad"&gt;Twitter&lt;/a&gt; and &lt;a href="http://tgbdad.tumblr.com/"&gt;Tumblr&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Your first question is probably the meaning of chacadwa. It sounds so bold, yet mysterious. I had been thinking about registering a new domain, and one day I needed to create a password using &lt;a href="http://www.adel.nursat.kz/apg/" title="apg (Automated Password Generator)"&gt;apg&lt;/a&gt;, a utility to generate random, yet pronouncable, passwords. One of the list looked like a cool domain name, so I ran apg several times until I had a list. Later, I had &lt;a href="http://thegreenbag.com/teri" rel="spouse,co-resident,met"&gt;my wife&lt;/a&gt; help me pick one from the list, and we both decided we liked chacadwa.com best. It's fun to say.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/dyQnnFPHE4A" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/about#comments</comments>
 <category domain="http://chacadwa.com/articles/life-online">Life Online</category>
 <pubDate>Wed, 21 Jun 2006 15:17:43 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">1 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/about</feedburner:origLink></item>
  <item>
    <title>Virtual Announcements Abound</title>
    <link>http://feedproxy.google.com/~r/chacadwa/~3/z_ISePvmc78/virtual_announcements</link>
    <description>&lt;p&gt;Big news today from three top players in the server virtualization market: Microsoft, XenSource and VMware.&lt;/p&gt;
&lt;p&gt;As &lt;a href="http://www.theregister.co.uk/"&gt;el Reg&lt;/a&gt; so eloquently states the matter: "Prepare ship, prepare ship for ludicrous speed."&lt;/p&gt;
&lt;p&gt;First, Microsoft is making Virtual Server 2005 free, and will begin supporting Linux virtual machines. This includes 24-hour technical support, as well as virtual machine add-ins for Linux (Red Hat and Novell SuSE) clients. VM support does not extend to Fedora Core, but the versions for the ancient RHL 7.3 and 9.0 can probably be made to work.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.theregister.co.uk/2006/04/03/ms_virtual_free/" title="http://www.theregister.co.uk/2006/04/03/ms_virtual_free/"&gt;http://www.theregister.co.uk/2006/04/03/ms_virtual_free/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/news/bulletins/vs05pricing.mspx"&gt;http://www.microsoft.com/.../vs05pricing.mspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Microsoft has also licensed their Virtual Hard Disk file format to XenSource, without granting similar courtesy to rival VMWare.&lt;/p&gt;
&lt;p&gt;Second, XenSource announces the XenEnterprise package, which will insulate users from all that icky Linux configuration and promises "ten minutes to Xen" for OTB Windows types. It appears that this offering from XenSource will be well ahead of Microsoft Virtual Server, which won't have a full hypervisor-based product until it updates Longhorn some time in 2008 or 2009. XenSource is currently seekling beta testers for the XenEnterprise package.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.theregister.co.uk/2006/04/03/xen_enterprise/" title="http://www.theregister.co.uk/2006/04/03/xen_enterprise/"&gt;http://www.theregister.co.uk/2006/04/03/xen_enterprise/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.xensource.com/" title="http://www.xensource.com/"&gt;http://www.xensource.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Faced with the sudden onslaught from its less successful virtualization competitors, VMWare today has announced their own Open Virtual Machine Disk format. I spotted this story first, and didn't even bother to read it until seeing all of the activity from the other vendors. In conjunction with their earlier move to make VMWare Server free, VMWare is working hard to keep its market share and lure customers to its ESX Server enterprise product.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://4sysops.com/archives/vmware-announces-open-virtual-machine-disk-format/"&gt;http://4sysops.com/archives/vmware-announces-open-virtual-machine-disk-format/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.vmware.com/news/releases/vmdk.html" title="http://www.vmware.com/news/releases/vmdk.html"&gt;http://www.vmware.com/news/releases/vmdk.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As Intel and AMD bring new virtualization-friendly hardware to market, it looks like some healthy competitition may offer users an interesting combination of platform choices.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This back-dated posting was originally sent as an email on Monday, April 03, 2006 at 5:08 PM&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/chacadwa/~4/z_ISePvmc78" height="1" width="1"/&gt;</description>
     <comments>http://chacadwa.com/blog/micah/2006_04_03/virtual_announcements#comments</comments>
 <category domain="http://chacadwa.com/articles/sysadmin">System Administration</category>
 <pubDate>Mon, 03 Apr 2006 21:08:00 +0000</pubDate>
 <dc:creator>micah</dc:creator>
 <guid isPermaLink="false">14 at http://chacadwa.com</guid>
  <feedburner:origLink>http://chacadwa.com/blog/micah/2006_04_03/virtual_announcements</feedburner:origLink></item>
  </channel>
</rss>

