tag:blogger.com,1999:blog-143117402024-03-13T08:52:33.685-07:00Alan's PlaceA safe haven on Al Gore's internetAlanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.comBlogger119125tag:blogger.com,1999:blog-14311740.post-28934742270113208262011-10-01T16:35:00.000-07:002011-10-01T16:36:13.202-07:00Shameless Promotion for Rip Curl<span id="goog_545425623"></span><span id="goog_545425624"></span>Wow, just wanted to report some amazing customer service from the fine people at <a href="http://www.ripcurl.com/">Rip Curl</a> wetsuits. I sent in three of my suits for various repairs, fully intending to pay for the required fixes. They fixed all three of them and sent them back to me, for FREE. And that, folks, is why I will continue to only buy Rip Curl wetsuits.<br />
<br />
You simply don't get customer service like that very often these days, and it definitely brightened my week.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-83357379059184442712011-04-07T09:26:00.000-07:002011-04-07T09:26:36.043-07:00How to Use Droid X Bootstrap<p><i>Note: I've been experimenting with alternate ROMs for my Droid X, as I've been unhappy with the support Motorola has offered in regards to new releases, performance, Motoblur bloat, etc. Hence, I'm posting the following primarily for myself as reference information so I can find it easily later. The following information was taken from a <a href="http://www.android.net/forum/android-rooting/58092-dx-how-use-droid-x-bootstrap.html">forum post</a> found on www.android.net.</i></p><p><a href="http://4.bp.blogspot.com/-I-SIuD3zY50/TZ3ks34txoI/AAAAAAAABTI/hfbM5cMjpc4/s1600/android_logo.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="http://4.bp.blogspot.com/-I-SIuD3zY50/TZ3ks34txoI/AAAAAAAABTI/hfbM5cMjpc4/s200/android_logo.gif" width="200" /></a><span class="Apple-style-span" style="font-size: large;">Requirements</span></p><br />
<ol><li>Get root</li>
<li>Droid X Bootstrap- $2 on Market or free from <a href="http://koush.tandtgaming.com//motorola/droidx/DroidXBootstrap.apk">Koush's website</a>. </li>
</ol><br />
Once app is installed, go to your app drawer and click on it. It will ask for Super User permissions, press yes/ok. This will stop it from booting into clockwork after every manual reboot.<br />
<br />
<span class="Apple-style-span" style="font-size: large;">How to Backup Your System</span><br />
<br />
A backup is a snapshot of your system at that moment. This will be vital should you experience any issues modifying your phone.<br />
<br />
<ol><li>Click on Droid X Bootstrap app</li>
<li>Click Bootstrap Recovery, then click OK when it says Success</li>
<li>Click Reboot Recovery, phone will automatically reboot</li>
<li>Once in the black screen with green writing, you will use the side volume rockers to move up and down and then the camera hard key to select.</li>
<li>Move down to backup/restore and select it.</li>
<li>Move to Backup and select it</li>
<li>The phone will begin to create a full backup (nandroid) of your system, data, and cache. This will take about 5 minutes to generate. After it is finished it will take you back to the main screen. If you want to move back to previous screens use the back hard key.</li>
<li>Select reboot system now.</li>
<li>You can view your backups in your file manager. There will be a clockworkmod folder where the backups reside. You can change the name of the file, but do not use spaces or odd characters. For example, use a dash - rather than a backslash / for dates.</li>
</ol><br />
<span class="Apple-style-span" style="font-size: large;">How to Restore a Backup</span><br />
<br />
If you have issues with your setup after a ROM or theme install, you can restore a backup made when the system was running correctly.<br />
<br />
<ol><li>Click on Droid X Bootstrap app</li>
<li>Click Bootstrap Recovery, then OK when it says Success</li>
<li>Click Reboot Recovery and phone will automatically reboot.</li>
<li>When black screen with green writing appears, select backup/restore.</li>
<li>Then select Restore.</li>
<li>Choose the backup you want to restore. If you don't change the name of the file, they have the date and time stamp as the file name.</li>
<li>Select backup and then the phone will begin restoring the backup.</li>
<li>When its finished, it will take you to main screen, select reboot system now.</li>
</ol><br />
<span class="Apple-style-span" style="font-size: large;">How to Install a Rom</span><br />
<br />
<ol><li>Click Droid X Bootstrap app, hit bootstrap recovery, click ok, then reboot recovery.</li>
<li>Go to mounts. (Optional, read instructions on ROM install) Mount system. If system is mounted, prompt will read "unmount system"</li>
<li>Format data, click yes</li>
<li>Format cache, click yes</li>
<li>Back arrow</li>
<li>Install zip from sd card</li>
<li>Go to folder where zip is. If you downloaded zip from stock browser and didn't move it, it will be in the DOWNLOAD folder.</li>
<li>Click on the zip you want to install, then yes.</li>
<li>Once install is finished, back arrow, and reboot.</li>
</ol><br />
<span class="Apple-style-span" style="font-size: large;">FAQ</span><br />
<br />
<ol><li>You can have as many backups as you'd like</li>
<li>If you get and md5 sum error, its probably bacause you renamed the file with unrecognized characters.</li>
<li>Yes, when you manually reboot it will always go to bootstrap recovery unless you do the very first step after installing. Just select reboot system now.</li>
<li>If it does not boot into bootstrap recovery, and you need it to, you can boot into stock recovery and do a factory reset and then restore a backup.</li>
</ol><br />
<span class="Apple-style-span" style="font-size: large;">How to Boot Into Stock Recovery</span><br />
<br />
<ol><li>Hold power button and and home hard key.</li>
<li>When M screen appears, release home key.</li>
<li>A screen with a small green Droid and an ! will appear. Push search hard key.</li>
<li>Use volume rocker to select wipe data/cache then factory reset.</li>
</ol>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-7397764819802069232010-05-13T10:08:00.000-07:002010-05-13T10:08:08.331-07:00Installing Ubuntu Netbook Remix 10.04 on a Dell 700m<div class="separator" style="clear: both; text-align: center;"><a href="http://base1.googlehosted.com/base_media?q=http://www.cedarpc.com/images/8840192209203397889_1.jpg&size=18&dhm=19aa86a3&hl=en" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://base1.googlehosted.com/base_media?q=http://www.cedarpc.com/images/8840192209203397889_1.jpg&size=18&dhm=19aa86a3&hl=en" /></a></div>At home, I have an older <a href="http://www.notebookreview.com/default.asp?newsID=2022">Dell 700m</a> laptop which has had linux installed on it in one form or another for a few years. I have a soft spot for this laptop due to its small size and decent performance, even though a newer Toshiba I bought recently has <a href="http://www.youtube.com/watch?v=g1fSo0JTzh8">more power</a>. So, I thought that with <a href="http://www.ubuntu.com/">Ubuntu</a> 10.04 now out, I'd give the <a href="http://www.canonical.com/projects/ubuntu/unr">netbook remix</a> a try.<br />
<br />
For those of you not familiar with the netbook remix distribution of Ubuntu, it "<i>is optimised to run on a new category of affordable Internet-centric devices called netbooks. It includes a new consumer-friendly interface that allows users to quickly and easily get on-line and use their favourite applications.</i>" Specifically, it has been designed to start up quickly and sports a user interface suitable for smaller sized screens, like the one that the Dell 700m sports.<br />
<br />
So I downloaded the Ubuntu Netbook Remix ISO and burned it to a CD. Newer laptops and netbooks support booting froma USB device, but I wasn't sure if the 700m supported this, and so went with the sure thing. Sliding the CD into the CD-ROM tray, I reboot the computer and wait.<br />
<br />
Hrm. After a minute or two, the computer has stopped accessing the CD, but the screen is black. Hrm. I try a few kernel boot options from the grub menu (like noacpi, and a few others), and continue to receive the black screen devoid of all things linuxy. You know what? After <a href="http://c600g.blogspot.com/2010/04/trying-out-ubuntu-1004-rc1-fail.html">banging my head on the 10.04 server install</a>, I am now getting a bit irate. I'm at home, spending what little free time I have trying to get this SOB working, and it just isn't giving me the time of day - time to shut it down for the evening before I go <a href="http://antwrp.gsfc.nasa.gov/apod/ap090317.html">supernova</a>.<br />
<br />
Fast forward to the next day. Doing a bit of research on the <a href="http://ubuntuforums.org/">Ubuntu Forums</a> (a good support site, although a bit overwhelmed right now due to the release), I find that I am not alone. It turns out that laptops sporting the <a href="http://www.intel.com/?en_US_01">Intel</a> <a href="http://www.intel.com/products/notebook/chipsets/855gm/855gm-overview.htm">855GM video chipset</a> (and others in that family) were having severe problems with the kernel. I find this especially ironic, since according to the netbook remix site, "<i>Canonical has collaborated with Intel...</i>". *snort*<br />
<br />
There is a <a href="https://wiki.ubuntu.com/X/Bugs/Lucidi8xxFreezes">workaround</a> (or two, or three, or four) for this problem, and I appended the "<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: small;">i915.modeset=1</span></span>" kernel boot parameter to the grub configuration, and I was then able to get video (which is always helpful for those of us with eyes). So the install finally went through to completion, and I had a netbook install on my Dell 700m.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/44/NancyReaganMrTChristmas1983.jpg/220px-NancyReaganMrTChristmas1983.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/44/NancyReaganMrTChristmas1983.jpg/220px-NancyReaganMrTChristmas1983.jpg" width="132" /></a></div>Unfortunately, the 3D portion of the Intel drivers must not be enabled, because performance of the 3D enabled netbook launcher is atrocious. We are talking about several second delays when switching categories, slow/nonexistent feedback when launching an application. Once you get a normal application launched, then it performs fine (like <a href="http://www.google.com/chrome">chrome</a> or the gnome terminal app).<br />
<br />
So, that is where it stands so far. I am expecting a kernel update in the very near future to sort out the Intel video bug, and then everything will be fine. However, <a href="http://en.wikipedia.org/wiki/Mr._T">I pity the fool</a> who tries to install the netbook remix with a similar video chipset, and isn't <i>very</i> familiar with linux.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com14tag:blogger.com,1999:blog-14311740.post-49143129681563532622010-05-11T10:43:00.000-07:002010-05-13T07:23:45.105-07:00Ubuntu Installed on New Server<div class="separator" style="clear: both; text-align: center;"><a href="http://rbucky.com/uploads/ubutnu-10.04-lucid-lynx-wallpaper-12x8_2-400x320.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="160" src="http://rbucky.com/uploads/ubutnu-10.04-lucid-lynx-wallpaper-12x8_2-400x320.jpg" width="200" /></a></div>When we <a href="http://c600g.blogspot.com/2010/04/trying-out-ubuntu-1004-rc1-fail.html">last left our hero</a>, I was struggling to get <a href="http://www.ubuntu.com/">Ubuntu</a> <a href="http://www.ubuntu.com/getubuntu/download">10.04</a> (Lucid Lynx) up and running on a new server box with software <a href="http://en.wikipedia.org/wiki/RAID">RAID 1</a>. Since that time, I have scoured the <a href="http://ubuntuforums.org/">Ubuntu forums</a> and searched the bug report databases, and found that <a href="https://bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/485604">I was not alone in my frustration</a>. While misery <i>does</i> love company, this did nothing to help me resolve the situation at hand.<br />
<br />
In the meantime, the flaky <a href="http://www.vmware.com/">VMware</a> server box continued to act flaky. I had had enough, and decided to try installing the previous release of Ubuntu, <a href="http://releases.ubuntu.com/9.10/">9.10</a> (Karmic Koala). Unlike my previous attempts with 10.04, 9.10 installed perfectly the first time and I was in business! To quote John McClane in <i>Die Hard</i>, "Yippee-ki-yay, motherfucker."<br />
<br />
The next step I took in my journey to server nirvana was to read up on <a href="https://wiki.ubuntu.com/UncomplicatedFirewall?action=show&redirect=UbuntuFirewall">Ubuntu's Uncomplicated Firewall</a>, ufw for short. As the name implies, it is trivial to set up and use if you have a modicum of networking knowledge (quick test: on which port does an HTTP server usually listen?). Using ufw, I locked down the server nice and tight, allowing connections from our local network and my home IP address (for remote administration).<br />
<br />
Next came the virtualization software installation. I have become convinced that <a href="http://www.vmware.com/products/server/">VMware Server</a> is not the virtualization software for me. The web based administration software was nice, when it worked. However, I found that when I most needed it to work, it oftentimes did not. In that, it is remarkably like an automobile not starting up in a bad horror movie.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.virtualbox.org/graphics/vbox_logo2_gradient.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://www.virtualbox.org/graphics/vbox_logo2_gradient.png" /></a></div>I've worked with <a href="http://www.virtualbox.org/">VirtualBox</a> as a desktop virtualization solution, and knew that it could also operate in a "headless" (think no GUI) mode. So, I took the plunge and install VirtualBox 3.1 on the new server. If you want to look into installing VirtualBox for a similar purpose, I can't recommend <a href="http://wiki.flexion.org/VirtualBox.html">this site</a> enough - it helped me out enormously and walked me through the process in an almost pain-free manner.<br />
<br />
Thankfully, VirtualBox can use VMware server's virtual disk drive files (<a href="http://en.wikipedia.org/wiki/VMDK">vmdk</a>), so I moved our web server virtual machine over from the old VMware install to the new VirtualBox ... ummm... box. My heart stopped a bit when I first tried to start up the new virtual machine, as it would not boot. However, after checking the "Enable IO APIC support" in the virtual machine settings, I was off and running.<br />
<br />
I am going to hold off on moving any other virtual machines from the old to the new until I am confident in the new system. Or the other one blows up - whichever comes first.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com2tag:blogger.com,1999:blog-14311740.post-25454716258504131782010-04-29T10:45:00.000-07:002010-05-11T10:51:41.115-07:00Trying Out Ubuntu 10.04 RC1 - Fail!The main server at my place of employment which houses three virtual machines (two <a href="http://www.linux.com/">linux</a>, one XP) has been acting very flaky over the last month or so. The server tends to crash and restart itself, with the virtual machines sometime coming back up, and other times not.<br />
<br />
The reason why the virtual machines do not come back up sometimes is due to the presence of <a href="http://www.vmware.com/products/server/">VMware's</a> <span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">.lck</span> directories, which do not always get cleaned up appropriately. So, I have to go in there and remove the offending files, and then start the virtual machines back up via the VMware web console.<br />
<br />
I have tried just about everything I can think of to find the cause of the server reboots. Temperatures of the four CPU cores is good (checked via the <span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><a href="http://www.lm-sensors.org/">sensors</a></span> command), as are the hard drives (checked with <span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><a href="http://www.hddtemp.com/">hddtemp</a></span>). I've tested the memory, and all looks good there. So, I am at my wit's end.<br />
<br />
The server is running <a href="http://www.ubuntu.com/">Ubuntu</a> 8.04 <a href="https://wiki.ubuntu.com/LTS">LTS</a>, and a new release of LTS is due out tomorrow. I thought that I'd try installing the release candidate on a new server box I put together recently, and see how it faired. Unfortunately, after making my way through 98% of the installation, the installer failed when trying to install the <span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><a href="http://www.gnu.org/software/grub/grub-2.en.html">grub2</a></span> boot loader.<br />
<br />
Gah. There is an option for the <span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">legacy grub</span> boot loader, so I tried that. No joy. I am not trying to installed the server OS on exotic hardware here. It is a <a href="http://en.wikipedia.org/wiki/RAID">RAID</a> 1 setup, but I was able to install the same setup in 8.04. I have heard that there is a bug in grub2 relating to multi-boot systems, but that doesn't apply to my setup.<br />
<br />
Frak. Frakfrakfrakfrak!Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com5tag:blogger.com,1999:blog-14311740.post-12169724258745663632009-11-12T10:33:00.000-08:002009-11-13T07:13:58.443-08:00An Early End to My Soccer Season<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_h6vxr1Bf3cw/SvxY7w5bfHI/AAAAAAAABDQ/axPQcz2OvLw/s1600-h/nike-soccer-ball.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_h6vxr1Bf3cw/SvxY7w5bfHI/AAAAAAAABDQ/axPQcz2OvLw/s320/nike-soccer-ball.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5403291436699057266" /></a><br />I blink my eyes and time seems to sweep by in great bounding leaps covering weeks at a time. Better to be busy than bored, I think, and my family certainly keeps me busy!<div><br /></div><div>I've been playing in my third season of adult soccer, and this season has mostly been injury filled and disappointing. Ever since my <a href="http://c600g.blogspot.com/2009/01/late-christmas-gift-not-broken.html">ankle injury</a> in January of this year, my right ankle has just not been "right". When one part of your body is injured, you naturally try to reduce the amount of stress placed on that area of the body. Unfortunately, doing this can often times cause problems for the other areas of your body which aren't used to this new stress.</div><div><br /></div><div>Since my ankle was injured, I haven't felt comfortable out on the field. Rolling an ankle increases the likelihood of doing it again, so it can become a fairly vicious injury-circle. I've tried doing some ankle strengthening exercises, and was beginning to feel better when I was struck down by another injury.</div><div><br /></div><div>A few people on my team were scrimmaging against some local soccer coaches, and after about an hour and a half of a good scrimmage, I found myself attempting to make up on defense forthe sweeper who muffed getting the ball out of the back. I caught up with the striker and tried sticking a leg out in front to get a touch on the ball, when I suddenly felt my hamstrings go *sproing* (or something like that).</div><div><br /></div><div>I went down immediately to try and minimize any possible damage beyond what was already done, and made my way home with an ice pack grafted onto my leg. It wasn't a horrible injury in regards to pain, especially compared to my previous calf muscle tears and ankle injury, but it was enough to know that I would not be able to play soccer for a few weeks.</div><div><br /></div><div>After three weeks, I came back to the pitch to try and give it a go again after running on it a bit during my lunch hour. However, it was not rested enough and after one attempted sprint to close on another player during a game, I knew I was done for the season and took myself out of the game.</div><div><br /></div><div>So here I am, three weeks from my previous attempt at returning, and now I'm trying a bit of jogging and plan to work my way back up to the sprinting one needs to do during a game. With my season over, I can now focus on taking it one step at a time to try and ensure that when the <i>next</i> season rolls around, I'll be ready. </div><div><br /></div><div>P.S. Getting old sucks!</div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com1tag:blogger.com,1999:blog-14311740.post-85803085950713219762009-09-02T10:16:00.001-07:002009-09-02T10:27:23.979-07:00Sumatra PDF ViewerThis will be a very quick blog post, perhaps more appropriately classified as a "shout-out". The PDF format is wonderful for preserving detailed formatting across multiple platforms, and is all over the web. Thus, we need an application to view these files.<div><br /></div><div>Most people are familiar with Adobe Acrobat Viewer, as Adobe was the original creator of the PDF format, and hence had the first authoring and viewing tools for the PDF format. Unfortunately, their viewer application continues to increase is size and decrease in speed with each successive release. The later versions of the application go so far as to auto-run portions of the application at startup, to reduce perceived start up times later on when you actually want to view a PDF file (much like that bloated pig of an office suite - MS Office).</div><div><br /></div><div>If you are looking for a lighter weight solution to viewing PDF files on the Windows platform, let me recommend the <a href="http://blog.kowalczyk.info/software/sumatrapdf/index.html">Sumatra PDF Viewer</a>. It is light weight, clean, and functional. It does not contain all of the bells and whistles in Adobe Acrobat Viewer (like form filling), but then again, that is why it is so small and fast.</div><div><br /></div><div>Give it a try and see if it does what you need - so far, it has exceeded all of my requirements and expectations!</div><div><br /></div><div>P.S. I was using Foxit for a while, but had problems with it updating under Vista. Plus, all of the ads sort of soured me on the software.</div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-90445216487710380152009-08-14T14:25:00.000-07:002009-08-14T14:53:49.351-07:00Drupal<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h6vxr1Bf3cw/SoXc2J8mzZI/AAAAAAAABBQ/0OjkNFTUxUo/s1600-h/drupal.org.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 264px; height: 84px;" src="http://2.bp.blogspot.com/_h6vxr1Bf3cw/SoXc2J8mzZI/AAAAAAAABBQ/0OjkNFTUxUo/s320/drupal.org.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5369940953650351506" /></a>At work this week, I've been looking at upgrading our website from the home-built effort that is looking fairly stale to something a bit more modern and up to date. I created the basic framework of the site many years ago, using <a href="http://httpd.apache.org/">Apache</a> with <a href="http://www.php.net/">PHP</a> on a <a href="http://www.linux.org/">linux</a> server.<div><br /></div><div>The site is extremely fast, but it is difficult to edit existing content, or add more. Furthermore, there is no database back end for the site, which means no users with permissions approriate to their need.</div><div><br /></div><div>In thinking about our site redesign, I realized that I should take a serious look at a well supported <a href="http://en.wikipedia.org/wiki/Content_management_system">content management system</a> (or CMS) which fulfilled the following requirements:</div><div><ol><li>Must support user / password logins and configurable roles for each. As an example, there should be an anonymous user role for random visitors to our site, an authorized user role for people who have successfully registered with the site, and then specialized roles such as "content creator", "administrator", "product user under maintenance", "partner", etc.</li><li>For the above mentioned roles, different security levels and options should be available. Only users with the "partner" role should be able to access the "Partner Portal" of our site. Only users with the "product user under maintenance" role should be able to download an update to the product in question.</li><li>Non-technical people should be able to create content on the site.</li><li>It needs to support different visual styles (or themes), and I need to find one that looks good.</li><li>Support for new stories, regular pages, and maybe even book-type formats will be needed.</li><li>Allow authorized users to comment upon stories and pages.</li><li>It has to be flexible.</li></ol></div><div>After looking around a while, I decided to give <a href="http://drupal.org/">Drupal</a> a try. I was vaguely familiar with it in passing, but had not yet really tried to do anything with it, which is usually when the fiddly bits will show up.<br /><div><br /></div><div>I downloaded the <a href="http://www.turnkeylinux.org/appliances/drupal6">Drupal 6 Turnkey Appliance</a> ISO, and installed it on new virtual machine using Sun's VirtualBox (which is a <i>great</i> product). Over the course of the last several days, I have been planning and implementing the new version of our website, and have a few observations on Drupal.</div><div><br /></div><div>First of all, there are <a href="http://drupal.org/project/Themes">many themes</a> available for Drupal, which may be experienced by visiting the <a href="http://themegarden.org/drupal6/">Drupal Theme Garden</a>. I have selected a few that I like, with a definite favorite. If you want to know which one I selected, well you'll just have to wait until we roll out the new site!</div><div><br /></div><div>I have found Drupal to be <i>extremely</i> flexible. It supports a module system where functionality can be added to the core system, taking it the direction you want to go. I have installed modules which allow for <a href="http://drupal.org/project/content_access">access control</a> mechanisms (requirement #2 above), <a href="http://drupal.org/node/284">book style content</a>, and a host of others which improve the look and function of the site.</div><div><br /></div><div>With all of the options and flexibility, starting out can be a bit daunting. Luckilly, the main Drupal website contains some <a href="http://drupal.org/getting-started/before">useful documentation</a> to help you understand, install, and then implement it. In my humble opinion, the investment is well worth it if you are looking at a website similar to the one I've outlined above.</div></div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-84042204563018336522009-07-20T09:11:00.000-07:002009-07-20T09:55:44.283-07:00Auto Repair WeekendIn preperation for my family's upcoming vacation to <a href="http://www.cayucosbythesea.com/">Cayucos</a>, I decided to give our 2001 Chevy Suburban a tune-up and try to figure out why it was idling low and occassionally stalling at idle. My Saturday was fairly wide open, other than a practice scheduled for my daughter's soccer team that I would need to get her to.<div><br /></div><div>I haven't done much work on the Suburban since we bought it (with 21k miles on the odometer), and now with 90k miles on it, the 'burban was due for some servicing. I installed a <a href="http://www.knfilters.com/">K&N air filter</a> at around 30k miles, so it was time to clean and re-charge it. This was a fairly trivial task, once I purchased the recharge kit from the auto parts store.</div><div><br /></div><div>Next, I decided to change the spark plugs. Most new cars don't need the plugs swapped out until about 100k miles, but since I was experiencing the idling problem, I thought it would be a good first stab at the problem. One thing nice about the Suburban is that the engine is fairly accessible compared to many other cars. I bought 8 new AC Delco Iridium plugs, and took out the old plugs and replaced them with the new ones, only losing around 5 pouds of weight due to sweat during the process.</div><div><br /></div><div>Next up was a new fuel filter. I have replaced it once before on the Suburban, but it is always fun trying to squirm under the beast and disconnect fuel lines, etc. About an hour after I started and many expletives later, the new fuel filter was in and I could call it a day after I started her back up and gave her a test drive.</div><div><br /></div><div>Unfortunately, all the work I completed had no effect on the low idle / stalling problem - argh! I was done working on the car for the day.</div><div><br /></div><div>On Sunday, I decided to research the problem on the internet, and found that this is a somewhat common problem for the Chevy Vortec engines. The most common advice I found was to clean out the <a href="http://en.wikipedia.org/wiki/Throttle_body">throttle body</a>, and this would usually take care of the problem. The procedure couldn't have been easier. Disconnecting the air intake from the throttle body allowed me to take a rag with a bit of acetone on it, and clean some built up carbon deposits around and on the throttle plate. The job (which would have run me in the neighborhood of $50 - $150 at the dealer) took 15 minutes and cost maybe $0.25 in acetone, and the problem was completely solved!</div><div><br /></div><div><br /></div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-67439664755935513162009-06-09T11:33:00.000-07:002009-06-09T11:42:45.851-07:00Baseball Season Wrap-UpThe little league baseball season was wrapped up for my team (AAA division, mostly 9-10 year olds) this Saturday, when closing day ceremonies took place. After the ceremony, I found myself placed in a dunk tank, with my players eagerly lining up to dunk me with a gleam in their eyes.<div><br /></div><div>Our regular season record was 10 wins and 8 losses, good for second place in the <a href="http://www.vistaamericanll.org/">league</a>. I had initially hoped for better at the start of the season, but no plan survives contact very long. We played the #1 team very hard on all but a few occassions, so my players can hold their head high and be proud of the progress made this year.</div><div><br /></div><div>In the Vista City Tournament, we won our first two games convincingly, and then lost two games to finish tied for 5th place. Our first loss was against the eventual 1st place team, and we <i>should</i> have won that game except for the wheels falling off of our defense in one inning. And so it goes...</div><div><br /></div><div>So now I will have to find something to do with all of the time with which I now find myself. I figured out that during the season, I spent well over 200 hours on meetings, practices, and games. This does not take into account time spent going to/from locations, nor the time spent at work planning lineups and position charts. Yes, I was kept very busy, and yes I will miss it!</div><div><br /></div><div>Next year, my son will move up to the Major division, and I look forward to the challenges that it will bring, as well as the improved quality of game play. It is so very rewarding to see kids I have coached since tee-ball turn into smart and skillful baseball players!</div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-31741866265453648652009-04-24T09:18:00.000-07:002009-04-24T09:46:41.337-07:00It's Quiet Around Here... Too QuietWhat can I say other than, "Life is very busy". I'll try to provide a few updates here, however.<div><br /></div><div><span class="Apple-style-span" style="font-size: large;"><span class="Apple-style-span" style="font-weight: bold;">Little League Baseball</span></span></div><div><br /></div><div>The season is well into the second half, and it looks as if our team will finish 2nd place. We only play the #1 team twice in the second half, and have already lost both of those games. Thus, barring some kind of divine intervention, the Angels will have to be happy with a 2nd place finish. However, once the regular season is complete, we get to look forward to the city tournament! So the team is still practicing hard and trying to refine our game with that tournament in our sights.</div><div><br /></div><div><span class="Apple-style-span" style="font-size: large;"><span class="Apple-style-span" style="font-weight: bold;">Soccer</span></span></div><div><br /></div><div>My soccer team is currently undefeated, with 1 win and 5 ties! It seems that all 4 teams in our men's 35+ division are fairly evenly matched, which is good. My ankle injury has still not yet healed completely, which I find irritating. I am guessing that it will not be 100% good for a few more months, but it is good enough to play on now, so I do what I can.</div><div><br /></div><div><span class="Apple-style-span" style="font-size: large;"><span class="Apple-style-span" style="font-weight: bold;">Family</span></span></div><div><br /></div><div>The rest of the family is doing just fine. We camped at <a href="http://www.parks.ca.gov/?page_id=662">San Elijo state beach</a> for 4 nights during the kids' spring break, and the weather cooperated with us fairly well for a majority of the time there. In July we are looking forward to a vacation in the Central Coast as well.</div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-21029065526362649322009-02-23T07:53:00.001-08:002009-02-23T08:36:00.876-08:00What's Been Happening in My WorldIt has been well over a month since I last wrote anything here, and as you may guess, I have been very busy. I'll try to catch up a bit with this post.<div><br /></div><div><span class="Apple-style-span" style="text-decoration: underline;">Ankle Injury Update</span></div><div><br /></div><div>My <a href="http://c600g.blogspot.com/2009/01/late-christmas-gift-not-broken.html">ankle</a> has healed up fairly well, and is probably back up to 80% of it's original strength after 6 weeks. I've played a bit of soccer over the last two Sunday afternoons, and it just isn't quite right yet. I have also had a large blister form both days on my right instep. I'm not sure if I am doing something awkward to compensate for the weakened ankle, or if it is th new shoes. Next week, I'll be playing back in my old pair of <a href="http://en.wikipedia.org/wiki/Adidas_Copa_Mundial">Copa Mundials</a> and see if the situation improves a bit.</div><div><br /></div><div>Our first soccer game of the new season is on Friday, March 6th. I'd like to be somewhere in the vicinity of "being in good shape" by then.</div><div><br /></div><img src="http://1.bp.blogspot.com/_h6vxr1Bf3cw/SaLNzEN023I/AAAAAAAAA7M/maBLWmAlWfQ/s320/angels_A_logo_04.jpg" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 119px; height: 160px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5306029588184619890" /><div><span class="Apple-style-span" style="text-decoration: underline;">Little League Baseball</span></div><div><br /></div><div>A new <a href="http://www.eteamz.com/VistaLL/index.cfm?">baseball season</a> is underway, and I am back at the helm managing my son's AAA baseball team, the Angels. The rain has interfered with practices a bit, so we've done the best we can. Opening day in on Saturday, March 7th, so we have 2 more weeks of practices to get some of the rust off of the ole baseball gears. I'm hoping for a good season - it always seems to come down to the pitching!</div><div><br /></div><div><span class="Apple-style-span" style="text-decoration: underline;">New Technology</span></div><div><span class="Apple-style-span" style="text-decoration: underline;"><br /></span></div><div>I picked up a new Toshiba laptop on Saturday from Fry's. At $399, it was too good of a deal to pass up, and our old <a href="http://reviews.cnet.com/laptops/dell-inspiron-700m/4505-3121_7-30975241.html">Dell 700m</a> has been showing signs of aging for quite some time. The new laptop sports an <a href="http://processorfinder.intel.com/details.aspx?sSpec=SLB3P">Intel Core Two Duo T3400</a> CPU (2.16 GHz, 667 MHz FSB), 2 gigabytes of RAM, a decently size 160GB hard drive, and a nice 15.4" wide screen display (1280 x 800).</div><div><br /></div><div>I've gone through and stripped out most of the crap that came bundled with the notebook (Norton begone!), and installed <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a>, <a href="http://www.openoffice.org/">OpenOffice</a>, <a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a>, etc. <a href="http://www.microsoft.com/windows/windows-vista/default.aspx">Windows Vista</a> Home Premium seems to work well on the PC (response is snappy, display is crisp), and it is my first experience with the OS. I actually installed the <a href="http://www.microsoft.com/windows/windows-7/">Windows 7</a> beta in a <a href="http://www.virtualbox.org/">Virtualbox</a> VM <span class="Apple-style-span" style="font-style: italic;">before</span> ever seeing Windows Vista, and I can't say I see much of an improvement or difference between the two versions.</div><div><br /></div><div>Windows Vista *is* a bit chatty with the UAC stuff, though, isn't it? Dialog boxes come flying at you during installation of new apps, but I don't mind it too much. I do believe that Windows 7 has improved in that regard. However, I don't see much that would compel anyone to upgrade from Vista to 7.</div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-20962003853927799102009-01-16T07:39:00.000-08:002009-01-16T07:48:58.618-08:00A Late Christmas Gift - Not Broken!Woo-hoo! I received some great news yesterday during my appointment with the orthopedic surgeon. It turns out that the protrusion of bone on my lower fibula is, in the doctor's opinion, from a previous ankle sprain. My ankle is *not* broken - the x-rays were simply misinterpreted by the Urgent Care doctor, which can (and will) happen if they are not experts in the skelto-musculature realm of medicine.<br /><br />So, the doc said that I should try putting weight on my ankle as I could, first with both crutches, then with a single crutch on the good side, and then with no crutches. When I got back home, I tested out my ankle and was able to put weight on it with two, then one crutch. Later that evening, I discarded the single crutch and was able to hobble around fairly well, even helping out with the preparation for dinner.<br /><br />To cap off the night, I was able to ascend our stairs to the second story and actually tuck in my kids and sleep in my own bed for the first time in four days.<br /><br />As far as further recovery is concerned, the doctor said that wearing a brace might be a good idea for the next few weeks, and to work on my range of motion in the ankle. Running is out of the question for about three weeks, but biking would be a good exercise when my ankle feels up to it. I am hoping to be back in soccer shape in fixe to six weeks - we'll see how things go.<br /><br />I can not express how happy I am to be rid of those crutches! The four days I had to deal with them has given me a small dose of insight into what it must be like to permanently live with a disability. Just being able to walk and use my hands at the same time seems like an amazing gift to me right now.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com4tag:blogger.com,1999:blog-14311740.post-51604849200077768772009-01-15T12:24:00.000-08:002009-01-15T12:49:33.754-08:00Epic Fail - My Broken Ankle<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_h6vxr1Bf3cw/SW-hCe_iwqI/AAAAAAAAA5I/eXS4sV7plzI/s1600-h/ankle_bones_MMG.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 299px; height: 300px;" src="http://1.bp.blogspot.com/_h6vxr1Bf3cw/SW-hCe_iwqI/AAAAAAAAA5I/eXS4sV7plzI/s320/ankle_bones_MMG.jpg" alt="" id="BLOGGER_PHOTO_ID_5291625151235015330" border="0" /></a><br />Ug. Maybe I should rename this blog to Alan's Place Where He Bitches About His Injuries...<br /><br />Yes, a new year has come, and a new injury along with it. Up until this time in my life, I have been fortunate enough to have never broken a bone in my body. I was pure, as far as my calcified frame is concerned. Sure, the paint on the outside has suffered a few abrasions, burns, and general wear and tear over the years, but the frame on which it all rides was still in decent shape.<br /><br />On Sunday, I play a pick-up game of soccer at a local park. After about 45 minutes of play, I was chasing down a ball and went up in the air for it. I landed with all of my weight on my right foot, which normally isn't a problem. However, when that right foot in turn lands on some kind of divot, problems can (and did) arise.<br /><br />My right ankle rolled outwards as all of my weight bore down, and a 'pop' was heard by me and the player closest to me. I went down like a house of cards, to my hands and knees. I managed to crawl on my hands and knees off the field, where one of the other guys gave me some ice in a ziplock bag to ice it down.<br /><br />After about 10 minutes of icing it down, I experimented with the joint a bit and found that I could move it around without much discomfort at all. I put on my flip-flops, and tested out putting some weight on it, and it seemed ok. Maybe it wasn't too bad after all?<br /><br />I decided to call it a day, and then walked to my truck without too much difficulty. Some of the guys there asked if I needed any help, and I thanked them but said that it looked like it might not be too bad. One of them urged me to have it x-rayed, lest I wake up in the middle of the night with an ankle the size of a cantaloupe.<br /><br />I almost dismissed the advice, except for the memory of the 'pop' sound. That was something new. So, I headed off to the local Urgent Care which was blessedly empty. After a few x-rays, the doc came in and said that it looks like there was a bone chip in my right ankle, and asked me if I had broken my ankle in the past? He said that he would consult with a radiologist the following day, and refer me to an orthopedic surgeon if it was a fracture.<br /><br />The nurse splinted up my foot and calf, handed me a pair of crutches, a prescription for vicodin, and then I was sent on my way home. My wife picked me up, as I can not exert any pressure on the joint, and hence can not drive. Oh boy, this is going to be fun.<br /><br />On Monday, I got an referral and appointment to see an orthopedic surgeon, which I will go to in a few minutes. More information will be forthcoming as it arrives. I am praying that no surgery will be needed, and that the break is minor.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com3tag:blogger.com,1999:blog-14311740.post-4219233037752936332008-12-04T08:27:00.000-08:002008-12-04T08:41:31.620-08:00Python Challenge<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.reuters.com/wp-content/uploads/2006/06/python300.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 150px; height: 212px;" src="http://blogs.reuters.com/wp-content/uploads/2006/06/python300.jpg" alt="" border="0" /></a>Of all the scripting languages out there, I would have to say that <a href="http://www.python.org/">Python</a> is my favorite. I don't use it a lot, but when I need to whip up some kind of task to do some heavy text processing, or pull email down from my gMail account, I know that python can do it.<br /><br />Yesterday, <a href="http://arstechnica.com/">Ars Technica</a> had a nice article on <a href="http://arstechnica.com/news.ars/post/20081202-getting-a-grip-on-python-six-ways-to-learn-online.html">learning python via online resources</a>. I was already aware of most of the references mentioned in the article, but in the comments to the article I found a gem - <a href="http://www.pythonchallenge.com/">The Python Challenge</a>.<br /><br />The best way I can explain the Python Challenge is that it is like an adventure game with problems that can be solved using a few lines of python code. You start with problem number one, and when you have completed the problem, it will lead you to the URL for problem #2. Of course, what makes the challenge so challenging is that the problems are not always clearly spelled out on the web page. At times you'll need to view the source code and decipher clues to even find what the problem is. And then, of course, you'll need to solve the programming problem.<br /><br />Right now, I am stuck on #6. I solved the programming problem, and received the ending clue ("collect the comments"), but I am not sure what to do now. I'll let it simmer in the back of my head for a while before I resort to looking for hints.<br /><br />As a side note, these problems can also be solved with perl and even bash scripts. After you have completed a problem, a solution wiki page for that problem becomes available so you can see how other people solved the problem, which is always interesting and helpful.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-44361577337220937182008-11-20T14:27:00.000-08:002008-11-20T14:49:06.748-08:00Unicode and Delphi 2009<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.piotrpix.com/files/images/Keyboard%20Enter%20Key_0.preview.JPG"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 267px; height: 200px;" src="http://www.piotrpix.com/files/images/Keyboard%20Enter%20Key_0.preview.JPG" alt="" border="0" /></a>I must confess that when it comes to <a href="http://en.wikipedia.org/wiki/Unicode">Unicode</a>, I have buried my head in the sand and deliberately tried to ignore the whole transition mess from the English-centric ANSI based character set to the world-friendly Unicode standard.<br /><br />To get a brief background on Unicode and what it means to developers, please see <a href="http://www.joelonsoftware.com/articles/Unicode.html">Joel's article</a>. It is a good briefing on the problem that Unicode solves, and addresses the basics.<br /><br />As mentioned in other programming related posts, my company's primary products are developed using <a href="http://www.codegear.com/products/delphi">Delphi</a> 2007 for the Windows platform. One of the primary products is also supported on the Linux platform by using <a href="http://www.freepascal.org/">Free Pascal</a>.<br /><br />Recently, CodeGear released a new version of Delphi - 2009. Doing some research on the product, it appears as if they have made a fairly significant change to the language. In previous versions, the <span style="font-family:courier new;">string</span> type was an <span style="font-family:courier new;">AnsiString</span>, which means that one characters takes up one byte of memory. In the 2009 version, the <span style="font-family:courier new;">string</span> type is now mapped to a <span style="font-family:courier new;">UnicodeString</span>. Since a Unicode string can have one of several types of encoding which map one character to one or more bytes, it is possible that this change may drastically affect any legacy Delphi application which processes strings, especially if it is a library which is used by other applications.<br /><br />Thankfully, CodeGear has provided developers with three articles {<a href="http://dn.codegear.com/article/38437">part 1</a>, <a href="http://dn.codegear.com/article/38498">part 2</a>, <a href="http://dn.codegear.com/article/38693">part 3</a>} detailing the changes made, and gotchas to look out for when porting legacy applications over to Delphi 2009. Please take a look at these articles to see what the potential obstacles are when moving your applications over, and consider the difficulties. Third party components will most likely also need to be tweaked to work with Delphi 2009, so keep that in mind as well. You can find PBear's HTML viewer updated for Delphi 2009 <a href="http://www.songbeamer.com/delphi/">here</a>, along with other free components.<br /><br />As far as Free Pascal is concerned, Unicode support and compatibility is something that they are currently hashing through. Until a Delphi 2009 Unicode compatibility mode can be implemented in Free Pascal, we will be forced to stick with Delphi 2007 for the time being.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com2tag:blogger.com,1999:blog-14311740.post-50380342815575347812008-11-11T14:14:00.000-08:002008-11-11T14:15:27.319-08:00The Matrix Runs WindowsCheck it out <a href="http://www.todaysbigthing.com/2008/11/10">here</a>. That is all!Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-62871471563421340552008-08-20T14:56:00.001-07:002009-01-15T12:50:11.455-08:00Calf Muscle Rehabilitation and Soccer<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_h6vxr1Bf3cw/SKyVcbuUXPI/AAAAAAAAAo8/cGU3j37CcJ0/s1600-h/funny_soccer.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_h6vxr1Bf3cw/SKyVcbuUXPI/AAAAAAAAAo8/cGU3j37CcJ0/s320/funny_soccer.jpg" alt="" id="BLOGGER_PHOTO_ID_5236724782435949810" border="0" /></a>It has been just over one year since my <a href="http://c600g.blogspot.com/2007/08/torn-calf-muscle-redux.html">last calf muscle injury</a>. The blog post I made on the subject is the #1 post for my humble blog, as it pops up as a search result thanks to Google. As regular readers (I have at least 2) may know, I <a href="http://c600g.blogspot.com/search/label/surf">surf</a> quite a bit - working 5 minutes away from the beach lets me use my lunch hour to get some water time in.<br /><br />While I <span style="font-style: italic;">love</span> surfing, it doesn't do much to stretch out or strengthen my lower body (however, it is very good for the upper body). So, I decided to look around for an adult soccer league to join that would be good exercise for my legs. Luckily, I found a men's over-35 team in Carlsbad that needed a few players, so I signed up.<br /><br />About 2 weeks ago, I suited up in shin guards and cleats, and went down to a local field to try and get my feet on the ball a bit. I have coached youth soccer for the last 4 years, and look forward to actually playing again.<br /><br />You can probably guess what happened next... After a workout on Tuesday, my right lower calf muscle felt a little tweaked, but not too bad - just a bit uncomfortable. On Thursday, I laced up and went to jog across the field and back to warm up a bit before stretching, and on the return leg the tweak cranked up a lot, and I had to stop and limp back.<br /><br />It didn't feel like my previous two incidents, so I think that I did not tear the muscle - maybe just strained it or something like that. I limped for about 24 hours, and then started looking at how to stretch out the calf muscles to try and prevent this in the future.<br /><br />I have stretched in the past, but I have never focused on the calf muscles. Instead, I'd work the quads, hammys, and groin. I realized that I had been neglecting my calves - pretty stupid of me (especially after two injuries).<br /><br />Maybe neglecting is the wrong word... I have never been shown how to stretch out the calf, in all the sports I have played and gym classes taken through school and even in college. So, with the theory of "knowing your enemy" in mind, I first did some <a href="http://en.wikipedia.org/wiki/Calf_muscle">reading up on the calf muscle</a>, which is actually a pair of muscles: the <a href="http://en.wikipedia.org/wiki/Gastrocnemius_muscle" title="Gastrocnemius muscle">gastrocnemius</a> and <a href="http://en.wikipedia.org/wiki/Soleus_muscle" title="Soleus muscle">soleus</a>. The article even mentions torn calf muscles, the 'pop' that so many of us feel, and the conditions that triggered it in my cases: sudden acceleration and changes in direction.<br /><br />Next, I did a search on stretches focusing on the pair of calf muscles, and found these: <a href="http://www.youtube.com/watch?v=95A-pAKiOwg">gastrocnemius stretch</a> and <a href="http://www.youtube.com/watch?v=1i8QwoscojU&feature=related">soleus stretch</a>. Since I found these videos, I've been doing both stretches for 90 seconds on each leg, and I do believe that my lower legs are feeling better. I'm not back to 100% yet, but I can make my way around the pitch if I take care to avoid sudden acceleration and changes in direction. I hope to be back up to 95% before the first game of our season, which starts on September 5th.<br /><br />If you have hurt your calf, please be careful to not stretch it out prematurely. A bad tear can take a long time to heal, so when you start trying to stretch, let common sense be your guide. Stretch slowly and gently, avoiding bouncing. Any pain should be a sign that you are doing too much too fast.<br /><br />To keep the rest of your lower body in shape, I found that biking was fairly low impact for my most recent injury, so long as I didn't stand up and pedal (pushing on the front portion of the foot as you do to begin a sprint).<br /><br />If you know of any other good stretches, or want to talk about your calf injury, please feel free to comment below!Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com64tag:blogger.com,1999:blog-14311740.post-38095373264133774092008-08-14T08:27:00.000-07:002008-08-14T09:16:45.875-07:00Trip to Italy - Part 3The final destination of our grand Italian vacation was the beautiful city of <a href="http://en.wikipedia.org/wiki/Venice">Venice</a>. They say that the farther you go North in Italy, the more expensive it gets. From our limited experience (from Naples in the southern portion of the country, to Rome in the middle, and then Venice in the North), I can indeed confirm this piece of folk wisdom.<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5234395636700361298"><img src="http://lh3.ggpht.com/alan.krause/SKRPGTthMlI/AAAAAAAAAoc/VDLPi3FsBaI/s400/IMG_0505.JPG" /></a><br /></div><div align="center"><small><i>Venice's Grand Canal</i></small></div><br />Venice is a tourist destination for a large number of people from Europe and Asia. The city seemed much more ritzy-touristy than Rome, which had many historical sites. Venice, on the other hand, features a large number of ways to separate you from your money via high-end shops and restaurants.<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5234395634331135682"><img src="http://lh6.ggpht.com/alan.krause/SKRPGK4prsI/AAAAAAAAAoU/Hg7Me9D7bCk/s400/IMG_4509.JPG" /></a><br /></div><div align="center"><small><i>Dining <a href="http://dictionary.reference.com/browse/alfresco">al Fresco</a></i></small></div><br />The municipal coat of arms for Venice features a winged lion, and you see this symbol throughout Venice. I can hardly think of a better mascot, short of <a href="http://www.youtube.com/watch?v=7gz1DIIxmEE">Trogdor</a> the <a href="http://www.homestarrunner.com/trogdor.html">Burninator</a>.<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5234395602670703506"><img src="http://lh3.ggpht.com/alan.krause/SKRPEU8N05I/AAAAAAAAAn0/15hEqKtZ2CE/s400/IMG_4464.JPG" /></a><br /></div><div align="center"><a href="http://europeforvisitors.com/venice/articles/winged_lion_of_st_mark.htm"><small><i>Winged Lion of St. Mark</i></small></a></div><br />We walked through the open air market near the <a href="http://en.wikipedia.org/wiki/Rialto_Bridge">Rialto Bridge</a> one morning, and saw some of the local produce and seafood, which is boated in daily.<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5234395622729801506"><img src="http://lh5.ggpht.com/alan.krause/SKRPFfqrXyI/AAAAAAAAAoE/X1TSyIU0ako/s400/IMG_4502.JPG" /></a><br /></div><div align="center"><small><i>Local Produce</i></small></div><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5234395626995358978"><img src="http://lh5.ggpht.com/alan.krause/SKRPFvjqnQI/AAAAAAAAAoM/hiazC8FKHf8/s400/IMG_4506.JPG" /></a><br /></div><div align="center"><small><i>Fresh Seafood</i></small></div><br />The architecture of Venice fascinated me the most. It is a city with almost no land unused. The alleyways twist and wind through the buildings, occasionally meeting in a small plaza or crossing a canal. The lesser traveled walkways (sometimes only 3 or 4 people wide) can be eerily quiet even in the middle of the day, and it is always interesting to see what shops are found on these lesser traveled routes.<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5234395606855962674"><img src="http://lh6.ggpht.com/alan.krause/SKRPEkiD0DI/AAAAAAAAAn8/Xv1yf_IXCPI/s400/IMG_4501.JPG" /></a><br /></div><div align="center"><small><i>Horse - the other red meat!</i></small></div><br />After three days in Venice and 10 days in Italy, we had to make our way back home. It was a great vacation with the family, and something I think we will all remember for the rest of our lives.Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com1tag:blogger.com,1999:blog-14311740.post-37625723014667123662008-08-06T14:31:00.001-07:002008-08-14T09:16:36.199-07:00Trip to Italy - Part 2While we stayed in Rome for the week, we made two day trips during those 7 days. Our first day trip (by way of a very comfortable high speed train) was to <a href="http://en.wikipedia.org/wiki/Florence">Florence</a>. We had reservations to the Accademia dell'Arte del Disegno to see Michelangelo's David and several other works of art (sorry, no cameras allowed!).<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5231517358944394274"><img src="http://lh3.ggpht.com/alan.krause/SJoVUfgrnCI/AAAAAAAAAm8/YAmKB5qah34/s400/IMG_4377.JPG" /></a><br /></div><div align="center"><small><i>Fountain in Florence</i></small></div><br />We then walked about the city, taking in the sights and sounds. A bus tour sped us through the highlights of the locale, and we visited the Ponte Vecchio ("old bridge"). The Ponte Vecchio was first constructed by the Romans, and was the only bridge not destroyed by the German forces during their withdrawl from Italy in 1944, allegedly because of an express order by Hitler.<br /><br />Our second day trip took us South of Rome, to <a href="http://en.wikipedia.org/wiki/Naples">Naples</a>. From Naples we caught a local train to <a href="http://en.wikipedia.org/wiki/Pompeii">Pompeii</a>. What can I say about Pompeii, other than it was truly an amazing experience? It boggles my mind how complete a city it was, nearly 2000 years ago!<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5231519666945248514"><img src="http://lh3.ggpht.com/alan.krause/SJoXa1e9zQI/AAAAAAAAAnE/8DTFEDLR6dc/s400/IMG_4429.JPG" /></a><br /></div><div align="center"><small><i>Pompeii Baking Area</i></small></div><br />The city is so well preserved that some of the artwork (mostly frescos) is still visible, and quite beautiful.<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5231519672276116162"><img src="http://lh3.ggpht.com/alan.krause/SJoXbJV8YsI/AAAAAAAAAnM/rRWKJrpSj1M/s400/IMG_4439.JPG" /></a><br /></div><div align="center"><small><i>Fresco on the wall of a Pompeii house</i></small></div><br />We spent a good 5 hours walking around Pompeii, and could have easily extended that to a full day if we had the time. <a href="http://en.wikipedia.org/wiki/Herculaneum">Herculaneum</a> is Pompeii's lesser known sister city, which faced a similar fate. That archeological site would have needed another day in and of itself as well.<br /><div align="center"><br /><a href="http://picasaweb.google.com/alan.krause/Italy/photo#5231519675543819698"><img src="http://lh5.ggpht.com/alan.krause/SJoXbVhBlbI/AAAAAAAAAnU/5eeCXWrmP_Y/s400/IMG_4448.JPG" /></a><br /></div><div align="center"><small><i>Vesuvius and Family</i></small></div><br />We then made our way back to Naples, and had pizza Margherita at pizzeria “Da Michele” - supposedly the place which originated this style of pizza. I can't say too much positive about the city of Naples itself (other than the pizza), as it was still recovering from a trash workers strike. We had to be extra careful of pick-pockets and others, and that extra vigilance can take a toll on your ability to relax and enjoy the sights and sounds.<br /><br />My next post will cover our three days in Venice!Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-9433319583592250012008-05-21T07:32:00.001-07:002008-08-14T09:16:16.364-07:00Trip to Italy - Part 1<div xmlns="http://www.w3.org/1999/xhtml"><div style=""><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Flag_of_Italy.svg/158px-Flag_of_Italy.svg.png" style="max-width: 800px; float: right;" />Well, things have been very busy for me and my family, but I have a few spare minutes and thought that I would update the blog on our biggest event this year so far - our trip to Italy. We went with our extended family, and everyone had a great time.<br /><br />Several months before leaving, I decided to try and pick up as much of the Italian language as possible. I purchased a few books, and even gave the (very boring) Rosetta Stone program a try. However, the best tool I found for picking up conversational Italian is <a href="http://www.pimsleurdirect.com/languages/italian-language-courses">Pimsleur's Speak and Read Italian</a>.<br /><br />There are three courses in the series, each consisting of 30 lessons. Each lesson is just under 30 minutes, which just so happens to perfectly coincide with my commute time. Thus, I would often listen to a lesson on the way to work, and then repeat it on the way home or advance to the next one. I made good progress through the lessons, and made it half way through the Italian II course before we headed off to Italy.<br /><br />We left for Italy on the Saturday before Easter, and actually arrived in <a href="http://en.wikipedia.org/wiki/Rome">Rome</a> Easter morning. We spent that day checking into our hotel, relaxing, and trying to get a feel for the new surroundings.<br /><br /><div align="center"><a href="http://picasaweb.google.com/alan.krause/Roma/photo#5202592110300498322"><img src="http://lh3.ggpht.com/alan.krause/SDNR9bW2CZI/AAAAAAAAAkg/UQKko9dLll4/s400/IMG_4407.JPG" /></a><br /></div><div align="center"><small><i>View from Our Room</i></small></div><br />There are a lot of sights to see in Rome, as one might expect of a city with over 2,700 years of history. We took a bus tour around The Eternal City to get a feel for it, and stopped off at <a href="http://en.wikipedia.org/wiki/Piazza_Navona">Piazza Navona</a> to walk around a bit.<br /><br /><div align="center"><a href="http://picasaweb.google.com/alan.krause/Roma/photo#5202591165407693106"><img src="http://lh3.ggpht.com/alan.krause/SDNRGbW2CTI/AAAAAAAAAjs/WtI_goEqt2M/s400/IMG_4210.jpg" /></a><br /></div><div align="center"><small><i>Piazza Navona</i></small></div><br />A short walk from there, and you'll find yourself at the <a href="http://en.wikipedia.org/wiki/Pantheon%2C_Rome">Pantheon</a>.<br /><br /><div align="center"><a href="http://picasaweb.google.com/alan.krause/Roma/photo#5202591173997627714"><img src="http://lh5.ggpht.com/alan.krause/SDNRG7W2CUI/AAAAAAAAAj0/Ss7QAaSsriM/s400/IMG_4226.jpg" /></a><br /></div><div align="center"><i><small>Pantheon</small></i></div><br />There are many fountains throughout Rome, built to bring water to the people. The water is fresh and we drank it often during our walks through Rome.<br /><br /><div align="center"><a href="http://picasaweb.google.com/alan.krause/Roma/photo#5202591186882529618"><img src="http://lh4.ggpht.com/alan.krause/SDNRHrW2CVI/AAAAAAAAAj8/MkYMjNsIsx8/s400/IMG_4247.jpg" /></a></div><div align="center"><small><i>Trevi Fountain</i></small></div><br />My youngest son thought that the Colosseum was extremely impressive, and I would have to agree. Although parts of it were cannibalized for construction later on in Rome's history, a good portion of it still stands today. Perhaps most impressive were the storage areas underneath the main "floor", where the gladiators and animals they fought were kept. You can see today where elevators raised new and exciting beasts to the arena floor.<br /><br /><div align="center"><a href="http://picasaweb.google.com/alan.krause/Roma/photo#5202591195472464226"><img src="http://lh6.ggpht.com/alan.krause/SDNRILW2CWI/AAAAAAAAAkE/rM4jGCgLhq0/s400/IMG_4310.JPG" /></a><br /></div><div align="center"><small><i>Colosseum</i></small></div><br />Exploring the forum and the ruins around it are definitely worth your time. Don't miss out on hiking up Palatine Hill to get a breathtaking view of Rome, and stroll through the Emperor's palace.<br /><br /><div align="center"><a href="http://picasaweb.google.com/alan.krause/Roma/photo#5202591204062398834"><img src="http://lh4.ggpht.com/alan.krause/SDNRIrW2CXI/AAAAAAAAAkM/VRAoV0t919I/s400/IMG_4340.JPG" /></a><br /></div><div align="center"><small><i>Family</i></small></div><br />My next post will cover two of our days trips from Rome...</div></div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com1tag:blogger.com,1999:blog-14311740.post-28730340827561093132008-04-09T11:05:00.000-07:002008-12-09T21:30:58.883-08:00Rest In Peace, Ace<div style="margin: 0px auto 10px; text-align: center;"><a href="http://4.bp.blogspot.com/_h6vxr1Bf3cw/R_0FX4HlxJI/AAAAAAAAAhg/rvYgEdRHqe0/s1600-h/2.00001.jpg"><img id="BLOGGER_PHOTO_ID_" alt="" src="http://4.bp.blogspot.com/_h6vxr1Bf3cw/R_0FX4HlxJI/AAAAAAAAAhg/rvYgEdRHqe0/s400/2.00001.jpg" border="0" /></a> </div><br />Ace, our dog of almost 13 years, was laid to rest on Friday March 21st, 2008. He leaves behind a family that misses him terribly.<br /><br />I've mentioned Ace in several of my posts, and if you have ever been to my house over the last 13 years, you have certainly met him. He was a large and friendly dog that my wife and I picked out from the local animal shelter approximately one year before our first child was born. It turns out that his other siblings were not able to be adopted, as all of them were sick. We were lucky that we picked him out of the litter before the vet had a chance to look at him.<br /><br />During the early years of his life, he provided my wife with both companionship and security as our children were born. She wasn't ever worried about being home alone while I was at work, so long as Ace was around. Later on, he was a friend and protector of our children.<br /><br />During his last year of life, we saw his health steadily decline. His hearing deteriorated quite a bit, and his bouts of nervousness increased. Near the end, he had an eye infection in his left eye that he just couldn't seem to shake off, despite medication. His appetite was a mere fraction of what it used to be. Finally, he lost his footing with his rear legs and hips, and went to the floor. After attempting to get him up and mobile that day, and after several trips to the vet over the previous two weeks, my wife and I decided that it was time to let Ace go.<br /><br />I have never owned a dog from puppyhood through death, so taking him to the vet on his last day was a new experience for me, and for my kids. The vet and techs were very understanding and helpful. It took four of them to get Ace out of the car and onto a stretcher, such was his lack of mobility. He never made a peep, and seemed content and ready.<br /><br />After we said our goodbyes to him, I held him as they injected him with the sedatives that would release him. I can only hope he understood how much all of us loved him.<br /><br />The old cliche goes, "you don't know what you've got until it's gone". I find myself "seeing" him out of the corner of my eye sometimes, only to realize upon further inspection that it was a blanket or shadow. I have to battle to not leave the back door open for him, and still expect to see him first when I come home from work in the afternoon (he was always the first to greet me). I miss his company in the mornings when only he and I were awake in the house as I prepared for work.<br /><br />Rest in peace, Ace. We love you, and you will never be forgotten.<div style="clear: both; text-align: center;"><a href="http://picasa.google.com/blogger/" target="ext"><img src="http://photos1.blogger.com/pbp.gif" alt="Posted by Picasa" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="middle" border="0" /></a></div>Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com5tag:blogger.com,1999:blog-14311740.post-2498886111127626722008-03-18T15:38:00.000-07:002008-12-09T21:31:11.090-08:00Now Using Greylite<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h6vxr1Bf3cw/R-BK3ZiiLxI/AAAAAAAAAhU/HThBWc6PJX0/s1600-h/spam.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_h6vxr1Bf3cw/R-BK3ZiiLxI/AAAAAAAAAhU/HThBWc6PJX0/s320/spam.jpg" alt="" id="BLOGGER_PHOTO_ID_5179221887085063954" border="0" /></a>In <a href="http://c600g.blogspot.com/2007/11/war-on-spam.html">this old post</a>, I spilled the beans on my new and improved spam filtering triple play: <a href="http://dspam.nuclearelephant.com/">dspam</a>, <a href="http://www.jonatkins.com/page/software/qgreylist">qgreylist</a> and <a href="http://en.wikipedia.org/wiki/DNSBL">RBL</a> checking. Overall, the system has worked well over the last four months, though I have noticed the increasing volume of spam showing up in my spam folder.<br /><br />I suspected that the very simple form of <a href="http://en.wikipedia.org/wiki/Greylisting">greylisting</a> implemented in qgreylist was the culprit, and after a bit of investigation, I found out that this indeed was the case. So, I set out to see if there was another greylisting implementation which could be used in my <a href="http://qmail.org/top.html">qmail</a> installation.<br /><br />Using my google-fu, I quickly zeroed in on <a href="http://mij.oltrelinux.com/net/greylite/">Greylite</a>. After reading up on it, I found that it held several advantages over qgreylist:<br /><ol><li>Written in C instead of perl, so it should perform a bit snappier and be less of a burden on the mail server.</li><li>Instead of only considering the IP address of the sender as qgreylist does, greylite considers the complete triplet of {IP address, from, to} before validating an IP address.</li><li>All data is stored in a single sqlite3 database, whereas qgreylist stored the verified IP addresses as files in a single directory, which clutters the filesystem and increases access time in that directory as more IPs are validated.</li><li>Greylite appears to have some enhanced functionality called `tuning suspicion' which allows you to customize how it behaves in certain circumstances.</li></ol><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_h6vxr1Bf3cw/R-BJ_JiiLwI/AAAAAAAAAg0/UJc2x7mKMcM/s1600-h/flawless_victory.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_h6vxr1Bf3cw/R-BJ_JiiLwI/AAAAAAAAAg0/UJc2x7mKMcM/s400/flawless_victory.png" alt="" id="BLOGGER_PHOTO_ID_5179220920717422338" border="0" /></a>To install it on my debian box, I first had to install sqlite3 (and the associated development libraries). Then, I downloaded the source code and followed the simple directions that came with it.<br /><br />Less than 5 mintues later, and the server was up and running with its new greylisting implementation up and working perfectly. Flawless victory!Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com2tag:blogger.com,1999:blog-14311740.post-43261722614404759342008-03-13T10:15:00.001-07:002008-04-09T11:19:00.388-07:00Baseball Season UpdateSo, here we are over two weeks into our little league baseball season - how is our team doing? Well, we have 0 wins and 4 losses, so one <span style="font-style: italic;">could</span> make the argument that we are not doing too well. I would have to agree.<br /><br />The kids seem to be having a good time, however. So long as they continue to enjoy the game and improve over the course of the season, I'll be content. Wish us luck!Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com0tag:blogger.com,1999:blog-14311740.post-87752699349950765202008-02-26T14:39:00.000-08:002008-12-09T21:31:11.266-08:00By Request - My dspam Training Script<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_h6vxr1Bf3cw/R8SYYqr0LiI/AAAAAAAAAfk/LtC3mny9Izw/s1600-h/dspam-logo-eyes.gif"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_h6vxr1Bf3cw/R8SYYqr0LiI/AAAAAAAAAfk/LtC3mny9Izw/s320/dspam-logo-eyes.gif" alt="" id="BLOGGER_PHOTO_ID_5171425821670518306" border="0" /></a>In a <a href="http://c600g.blogspot.com/2007/02/dspam-installed.html">post</a> I made about one year ago, I mentioned a script which I created which trains <a href="http://dspam.nuclearelephant.com/">dspam</a> to recognize missed spam email, and corrects it when it falsely identifies a good ( or "ham") email as spam. Someone has requested that I post that script, so here it is. Please note that my <a href="http://www.qmail.org/top.html">qmail</a> installation uses the <a href="http://en.wikipedia.org/wiki/Maildir">maildir</a> format!<br /><br /><span style="font-size:85%;"><span style="font-family:courier new;">--- start file: <a href="http://www.shermanloan.com/%7Ealank/train-spam.sh">train-spam.sh</a> ---</span> <span style="font-family:courier new;"><br />#!/bin/sh<br /><br /># train-spam.sh<br />#<br /># Description: Checks each user's /home/Maildir/.Spam.Missed<br /># directories to see if the user placed any "missed" spam<br /># messages which got through SpamAssassin to their INBOX.<br /># If there are messages in this directory, then the script<br /># invokes sa-learn to update the site-wide tokens to try<br /># and improve the defenses for next time...<br />#<br /><br /># learn_spam - Function which takes a directory and a user as<br /># arguments, and then feeds that directory to our anti-spam<br /># applications for further SPAM training.<br />#<br /># Arguments:<br /># $1 - Directory name containing SPAM emails. Required<br /># $2 - User name. If it is not provided, $USER will be used.<br />#<br /># Example:<br /># learn_spam /home/alank/Maildir/.Spam.Missed/cur alank<br />#<br />function learn_spam {<br /><br /> # loop through all emails in given directory<br /> for email in $(ls $1); do<br /><br /> # process SPAM email using DSPAM<br /> /usr/local/bin/dspam --mode=teft --source=error --class=spam --feature=chained,noise --user $2 < $1/$email<br /> echo -n "."<br /><br /> # delete SPAM email<br /> rm $1/$email<br /><br /> done # end of email loop<br /><br />} # end function learn_spam<br /><br /># learn_ham - Function which takes a directory and a user as<br /># arguments, and then feeds that directory to our anti-spam<br /># applications for further HAM training.<br />#<br /># Arguments:<br /># $1 - Directory name containing HAM emails. Required<br /># $2 - User name. If it is not provided, $USER will be used.<br />#<br /># Example:<br /># learn_ham /home/alank/Maildir/.Spam.NotSpam/cur alank<br />#<br />function learn_ham {<br /><br /> # loop through all emails in given directory<br /> for email in $(ls $1); do<br /><br /> # process HAM email using DSPAM<br /> /usr/local/bin/dspam --mode=teft --source=error --class=innocent --feature=chained,noise --user $2 < $1/$email<br /> echo -n "."<br /><br /> # delete HAM<br /> rm $1/$email<br /><br /> done # end of email loop<br /><br />} # end function learn_ham<br /><br />#<br /># Script starts here!<br />#<br /><br /># loop through all user home directories<br />for file in $(ls /home); do<br /><br /> # if there is a Spam/Missed maildir<br /> if [ -d /home/$file/Maildir/.Spam.Missed/cur ]; then<br /> <br /> # then process any missed SPAM<br /> echo -n "missed spam for $file: "<br /> learn_spam /home/$file/Maildir/.Spam.Missed/cur $file<br /> learn_spam /home/$file/Maildir/.Spam.Missed/new $file<br /> echo ""<br /> <br /> fi # end if<br /><br /> # if there is a Spam/NotSpam dir<br /> if [ -d /home/$file/Maildir/.Spam.NotSpam/cur ]; then<br /> <br /> # then process any falsely identified spam, i.e. HAM<br /> echo -n "false positives for $file: "<br /> learn_ham /home/$file/Maildir/.Spam.NotSpam/cur $file<br /> learn_ham /home/$file/Maildir/.Spam.NotSpam/new $file<br /> echo ""<br /><br /> fi # end if<br /><br />done # end for loop<br /><br />echo "Done!"<br />--- end file: </span></span><span style="font-size:85%;"><span style="font-family:courier new;"><a href="http://www.shermanloan.com/%7Ealank/train-spam.sh">train-spam.sh</a></span></span><span style="font-size:85%;"><span style="font-family:courier new;"> ---</span><br /><br /></span>I place the above script in <span style="font-family:courier new;">/root</span> and create a <a href="http://en.wikipedia.org/wiki/Crontab">cron</a> job to run it every day in the early morning. You will need to edit some parts of the script if your missed spam and not spam directories are named differently. Good luck, and I hope it is helpful in your continuing battle against spam!Alanhttp://www.blogger.com/profile/00999861302655014098noreply@blogger.com2