<?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>heldermagalhaes.com/blog &#187; Software</title>
	<atom:link href="http://heldermagalhaes.com/blog/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://heldermagalhaes.com/blog</link>
	<description>Half-baked stuff for an imperfect World</description>
	<lastBuildDate>Sun, 31 Jan 2010 16:42:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Spam Wars: Round 1&#8230; Fight!</title>
		<link>http://heldermagalhaes.com/blog/2009/10/spam-fighting-round-1/</link>
		<comments>http://heldermagalhaes.com/blog/2009/10/spam-fighting-round-1/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 19:43:28 +0000</pubDate>
		<dc:creator>Helder</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://heldermagalhaes.com/blog/?p=83</guid>
		<description><![CDATA[
My blog has been receiving a lot of spam lately, at a rate of about 50 dummy comments per day. As my current web hosting doesn&#8217;t allow me to open socket connections, a part of WordPress functionality (including Akismet, the spam checker plug-in shipped with WordPress) won&#8217;t work. I knew about the limitations and am [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://heldermagalhaes.com/blog/wp-content/uploads/2009/10/No-Spam-300x300.png" alt="No-Spam" title="No-Spam" width="300" height="300" class="alignleft size-medium wp-image-90" /></p>
<p>My blog has been receiving a lot of spam lately, at a rate of about 50 dummy comments per day. As my <a href="http://www.freehostia.com">current web hosting</a> doesn&#8217;t allow me to open socket connections, a part of WordPress functionality (including Akismet, the spam checker plug-in shipped with WordPress) won&#8217;t work. I knew about the limitations and am currently looking for a hosting replacement (in fact, I guess I <a href="http://www.000webhost.com/">already found one</a>). In the meantime, manual triaging so much spam was just becoming painful. <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p><span id="more-83"></span></p>
<p>In order to try finding a quick fix to the problem, I made a quick analysis to the spam comments, which revealed a pattern in about 95% of the comments: the commenter always had the URL set to something like <em>[few random letters].com/map.html</em>. I then added the following to my <em>Comment Blacklist</em> (found in <em>Settings</em>, <em>Discussion</em>): </p>
<blockquote><p><code>.com/map.html<br />
buyaccutane@gmail.com<br />
195.88.33.85</code></p></blockquote>
<p>There, this should keep me less annoyed for a while (at least, until I find the time to switch hosting). <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>As a final note, be careful when automatically filtering using a less significant string (for example just <code>.com</code>): you may end up marking desired comments as spam. Always seek for a pattern which is different enough from generally expected content. <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>(Post image shamelessly copied from <a href="http://www.chillgeeks.com/2009/04/10-tips-to-reduce-spam.html">here</a>.)</p>
<p><em>Update 2009-11-22</em>: Updated anti-spam rules; added post image reference.</p>
]]></content:encoded>
			<wfw:commentRss>http://heldermagalhaes.com/blog/2009/10/spam-fighting-round-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using HTML for SVG intra-navigation</title>
		<link>http://heldermagalhaes.com/blog/2009/10/html-for-svg-navigation/</link>
		<comments>http://heldermagalhaes.com/blog/2009/10/html-for-svg-navigation/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 10:37:41 +0000</pubDate>
		<dc:creator>Helder</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://heldermagalhaes.com/blog/?p=42</guid>
		<description><![CDATA[I&#8217;ve just finished a demo which tries to fill a long caveat among SVG implementations: a consistent front-end for internal document navigation (zoom, pan, etc.). It took me a while to workaround and document a few subtle bugs in several implementations, as well as recently integrating SVG Web, which has it&#8217;s own set of limitations, [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_43" class="wp-caption alignleft" style="width: 310px"><img src="http://heldermagalhaes.com/blog/wp-content/uploads/2009/10/UsingHTMLforSVGNavigation-300x225.png" alt="Screenshot of SVG image after rotation, zoom and pan" title="HTML for SVG Navigation" width="300" height="225" class="size-medium wp-image-43" /><p class="wp-caption-text">Screenshot of SVG image after rotation, zoom and pan</p></div>
<p>I&#8217;ve just finished a <a href="/stuff/svg/demos/SVGObject-HTMLCanvasInteractors/">demo</a> which tries to fill a long caveat among SVG implementations: a consistent front-end for internal document navigation (zoom, pan, etc.). It took me a while to workaround and document a few subtle bugs in several implementations, as well as recently integrating <a href="http://code.google.com/p/svgweb/">SVG Web</a>, which has it&#8217;s own set of limitations, but it&#8217;s ready (at last!). <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>What are you waiting for? Go ahead and <a href="/stuff/svg/demos/SVGObject-HTMLCanvasInteractors/">try it</a>! <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://heldermagalhaes.com/blog/2009/10/html-for-svg-navigation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Introducing&#8221; Adobe SVG Viewer 8</title>
		<link>http://heldermagalhaes.com/blog/2009/04/introducing-asv8/</link>
		<comments>http://heldermagalhaes.com/blog/2009/04/introducing-asv8/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 15:05:54 +0000</pubDate>
		<dc:creator>Helder</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://heldermagalhaes.com/blog/?p=105</guid>
		<description><![CDATA[A common belief is that ASV 6 Developer Release 1 was the last version of the famous Adobe SVG Viewer software (ASV 3.03 being the last stable release). Well, apparently not&#8230;  
Distributed with Adobe Reader 8, one can take a peek at the ImageViewer.API file, placed within the plug_ins directory (full path will typically [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_106" class="wp-caption alignleft" style="width: 229px"><a href="http://heldermagalhaes.com/blog/wp-content/uploads/2009/11/ASV-Version8ShippedWithAdobeReader8.png"><img src="http://heldermagalhaes.com/blog/wp-content/uploads/2009/11/ASV-Version8ShippedWithAdobeReader8-219x300.png" alt="Properties screenshot of a file shipped with Adobe Reader 8" title="ASV8 - Version Shipped with Adobe Reader 8" width="219" height="300" class="size-medium wp-image-106" /></a><p class="wp-caption-text">Properties screenshot of a file shipped with Adobe Reader 8</p></div>
<p>A common belief is that <a href="http://www.adobe.com/svg/viewer/install/beta.html"><acronym title="Adobe SVG Viewer">ASV</acronym> 6 Developer Release 1</a> was the last version of the famous Adobe SVG Viewer software (<a href="http://www.adobe.com/svg/viewer/install/main.html"><acronym title="Adobe SVG Viewer">ASV</acronym> 3.03</a> being the last stable release). Well, apparently not&#8230; <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Distributed with Adobe Reader 8, one can take a peek at the <code>ImageViewer.API</code> file, placed within the <code>plug_ins</code> directory (full path will typically be <code>%ProgramFiles%\Adobe\Reader\plug_ins\ImageViewer.API</code>. The original filename, <code>NPSVG8.dll</code> (see screenshot), is probably familiar to whoever has played with previous <acronym title="Adobe SVG Viewer">ASV</acronym> versions: <code>NPSVGX.dll</code> stands for Netscape Plugin, where X is the major version number; the file was used for deploying the plug-in in browsers, such as Firefox (<a href="http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29">Gecko</a>) and Safari (<a href="http://en.wikipedia.org/wiki/WebKit">WebKit</a>), who didn&#8217;t natively support SVG by then. As of today, at least <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=133567">Firefox is no longer compatible with the plug-in</a> (and <a href="https://bugs.webkit.org/show_bug.cgi?id=25154">Safari will likely follow</a>) but they don&#8217;t need to anyway: a <a href="http://www.codedread.com/svg-support.php">good level of native SVG support</a> is available in modern browsers. <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span id="more-105"></span></p>
<p>When first I noticed about this file, there was an obvious question bouncing in my mind: <em>Would it be possible to turn <code>NPSVG8.dll</code> into an updated SVG Viewer?</em> That is, to integrate the DLL in order to produce a fixed version of ASV6 (which, while being superior to ASV3 in terms of features, is also more unstable and has a couple of nasty regressions). Crawling through the web brought up <a href="http://support.adobe.com/devsup/devsup.nsf/docs/51119.htm">a link containing some leads</a>, but in any case, the Adobe Reader license blocks it (in case someone is still wondering):</p>
<blockquote><p>Plug-in Restrictions. You will not integrate or use Adobe Reader with any plug-in software not developed in accordance with the Adobe Integration Key License Agreement.</p></blockquote>
<p>I wonder if Adobe would issue an integration agreement for doing that&#8230;? <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>A quick search through Adobe Reader 9 shows that the plug-in seems to have been removed for good. Chances are that functionality might have been reworked into <code>Multimedia.api</code>; also, some features were probably moved to the <a href="http://labs.adobe.com/technologies/mars/">Adobe Mars</a> (<code>PDFXML.api</code>) plug-in. Well, this turned out to be nice material to write about, anyway&#8230; <img src='http://heldermagalhaes.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em>Notice 2009-11-30</em>: This post wasn&#8217;t actually published when written: the post contents were mostly ready but, unfortunately, got lost in my &#8220;to do&#8221; stack (see the <a href="/blog/2009/09/first-things-first/">first blog entry</a> for more on this).</p>
]]></content:encoded>
			<wfw:commentRss>http://heldermagalhaes.com/blog/2009/04/introducing-asv8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
