<?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>cawanpink.net &#187; open source</title>
	<atom:link href="http://cawanpink.net/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://cawanpink.net</link>
	<description>i dislike capital letters. i abuse ctrl-c and ctrl v</description>
	<lastBuildDate>Sat, 21 Aug 2010 10:06:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>git git git!</title>
		<link>http://cawanpink.net/2010/08/git-git-git/</link>
		<comments>http://cawanpink.net/2010/08/git-git-git/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 16:50:46 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=2219</guid>
		<description><![CDATA[Create repo

mkdir mygit
cd mygit
git init
git add .
git commit -m 'initial commit'

Checkout repo

cd mygit
git clone url myrepo

Create branch

git branch -a 
git checkout -b branchtoworkon origin/existingbranch

or

git checkout existingbranch
git branch branchtoworkon
git checkout branchtoworkon

Push branch

git push origin branchtoworkon

Create tag

git tag -l
git tag 1.0

Push tag

git push origin 1.0

Delete branch/tag

git tag -d 1.0
git branch -d branchtoworkon
git push origin :branchtoworkon

]]></description>
			<content:encoded><![CDATA[<h4>Create repo</h4>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> mygit
<span style="color: #7a0874; font-weight: bold;">cd</span> mygit
git init
git add .
git commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">'initial commit'</span></pre></div></div>

<h4>Checkout repo</h4>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> mygit
git clone url myrepo</pre></div></div>

<h4>Create branch</h4>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git branch <span style="color: #660033;">-a</span> 
git checkout <span style="color: #660033;">-b</span> branchtoworkon origin<span style="color: #000000; font-weight: bold;">/</span>existingbranch</pre></div></div>

<p>or</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git checkout existingbranch
git branch branchtoworkon
git checkout branchtoworkon</pre></div></div>

<h4>Push branch</h4>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git push origin branchtoworkon</pre></div></div>

<h4>Create tag</h4>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git tag <span style="color: #660033;">-l</span>
git tag <span style="color: #000000;">1.0</span></pre></div></div>

<h4>Push tag</h4>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git push origin <span style="color: #000000;">1.0</span></pre></div></div>

<h4>Delete branch/tag</h4>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git tag <span style="color: #660033;">-d</span> <span style="color: #000000;">1.0</span>
git branch <span style="color: #660033;">-d</span> branchtoworkon
git push origin :branchtoworkon</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2010/08/git-git-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>virtualenv</title>
		<link>http://cawanpink.net/2010/03/virtualenv/</link>
		<comments>http://cawanpink.net/2010/03/virtualenv/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 02:24:37 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=2179</guid>
		<description><![CDATA[I kept getting back to virtualenv and every time I would totally forget how to go about it and had to start googling. Every time. Frustrating. This is usually when Plone is involved. 
So.

$ sudo apt-get install python-virtualenv
$ virtualenv -p /usr/bin/python2.4 /home/cawanpink/python2.4
$ source /home/cawanpink/python2.4/bin/activate
(python2.4)$ deactivate

That&#8217;s

install
create the Python 2.4 virtual environment
activate the environment
to get out of [...]]]></description>
			<content:encoded><![CDATA[<p>I kept getting back to virtualenv and every time I would totally forget how to go about it and had to start googling. Every time. Frustrating. This is usually when Plone is involved. </p>
<p>So.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ sudo apt-get install python-virtualenv
$ virtualenv -p /usr/bin/python2.4 /home/cawanpink/python2.4
$ source /home/cawanpink/python2.4/bin/activate
(python2.4)$ deactivate</pre></div></div>

<p>That&#8217;s
<ul>
<li>install</li>
<li>create the Python 2.4 virtual environment</li>
<li>activate the environment</li>
<li>to get out of the environment</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2010/03/virtualenv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Now I know how to mine data</title>
		<link>http://cawanpink.net/2010/01/now-i-know-how-to-mine-data/</link>
		<comments>http://cawanpink.net/2010/01/now-i-know-how-to-mine-data/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 08:16:09 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[malaysian government]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[postgrad]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=2122</guid>
		<description><![CDATA[There&#8217;s just too many techniques on how you can do data mining. In grad school we only got to know 1 technique &#8211; by using artificial neural network. There&#8217;s a tool for this &#8211; Weka. Download and install it or sudo apt-get it (yes imagine my surprise when I found out about this).
What&#8217;s data mining?
Well, [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s just too many techniques on how you can do data mining. In grad school we only got to know 1 technique &#8211; by using artificial neural network. There&#8217;s a tool for this &#8211; <a href="http://www.cs.waikato.ac.nz/ml/weka/">Weka</a>. Download and install it or sudo apt-get it (yes imagine my surprise when I found out about this).</p>
<h3>What&#8217;s data mining?</h3>
<p>Well, basically it&#8217;s a process to get a knowledge (eg. if customers buy diapers, most likely they will buy beers too) from your data (imagine spreadsheets filled with numbers and strings). You may have thousands of records but how do you make sense of it? You mine those data, and get a pattern. From there you&#8217;ll get a knowledge. So from this you can put beers next to diapers in supermarkets to increase sales. That&#8217;s the general idea.</p>
<p>There&#8217;s a 90% chance that the data you got is not cleaned aka there&#8217;s missing values, some data are not consistent (eg. in sex can only have F or M, there&#8217;s a value Q?), and some data are just plain rubbish. The data need to go through preprocessing stage. For missing values, you have to filled them up, either using mean or median values, whichever is best for your data. The same goes to inconsistent data. This is where working with experts in the domain you&#8217;re working in is very important. You don&#8217;t want to remove what you think is rubbish but it actually means something.</p>
<p>Then we have data discretization process where you reduce that huge amount of data but they still carry the same value. Afterwards we normalize the data. After this is done, then the data is ready for the modelling exercise.</p>
<h3>Classification</h3>
<p>One of the benefit you get from data mining is classification. It&#8217;s where you can predict if you have this data (eg. male, married, doesn&#8217;t have children, have regularly purchase beer for the past year) whether beer purchase is likely. So it will classify to something like this purchase_beer equals to 0 (no) or 1 (yes). In order for the model to predict 0 or 1, the model itself has to be trained with alot of data. Train it until it reaches the accuracy we want, above 90% is good. A trained model with very high accuracy is going to be an asset as you can feed it data and it will spit out what we want. </p>
<p>The most difficult part in doing this for me is the data preprocessing part. You have to have quality cleaned data to produce quality results. You have to carefully select which kind of data is relevant to your goal (eg. would you want to include one&#8217;s job as one of the attributes considered for the diapers-beers example?) which is why having domain experts is important. They also have to determine how each data should affect the result (eg. job probably affects 10% but marital status affects 80% towards diapers-beers purchase).</p>
<h3>I just love AI</h3>
<p>There are just so many preprocessing methods &#038; data mining hybrid techniques already been researched by academicians. I&#8217;m just so overwhelmed by the amount of technical papers on this. They probably not so much IT savvy like us, the implementors as they call it, but they definitely have the brain on that part of the world. We just have to scour through this massive database and get it to run on our apps. Well, should you need it that is. Coz processing thousands of data can take hours or days, some months, depending on your machine spec.</p>
<h3>Open data</h3>
<p>While doing data mining assignment last 2 weeks, I became frustrated with the unavailability of data in Malaysia. Sad. Maybe it&#8217;s still difficult for us to see it now, I&#8217;m already imagining all the stuff we can do with those data like in JPA, MOHR, MOH, MOHE &#8211; fuhhhh I&#8217;m all shuddery now. Even in OSCC, those training feedback forms and MyGOSSCON feedback forms &#8211; hmm whatever happened to those?</p>
<p>There are concerns of exposing private data I guess. Well, if you ask me make the data anonymous, as I couldn&#8217;t care less who got promoted last year. I only want the &#8217;spec&#8217; of that person who got promoted &#8211; age, sex, location, department, salary, is he respected by peers, does he drive, etc, that kind of stuff, you get the idea.</p>
<p>Hmm.. this will take another 10 years to realise, I think.</p>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2010/01/now-i-know-how-to-mine-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Committing to SVN using Bazaar</title>
		<link>http://cawanpink.net/2009/12/committing-to-svn-using-bazaar/</link>
		<comments>http://cawanpink.net/2009/12/committing-to-svn-using-bazaar/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 02:25:52 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[mymeeting]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=2100</guid>
		<description><![CDATA[Ejat and I were working on how to do the above for MyMeeting codes and we did it! I have asked ejat to put this down in writing in his blog, but sadly the blog is not available anymore (alaa ejat bukan susah sangat cari hosting punnnnn.. susah2 ko host sendiri jek kat umah  [...]]]></description>
			<content:encoded><![CDATA[<p>Ejat and I were working on how to do the above for <a href="http://trac.oscc.org.my/mymeeting">MyMeeting</a> codes and we did it! I have asked ejat to put this down in writing in his blog, but sadly the blog is not available anymore (alaa ejat bukan susah sangat cari hosting punnnnn.. susah2 ko host sendiri jek kat umah <img src='http://cawanpink.net/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</p>
<p>MyMeeting is also on <a href="https://launchpad.net/mymeeting">Launchpad</a> that makes use of <a href="http://bazaar.canonical.com/en/">Bazaar</a>. We wanted to find a way how to send changes to both its main repo (using <a href="http://subversion.tigris.org/">SVN</a>) and Launchpad.</p>
<p>So we&#8217;ve been using SVN for MyMeeting hosted at OSCC. A typical way for us would be like this.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ svn co https://svn.oscc.org.my/mymeeting/trunk trunk
$ cd trunk
(hack hack hack...)
$ svn status #see our changes
$ svn ci -m 'added feature ABC' #commit to SVN repository</pre></div></div>

<p>To use Bazaar to work with SVN repo, you have to install bzr and bzr-svn. Excellent doc on bzr-szv is <a href="http://doc.bazaar.canonical.com/bzr.2.0/en/user-guide/svn_plugin.html">here</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ sudo apt-get bzr bzr-svn</pre></div></div>

<h3>SVN-like</h3>
<p>Working with Bazaar, the way would be something like this.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ mkdir dev
$ bzr init-repo --default-rich-root dev
$ cd dev
$ bzr co https://svn.oscc.org.my/mymeeting/trunk trunk
$ cd trunk
(hack hack hack...)
$ bzr update #get changes done by others
$ bzr ci -m 'added form for feature ABC' #commit to SVN repository
$ bzr push lp:mymeeting #push to Launchpad, only have to provide location once
(hack hack hack...)
$ bzr update #get changes done by others
$ bzr ci -m 'added list for feature ABC' #commit to SVN repository
$ bzr push</pre></div></div>

<h3>Decentralized Bazaar way</h3>
<p>If we were to take advantage of Bazaar&#8217;s decentralised way of doing it (so you can work offline, for example), it&#8217;s like this.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ mkdir dev
$ bzr init-repo --default-rich-root dev
$ cd dev
$ bzr co https://svn.oscc.org.my/mymeeting/trunk trunk #our copy of trunk
$ bzr branch trunk working #make a local branch to hack on
$ cd working
(hack hack hack...working offline)
$ bzr ci -m 'added form for feature ABC' #commit to local branch
(hack hack hack...working offline)
$ bzr ci -m 'added list for feature ABC' #commit to local branch
&nbsp;
(when you get your connection back)
$ cd ../trunk
$ bzr update #get changes done by others to our copy of trunk 
$ cd ../working
$ bzr pull #pull the changes to our local branch
$ bzr status #see our changes
$ cd ../trunk
$ bzr merge ../working
$ bzr ci -m 'added feature ABC'</pre></div></div>

<p>Personally I like the centralised approach because it&#8217;s similar to SVN. Local branch is great feature if I have to do my work offline sometimes. And while I can pick Bazaar from now on, the rest of the team doesn&#8217;t have to switch tool. That&#8217;s great!</p>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2009/12/committing-to-svn-using-bazaar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some pics on 24 Hour OSS Webdev Competition</title>
		<link>http://cawanpink.net/2009/11/some-pics-on-24-hour-oss-webdev-competition/</link>
		<comments>http://cawanpink.net/2009/11/some-pics-on-24-hour-oss-webdev-competition/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 15:25:16 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[w00t!]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=2004</guid>
		<description><![CDATA[We provided them food, unlimited coffee, a pc with Ubuntu installed, 2 wired connections, 2 wireless connection, a huge desk and enough chairs and couch. The rest, gadgets, devices, books, cables, wires, they brought it themselves.


]]></description>
			<content:encoded><![CDATA[<p>We provided them food, unlimited coffee, a pc with Ubuntu installed, 2 wired connections, 2 wireless connection, a huge desk and enough chairs and couch. The rest, gadgets, devices, books, cables, wires, they brought it themselves.</p>
<div id="attachment_2006" class="wp-caption aligncenter" style="width: 310px"><a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0785.JPG"><img class="size-medium wp-image-2006" title="DSC_0785" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0785-300x200.jpg" alt="Stopwatch and huge clock on screen. It would start at 11am." width="300" height="200" /></a><p class="wp-caption-text">Stopwatch and huge clock on screen. It would start at 11am. Arm did this - &quot;fuyyo&quot; was my first reaction when I saw it the first time.</p></div>
<p><span id="more-2004"></span></p>
<div id="attachment_2005" class="wp-caption aligncenter" style="width: 310px"><a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0780.JPG"><img class="size-medium wp-image-2005" title="DSC_0780" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0780-300x200.jpg" alt="Wires" width="300" height="200" /></a><p class="wp-caption-text">Setting up their stuff</p></div>
<div id="attachment_2007" class="wp-caption aligncenter" style="width: 310px"><a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0789.JPG"><img class="size-medium wp-image-2007" title="DSC_0789" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0789-300x200.jpg" alt="DSC_0789" width="300" height="200" /></a><p class="wp-caption-text">Hard at work</p></div>
<p style="text-align: center;">
<div id="attachment_2008" class="wp-caption aligncenter" style="width: 310px"><a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0786.JPG"><img class="size-medium wp-image-2008" title="DSC_0786" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0786-300x200.jpg" alt="Volunteers!" width="300" height="200" /></a><p class="wp-caption-text">Volunteers!</p></div>
<div id="attachment_2009" class="wp-caption aligncenter" style="width: 310px"><a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0804.JPG"><img class="size-medium wp-image-2009" title="DSC_0804" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/11/DSC_0804-300x200.jpg" alt="The rest of us is also hard at work - we would overwork our feets later on" width="300" height="200" /></a><p class="wp-caption-text">The rest of us is also hard at work - we would overwork our feet later on</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2009/11/some-pics-on-24-hour-oss-webdev-competition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>24-Hour OSS WebDev Contest</title>
		<link>http://cawanpink.net/2009/10/24-hour-oss-webdev-contest/</link>
		<comments>http://cawanpink.net/2009/10/24-hour-oss-webdev-contest/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 02:48:58 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[mygosscon]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=1969</guid>
		<description><![CDATA[Will be held in conjuction with MyGOSSCON 2009. For geeks, I believe it&#8217;s going to be like a walk in the park.

It&#8217;s the first time they&#8217;re going to have this contest in the conference. So I believe it&#8217;s going to be easy. Adda, ko cari geng cepat, kalau ko join, mesti menang. Pastu kena open [...]]]></description>
			<content:encoded><![CDATA[<p>Will be held in conjuction with <a href="http://mygosscon.oscc.org.my" target="_blank">MyGOSSCON 2009</a>. For geeks, I believe it&#8217;s going to be like a walk in the park.<br />
<img class="alignright size-full wp-image-1971" style="padding-left: 5px;" title="programming-contest-banner" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/10/programming-contest-banner.png" alt="programming-contest-banner" width="237" height="75" /><br />
It&#8217;s the first time they&#8217;re going to have this contest in the conference. So I believe it&#8217;s going to be <strong>easy</strong>. <strong>Adda</strong>, ko cari geng cepat, kalau ko join, mesti menang. Pastu kena open table untuk aku ok hahaha&#8230;</p>
<p>1st prize: RM5,000 cash<br />
2nd prize: RM3,000 cash<br />
3rd prize: RM1,500 cash</p>
<p>Anyway yes it&#8217;s open for all, and they have additional prize for best team for students. If you&#8217;re in IPTA/IPTS, you&#8217;ll probably end up RM2k richer.</p>
<p>More information <a href="http://mygosscon.oscc.org.my/2009/24h-oss-webdev-contest/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2009/10/24-hour-oss-webdev-contest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We have poster!</title>
		<link>http://cawanpink.net/2009/09/we-have-poster/</link>
		<comments>http://cawanpink.net/2009/09/we-have-poster/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 12:05:31 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[foss.my]]></category>
		<category><![CDATA[fosschix.my]]></category>
		<category><![CDATA[oscc]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=1950</guid>
		<description><![CDATA[FOSS.my 2009 is coming &#8211; a little bit of a background story on the little girl.
That&#8217;s Martha, Nicholas&#8217; daughter (of OSCC). She won the OLPC hands down during FOSS.my 2008, beating all other grown ups in a little game for OLPC giveaway. I think she&#8217;s the youngest audience in the hall. Nice trick Nic, I [...]]]></description>
			<content:encoded><![CDATA[<p>FOSS.my 2009 is coming &#8211; a little bit of a background story on the little girl.</p>
<p>That&#8217;s Martha, Nicholas&#8217; daughter (of OSCC). She won the <a href="http://laptop.org/en/" target="_blank">OLPC</a> hands down during FOSS.my 2008, beating all other grown ups in a little game for OLPC giveaway. I think she&#8217;s the youngest audience in the hall. Nice trick Nic, I know you want the OLPC for geek self :p!</p>
<div id="attachment_1951" class="wp-caption aligncenter" style="width: 318px"><a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/09/fossmy09-poster-v5-smallest.png"><img class="size-full wp-image-1951" title="fossmy09-poster-v5-smallest" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/09/fossmy09-poster-v5-smallest.png" alt="FOSS.my 2009 - little Martha holding her OLPC" width="308" height="436" /></a><p class="wp-caption-text">FOSS.my 2009 - little Martha holding her OLPC</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2009/09/we-have-poster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Translation project</title>
		<link>http://cawanpink.net/2009/09/translation-project/</link>
		<comments>http://cawanpink.net/2009/09/translation-project/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 10:52:25 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[ejat]]></category>
		<category><![CDATA[eric]]></category>
		<category><![CDATA[ramadhan]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=1934</guid>
		<description><![CDATA[Ok so since e-jat, as the Ubuntu-MY president, has been pestering people for the Ubuntu translation project (heh no offense), I clicked on the link provided in his identi.ca post one day. And that brings me to this post&#8217;s topic.
The translation page.
I&#8217;ve been doing it for a while now, and it&#8217;s kinda fun(ny) translating English [...]]]></description>
			<content:encoded><![CDATA[<p>Ok so since <a href="http://blog.myfenris.net/">e-jat</a>, as the <a href="http://www.ubuntu.com.my">Ubuntu-MY</a> president, has been pestering people for the Ubuntu translation project (heh no offense), I clicked on the link provided in his <a href="http://identi.ca/notice/9584759">identi.ca post</a> one day. And that brings me to this post&#8217;s topic.</p>
<p>The <a href="https://translations.edge.launchpad.net/ubuntu/karmic/+source/xulrunner-1.9">translation page</a>.</p>
<p>I&#8217;ve been doing it for a while now, and it&#8217;s kinda fun(ny) translating English to Malay. I only armed myself with wiki and <a href="http://prpm.dbp.gov.my/CarianSpesifik/CarianKamus.aspx?ID=Kamus">kamus dewan</a> (go go online dictionary!). One can only wonders how to translate &#8220;Headers and Footers&#8221; or &#8220;Plug and Play&#8221; (thanks Eric for the idea haha!). Sometimes I just settle with sentences that can make sense, it doesn&#8217;t have to be translated literally, or word by word. So far I haven&#8217;t faced any major difficulties yet, only minor setbacks, like I couldn&#8217;t find the translation for some very techie word in malay but that&#8217;s ok. I&#8217;ll leave it to the reviewers muahahaha!<br />
<span id="more-1934"></span><br />
No seriously, the hardest part would be the ones that involves the shorcuts. That&#8217;s tough. Apart from it has to be consistent, it also has to make sense too. I think the best way to do it to list down all available shortcuts in one app, assign all those letters and then translate it. But someone has to be in charge of this.</p>
<p>I noticed that I can download the .POT file. It&#8217;s so much easier to translate using say, <a href="http://www.poedit.net/">Poedit</a>, then using the web based. We&#8217;re using Poedit for MyMeeting translation by the way &#8211; i&#8217;s kicking ass as of now. But I couldn&#8217;t find a way to upload back the translation file to Launchpad. Maybe the settings? I didn&#8217;t have time to investigate further. Web based is fine for me for now.</p>
<p>One thing that I like about Launchpad is it&#8217;s displaying the context of the strings to be translated. Example, if you were to be given &#8220;Page&#8221;, how would you determine whether it&#8217;s &#8220;Laman&#8221; as in the website page or &#8220;Muka Surat&#8221; as in pages from a book? Come to think of it, we can use laman for both but you get the general idea right?</p>
<p>Ok have to break fast for the last day of Ramadhan now. We&#8217;re having the usual rendang and ketupat for tomorrow&#8217;s eid! There&#8217;s also ketupat palas, which anyone of you doesn&#8217;t know of, I&#8217;ll post a pic or two later. I&#8217;m in Penang now, and I expect to have lots of laksa. Yum!</p>
<p>P/S: Btw, Header = Pengepala, Footer = Pengaki. I had my laughs, now it&#8217;s your turn. </p>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2009/09/translation-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some design work I did for some engineer</title>
		<link>http://cawanpink.net/2009/07/some-design-work-i-did-for-some-engineer/</link>
		<comments>http://cawanpink.net/2009/07/some-design-work-i-did-for-some-engineer/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 02:50:28 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[inkscape]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=1877</guid>
		<description><![CDATA[His company needs a sample folder to send out to his clients/distributors. I like it that he sent out an ODT files to me for any references &#8211; felt all warm inside, getting an open document from a non-IT company. He doesn&#8217;t mind I publish the design here. See, he gets it.
It&#8217;s a 3 page [...]]]></description>
			<content:encoded><![CDATA[<p>His company needs a sample folder to send out to his clients/distributors. I like it that he sent out an ODT files to me for any references &#8211; felt all warm inside, getting an open document from a non-IT company. He doesn&#8217;t mind I publish the design here. See, he gets it.</p>
<p>It&#8217;s a 3 page folder, where you open it like a book and then you can open it again to the right. Inside it should have 18 small samples of tiles of various colors. So a complete folder should weigh around 7kg (I can&#8217;t hold it for too long, it&#8217;s like carrying a 7 year old around in one hand <img src='http://cawanpink.net/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). It&#8217;s done purely using <a href="http://www.inkscape.org/">Inkscape</a> (so called Adobe Illustrator equivalent).<br />
<span id="more-1877"></span><br />
<div id="attachment_1881" class="wp-caption aligncenter" style="width: 584px"><a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/07/folder-18.png"><img class="size-large wp-image-1881" title="MSA Worldwide Sdn Bhd sample folder - 18 tiles" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/07/folder-18-1024x409.png" alt="MSA Worldwide Sdn Bhd sample folder - 18 tiles" width="574" height="229" /></a><p class="wp-caption-text">MSA Worldwide Sdn Bhd sample folder - 18 tiles</p></div></p>
<p>His client in Dubai, UAE is happy so hey I&#8217;m going to celebrate it tonight! There&#8217;s one more folder need to be done but smaller size.</p>
<p>I just hope, although it&#8217;s very unlikely, that the printer will accept SVG file instead of AI for a change! Now wouldn&#8217;t that make a world a better place? Freedom of choice. Either that or a very high resolution PNG.</p>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2009/07/some-design-work-i-did-for-some-engineer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Huffman Code</title>
		<link>http://cawanpink.net/2009/06/huffman-code/</link>
		<comments>http://cawanpink.net/2009/06/huffman-code/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 05:06:23 +0000</pubDate>
		<dc:creator>cawanpink</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[postgrad]]></category>

		<guid isPermaLink="false">http://cawanpink.net/?p=1868</guid>
		<description><![CDATA[So this is another little assignment that we had just before final exams. It&#8217;s about Huffman code and its application in file compression. We were supposed to write a program to read a file, determine total bits for that file, then use Huffman code to compress it and calculate the total bits after the compression. [...]]]></description>
			<content:encoded><![CDATA[<p>So this is another little assignment that we had just before final exams. It&#8217;s about <a href="http://en.wikipedia.org/wiki/Huffman_code">Huffman code</a> and its application in file compression. We were supposed to write a program to read a file, determine total bits for that file, then use Huffman code to compress it and calculate the total bits after the compression. The file should only contain alphanumeric characters [A-Za-z0-9], and maybe spaces, new lines and dots and commas.<br />
<span id="more-1868"></span><br />
This script is not the most elegant since I only had 2, 3 days to do it (really it&#8217;s a dump of chunk of codes) but it works so hoorah! Basically what the script does is:</p>
<ol>
<li>Read a file (*.txt) and determine frequency of each characters and total bits.</li>
<li>Build a Huffman tree based on previous frequency table. Each node keeps a character &amp; its frequency, path (eg. 011, 0011, 01110 etc), vertex flag (whether it&#8217;s a left or right child) and visit flag (whether it has been visited or not &#8211; for node searching later). Note though, not every node keeps a character, only leaf nodes do (Huffman tree properties). Sorting algorithm to build priority queue to work with when building the tree is <a href="http://en.wikipedia.org/wiki/Selection_sort">selection sorting algorithm</a>.</li>
<li>Follow every root-to-leaf path to get the bits for each character. This script uses <a href="http://en.wikipedia.org/wiki/Breadth-first_search">breadth-first search algorithm</a> to look for nodes inside the tree.</li>
<li>Write compression information in a new file (compressed one) but this script only write the bits sequence into the file.</li>
</ol>
<p>The file here: <a href='http://cawanpink.net/wordpress/wp-content/uploads/2009/06/huffman1.cpp'>huffman.cpp</a> (C++)</p>
<p>Some screenshots:<br />
<a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/06/huffman_1.png"><img class="aligncenter size-medium wp-image-1870" title="huffman_1" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/06/huffman_1-300x225.png" alt="huffman_1" width="300" height="225" /></a><br />
<a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/06/huffman_2.png"><img class="aligncenter size-medium wp-image-1871" title="huffman_2" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/06/huffman_2-300x225.png" alt="huffman_2" width="300" height="225" /></a><br />
<a href="http://cawanpink.net/wordpress/wp-content/uploads/2009/06/huffman_3.png"><img class="aligncenter size-medium wp-image-1872" title="huffman_3" src="http://cawanpink.net/wordpress/wp-content/uploads/2009/06/huffman_3-300x225.png" alt="huffman_3" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cawanpink.net/2009/06/huffman-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
