<?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>ErrorOK &#187; Software Developement</title>
	<atom:link href="http://blog.errorok.com/category/dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.errorok.com</link>
	<description>A library of useless knowledge</description>
	<lastBuildDate>Wed, 17 Mar 2010 17:30:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Upgrade rtorrent in karmic 9.10 THE EASY WAY</title>
		<link>http://blog.errorok.com/2010/02/26/191/</link>
		<comments>http://blog.errorok.com/2010/02/26/191/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 23:37:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ppa]]></category>
		<category><![CDATA[rtorrent]]></category>
		<category><![CDATA[rutorrent]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=191</guid>
		<description><![CDATA[This is just a quick follow-up to my earlier post.  I now have the rtorrent package source up and running on my ppa.  So now you just need to do the following:

echo -e "deb http://ppa.launchpad.net/patricksissons/rtorrent/ubuntu karmic main \ndeb-src http://ppa.launchpad.net/patricksissons/rtorrent/ubuntu karmic main" &#124; sudo tee /etc/apt/sources.list.d/rtorrent.list &#038;&#038; sudo apt-get update &#038;&#038; sudo apt-get install [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a quick follow-up to my earlier post.  I now have the rtorrent package source up and running on my ppa.  So now you just need to do the following:<br />
<code><br />
echo -e "deb http://ppa.launchpad.net/patricksissons/rtorrent/ubuntu karmic main \ndeb-src http://ppa.launchpad.net/patricksissons/rtorrent/ubuntu karmic main" | sudo tee /etc/apt/sources.list.d/rtorrent.list &#038;&#038; sudo apt-get update &#038;&#038; sudo apt-get install rtorrent<br />
</code></p>
<p>This will add my rtorrent ppa to your custom sources, update your source cache, then install the updated version of rtorrent (as well as libtorrent and xmlrpc).  Combine this with <a href="http://code.google.com/p/rutorrent/" target="_blank">rutorrent</a> and you have a pretty sweet headless torrent server.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2010/02/26/191/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launchpad PPA&#8217;s</title>
		<link>http://blog.errorok.com/2010/02/24/186/</link>
		<comments>http://blog.errorok.com/2010/02/24/186/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 21:02:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[ppa]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=186</guid>
		<description><![CDATA[So after discovering that my quick and dirty rtorrent fix didn&#8217;t actually fix what i needed it to (xmlrpc stuff, specifically), I decided to instead look into setting up a ppa on launchpad to host some of my custom packages.  So here is a quick guide on how to do this:
first, some things you [...]]]></description>
			<content:encoded><![CDATA[<p>So after discovering that my quick and dirty rtorrent fix didn&#8217;t actually fix what i needed it to (xmlrpc stuff, specifically), I decided to instead look into setting up a ppa on launchpad to host some of my custom packages.  So here is a quick guide on how to do this:</p>
<p>first, some things you will need to install:<br />
<code>sudo apt-get install dput devscripts</code><br />
of course, you&#8217;ll need some of the usual stuff like build-essentials and other common dev packages.  dput is used to upload your source packages to your ppa, and devscripts contains some useful debian package scripts, such as debuild which is used to build your package.</p>
<p>now, create a gpg key for your ppa (or use an existing one if you have one)<br />
simply use gpg &#8211;gen-key to generate a key (use the defaults, unless you want to get more specific)<br />
if you already have a set of keys on another machine, you can export/import the public and private keys to your other machine.  If you get into trouble with not enough entropy (happens when your compile machine is headless and you do everything through ssh), then try installing rng-tools and set your device to /dev/urandom (in /etc/default/rng-tools) then start the service.  This will generate entropy for you.</p>
<p>Now setup your own ppa.  First you&#8217;ll need a launchpad account, then you just need to authenticate yourself and create a new ppa.  I won&#8217;t detail this process, but you can probably get a good idea from here: http://blog.launchpad.net/ppa/personal-package-archives-for-everyone</p>
<p>Now grab your source package as well as its build dependencies:<br />
<code>sudo apt-get build-dep PACKAGE<br />
apt-get source PACKAGE</code><br />
note that you don&#8217;t need to sudo when getting package sources.  If you are upgrading the package using the latest version, things can get a little wonky because ubuntu packages are usually customized with patches, and these patches often don&#8217;t work with bleeding edge source.  None the less you can give it a shot, simply grab the source for your package (not through apt, but from svn, git, http, etc&#8230;) and then copy the debian directory from the ubuntu source directory to your newer source directory.  You will need to modify the changelog and create a new entry for your package (with an updated version).  Alternatively, you can use dch to do this.  Once you have your source set up, you have to build the source package.  I recommend building the binary first, but this is not necessary, it just helps to for testing installation of the package and other things.  to build the source package:<br />
<code>debuild -S -sa</code><br />
this will generate a source package in the parent directory.  Once this finishes, you can upload it to you ppa.</p>
<p>to upload your package to your ppa, just run:<br />
<code>dput PPA PACKAGE_source.changes</code><br />
PPA will be something like ppa:USER_NAME/PPA_NAME<br />
the changes file will have been created as a part of the source package creation.<br />
this will ask you to enter your gpg password, and then upload the files to the launchpad servers.  In a few minutes your package will be built and you&#8217;ll get a notice saying it was successful or not.</p>
<p>Caveats!  They exist!  some things i have found which are slightly annoying are the following:<br />
you cannot re-upload (re-build) a package.  This is useful if you have a dependency issue, the only fix is to increment the version and re-upload (please correct me if there is a better solution).<br />
deleting packages is not very clear what happens, a deleted package still exists for quite some time on the server.  There appears to be no notice of a package being purged, it just randomly stops existing.</p>
<p>p.s. updated rtorrent ppa will come soon, if you really want to get it now, you can use this package source:<br />
<em>deb http://ppa.launchpad.net/patricksissons/pjs/ubuntu karmic main</em><br />
this is my development ppa, so it may contain things you don&#8217;t actually want to install.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2010/02/24/186/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrade rtorrent in karmic 9.10</title>
		<link>http://blog.errorok.com/2010/02/07/182/</link>
		<comments>http://blog.errorok.com/2010/02/07/182/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 02:53:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[karmic]]></category>
		<category><![CDATA[rtorrent]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=182</guid>
		<description><![CDATA[here is a quick and easy way to upgrade to the latest rtorrent on karmic.  Basically we just snag it from lucid.
There are two basic methods to do this, the easiest is debatable between the two.  Personally, i just tried method one, but i&#8217;m sure method two would work just as well.
Method 1:

head [...]]]></description>
			<content:encoded><![CDATA[<p>here is a quick and easy way to upgrade to the latest rtorrent on karmic.  Basically we just snag it from lucid.</p>
<p>There are two basic methods to do this, the easiest is debatable between the two.  Personally, i just tried method one, but i&#8217;m sure method two would work just as well.</p>
<p>Method 1:</p>
<ol>
<li>head to <a href="http://packages.ubuntu.com/lucid/rtorrent" target="_blank">http://packages.ubuntu.com/lucid/rtorrent</a></li>
<li>download the deb for your architecture</li>
<li>download the deb for each of the following dependent packages:
<ol>
<li>libssl</li>
<li>librtorrent</li>
<li>libxmlrpc</li>
<li>libxmlrpc-core</li>
</ol>
</li>
<li>install each of the packages by running <tt>sudo dpkg -i *.deb</tt></li>
</ol>
<p>Method 2:</p>
<p>update your apt sources to lucid, do an apt update and then install rtorrent.  This should get the lucid packages and dependents.  Just remember to revert your changes to the apt source.</p>
<p>Like i said, i did method one, mostly because i was curious which packages i would need to backport to get rtorrent upgraded to version 0.8.6.  If you are curious why one might do this, it is because there are significant changes made to libtorrent and rtorrent, and this is an easy way to get access to them.</p>
<p>There may be some remaining issues to deal with regarding libxmlrpc, this is something i will look into once i have had a chance to work with this new version of rtorrent.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2010/02/07/182/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Google Chrome Work With a SOCKS5 proxy (i.e. putty ssh tunnel)</title>
		<link>http://blog.errorok.com/2009/12/21/175/</link>
		<comments>http://blog.errorok.com/2009/12/21/175/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 19:00:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Developement]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[pac]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[socks5]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh tunnel]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=175</guid>
		<description><![CDATA[Get chrome to work with your SSH tunnel proxy so you can surf those sites that your corporate proxy blocks!]]></description>
			<content:encoded><![CDATA[<p>I really like chrome, but something that is an absolute must is a SOCKS5 proxy.  This is due to my ultra restrictive corporate firewall, i need to tunnel http content through an ssh tunnel.  And ssh creates a SOCKS5 proxy when you use the -D option.  Chrome seems like it assumes that your proxy is SOCKS4.x and just fails on the ssh tunnel proxy.  But there is hope, i found a way to work around this and it isn&#8217;t even complicated!</p>
<p>Just a quick note, i actually use a plugin from chrome called <a href="http://www.samabox.com/projects/chrome/switchy/" target="_blank">Switchy!</a> which helps me quickly switch to and from the ssh tunnel proxy.  It is certainly no <a href="http://foxyproxy.mozdev.org/" target="_blank">foxyproxy</a>, but it works well enough that i can use it to solve most proxy related problems.</p>
<p>Now, the secret to this solution is to use Proxy Auto Configuration scripts.  These scripts allow you to specify which version of SOCKS to use for your proxy.  So all you need to do is create a file somewhere on your computer (say called pac-ssh-tunnel.pac) and then add the following to it:</p>
<pre>function FindProxyForURL(url, host)
{
   return "SOCKS5 localhost:8080";
}</pre>
<p>Now, take note that i am creating the ssh tunnel proxy using the following command:</p>
<pre>ssh -N -g -D 8080 username@remote_server</pre>
<p>Just FYI, &#8220;-N&#8221; means don&#8217;t execute any commands on the server (i.e. strictly a tunnel connection only).  And &#8220;-g&#8221; allows the remote host to connect to locally forwarded ports (which i must admit, most people will never need this, but handy if you do complex tunneling of data).   Finally, &#8220;-D 8080&#8243; means dynamically forward the proxy data through local port 8080.</p>
<p>So once you have your SSH SOCKS5 tunnel up and running, set chrome to use your proxy automatic configuration script that you created (either through chrome&#8217;s options, or through Switchy! if you prefer).  Now you can proxy traffic over your ssh tunnel.</p>
<p>One final note, PAC files are basically javascript files (with a few built-in functions).  You can actually create some complicated PAC files that do all your complex proxy selection for you (basically a lot of regular expression matching).  So if you get adventurous, you can just add all your proxy selection logic to that one function (or break it into multiple functions) and then you won&#8217;t even need to change your proxy around ever!</p>
<p>Happy surfing!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2009/12/21/175/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A quick guide to getting Hpricot to work for you</title>
		<link>http://blog.errorok.com/2009/09/28/173/</link>
		<comments>http://blog.errorok.com/2009/09/28/173/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 22:43:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Developement]]></category>
		<category><![CDATA[hpricot]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scraper]]></category>
		<category><![CDATA[xpath]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=173</guid>
		<description><![CDATA[use hpricot to search for text, then automatically build a list of xpath queries based on the results.]]></description>
			<content:encoded><![CDATA[<p>Hpricot is a cool tool for ruby that performs fast and efficient web page scraping by leveraging the DOM in a web page and the power of XPath.  The DOM is just a tree structure (defined in the HTML code), and XPath lets you query this this tree structure as if it were XML.  (Recall that most web pages are now XHTML compliant).</p>
<p>The problem with Hpricot is that XPath is not all that fun to work with.  But there are some things you can do to make things easier on yourself.  For one, there are several tools out there than will help you get the explicit (absolute) xpath for any element in the DOM (firebug extension for firefox comes to mind).  Something to note when taking this approach is that the xpath query is not always reliable; some browsers interpret HTML differently.  In the case of firefox, i was finding that firefox would transparently insert &lt;tbody&gt; tags under &lt;table&gt; tags in the DOM tree, even though they were not in the HTML code.Then there is MY solution, make Hpricot work for you.  Hpricot has the ability to build your query string for you.  The steps are as follows:</p>
<ol>
<li>first search for the DOM node</li>
<li>reverse-generate the xpath query string</li>
</ol>
<p>To find the DOM node, you will need to use the following query string:</p>
<p>//text()[text()*='text to search for']</p>
<p>The above query string will locate any nodes that contain the text &#8220;text to search for&#8221; somewhere.  If you want to search for an exact match, remove the asterix from the query.  this query will return a list of element nodes, from which you can request the node&#8217;s xpath.  That&#8217;s it.  Here is some basic ruby code to get the job done.</p>
<pre>require 'rubygems'
require 'hpricot'
require 'open-uri'

uri = 'http://www.google.ca/'
query = "//text()[text()*='more']"
doc = Hpricot(open(uri))

doc.search(query).each do |row|
    # print our xquery
    puts "[#{row.xpath}] =&gt; "
    # print the row data
    puts "#{row.to_html}\n"
end</pre>
<p>This will print out a list of DOM tree node&#8217;s that contain the text your searching for and the XPath query it takes to get to each one specifically.  Happy scraping!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2009/09/28/173/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yakuake For Windows</title>
		<link>http://blog.errorok.com/2009/05/26/168/</link>
		<comments>http://blog.errorok.com/2009/05/26/168/#comments</comments>
		<pubDate>Tue, 26 May 2009 21:14:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Developement]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[yakuake]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=168</guid>
		<description><![CDATA[A yakuake-like solution for windows]]></description>
			<content:encoded><![CDATA[<p>I know a lot of people will be searching for this title, so hopefully google directs them here so that they can quickly apply this solution to their &#8220;problem&#8221;</p>
<p>First off, this is <strong>*NOT*</strong> an actual version of yakuake for windows, for that you will have to wait for the required KDE libraries to be ported to windows, and then likely some yakuake adjustments.  It is coming, but i have no idea what the time frame is, it may be a while and my solution is ready, working, and available now.</p>
<p>The solution i have come up with comes from reading another blog, and although i am partially stealing what he has done (at least i give him credit for figuring most of this stuff out), there are a few things that make my solution a little better.  The original article can be found <a href="http://mcinroy.org/2008/03/11/drop-down-quake-style-command-terminal-for-windows/" target="_blank">HERE</a>, and i suggest you read it for extra information if you want to know how i began figuring t his out.  The original solution uses an older version of console, and does not provide the source for the AutoHotkey source (which can be useful if you want to customize further, like a custom installation path).</p>
<p>Now onto my solution. There are three parts to the solution, AutoHotkey + Console2 + Cygwin.  Cygwin is not necessary if you don&#8217;t want it, but i recommend it for any terminal like scripting.</p>
<p>We start off with the <a href="http://www.autohotkey.com/" target="_blank">AutoHotkey</a> program.  This program basically allows you to add global hotkey scripts to your windows OS by running a script that you compile into a daemon-like program.  The file included in this zip file (*.ahk) is the source for this script, and you can modify it to your liking if you don&#8217;t like how i did it.  Basically, the script will try and activate the console window if it is hidden and hide it if it is visible, if the console window doesn&#8217;t exist then a command is run (to start the console program).  Pretty simple stuff.  F12 key is the global hotkey assigned to this script.  If you want to make changes to the script, you will have to grab the installer or the zip file from the <a href="http://www.autohotkey.com/download/" target="_blank">AutoHotkey Downloads page</a> and recompile your changes with the included compiler.  The included compiled hotkey program is called CygTERM.exe and it runs in the background so you will need to use taskmanager to kill it (if necessary).</p>
<p>Next up is <a href="http://sourceforge.net/projects/console" target="_blank">Console2</a>.  Not much to say about this other than it is a pretty decent tabbed console.  It has a lot of features which offer a lot of customizability (something i was looking for).  The most important features i found were transparency, tabs, slab mode (no window decorations), and custom shell (cygwin&#8217;s bash instead of the default).  Basically this is configurable enough to be made into a nice yakuake style window (though no animations on show/hide, but who really wants that anyways!).  The config i provided is pretty good, but it is designed for a specific resolution, you can tweak it to your needs using the built-in configuration editor (use the right click menu).  Because the location of Console2 is compiled into the AutoH0tkey script, that means you will have to install this to C:\Program Files\Console2.  Alternatively you can recompile your custom location into a new hotkey program.</p>
<p>Finally, <a href="http://cygwin.com/" target="_blank">Cygwin</a>.  I am not going to explain cygwin beyond that it allows you to run posix programs in windows, most importantly the BASH shell.  BASH allows you to do complex scripting and can save you gratuitous amounts of time when doing any sort of text processing (among other things).</p>
<p>Combine all of these together and you have the basic workings of a windows version of yakuake.  Because of the way console2 works, you won&#8217;t be able to totally fill the desktop area with the terminal window, but you can come pretty close using the inside_border option.</p>
<p>Anyways, feel free to try this out at your leisure, i hope that it is everything that you need it to be until yakuake on kde4 is available on windows.</p>
<p>In case you have trouble figuring things out, here are the simple install instructions:</p>
<ol>
<li>Extract the <a href="http://blog.errorok.com/wp-content/uploads/2009/05/cygterm.zip" target="_self">zip archive</a> to C:\Program Files</li>
<li>Run C:\Program Files\Console2\CygTERM.exe</li>
<li>Hit F12</li>
<li>(Optionally) edit your Console2 configuration settings</li>
</ol>
<p>Here is an updated CygTERM.ahk file (the one you compile into CygTERM.exe).  This updated script will fix most of the focus bugs (if you have noticed any).  The focus bugs may occur with multi-monitor or multi-desktop (VirtuaWin) environments.</p>
<pre>#NoTrayIcon

F12::
DetectHiddenWindows, on

IfWinExist CygTERM
{
    IfWinActive CygTERM
    {
        WinHide, CygTERM
        DetectHiddenWindows, off
        Send !{Tab}
    }
    else
    {
        WinShow, CygTERM
        WinActivate CygTERM
    }
}
else
{
    Run C:\Program Files\Console2\Console.exe
    WinWait CygTERM
    WinActivate
}

return</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2009/05/26/168/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How To: Batch Copy Music From iTunes to Another Directory</title>
		<link>http://blog.errorok.com/2009/02/16/130/</link>
		<comments>http://blog.errorok.com/2009/02/16/130/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 22:17:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Developement]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=130</guid>
		<description><![CDATA[I found myself having to figure out how to do this the other day, so i decided to tackle the problem.  I also didn&#8217;t want to install any extra software (I am sure there are some apps that will do this for you).  The solution is not very difficult, but it does require perl to [...]]]></description>
			<content:encoded><![CDATA[<p>I found myself having to figure out how to do this the other day, so i decided to tackle the problem.  I also didn&#8217;t want to install any extra software (I am sure there are some apps that will do this for you).  The solution is not very difficult, but it does require perl to be installed (yes i know, i said didn&#8217;t want to install anything extra, but perl was already installed).  The benefit of a perl solution is that it will be easy to convert the perl script to a cgi script that can be used on a web page (i.e. you just go to a web page of mine and it does the magic for you).</p>
<p>The steps to make this happen are the following:</p>
<ol>
<li>Make a new playlist in iTunes (call it whatever you want)</li>
<li>Add all the songs you want to batch copy to this new playlist (this can be very fast as you can use the built in filtering in iTunes to batch add files to the playlist)</li>
<li>Export the playlist to your computer (just put it on the desktop or something)</li>
<li>then run the script: <strong>perl convert.pl myPlaylist.txt ucs-2le &gt; myPlaylist.bat</strong></li>
</ol>
<p>So obviously, you will need to run this in a console window, and you will  need to have both the <strong>convert.pl</strong> and the <strong>myPlaylist.txt</strong> (or whatever you name it) in the current directory.  I recommend making a new folder (copied-mp3 or something like that) and then dump those two files into it, then navigate to it in the console.  The <strong>ucs-2le</strong> is the character encoding format, this is the value you would use for windows iTunes.  I am not sure what to use for Mac, it depends on what mac iTunes exports playlists to.  You can always convert the playlist txt file to ASCII encoding and then use <strong>ascii</strong> instead.</p>
<p>The command will build a batch file (<strong>myPlaylist.bat</strong> in the example above) as it runs.  It shouldn&#8217;t take long to run, like a couple of seconds unless you have billions of mp3&#8217;s in the playlist.  All you have to do is run the batch file (double click or through the console window) and all of your songs in the playlist will be automagically copied to the current directory (wherever you are running the batch file from).<a rel="attachment wp-att-131" href="http://blog.errorok.com/?attachment_id=131"></a></p>
<p><a rel="attachment wp-att-137" href="http://blog.errorok.com/2009/02/16/130/convertpl/">Grab the script HERE (convert.pl)</a> &#8211; Make sure you save this as <strong>convert.pl</strong> and not as <strong>convertpl.txt</strong></p>
<p>If there is interest in this script, i will definitely make a web site for it.  Otherwise I will just leave it here for people to use at their own leisure.  If <strong>YOU</strong> feel like turning this script into a web site, feel free, but please let me know before you do so I can clean up the script a little first (and please link to this site).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2009/02/16/130/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Back Again: Stocks, Homes, and Code</title>
		<link>http://blog.errorok.com/2009/01/15/63/</link>
		<comments>http://blog.errorok.com/2009/01/15/63/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 19:52:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Market]]></category>
		<category><![CDATA[Real Estate]]></category>
		<category><![CDATA[rrssdl]]></category>
		<category><![CDATA[real estate]]></category>
		<category><![CDATA[stock market]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=63</guid>
		<description><![CDATA[The plan for the future: Buy a house, invest in the market, build on rrssdl]]></description>
			<content:encoded><![CDATA[<p>I have decided that I will be bringing this blog back to life, after a very long hiatus.  I don&#8217;t plan to do much music mixing however, instead I want to turn this blog into a informational knowledge-base on the things that interest me.  For the near future that will likely include the Stock Market, Real Estate, and Coding.</p>
<p>For the past year, I have become increasingly interested in the stock market.  Mostly with learning how to analyze the various aspects of the market and how to build a successful portfolio.  As the days progress I will post updates on my findings and opinions, and track the progress of my decisions.</p>
<p>I am also nearing the date that I purchase my first house. Due to the market conditions the way they are in Edmonton, I am fortunate enough to be prepared to make this jump into the real estate world.  Along the way I have been researching strategies for finding, buying, and converting (into wealth).  The most notable topic would be that of the Smith Manoeuvre, something which I will likely discuss in great detail over the coming months.</p>
<p>Finally, my coding roots have not departed, I still code as a hobbyist.  My current project is the rrssdl project (look at the page on this blog, to the left).  I am still interested in making this project into something really useful for the community, the latest news on rrssdl is the addition of the log4r framework.  Though it is currently in a broken state, soon the log4r framework will be ready for action and then I can get onto fixing bugs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2009/01/15/63/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rrssdl &#8211; A Ruby TV Show RSS Downloader</title>
		<link>http://blog.errorok.com/2008/10/21/42/</link>
		<comments>http://blog.errorok.com/2008/10/21/42/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 17:55:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rrssdl]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[torrent]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=42</guid>
		<description><![CDATA[Brand new creation, take a look at the page i&#8217;ve created HERE
]]></description>
			<content:encoded><![CDATA[<p>Brand new creation, take a look at the page i&#8217;ve created <a href="http://blog.errorok.com/rrssdl/" target="_self">HERE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2008/10/21/42/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Kaffeine in Hardy</title>
		<link>http://blog.errorok.com/2008/08/31/39/</link>
		<comments>http://blog.errorok.com/2008/08/31/39/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 02:06:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[kaffeine]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.errorok.com/?p=39</guid>
		<description><![CDATA[Hopefully a few people out there get some use out of this information.  I have been fighting with kaffeine in hardy for the past few days, mostly trying to get kde samba shares to play through kaffeine.  As well as getting rid of that nasty codec already installed loop.  After a lot of debugging, I [...]]]></description>
			<content:encoded><![CDATA[<p>Hopefully a few people out there get some use out of this information.  I have been fighting with kaffeine in hardy for the past few days, mostly trying to get kde samba shares to play through kaffeine.  As well as getting rid of that nasty codec already installed loop.  After a lot of debugging, I have come to following conclusions:</p>
<ul>
<li>samba shares are broken somewhere within the loading mechanism that sits between kde and kaffeine, more specifically the queuing mechanism.  By this i mean that kaffeine is able to play samba share files properly when dragged from konqueror or dolphin to the playlist, but this is not the case when double clicking on a samba share file.  Double clicking a samba share file will result in the following command: <strong>kaffeine %U</strong> , where <strong>%U</strong> is the path.  This leads me to believe that the problem lies in the dcop server, since this is what would handle this type of action.  When dropping a file on the playlist (or using the built-in file browser) you are using functions written within the kaffeine source, and as such the files will work properly.  I&#8217;d like to think it was fixable in the kaffine sources (and i&#8217;ll keep looking to see if it is) but i really don&#8217;t know at this time.</li>
<li>I hate python, and since the installer script is written in python i refuse to look any longer than i already have at trying to fix it.  I thought at first that my playlist was just on repeat, but it seems that the python script seems to continually loop, and i can&#8217;t figure out why.  So instead i just removed the call to the script from within the kaffeine source and replaced it with a printf to the console (so that in the event that you don&#8217;t have the codec installed, you can at least manually run the script yourself).</li>
</ul>
<p>These changes have been made and kaffeine recompiled (also upgraded to the latest version, 0.8.7-0) into a nice ubuntu package.  Like i said, you won&#8217;t be able to double click on samba files (or any other streams that aren&#8217;t supported on your installation) to get them to play in kaffeine.  Kaffeine will still open but the file in the playlist will not play properly.  The workaround is to use the built in file browser or drag the files from konqueror or dolphin yourself.</p>
<p>Enjoy :)</p>
<p><a href="http://blog.errorok.com/wp-content/uploads/2008/08/kaffeine-087-0tar.gz">kaffeine-0.8.7-0 (Hardy)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.errorok.com/2008/08/31/39/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.290 seconds -->
