<?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>Hackerdude &#187; OS-Dependent</title>
	<atom:link href="http://www.hackerdude.com/category/os-dependent/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hackerdude.com</link>
	<description>Software Development Blog by David Martinez</description>
	<lastBuildDate>Tue, 06 Apr 2010 05:02:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>iPad &#8211; first impressions</title>
		<link>http://www.hackerdude.com/2010/04/04/ipad-first-impressions/</link>
		<comments>http://www.hackerdude.com/2010/04/04/ipad-first-impressions/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 22:21:52 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[IPad]]></category>
		<category><![CDATA[kindle]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/?p=765</guid>
		<description><![CDATA[My experiences with the iPad so far]]></description>
			<content:encoded><![CDATA[<p>Yesterday I went ahead and picked up an iPad. A lot of people are wondering if it makes sense as a device. Here are my impressions.<br />
<span id="more-765"></span><br />
I've only used it for a few hours now and I have to say I'm impressed. Its use as a big iPod is flawless. It's an excellent at-home-with-kids machine, as I was able to plant it as an impromptu tv while I cooked breakfast. I can imagine it being a great "follow recipe" experience. Using the iPhone for that was a bit awkward. As a computer, it's not so good, but does fill that hole in between nicely.</p>
<p>It was painful to wait for the first time sync which took about two hours on my device (I have a lot of stuff). It's much faster now.</p>
<p>The keyboard is not as bad as the iPhone (I'm typing this on the iPad) but it is no walk in the park to type on either. I bought the apple case for it that makes it incline and I couldn't imagine being able to type fast without it. However the angle it produced forced me to put a small book underneath to avoid carpal tunnel by bringing it closer to my fingers. Although now you can type long texts (the software keyboard is basically a full-travel size, with wider than normal spacing between keys), it's probably a good idea to pick up an external keyboard if you're going to find yourself typing a whole bunch, particularly due to the complete lack of cursor keys. The keyboard is meant to be used with the iPad on a surface though, it's hard to type while also holding the device.</p>
<p>Netflix is simply awesome on it. Release night had some performance problems but they seemed to have been fixed by this morning (everyone trying it out probably).</p>
<p>So far I have browsed the web with it, played some games, read books using Kindle's app and watched netflix. It works fantastically well (speakers are better than on the iPod but not as good as a notebook, headphones are still required in loud environments).</p>
<p>I did get the only ssh app available directly for the iPad to see if I could do work in a pinch. It works but it's still painful (my brain seems to crave the tactile feedback once I get into a command line). I will try it later with a bluetooth keyboard and if that works I'll be getting one to keep in my bag.</p>
<p>I picked up the iWork suite but not having anything pressing that requires it I have only followed tutorials so far. I can already tell the experience of having to sync files through iTunes is not going to cut it though as I have two computers, work and home. I really need to be able to get to any file in my MobileMe at least. Not having the option to do so is, well, disappointing. I wish I had a real finder, even if it did only client AFP. </p>
<p>I also tried the books app, and was able to easily sync epubs I dragged to my library but oddly no PDFs. Sad because I have a lot of those I want to keep as reference. Luckily my iPhone apps (stanza) all work so I can still use the dropbox/stanza trick, though 2x pixellated stanza won't do for the longer term.</p>
<p>All in all, it's an ambitious device and it does take the place of my Kindle in my bag permanently. I will still use the kindle in super-sunny environments and while relaxing in the backyard over the summer, but there is really no reason for it in other circumstances when given the choice. I still love my amazon eBooks though, so I was happy to see that amazon has smartly added the buy option on the iPad version of their app. As I see it most of the flaws are smaller and in the software, so I'm pretty happy and looking forward to those firmware updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2010/04/04/ipad-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Figure out the encoding of a stream</title>
		<link>http://www.hackerdude.com/2009/10/02/figure-out-the-encoding-of-a-stream/</link>
		<comments>http://www.hackerdude.com/2009/10/02/figure-out-the-encoding-of-a-stream/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 21:30:09 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/?p=598</guid>
		<description><![CDATA[Have you ever seen a stream of data coming from a network, and it has some European accented characters in an encoding you don't recognize? Sometimes bad coding practices or assumptions about encoding when pasting into documents make the encoding on the file not match all or part of the encoding of a document. This [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever seen a stream of data coming from a network, and it has some European accented characters in an encoding you don't recognize? Sometimes bad coding practices or assumptions about encoding when pasting into documents make the encoding on the file not match all or part of the encoding of a document. This is a quick way to find out what encoding(s) match.</p>
<p>It's not fully automated, it still requires your eyes. But it can make a difference when you're writing parsing code and you don't know what to do with some edge cases. Maybe some code like this coupled with a spell checker inside the loop would give you some sense of automation.</p>
<p><span id="more-598"></span>
<ul>
<li>First, install iconv (on a Mac, use sudo port install iconv).</li>
<li>Next, use curl (sudo port install curl if you don't have it) to get the stream and save it to a file, or copy/paste the section you see looking strange.</li>
<li>Now write this program and run it:</li>
</ul>
<pre class="rails"><span style="color:#008000; font-style:italic;">#!/usr/bin/ruby</span>
CHARSETS=<span style="color:#996600;">`iconv -l | xargs`</span>.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">' '</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#008000; font-style:italic;">#puts CHARSETS.join(',')</span>
RESULTS=<span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
CHARSETS.<span style="color:#5A0A0A; font-weight:bold;">each</span> <span style="color:#006600; font-weight:bold;">&#123;</span> |charset|
	<span style="color:#008000; font-style:italic;">#puts &quot;Trying: #{charset}&quot;</span>
	RESULTS<span style="color:#006600; font-weight:bold;">&#91;</span>charset<span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#996600;">`cat untitled<span style="color:#000099;">\\</span> thefile.txt | iconv --from-code=#{charset} 2&amp;gt;&amp;#38;1`</span>
<span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
RESULTS.<span style="color:#5A0A0A; font-weight:bold;">each</span><span style="color:#006600; font-weight:bold;">&#123;</span>|charset, result|
	<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;#{charset} - #{result.sub(&quot;</span>\n<span style="color:#996600;">&quot;, ' ')}&quot;</span>
<span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;</pre>
<p>   Now look at the results. Sometimes, more than one may match.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2009/10/02/figure-out-the-encoding-of-a-stream/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FuzzyCom :: Using DTrace for javascript debug on OS X in firefox</title>
		<link>http://www.hackerdude.com/2009/02/10/fuzzycom-using-dtrace-for-javascript-debug-on-os-x-in-firefox/</link>
		<comments>http://www.hackerdude.com/2009/02/10/fuzzycom-using-dtrace-for-javascript-debug-on-os-x-in-firefox/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 18:14:29 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2009/02/10/fuzzycom-using-dtrace-for-javascript-debug-on-os-x-in-firefox/</guid>
		<description><![CDATA[Vincent Hellot over at FuzzyCom teaches how to use dtrace to trace javascript problems on a Mac (using a specially compiled Firefox binary for OSX). He hints at being able to do it with Ruby on Rails as well. Haven't tried this, but can't wait to do so. This post aims at introducing the DTrace [...]]]></description>
			<content:encoded><![CDATA[<p>Vincent Hellot over at <a href="http://fuzzycom.eu/posts">FuzzyCom</a> teaches how to use dtrace to trace javascript problems on a Mac (using a specially compiled Firefox binary for OSX). He hints at being able to do it with Ruby on Rails as well. Haven't tried this, but can't wait to do so.</p>
<blockquote cite="http://fuzzycom.eu/posts/22">
<p>This post aims at introducing the DTrace debugging tool in the scope of a javascript application. It won&#8217;t get too deep in the wide field of DTrace functions but I hope it will give you an overview of how DTrace can help to solve performance and debugging issues in your javascript applications</p>
<p>[From <a href="http://fuzzycom.eu/posts/22"><cite>FuzzyCom :: Using DTrace for javascript debug on OS X in firefox</cite></a>]
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2009/02/10/fuzzycom-using-dtrace-for-javascript-debug-on-os-x-in-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby Appscript &#8211; Sweet automation</title>
		<link>http://www.hackerdude.com/2009/01/23/ruby-appscript-sweet-automation/</link>
		<comments>http://www.hackerdude.com/2009/01/23/ruby-appscript-sweet-automation/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 00:50:26 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2009/01/23/ruby-appscript-sweet-automation/</guid>
		<description><![CDATA[Yesterday a coworker pointed me to ruby's appscript. I have found it nothing short of amazing. I love my Mac, and many of us like the idea of automating our software, until we try to use AppleScript to do it. To say that Applescript is professional developer unfriendly is an understatement. I like ruby but [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday a coworker pointed me to ruby's appscript. I have found it nothing short of amazing.</p>
<p>I love my Mac, and many of us like the idea of automating our software, until we try to use AppleScript to do it. To say that Applescript is professional developer unfriendly is an understatement. I like ruby but to make ruby and applescript talk requires sending strings to osascript in just the right way and getting the output from osascript back. Not a lot of fun at all.</p>
<p>Enter appscript. <a href="http://appscript.sourceforge.net/" title="Appscript - Ruby applescript automation">Appscript</a> is a ruby library that interfaces with applescript seamlessly.</p>
<p><span id="more-541"></span>
<p>What's pretty amazing is its power after you spend a little while on the irb console and keep using the tab key for autocompletion. It even introspects the dictionary to see what is available at this time. It doesn't always give the right thing but by trying things out and with a bit of logic you always get there. </p>
<p>There's also an app called ASDictionary that will spit out the dictionary with ruby syntax, though I never found the dictionary all that useful anyway (I mean yes, it has definitions for everything, but it seldom provides info on exactly how everything is tied together or examples of use). I personally prefer trying things out on the console.</p>
<p>Here are a few examples of its use. You can do all this on irb immediately after installing it with <strong>sudo gem install appscript</strong>:</p>
<h4>Driving iCal</h4>
<p>This will get all your calendars and print their names:</p>
<pre class="ruby">&nbsp;
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'appscript'</span>
app = Appscript.<span style="color:#9900CC;">app</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;iCal&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
app.<span style="color:#9900CC;">calendars</span>.<span style="color:#9900CC;">get</span>.<span style="color:#9900CC;">each</span> <span style="color:#006600; font-weight:bold;">&#123;</span> |cal| <span style="color:#CC0066; font-weight:bold;">puts</span> cal.<span style="color:#9900CC;">name</span>.<span style="color:#9900CC;">get</span> <span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;</pre>
<p>Just expanding on this concept a little more, you can also grab all the to-dos:  </p>
<pre class="ruby">&nbsp;
app.<span style="color:#9900CC;">calendars</span>.<span style="color:#9900CC;">get</span>.<span style="color:#9900CC;">each</span> <span style="color:#006600; font-weight:bold;">&#123;</span> |cal|
  cal.<span style="color:#9900CC;">get</span>.<span style="color:#9900CC;">todos</span>.<span style="color:#9900CC;">get</span>.<span style="color:#9900CC;">each</span> <span style="color:#006600; font-weight:bold;">&#123;</span>|todo|
    <span style="color:#CC0066; font-weight:bold;">puts</span> todo.<span style="color:#9900CC;">summary</span>.<span style="color:#9900CC;">get</span>
  <span style="color:#006600; font-weight:bold;">&#125;</span>
<span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;</pre>
<h4>Automating Safari. Ruby to Applescript to Javascript</h4>
<p>Haven't tried marshaling values back as I'm just exploring, but I don't see why it couldn't.</p>
<pre class="ruby">&nbsp;
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'appscript'</span>
app = Appscript.<span style="color:#9900CC;">app</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;iCal&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
app.<span style="color:#9900CC;">open_location</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;http://www.google.com&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
window = app.<span style="color:#9900CC;">documents</span>.<span style="color:#9900CC;">get</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>
window.<span style="color:#9900CC;">do_JavaScript</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;window.alert('Your title is '+document.title)&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;</pre>
<p>I'm sure you can find some use for this. I already did - I wrote myself a quick cron to add all the JIRA tasks assigned to me to <a href="http://www.omnigroup.com/applications/omnifocus/" title="Omnifocus - Professional Grade Desktop Task Mnagement">Omnifocus</a> if I don't already have them there. I'm looking forward to seeing what else I can put this to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2009/01/23/ruby-appscript-sweet-automation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quick and stupid: Don&#039;t set unlimited on the buffer size of Terminal</title>
		<link>http://www.hackerdude.com/2009/01/14/quick-and-stupid-dont-set-unlimited-on-the-bufer-size-of-terminal/</link>
		<comments>http://www.hackerdude.com/2009/01/14/quick-and-stupid-dont-set-unlimited-on-the-bufer-size-of-terminal/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 18:09:00 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2009/01/14/quick-and-stupid-dont-set-unlimited-on-the-bufer-size-of-terminal/</guid>
		<description><![CDATA[If you're a developer and use Terminal.app, don't set "unlimited" on the buffer size. After a day of using it heavily to review logs and whatnot your computer will be *really* slow. It's Terminal.app keeping in RAM what you did yesterday. Stupid and Obvious, but still figured I'd write it down.]]></description>
			<content:encoded><![CDATA[<p>If you're a developer and use Terminal.app, don't set "unlimited" on the buffer size. After a day of using it heavily to review logs and whatnot your computer will be *really* slow. It's Terminal.app keeping in RAM what you did yesterday. Stupid and Obvious, but still figured I'd write it down.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2009/01/14/quick-and-stupid-dont-set-unlimited-on-the-bufer-size-of-terminal/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Bindings, Outlets, Target+Action across multiple NIBs</title>
		<link>http://www.hackerdude.com/2008/12/15/bindings-outlets-targetaction-across-multiple-nibs/</link>
		<comments>http://www.hackerdude.com/2008/12/15/bindings-outlets-targetaction-across-multiple-nibs/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 06:12:49 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2008/12/15/bindings-outlets-targetaction-across-multiple-nibs/</guid>
		<description><![CDATA[I'm a total troublemaker. For my first Core Data app I decided to do something nontrivial (multiple windows referring to a single document). Of course nontrivial means that the Interface Builder can only help me so far. So now I'm stuck trying to get things to work out right. Luckily Patrick Geiller has put together [...]]]></description>
			<content:encoded><![CDATA[<p>I'm a total troublemaker. For my first Core Data app I decided to do something nontrivial (multiple windows referring to a single document). Of course nontrivial means that the Interface Builder can only help me so far. So now I'm stuck trying to get things to work out right. Luckily Patrick Geiller has put together a good explanation of how you can share multiple nibs across an application. Now all I have to do is apply this same data sharing technique to the NSDocument instead.</p>
<blockquote cite="http://parmanoir.com/Bindings,_Outlets,_Target+Action_across_multiple_NIBs">
<p>When using multiple NIBs, we need a common object that will share data among them. That object will hold bindings, outlets, target/action shared across NIBs.</p>
<p>  [From <a href="http://parmanoir.com/Bindings,_Outlets,_Target+Action_across_multiple_NIBs"><cite>Bindings, Outlets, Target+Action across multiple NIBs</cite></a> ]
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2008/12/15/bindings-outlets-targetaction-across-multiple-nibs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating a Git project for XCode/Cocoa apps</title>
		<link>http://www.hackerdude.com/2008/12/15/creating-a-git-project-for-xcodecocoa-apps/</link>
		<comments>http://www.hackerdude.com/2008/12/15/creating-a-git-project-for-xcodecocoa-apps/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 19:51:58 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2008/12/15/creating-a-git-project-for-xcodecocoa-apps/</guid>
		<description><![CDATA[You can always count on somebody to have figured things out before you.. Chrisopher Roach's blog has a nice quick setup guide to get your xcode project in a git repo (gitignores, attributes and basic git push capability). Whenever I setup a new Xcode project, the first thing I do is initialize it as a [...]]]></description>
			<content:encoded><![CDATA[<p>You can always count on somebody to have figured things out before you.. Chrisopher Roach's blog has a nice quick setup guide to get your xcode project in a git repo (gitignores, attributes and basic git push capability).</p>
<blockquote cite="http://christopherroach.com/archives/35">
<p> Whenever I setup a new Xcode project, the first thing I do is initialize it as a Git repository and add some configuration to the project that will make using Git with Xcode a bit less messy.</p>
<p>[From <a href="http://christopherroach.com/archives/35"><cite>christopherroach.com</cite></a> ]
</p></blockquote>
<p>And of course debate has already started on the merits of treating certain things as binary to avoid merging nightmares. &lt;sarcasm&gt;Don't you love XML syntaxes?&lt;/sarcasm&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2008/12/15/creating-a-git-project-for-xcodecocoa-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby, Folder actions and full automation</title>
		<link>http://www.hackerdude.com/2008/09/25/ruby-folder-actions-and-full-automation/</link>
		<comments>http://www.hackerdude.com/2008/09/25/ruby-folder-actions-and-full-automation/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 00:03:37 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2008/09/25/ruby-folder-actions-and-full-automation/</guid>
		<description><![CDATA[I routinely scan my documents as PDFs so I can keep them in a virtual filing cabinet (you know, the whole "paperless office" thing). I use my HP all-in-one software running on a Windows VM inside a Mac (sorry, but the Mac scanning software on HP is complete garbage in my opinion). What bothered me [...]]]></description>
			<content:encoded><![CDATA[<p>I routinely scan my documents as PDFs so I can keep them in a virtual filing cabinet (you know, the whole "paperless office" thing). I use my HP all-in-one software running on a Windows VM inside a Mac (sorry, but the Mac scanning software on HP is complete garbage in my opinion).</p>
<p>What bothered me about this was that all the files scanned always end up named "scan12345.pdf". Because of the way I file, I like having my things as "year/company/year-monty-date.pdf" instead.</p>
<p><span id="more-532"></span></p>
<p>For a while there I was spending hours manually moving files to the correct folders while watching TV or doing another "using half-my-brain" activity. I thought there had to be a better way. I'm a bit handy with software, so I started a little ruby script to do the move for me.</p>
<p>The script uses pdftotext (you can get pdftotext using <a href="http://www.macports.org">MacPorts</a>  ) and ruby to determine information inside the actual PDF (scan them as "searchable PDFs" so it OCRs the text). Once it makes that determination, it does the file move to the appropriate place. A series of Regular expressions inside the script determine what company it belongs to, and a strong date parser takes a look at anything that looks significant enough that has a date attached to it in order to determine an appropriate date IN the scanned document, as opposed to the date of the file (which it uses if it can't find any parsable dates inside the document).</p>
<p>So now I had a script that could do those moves properly, but still didn't want to have to remember to continuously running the script. Here is where the Mac's Folder Actions feature comes in.</p>
<p>Using Folder Actions, I wrote the following script to wait for the file to drop in the folder (the scanning program on the Windows side uses a VMWare shared folder to drop the PDF on a mac folder):</p>
<p>It's not perfect. It uses a delay mechanism to wait for the Windows side to finish writing the PDF (dumb scanning program creates the zero-byte file and waits to fill it until it has run OCR on the whole thing). But because the folder action works on all PDFs on the document, it can pick up the ones it couldn't run pdftotext on the last time, so it's good enough for now. It also has a real problem pulling the correct date on documents where a lot of patterns could be a date (need to work on a good algorithm - I haven't found one yet).</p>
<p>Anyway, here are <a href="http://www.hackerdude.com/wp-content/sample_code/auto_file.rb">the auto_file script</a> and the <a href="http://www.hackerdude.com/wp-content/sample_code/added_scanned_doc.applescript.txt">applescript folder actions script</a> that triggers it.</p>
<p>Hopefully it will be useful for you if you have a similar need or just for learning how you can streamline some of the stuff you do every day with your Mac. Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2008/09/25/ruby-folder-actions-and-full-automation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Note taking applications: Evernote vs Journler</title>
		<link>http://www.hackerdude.com/2008/06/25/note-taking-applications-evernote-vs-journler/</link>
		<comments>http://www.hackerdude.com/2008/06/25/note-taking-applications-evernote-vs-journler/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 16:31:49 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2008/06/25/note-taking-applications-evernote-vs-journler/</guid>
		<description><![CDATA[I stopped doing GTD. And I totally shouldn't have. I have determined that the problem was the lack of an "always there" todo list and note taking device. I write too slowly and am not organized enough to use my moleskine (never mind that I also tend to forget it), and my lifestyle is too [...]]]></description>
			<content:encoded><![CDATA[<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
  <br />
  <span style="font-family: Arial; font-size: 13px;"><span style="font-family: Helvetica; font-size: 12px;">I stopped doing GTD. And I totally shouldn't have.</span><br /></span> </p>
<p><span style="font-family: Helvetica; font-size: 12px;">I have determined that the problem was the lack of an "always there" todo list and note taking device. I write too slowly and am not organized enough to use my moleskine (never mind that I also tend to forget it), and my lifestyle is too mobile to just use a laptop.</span></p>
<p><span style="font-family: Helvetica; font-size: 12px;">I tried iGTD and Omnifocus. Ominfocus was too heavy on the resources, though by now I should probably try it again (maybe when they come up with an iPhone rich client). I also used Circus Ponies' Notebook, which was pretty nice but didn't do spotlight with enough granularity. Then I tried Journler (for journaling, never used it for GTD) and now I'm trying out Evernote. So how does Evernote compare?</span></p>
<p>
</div>
<p><span id="more-529"></span><br />
<span style="font-family: Arial; font-size: 13px;">Well, it's not as nice as Journler. But it syncs online and does OCR, which is pretty unique. But only kind of works out for me because it's not ubiquitous.</span></p>
<p><span style="font-family: Arial; font-size: 13px;">The problem with syncing online is that sometimes you just don't have access to the online component. For example, I have a shopping list. I go to it online using the iPhone. When I enter the supermarket, signal drops and I no longer have access to the stuff I'm shopping for! (this *has* happened to me). As soon as there's an iPhone rich client that syncs locally, I'll be much happier.</span></p>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
  <br />
  <span style="font-family: Arial; font-size: 13px;">Having said that, I also like features. And the last program I tried, Journler, spoiled me with them. To the point that I keep comparing Evernote to Journler, and find Evernote lacking.<br />
  Both Evernote and Journler support full Spotlight searching which is nice. But Journler (probably because they only have to worry about the client app) is a lot more polished. For example, in Journler you can add multiple pieces of content on the same entry, and these can be audio, video, and photos (through the iSight). When taking a picture with evernote (the only thing that's supported), it always creates a new entry. I can't seem to drag images from one note to another, though it does suport dragging and dropping multiple images.<br />
  A big selling point for Evernote is the text recognition that happens on the server. But it seems like it's only half a feature. For example, it recognizes the text and keeps it hidden, like an OCR'd PDF. It helpfully highlights the found words as it finds them during a search, but it doesn't let me drag and select text inside the image, like an OCR PDF would do in something like Preview. I know there's backing text being stored, and I would like to be able to select it to copy/paste, particularly for things like quickly updating my address book with information I photograph off a business card, or preparing a document based on some text that came in as a graphic.<br /></span></p>
<div style="text-align: center;">
    <br />
    <span style="font-family: Arial; font-size: 13px;"><img src="http://www.hackerdude.com/wp-content/uploads/2008/06/evernote-usenix-example.jpg" width="480" height="283" alt="Evernote Usenix Example.png" /><br /></span>
  </div>
<p><span style="font-family: Arial; font-size: 13px;">Journler supports real smart folder searches, categories and tags, which should make it possible to set up a GTD-like system based on what you write. Evernote only has tags, and saved searches, which let you save a textual search and a search that is only limited to a particular set of tags, except that multiple tags work like an AND instead of an OR (and you can't change this), so it makes it less flexible that it could be in practice.</span>
</div>
<div style="text-align: center;">
  <br />
  <img src="http://www.hackerdude.com/wp-content/uploads/2008/06/search-sample.jpg" width="480" height="182" alt="Search Sample.png" />
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: left;">
  <br />
  Evernote has one thing Journler can't match however, and that is the syncing and the ubiquity. The browser client for evernote is excellent, and it has a reasonable iPhone-specific ajax client. I would much prefer it if there was a real iPhone client now that the SDK is (almost) formally out. Since Evernote has a full client for all other platforms, I'm confident they will come up with a full iPhone client (but I don't know this for a fact).
</div>
<div style="text-align: left;">
  
</div>
<div style="text-align: left;">
  <br />
  I like Evernote, and I will probably continue to use it. I hope one day I can have an ubiquitous capture device. This one *almost* makes the cut.
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2008/06/25/note-taking-applications-evernote-vs-journler/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some useful OSX Applications</title>
		<link>http://www.hackerdude.com/2008/05/29/some-useful-osx-applications/</link>
		<comments>http://www.hackerdude.com/2008/05/29/some-useful-osx-applications/#comments</comments>
		<pubDate>Fri, 30 May 2008 06:03:45 +0000</pubDate>
		<dc:creator>David Martinez</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.hackerdude.com/2008/05/29/some-useful-osx-applications/</guid>
		<description><![CDATA[Besides the iLife Suite, here are some applications I've found useful lately. Here they are. I will update this in the next few days. These apps I just can't live without (in no particular order): Spanning Sync.- Syncs your Google Calendars and iCal. $25 per year, or one-time $65. Ecto.- If you do a lot [...]]]></description>
			<content:encoded><![CDATA[<p>Besides the iLife Suite, here are some applications I've found useful lately. Here they are. I will update this in the next few days.</p>
<p><span id="more-524"></span></p>
<p>These apps I just can't live without (in no particular order):</p>
<ul>
<li><a href="http://spanningsync.com/" title="Spanning Sync - Sync google calendars">Spanning Sync</a>.- Syncs your Google Calendars and iCal. $25 per year, or one-time $65.</li>
<li><a href="http://infinite-sushi.com/software/ecto/" title="Ecto Blogging Tool">Ecto</a>.- If you do a lot of bloging, you can use TextMate as I have mentioned before, or you can just use a blogging app. This is a good one. $17.49</li>
<li><a href="http://www.circusponies.com/store/index.php?main_page=notebook&amp;sub=publish" title="Notebook">Notebook</a> by Circus Ponies.- A good outliner that also lets you bring in disparate information from the web, link files, etcetera. $49.99</li>
<li><a href="http://www.adiumx.com/" title="Adium Instant Messenger">Adium</a>.- The instant messenger client for OSX that is multiprotocol and open source. Free.</li>
<li><a href="http://www.panic.com/coda/" title="Coda - One Window Web Development">Coda</a>.- An excellent web development app for PHP types. $79</li>
<li><a href="http://fluidapp.com/" title="Site Specific Browser">Fluid</a>.- A lot of us use a lot of different web applications. This lets you make a site-specific browser that only runs on this application. Free.</li>
<li><a href="http://www.pascal.com/software/freeruler/" title="Free Ruler">Free Ruler</a>.- A simple screen ruler. Simple, efficient. Free.</li>
<li><a href="http://www.shinywhitebox.com/home/home.html" title="iShowU - Record your actions into a movie">iShowU</a>.- Records anything going on on your screen into a movie. Excellent for showing "why things aren't working".</li>
<li><a href="http://www.officetime.net/" title="OfficeTime Time tracking software">OfficeTime</a> .- Tracks your time by project. Useful for accurate time accounting. $47.00</li>
<li><a href="http://www.videolan.org/vlc/" title="VLC Video Player">VLC</a>.- A video player that does it all. Because life is too short to worry about video codecs. Free.</li>
<li><a href="http://www.vmware.com/download/fusion/" title="VMWare Fusion">VMware Fusion</a>.- Virtual Machine. Run any intel OS on your Mac. $79.99</li>
<li><a href="http://www.apple.com/iwork/" title="Apple iWork">iWork</a>.- If you don't have giant excel files with Macros and you don't live by the MS Office suite, this is very good. I don't have office on this machine anymore and I don't miss it. $79</li>
<li><a href="http://www.macports.org/" title="The MacPorts project">MacPorts</a>.- Requires the OSX development tools installed. If you are a Linux, Unix or BSD switcher, get this to maintain your more unix-y software. SVN, Git, colordiff, languages. Basically the whole ports tree ported over, plus a lot of Mac-specific stuff. Free and Open Source.</li>
</ul>
<p>Here are others that I have been playing with, which you may find useful or interesting:</p>
<ul>
<li><a href="http://www.journler.com/" title="Journler Journal Software">Journler</a>.- Kind of interesting, journaling software. Lets you keep a journal and add video/audio to it. Some todo type features. $34.</li>
</ul>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hackerdude.com/2008/05/29/some-useful-osx-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
