<?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>CompSci.ca/blog &#187; Open Source</title>
	<atom:link href="http://compsci.ca/blog/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://compsci.ca/blog</link>
	<description>Programming, Education, Computer Science</description>
	<lastBuildDate>Mon, 21 Feb 2011 06:36:38 +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>Poems in Linux documentation</title>
		<link>http://compsci.ca/blog/poems-in-linux-documentation/</link>
		<comments>http://compsci.ca/blog/poems-in-linux-documentation/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 11:00:27 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/poems-in-linux-documentation/</guid>
		<description><![CDATA[

Programming is fantastic! Programming is full of art, humour, and creativity. Though sometimes it can be a challenge, and sometimes the monkey is not running (image from n#). Still, Computer Science manifests traditional art forms, and the poetry of programming finds a literal place in the Linux kernel.


Linus Torvalds himself contributed to the discussion with [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><img id="image343" src="http://compsci.ca/blog/wp-content/uploads/2007/08/monkey_is_not_running.png" alt="Linux: monkey is not running" align="right" /></p>
<p>
Programming is fantastic! Programming is full of art, humour, and creativity. Though sometimes it can be a challenge, and sometimes the <em>monkey is not running</em> (image from <a href="http://nsharp.org/" title="n sharp org">n#</a>). Still, <a href="http://compsci.ca/blog/the-sound-of-programming-computer-scientists-as-composers/" title="the sound of programming: computer scientists as composers">Computer Science manifests traditional art forms</a>, and the <a href="http://compsci.ca/blog/what-computer-science-could-borrow-from-the-english-class/" title="What Computer Science could borrow from the English class">poetry of programming</a> finds a literal place in the <a href="http://kerneltrap.org/node/13992" title="Linux: Poetry in Documentation">Linux kernel</a>.
</p>
<p>
Linus Torvalds himself contributed to the discussion with a <a href="http://compsci.ca/blog/xkcd-slashdot-poem/" title="XKCD Slashdot poem">limerick</a>.
</p>
<blockquote>
<p>
There once was a lad from Braidwood<br />
With a wife and a hatred for <acronym title="Fear Uncertainty Doubt">FUD</acronym><br />
   He hacked kernels for fun,<br />
   couldn&#8217;t get them to run.<br />
But he always felt that he should.
</p>
</blockquote>
<p>
The programming themed poetry appeared in, and around the documentation patches for <strong>lguest</strong> &#8212; described as <em>&#8220;a simple <dfn title="A control program enabling two operating systems to share a common computing system">hypervisor</dfn> for Linux on Linux&#8221;</em>. Though kernel hacks aside, Rusty Russell&#8217;s contributing patches were originally met with a bit of skepticism, ironically enough in a form of more limericks.
</p>
<blockquote>
<p>
There once was a man they called rusty<br />
Who patches were terribly crusty<br />
Though his patches were right<br />
And Linus was bright<br />
They sat on the list getting dusty.
</p>
</blockquote>
<p>
All in all, it&#8217;s simply an amusing read. Though I like the message involved &#8212; <em>&#8220;Perhaps this effort, if merged, will inspire others&#8221;</em>. Perhaps indeed. Computer programming is an inspirational field, if one is truly interested.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/poems-in-linux-documentation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hunting for programmer&#8217;s easter eggs with Google</title>
		<link>http://compsci.ca/blog/hunting-for-programmers-easter-eggs-with-google/</link>
		<comments>http://compsci.ca/blog/hunting-for-programmers-easter-eggs-with-google/#comments</comments>
		<pubDate>Sun, 08 Apr 2007 05:05:36 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/hunting-for-programmers-easter-eggs-with-google/</guid>
		<description><![CDATA[

In this seasonal entry we&#8217;ll be hunting for some virtual easter eggs in open source software programs. Computer programmers and software engineers are a creative group, often with a sense of humour, so eggs come in an abundance. Easter eggs, as hidden features, are left for a variety of reasons and come with a varying [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/' rel='bookmark' title='Permanent Link: The Open Source gift guide &#8211; MakeZine style!'>The Open Source gift guide &#8211; MakeZine style!</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img id="image277" src="http://compsci.ca/blog/wp-content/uploads/2007/04/easter_eggs.jpg" alt="Easter eggs" align="right" /></p>
<p>
In this seasonal entry we&#8217;ll be hunting for some virtual easter eggs in open source software programs. Computer programmers and software engineers are a creative group, often with a sense of humour, so <em>eggs</em> come in an abundance. Easter eggs, as hidden features, are left for a variety of reasons and come with a varying degree of stealth. Some are left to make a project more personal to a developer, others as a creative outlet in a purely functional piece of software. Many are humourous in nature.
</p>
<p>
Our detective gear is simplistic in nature. Take one part <a href="http://compsci.ca/blog/regular-expression-google-code-search/" title="Regular Expression Google Code Search">Google Code Search</a>, one part <a href="http://compsci.ca/blog/fantasy-fun-with-regular-expressions/" title="Fantasy fun with regular expressions">Regular Expressions</a>, and garnish with a cleaver keyword. Apparently quite a number of easter eggs are labeled as <em>&#8220;easter egg&#8221;</em>s in source code&#8217;s comments.
</p>
<p><code>\/\*.*?easter egg.*?\*\/</code><br />
Here are some highlights from <a href="http://www.google.com/codesearch?hl=en&#038;lr=&#038;q=%5C%2F%5C*.*%3Feaster+egg.*%3F%5C*%5C%2F&#038;btnG=Search" title="Google Code Search">what comes up</a>:<br />
<strong>FreeBSD</strong> is rolling out their <em>Plan-0</em><br />
<code><br />
#include "util.h"<br />
/* easter egg */<br />
#include "plan-0.h"<br />
</code><br />
<strong>Gaim</strong>&#8217;s plugin clears up for production, but look around line 506 to turn on bonus features<br />
<code><br />
/* clear easter egg */<br />
          features->mode = 0;<br />
</code><br />
It seems that one needs to be <a href="http://www.colino.net/jeput-en/" title="Colino Computing - JEPUT">Colin</a>&#8217;s girlfriend for this last one, but it&#8217;s an easter egg in an online bank account management tool. Interesting.<br />
<code><br />
&lt;?php if (isset($l) &#038;&#038; $l==1)<br />
/* easter egg for my S.O. <img src='http://compsci.ca/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  */<br />
if ($JEPUTuserid == 30 &#038;&#038; $JEPUTlogin=='clo')<br />
</code></p>
<p>
So here&#8217;s an open challenge &#8211; can you find a programming easter egg in the wealth of open sourced software? Blog about it (ping me with a trackback), or show off in the comments. Wrote your own easter egg? So have I! I&#8217;ll share the details in the comments, if someone talks about theirs first <img src='http://compsci.ca/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/' rel='bookmark' title='Permanent Link: The Open Source gift guide &#8211; MakeZine style!'>The Open Source gift guide &#8211; MakeZine style!</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/hunting-for-programmers-easter-eggs-with-google/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Software piracy in schools</title>
		<link>http://compsci.ca/blog/software-piracy-in-schools/</link>
		<comments>http://compsci.ca/blog/software-piracy-in-schools/#comments</comments>
		<pubDate>Sat, 10 Feb 2007 03:08:38 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/software-piracy-in-schools/</guid>
		<description><![CDATA[

There is some buzz in world news on the state of software piracy in schools. Specifically in Russia, where a highly controversial case emerged over the use of a certain Operating System for educational purposes. Considering that Russia has one of the highest piracy rates in the world, the entire situation seems kind of ludicrous.


a [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/' rel='bookmark' title='Permanent Link: Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students'>Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students</a></li><li><a href='http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/' rel='bookmark' title='Permanent Link: French students to get open source software on USB key'>French students to get open source software on USB key</a></li><li><a href='http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/' rel='bookmark' title='Permanent Link: The Open Source gift guide &#8211; MakeZine style!'>The Open Source gift guide &#8211; MakeZine style!</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img id="image172" src="http://compsci.ca/blog/wp-content/uploads/2007/02/tux_pirate_avatar.png" alt="tux the pirate avatar" align="left" /></p>
<p>
There is some buzz in world news on the state of software piracy in schools. Specifically <a href="http://blog.linuxtoday.com/blog/archives/070130-080943.hjavascript:void()tml" title="Linux and Windows in Russian schools">in Russia</a>, where a highly controversial case emerged over the use of a certain Operating System for educational purposes. Considering that Russia has one of the highest piracy rates in the world, the entire situation seems kind of ludicrous.
</p>
<blockquote><p>
a principal of a public school in a small village somewhere in the middle of Russia is accused of using an unlicensed copies of Microsoft Windows on school&#8217;s computers, and the penalty could be as high as five years in prison.
</p></blockquote>
<p><img id="image174" src="http://compsci.ca/blog/wp-content/uploads/2007/02/WTO_map_current_members.png" alt="World Trade Organization current members" align="right" /></p>
<p>
Interestingly enough Microsoft wasn&#8217;t even the one to initiate this legal action. It is suspected that the Russian government itself is behind the initiative, in a bid to enter the <a href="http://en.wikipedia.org/wiki/World_Trade_Organization" title="Wikipedia: World Trade Organization">World Trade Organization</a>. Though I&#8217;m not about to write on world politics, or economic state of Russian population. My interest is in students.
</p>
<h2>Do students pirate software?</h2>
<ul>
<li>Students have little disposable income</li>
<li>Students don&#8217;t see a value in investing in a software license</li>
<li>Students are familiar with file distribution networks</li>
<li>There is little legal repercussion for highschool students below the age of majority</li>
</ul>
<p>
This creates a problem with schools using proprietary software to teach courses. If the distribution license does not extend pass the classroom&#8217;s lab, each student is thrown into a dilemma at the sight of the first assignment &#8211; where to get a copy of the software used? I&#8217;ve been to classes that required AutoCAD drawings handed in. That is a $4000 piece of software, and even a greatly discounted <em>student license</em> did not seem reasonable at $400. &#8220;I just need to do this homework assignment&#8230;&#8221;
</p>
<h2>What I think should be done</h2>
<p>
<strong>Open Source Software</strong> is often a reasonable choice. <a href="http://www.openoffice.org/" title="free office suite">Open Office</a> is equivalent to Microsoft Office, is compatible with all major office suites, and is simply free. French authorities recognize this, and <a href="http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/" title="French students to get open source software on USB key">promote open source software in schools</a>. Reports, presentations, spreadsheets &#8211; check!
</p>
<p>
Other times it&#8217;s a tradeoff between available software, and software that&#8217;s actually being used in the industry. Alfred Thompson writes about <a href="http://blogs.msdn.com/alfredth/archive/2007/02/01/visual-studio-or-vs-express-editions-for-the-school-computer-lab.aspx" title="Visual Studio or VS Express Editions for the School Computer Lab?">choosing a Visual Studio flavour</a> for use in school computer labs. At the student level, Microsoft&#8217;s <em>Express Edition</em> products are not too far off from the <em>Professional</em> counter-parts, but are free to use. Students like free.
</p>
<p>
So both companies, and educational institutions need to realize that professional industry and students make up two different groups with two different objectives. Students don&#8217;t have as much money as industry does, but they want to learn, and industry needs them to learn. The software needs to be more readily available to students, and not force them into obtaining it via other means. That just teaches a bad lesson.</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/' rel='bookmark' title='Permanent Link: Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students'>Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students</a></li><li><a href='http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/' rel='bookmark' title='Permanent Link: French students to get open source software on USB key'>French students to get open source software on USB key</a></li><li><a href='http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/' rel='bookmark' title='Permanent Link: The Open Source gift guide &#8211; MakeZine style!'>The Open Source gift guide &#8211; MakeZine style!</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/software-piracy-in-schools/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>French students to get open source software on USB key</title>
		<link>http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/</link>
		<comments>http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 01:15:20 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/</guid>
		<description><![CDATA[

A recent InfoWorld story has caught my attention: open source software to be distributed to students.


French authorities will give out 175,000 USB memory sticks loaded with open-source software to Parisian high-school students at the start of the next school year.


What student doesn&#8217;t like free stuff? Though the concept of &#8220;free software&#8221; might be slightly lost [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/firefox-for-school/' rel='bookmark' title='Permanent Link: Firefox for school'>Firefox for school</a></li><li><a href='http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/' rel='bookmark' title='Permanent Link: Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students'>Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students</a></li><li><a href='http://compsci.ca/blog/software-piracy-in-schools/' rel='bookmark' title='Permanent Link: Software piracy in schools'>Software piracy in schools</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img id="image158" src="http://compsci.ca/blog/wp-content/uploads/2007/02/info_world.gif" alt="info world" align="left" /></p>
<p>
A recent <a href="http://www.infoworld.com/article/07/02/02/HNfrenchstudentsopensource_1.html" title="Authorities employ tactics for bridging digital divide while avoiding, if not fighting, software piracy">InfoWorld</a> story has caught my attention: <em>open source software to be distributed to students</em>.
</p>
<blockquote><p>
French authorities will give out 175,000 USB memory sticks loaded with open-source software to Parisian high-school students at the start of the next school year.
</p></blockquote>
<p>
What student doesn&#8217;t like <em>free stuff</em>? Though the concept of <em>&#8220;free software&#8221;</em> might be slightly lost on the Web 2.0 generation kids. BitTorrent <em>makes</em> things <em>&#8220;free&#8221;</em>. The project&#8217;s spokesperson says the aim is to <em>&#8220;reduce the digital divide&#8221;</em>. Though a fight on software piracy is a more viable theme. Not so much a <em>&#8220;fight&#8221;</em> as a push of free, open source alternatives, into mainstream use. Excellent!
</p>
<blockquote><p>
The sticks will probably contain the Firefox 2 Web browser, Thunderbird e-mail client, an office productivity suite such as OpenOffice.org 2, an audio and video player, and software for instant messaging.
</p></blockquote>
<p>
The exact software list will be determined by the company winning the contract to supply the USB keys. At $20 per student (the project&#8217;s cost), expect some heavy marketing thrown in. Otherwise it looks like at least the entire <a href="http://compsci.ca/blog/xampp-and-other-portable-applications/" title="XAMPP and other Portable Applications">Portable Apps Suite</a> &#8211; not bad.
</p>
<p>
It&#8217;s a fascinating idea, really. Students get their own, customizable, applications (I <strong>need</strong> my Firefox extensions), personal data (bookmarks, email), and storage (for assignments and such) &#8211; all without being tied in to a specific computer or even a network. Thinking back to my highschool, I would have certanly preferred this over waiting to download my giant <abbr title="Windows based, user configurations / preferences / settings">roaming profile</abbr>, and constantly bothering <abbr title="system administrator">sys-admin</abbr> for permissions to install software.
</p>
<p>
Well if all else fails, it is still a free flash drive, with someone&#8217;s logo on top.</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/firefox-for-school/' rel='bookmark' title='Permanent Link: Firefox for school'>Firefox for school</a></li><li><a href='http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/' rel='bookmark' title='Permanent Link: Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students'>Playing catchup with Open Source &#8211; Microsoft gives out (more) free software to students</a></li><li><a href='http://compsci.ca/blog/software-piracy-in-schools/' rel='bookmark' title='Permanent Link: Software piracy in schools'>Software piracy in schools</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Open Source gift guide &#8211; MakeZine style!</title>
		<link>http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/</link>
		<comments>http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/#comments</comments>
		<pubDate>Fri, 24 Nov 2006 20:29:19 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/</guid>
		<description><![CDATA[
Just in time for the holiday shopping season, MAKE Magazine is publishing an &#8220;Open Source gift guide&#8221; &#8211; present ideas in the spirit / theme of Open Source. With my recent involvement into Open Source, this is naturally an interesting read.


&#8220;There are hundreds of gift guides this holiday season filled with junk you can buy [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/programming-an-interactive-multitouch-bar-with-vvvv/' rel='bookmark' title='Permanent Link: Programming an interactive multitouch ibar with vvvv'>Programming an interactive multitouch ibar with vvvv</a></li><li><a href='http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/' rel='bookmark' title='Permanent Link: French students to get open source software on USB key'>French students to get open source software on USB key</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>
Just in time for the holiday shopping season, MAKE Magazine is publishing an <a href="http://www.makezine.com/blog/archive/2006/11/the_open_source_1.html" title="The Open source gift guide - Open source hardware, software and more for the holidays"><i>&#8220;Open Source gift guide&#8221;</i></a> &#8211; present ideas in the spirit / theme of Open Source. With my <a href="http://compsci.ca/blog/dotproject-file-icons-mod/" title="dotProject (open source project management) file icons mod">recent</a> <a href="http://compsci.ca/blog/dotproject-percent-bar-gradient-mod/" title="dotProject (open source project management) Percent Bar Gradient mod">involvement</a> into <acronym title="just dotProject for now">Open Source</acronym>, this is naturally an interesting read.
</p>
<blockquote><p>
&#8220;There are hundreds of gift guides this holiday season filled with junk you can buy &#8211; but a lot of time you actually don&#8217;t own it, you can&#8217;t improve upon it, you can&#8217;t share it or make it better, you certainly can&#8217;t post the plans, schematics and source code either.&#8221;
</p></blockquote>
<p>
Since gifts are generally associated with something more tangeble than lines of code, the guide concentrates on Open Sourced <a href="http://makezine.com/daisy/" title="Open Source MP3 Player Kit">hardware</a> (schematics and parts) and <a href="http://www.neurosaudio.com/osd/osd.asp" title="NEUROS OSD - Open Source Linux embedded media center">devices</a> or <a href="http://www.trolltech.com/products/qtopia/greenphone" title="Qtopia- Greenphone/SDK">gadgets</a> that run Open Source software.
</p>
<p><img id="image84" src="http://compsci.ca/blog/wp-content/uploads/2006/11/free_beer.png" alt="free beer as in open source" align="left" /></p>
<p>
An exception to this technology oriented list is <a href="http://www.freebeer.org/blog/" title="FreeBeer Blog">Free Beer</a>, that is <i>free</i> as in Open Source. A source of refreshment, confusion, and endless debates on philosophical and economic themes &#8211; this is a must get recreational refreshment for my next dorky party with fellow Engineers at the University.
</p>
<blockquote><p>
&#8220;The recipe and branding elements of FREE BEER is published under a Creative Commons (Attribution-ShareAlike 2.5) license, which means that anyone can use the recipe to brew their own FREE BEER or create a derivative of the recipe.&#8221;
</p></blockquote>
<p>
Cheers,<br />
&#8211; Tony</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/programming-an-interactive-multitouch-bar-with-vvvv/' rel='bookmark' title='Permanent Link: Programming an interactive multitouch ibar with vvvv'>Programming an interactive multitouch ibar with vvvv</a></li><li><a href='http://compsci.ca/blog/french-students-to-get-open-source-software-on-usb-key/' rel='bookmark' title='Permanent Link: French students to get open source software on USB key'>French students to get open source software on USB key</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dotProject Percent Bar Gradient mod</title>
		<link>http://compsci.ca/blog/dotproject-percent-bar-gradient-mod/</link>
		<comments>http://compsci.ca/blog/dotproject-percent-bar-gradient-mod/#comments</comments>
		<pubDate>Tue, 21 Nov 2006 18:18:53 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/dotproject-percent-bar-gradient-mod/</guid>
		<description><![CDATA[

Another one for dotProject &#8211; an Open Sourced Project Management software that I take interest in.


Following the theme of my previous mod, the idea is to convey the most amount of information at a glance. Looking at the Project&#8217;s Progress (project percent complete) specifically, the best icon is a background bar graph representing the percentage. [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/dotproject-file-icons-mod/' rel='bookmark' title='Permanent Link: dotProject file icons mod'>dotProject file icons mod</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img id="image78" src="http://compsci.ca/blog/wp-content/uploads/2006/11/percent_bar_gradient.png" alt="percent bar gradient preview" align="left" /></p>
<p>
Another one for <a href="http://dotproject.net/" title="Open Source Project Management Software">dotProject</a> &#8211; an Open Sourced Project Management software that I take interest in.
</p>
<p>
Following the theme of my <a href="http://compsci.ca/blog/dotproject-file-icons-mod/" title="dotProject file icons mod">previous mod</a>, the idea is to convey the most amount of information at a glance. Looking at the <i>Project&#8217;s Progress</i> (project percent complete) specifically, the best <i>icon</i> is a background bar graph representing the percentage. Alternativly this information can also be described by gradients of colours (colour keys are already used to differintiate between project&#8217;s tasks). This implemintation combines both, see preview above.
</p>
<p>
The mod itself fits on a single line, so to jump right in, open <strong>projects/view.php</strong> locate<br />
<code><br />
&lt;td align=&quot;right&quot; nowrap&gt;&lt;?php echo $AppUI-&gt;_(&#39;Progress&#39;);?&gt;:&lt;/td&gt;<br />
</code><br />
and replace the line after it with<br />
<code><br />
&lt;td class=&quot;hilite&quot; width=&quot;100%&quot; style=&quot;border-style: solid; border-width: 1px;&quot;&gt;&lt;div style=&quot;background: #&lt;?php echo ($obj-&gt;project_percent_complete &lt; 50) ? &quot;ff&quot;.str_pad(dechex(2.55*2*$obj-&gt;project_percent_complete), 2, &#39;0&#39;, STR_PAD_LEFT).&quot;00&quot; : str_pad(dechex(2.55*2*(100 - $obj-&gt;project_percent_complete)), 2, &#39;0&#39;, STR_PAD_LEFT).&quot;ff00&quot; ?&gt;; width: &lt;?php echo intval($obj-&gt;project_percent_complete ); ?&gt;%;&quot;&gt;&lt;strong&gt;&lt;?php printf( &quot;%.1f%%&quot;, $obj-&gt;project_percent_complete );?&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/td&gt;<br />
</code><br />
Simple, isn&#8217;t it?
</p>
<p>
The bar is drawn using CSS styles, so no images are required, and you get real gradient breakdown. The bar itself is a <strong>div</strong> tag with coloured background. The colour is determined from $project_percent_complete and figuring out where it is between #FF0000 Red and #00FF00 Green. <strong>dechex()</strong> converts decimals into colour hex, and <strong>str_pad()</strong> ensures that we&#8217;ll end up with a leading 0 if needed.
</p>
<p>
Obviously the same idea can be applied to any block-level element holding a percent value. Some other good places to apply this in dotProject would be task&#8217;s progress, or assigned users&#8217; percentage.</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/dotproject-file-icons-mod/' rel='bookmark' title='Permanent Link: dotProject file icons mod'>dotProject file icons mod</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/dotproject-percent-bar-gradient-mod/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>dotProject file icons mod</title>
		<link>http://compsci.ca/blog/dotproject-file-icons-mod/</link>
		<comments>http://compsci.ca/blog/dotproject-file-icons-mod/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 23:04:42 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/dotproject-file-icons-mod/</guid>
		<description><![CDATA[

dotProject is an open source project management software that I&#8217;ve had a chance to work with a lot lately. I&#8217;ve gotten to be pretty active on the forums, but this is my first packaged open source contribution.


I wanted to easily distinguish between various uploaded files, and loading assosiated icons seemed like a neat trick. The [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/dotproject-percent-bar-gradient-mod/' rel='bookmark' title='Permanent Link: dotProject Percent Bar Gradient mod'>dotProject Percent Bar Gradient mod</a></li><li><a href='http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/' rel='bookmark' title='Permanent Link: The Open Source gift guide &#8211; MakeZine style!'>The Open Source gift guide &#8211; MakeZine style!</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img id="image76" src="http://compsci.ca/blog/wp-content/uploads/2006/11/dotproject_file_icons.png" alt="dotproject icons preview" align="left" /></p>
<p>
<a href="http://dotproject.net/" title="dotProject homepage">dotProject</a> is an open source project management software that I&#8217;ve had a chance to work with a lot lately. I&#8217;ve gotten to be pretty active on the <a href="http://dotproject.net/vbulletin/" title="dotProject forums">forums</a>, but this is my first <i>packaged</i> open source contribution.
</p>
<p>
I wanted to easily distinguish between various uploaded files, and loading assosiated icons seemed like a neat trick. The preview is on the left. The icons are taken from the <a href="http://tango.freedesktop.org/Tango_Icon_Gallery" title="Tango Desktop Project">Tango Desktop Project</a> &#8211; free and open sourced.
</p>
<p>
Upon upload, PHP determines file&#8217;s <a href="http://www.iana.org/assignments/media-types/" title="MIME Media Types">MIME type</a> and picks the most appropriate icon. As of this version, <strong>0.4</strong>, most of the common generic types are supported (application, audio, image, text, video). Microsoft&#8217;s Word, Powerpoint and Excel extensions are recognized as Document, Presentation and Spreadsheet document types. Additionally PDF, archives(ZIP, TAR, TAR.GZ), and web media (HTML, XML) extensions spot unique icons. PostScript files (such as Adobe&#8217;s Illustrator and Photoshop) are marked with an image icon.
</p>
<h2>dotProject team</h2>
<p>
I would like to thank the <a href="http://dotproject.net/vbulletin/showthread.php?t=6032" title="dotProject community forums">dotProject developers</a> for comments, suggestions, feedback and support. Especially MacOfTheEast for all his contributions,  and suggesting new type definitions.
</p>
<h2>Installation</h2>
<p>It is assumed that the user has a clean 2.0.4 stable install.</p>
<p>
<a href="http://compsci.ca/blog/wp-content/uploads/2006/11/dotproject_files_icons_0_4.tar.gz" title="dotProject file icons mod 0.4"><strong>Download .tar package</strong></a> and follow instructions in readme.txt. Just a few quick changes. Files affected:</p>
<ul>
<li>dotproject.sql &#8211; don&#8217;t forget to apply the change to your current database</li>
<li>modules/files/files.class.php</li>
<li>modules/files/do_file_aed.php</li>
<li>modules/files/index_table.php</li>
</ul>
<h2>ChangeLog</h2>
<h3>version 0.4 (November 22, 2006)</h3>
<p>
- added text/html, /xml, application/x-tar, /x-gzip, /postscript support
</p>
<h3>version 0.3 (November 21, 2006)</h3>
<p>
- added application/zip support<br />
- no longer relies on file_category (it&#8217;s a configurable lookup)<br />
- new generic image (paper-clip)
</p>
<h3>version 0.2 (November 20, 2006)</h3>
<p>
- include PDF specific MIME type</p>
<p>do_file_aed.php<br />
	- recognition of PDF MIME type<br />
	- bugfix: file_category was never considered in default fallback</p>
<p>dotproject.sql<br />
	- ADD/UPDATE files table<br />
	- SQL to update existing file records to include icons
</p>
<p>
Enjoy!<br />
&#8211; Tony</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/dotproject-percent-bar-gradient-mod/' rel='bookmark' title='Permanent Link: dotProject Percent Bar Gradient mod'>dotProject Percent Bar Gradient mod</a></li><li><a href='http://compsci.ca/blog/the-open-source-gift-guide-makezine-style/' rel='bookmark' title='Permanent Link: The Open Source gift guide &#8211; MakeZine style!'>The Open Source gift guide &#8211; MakeZine style!</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/dotproject-file-icons-mod/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Copyrighting a Programming Language (syntax and other Intellectual Property)</title>
		<link>http://compsci.ca/blog/copyrighting-a-programming-language-syntax-and-other-intellectual-property/</link>
		<comments>http://compsci.ca/blog/copyrighting-a-programming-language-syntax-and-other-intellectual-property/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 04:51:08 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/copyrighting-a-programming-language-syntax-and-other-intellectual-property/</guid>
		<description><![CDATA[
Over at the forums we&#8217;ve been getting pretty excited over the prospect of an openTuring project, but the current discussions focus more on the legal aspects rather than technical details. So this brings up the question:


Can one copyright (or gain other intellectual property rights) to a programming language?


This case study will use Holtsoft&#8217;s Turing for [...]


Related posts:<ol><li><a href='http://compsci.ca/blog/opent-a-free-alternative-to-holtsofts-proprietary-turing-ide/' rel='bookmark' title='Permanent Link: OpenT : A Free Alternative to Holtsoft&#8217;s Proprietary Turing IDE'>OpenT : A Free Alternative to Holtsoft&#8217;s Proprietary Turing IDE</a></li><li><a href='http://compsci.ca/blog/the-most-important-programming-language/' rel='bookmark' title='Permanent Link: The most important programming language'>The most important programming language</a></li><li><a href='http://compsci.ca/blog/you-dont-know-that-programming-language/' rel='bookmark' title='Permanent Link: You don&#8217;t know that programming language'>You don&#8217;t know that programming language</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>
Over at the <a href="http://compsci.ca/v2" title="CompSci.ca Forums">forums</a> we&#8217;ve been getting pretty excited over the prospect of an <acronym title="Open Source Turing language compiler">openTuring</acronym> project, but the current discussions focus more on the <a href="http://compsci.ca/v2/viewtopic.php?t=14018" title="Open Turing (How to make turing)">legal aspects</a> rather than technical details. So this brings up the question:
</p>
<blockquote><p>
Can one copyright (or gain other intellectual property rights) to a programming language?
</p></blockquote>
<p>
This case study will use Holtsoft&#8217;s <strong>Turing</strong> for the example. Since the only current language compiler is distributed as a commercial product (for a whooping $75 per copy), it makes one wonder what kind of legal protection could possibly apply to the language.
</p>
<p>
All of the intellectual property usually falls into one of four categories: <strong>patents</strong>, <strong>copyright</strong>, <strong>trade marks</strong>, and <strong>trade secrets</strong>. Industrial Design, sometimes in a category of its own, is not in this case applicable. And <strong>trade secrets</strong> only prevent the disclosure of the secrets, and can&#8217;t legally stop me from anything I can make on my own. Lets examine the remaining three types.
</p>
<p>
<strong>Patents</strong> &#8211; <i>&#8220;may be granted for a new, useful, and non-obvious invention&#8221;</i>. The IDE or the compiler could have some innovative way of working, and that particular part would be patentable. Though before getting into too much detail, a quick search at <acronym title="Canadian Intellectual Property Office">CIPO</acronym> shows that HoltSoft does not own <i>any</i> patents. Besides, a <acronym title="development free from possible reverse engineering">clean room development</acronym> should avoid any such incidents if the patents existed. Next!
</p>
<p>
<strong>Copyright</strong> &#8211; <i>&#8220;at its most general, it is literally &#8216;the right to copy&#8217; an original creation&#8221;</i>. It usually applies to artistic works such as music, books, and <strong>software</strong>. Software? Now this is getting a little bit more interesting, but software refers to the IDE and the compiler, not the language. In fact, according to a <strong>Idea-expression dichotomy</strong>, <i>&#8220;a copyright covers the expression of an idea, not the idea itself&#8221;</i>. Meaning to say I cannot copy the source code behind the compiler or the compiler itself, but I could express the same idea (compiling the syntax) in a different way.
</p>
<p>
Though what about the syntax specifically, can it be copyrighted? At the very basic level, it is just a collection of words. A unique arrangement (source code) could be copyrighted, as it expresses an idea. This brings up the first casualty of the project &#8211; Turing&#8217;s <acronym title="Graphical User Interface">GUI</acronym> module. Unlike most other commands, Turing&#8217;s GUI is actually written entirely in Turing itself, and is included as a source code attachment. The idea of implementing a graphical interface cannot be patented (it is not non-obvious), but this particular way of doing it is copyrightable.
</p>
<p>
The syntax on its own is not. For the most part since programming languages borrow so heavily from each other, that a large subset of keywords has became very common in use. The examples would include <strong>if then else</strong>, <strong>for loop while</strong>, <strong>function</strong>, etc. In fact, Turing&#8217;s syntax is based on that of Pascal, the latter of which offers a number of compilers, including a <acronym title="GNU General Public License">GNU/GPL</acronym> licensed FreePascal &#8211; an open sourced, cross-platform compiler. A role model for openTuring if you will.
</p>
<p>
The remaining intellectual property type &#8211; <strong>trade mark</strong> offers perhaps the most viable legal ground. Once again with <acronym title="Canadian Intellectual Property Office">CIPO</acronym>, we actually get a match!
</p>
<blockquote><p>
TRADE-MARK:<br />
<strong>TURING</strong><br />
WARES:<br />
(1) Programming language software, namely, compilers, interpreters, editors, programming environment software, software for program development, manuals relating to programming languages and documentation relating to programming languages.
</p></blockquote>
<p>
The bold lettered TURING has been in this use since 1984, and Holtsoft has recently (2002) renewed the property. And while the trademark makes no mention of the language or syntax, it covers quite a scope of software used to deal with programming languages. The case here would be that if I refer to any of the above listed types of software as <i>&#8220;Turing&#8221;</i>, it could be confused for that of HoltSoft&#8217;s. Perhaps <i>openTuring</i> shall remain as the code-name only, and we would need to find another dead mathematician to honour.
</p>
<p>
Note that this trademark would not prevent me from using <i>&#8220;Turing&#8221;</i> to refer to the product or the language, it just prevents the naming of software. Though I am rather skeptical of the <i>&#8220;documentation relating to programming languages&#8221;</i> clause. I can only speculate as to what extend this is actually covered, as I would think that referring to Turing in documentation (say for comparative purposes) is <acronym title="limited use of copyrighted material without requiring permission">Fair Use</acronym>.
</p>
<p>
The mandatory disclaimer: I do not hold a degree in legal studies, or intellectual property. Though in the process of researching and writing this post, I have convinced myself that usage of a subset of mostly common words for the purposes of expression, cannot be legally restricted.</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/opent-a-free-alternative-to-holtsofts-proprietary-turing-ide/' rel='bookmark' title='Permanent Link: OpenT : A Free Alternative to Holtsoft&#8217;s Proprietary Turing IDE'>OpenT : A Free Alternative to Holtsoft&#8217;s Proprietary Turing IDE</a></li><li><a href='http://compsci.ca/blog/the-most-important-programming-language/' rel='bookmark' title='Permanent Link: The most important programming language'>The most important programming language</a></li><li><a href='http://compsci.ca/blog/you-dont-know-that-programming-language/' rel='bookmark' title='Permanent Link: You don&#8217;t know that programming language'>You don&#8217;t know that programming language</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/copyrighting-a-programming-language-syntax-and-other-intellectual-property/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>


