{"id":14,"date":"2007-02-15T13:11:28","date_gmt":"2007-02-15T18:11:28","guid":{"rendered":"http:\/\/www.opticality.com\/blog\/?p=14"},"modified":"2007-10-02T15:02:27","modified_gmt":"2007-10-02T20:02:27","slug":"why-does-most-technology-feel-random-so-often","status":"publish","type":"post","link":"https:\/\/opticality.com\/blog\/2007\/02\/15\/why-does-most-technology-feel-random-so-often\/","title":{"rendered":"Why does most technology feel &#8220;random&#8221; so often?"},"content":{"rendered":"<p>I&#8217;ve been involved professionally with technology since 1980. So, you&#8217;d think that I understand it (and how it works) reasonably well by now. On some levels, sure, but on others, I feel as helpless as the proverbial mother-in-law or grandparent in the &#8220;clueless users&#8221; examples people always give&#8230;<\/p>\n<p>Conceptually, I understand how &#8220;small tweaks&#8221; can lead to <strong>large<\/strong> unexpected results. It&#8217;s a variation on <em>chaos theory<\/em>. Practically, it&#8217;s still annoying. What is harder (for non-techies) to understand is when things break down after <strong>no changes<\/strong> (that they are aware of!). Of course, it&#8217;s the parenthentical comment that is the <em>clue<\/em>.<\/p>\n<p>With modern operating systems, the vast majority of users have some form of <em>automatic updates<\/em> turned on. That being the case, things are chaging frequently, and possibly in very significant ways. It just so happens that the user doesn&#8217;t associate different behavior in their favorite applications with an <em>invisble<\/em> update.<\/p>\n<p>The above was just generic whining to get to one or two rants that have been bugging the hell out of me lately&#8230;<\/p>\n<p>The first topic is spam filtering. For many reasons (most of them rational ;-)), I am Windows user (specifically, WinXP Pro, but that&#8217;s not important). I don&#8217;t think it&#8217;s superior, etc., but many applications that I find convenient (and in some rare cases even <em>necessary<\/em>) are always available first on Windows, and often <strong>only<\/strong> on Windows&#8230; C&#8217;est la vie&#8230;<\/p>\n<p>So, being a <em>comitted<\/em> Windows person (no, the irony of that statement doesn&#8217;t escape me ;-)), for many years, I was a tried and true Outlook user. In fact, I started with Outlook 97, moved to 98, then 2000, and then 2003 (no, I didn&#8217;t have the pleasure of Outlook XP).<\/p>\n<p>In the early years, there was no need for spam filtering. Not only was the volume of spam low, my Internet activities were reasonably limited, so I wasn&#8217;t on many spam lists anyway. Of course, being a VC now, and having my name on many public sites, along with being subscribed to many mailing lists (public as well as publically available internal company lists), has changed that fact melodramatically.<\/p>\n<p>On some days, I get well over 1000 spam messages (through the variety of means that email can wind up in my real account). Clearly, that isn&#8217;t a sustainable number of mails to have to delete by hand (even though I am <em>ultra fast<\/em> at spotting spam and hitting the <em>Junk<\/em> key).<\/p>\n<p>So, a few years ago, I installed the free SpamBayes plug-in for Outlook. (This now requires a minor side-rant) \ud83d\ude41<\/p>\n<p>&lt;Side Rant&gt;<\/p>\n<p>Ever since I upgraded to WordPress 2.1, I can&#8217;t create any links with their &#8220;visual&#8221; tab. I wanted to link to the SpamBayes project page above, and got a <strong>blank<\/strong> pop-up box where the form is supposed to be. Firebug shows errors with TinyMCE, and before that, an error with an XHTPPRequest, so it&#8217;s likely Firefox config that&#8217;s causing the problem, but I have no idea whatsoever what else to try (obviously, I&#8217;ve tried a lot of things&#8230;)<\/p>\n<p>&lt;\/Side Rant&gt;<\/p>\n<p>So, I ran SpamBayes for a long while, and also ran a commercial derivative of it, InBoxer (should have had a link to that as well&#8230;)<\/p>\n<p>It did a pretty good job. Still, it wasn&#8217;t all that satisfying, because every message needed to be downloaded to my laptop, before SpamBayes (SB) could analyze it. That meant that on a heavy spam day, if I was on a slow link (let&#8217;s say dial-up, <em>gulp<\/em>), I had to wait for all of the spam to come down to find the few <em>gems<\/em> that I was breathlessly waiting to read.<\/p>\n<p>So, after doing that for quite a while, and building up a large SB db, I decided to get <em>creative<\/em>. I installed SB on the server as well (I control my own server), and regularly uploaded my <strong>local<\/strong> (meaning laptop) SB db to the server. Then I added a procmail rule that filtered each message using the locally trained db (but now up on the server), and then did one of three things with the result:<\/p>\n<ol>\n<li>If it was marked as &#8220;ham&#8221; (definitely not spam), it was just passed through normally.<\/li>\n<li>If it was marked as &#8220;unsure&#8221; (the range is user-definable), then it was moved to another account on the server, so that it didn&#8217;t <em>auto-download<\/em> on each email check (this solved the problem of slow links with lots of possible spam)<\/li>\n<li>If it was marked as &#8220;spam&#8221;, it was deleted right then and there on the server.<\/li>\n<\/ol>\n<p>This worked very nicely for quite a while as well.<\/p>\n<p>Then, I woke up, and decided to break myself of the <em>Outlook Addiction<\/em>. I&#8217;m still firmly in the Windows world, and have been ever since I decided to stop using Outlook for email (over 2 years ago now!). Even though I own a legal copy of Office 2003, I now only use Outlook for Calendar, Tasks and Notes, and that only because it syncs reliably with my Treo 700p.<\/p>\n<p>I switched to Thunderbird, and have never regretted doing that. I&#8217;ll save any niggling complaints about Thunderbird for some future post when I am really bored, since for the most part, I am <em>extremely<\/em> happy with TB.<\/p>\n<p>Now, the first part of the problem. TB has built-in Junk filters, which work <em>OK<\/em> (but not that great), but that puts me back to having to download everything to have it analyzed. The second part of the problem is that I can continue to use the old (static) SB db on the server to help cut down on spam, but the real beauty of SB is the B (Bayes), which continually learns. Since spammers constantly change their strategies to stay ahead of the anti-spam companies, having an outdated SB db degrades its usefulness over time.<\/p>\n<p>Wow, I can&#8217;t believe how much <em>background<\/em> I just gave in order to get to the actual point&#8230;<\/p>\n<p>Recently, emails that were previously being marked as &#8220;ham&#8221;, or &#8220;unsure&#8221;, were getting tagged as <em>guaranteed<\/em> &#8220;spam&#8221;, meaning SB was assigning them a spam score of 1.0! Of course, my server-side filter was dutifully tossing them to \/dev\/null as instructed, and I was blissfully unaware of that.<\/p>\n<p>I discovered that when another phenomenon began. Any emails with large attachments were going directly to \/dev\/null. Since most of my procmail rules are also duplicated for Lois, she was complaining before I noticed, that people were writing tons of &#8220;follow up&#8221; emails to her, wondering why she hadn&#8217;t responded to their last email. Those follow up emails were getting through, because they didn&#8217;t have attachments. I am <em>still<\/em> not sure that this was because of the old SB db, but at least that caused me to find the other emails that were definitely being miscategorized&#8230;<\/p>\n<p>In any event, I turned off the SB db, and the flood of spam started up again. About a month ago, I turned off SpamAssasin on the server side, because while it was somewhat effective, it was also one of the biggest resource hogs I had ever seen on the server, and the &#8220;reward&#8221; wasn&#8217;t worth it&#8230;<\/p>\n<p>So, now, I&#8217;m spending a little too much time <strong>hand-tuning<\/strong> procmail rules to get the spam back down to a mangeable range. So far, so good, but with <strong>lots<\/strong> more effort than I would have hoped to expend, given the nice steady state I had for a reasonably long time.<\/p>\n<p>Anyway, this post has turned out <strong>way<\/strong> longer than I expected, so I will save the other &#8220;random&#8221; events for some future post, when they bubble to the top of my frustration queue.<\/p>\n<p>P.S. I am still not sure I&#8217;ve &#8220;solved&#8221; the large attachment problem. My temporary solution was to specifically whitelist those senders in procmail, which works, but begs the issue of whether others are being thrown away that I&#8217;ll never find out about, or find out about too late \ud83d\ude41<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been involved professionally with technology since 1980. So, you&#8217;d think that I understand it (and how it works) reasonably well by now. On some levels, sure, but on others, I feel as helpless as the proverbial mother-in-law or grandparent in the &#8220;clueless users&#8221; examples people always give&#8230; Conceptually, I understand how &#8220;small tweaks&#8221; can [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[4,3,2],"tags":[23,22,21],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-4","category-3","category-2","tag-blog-software","tag-upgrade","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":0,"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"wp:attachment":[{"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opticality.com\/blog\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}