<?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>Martin Falatic's Techno Blog &#187; Marty</title>
	<atom:link href="http://www.falatic.com/index.php/author/Marty/feed" rel="self" type="application/rss+xml" />
	<link>http://www.falatic.com</link>
	<description>Technobabble</description>
	<lastBuildDate>Tue, 18 May 2010 08:50:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Photocopiers and privacy &#8211; things to ponder</title>
		<link>http://www.falatic.com/index.php/14/photocopiers-and-privacy</link>
		<comments>http://www.falatic.com/index.php/14/photocopiers-and-privacy#comments</comments>
		<pubDate>Tue, 18 May 2010 08:49:54 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=14</guid>
		<description><![CDATA[I noticed this article at Lifehacker today about how much data today&#8217;s photocopiers retain.  It may seem like sensationalist journalism but it&#8217;s actually quite interesting and worrisome.  People are growing accustomed to the idea of securing personal data, not giving out account number via email, using passwords, that sort of thing, but one doesn&#8217;t usually [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed <a title="Erase Your Copy Machine's Hard Drive to Wipe Important Documents" href="http://lifehacker.com/5540834/erase-your-copy-machines-hard-drive-to-wipe-important-documents" target="_blank">this article at Lifehacker</a> today about how much data today&#8217;s photocopiers retain.  It may seem like sensationalist journalism but it&#8217;s actually quite interesting and worrisome.  People are growing accustomed to the idea of securing personal data, not giving out account number via email, using passwords, that sort of thing, but one doesn&#8217;t usually think of a photocopier or printer as something that may store your document indefinitely.  (Previous news stories note how <a href="http://news.bbc.co.uk/2/hi/south_asia/4905052.stm" target="_blank">old flash drives</a> can be a vector for sensitive data leakage.)</p>
<p>What&#8217;s also very interesting is the aftermarket trade in all this.  As others point out, articles like this are not how criminals learn of such things &#8211; I&#8217;m sure there&#8217;s outfits out there buying up old printers, copiers or just the raw drives themselves, selectively, simply to vacuum useful info from them.</p>
<p>Why encryption and wipe-on-completion isn&#8217;t mandated is a mystery to me.  An exec suggested it&#8217;s a $500 add-on for one company&#8217;s products, but to me it should be a fundamental part of the product&#8217;s design!  Is it so hard to at least write a routine that overwrites a used/deleted file?  Not at all!  A big, fat &#8220;factory wipe&#8221; option loudly proclaimed in the manual?  A fraction of a cent&#8217;s worth of ink.</p>
<p>Note: encryption would be a good thing, but doing it <em>right </em>would add to hardware and design costs &#8211; otherwise the keys (being locally stored) are not much more secure than the data.  It&#8217;s far simpler to implement wipe-after-use and wipe-nightly.</p>
<p>See also the CBS video of this:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/iC38D5am7go&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube-nocookie.com/v/iC38D5am7go&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/14/photocopiers-and-privacy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building ZXing for Android part 3 – Using Eclipse</title>
		<link>http://www.falatic.com/index.php/12/building-zxing-for-android-part-3-%e2%80%93-using-eclipse</link>
		<comments>http://www.falatic.com/index.php/12/building-zxing-for-android-part-3-%e2%80%93-using-eclipse#comments</comments>
		<pubDate>Fri, 26 Feb 2010 08:42:25 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[Barcode Scanner]]></category>
		<category><![CDATA[building]]></category>
		<category><![CDATA[Droid]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[success]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZXing]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=12</guid>
		<description><![CDATA[Update 1: This procedure works on the zxing-1.4.zip source base.  I&#8217;m trying to figure out why it doesn&#8217;t want to work easily with the most current SVN code (e.g., rev 1217 or 1220).  I thought it was just some preloading weirdness that caused the Java Stack Overflow errors, then I thought it was Subversion related, [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline;">Update 1:</span> This procedure works on the </strong><em>zxing-1.4.zip</em><strong> source base.  I&#8217;m trying to figure out why it doesn&#8217;t want to work easily with the most current SVN code (e.g., rev 1217 or 1220).  I thought it was just some preloading weirdness that caused the Java Stack Overflow errors, then I thought it was Subversion related, but now&#8230; now I&#8217;m not sure what&#8217;s going on but I&#8217;ll let you know if I figure it out.</strong></p>
<hr /><strong><span style="text-decoration: underline;">Update 2:</span> Eclipse does NOT like the new version of </strong><em>/android/default.properties</em><strong> at all.  After you create the project folders but before you try creating the project in Eclipse, edit </strong><em>/android/default.properties</em><strong> and change</strong></p>
<pre style="padding-left: 30px;">target=<strong>android-4</strong></pre>
<p><strong>to</strong></p>
<pre style="padding-left: 30px;">target=<strong>Google Inc.:Google APIs:4</strong></pre>
<p><strong>That seems to prevent the whole Stack Overflow problem.  I&#8217;m not sure why this changed or what the more correct thing to do it but there&#8217;s some apparently relevant discussion <a href="http://code.google.com/p/zxing/issues/detail?id=276" target="_blank">here</a>. Curiously, despite my reversion of this change I do not see any problem in my test builds here, whether in Eclipse or when using the command-line build as outlined previously.</strong></p>
<hr /><strong><span style="text-decoration: underline;">Update 3:</span> If you comment out the </strong>target=<strong> line in that file entirely (using &#8220;#&#8221;) the problem <em>also </em>goes away &#8211; be sure to select an SDK level &gt;= 4 though.  Eclipse <em>still </em>forces you to select a Google APIs target, but if you double-click one of the &#8220;un-selectable&#8221; Android targets (click the text NOT the checkbox!) just right it&#8217;ll apparently take the setting and work OK.  Who knows if that works in general &#8211; probably not. With an Android target launching the AVD also goes much more smoothly!</strong></p>
<p><strong>Question is, what is it that makes Eclipse insist this is an APIs project when default.properties is not giving it any hints? </strong><strong><strong>Or i</strong>s it a quirk of the SDK? </strong><strong>What triggers this, and is it more readily resolved than by doing this?</strong></p>
<hr /><strong><span style="text-decoration: underline;">Update 4:</span> Last update for tonight. Once a project is in   Eclipse you can go to Properties -&gt; Android for that project and   select a suitable Android target.  As long as you don&#8217;t have   dependencies on Google APIs it should be fine.  If you </strong>/android/AndroidManifest.xml<strong> and remove the </strong>android:minSdkVersion<strong> setting that problem goes away as well (again, select Android 1.6 SDK level 4 to ensure proper operation).</strong></p>
<p><strong>Either it&#8217;s Eclipse 3.5.1 or the ADT plugin that&#8217;s messing up here.  Regardless, it doesn&#8217;t seem to be any flaw in ZXing.  It&#8217;s rather annoying to see Eclipse acting like this&#8230; are other people seeing this sort of bug?</strong></p>
<p><span style="color: #0000ff;"><strong><span style="text-decoration: underline;">To  summarize:</span> to avoid all these painful problems just plain remove </strong>default.properties<strong> and edit </strong>AndroidManifest.xml<strong> before you create a new Eclipse project based on the latest source.   Ensure you select Android 1.6 SDK level 4 for best results.</strong></span></p>
<p><strong><span style="color: #0000ff;">Also, when you run the app it&#8217;s best to just start the AVD first, wiping user data, (or at least uninstalling the old version of your app) and being at the home screen before you &#8220;Run As&#8221;.  Otherwise, the app&#8217;s display ends up rather funky.</span></strong></p>
<p><strong><span style="color: #0000ff;">Finally, &#8220;Build Automatically&#8221; may be more trouble than it&#8217;s worth, at least for a larger project such as this.  Consider this if your head starts making dents in the wall as you struggle to make sense of Eclipse&#8217;s random &#8220;out of memory&#8221; errors. <img src='http://www.falatic.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
</span></strong></p>
<hr />In my <a href="http://www.falatic.com/index.php/9/building_zxing_for_android" target="_blank">previous post</a> I referred to a <a href="http://knol.google.com/k/alec-go/modifying-the-android-barcode-scanner/2vd5zn6va2fqd/2#" target="_blank">Knol</a> that tells you how to build ZXing for Android (the Barcode Scanner) using the <strong>Eclipse</strong> IDE.  There are pros and cons to doing this, given that ZXing is normally built from the command line using Ant (and during that build it is optimized using Proguard).</p>
<p>However, my goal is to learn more about Android programming in general and to make it even more interesting, I&#8217;m doing it from Windows.  Having the project working in an IDE is preferable for me when it comes to unraveling functional connections and learning how a (quite useful!) Android app is put together.</p>
<p><span id="more-12"></span></p>
<p>First of all, that Knol isn&#8217;t all that bad.  It helps if you read it carefully (I kept screwing up a particular step), however some of the steps are unclear apparently because the SDK has changed rather substantially since it was first written.  I&#8217;ve tried to be ridiculously detailed here so as to eliminate any possible confusion for the novice.</p>
<p>Second, it&#8217;s not clear that you need to install <em>anything</em> other than the <a href="http://www.eclipse.org/downloads/" target="_blank">Eclipse Classic 3.5.1</a> IDE and the <a href="http://developer.android.com/sdk/index.html" target="_blank">Android SDK</a> to perform this experiment.  I have the JDK, Ant and Proguard as well but they aren&#8217;t in my system paths nor is JAVA_HOME set system-wide yet.  Therefore I suspect none of that other stuff is getting referenced in this experiment.  You should have the IDE installed, the Android SDK installed and up-to-date, and the ADT Plugin for Eclipse (found on the SDK page).<strong> </strong></p>
<p><span style="text-decoration: underline;"><strong>Initialize the project in Eclipse</strong></span></p>
<ul>
<li>Obtain the <strong>ZXing </strong>source tree via zip or SVN as described in the previous posts.  We are only interested in the <em>/android</em> and the <em>/core/src </em>trees.  The rest of the paths and components may be ignored for the purpose of building the <strong>Barcode Scanner </strong>app for Android.</li>
<li>Place these in a working area.  For this example I used <em>D:\workspace\zxing</em></li>
<li><span style="text-decoration: underline;"><strong>An important note: </strong></span>the Android SDK Content loader doesn&#8217;t immediately start in Eclipse until you attempt to use or create an Adroid project, and it takes a while to load.   Therefore quickly creating a new Android project based on another Android project <em>while the SDK is loading </em>can have unwanted consequences &#8211; particularly, <strong>Stack Overflow</strong>s &#8211; which is apparently due to a race condition (if the Android SDK Content Loader is still processing when you pick the &#8220;based on&#8221; tree, bad, bad things happen).  It was a very distracting problem until I realized what was going on.</li>
<li>Start the Eclipse IDE
<ul>
<li>Close any open projects!</li>
<li> Note that <em>Project -&gt; Build Automatically </em>is selected</li>
</ul>
</li>
<li>From the menu select <em>File -&gt; New -&gt; Project&#8230;</em></li>
<li>In the new window select <em>Android -&gt; Android Project</em></li>
<li>If Build targets are NOT populated at all and there&#8217;s activity in the progress tab:
<ul>
<li>Close the <em>New Project </em>window.</li>
<li>Wait for the Android SDK Content Loader activity to complete (watch the progress tab!)</li>
<li>From the menu select <em>File -&gt; New -&gt; Project&#8230;</em> again</li>
<li>In the new window select <em>Android -&gt; Android Project</em> again</li>
<li>At this point the Build Targets should be properly populated and the progress tab should be idle/empty.</li>
</ul>
</li>
<li>Give the project a name.  For this example I used &#8220;<strong>BarExample</strong>&#8221; and will refer to that going forward.</li>
<li>Select <em>Create project from existing source</em></li>
<li>Browse to where you put the <strong>zxing </strong>source tree (this will become your workspace!)</li>
<li>Select the <em>/android </em>subfolder and click OK</li>
<li>The Build Target will automatically be selected as Google APIs 1.6
<ul>
<li>I&#8217;m not entirely sure why this happens &#8211; you cannot select Android alone either.  I think this is why you are later warned when trying to launch it that there are no compatible devices.</li>
</ul>
</li>
<li>The Application name will be auto-filled as <strong>CaptureActivity</strong></li>
<li>Click <em>Finish</em></li>
</ul>
<p><strong>Allow it to prebuild.  At this point you&#8217;ll have some 250+ errors but the next step should resolve them!</strong></p>
<p><span style="text-decoration: underline;"><strong>Add the <em>/core/src </em>code to your project:</strong></span></p>
<p style="padding-left: 30px;"><span style="color: #808080;"><em><strong><span style="text-decoration: underline;"><span style="text-decoration: line-through;">Hard way #1:</span></span></strong><br />
</em></span></p>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">In the <em>Package Exp </em>tab, right click on the project name (&#8220;BarExample&#8221;) and select <em>New -&gt; Source Folder</em></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">Folder name: <strong>srccore</strong></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">&#8220;Update exclusion&#8221; is UNchecked</span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">Click <em>OK</em></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">Now, right click on srccore and <em>Import&#8230;</em></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">Select <em>General -&gt; File System</em> and click <em>Next</em></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">Select the <em>&#8220;core\src&#8221; </em>folder in the zxing source tree and click <em>OK</em></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">You should see the From Directory as <em>D:\workspace\zxing\core\src</em></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">Check the box to the left of the &#8220;src&#8221; folder</span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">&#8220;Into folder&#8221; should already be set to <strong><em>BarExample/srccore</em></strong></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">In Options, select <em>Create selected folders only</em></span></span></li>
<li style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">Click <em>Finish</em></span></span></li>
<p style="padding-left: 30px;"><span style="color: #808080;"><em><strong><span style="text-decoration: underline;"><span style="text-decoration: line-through;">Hard way #2:</span></span></strong></em></span></p>
<p style="padding-left: 30px;"><span style="color: #808080;"><span style="text-decoration: line-through;">A somewhat easier way to do this (avoiding the extra copy) is to put <em>/core/src</em> <span style="text-decoration: underline;">under</span><em> </em><em>/android</em> (thus creating <em>/android/core/src</em>) <strong>before </strong>you initialize the project!  Then, <strong>after </strong>you initialize the project you can pick the <em>src </em>folder under the <em>core </em>entry in the project items and select <em>Build Path -&gt; Use as a Source Folder</em> to have the desired effect (it&#8217;ll crete an entry called <em>core/src</em>).  I would expect a symlink, correctly applied, would also have the desired effect.  As you can see, the <em>android </em>folder itself is really superfluous here.  [I still think there's got to be an even easier way to gather this all together, without moving ANYTHING around.]</span></span></p>
<p><strong>The best way to add <em>/core/src </em>to your project!</strong> No symlinks required (and being Windows it&#8217;s possible but not easy and besides this is even more minimalist) and it should work seamlessly even if you&#8217;re doing thing with Subversion-controlled code.</p>
<p>You&#8217;ve already created a project area called zxing (or whatever) and in it are the /android tree and the /core/src tree. Rather than manually or automatically move ANY code, simply do this:</p>
<ul>
<li>In the <em>Package Exp </em>tab, right click on the project name  (&#8220;BarExample&#8221;) and select <em>Build Path -&gt; Link Source&#8230;</em></li>
<li>Browse to and select the <strong><em>src </em></strong>folder in <strong><em>core</em></strong>.</li>
<li>Change <em>Folder name</em> to <strong><em>srccore </em></strong>(or any other not-in-use folder name you prefer).</li>
<li>Select <em>Finish</em></li>
<li>Let it rebuild automagically</li>
</ul>
<p><strong>If you were successful, you should see a whole mess of warnings (I see over 170) &#8211; but no errors!</strong></p>
<p><span style="text-decoration: underline;"><strong>To install and test this on the Android Virtual Device:</strong></span></p>
<ul style="padding-left: 30px;">
<li>Go to the Android SDK and AVD Manager and start your test device
<ul>
<li>I previously created a Droid-compatible device configured as Platform 2.0.1 API Level 6, with a WVGA854 display and a 32M SD card.</li>
<li>Select the device and click<em> Start&#8230;</em></li>
<li>To avoid weirdness I elected to run with a clean slate and so I selected the &#8220;Wipe user data&#8221; option</li>
<li>The virtual device should start up.</li>
<li>You can (and probably should) close the AVD Manager at this point. Leaving the manager on led to an odd &#8220;GC overhead limit exceeded&#8221; error.</li>
<li>Wait patiently for the main screen to appear (it seems to take quite a while and a lot of CPU &#8211; is it just me?)</li>
<li>You shouldn&#8217;t have any other versions of this Barcode app installed at this point.  If you DO you should probably uninstall them first!</li>
</ul>
</li>
<li>Now, back to Eclipse!
<ul>
<li>In your project, select <em>Run As -&gt; Android Application</em></li>
<li>At this point I get an AVD error telling me &#8220;No compatible targets were found&#8221;.</li>
<li>I selected &#8220;No&#8221; (I don&#8217;t want to create a new target &#8211; I already have one!)</li>
<li>In the Device Chooser that follows I selected my running 2.0.1 emulator and clicked OK.</li>
<li>(I don&#8217;t know why this happens &#8211; it&#8217;s probably the mismatch between my 2.0.1. AVD and the original APIs 1.6 target.)</li>
</ul>
</li>
<li>The app should upload, install and execute on the virtual device.</li>
<li>Be sure to rotate your local gravitational reference clockwise by 90° for the  optimum viewing experience.  See the January, 2153 quantum multicast of <em>Make:  The Virtual Magazine </em>for info on how to construct a portable  graviton generator for this purpose.</li>
<li>It&#8217;s not terribly interesting at this point but should work and look normal (not wiping user data and/or letting it launch the app before the screen is &#8220;unlocked&#8221; had something to do with the display looking rather weird &#8211; I&#8217;m not sure what was going wrong).</li>
<li>(Really, why doesn&#8217;t the AVD have a rotate function?  It seems  pretty fundamental.  Likewise some way to fake camera input &#8211; do tell if  I&#8217;m missing a simple way to do either!)</li>
</ul>
<p><strong>Like I&#8217;ve mentioned, I got various odd little IDE errors as I made my way through all this&#8230; perhaps I&#8217;m doing something that&#8217;s not entirely right or the Eclipse IDE / Android SDK combination isn&#8217;t very stable.<br />
</strong></p>
<p>But <em>will it blend</em>?  That is, will it work on a physical device?  Heck yeah!</p>
<p><span style="text-decoration: underline;"><strong>To install and test this on an Android physical device:</strong></span></p>
<ul style="padding-left: 30px;">
<li>First, uninstall the current Barcode Scanner from your phone (you shouldn&#8217;t need to do it each time you cycle through your private test builds, but you DEFINITELY need to if you are switching between the officially signed to the unsigned or debug signed versions!  In short: if you get an installation error uninstall the app and try intalling it again!</li>
<li> <strong>Note:</strong> for some bizarre reason after installation the Barcode app may be out of order alphabetically in the Manage applications dialog!  Closing the dialog and going back to it via Settings rectifies this.</li>
<li>Copy the application&#8217;s APK from<em> /android/bin</em> to your phone</li>
<li>Install the application</li>
<li>Run the Barcode Scanner!</li>
</ul>
<p><strong>That&#8217;s about it!  I&#8217;d expect this to work just as well from a Linux host but I haven&#8217;t tested it.</strong></p>
<p><span style="text-decoration: underline;"><strong>Caveats:</strong></span></p>
<ul style="padding-left: 30px;">
<li><strong>Proguard </strong>isn&#8217;t being used in this configuration AFAIK.  Therefore, things aren&#8217;t optimized (I&#8217;m not yet clear on why that&#8217;s necessary &#8211; presumably for performance reasons though it seemed to work OK when I tried it).</li>
<li>AFAIK this is NOT how the ZXing project is normally developed, so if you plan to submit changes to it or otherwise assist with the project you should defer to the project&#8217;s <a href="http://code.google.com/p/zxing/wiki/GettingStarted" target="_blank">standards and procedures</a>.</li>
<li>This procedure worked fine for me but it may or may not work as well for you, and there may be unexpected side-effects (I haven&#8217;t seen any yet but you never know).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/12/building-zxing-for-android-part-3-%e2%80%93-using-eclipse/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Building ZXing for Android part 2 &#8211; Subversion!</title>
		<link>http://www.falatic.com/index.php/11/building-zxing-for-android-part-2-subversion</link>
		<comments>http://www.falatic.com/index.php/11/building-zxing-for-android-part-2-subversion#comments</comments>
		<pubDate>Wed, 24 Feb 2010 10:15:23 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Barcode Scanner]]></category>
		<category><![CDATA[building]]></category>
		<category><![CDATA[Droid]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[success]]></category>
		<category><![CDATA[TortoiseSVN]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZXing]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=11</guid>
		<description><![CDATA[Well, that was fast!  I decided to give Subversion a whirl with the ZXing codebase before signing off for the night&#8230; and I apparently chose well when I selected TortoiseSVN as my Subversion client for Windows!
It went very smoothly! Here&#8217;s the details:


Install the TortoiseSVN client (then reboot)


Create a folder to work in (e.g., &#8220;D:\zxing-test&#8221;)


Right-click in/on [...]]]></description>
			<content:encoded><![CDATA[<p>Well, that was fast!  I decided to give Subversion a whirl with the <strong>ZXing</strong> codebase before signing off for the night&#8230; and I apparently chose well when I selected <a href="http://tortoisesvn.net/" target="_blank">TortoiseSVN</a> as my Subversion client for Windows!</p>
<p><strong>It went very smoothly! </strong>Here&#8217;s the details:</p>
<p><span id="more-11"></span></p>
<ul>
<li>Install the <a href="http://tortoisesvn.net/" target="_blank">TortoiseSVN</a> client (then reboot)</li>
</ul>
<ul>
<li>Create a folder to work in (e.g., &#8220;D:\zxing-test&#8221;)</li>
</ul>
<ul>
<li>Right-click in/on the folder and select &#8220;SVN Checkout&#8230;&#8221;<br />
- Edit the &#8220;Checkout Directory&#8221; accordingly<br />
- I used the info at the <a href="http://code.google.com/p/zxing/source/checkout" target="_blank">ZXing SVN page</a> to get the required URL (<em>http://zxing.googlecode.com/svn/trunk/</em>).  Note that the &#8220;<em>zxing-read-only</em>&#8221; part caused problems here (it&#8217;s not valid syntax for this client). You cannot commit changes without being a member of the group so leave it off when using TortoiseSVN.<br />
- I did a fully recursive code pull the first time.<br />
- I selected the HEAD revision of the version tree.</li>
</ul>
<ul>
<li>Time passes as you download quite a helluva lot of code!  Broadband helps&#8230;</li>
</ul>
<ul>
<li>For this experiment the last commit version turned out to be revision <strong>1217</strong>.  I&#8217;m not sure how they manage their changes but it&#8217;s always possible you could be unlucky and get a revision level that&#8217;ll lead to a broken build.  (Fortunately, tonight&#8217;s my lucky night!)  You can specify this when you start the SVN interaction above, or you can &#8220;revert&#8221; to this version (or any other) later if you prefer.</li>
</ul>
<ul>
<li>Prep and build it!<br />
- Edit <em>build.properties</em> as I described in <a href="http://www.falatic.com/index.php/9/building_zxing_for_android" target="_blank">my last post</a>.<br />
- Build the source tree (be sure to set <strong>MY_PROJ_ROOT</strong> correctly to point to the SVN-derived tree!)  Use the debug target as before (I&#8217;ve yet to try the release one though I suspect the lack of signing will cause problems).</li>
</ul>
<p><strong>And again, voilà!  You&#8217;ve got a new build!</strong> (I notice the first &#8220;clean&#8221; build step no longer throws a small error as it did before&#8230; it didn&#8217;t affect things but it was nice to see that it got fixed).</p>
<p>I loaded the build onto my Droid and installed it (there was no need to uninstall the older version 3.0 I was testing with earlier &#8211; I don&#8217;t bother with that unless it complains or otherwise fails to install).  On execution the about box shows this is version 3.2 beta 1 (versus the version 3.0 I built earlier and version 3.1 which was the most current in the Android App Market)!  If I&#8217;m going to fiddle around, it&#8217;s nice to know I&#8217;m fiddling with the latest and greatest! <img src='http://www.falatic.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>That concludes my coding evening.  Thanks for visiting!</p>
<p>Note: Other projects use Git&#8230; I installed <a href="http://code.google.com/p/tortoisegit/" target="_blank">TortoiseGit</a> as well but haven&#8217;t had a chance to play with it yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/11/building-zxing-for-android-part-2-subversion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building ZXing for Android &#8211; lessons learned</title>
		<link>http://www.falatic.com/index.php/9/building-zxing-for-android-part-1</link>
		<comments>http://www.falatic.com/index.php/9/building-zxing-for-android-part-1#comments</comments>
		<pubDate>Wed, 24 Feb 2010 08:24:29 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[Barcode Scanner]]></category>
		<category><![CDATA[building]]></category>
		<category><![CDATA[Droid]]></category>
		<category><![CDATA[success]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZXing]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=9</guid>
		<description><![CDATA[Updated based on feedback from the ZXing team.
Tonight I decided to try my hand again at building an Android app &#8211; this time, one that should in theory be easy and yet feature-rich enough to learn from.  It was far from the simple experiment it ought to have been, so I&#8217;m sharing my experience to [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Updated based on feedback from the ZXing team.</strong></em></p>
<p>Tonight I decided to try my hand again at building an Android app &#8211; this time, one that should in theory be easy and yet feature-rich enough to learn from.  It was far from the simple experiment it ought to have been, so I&#8217;m sharing my experience to hopefully save you the reader some time if you try this yourself!</p>
<p><strong><a title="ZXing code page" href="http://code.google.com/p/zxing/" target="_blank">ZXing</a> </strong>is the heart of the <strong>Barcode Scanner</strong> app for Android.  It&#8217;s nifty though it doesn&#8217;t take full advantage of my Droid&#8217;s camera resolution and there are some other tricks I&#8217;d like to see it do (such as activate the flash for improved lighting, replacing the constant autofocus with a forced focus, and perhaps adding some decoding protocols that aren&#8217;t supported in the Droid build of this, at least as of Barcode Scanner v3.1).  My main goal was to simply rebuild the app for the Android target via a Windows host, then play around with the code to learn more about Android coding.</p>
<p><strong><a title="ZXing code page" href="http://code.google.com/p/zxing/" target="_blank"><span id="more-9"></span></a></strong></p>
<p>I&#8217;d recently moved some install folders around so I decided to install the necessary parts from scratch.  Note that I first spent an hour or two trying to use Eclipse 3.5.1 to build this but haven&#8217;t gotten it to work (yet).  When I decided to try doing this via &#8220;basic principles&#8221; it quickly became apparent that this would take a while.</p>
<p>I ran into several issues I won&#8217;t bore you with here.  Suffice to say the answers are scattered around Google, either in the ZXing comments, discussions, or its bugs area, and sometimes completely elsewhere.  It became clear that while Windows is supported as a host it&#8217;s probably not the primary host they test builds from, so their <a href="http://code.google.com/p/zxing/wiki/GettingStarted" target="_blank">instructions</a> <em><span style="text-decoration: line-through;">aren&#8217;t very current or coherent for it</span></em> needed some tweaks, which they&#8217;ve made.  (Windows isn&#8217;t the most common way to build for Android but it&#8217;s quite do-able just the same.)</p>
<p><strong>Here, then, is the distillation of what I learned in order to successfully build the Barcode Scanner app for Android via Windows.</strong> This should apply to other Windows versions as well, at least back to XP.  If you are using an x86-based Windows then use x86 installers instead of x64 installers (where there&#8217;s a difference).</p>
<pre><strong># This is the setup for a Windows 7 host (64-bit on an Intel CPU)
</strong>
<strong># Install Sun JDK (jdk-6u18-windows-x##):</strong>
 - Source: <a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">http://java.sun.com/javase/downloads/index.jsp</a>
    - Select the JDK appropriate to your Windows host (x64 or x86)
 - My root folder: "C:\Program Files\Java\jdk1.6.0_18"

<span style="text-decoration: line-through;"><strong># Install Sun WTK 2.5.2 (sun_java_wireless_toolkit-2.5.2_01-win.exe)</strong>:
 - Yes, you need this too!
 - Source: <a href="http://java.sun.com/products/sjwtoolkit/" target="_blank">http://java.sun.com/products/sjwtoolkit/</a>
    - Select Sun Java Wireless Toolkit 2.5.2_01 for CLDC
 - My root folder: "C:\WTK2.5.2_01"</span>

<strong># WTK is NOT required for the Android target, but part of its folder structure IS, as follows.</strong>

<strong># Install ProGuard Java Optimizer (proguard4.4.zip):</strong>
 - Source: <a href="http://sourceforge.net/projects/proguard/" target="_blank">http://sourceforge.net/projects/proguard/</a>
 - My root folder: "D:\Programming\proguard4.4"

<strong># Copy the proguard.jar file to the expected location in WTK</strong>:
 copy D:\Programming\proguard4.4\lib\proguard.jar C:\WTK2.5.2_01\bin
 - If the "C:\WTK2.5.2_01\bin" tree doesn't exist, simply create it and populate it as above
    (again, WTK itself is not required for the Android target)

<strong># Install Apache Ant (apache-ant-1.8.0-bin):</strong>
 - Source: <a href="http://ant.apache.org/bindownload.cgi" target="_blank">http://ant.apache.org/bindownload.cgi</a>
 - My root folder: "D:\Programming\apache-ant-1.8.0"

<strong># Install Google Android SDK (android-sdk_r04-windows)</strong>:
 - Source: <a href="http://developer.android.com/sdk/index.html" target="_blank">http://developer.android.com/sdk/index.html</a>
 - My root folder: "D:\Programming\android-sdk-windows"

<strong># Run "android-sdk-windows/SDK Setup":</strong>
 - Update all packages!

<strong># Fix "dx.bat" for Android SDK pre-2.0 (it's broken in those)</strong>:
 - More info in <a href="http://groups.google.com/group/zxing/browse_thread/thread/ca00c576c14dae04/cd52c5b64a" target="_blank">this thread</a>
 cd /d D:\Programming\android-sdk-windows
 copy /y platforms\android-1.1\tools\dx.bat platforms\android-1.1\tools\dx.bat.ORIG
 copy /y platforms\android-2.0\tools\dx.bat platforms\android-1.1\tools
 copy /y platforms\android-1.5\tools\dx.bat platforms\android-1.5\tools\dx.bat.ORIG
 copy /y platforms\android-2.0\tools\dx.bat platforms\android-1.5\tools
 copy /y platforms\android-1.6\tools\dx.bat platforms\android-1.6\tools\dx.bat.ORIG
 copy /y platforms\android-2.0\tools\dx.bat platforms\android-1.6\tools

<strong># Install the ZXing codebase (ZXing-1.4.zip):</strong>
 - Source: <a href="http://code.google.com/p/zxing/downloads/list" target="_blank">http://code.google.com/p/zxing/downloads/list</a>
 - My root folder: "D:\Test\zxing-1.4"

<strong># Edit "zxing-1.4\build.properties":</strong>
 - Note double-backslashes!
 - Update: WTK-home=C:\\WTK2.5.2_01
 - Update: android-home=T:\\Programming\\android-sdk-windows
</pre>
<p><strong>Now, if all that went well you should be ready to build it!</strong></p>
<pre><strong># Open a "cmd.exe" window to work in.</strong>

<strong># Set appropriate environment variables for the tools:</strong>
 set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18
 set path=%PATH%;D:\Programming\android-sdk-windows\tools
 set path=%PATH%;D:\Programming\apache-ant-1.8.0\bin
 set path=%PATH%;%JAVA_HOME%\bin

<strong># Set the environment variable for the root of your project:</strong>
 set MY_PROJ_ROOT=D:\Programming\workspace\zxing-1.4

<strong># Running the build (repeat as necessary):</strong>
 REM I added this top-level clean step to my process -
 REM It helps when you have tried building from the wrong level!
 cd /d %MY_PROJ_ROOT%  &amp;&amp;  ant clean

 REM Standard build step (see note in android/build.xml)
 cd /d %MY_PROJ_ROOT%\core  &amp;&amp;  ant clean build-no-debug

 REM Debug is the default target - I prefer to name it explicitly
 cd /d %MY_PROJ_ROOT%\android  &amp;&amp;  ant clean debug

 REM OPTIONAL: You can instead build the release version but it's not signed
 cd /d %MY_PROJ_ROOT%\android  &amp;&amp;  ant clean release

<strong># Inspect and use the build output (the APK file is produced if successful)</strong>:
 - %MY_PROJ_ROOT%\android\bin
</pre>
<p><strong>At this point you should have successfully built the Barcode Scanner app for Android!</strong></p>
<p>Load it upon your emulator or phone and see how it works. To try it on your phone, you will probably need to uninstall the current version.  Then you will need to check the <em>&#8220;Settings -&gt; Applications -&gt; Unknown Sources&#8221;</em> box on your phone to install a debug binary like this (As always, be careful when testing in this mode!!)  Copy the APK to your phone and install it.  Voilà!  It worked for me.</p>
<p><strong>Next steps:</strong></p>
<ul>
<li>Seeing if I can do this from within Eclipse.  A <a href="http://knol.google.com/k/alec-go/modifying-the-android-barcode-scanner/2vd5zn6va2fqd/2#" target="_blank">somewhat outdated Knol</a> suggests this is possible, but I had no luck with it. <a href="http://www.falatic.com/index.php/12/building-zxing-for-android-part-3-using-eclipse" target="_blank"><strong><em>Done!</em></strong></a></li>
<li>Install a Subversion client to get the latest code and see how that goes (my expertise is with Clearcase and such so this should be interesting). <strong><a title="Subversion and ZXing on Windows" href="http://www.falatic.com/index.php/11/building-zxing-for-android-part-2-subversion" target="_blank"><em>Done!</em></a></strong></li>
<li>Modifying some code! <strong><a title="Subversion and ZXing on Windows" href="http://www.falatic.com/index.php/11/building-zxing-for-android-part-2-subversion" target="_blank"><em>Done!</em></a></strong></li>
</ul>
<p><strong><span style="text-decoration: underline;">Disclaimer:</span> I&#8217;m NOT attached to the ZXing project at all, I&#8217;m just putting this out there in the hopes that it&#8217;ll help others have an easier time at this than I did.  I probably cannot help you with any issues you have (especially for other host or target platforms).<br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/9/building-zxing-for-android-part-1/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Fun with bootable flash drives!</title>
		<link>http://www.falatic.com/index.php/7/fun-with-bootable-flash-drives</link>
		<comments>http://www.falatic.com/index.php/7/fun-with-bootable-flash-drives#comments</comments>
		<pubDate>Wed, 22 Apr 2009 02:25:58 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash drives]]></category>
		<category><![CDATA[GParted]]></category>
		<category><![CDATA[removable bit]]></category>
		<category><![CDATA[Super Grub]]></category>
		<category><![CDATA[UAC]]></category>
		<category><![CDATA[UBCD4Win]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vista]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=7</guid>
		<description><![CDATA[I&#8217;ve been fiddling with making bootable flash drives lately, via UBCD4Win for the most part.  It&#8217;s actually come in handy a few times in the last month alone and the new v3.50 just came out today!  In the course of this I&#8217;ve learned a couple of useful things that might be worthwhile to others working [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been fiddling with making bootable flash drives lately, via <a title="UBCD4Win homepage" href="http://www.ubcd4win.com/" target="_blank">UBCD4Win</a> for the most part.  It&#8217;s actually come in handy a few times in the last month alone and the new v3.50 just came out today!  In the course of this I&#8217;ve learned a couple of useful things that might be worthwhile to others working on this.</p>
<p><span id="more-7"></span></p>
<hr />
<h3>Flash Drives and The Removable Bit</h3>
<p>Something I stumbled upon today was a Lexar utility that can flip the removable bit on a flash drive.  <span style="color: #800000;"><span style="text-decoration: underline;"><strong>Disclaimer: this may not work for you or could even cause problems!</strong></span></span> As you may have noticed a flash drive appears as a &#8220;removable disk&#8221; in explorer, and (as I understand it) cannot be partitioned in XP or lower (Vista doesn&#8217;t seem to care as much from what I can tell).Indeed, it works, making the drive go from &#8220;removable&#8221; to &#8220;basic&#8221; (that is, fixed or local).</p>
<p>As I was doing all this in Vista with UAC enabled I was alarmed when it appeared that once I flipped the bit there was no flipping it back!  It&#8217;s not necessarily bad but I prefer to keep it removable unless otherwise necessary.  After lots of flailing (and finding a few posts alluding to this one-way trip problem &#8211; but no answers) <span style="text-decoration: underline;">I ran the utility via the &#8220;Run as administrator&#8221; option</span>. This allowed BootIt to see the &#8220;fixed&#8221; disks (which the flash drive becomes a part of after flipping the bit).  <strong>Be VERY careful not to mess with the wrong drive of course! </strong> I think Vista is more protective of the fixed disks, thus the unexpected hurdle.</p>
<p>Note: I was able to flip the removable bit on Lexar and A-DATA drives, <strong>but I had no luck with</strong> my 4GB OCZ Rally2, a Sandisk Cruzer Micro or with an old Pocket Disk brand 128MB drive (handy for small images) which all stayed resolutely removable.</p>
<p>Read more about the <em><strong>Lexar BootIt (Flip the Removable Media Bit)</strong></em> tool <a href="http://freestickdownload.blogspot.com/2008/05/bootit-lexar-usb-flip-romovable-media.html" target="_blank">here</a> and <a href="http://www.downloadsquad.com/tag/usb-flash-drive/" target="_blank">here</a> (I used v1.07, which I think is the only one out there).</p>
<hr />
<h3>Adding bootable ISO images to UBCD4Win images</h3>
<p>It&#8217;s pretty easy to add bootable ISO images to UBCD4Win (this is tested with v3.22 and should work with v3.50 equally well).  Today I had LOTS of &#8220;fun&#8221; dealing with a lost boot manager on my triple-boot laptop (<em>Vista, Ubuntu, Win7, oh my!</em>) and I snagged copies of <a title="GParted project page" href="http://gparted.sourceforge.net/index.php" target="_blank">GParted</a> and <a title="Super Grub Disk" href="http://www.supergrubdisk.org/" target="_blank">Super Grub</a> to try and save the day.  All I did was download them and add the ISOs to the /images tree on the prepared flash drive.  Then I added a couple of entries in /menu.lst as follows:</p>
<pre>title Super Grub
map --mem (hd0,0)//Images/super_grub.iso (hd32)
map --hook
chainloader (hd32)
rootnoverify (hd32)</pre>
<pre>title GParted
map --mem (hd0,0)//Images/gparted-live.iso (hd32)
map --hook
chainloader (hd32)
rootnoverify (hd32)</pre>
<p>The ISO names must match what&#8217;s in /images, and I&#8217;d avoid putting spaces in the names too.  <span style="color: #800000;"><span style="text-decoration: underline;"><strong>The usual disclaimer applies: I figured this out by trial and error but it worked fine for me.</strong></span></span></p>
<p>Super Grub ended up working and saving the day!  GParted, not so much&#8230; I had to put it on a CD to get it to fully work.  This is no fault of GParted&#8230; as far as I can tell the same problem would affect ANY partition tool. GParted actually got stuck in a repeating loop of attempting to mount a drive and I think it had to do with how the boot process involved resetting the USB hub (thus resetting the flash drive).  Other partition managers that pass through a USB stage also experienced the same issues.  Booting GParted from the CD-RW appears to avoid all that.  I had the same problem when I attemtped to mount and install the Ubuntu 9.04 ISO from that USB drive today&#8230; it worked fine from a DVD.  So, while this method works in theory it may not always be practical given the limitations of booting from USB.</p>
<p>What&#8217;s nice is that once I have a small stable of utilities like this I can eventually burn the whole thing onto a DVD for near-universal usage (even on machines that won&#8217;t boot from flash).  Pretty handy!  <img src='http://www.falatic.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em><strong>Update: </strong></em>there are better ways to do this menu thing I&#8217;m sure&#8230; and apparently the CD ISO uses an entirely different menu system for some reason.  So at a minimum /BCDW/BCDW.INI also needs to be updated (but I&#8217;m not yet sure what that should look like).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/7/fun-with-bootable-flash-drives/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Defender apparent false alarm (Win32/PossibleHostsFileHijack)</title>
		<link>http://www.falatic.com/index.php/5/windows-defender-apparent-false-alarm-win32possiblehostsfilehijack</link>
		<comments>http://www.falatic.com/index.php/5/windows-defender-apparent-false-alarm-win32possiblehostsfilehijack#comments</comments>
		<pubDate>Tue, 10 Mar 2009 07:47:13 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Defender]]></category>
		<category><![CDATA[false positive]]></category>
		<category><![CDATA[Win32/PossibleHostsFileHijack]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=5</guid>
		<description><![CDATA[I got an alarming popup from Windows Defender tonight: it had detected Win32/PossibleHostsFileHijack in the C:\Windows\System32\drivers\etc\hosts file.  That&#8217;s pretty worrisome and unexpected!  I looked at the file but it seemed uninteresting.  The only non-comment entries were:
127.0.0.1       localhost
::1             localhost
I made a backup of the file, then I let Defender &#8220;clean&#8221; it.  OK&#8230; it only removed the [...]]]></description>
			<content:encoded><![CDATA[<p>I got an alarming popup from Windows Defender tonight: it had detected <strong>Win32/PossibleHostsFileHijack</strong> in the <em>C:\Windows\System32\drivers\etc\hosts</em> file.  That&#8217;s pretty worrisome and unexpected!  I looked at the file but it seemed uninteresting.  The only non-comment entries were:</p>
<pre><span style="color: #ff0000;">127.0.0.1       localhost</span>
::1             localhost</pre>
<p>I made a backup of the file, then I let Defender &#8220;clean&#8221; it.  OK&#8230; it only removed the 127.0.0.1 line (in red above).  Weird: that&#8217;s a pretty standard setting and it doesn&#8217;t seem like it should be going anywhere.</p>
<p>I searched around for this and found <a title="Thread on the Norton forums" href="http://community.norton.com/norton/board/message?board.id=nis_feedback&amp;message.id=37891" target="_blank">this thread on the matter</a>.  I then used Windows update to get the latest version of the Defender database (it was last checked about 18 hours ago) and reverted the &#8220;fix&#8221; Defender had made (in Vista you must edit the <em>hosts </em>file with an editor running in Admin mode&#8230; as always <em>be careful</em>!)  Sure enough, it found and installed a newer version and a re-scan of the <em>hosts </em>file showed&#8230; no problems whatsoever.  Apparently one of Monday&#8217;s Defender definition updates might have had a bug in it.</p>
<p><em>Note: This is NOT to imply this is always a false alarm!  But if the only line that was removed is the standard localhost address as above, update Defender and re-scan.  This &#8220;problem&#8221; may not be a problem after all.</em></p>
<p>Now, I wonder how many people screwed up their <em>hosts</em> file today by letting this rather ubiquitous setting get removed?  I can imagine there are some apps that&#8217;ll be unhappy not to find a localhost route.  If this post helped you avoid some fun config headaches later please drop a quick comment.</p>
<p><strong>Update: <a title="More info" href="http://www.h-online.com/security/Windows-Defender-False-alarm-triggered-by-hosts-file--/news/112814" target="_blank">more info at this site </a>about this issue.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/5/windows-defender-apparent-false-alarm-win32possiblehostsfilehijack/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Vista SP1, WMP11 and Netflix &#8211; a solution</title>
		<link>http://www.falatic.com/index.php/4/vista-sp1-wmp11-and-netflix-a-solution</link>
		<comments>http://www.falatic.com/index.php/4/vista-sp1-wmp11-and-netflix-a-solution#comments</comments>
		<pubDate>Sun, 21 Dec 2008 22:25:02 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DRM]]></category>
		<category><![CDATA[Netflix]]></category>
		<category><![CDATA[Vista SP1]]></category>
		<category><![CDATA[Watch Instantly]]></category>
		<category><![CDATA[WMP11]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=4</guid>
		<description><![CDATA[I recently upgraded to Windows Vista Business (SP1) from WinXP Pro.  It went relatively well but I was annoyed today when any attempt to use Netflix&#8217;s &#8220;Watch Instantly&#8221; feature from IE 7 caused it to crash! (the &#8220;Indiv01.key&#8221; error).
I did some searching&#8230; turns out there are lots of complaints out there about this sort of [...]]]></description>
			<content:encoded><![CDATA[<p>I recently upgraded to Windows Vista Business (SP1) from WinXP Pro.  It went relatively well but I was annoyed today when any attempt to use Netflix&#8217;s &#8220;Watch Instantly&#8221; feature from IE 7 caused it to crash! (the &#8220;Indiv01.key&#8221; error).</p>
<p>I did some searching&#8230; turns out there are lots of complaints out there about this sort of issue, but almost nobody posted the correct way to fix it when Vista SP1 and WMP11 are involved.  Most solutions revolved around WMP10 or earlier.  The problem is, for some bizarre reason you can&#8217;t manage your licenses in WMP11 (there is no menu item for it and apparently all backup/restore functionality is gone!)  Why?  I have no idea.  Glad I don&#8217;t depend on it for anything else!</p>
<p>I uninstalled and reinstalled Netflix&#8230; didn&#8217;t help.  Lots of suggestions out there to downgrade WMP11 to 10 or such, but those are fraught with caveats.  Reinstall Vista?  Right!  When my furnace won&#8217;t work I don&#8217;t repaint the living room and redecorate the bedrooms&#8230; why should one rebuild the whole system for an isolated failure?  Besides, apparently that doesn&#8217;t help either.</p>
<p><strong>Finally, I stumbled across a useful answer!</strong> Close IE and run the following command.  CAVEAT: supposedly it resets ALL your DRM license info&#8230; beware!  That wasn&#8217;t a concern for me (I&#8217;m wary of buying any DRM-wrapped media that could evaporate on a whim) but it could be an issue for you.  The command is:</p>
<p><strong>C:\Program Files\<span class="hilite">Netflix</span>\<span class="hilite">Netflix</span> Movie Viewer\ResetDRM.exe</strong></p>
<p>After a couple of warning windows (read them carefully!) it completed.  I reopened IE, clicked play on a Netflix movie and instead of crashing it notified me it needed to update something in WMP (as it had done long ago in XP).  I let it, and after that it works like a charm!</p>
<p>Well, almost&#8230; looks like it&#8217;ll complain about getting a license every time you use it (because of IE&#8217;s &#8220;protected mode&#8221;?  I dunno but I don&#8217;t feel safe to disable it).  It seems to work after a prompt, but it makes me think it&#8217;ll eventually fail again.</p>
<p><strong>Was all this work worth it though? </strong>We&#8217;ll see&#8230; I don&#8217;t trust that it&#8217;ll be reliable and if it wasn&#8217;t free as part of my Netflix membership I would be very hesitant to use this at all &#8211; especially when such DRM &#8220;rights&#8221; could suddenly disappear tomorrow or, as we see here, every time you use it.  DRM is nothing but a nightmare and apparently it&#8217;s only getting worse.  I&#8217;d go to Blu-Ray but I don&#8217;t want any &#8220;Surprise!  DRM doesn&#8217;t like your big new monitor!&#8221; problems (also reported, which HDCP compatibility supposedly helps but it&#8217;s a &#8220;gotcha!&#8221; I don&#8217;t care to risk right now).</p>
<p><strong>References:</strong></p>
<p><a href="http://www.annoyances.org/exec/forum/winvista/t1201447823" target="_blank">http://www.annoyances.org/exec/forum/winvista/t1201447823</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/4/vista-sp1-wmp11-and-netflix-a-solution/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog #2: The Quickening</title>
		<link>http://www.falatic.com/index.php/3/blog-2-the-quickening</link>
		<comments>http://www.falatic.com/index.php/3/blog-2-the-quickening#comments</comments>
		<pubDate>Sun, 07 Oct 2007 07:52:55 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.falatic.com/?p=3</guid>
		<description><![CDATA[Ok, not-so-quick considering the time since I wrote the last one.
What all does one write on a blog that&#8217;s purposely sanitized so it won&#8217;t offend past, present or future employers? Something intended to be neutral and unassuming? Frankly not a heck of a lot.
*Sigh*
]]></description>
			<content:encoded><![CDATA[<p>Ok, not-so-quick considering the time since I wrote the last one.</p>
<p>What all does one write on a blog that&#8217;s purposely sanitized so it won&#8217;t offend past, present or future employers? Something intended to be neutral and unassuming? Frankly not a heck of a lot.</p>
<p>*Sigh*</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/3/blog-2-the-quickening/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is a mouse when it spins?</title>
		<link>http://www.falatic.com/index.php/1/hello-world</link>
		<comments>http://www.falatic.com/index.php/1/hello-world#comments</comments>
		<pubDate>Fri, 06 Apr 2007 03:30:53 +0000</pubDate>
		<dc:creator>Marty</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Hmm&#8230; I got my domain here about 8 years ago and as far as web things go I&#8217;ve not done a thing with it.  I wonder if there&#8217;s some sort of award for having the oldest &#8220;Under Construction&#8221; page?  
]]></description>
			<content:encoded><![CDATA[<p>Hmm&#8230; I got my domain here about 8 years ago and as far as web things go I&#8217;ve not done a thing with it.  I wonder if there&#8217;s some sort of award for having the oldest &#8220;Under Construction&#8221; page? <img src='http://www.falatic.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.falatic.com/index.php/1/hello-world/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
