<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>complich8's journal &#187; site news</title>
	<atom:link href="http://www.complich8.net/archives/category/site-news/feed" rel="self" type="application/rss+xml" />
	<link>http://www.complich8.net</link>
	<description>complacence is the enemy</description>
	<lastBuildDate>Tue, 17 Jan 2012 08:42:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Prevention versus amelioration</title>
		<link>http://www.complich8.net/archives/322</link>
		<comments>http://www.complich8.net/archives/322#comments</comments>
		<pubDate>Fri, 15 Dec 2006 07:54:20 +0000</pubDate>
		<dc:creator>complich8</dc:creator>
				<category><![CDATA[observational]]></category>
		<category><![CDATA[On the net/In the news]]></category>
		<category><![CDATA[site news]]></category>

		<guid isPermaLink="false">http://www.complich8.net/archives/322</guid>
		<description><![CDATA[So, ages back, when I started getting comment spam of all sorts of different types, I set up a moderation queue and made a rule &#8230; basically, if you posted with 2 or more links in your comment, it&#8217;d go into that queue and I&#8217;d moderate it. I get email whenever there&#8217;s a successful comment, [...]]]></description>
			<content:encoded><![CDATA[<p>So, ages back, when I started getting comment spam of all sorts of different types, I set up a moderation queue and made a rule &#8230; basically, if you posted with 2 or more links in your comment, it&#8217;d go into that queue and I&#8217;d moderate it.  I get email whenever there&#8217;s a successful comment, and when there&#8217;s a comment waiting to be moderated, so generally turnaround times on that were fairly good.</p>
<p>But, that was not going to float when I started getting 20-30 comment spams a day.  So I turned to a filtering solution: akismet.  Akismet&#8217;s pretty decent, it does a good job catching about 99% of the spam that gets tossed at stuff, and leaving the moderation rules in place caught 90% of what made it past akismet (leaving only about 1 in 1000 that got through unmoderated).  That was all well and good, right &#8230; it worked, it was sane, it had a good performance rate and a very low false-positive rate (I&#8217;ve seen maybe 3 false positives between here and gotwoot, which is set up exactly the same as this blog).</p>
<p>But, spammers have been winning the fight.  Lately, they&#8217;ve been designing more and more messages that make it through akismet, and akismet&#8217;s false positives are getting worse because to catch all the spam means to catch broader patterns, which include legitimate comment patterns.</p>
<p>Well, I wasn&#8217;t happy about that.  I don&#8217;t get a whole lot of traffic over here, but I do get a fair lot on gotwoot, and losing 2% or so of the legitimate comment traffic to false positives on spam filtering meant having to pay too much attention to the filters too often.</p>
<p>So, I decided it was time to move away from that model.  Akismet&#8217;s a post-comment filtering system.  The moderation queue is another post-comment filter.  They treat the symptoms, but not the disease.  So I moved the whole mess forward a step.</p>
<p><a href="http://www.boriel.com/?page_id=17">Captcha!</a> is a more direct approach.  Rather than guessing whether a comment is legit or not, why not just block out the generally irritating spambots before they can comment at all?</p>
<p>Captcha&#8217;s author suggests that it&#8217;s better for now to use other tools &#8230; like checking to make sure the user&#8217;s browser understands javascript, and that eventually captcha will be OCR-breakable (which is quite true).  However, any technique can be automated given sufficient computing power.  Breaking a captcha with OCR requires the comment-spammer to have the computer resources to OCR the image at all.  While that&#8217;s not terribly hard, it&#8217;s a hell of a lot harder than just churning away using POST requests (since it means establishing a session, getting, parsing, ocr&#8217;ing, and then posting).  It&#8217;s not a huge problem to do on a single page, but automating it will certainly slow down the spammer a bit, hurting his efficiency and making it cost slightly more than the nothing that it currently costs him.</p>
<p>They say &#8220;a stitch in time saves nine&#8221; and all that.  The way I see it, captcha is the stitch before the tear gets worse, akismet&#8217;s the ten late ones to fix it up.  </p>
<p>That said, I use them both now.  If someone <em>does</em> break captcha with OCR, they&#8217;re also going to have to get past akismet :p.</p>
<p>Incidentally, since installing captcha on gotwoot and here, I went from ~50 spams a day being caught by akismet to none at all being either akismetted or moderated, and none getting through to the front page.  So, so far it&#8217;s been 100% effective, which makes me happy.  And I&#8217;ve aimed for a generally readable captcha, which nobody&#8217;s complained about yet&#8230; so I guess everything&#8217;s cool!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.complich8.net/archives/322/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>site tweak: s/blog/journal/</title>
		<link>http://www.complich8.net/archives/301</link>
		<comments>http://www.complich8.net/archives/301#comments</comments>
		<pubDate>Sun, 03 Sep 2006 13:34:13 +0000</pubDate>
		<dc:creator>complich8</dc:creator>
				<category><![CDATA[site news]]></category>

		<guid isPermaLink="false">http://www.complich8.net/archives/301</guid>
		<description><![CDATA[For those familiar with pcre-type syntax, you already knew what that meant . For those that don&#8217;t, it means the term &#8220;blog&#8221; is probably sort of inaccurate for what I actually do here, so &#8230; you know, I figured I&#8217;d change it to be a bit more semantically accurate. &#8217;cause you know me and semantics.]]></description>
			<content:encoded><![CDATA[<p>For those familiar with pcre-type syntax, you already knew what that meant <img src='http://www.complich8.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>For those that don&#8217;t, it means the term &#8220;blog&#8221; is probably sort of inaccurate for what I actually do here, so &#8230; you know, I figured I&#8217;d change it to be a bit more semantically accurate.</p>
<p>&#8217;cause you know me and semantics.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.complich8.net/archives/301/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spam epidemic</title>
		<link>http://www.complich8.net/archives/285</link>
		<comments>http://www.complich8.net/archives/285#comments</comments>
		<pubDate>Wed, 19 Jul 2006 01:43:24 +0000</pubDate>
		<dc:creator>complich8</dc:creator>
				<category><![CDATA[site news]]></category>

		<guid isPermaLink="false">http://www.complich8.net/archives/285</guid>
		<description><![CDATA[Since it was installed on this instance (not terribly long ago, a couple months I guess), akismet has caught 995 spams. That&#8217;s &#8230; well &#8230; All I can say is, great work, akismet. That&#8217;s a lot of spam that I didn&#8217;t have to wade through.]]></description>
			<content:encoded><![CDATA[<p>Since it was installed on this instance (not terribly long ago, a couple months I guess), akismet has caught 995 spams.  That&#8217;s &#8230; well &#8230;</p>
<p>All I can say is, great work, akismet.  That&#8217;s a lot of spam that I didn&#8217;t have to wade through.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.complich8.net/archives/285/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I gotta say &#8230;</title>
		<link>http://www.complich8.net/archives/271</link>
		<comments>http://www.complich8.net/archives/271#comments</comments>
		<pubDate>Thu, 22 Jun 2006 09:50:09 +0000</pubDate>
		<dc:creator>complich8</dc:creator>
				<category><![CDATA[site news]]></category>

		<guid isPermaLink="false">http://www.complich8.net/archives/271</guid>
		<description><![CDATA[I&#8217;ve just gotta say &#8230; Akismet &#8230; seriously kicks ass. I got 58 comment-spams today, and precisely zero of them ended up making it past akismet. For some numbers: I&#8217;ve had one false positive and three false negatives with akismet, out of drawing near 700 spams since getting complich8.net. Pretty amazing, that&#8230; I&#8217;ll make a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just gotta say &#8230;</p>
<p>Akismet &#8230; seriously kicks ass.  I got 58 comment-spams today, and precisely zero of them ended up making it past akismet.</p>
<p>For some numbers: I&#8217;ve had one false positive and three false negatives with akismet, out of drawing near 700 spams since getting complich8.net.</p>
<p>Pretty amazing, that&#8230;</p>
<p>I&#8217;ll make a couple real posts later this week (or this weekend? dunno when exactly) &#8230; but for now I&#8217;m too busy dealing with broken gotwoot and broken seaslab security model and broken sleep schedule to put together enough coherent thoughts to post anything else&#8230; so there ya go :-p.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.complich8.net/archives/271/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A solution to the wordpress annoyance?</title>
		<link>http://www.complich8.net/archives/260</link>
		<comments>http://www.complich8.net/archives/260#comments</comments>
		<pubDate>Thu, 18 May 2006 12:40:02 +0000</pubDate>
		<dc:creator>complich8</dc:creator>
				<category><![CDATA[site news]]></category>
		<category><![CDATA[technobabble]]></category>

		<guid isPermaLink="false">http://www.complich8.net/?p=260</guid>
		<description><![CDATA[So, back in the world of wordpress (like world of warcraft, but with much, much worse graphics), I was getting really sick of the whole &#8220;not able to save posts cleanly&#8221; thing. I mean &#8230; it worked, it was just really annoying. So I did what I&#8217;ve done in the past: I smacked down a [...]]]></description>
			<content:encoded><![CDATA[<p>So, back in the world of wordpress (like world of warcraft, but with much, much worse graphics), I was getting really sick of the whole &#8220;not able to save posts cleanly&#8221; thing.  I mean &#8230; it worked, it was just really annoying.</p>
<p>So I did what I&#8217;ve done in the past: I smacked down a mysqldump of the important tables, dropped all the tables and did a clean install.</p>
<p>But then I had an idea!</p>
<p>MySQL has pluggable storage engines, right?  And the default is MyISAM, right?  Well, MyISAM sorta blows (doesn&#8217;t support transactions, is generally unsafe, uses ISAM indexing).  So what if I were to take the table dump, and turn all those MyISAM tables into InnoDB tables&#8230;.</p>
<p>See, I have already narrowed the problem down as far as &#8220;something wrong with one of the wordpress config tables&#8221; (as in, not something wrong with the php, and not something wrong with the post or comment tables on the mysql side).  So &#8230; what could it be?  Well, what if it&#8217;s that the options db is getting corrupted because of some glitch or another?  And, further, what if said glitch is because MyISAM is a sloppy bastard that is moderately unreliable (which is generally true, it&#8217;s very much not an ACID compliant engine).</p>
<p>So I did that.  Now my entire wordpress install is working off of InnoDB.  Of course, I won&#8217;t know if that actually fixed the problem until the problem shows up again.  But we&#8217;ll see, right?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.complich8.net/archives/260/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

