<?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>When Penguins Can Fly... &#187; Free Software</title>
	<atom:link href="http://dorianpula.ca/category/computing/free-software-computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://dorianpula.ca</link>
	<description>Or Dorian Pula&#039;s Thoughts on Coding, Writing and Life.</description>
	<lastBuildDate>Fri, 04 May 2012 02:44:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Diving into the Deep End with Python</title>
		<link>http://dorianpula.ca/2012/04/26/diving-into-the-deep-end-with-python/</link>
		<comments>http://dorianpula.ca/2012/04/26/diving-into-the-deep-end-with-python/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 03:03:19 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[KDE and Qt]]></category>
		<category><![CDATA[Web and Cloud Technologies]]></category>
		<category><![CDATA[critique]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[experiments]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PySide]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=2157</guid>
		<description><![CDATA[Where I Stand with Java Most of my professional experience in software development has centered around Java.  That should be no surprise as I learnt Java in university, and all the trappings that go with it: Javadoc, the Java Standard &#8230; <a class="more-link" href="http://dorianpula.ca/2012/04/26/diving-into-the-deep-end-with-python/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Where I Stand with Java</strong></p>
<p>Most of my professional experience in software development has centered around Java.  That should be no surprise as I learnt Java in university, and all the trappings that go with it: Javadoc, the Java Standard API, Eclipse and JUnit.  My professional work exposed me to JSP, Servlets, SpringMVC, Struts, JDBC, TestNG, Ant and the Android SDK.  Sure I&#8217;ve used other languages such as PHP, Perl, Scheme (mmm&#8230; functional programming&#8230;), C and Prolog.  The mainstay of my experience is still Java.</p>
<p>All that said, even as I include more and more exotic features of Java as language (i.e. enumeration, annotations, reflection, etc.) and as a platform, I find myself more and more constrained by the language itself.  Sure I feel comfortable with it, and I&#8217;ve written code personally that spans tens of thousands of lines.  However I find a lot of the code is boilerplate code.  Heck thanks to JAXB, I can quickly describe a series of classes using a XML schema.  That is right, a XML schema, one of those awfully obscure XML trappings that only enterprise application developers really should ever care about (or those working with complex document-style data).  Also a large Java codebase is nearly unapproachable with anything less than a powerful IDE.  Thank goodness for Eclipse!  (I write this wearing an Eclipse branded fleece jacket.)</p>
<p>Java is a wonderful and powerful language with great tooling.  However it just seems so wrong to have so much complexity.  I fear that this has more to do with the design decisions in the language itself than anything else.</p>
<p><strong>Enter the Competitor: Python</strong></p>
<p>I also learnt Python in university but I ended up using it largely for building system administration scripts rather than a general programming tool.  Instead of fighting with unwieldly BASH or Batch scripts for admin work, I use Python.  And I have created some powerful scripts using Python for tools for hunting down empty directories and rogue files for automated renaming.  After fighting with Java to do my bidding, I felt the need to look for some better language when building my new hobby project.  Also my recent attempts at learning Qt and C++ at the same time, have made me want to first learn the platform and then the language.  This is where Python seemed to hit a sweet spot.</p>
<p>While talking with one of my old university friends, Dan D&#8217;Alimonte, the topic of learning Qt came up.  Instead of using C++ for his Qt apps, Dan used PyQt.  After looking at his code, I decided to experiment with PySide and lo and behold I made a Qt app myself!  On the web side of things I heard a lot of good things about the Django web framework.  Hence I started experimenting with and investigating Python, PySide and Django.  In addition to the simple can-I-do-this-with-that experiments, and playing around with the tutorials, I researched the tooling and performance of Python based applications.</p>
<p>I am impressed so far with what I have found out about Python.  Coding in Python is a breeze and enjoyable.  I can comfortably use any text editor to program in Python.  I found that PyDev makes Python development while using Eclipse easy.  Getting new packages for Python is simple, and I do not have to rely on a package maintainer.  The standard libraries in Python are on par with Java&#8217;s.  You can always extend Python with a C or Java binding.  Building a desktop app using PySide turned out incredibly easy, compared to the standard C++ way of doing things.  Django is proving to be a very capable, and apparently *gasp* fast web framework especially when run on the optimized PyPy version of Python.  There is even mention of Python being able to build web frontends, at least in the documentation.  And importantly for me, Python has various XML, database layer, testing, and other enterprise and mobile capable libraries that I can potentially use in my day-to-day work.</p>
<p>Now naturally the quirks of a language become more readily visible once you actually start working on a real-life project.  That is my next step.  Then I can figure out if Python could really replace Java as my go-to language.  I will keep you posted once I get further in the project I am working on.  In the meantime, I&#8217;ve collected a bunch of links related to my investigation with Python.  Enjoy!</p>
<p><strong>Python Related Links</strong></p>
<ul>
<li>Python&#8217;s official website: <a href="http://www.python.org/">http://www.python.org/</a></li>
<li>Documentation for the Python 2.7.x: <a href="http://docs.python.org/">http://docs.python.org/</a></li>
<li>PySide &#8211; Python bindings for Qt: <a href="http://www.pyside.org/">http://www.pyside.org/</a></li>
<li>PySide documentation: <a href="http://qt-project.org/wiki/PySideDocumentation/">http://qt-project.org/wiki/PySideDocumentation/</a></li>
<li>PyDev &#8211; the PyDev plug-in for Eclipse: <a href="http://www.pydev.org/">http://www.pydev.org/</a></li>
<li>Django &#8211; a powerful web framework: <a href="https://www.djangoproject.com/">https://www.djangoproject.com/</a></li>
<li>Django documentation: <a href="https://docs.djangoproject.com/en/1.4/">https://docs.djangoproject.com/en/1.4/</a></li>
<li>Proboscis &#8211; A TestNG-like testing framework for Python: <a href="http://packages.python.org/proboscis/">http://packages.python.org/proboscis/</a></li>
<li>PyPy &#8211; An optimized implementation of Python: <a href="http://pypy.org/">http://pypy.org/</a></li>
<li>Comparisons of PyPy to the original CPython: <a href="http://speed.pypy.org/">http://speed.pypy.org/</a></li>
<li>Jython &#8211; Java implementation of Python in case you can&#8217;t live with out both!: <a href="http://www.jython.org/">http://www.jython.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2012/04/26/diving-into-the-deep-end-with-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello Again Identi.ca!</title>
		<link>http://dorianpula.ca/2012/04/14/hello-again-identi-ca/</link>
		<comments>http://dorianpula.ca/2012/04/14/hello-again-identi-ca/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 18:25:10 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Web and Cloud Technologies]]></category>
		<category><![CDATA[identi.ca]]></category>
		<category><![CDATA[microblogging]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=2151</guid>
		<description><![CDATA[It seems that all the cool kids are using Twitter nowadays.  Then again what passes as cool now sounds more like either being different for different sakes.  Or that you use or do things that are &#8220;cool&#8221; or trendy or &#8230; <a class="more-link" href="http://dorianpula.ca/2012/04/14/hello-again-identi-ca/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It seems that all the cool kids are using Twitter nowadays.  Then again what passes as cool now sounds more like either being different for different sakes.  Or that you use or do things that are &#8220;cool&#8221; or trendy or interesting to the mass public at the moment.  Rarely the cool, trendy or different thing is actually interesting or innovative or world-changing as much as it something that is well marketed.</p>
<p>As for myself I&#8217;m on Twitter because there are a lot of people that are not on my favourite microblogging platform: Identi.ca!  With Twitter being a bit more accessible on my Android smartphone and the smaller crowd on Identi.ca, I sort of stopped using it for a bit.  However that will change.  I prefer Identi.ca because it is libre software and my data is not held hostage in some corporation&#8217;s database.  I&#8217;ve updated my Identi.ca handle, wired up my microblogging widgets back to Identi.ca (and Twitter).  Now I plan on using it more often, and pushing my blog updates through Identi.ca first and then on to the other three popular social media that I use.  If everything goes as planned y&#8217;all should be able to read this post in a few moments after I publish it&#8230; right now. <img src='http://dorianpula.ca/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2012/04/14/hello-again-identi-ca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innovation in Increments</title>
		<link>http://dorianpula.ca/2011/03/04/innovation-in-increments/</link>
		<comments>http://dorianpula.ca/2011/03/04/innovation-in-increments/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 12:00:16 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[KDE and Qt]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[UI Design]]></category>
		<category><![CDATA[Canonical]]></category>
		<category><![CDATA[continuity]]></category>
		<category><![CDATA[increments]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[scrollbars]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=1894</guid>
		<description><![CDATA[I have the good fortune of working in a Research &#38; Development group. That means I get to learn about new ideas, experiment with them and apply them appropriately. Unfortunately I can not discuss my current project, other than it &#8230; <a class="more-link" href="http://dorianpula.ca/2011/03/04/innovation-in-increments/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have the good fortune of working in a Research &amp; Development group.  That means I get to learn about new ideas, experiment with them and apply them appropriately.  Unfortunately I can not discuss my current project, other than it involves automating the creation of mobile applications.  While I can not say that I am building something that is so deeply innovative that it has no precedence.  But then again what most people do not realize that innovation happens mostly in small increments.  You take an interesting idea, see if it makes your life easier and better.  If not you review your work and options, and you try again.  If it works, you get innovation!</p>
<p>So while I can not comment on my own work&#8230; <img src='http://dorianpula.ca/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   I can point some interesting work happening in the libre software community.</p>
<p><strong>Canonical&#8217;s New Take on Scrollbars</strong></p>
<p>Many of today&#8217;s computing innovations like tablets deal not with radical new technologies.  But rather making technology more usable for non-developers and non-engineers.  It might not sound like much, but Canonical is working on improving the usability of scrollbars in their Gnome desktop: http://www.markshuttleworth.com/archives/615</p>
<p>Take a look at the video in Mark Shuttleworth&#8217;s post.  I definitely think that abstracting the line indicator and the actual control is a great idea.  It also makes it more touch friendly and intuitive.</p>
<p><strong>MeeGo and Qt Lives for KDE and the N900</strong></p>
<p>While not so much an innovation per se, I am happy to hear that the development of Qt and MeeGo will continue.  The<a href="http://dot.kde.org/2011/03/03/qt-and-future-kde"> KDE crew came out and pointed out that Qt back when KDE started was a great framework and is even better now</a>.  Back when I started using KDE, I was amazed at how well everything integrated together in look and feel terms.  This was all possible with KDE settling on one good UI framework, Qt.  Now that it is more cross-platform and rounded out, it still is a great compelling framework to learn and use.  There are some governance issues that need to get worked out, but it is nothing that won&#8217;t be resolved nicely soon.  I indeed intend on learning Qt, as soon as my own schedule clears up.</p>
<p>[<a href="http://www.kdedevelopers.org/node/4394">Another analysis on the Nokia/Qt/MeeGo/KDE question</a>.  Man isn't life in the libre software world messy at times.]</p>
<p>As for MeeGo, <a href="http://myn900.wordpress.com/2011/03/03/meego-on-the-n900-officially-targeted-by-nokia/">sounds like Nokia will be supporting the N900 as an official development device for MeeGo</a>.  So maybe Mr. Elop changed direction, but at least there is a way forward for MeeGo handset developers.  Hopefully that&#8217;ll mean that we can get started hacking on MeeGo.  And once more devices come out, all developer efforts can get carried over.  Maybe, just maybe we&#8217;ll finally have a good libre software platform for new disruptive devices, that won&#8217;t be threatened by the domination of one massive vendor.  I&#8217;m looking at you Google, Microsoft and Apple.</p>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2011/03/04/innovation-in-increments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ontario GNU Linux Fest 2009</title>
		<link>http://dorianpula.ca/2009/10/23/ontario-gnu-linux-fest-2009/</link>
		<comments>http://dorianpula.ca/2009/10/23/ontario-gnu-linux-fest-2009/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 09:13:49 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[libre software]]></category>
		<category><![CDATA[Ontario Linux Fest]]></category>
		<category><![CDATA[Toronto]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=1252</guid>
		<description><![CDATA[Tomorrow I&#8217;ll be going to Ontario GNU Linux Fest 2009.  It looks like this year it will be another year for this convention.  Not sure why the insistence of adding the &#8220;GNU&#8221; to the name&#8230;  Still I&#8217;ll be there, checking &#8230; <a class="more-link" href="http://dorianpula.ca/2009/10/23/ontario-gnu-linux-fest-2009/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tomorrow I&#8217;ll be going to <a href="http://onlinux.ca/">Ontario GNU Linux Fest 2009</a>.  It looks like this year it will be another year for this convention.  Not sure why the insistence of adding the &#8220;GNU&#8221; to the name&#8230;  Still I&#8217;ll be there, checking out as many of the presentations as humanly possible.  And doing a thorough raid of possible swag, even if it means opening up my wallet to cover &#8220;extra&#8221; costs. <img src='http://dorianpula.ca/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   Anyways if you are in the Toronto area and a Linux fan, you should definitely check this con out.  See you there.</p>
<p style="text-align: center;"><a href="http://www.onlinux.ca" target="olf"><br />
<img class="aligncenter" src="http://www.onlinux.ca/files/OLF480x60.jpg" alt="Ontario GNU Linux Fest 2009. Register Now!" /><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2009/10/23/ontario-gnu-linux-fest-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Site for justCheckers</title>
		<link>http://dorianpula.ca/2009/07/03/justcheckers-new-site/</link>
		<comments>http://dorianpula.ca/2009/07/03/justcheckers-new-site/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 07:16:45 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[justCheckers]]></category>
		<category><![CDATA[Web and Cloud Technologies]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=410</guid>
		<description><![CDATA[I&#8217;m setting up a new site for the justCheckers project.  The only real good reason for my working at all on this project, is simply to build a portfolio.  As a software developer, I want to show to others that &#8230; <a class="more-link" href="http://dorianpula.ca/2009/07/03/justcheckers-new-site/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m setting up a new site for the justCheckers project.  The only real good reason for my working at all on this project, is simply to build a portfolio.  As a software developer, I want to show to others that I can code.  And that my code is clean, elegant and professional.  I also want to show that I can write my own web applications.  So I am writing the justCheckers website as a PHP, MySQL DB enabled application.  All using proper XHTML, CSS and a touch of AJAX.  The site is a work in progress.  I&#8217;m not planning to build an entire flexible CMS, rather I plan on building a custom site.</p>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2009/07/03/justcheckers-new-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Story of the GNU</title>
		<link>http://dorianpula.ca/2009/02/12/the-story-of-the-gnu/</link>
		<comments>http://dorianpula.ca/2009/02/12/the-story-of-the-gnu/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 06:56:09 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[FSF]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[libre software]]></category>
		<category><![CDATA[RMS]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=274</guid>
		<description><![CDATA[Last Thursday I received a package from the Free Software Foundation (FSF).  Along with a nifty t-shirt, I ordered my stuffed gnu.  Now the penguin on my desk has a new friend. The reason for the penguin is obvious, I &#8230; <a class="more-link" href="http://dorianpula.ca/2009/02/12/the-story-of-the-gnu/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last Thursday I received a package from the Free Software Foundation (FSF).  Along with a nifty t-shirt, I ordered my stuffed gnu.  Now the penguin on my desk has a new friend. The reason for the penguin is obvious, I am big fan of the GNU/Linux operating system. The penguin is the de facto logo and mascot of Linux.  But what is up with the gnu?</p>
<p>Well before Linux got off the ground or even existed, Richard Stallman (RMS) started the GNU project.  GNU stands for GNU is Not UNIX. Yes, GNU is a recursive acronym, one of the many cute jokes circulating in the hacker community.  The goal of the GNU project was to build a working and totally free (as in freedom) operating system.  RMS settled upon porting UNIX, not because UNIX was the be-all-end-all of operating systems.  Rather older versions of UNIX came with source code, and so that the new OS could be based off studying the way the old System V UNIXes  worked.  The project progressed well with the development of an entire toolkit: source editor (EMACS), compiler (gcc), linker (ld), and all the other necessary tools to build an OS.  Then came the difficult part of writing a kernel.  Unfortunately the original kernel (GNU Hurd) never got off the ground.  In fact to this day, the Hurd kernel is more or less in delayed development.  Fortunately at the time a kid in Finland-Linus Torvalds-started hacking on a kernel based off the Andrew Tannebaum&#8217;s MINIX source code.  Torvalds decided that the GPL would be an excellent license for his kernel.  And thus the dream of a fully viable free operating system started.</p>
<p>We have come a long way since those humble beginnings.  GNU/Linux looks like it will be the dominant OS of this century.  Also the ideals of free software are now fully realizable.  We still have a long way to go to running free software conveniently and comfortably, but we are getting there.  We should thank RMS and all the GNU contributers for building such a great free software toolkit.  Also thank Linus and the other kernel hackers for creating such a robust and flexible kernel.  Finally give a big thank you to all the contributers of the free software and open source movements for making this dream of free computing a reality.</p>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2009/02/12/the-story-of-the-gnu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>justCheckers on Hold – Again – Kinda</title>
		<link>http://dorianpula.ca/2009/02/05/justcheckers-on-hold-again-kinda/</link>
		<comments>http://dorianpula.ca/2009/02/05/justcheckers-on-hold-again-kinda/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 07:01:15 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[justCheckers]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[libre software]]></category>
		<category><![CDATA[progress]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=261</guid>
		<description><![CDATA[I&#8217;m putting my involvement with the justCheckers project on hold for a while.  Progress ground to a halt when I started to dig into the code.  In its current state most of the application&#8217;s core functionality needs reworking.  Meaning to &#8230; <a class="more-link" href="http://dorianpula.ca/2009/02/05/justcheckers-on-hold-again-kinda/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 278px"><img title="justCheckers" src="http://justcheckers.org/images/justcheckers-logo.png" alt="justCheckers logo" width="268" height="70" /><p class="wp-caption-text">justCheckers logo</p></div>
<p>I&#8217;m putting my involvement with the justCheckers project on hold for a while.  Progress ground to a halt when I started to dig into the code.  In its current state most of the application&#8217;s core functionality needs reworking.  Meaning to go forward someone would need to reimplement slides and jumps that allows for multiple jumps and so-called &#8220;flying kings&#8221;.  And the GUI needs refactoring to run in a multithreaded manner and with a main game event loop.  I already devised the algorithms for the core game engine.  But I need to translate that into real code.  I plan on implement those eventually.  But the amount of effort to reward doesn&#8217;t add up at the moment for me.  So justCheckers will not be on my high priority list for the next little while.</p>
<p>Just to be clear, I am not abandoning the project.  I still want to work on it.  But there are higher priorities on my list.  If anyone wants to step up to the plate and massage the code, I&#8217;ll gladly help.  And when once I get my other higher priority tasks done, I will return to hacking on justCheckers.</p>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2009/02/05/justcheckers-on-hold-again-kinda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RMS Does Toronto</title>
		<link>http://dorianpula.ca/2009/02/03/rms-does-toronto/</link>
		<comments>http://dorianpula.ca/2009/02/03/rms-does-toronto/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 05:41:11 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[copyrights]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[FSF]]></category>
		<category><![CDATA[libre software]]></category>
		<category><![CDATA[networked world]]></category>
		<category><![CDATA[RMS]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/?p=245</guid>
		<description><![CDATA[Yesterday I got to finally meet Richard Stallman (RMS) in person.  And yes, he is a way cooler dude than many in the &#8220;open source&#8221; gang say he is.  The FSF announced a while back in a press release, that &#8230; <a class="more-link" href="http://dorianpula.ca/2009/02/03/rms-does-toronto/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 250px"><img title="Richard Stallman" src="http://www.fsf.org/about/richardstallman/" alt="Richard Stallman, President and Founder of the FSF" width="240" height="160" /><p class="wp-caption-text">Richard Stallman, President and Founder of the FSF</p></div>
<p>Yesterday I got to finally meet Richard Stallman (RMS) in person.  And yes, he is a way cooler dude than many in the &#8220;open source&#8221; gang say he is.  The FSF announced a while back in a <a href="http://www.fsf.org/events/20090202toronto">press release</a>, that RMS would be speaking at UofT on the topic of copyrights in a networked world.</p>
<p>RMS lectured on the history, current politico-business problems with copyrights and some measures to fix them.  I personally found his points interesting, and I&#8217;m interested in trying out some of his ideas.  The brief period of exclusive commercialization and modification authorship rights versus long term exclusive publication rights for non-technical documentation is also pretty good.  Also he briefly touched upon the need for a micro-donation payment method.  Overall, a very interesting and engaging talk to a large student audience.</p>
<p>At the end of his presentation, he auctioned off a stuffed GNU and &#8220;Happy Hacking&#8221; t-shirt.  Eventually the proposed prices became too steep for even myself, so I this morning I went on down over to the <a href="http://shop.fsf.org/">GNU/FSF&#8217;s online store</a> and bought both for myself.  Getting back to the evening, I also got RMS to autograph my copy of &#8220;<a href="http://shop.fsf.org/product/free-software-free-society/">Free Software, Free Society</a>&#8220;.  I highly recommend reading that book.  Also RMS asked me personally to stop using the terms: open source and closed source.  Not only are those terms misleading but they totally ignore the important issue of user and developer freedoms.  So henceforth I&#8217;ll try to use the terms &#8220;libre software&#8221; or &#8220;free software&#8221; instead of &#8220;open source&#8221;.  And &#8220;proprietary&#8221; for &#8220;closed source&#8221;.  Also I got meet to Dave, one of the organizers of the event and <a href="https://www.drproject.org/">DrProject</a> developer.  And Aaron one of attendees.</p>
<p>A big thanks to RMS, the FSF and the students who organized this event.</p>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2009/02/03/rms-does-toronto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Gamer Goes to Ontario Linux Fest 2008</title>
		<link>http://dorianpula.ca/2008/11/06/open-source-gamer-goes-to-ontario-linux-fest-2008/</link>
		<comments>http://dorianpula.ca/2008/11/06/open-source-gamer-goes-to-ontario-linux-fest-2008/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 08:28:00 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[Ontario Linux Fest]]></category>
		<category><![CDATA[SFLC]]></category>
		<category><![CDATA[SourceForge]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/blog/?p=210</guid>
		<description><![CDATA[Last, last weekend (October 25) I attended my first conference, Ontario Linux Fest 2008. And what an awesome event it was! The event turned out be a somewhat low key event. Not a huge number of exhibitor booths, but the &#8230; <a class="more-link" href="http://dorianpula.ca/2008/11/06/open-source-gamer-goes-to-ontario-linux-fest-2008/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last, last weekend (October 25) I attended my first conference, Ontario Linux Fest 2008.  And what an awesome event it was!  The event turned out be a somewhat low key event.  Not a huge number of exhibitor booths, but the Eclipse, Fedora, FOSSology, FSF, OpenStreetMap and Drupal people had setup shop there.  The event featured 4 tracks, and a number of great speakers.  Got to meet Jorge Castro from Canonical, Ross Turk and Daniel Hinojosa from SourceForge, Jon &#8220;maddog&#8221; Hall, Jeremy Allison from Samba, Ian Darwin and Bradley Kuhn from the Software Freedom Law Centre (SFLC).  It is always an amazing thing to meet the people &#8220;in the flesh&#8221;, who make a difference in the FOSS community, and read from blogs.  The seminars were fantastic and inspire me to further my own open source/free software involvement.</p>
<div>One of the organizers, Richard Weait tried to convince me to start up a Brampton LUG.  I might try it out, once I have a little bit more time.  Nothing fancy mind you, just one night a month at the Coffee Culture, a few ads and a mailing list.  We will see how it will go.</p>
<p>Also I got to go out to dinner with Bradley, the Red Hat and FoSSology folks.  And thanks to Google for providing yet another free service in life, in the form of free drinks at the reception/ after-party.</p></div>
<div>So thanks guys for the awesome time.  Sorry for not blogging earlier.  Life keeps me busy as always.  And lets make the 2009 event even larger!</div>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2008/11/06/open-source-gamer-goes-to-ontario-linux-fest-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symlink Mirror – A Useful Python Script</title>
		<link>http://dorianpula.ca/2008/05/28/symlink-mirror-a-useful-python-script/</link>
		<comments>http://dorianpula.ca/2008/05/28/symlink-mirror-a-useful-python-script/#comments</comments>
		<pubDate>Wed, 28 May 2008 21:54:00 +0000</pubDate>
		<dc:creator>Dorian</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://dorianpula.ca/blog/?p=184</guid>
		<description><![CDATA[Just wanted to share a useful little python script I crafted. I creates symlinks from the top level directories in a specified source folder to a target folder. Its a neat little tool for linking between two distant directories under &#8230; <a class="more-link" href="http://dorianpula.ca/2008/05/28/symlink-mirror-a-useful-python-script/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just wanted to share a useful little python script I crafted.  I creates symlinks from the top level directories in a specified source folder to a target folder.  Its a neat little tool for linking between two distant directories under UNIX.  Share and enjoy!</p>
<pre>#! /usr/bin/env python
"""    Symlink Mirror -----------------------------------------------------------
       Author: Dorian Pula    Version: 0.1    Date: 2008 May 29
       --------------------------------------------------------------------------
       Creates symlinks in the current directory to the top level folders inside
       a specified directory.  Its a great utility for linking a user's home
       directory with a directory holding files shared between users on the same
       system.

       Usage: python symlink_mirror.py [source of links] [target for links]
      --------------------------------------------------------------------------
       This program is free software: you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published by
       the Free Software Foundation, either version 3 of the License, or
       (at your option) any later version.

       This program is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       GNU General Public License for more details.

      You should have received a copy of the GNU General Public License
      along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;"""

import re, os, sys, stat

verbose = "True"

def main():
    """ The main function of the program. """

    'Check if there are enough arguments supplied.'
    if checkNumberOfArgs():
         'Make the path directories.'
         sourceDir = os.path.abspath(sys.argv[1])
         targetDir = os.path.abspath(sys.argv[2])

         'Get all the names of the directories.
         sourceEntries = os.listdir(sourceDir)

         for toLink in sourceEntries:
             source = os.path.join(sourceDir, toLink)
             target = os.path.join(targetDir, toLink)
             dirCheck = os.path.isdir(source)

             if((os.path.isdir(source)) and not (os.path.islink(source)) and not (os.path.exists(target))):
                  os.symlink(source, target)
                  if(verbose == "True"):
                        print "Linking " + source + " to " + target + "."

def checkNumberOfArgs():
    """
    Checks if there are enough arguments to work on.  There should be two
    arguments, the directory from which we generate the links from, and
    the directory in which the links appear. """

    argNum = len(sys.argv)
    if argNum &lt; 1:
        print("I need a source directory to mirror.")

    elif argNum &lt; 2:
        print("I need the directory to store the created symlinks.")

    if argNum &lt; 2:
        print("nUsage:")
        print("python symlink_mirror.py [source of links] [target for links]n")
        return False

    else:
        return True

if __name__ == "__main__": main()</pre>
]]></content:encoded>
			<wfw:commentRss>http://dorianpula.ca/2008/05/28/symlink-mirror-a-useful-python-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

