<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11795210</id><updated>2011-11-28T08:55:12.780+08:00</updated><category term='barcamp'/><category term='i386'/><category term='decode'/><category term='mosti'/><category term='melacca'/><category term='vm'/><category term='elections'/><category term='webmin'/><category term='amir hafizi'/><category term='mencoder'/><category term='canon'/><category term='upgrade'/><category term='pemandu'/><category term='feva'/><category term='bridging'/><category term='lessig'/><category term='pci'/><category term='rdp'/><category term='aztech'/><category term='printer'/><category term='spam'/><category term='mercy'/><category term='beryl'/><category term='video'/><category term='OOo'/><category term='israel'/><category term='nic'/><category term='restaurant review'/><category term='rant'/><category term='patch'/><category term='chair'/><category term='e61'/><category term='global warming'/><category term='wifi'/><category term='MSOOXML'/><category term='pocoyo'/><category term='car park'/><category term='ffmpeg'/><category term='diff'/><category term='adult pictures'/><category term='themes'/><category term='colbert'/><category term='bsa'/><category term='networking'/><category term='pdf'/><category term='tnef'/><category term='fb'/><category term='lotus notes'/><category term='xorg.conf'/><category term='cc'/><category term='mp3'/><category term='remote desktop'/><category term='ubuntu'/><category term='project'/><category term='geogebra'/><category term='attachments'/><category term='jpj'/><category term='snotr'/><category term='legacy'/><category term='perl'/><category term='censorship'/><category term='3g'/><category term='goof'/><category term='airport'/><category term='clippy'/><category term='gateway'/><category term='cp'/><category term='nokia'/><category term='survey'/><category term='timidity'/><category term='gimp'/><category term='hardy heron'/><category term='x86_64'/><category term='signs'/><category term='inkscape'/><category term='mighty mouse'/><category term='eeePC'/><category term='advertisements'/><category term='ethernet'/><category term='IASA'/><category term='eog'/><category term='wvdial'/><category term='music'/><category term='myoss'/><category term='ssh'/><category term='techsupport'/><category term='vnc'/><category term='realmedia'/><category term='maxis'/><category term='electronics'/><category term='PHP'/><category term='wikipedia'/><category term='tmi'/><category term='nike'/><category term='sql'/><category term='ipod'/><category term='twitter'/><category term='kernel'/><category term='sucks'/><category term='wav'/><category term='swap'/><category term='virus'/><category term='usb modem'/><category term='rukunnegara'/><category term='winxp'/><category term='vpn'/><category term='ati radeon'/><category term='ipv6'/><category term='pictures'/><category term='Xen'/><category term='funny'/><category term='synaptics'/><category term='unoconv'/><category term='eggs'/><category term='palestine'/><category term='firefox'/><category term='mutt'/><category term='mynpl'/><category term='iphone'/><category term='windows 2003'/><category term='sun'/><category term='firmware'/><category term='scp'/><category term='rude'/><category term='review'/><category term='X11'/><category term='OpenGL'/><category term='infidelz'/><category term='politicians'/><category term='virtualbox'/><category term='malaysia'/><category term='ballmer'/><category term='biatch'/><category term='mysql'/><category term='archivemail'/><category term='engrish'/><category term='wang'/><category term='vmware'/><category term='maths'/><category term='security'/><category term='commandments'/><category term='CentOS'/><category term='acronyms'/><category term='filenamedater'/><category term='bash'/><category term='winnt'/><category term='driving license'/><category term='jessica hagy'/><category term='photo'/><category term='microsoft office'/><category term='POP3 setting for GMail'/><category term='openproj'/><category term='ssl'/><category term='remix'/><category term='goo'/><category term='ops tulen'/><category term='scam'/><category term='doofus'/><category term='dspam'/><category term='media'/><category term='rPath'/><category term='handicapped zone'/><category term='divx'/><category term='an inconvenient truth'/><category term='foss.my'/><category term='javascript'/><category term='audacity'/><category term='rmvd'/><category term='issc'/><category term='youtube'/><category term='mknod'/><category term='mossa'/><category term='tmnet'/><category term='ie4linux'/><category term='winmail.dat'/><category term='console'/><category term='webgui'/><category term='e-government'/><category term='poken'/><category term='python'/><category term='kppp'/><category term='compiz'/><category term='rdesktop'/><category term='linux'/><category term='powerpoint'/><category term='fud'/><category term='vi'/><category term='budget'/><category term='openmalaysia'/><category term='tabs'/><category term='internet explorer'/><category term='zune'/><category term='ajax'/><category term='convert'/><category term='random'/><category term='games'/><category term='odf'/><category term='tilda'/><category term='dialup'/><category term='nat'/><category term='outlook'/><category term='bluetooth'/><category term='fat32'/><category term='blogger'/><category term='nolist'/><category term='touch n go'/><category term='drupal'/><category term='indexed'/><category term='religion'/><category term='microsoft'/><category term='fail'/><category term='DUKE'/><category term='traffic'/><category term='paintball'/><title type='text'>yk's stuff</title><subtitle type='html'>A Simple blog.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default?start-index=101&amp;max-results=100'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>210</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11795210.post-1227098233438034484</id><published>2011-02-21T17:49:00.000+08:00</published><updated>2011-02-21T17:49:19.138+08:00</updated><title type='text'>Paintball in 3D!</title><content type='html'>Ooo, Paintball in 3D:&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/71Y8_ksZssI?fs=1" allowfullscreen="" frameborder="0" height="295" width="480"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1227098233438034484?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1227098233438034484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1227098233438034484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1227098233438034484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1227098233438034484'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2011/02/paintball-in-3d.html' title='Paintball in 3D!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/71Y8_ksZssI/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1637031060024036916</id><published>2010-09-30T18:32:00.003+08:00</published><updated>2010-09-30T19:21:48.538+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pemandu'/><title type='text'>My New Job</title><content type='html'>During June/July, I was seconded from my company to work on things completely unrelated to IT. It was a &lt;a href="http://pemandu.gov.my"&gt;Pemandu&lt;/a&gt; (Performance Management and Delivery Unit) lab on Tourism, where a bunch of private sector folk and public sector folk getting together and working together in an unprecedented manner in coming up with impactful projects to boost the Tourism Industry and making sure that "things will get done". The Economic Transformation Programme (ETP) comprises of 12 labs, and Tourism belongs to one of these NKEAs. The acronyms are a burden and unnecessary, but if you get past those EPPs, you get to see some exciting projects.&lt;br /&gt;&lt;br /&gt;The work itself was exciting; I had a blast, not only negotiating with the civil service, but also settling (and starting) battles amongst private sector folk with conflicting interests. It was an interesting experience, and if it ever presents itself in the future, I'd recommend any of you to take it.&lt;br /&gt;&lt;br /&gt;After the two months was up, I had a long break from work, planned early this year. Fortunately it lined up perfectly, and its the first long distance holiday Ive taken since the kiddos.  Had a great time. On the last few days of the holidays though, I received an email from Pemandu requesting me to join their team. They were running extensive advertisements in the media for applicants, but they wanted things to move fast, so they needed people involved where we could join immediately and hit the ground running.&lt;br /&gt;&lt;br /&gt;I thought about this for a long time as it was a very difficult decision. Firstly because of the job which I love and have huge attachment to, secondly, the fact that none of my technical knowledge would be directly applicable to the microcosm of tourism. However the most appealing prospect of course is working with the Pemandu team, of whom I have had several good experiences with. They were all young, having only set up only this year, very dynamic - most are from the private sector, and the public sector secondments were of a high calibre, and their CEO, DS Idris Jala is a pretty bright guy. Also working with the projects and the dedication by both private and public sector folk in coming up with mitigation plans to ensure that the projects will work is reassuring.&lt;br /&gt;&lt;br /&gt;Of course like all the public in Malaysia, I too am sceptical on whether Pemandu can pull off any 'Transformation' in the civil service, but unlike the general public I now have the ability to directly contribute on whether it succeeds or not. Instead of yammering and griping at mamak stalls and twitter, the work I will do will have an immediate effect on economic change for the country.&lt;br /&gt;&lt;br /&gt;How the politicians (BN and PR) react, will be interesting, but irrelevant. Just as long as the private sector are not hampered by little Napoleons, I think its good enough. I just wish that our politicians on both sides will be mature enough to see that this is an &lt;span style="font-weight: bold;"&gt;apolitical&lt;/span&gt; programme, and its for the common benefit for all. The projects are all private sector driven, and will pave way to make businesses operate more cohesively with the public sector in the future.&lt;br /&gt;&lt;br /&gt;So today is my Official last day. Very exciting and very weird at the same time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1637031060024036916?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1637031060024036916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1637031060024036916' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1637031060024036916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1637031060024036916'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2010/09/my-new-job.html' title='My New Job'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-8362284573965628139</id><published>2010-05-06T14:00:00.004+08:00</published><updated>2010-05-06T14:03:34.261+08:00</updated><title type='text'>Empire Avenue</title><content type='html'>Trying out &lt;a href="http://www.empireavenue.com/"&gt;Empire Avenue&lt;/a&gt;, where you are suppose to invest in all things online&lt;br /&gt;&lt;br /&gt;May I interest you in some stock?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.empireavenue.com/influencer/?u=1153"&gt;http://www.empireavenue.com/influencer/?u=1153&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;EAVB_ZKZHMCCUAM&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-8362284573965628139?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/8362284573965628139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=8362284573965628139' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8362284573965628139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8362284573965628139'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2010/05/empire-avenue.html' title='Empire Avenue'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-6939246938505667947</id><published>2010-04-23T17:47:00.008+08:00</published><updated>2010-09-06T12:47:58.643+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gimp'/><category scheme='http://www.blogger.com/atom/ns#' term='tmi'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='politicians'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Posts to other sites.</title><content type='html'>I submitted an &lt;a href="http://www.themalaysianinsider.com/breakingviews/article/Who-is-persecuting-Microsoft-Yong-Yoon-Kit/"&gt;opinion piece&lt;/a&gt; to The Malaysian Insider, in response to a really weird article by Kwek Kon Yao who was pleading to the world to &lt;a href="http://www.themalaysianinsider.com/index.php/opinion/kwek-kon-yao/60325-end-the-persecution-of-microsoft"&gt;stop persecuting Microsoft&lt;/a&gt;. It was easy work, considering the arguments raised by Kon-Yao was rather basic and not thorough. I still have a feeling he force fitted the Microsoft example into a pet theory he was considering.&lt;br /&gt;&lt;br /&gt;Please read "&lt;a href="http://www.themalaysianinsider.com/breakingviews/article/Who-is-persecuting-Microsoft-Yong-Yoon-Kit/"&gt;Who is persecuting Microsoft&lt;/a&gt;". I quoted several Microsoft's executives using emails uncovered during the antitrust trials. Its quite shocking.&lt;br /&gt;&lt;br /&gt;Anyway, I wrote the structure of the response and invited &lt;a href="http://twitter.com/ditesh"&gt;Ditesh&lt;/a&gt; and &lt;a href="http://twitter.com/harisbinali"&gt;Haris&lt;/a&gt; to add any points, correct my facts and polish things up. All done online via Google Docs. I then checked the change history, to see if their changes were good (yes).&lt;br /&gt;&lt;br /&gt;It was then a matter of twittering the editor, &lt;a href="http://twitter.com/jsadiq"&gt;jsadiq&lt;/a&gt; and sending him the link to the doc. Almost immediately, he posted it, and it was online.&lt;br /&gt;&lt;br /&gt;On the same day, there was a really interesting Facebook Group brewing, called "&lt;a href="http://www.facebook.com/group.php?gid=114741428549250"&gt;What would Zaid hold?&lt;/a&gt;" It was a meme inspired by the bad photoshopping skillz by a &lt;a href="http://gerakan-anti-pkr.blogspot.com/2010/04/gambar-zaid-ibrahim-bersama-wisky.html"&gt;pro-BN blogger&lt;/a&gt; on a &lt;a href="http://www.thenutgraph.com/user_uploads/images/2008/10/16/Zaid.jpg"&gt;The Nut Graph picture&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I had to contribute to that, and this was my entry:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.facebook.com/photo.php?pid=5279376&amp;amp;l=994fa46214&amp;amp;id=713117149"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/S9Fu2M1JjmI/AAAAAAAABx0/7EkJqSw2lcE/s400/Zaid.jpg" alt="" id="BLOGGER_PHOTO_ID_5463269700413263458" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Zaid and Kamalanathan, K*I*S*S*I*N*G&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;For the benefit of people not familiar with Malaysian Politics, Kamalanathan denies kissing his superior's hands despite the &lt;a href="http://niamah.blogspot.com/2010/04/manicure-or-money-cures.html"&gt;photo-evidence&lt;/a&gt;. So who's hand we rather see him kiss than Zaid, his opponent, in the upcoming by-election?&lt;br /&gt;&lt;br /&gt;If you are on Facebook, and think this is somewhat humourous, please &lt;a href="http://www.facebook.com/photo.php?pid=5279376&amp;amp;l=994fa46214&amp;amp;id=713117149"&gt;click through and click on the "Like this" linky!&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;Otherwise, enjoy other people's extension of this meme ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-6939246938505667947?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/6939246938505667947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=6939246938505667947' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6939246938505667947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6939246938505667947'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2010/04/posts-to-other-sites.html' title='Posts to other sites.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/S9Fu2M1JjmI/AAAAAAAABx0/7EkJqSw2lcE/s72-c/Zaid.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-4615584622563076694</id><published>2010-03-31T18:17:00.003+08:00</published><updated>2010-09-06T13:05:09.707+08:00</updated><title type='text'>Random Pictures #3</title><content type='html'>Some random pictures from quite a while back.&lt;br /&gt;&lt;br /&gt;I always see this van passing by. Some strange reason, I gets &lt;a href="http://icanhascheezburger.com/"&gt;cheezeburger&lt;/a&gt; cravings:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/S7MldB4LFQI/AAAAAAAABw8/8IGFBnQ4JDQ/s1600/090616-0928-teh-cheetah.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 283px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/S7MldB4LFQI/AAAAAAAABw8/8IGFBnQ4JDQ/s400/090616-0928-teh-cheetah.jpg" alt="" id="BLOGGER_PHOTO_ID_5454744754326279426" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;lolcats grown up&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Quite a while ago, I was at &lt;a href="http://yoonkit.blogspot.com/2009/07/tasik-idaman-paintball-tournament-2009.html"&gt;Tasik Idaman&lt;/a&gt;, and had to pass by this installation. I never knew Malaysia had a &lt;a href="http://www.aelb.gov.my/aelb/engv/text/engindex.asp"&gt;Atomic Licensing Board&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S7Mlc4PxYlI/AAAAAAAABw0/UXsxI9uGAgE/s1600/090705-1208-atom.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 219px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S7Mlc4PxYlI/AAAAAAAABw0/UXsxI9uGAgE/s400/090705-1208-atom.jpg" alt="" id="BLOGGER_PHOTO_ID_5454744751740904018" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Big &lt;a href="http://www.mmail.com.my/content/38629-malaysia-ready-nuclear-energy-says-aelb"&gt;Boomz&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Spotted outside Padang Astaka there was a strange English-Malay transliteration / modern Malay word: '&lt;span style="font-weight: bold;"&gt;SUKSES&lt;/span&gt;'.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S7MlcUK3LrI/AAAAAAAABws/XMSqb-rHgtE/s1600/090725-1326-sukses.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 146px; height: 400px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S7MlcUK3LrI/AAAAAAAABws/XMSqb-rHgtE/s400/090725-1326-sukses.jpg" alt="" id="BLOGGER_PHOTO_ID_5454744742056636082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;'Beraksi' is derived from the English word 'Action' where 'tions' are converted to 'si' like 'Suspension' is 'suspensi'. I thought those words were bad enough, but 'success' as 'sukses'? How lazy is that? Its like 'Racists' is 'rasis'!&lt;br /&gt;&lt;br /&gt;Then we have some pseudo-science. Just lob in some Greek characters, and you'd gain some credibility. Pi water for vibrant health. Shrite.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/S7MlbusAZ-I/AAAAAAAABwk/fJCr9cnXpsI/s1600/090729-1115-hexagon.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 284px; height: 400px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/S7MlbusAZ-I/AAAAAAAABwk/fJCr9cnXpsI/s400/090729-1115-hexagon.jpg" alt="" id="BLOGGER_PHOTO_ID_5454744731995105250" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Pi Water helps you make superior Apple Pi.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.trodat.net"&gt;Troudat&lt;/a&gt; of Austria ('Gday, mate!') should get with the times and have a &lt;span style="font-family: courier new; font-weight: bold; color: rgb(153, 0, 0);"&gt;#FAIL&lt;/span&gt; stamp.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S7MlbUTDwKI/AAAAAAAABwc/BqUA9fxohhc/s1600/090906-1154-fail.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S7MlbUTDwKI/AAAAAAAABwc/BqUA9fxohhc/s400/090906-1154-fail.jpg" alt="" id="BLOGGER_PHOTO_ID_5454744724911145122" border="0" /&gt;&lt;/a&gt;Or otherwise do some localisations for Malaysia; 'File' -&gt; 'Fail' or at least 'Success' -&gt; 'Sukses'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-4615584622563076694?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/4615584622563076694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=4615584622563076694' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4615584622563076694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4615584622563076694'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2010/03/random-pictures-3.html' title='Random Pictures #3'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/S7MldB4LFQI/AAAAAAAABw8/8IGFBnQ4JDQ/s72-c/090616-0928-teh-cheetah.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-9169215966634698416</id><published>2010-03-30T17:24:00.004+08:00</published><updated>2010-03-30T17:47:06.819+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='winxp'/><category scheme='http://www.blogger.com/atom/ns#' term='virus'/><category scheme='http://www.blogger.com/atom/ns#' term='techsupport'/><title type='text'>Browser payloads</title><content type='html'>I was innocently (honest!) browsing the vastness of the internet, when I came across an interesting page.&lt;br /&gt;&lt;br /&gt;It displayed Windows XP like alerts, &lt;span style="font-weight: bold;"&gt;"Windows Security Alert"&lt;/span&gt; in all the colourful WinXP  crayola themed glory and then proceeded to pop up another realistically rendered "window" which simulated a scan throughout my vulnerable Windows system. Yes, the windows were drag-able.&lt;br /&gt;&lt;br /&gt;It looked something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S7HDc_mn4NI/AAAAAAAABwM/iPH-3WqzNRw/s1600/100322-Virus.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 225px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S7HDc_mn4NI/AAAAAAAABwM/iPH-3WqzNRw/s400/100322-Virus.png" alt="" id="BLOGGER_PHOTO_ID_5454355526599565522" border="0" /&gt;&lt;/a&gt;Then my Firefox browser popped up a dialog to confirm if I wanted to download and run a delicious "&lt;span style="font-family: courier new;"&gt;packupdate_build6_318.exe&lt;/span&gt;" file to patch up my now severely insecure operating system:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/S7HDdKzlR0I/AAAAAAAABwU/qhzZZK2uVQA/s1600/100322-VirusPayload.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/S7HDdKzlR0I/AAAAAAAABwU/qhzZZK2uVQA/s400/100322-VirusPayload.png" alt="" id="BLOGGER_PHOTO_ID_5454355529606711106" border="0" /&gt;&lt;/a&gt;Fortunately Im abit more technologically aware of these scams. Fortunately I know that when Windows alerts you of something, you have to be doubly aware of things.&lt;br /&gt;&lt;br /&gt;But what about the rest of the world? The vast majority of people who would be fooled by this cleverly rendered HTML/CSS/JavaScripted page? At the threat of &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;"Security has been damaged by virus&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[sic]&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;"&lt;/span&gt;, a large number of people will want to eradicate the pesky virii. Thus, a high percentage who would click on "Run Application" after downloading.&lt;br /&gt;&lt;br /&gt;So if you are the so-called "Tech Support" for your family/relatives/friends (its a thankless job), you could save yourself alot of headache by educating your "users" about these threats. Change the default theme to something different. Install a net-nanny. Install a real Anti-Virus app (or two) which is updated frequently. Lock down the users' permissions. Boot read-only. Charge by the minute. Ban the user from computers.&lt;br /&gt;&lt;br /&gt;Alternatively, you could get them to run Linux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-9169215966634698416?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/9169215966634698416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=9169215966634698416' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9169215966634698416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9169215966634698416'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2010/03/browser-payloads.html' title='Browser payloads'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/S7HDc_mn4NI/AAAAAAAABwM/iPH-3WqzNRw/s72-c/100322-Virus.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2287491232173333611</id><published>2010-02-05T18:21:00.018+08:00</published><updated>2010-03-31T12:18:56.698+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mynpl'/><category scheme='http://www.blogger.com/atom/ns#' term='feva'/><category scheme='http://www.blogger.com/atom/ns#' term='paintball'/><title type='text'>MyNPL 2010 - Round 1 - PJ Astaka</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/S2vxmhr8f9I/AAAAAAAABqE/3yzWCrrA8Ys/s1600-h/01-Astaka.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/S2vxmhr8f9I/AAAAAAAABqE/3yzWCrrA8Ys/s400/01-Astaka.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703019532648402" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Jalan Astaka - Photo Credit - Doug Chung&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Another year, a new season of Paintball action. Paintball in Malaysia is really picking up, last year there were two full leagues, this year it has expanded to 4: &lt;a href="http://my-npl.org/"&gt;MyNPL&lt;/a&gt;, &lt;a href="http://www.xtionpaintball.com/forum/index.php#17"&gt;MPOC&lt;/a&gt;, &lt;a href="http://www.werdnahol.com/forum/index.php/board,181.0.html"&gt;CPCL&lt;/a&gt; and for East Malaysia, &lt;a href="http://swordie.swordbomber.com/archives/1706"&gt;Sabah Paintball League&lt;/a&gt;. It certainly gives us players alot more choice in which weekends to play, but doesnt bode well for our budgets!&lt;br /&gt;&lt;br /&gt;Team Feva Division decided to play the first leg of MyNPL in Division 4 (the entry level division) because we only played 1 leg last year. Together with the original team of Verat, Gilbert, Doc Henry, Kevin and myself, we have guesting with us is Miguel a new player and Cikgu from Infidelz.&lt;br /&gt;&lt;br /&gt;During the Captains meeting on Friday night, which I attended with Captain Gilbert, all the teams needed to draw lots, to pick out the order of play. Interestingly enough Feva was picked as team 'D1' which would be the first team to play on game day.&lt;br /&gt;&lt;br /&gt;I didnt have much sleep the night before, which was OK, cos we had to meet early at 6:30am, to setup our tables at the players paddock. Did our last minute strategizing and warming up and couldn't wait to start our first match.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/S2_tXFrSc1I/AAAAAAAABtU/SJXV0QHZdLE/s1600-h/2010_MY-NPL_Event_01_-_MAPAACPJ_Lay.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 324px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/S2_tXFrSc1I/AAAAAAAABtU/SJXV0QHZdLE/s400/2010_MY-NPL_Event_01_-_MAPAACPJ_Lay.jpg" alt="" id="BLOGGER_PHOTO_ID_5435824256175993682" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;All 3 Fields for all Divisions had the same layout&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;Match #1 - MK&amp;amp;Co&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;We started well against a new team 'MK&amp;amp;Co'. I dove right into Snake 1, there was no mirror (another person in their Snake 1), but there was someone in the Back Right (BR) Temple covering the Snake side. Luckily I had Dr Henry to back me up to force BR in. So I moved up to S2, and shot out a guy across in their Carwash.&lt;br /&gt;&lt;br /&gt;I then looked down the tape, and the BR dude was still there. Tried to snap with him, but he hit a pellet on my arm. I asked for a paintcheck, and the marshal said "Play On!" - it was a bounce, as the pellet did not burst on impact.&lt;br /&gt;&lt;br /&gt;By this time, there was not much sound on the field except from BR. So I peeked out, and confirmed that BR was the only one left. Cikgu who was guesting for us from Team Infidelz was moving up the Doritos on the left. Verat was moving up the center. Henry was still behind me. I burst up from S2, moved towards BR, and had to weave in because I saw the guy look at me down the tape. Doc fired, so he went back in. But as I wrapped around the BR to the right to take him out, I got shot by friendly fire on my right shoulder. Fortunately Cikgu and others cleaned him out.&lt;br /&gt;&lt;br /&gt;So Feva won with 98 points, with only me as a casualty.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match #2 - Outrecs 360&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;We were feeling confident, and decided to play the same game for the next opponent: Team Outrecs360 from Multimedia University Melaka. Unfortunately as I dove into the snake, I saw that their snake player and Back Right was quite exposed, so I slowed down to try to take them out. Unfortunately someone else saw me and marked me out.&lt;br /&gt;&lt;br /&gt;Kevin who was playing my Snake Back was also taken out relatively quickly after that, which meant our right flank was completely exposed to their Snake player to exploit. Gilbert who was playing Back Left was taken out next by the snake guy who had moved up to S3. Miguel playing Center Back, and also a first time tournament player, spotted their snake move up to our Snake dorito, and managed to snap him out. Kudos!&lt;br /&gt;&lt;br /&gt;However he felt a hit on his right forearm, and asked for a paintcheck. The Marshal came over while Miguel waited, and the marshal said "You're OUT!" and surprisingly called a 1 for 1, meaning calling a penalty for playing on. This was strange because Miguel actually stopped his play when he asked for the paintcheck. So the ref went ahead and pulled Cikgu out from the carwash, and the Outrecs captured our flag.&lt;br /&gt;&lt;br /&gt;Ah well, smeg happens. At least we got 3 of them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match #3 Fai Long Unitar&lt;/span&gt; - Snake Left&lt;br /&gt;&lt;br /&gt;The next match was against Fai Long Unitar. I dove into the snake (on the left hand side), bumped up immediately to snake 2 and looked inside. Saw an enemy in the left brick and shot him out. Then looked down the tape on the left side, and managed to shoot out their Left Back on the hopper.&lt;br /&gt;&lt;br /&gt;I didn't detect a snake player, reloaded, and I decided to move up. Just when I leant forward to pass the knucle, I got shot on my mask. I did not realise it then but there was a player on their Tower by the snake, who then moved to the snake dorito.&lt;br /&gt;&lt;br /&gt;Kevin moved up from his carwash onto D4, to take her out.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match #4 Xtreme Estrogen&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;We were sharing the players tent with an all girls team from Singapore called Xtreme Estrogen. Very happy and positive, the girls were relatively new in tournaments with two of their team members having joined less than a week ago.&lt;br /&gt;&lt;br /&gt;We had a long wait of about an hour before we were up against the Estrogens. I delayed my entry to the snake and opted for the Dorito instead, but that was a mistake. I could see the Center Back, and tried to mark her out. But while I was concentrating on that, their Back Right lobbed a few to mark me out.&lt;br /&gt;&lt;br /&gt;Doc had a great game battling his mirror at the Right Back. This allowed Cikgu to mark her from the carwash. However it was almost immediately filled by their Center Back, and Doc had to do battle with her too.&lt;br /&gt;&lt;br /&gt;Cikgu then marked out the Left Back and their D3 player. After a while Doc got their Right Back out. He also managed to hit their Snake 1, and with the snake tape clear, moved down the tape to take out their Dorito 2 player.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match #5 KKTM PJ Wild Hunters&lt;/span&gt; - Snake Left&lt;br /&gt;&lt;br /&gt;In Field 2, we were up against the Wild Hunters. I dove straight into S1 and didn't have any resistance along the snake tape, so moved to S2. From there I had a really nice view, and shot out their Dorito player almost immediately.&lt;br /&gt;&lt;br /&gt;Surprisingly another player did a funky slide into the Carwash, right in my line of fire. He got into cover OK, but he must have dropped his marker. As he was reaching out to collect it, I sprayed a few pellets, and it hit his hand. Ouch, that must have hurt.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vxnTA_MvI/AAAAAAAABqU/C81Tlo2mHIo/s1600-h/05-Wildhunters-yk.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 236px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vxnTA_MvI/AAAAAAAABqU/C81Tlo2mHIo/s400/05-Wildhunters-yk.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703032774243058" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Doug managed to catch me in action! Thats me peeking out of the snake S2&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I moved up to S3, and took out their Right Back player. As I exited the snake, there was no one else, and we captured their flag.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vxnoYFRuI/AAAAAAAABqc/pOwBMkFWCt4/s1600-h/05-Wildhunters-yk-kev.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 294px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vxnoYFRuI/AAAAAAAABqc/pOwBMkFWCt4/s400/05-Wildhunters-yk-kev.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703038508254946" border="0" /&gt;&lt;/a&gt;Fortunately for us, Doug Chung dropped by and took some pictures of us.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match #6 Kito Unitar&lt;/span&gt; - Snake Left&lt;br /&gt;&lt;br /&gt;Against Kito, I took a break while Gilbert took over the snake duties. He delayed his dive into the snake, opting to post up on their snake player in the Tower. This was him looking on:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vxn9hJ8eI/AAAAAAAABqk/LxY6pC5nGkE/s1600-h/06-Kito-Gil01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vxn9hJ8eI/AAAAAAAABqk/LxY6pC5nGkE/s400/06-Kito-Gil01.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703044183454178" border="0" /&gt;&lt;/a&gt;Which paid off, because their Snake at S1 was looking in at the S1 knuckle which made it really easy for Gilbert to shower him with alot of pellets in the gap between the Cake and the horizontal bar. So with their S1 out, Gilbert moved into the snake.&lt;br /&gt;&lt;br /&gt;Miguel managed to mark out their D2 player, while Cikgu moved all the way to D3 to take out the Left Brick. Doc ran out from his back position and cleaned up Back Right:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vyAgmyl0I/AAAAAAAABqs/W2gkdcSBGL4/s1600-h/06-Kito-Hen02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 349px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vyAgmyl0I/AAAAAAAABqs/W2gkdcSBGL4/s400/06-Kito-Hen02.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703465919190850" border="0" /&gt;&lt;/a&gt;The great thing about this match was that Kito until that match was undefeated. Unfortunately we initiated a losing streak for them all the way till Sunday morning after this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match #7 Gladiators&lt;/span&gt; - Snake Left&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/S2vyA1e_lOI/AAAAAAAABq0/5GzUnnynyqI/s1600-h/07-Gladiators-01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 214px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/S2vyA1e_lOI/AAAAAAAABq0/5GzUnnynyqI/s400/07-Gladiators-01.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703471523632354" border="0" /&gt;&lt;/a&gt;In Field 3, we were up against the Gladiators who up to that time was doing well. I dove into S1 and moved up immediately to S2. I assumed there was a player in S1, but noticed that their Left Back was in furious battle with Doc behind me. So furious he didnt notice me pop to the left and fire a few pellets which hit his loader.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vyBYG-g9I/AAAAAAAABrE/DoAYSJ2Zioc/s1600-h/07-Gladiators-05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 285px; height: 400px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vyBYG-g9I/AAAAAAAABrE/DoAYSJ2Zioc/s400/07-Gladiators-05.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703480818140114" border="0" /&gt;&lt;/a&gt;I then quietly snuck up S3, and tried to snap out the player at their S1. But nobody was there, and when I looked up, Cikgu already grabbed the flag and was on the way back. How strange.&lt;br /&gt;&lt;br /&gt;This pic was taken just before Cikgu ran down to cleanup and capture the flag:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vyBOnB8LI/AAAAAAAABq8/1Mv99aq3wd8/s1600-h/07-Gladiators-02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 362px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vyBOnB8LI/AAAAAAAABq8/1Mv99aq3wd8/s400/07-Gladiators-02.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703478268227762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vyBpUP4AI/AAAAAAAABrM/xX9lKRrFVLs/s1600-h/07-Gladiators-04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vyBpUP4AI/AAAAAAAABrM/xX9lKRrFVLs/s400/07-Gladiators-04.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703485437206530" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Kevo shooting down the lanes&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match #8 - KKTM PJ Rlid 3 &lt;/span&gt;- Snake Right&lt;br /&gt;&lt;br /&gt;For the last game of the day, we were up against another KKTM PJ team, 'Rlid 3'. Doug has an excellent sequence of our breakout. Quite proud of it, cos it shows all of us advancing with guns up.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vyak419LI/AAAAAAAABrk/KYfQRVctpwk/s1600-h/08-Rlid3-01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vyak419LI/AAAAAAAABrk/KYfQRVctpwk/s400/08-Rlid3-01.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703913745249458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vyaShzBzI/AAAAAAAABrc/ZcDeszMdkbY/s1600-h/08-Rlid3-02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vyaShzBzI/AAAAAAAABrc/ZcDeszMdkbY/s400/08-Rlid3-02.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703908816750386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vyaJFZxzI/AAAAAAAABrU/5shDUi4qo2M/s1600-h/08-Rlid3-03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 266px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vyaJFZxzI/AAAAAAAABrU/5shDUi4qo2M/s400/08-Rlid3-03.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703906281735986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I went straight for the snake, but was pinned down by their Snake Dorito player. fortunately someone got him out, so I could advance without any resistance. I looked inside at S3, and saw someone in the center brick. Was firing a few pellets at him when another person decided to run towards the middle center bunkers. Unfortunately for him it was right in my line of fire, so he was taken out. Went back to the center bunker, and took him out too.&lt;br /&gt;&lt;br /&gt;I saw another person move up and hid into D2, but at my angle, I couldn't get him. So I crawled to the middle of the last segment of the snake, popped up and fired 4 pellets at their D2 player who was then called out.&lt;br /&gt;&lt;br /&gt;Snuck out the end of the snake, and found that there was no one else left, so I collected the flag and brought it home:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vya9utcAI/AAAAAAAABrs/_upeJKbEkOk/s1600-h/08-Rlid3-07-YK.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 339px; height: 400px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vya9utcAI/AAAAAAAABrs/_upeJKbEkOk/s400/08-Rlid3-07-YK.jpg" alt="" id="BLOGGER_PHOTO_ID_5434703920413634562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;By 1:30pm, it was the end of Day #1. We dropped a game, but fortunately so did all the other teams. So for the first time, Feva Division was seeded #1 for the knockout stage on Sunday!&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;#1: Feva Division: 698 points.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#2: UiTM Shah Alam:  690 points.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#3: Outrecs 360: 680 points &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;- they were the ones who beat us at game #3.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;       etc ...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzEDutfhI/AAAAAAAABsE/4KtX30y24fk/s1600-h/Feva-Day1-Results.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzEDutfhI/AAAAAAAABsE/4KtX30y24fk/s400/Feva-Day1-Results.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704626398887442" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;The standings after Day #1&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Day 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Day 2 began with us meeting up at 6:30am again in Astaka, sorting out our gear and getting things ready. We were again playing in the first game of the day as the 1st team from the prelims would be playing the 16th.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sweet 16 - Fai Long Unitar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So up against us was Fai Long Unitar which we played in our 3rd match yesterday.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sweet 16 - Game 1 - Fai Long&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;I delayed my dive into the snake, to shoot out the tall dude who managed to make it into the small Snake Dorito. His loader was exposed, and it was really easy to pick it out. Someone else managed to mark my mirror at tall can. So I dove into snake and went all the way to S3. It was really tiring - to crawl the entire length of the snake.&lt;br /&gt;&lt;br /&gt;When I emerged from S3, I then proceeded to shoot out their guy at Dorito 1. I wrapped further around the and saw and marked out their Centre brick. I then continued crawling and at the end of the snake, I saw someone at their Back Dorito and also took him out.&lt;br /&gt;&lt;br /&gt;It was most satisfying, especially after that arduous crawl.&lt;br /&gt;&lt;br /&gt;It was also tiring, so I took a rest for next game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sweet 16 - Fai Long - Game 2&lt;/span&gt; - Snake Left&lt;br /&gt;&lt;br /&gt;While I sat out in this game, I could see a relatively conservative breakout from our side. Kev managed to lob their tall and aggressive Snake 1 player from the carwash early on. We held our ground for quite a long while. Kev then did an amazing run towards the tall middle spike. We thought he would stay there, but he kept going heading to a large empty space in the middle. He was shot out Tropic Thunder style.&lt;br /&gt;&lt;br /&gt;Doc then went into Snake 1 and moved up taking out the Back Right across field. One of them was moving up to the Dorito2 the same time Cikgu made his run past the carwash. Doc hit the Dorito 2 player, but I saw them pulling out Cikgu as well! It was strange but it was only apparent after the game when we found out that it was Miguels' pellet which bounced off a bunker to hit Cikgu.&lt;br /&gt;&lt;br /&gt;So we won two games for the best of three knockout round, which meant we proceed to the next stage, the Quarter Finals!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quarter Finals - Mospeada&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mospeada was a team we hadn't played in the preliminary rounds. They were solid, and certainly gave us a huge fright.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quarter Finals - Mospeada - Game 1&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;The first game, I dove straight into the snake, and moved up immediately to S2. I couldnt see anything in the field, but heard activity down the snake tape on my right. There was a guy in their Snake 1 who was battling with Doc. So I waited in position, and timed my rhythm, and when I felt it was right, I popped out, shot two pellets and went back in. I managed to hit the snake player who was concentrating on a target further behind and therefore the stream was higher than me.&lt;br /&gt;&lt;br /&gt;So with the Snake player eliminated, I could move up to S3 to take out the center brick. I could hear pellets hitting my bunker and when I peaked out, I saw someone in the tower posting up on me. So I called for help, and luckily Cikgu was close by in the carwash and able to hear me. I told him that there was a player in the tower, and he put some pressure on him. I then snapped out of the cake, and hit the player out.&lt;br /&gt;&lt;br /&gt;I then peeked around the corner, and was harrassed by their Left Back. I told Cikgu the location, and he went hunting and marked their LB out. So it was quite a successful game communication wise.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quarter Finals - Mospeada - Game 2&lt;/span&gt; - Snake Left&lt;br /&gt;&lt;br /&gt;I didnt make it to the snake this time, but played in the small dorito just behind the snake. Their Back Left, Snake Can and Back Right were showering me with pellets, so I couldnt move. Unfortunately I exposed too much of my left side and their LB lobbed one over and hit me out.&lt;br /&gt;&lt;br /&gt;I don't quite recall what happened after, but I do know that Cikgu and I were shot out relatively early on. Our team held strong, and it was a draw at the end. So we had to play one more game for this best of 3 stage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quarter Finals - Mospeada - Game 3&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;I dont recall what happened in this game, but we lost the game. So with the status at &lt;span style="font-weight: bold;"&gt;Win - Draw - Loss&lt;/span&gt;, its a tie breaker of 1 versus 1 with 2 minutes each round, till a single winner emerges.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quarter Finals - Mospeada vs Doc Henry&lt;/span&gt; - Round &lt;span style="font-weight: bold;"&gt;#1&lt;/span&gt; 1 vs 1&lt;br /&gt;&lt;br /&gt;Doc started conservatively, staying at the center back, and moving up through the cans and ending at snake Maya. The Mospeada player was also very defensive, which meant that the game ended in a draw after 2 minutes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzE0vmW3I/AAAAAAAABsU/fAq8WX8NrE4/s1600-h/QF04-1v1-Henry_2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 268px; height: 400px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzE0vmW3I/AAAAAAAABsU/fAq8WX8NrE4/s400/QF04-1v1-Henry_2.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704639555951474" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Quarter Finals - Mospeada vs Capt Gilbert &lt;/span&gt;- Round &lt;span style="font-weight: bold;"&gt;#2&lt;/span&gt; 1 vs 1&lt;br /&gt;&lt;br /&gt;Gilbert moved up quickly, and the Mospeada player was very aggressive, taking alot of risks between bunkers. Gilbert probably had alot more chances but any movement was risky, and the game also ended as a draw at the end of 2 minutes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vzFHhACsI/AAAAAAAABsc/VzZxy6-ujJo/s1600-h/QF05-1v1-DMDoc.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 268px; height: 400px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vzFHhACsI/AAAAAAAABsc/VzZxy6-ujJo/s400/QF05-1v1-DMDoc.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704644594993858" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Quarter Finals - Mospeada vs Verat &lt;/span&gt;- Round &lt;span style="font-weight: bold;"&gt;#3&lt;/span&gt; 1 vs 1&lt;br /&gt;&lt;br /&gt;Verat was up next, and moved relatively quietly to the center can. He then saw the Mospeada guy move up from their Back Dorito and then Verat unleashed his Rain of Terror. He just let it pour down on the poor guy, with a period of rapid firing, and the Marshalls called "Out!" which meant we were through to the next round!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vzXhmK5JI/AAAAAAAABsk/uKIXgMwx_Ck/s1600-h/QF06-1v1-ConquestTeam.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 268px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vzXhmK5JI/AAAAAAAABsk/uKIXgMwx_Ck/s400/QF06-1v1-ConquestTeam.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704960833643666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vzX6iJyhI/AAAAAAAABss/A3JXPmI3NBc/s1600-h/QF07-1v1-TeamJoy_2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 268px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/S2vzX6iJyhI/AAAAAAAABss/A3JXPmI3NBc/s400/QF07-1v1-TeamJoy_2.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704967527680530" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Thanks to Nat's camera from Team Xtreme Estrogen to capture this moment of pure &lt;span style="font-weight: bold;"&gt;bro&lt;/span&gt;mance&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Semi Finals - CMX Badai &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The top 4 teams have been identified; #8 CMX Badai, #7 Gladiators, #6 Ethos  and #1 Feva. We were up against CMX Badai.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Semi Finals - CMX Badai&lt;/span&gt; - Game 1 - Snake Right&lt;br /&gt;&lt;br /&gt;I dove into the snake, bumped up easily to S2, and managed to mark out their Center Back. I tried to replicate what I did in Fai Long's first game, but as I moved up to the final bar of the snake, their Snake Can spotted me and shot me out. Silly me, I didnt check.&lt;br /&gt;&lt;br /&gt;Fortunately Doc battled with the Snake Can and marked him out, and controlled the game from the snake side. We won the first round.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Semi Finals - CMX Badai&lt;/span&gt; - Game 2 -  Snake Left&lt;br /&gt;&lt;br /&gt;The problem of getting shot out is that the refs marshal you out, and make sure that you go straight to the dead box. So I couldnt see what was happening after I got shot out relatively early on in S1. I dont know what happened in this game, but we lost.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Semi Finals - CMX Badai&lt;/span&gt; - Game 3 - Snake Right&lt;br /&gt;&lt;br /&gt;In this game, I planned to stop by the Snake Can to easily take out their snake player as he dove in. However my shoes lost traction, and I went tumbling past the can. I scrambled / crawled back in, but a pellet hit my marker grip so I was called out.&lt;br /&gt;&lt;br /&gt;Gilbert in the carwash did a great job in showering their Snake 2 player eventually getting him out. Verat and Doc then formed a squad to run down the snake tape, to clear up the remaning players. There was at least one at D50.&lt;br /&gt;&lt;br /&gt;So we &lt;span style="font-weight: bold;"&gt;Won - Lost - Won&lt;/span&gt;, which meant we are in the Finals to decide on 1st and 2nd placement! W00t! [12:22pm]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Finals - Gladiators&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On exiting the field for the last Semi Finals, we were told that the finals will be played in 10 minutes! Argh. Our over aged bodies were screaming, considering we played multiple 3 games in each stage. Our opponents were the Gladiators which we beat easily during the prelims.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Finals - Gladiators - Game 1&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;I was shot out early diving into the snake. After a while, Doc did a run down the snake but their S2 took him out, and he bundled out, and hurt his 'Tailors Muscle' along his thigh - it cramped up after getting shot.&lt;br /&gt;&lt;br /&gt;Eventually, it was only Verat who was deep in their territory, and one of their players in ours. Their player captured our flag, and thought that he was the only one left on the field, so he lowered his marker and started to sprint towards his home. Verat noticed him, and easily shot him out. Verat then went to retrieve our flag (which was not necessary) but before he could work out what to do, the time was up.&lt;br /&gt;&lt;br /&gt;In his own words:&lt;br /&gt;&lt;blockquote&gt;"i &lt;span style="font-style: italic;"&gt;terforgot&lt;/span&gt; ma, split second decision anyway, if i take flag i may loose the fellow, so my mind made up for the stalking &amp;amp; kill. actually im glad time out coz i took the wrong flag n i was totally blurred.. like not enuf oksigen in brain.. black out. even the ref in front of me was puzzled with wrong flag at hand. not sure so i just dont move lor. phewww... even the US pros made mistakes like these"&lt;/blockquote&gt;So the first game was a Draw.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Finals - Gladiators - Game 2 &lt;/span&gt;- Snake Left&lt;br /&gt;&lt;br /&gt;I meant to stop at the Snake Can and post up there, but for some strange reason, as I was running and gunning, trying to hit the center back, I found myself in the Snake Dorito. Looking across the field, I could see their Back Right shooting right back at me. Their Left Back was also peeking above the Temple in the Left Back and lobbing some shots at me.&lt;br /&gt;&lt;br /&gt;I engaged their RB for quite a while, using up a pod. Then I saw the LB getting more aggressive. I also noticed that there was no sound from my Back Left, who was Gilbert. He got shot out early too. So I switched hands and tried engaging with LB.&lt;br /&gt;&lt;br /&gt;Then I heard a slide behind me and was so relieved when Verat filled in the Back Left to back me up. This gave me a whole lot of confidence and fired more shots at LB. Unfortunately he got the better chance, and gave me a headshot. :(&lt;br /&gt;&lt;br /&gt;Verat at LB, Cikgu at Doritos and Kev at carwash was holding up but their Snake player kept pushing.&lt;br /&gt;&lt;br /&gt;Verat recalled:&lt;br /&gt;&lt;blockquote&gt;"remembered today, when Gilbert was out, he shouted "I'M OUT!!" which gave me a good head start to cover his position from my center back before 2 opponents started attacking from that flank. held my ground as long as possible. but got pulled out by Ref due to an &lt;span style="font-style: italic;"&gt;interesting&lt;/span&gt; circumstance."&lt;/blockquote&gt;The interesting circumstance was a spectator outside the field, said something which affected play, causing the Marshal to call Verat out. With our LB gone, the defence broke and we lost the second game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Finals - Gladiators - Game 3&lt;/span&gt; - Snake Right&lt;br /&gt;&lt;br /&gt;Karu, who was competing in D3 pleaded to me to go straight into the snake this time. So as promised, I dove into S1. I looked behind, and saw that Doc (recovered enough) had the tape under control, and I heard him say "Go go!" So I went to S2.&lt;br /&gt;&lt;br /&gt;In Snake 2, I surveyed the scene. It was strangely devoid of any enemy positions. Then I saw a guy at D1, but he was hiding well. So I tried lobbing him. In the meantime, the sound of pellets hitting my bunker became louder and louder, but I tuned that out. I just concentrated on hitting the only person I could see at D1. Unfortunately in doing so, I extended the barrel too much, and one of the 4 remaining guns on me marked my barrel. So the Marshal came over and pulled me out.&lt;br /&gt;&lt;br /&gt;While I was with Doc in the deadbox, Gilbert was in the Doritos, Miguel at the Carwash and Verat Center Back holding strong. We needed a win, but when I saw Gilbert being called out my hopes dwindled as we had no runner left to finish this game off.&lt;br /&gt;&lt;br /&gt;So we lost the game, and therefore, like ISSC which we played a few months ago, Feva could only muster up &lt;a href="http://yoonkit.blogspot.com/2009/05/mynpl-issc-2009-feva-division-as-1st.html"&gt;1st Runner up for Division 4&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vzEV5ecqI/AAAAAAAABsM/__TJlqrSulQ/s1600-h/Feva-Day2-Results.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 275px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/S2vzEV5ecqI/AAAAAAAABsM/__TJlqrSulQ/s400/Feva-Day2-Results.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704631275877026" border="0" /&gt;&lt;/a&gt;At 1:31pm, I twitted:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;I am &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;pooped&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;. #mynpl&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;And we were. We had to play almost the maximum of 11 games, plus the 3x 1vs1 games. We could have won, but we did not have the remaining endurance to finish off the finals.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzD8i-EII/AAAAAAAABr8/3KV-WxGiOKg/s1600-h/Div4-Winners.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzD8i-EII/AAAAAAAABr8/3KV-WxGiOKg/s400/Div4-Winners.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704624470593666" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;All the winners for MyNPL Division 4 - Round 1&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzYIoBNRI/AAAAAAAABs0/ObtmfE4otLI/s1600-h/Team-Feva-Division.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/S2vzYIoBNRI/AAAAAAAABs0/ObtmfE4otLI/s400/Team-Feva-Division.jpg" alt="" id="BLOGGER_PHOTO_ID_5434704971310380306" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Feva Division and guests: standing - yk, Miguel, Doc Henry, Kevin - sitting - Verat, Gilbert, Cikgu&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Overall it was an awesome experience yet again, and we look forward to Melaka in a few weeks!&lt;br /&gt;&lt;br /&gt;yk&lt;br /&gt;&lt;br /&gt;[I forgot that I had this post in Draft for a month now. Sorry for the delay!]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2287491232173333611?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2287491232173333611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2287491232173333611' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2287491232173333611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2287491232173333611'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2010/02/mynpl-2010-round-1-pj-astaka.html' title='MyNPL 2010 - Round 1 - PJ Astaka'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/S2vxmhr8f9I/AAAAAAAABqE/3yzWCrrA8Ys/s72-c/01-Astaka.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5221529993504313062</id><published>2009-10-08T16:49:00.006+08:00</published><updated>2009-10-08T18:21:23.163+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foss.my'/><category scheme='http://www.blogger.com/atom/ns#' term='media'/><title type='text'>foss.my 2009 - Press Conference</title><content type='html'>&lt;a href="http://yoonkit.blogspot.com/2008/11/fantastic-first-day-at-fossmy.html"&gt;Last year&lt;/a&gt; a bunch of us organised the Free and Open Source Software Conference (&lt;a href="http://foss.my"&gt;foss.my&lt;/a&gt;) 2008 within a very short period, and it almost killed us. This year we had a bit more time, but as per normal, we procrastinated and left it till very late before things started happening.&lt;br /&gt;&lt;br /&gt;Thanks to Ditesh who pulled everything together the past few weeks, we managed to sort out all the prelim issues which we missed last year. One of the main items was a Press Conference; an activity which completely baffles us techies, but certain corporate types seem to like as it  seems to bring in the publicity.&lt;br /&gt;&lt;br /&gt;With APIIT (or now they prefer to be known as UCTI since being promoted to a University) as our venue sponsor again, they have been amazing in sorting out the issues with regards to logistics. (Go &lt;a href="http://twitter.com/rebelk0de"&gt;Gurdip&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;So the Press Release was written up and available &lt;a href="http://docs.google.com/View?id=dfss27kg_4dh7h32db"&gt;online here&lt;/a&gt;, basically outlines why we are so excited about this year's lineup of speakers;&lt;br /&gt;&lt;br /&gt;We are showcasing our local dudes, namely John Lim, the reclusive hacker of the very popular database abstraction layer for PHP, &lt;span style="font-weight: bold;"&gt;ADOdb&lt;/span&gt;. He will be the opening keynote on the first day. Yusseri Yusoff, the big guy behind the first phase of the MAMPU initiative on public sector open source way back in the day will be giving the closing keynote on Sunday. Like his articles online in &lt;a href="http://www.openmalaysiablog.com/z_posts_by_yusseri/"&gt;OpenMalaysiaBlog&lt;/a&gt; and &lt;a href="http://www.themalaysianinsider.com/index.php/opinion/yusseri-yusoff"&gt;TheMalaysianInsider&lt;/a&gt;, do expect a twisted tale.&lt;br /&gt;&lt;br /&gt;Of course have in the Malaysian lineup, &lt;a href="http://foss.my/2009/schedule/redhuan-d-oon/"&gt;Reduan Oon&lt;/a&gt;, &lt;a aiotitle="Nur Hussein" href="http://foss.my/2009/schedule/nur-hussein/"&gt;Nur Hussein&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/mohanaraj-gopala-krishnan/"&gt;Mohan&lt;/a&gt; , &lt;a aiotitle="Alvin Jude" href="http://foss.my/2009/schedule/alvin/"&gt;Alvin Jude&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/khairil-yusof/"&gt;Khairil Yusof&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/muhamad-abdul-hay-bin-sulaiman/"&gt;Muhd Abd Hay&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/yaser-khalid/"&gt;Yaser Khalid&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/yuen-chi-lian/"&gt;Yuen-Chi Lian&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/julian-khoo/"&gt;Julian Khoo&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/muhammad-najmi-bin-ahmad-zabidi/"&gt;Muhd Najmi&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/suresh-ramasamy/"&gt;Suresh Ramasamy&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/uwe-dippel/"&gt;Uwe Dippel&lt;/a&gt; and &lt;a href="http://foss.my/2009/schedule/errazudin-ishak/"&gt;Errazudin Ishak&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The economic crisis has made this year's effort in raising sponsorship and also persuading companies to help fly in speakers extremely difficult. However the team has managed to juggle the finances and have managed to bring in a few luminaries of the international Free and Open Source Software scene.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/Ss2t-sAG4cI/AAAAAAAABk4/Q4e_zz5WEeE/s1600-h/Brian_Aker.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 180px; height: 181px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/Ss2t-sAG4cI/AAAAAAAABk4/Q4e_zz5WEeE/s400/Brian_Aker.jpg" alt="" id="BLOGGER_PHOTO_ID_5390155621507457474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://foss.my/2009/schedule/brian-aker/"&gt;Brian Aker&lt;/a&gt; will be giving two regular talks: covering aspects of MySQL, Drizzle, memcached or Gearman, and he will also be giving the first day's closing keynote.&lt;br /&gt;&lt;br /&gt;On the second day, we will &lt;a href="http://xkcd.com/225/"&gt;kidnap&lt;/a&gt; the Father of Free Software, &lt;a href="http://foss.my/2009/schedule/rms/"&gt;Richard Stallman&lt;/a&gt; who will be making his way through Asia. He will fly in at a peculiar time on Sunday, give his keynote, and then scoot off. He will be talking about "The Free (&lt;span style="font-style: italic;"&gt;Bebas&lt;/span&gt;) Software Movement and the GNU/Linux Operating System"&lt;br /&gt;&lt;br /&gt;We will also host &lt;a href="http://foss.my/2009/schedule/pradeepto-kumar-bhattacharya/"&gt;Pradeepto&lt;/a&gt;, a KDE hacker from India, &lt;a href="http://foss.my/2009/schedule/devdas-bhagat/"&gt;Devdas Bhagat&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/giuseppe-maxia/"&gt;Giuseppe Maxia&lt;/a&gt;, &lt;a href="http://foss.my/2009/harish-pillay/"&gt;Harish Pillay&lt;/a&gt;, &lt;a href="http://foss.my/2009/schedule/james-morris/"&gt;James Morris&lt;/a&gt; and &lt;a href="http://foss.my/2009/schedule/pia-waugh/"&gt;Pia Waugh&lt;/a&gt; who was extremely well accepted in the previous foss.my conference.&lt;br /&gt;&lt;br /&gt;On top of that, we are having numerous Birds-of-a-Feather sessions running in parallel to the talks, featuring KDE, Ubuntu-my, Drupal, Fedora, CodeAndroid, Fosschix and workshops Linux and Startups.&lt;br /&gt;&lt;br /&gt;For more information, look at the &lt;a href="http://foss.my/2009/schedule/"&gt;foss.my 2009 schedule&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/Ss21nrJluqI/AAAAAAAABlA/tKbnZanKDZM/s1600-h/091006-fossmy-PC1-small.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 273px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/Ss21nrJluqI/AAAAAAAABlA/tKbnZanKDZM/s400/091006-fossmy-PC1-small.JPG" alt="" id="BLOGGER_PHOTO_ID_5390164022234823330" border="0" /&gt;&lt;/a&gt;The Press Conference held at APIIT/UCTI on the 6th of October itself was pretty standard. After some welcoming comments from Gurpardeep Singh of UCTI, Lee Nan Phin of MNCC outlined the importance of Open Source for Malaysia, and how MNCC has had programmes in support of FOSS over the years.&lt;br /&gt;&lt;br /&gt;Ditesh and I were "co-chairs" for whatever that meant, and we both emphasised that this is a true grassroots events created by the community for the community. We were asked if the talks would be too technical. Our response to that was that it is aimed more for the technically inclined, and instead of the regular rhetoric, and hopefully the technical bias of these talks would encourage the audience to participate more in the FOSS process.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/Ss21oDDV5vI/AAAAAAAABlI/FQOTZsCSolU/s1600-h/091006-fossmy-PC2-small.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/Ss21oDDV5vI/AAAAAAAABlI/FQOTZsCSolU/s400/091006-fossmy-PC2-small.JPG" alt="" id="BLOGGER_PHOTO_ID_5390164028651071218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We were also asked if the Government should have programmes to encourage the usage of FOSS in research and academia. I responded that it shouldn't be a Government initiative but the academic institution's culture. Currently most of the institutions teach students how to use a particular software to fulfill the syllabus. So at the end of the day, we get students with a very short shelf life, in that they only know a certain version of one vendors product without having any strong fundamentals.&lt;br /&gt;&lt;br /&gt;What is really required is a change in this culture to a true research and innovation culture where FOSS, the freedom to run, read, share and improve software, clearly satisfies the academic requirements.&lt;br /&gt;&lt;br /&gt;Another issue which we wanted to emphasise was the affordability of foss.my 09. It is free (as in &lt;span style="font-style: italic;"&gt;percuma&lt;/span&gt;) for all primary and secondary students. For those on a tight budget, we have the $20 pass which allows full access to all the talks - you just don't get the swag. Hobbyists just have to pay $60 while Professionals pay $88. All of this goes up during the event, when the Walk-in price is $100, so we encourage people to &lt;a href="http://foss.my/2009/registration-overview/"&gt;register NOW&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/Ss23Wc11CxI/AAAAAAAABlY/y5nav6YL_vg/s1600-h/Web-TMI.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 250px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/Ss23Wc11CxI/AAAAAAAABlY/y5nav6YL_vg/s400/Web-TMI.gif" alt="" id="BLOGGER_PHOTO_ID_5390165925359323922" border="0" /&gt;&lt;/a&gt;With GIMP and Inkscape love, this is our poster. Clicken to embiggen:&lt;br /&gt;&lt;br /&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/Ss23V41bDhI/AAAAAAAABlQ/ZdPyOYwKeLI/s1600-h/fossmy09-poster-v7.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 283px; height: 400px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/Ss23V41bDhI/AAAAAAAABlQ/ZdPyOYwKeLI/s400/fossmy09-poster-v7.jpg" alt="" id="BLOGGER_PHOTO_ID_5390165915693944338" border="0" /&gt;&lt;/a&gt;Thanks to the sponsors, MDeC, APIIT/UCTI, MySQL, LCA, ByteCraft and Inigo. MNCC is helping to organise the event.&lt;br /&gt;&lt;br /&gt;Colin has got a &lt;a href="http://www.bytebot.net/blog/archives/2009/10/08/foss-my-2009-are-you-registered-already"&gt;good summary&lt;/a&gt;, and thanks to Jo Timbuong, we have something up &lt;a href="http://star-techcentral.com/tech/story.asp?file=/2009/10/6/technology/20091006153049&amp;amp;sec=technology"&gt;at TheStar&lt;/a&gt;. The reporters fron Nanyang and Sin Chiew were very careful in getting our Chinese names right.&lt;br /&gt;&lt;br /&gt;Because of this buzz, and the fact that today it was announced that a &lt;a href="http://foss.my/2009/schedule/free-netbook/"&gt;netbook&lt;/a&gt; will be given to all the pre-registered (15 Oct) delegates, registration has picked up!&lt;br /&gt;&lt;br /&gt;So &lt;a href="http://foss.my/2009/registration/"&gt;sign up now&lt;/a&gt;, and see you in a few days time.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-5221529993504313062?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/5221529993504313062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=5221529993504313062' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5221529993504313062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5221529993504313062'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/10/fossmy-2009-press-conference.html' title='foss.my 2009 - Press Conference'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/Ss2t-sAG4cI/AAAAAAAABk4/Q4e_zz5WEeE/s72-c/Brian_Aker.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-3949958947646183566</id><published>2009-08-05T00:30:00.002+08:00</published><updated>2009-08-10T18:46:36.937+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paintball'/><category scheme='http://www.blogger.com/atom/ns#' term='infidelz'/><category scheme='http://www.blogger.com/atom/ns#' term='melacca'/><title type='text'>MyNPL Round 4 - Melacca</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/Snek5FK9rYI/AAAAAAAABeA/cXfflHyDBOU/s1600-h/MY+NPL+2009+logo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 217px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/Snek5FK9rYI/AAAAAAAABeA/cXfflHyDBOU/s400/MY+NPL+2009+logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5365938781582896514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Feva Division did not register to play &lt;a href="http://my-npl.org/event4.php"&gt;Round 4&lt;/a&gt; of the MyNPL League, which was held in the historic city Melacca. Luckily for me, The &lt;a href="http://teaminfidelz.blogspot.com/"&gt;Infidelz&lt;/a&gt; (gotta love that name!) had a player spot available, so I had the opportunity to guest for them &lt;a href="http://yoonkit.blogspot.com/2009/07/tasik-idaman-paintball-tournament-2009.html"&gt;yet again&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It was great that Division 4 games only started in the afternoon, so I could actually travel down to Melacca on the Saturday morning itself. I was suppose to wake up at 7am, but in the excitement, was awake by 6am. Checked twitter, and found that &lt;a target="_blank" href="http://twitter.com/joshlim"&gt;@joshlim&lt;/a&gt; of Yakuza needed a ride. After some attempts at getting his number, I drove across town (pre ISA/FRU clampdown) to Tropicana area to pick him up, and then only got onto the North-South highway by 8am-ish.&lt;br /&gt;&lt;br /&gt;The drive down was shorter than I anticipated, with some really heavy patches of rain. This was not good news, but fortunately the paintball field was not deluged when we arrived at about 10am. Had breakfast at the "Old Town Coffee" in Dataran Pahlawan. &lt;a href="http://twitter.com/yoonkit/status/3062830137"&gt;Ironic&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Waited around for teammates to arrived, and Shiham, Infidelz captain for the day joined us. Ideham couldn't make it for the first day, Saturday, because he had family duties to attend to. Got my tag, and we waited for the rest to arrive. Prem, Faiz and Wan turned up, and we had the opportunity to check out the other D2 and D3 teams playing on the three Fields.&lt;br /&gt;&lt;br /&gt;Had lunch, which was some badly cooked maggie mee below the field facing the school/church. Don't go there. Although the &lt;span style="font-style: italic;"&gt;limau ais&lt;/span&gt; was nice: they put in an &lt;span style="font-style: italic;"&gt;asam boi&lt;/span&gt; in it.&lt;br /&gt;&lt;br /&gt;The players paddock was luxurious in relative terms. Long tables, instead of the crummy square ones, ample chairs, but most importantly, an airy high ceilinged structure which housed over 40 teams very comfortably. The toilets were close by and although they didn't have tissue paper (always bring your own), it was clean. It is an excellent venue. Pity about the traffic though.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh3.ggpht.com/_NATV2G3QyV8/SnbGMhsGwAI/AAAAAAAABdw/1feWVG4UzcM/%5BUNSET%5D.png?imgmax=800" height="412" width="534" /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Field 2: For all the games, we started from the left working towards the right.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;We setup our stuff, filled pods, and warmed up. For Field 2, my default position was to take the Mini-snake within the Carwashes (mid-top of this image). I had Prem to back me up. Shiham was in control at the center and ready to fill in whichever positions, while Faiz and Wan played the huge wavy snakeside.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://twitter.com/yoonkit/status/3066923626"&gt;Our first game&lt;/a&gt; was against the red Tshirted team called "Kerex Hunter." It was interesting, with Shiham managing to do a snakeside taperun to take the flag for the win.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://twitter.com/yoonkit/status/3067155584"&gt;The second game&lt;/a&gt;, also on Field 2 was against "Jerung" and it featured Faiz taking out three from the hard to handle snake. I was in the little dorito/"chip" and managed to take out the BabySpike right across the field. Then made my way to the carwash, suppressed the back corner and dove into the mini snake. However the carwash on the other end was not oriented properly, leaving less cover than it should, and the corner guy shot my shoulder. But Infidelz pulled it off and brought their flag back.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://twitter.com/yoonkit/status/3067582531"&gt;The third game&lt;/a&gt; was against DPMM 1, which was a bunch of newbies, who put up a brave fight. They were a bunch of 3 girls and 2 boys, and very young. I did the same as in the previous game, parking myself in the chip, taking out the opposite corner (backright), then I dove into the mini snake. By the time I reached the other end of the minisnake, my teammates already cleaned up shop. All of us survived.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh3.ggpht.com/_NATV2G3QyV8/SnbGabDrhsI/AAAAAAAABd0/hEkTYXU4R40/%5BUNSET%5D.png?imgmax=800" height="433" width="561" /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Field 3: Again we were "fortunate" to start from left to right. The stalls behind us were blasting "Speedy Gonzales" on the PA system making it difficult to relay info.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Then we had two games on Field 3, where the default plan was to have Faiz at the 50Spike, myself at the mid carwash, and Prem, Shiham and Wan at the back.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/yoonkit/status/3067957436"&gt;For the fourth game&lt;/a&gt;, we were up against "Jari Jari Mentega" which is such a brilliant name, the BM version of "Butterfingers" (or more accurately it would be "Margerine Fingers", but who cares). It started well, I tried desperately to hit the back right guy who was battling with Wan who was already in the snake. All five of us were still in play.&lt;br /&gt;&lt;br /&gt;I then heard the call, "&lt;b&gt;&lt;i&gt;Only one left! Go!&lt;/i&gt;&lt;/b&gt;" So Faiz who was infront, obeyed immediately and marched forward, and I tagged along. He was facing right so I flipped to the left. Shiham was running on the right of the carwash. Just when I noticed Faiz getting shot out, I switched hands to face right but it was too late and I was shot out too. I first thought it was because I was in Shiham's line of fire but the shots came from someone who was hiding in their carwash. Shiham got him out, but Shiham too was marked by the player on the right back.&lt;br /&gt;&lt;br /&gt;Prem who was moving up on the left was taken out by another player in the centre back. So there were actually 3 players just before we made our move. Fortunately Wan was still in the snake, and he meticulously took out the remaining two back players, and hung the flag in time. That was a really close call.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://twitter.com/yoonkit/status/3068247938"&gt;The fifth game&lt;/a&gt; was against "Rookie Raiders". They held their ground well. Playing from the home side (on the plan, right to left), I was in the carwash battling with their backleft. I was joined by Shiham who had moved up from his command at center back. He told me to go into the snake, and because there was a convenient break in the snake, I slid in and composed myself at the center dorito. The back left dude was pelting the dorito, and I just timed it to snap shoot him out. I feel my left shooting is far better nowadays than before. With the left tape down, I shimmied further down the snake. I exchanged a few pellets with the center back, but unfortunately did not recoil in time as he shot my hopper.&lt;br /&gt;&lt;br /&gt;There were two from both teams remaining when the marshalls called "Time out". So it was a draw, but a very interesting fight.&lt;br /&gt;&lt;br /&gt;We didn't have a sixth game, because Team "Legio-X Frentensis" was a no-show, so we got a walk over.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh4.ggpht.com/_NATV2G3QyV8/SnbFXnG_jKI/AAAAAAAABdo/qPNIfI9Rcgo/%5BUNSET%5D.jpg?imgmax=800" height="622" width="557" /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Tally after the prelims. Infidelz at 5th Place, tho' the spread was thin.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So at the end of the first day, we had 489 points and were ranked 5th of a field of 30, which wasn't too bad at all! This means we proceed to Day 2 for the knockout stage, starting with the Sweet16. Being fifth, we would play the fifth last team which was &lt;a href="http://jspaintball.blogspot.com/"&gt;Team "JS"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Later that day, Ideham turned up, checked into Baba Hotel and walked down Jonkers Street:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh5.ggpht.com/_NATV2G3QyV8/SnbGocLVYuI/AAAAAAAABd4/Assjg6px6t4/%5BUNSET%5D.jpg?imgmax=800" height="420" width="559" /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;A lady crooning down Jonkers Street. Must be part of the "Moral Uplifting" programmes&lt;/span&gt;. For her, not us.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Shiham was parked in Dataran Pahlawan, so we walked all the way there to meetup for dinner. It was getting late, and we were hungry, so we chose an easy option of Burger King. crums.&lt;br /&gt;&lt;br /&gt;The next day, the competition started at 8am. D4 players were assigned Field 3 again. Because Wan could not attend Day2, we changed our breakouts accordingly.&lt;br /&gt;&lt;br /&gt;The first game against JS for the best of 3, I was suppose to fill the snake while Faiz the 50Spike. Unfortunately I got laned: as I dove on the ground, sliding, a pellet exploded on my hopper splattering paint on my mask. How embarrassing, getting laned by mech markers. So as I watched helplessly from the deadbox, I could see teammate after teammate dwindle down, to a 2 vs 2 fight. Shiham took out their Right Back and they got a penalty for playing on, so their other teammate got pulled. So somehow Infidelz pulled it off again, and we got the flag.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://twitter.com/yoonkit/status/3079683559"&gt;The second game against JS&lt;/a&gt;, I was in the carwash and suppressing the doritos. Felt a graze on my right finger, looked at it, but there was no burst. But the marshalls pointed at me and called me out, only to see Faiz and Prem in the deadbox already.&lt;br /&gt;&lt;br /&gt;Shiham and Ideham were still in play, up against 4 JS guys. Shiham slid out to the doritos side, while Eddy was in the snakes. Eddy burst out, running down the snake tape, and bunkered JS's captain Buyo at Snake50, then slid into the Snake1 knuckle. He got a bounce off his hand, and the marshall cleared him. He then took out the man in the carwash, and moved up the end of the snake.&lt;br /&gt;&lt;br /&gt;Eddy put pressure on a guy across the field on Dorito1, who wrapped around, hiding from the pellets. Shiham saw him and was just about to take him out when the marshalls called the JS guy out, because in his haste he stepped out of bounds. Shiham then moved up and did some gymnastics and managed to get mini-dorito guy out. They both got the flag, and helped us through to the Quarter finals (top 8).&lt;br /&gt;&lt;br /&gt;Next, we were up against &lt;a href="http://www.facebook.com/pages/Singapore-Singapore/Team-KARMA/55334459164"&gt;Team Karma&lt;/a&gt;, a Singaporean based team, who had great results whenever they played in previous MyNPL rounds. Fortunately the official photographer The Resident Evil Chef Foo was on the field to take pictures of this game (more &lt;a href="http://www.residentevilchef.com/MYNPL0942/index_16.html"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/Sn_2tG0_ogI/AAAAAAAABgI/806-fS-yYLU/s1600-h/MYNPL0942_398.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/Sn_2tG0_ogI/AAAAAAAABgI/806-fS-yYLU/s400/MYNPL0942_398.jpg" alt="" id="BLOGGER_PHOTO_ID_5368280535636353538" border="0" /&gt;&lt;/a&gt;The first game we started at Home, breaking out with Eddy and I in the carwash.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/Sn_2syFkfYI/AAAAAAAABgA/7wzXW_r7fqI/s1600-h/MYNPL0942_401.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/Sn_2syFkfYI/AAAAAAAABgA/7wzXW_r7fqI/s400/MYNPL0942_401.jpg" alt="" id="BLOGGER_PHOTO_ID_5368280530068733314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/Sn_2sQB0ZgI/AAAAAAAABf4/0MoHtucbbl8/s1600-h/MYNPL0942_407.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 400px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/Sn_2sQB0ZgI/AAAAAAAABf4/0MoHtucbbl8/s400/MYNPL0942_407.jpg" alt="" id="BLOGGER_PHOTO_ID_5368280520926193154" border="0" /&gt;&lt;/a&gt;Faiz made it to the 50Spike, but had problems with his marker. Eddy did a brave run down the snake, but was shot out, and while I was suppressing the dorito side, a Karma dude ran down the snake side and took me out.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/Sn_2sKy7KmI/AAAAAAAABfw/RrAyrGItWOE/s1600-h/MYNPL0942_410.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/Sn_2sKy7KmI/AAAAAAAABfw/RrAyrGItWOE/s400/MYNPL0942_410.jpg" alt="" id="BLOGGER_PHOTO_ID_5368280519521544802" border="0" /&gt;&lt;/a&gt;At the same time, Shiham ran up, got the Dorito guy,&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/Sn_2r9h5xjI/AAAAAAAABfo/CCa8aDmZdbk/s1600-h/MYNPL0942_411.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/Sn_2r9h5xjI/AAAAAAAABfo/CCa8aDmZdbk/s400/MYNPL0942_411.jpg" alt="" id="BLOGGER_PHOTO_ID_5368280515960489522" border="0" /&gt;&lt;/a&gt;and captured their flag while their man also got our flag. It was a 1-on-1 situation but unfortunately Shiham got shot out first.&lt;br /&gt;&lt;br /&gt;So we lost for the first time in the tournament.&lt;br /&gt;&lt;br /&gt;In game 2, there was some confusion in the breakout, which meant that Faiz did not make it to the 50Spike. When he tried to go down, he was shot out. Eddy was taken out by a wicked bounce off another bunker while he was safely behind the carwash. I was covering the doritos as usual, and exchanged fire with D1 for quite a while. Fortunately I managed to mark him out, but almost immediately, their back left filled in the same dorito. So while I was raining pellets on him, a player from their spike slid into the mini coke right in front of me. I called for Prem, which I then realized was already taken out.&lt;br /&gt;&lt;br /&gt;By the time I tried to suppress the mini-coke guy, the player from Dorito-1 moved into D2 which had a better angle than before and took me out. All that was left for the remaining 4 of them was to do was to clean up Shiham who was in the back corner.&lt;br /&gt;&lt;br /&gt;We lost only for the second time in the tournament, and it was devastating. So we got knocked out of the tournament, not progressing further than the Quarter Finals. It was a pity. A small consolation was that Team Karma progressed from the Semifinals beating the Jackals to be in the Finals against Team "Shoot in Rage" (SiR).&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh5.ggpht.com/_NATV2G3QyV8/SnbF3nXABFI/AAAAAAAABds/dfmHu8__QEE/%5BUNSET%5D.jpg?imgmax=800" height="414" width="606" /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Not over yet... &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Karma however lost to Shoot in Rage in the finals. Yin Yang who was extremely strong in the prelims played Jackals for the 3rd/4th placing, and we managed to see them draw after three games. However the 1-on-1 decider was extremely anti-climactic as the Jackal player got laned on the breakout by the Yin Yang player at the start.&lt;br /&gt;&lt;br /&gt;We had lunch at a tiny peranakan restaurant called "Banya" which was very close by, thanks to the recommendation by localboy &lt;a target="_blank" href="http://twitter.com/cerventus"&gt;@cerventus&lt;/a&gt;. The Assam Fish and Chendol was good, the rest OK only:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh4.ggpht.com/_NATV2G3QyV8/SnbHCzCOc2I/AAAAAAAABd8/dIzIY8Q25no/%5BUNSET%5D.jpg?imgmax=800" height="459" width="612" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Overall, it was a great outing, managed to reach the Quarterfinals, but like in every tournament, it would have been better to proceed further. The disadvantage of having a relatively easy prelims is that we dont get a feel of the quality of opponents in the future rounds, and whether our tactics would stand up against good opponents.&lt;br /&gt;&lt;br /&gt;But we live and learn, and again it was great to play alongside Team Infidelz.&lt;br /&gt;&lt;br /&gt;The official results were:&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 204, 51); font-weight: bold;"&gt;Division 4: (32 teams)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;1st = SHOOT IN RAGE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2nd = KARMA&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;3rd = YING YANG&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;4th = JACKALS&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;br /&gt;&lt;br /&gt;Some other links:&lt;br /&gt;&lt;a href="http://my-paintball.blogspot.com/2009/08/bingkisan-dari-mynpl-event-4-melaka.html"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a href="http://my-paintball.blogspot.com/2009/08/bingkisan-dari-mynpl-event-4-melaka.html"&gt;Uncle Zee&lt;/a&gt; of Yakuza.&lt;br /&gt;&lt;a href="http://euveng.com/2009/08/npl-melaka-2009-part-1-the-bed-mates"&gt;Eu Veng "Evo" Ooi&lt;/a&gt; of Yakuza&lt;br /&gt;&lt;a href="http://www.residentevilchef.com/"&gt;Resident Evil Chef Foo&lt;/a&gt; with his Malacca Gallery &lt;a href="http://www.residentevilchef.com/MYNPL0941"&gt;Day 1&lt;/a&gt;  and  &lt;a href="http://www.residentevilchef.com/MYNPL0942"&gt;Day 2&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=8d203435-7bf7-82a2-acbc-54e633cf448d" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-3949958947646183566?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/3949958947646183566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=3949958947646183566' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3949958947646183566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3949958947646183566'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/08/mynpl-round-4-melacca.html' title='MyNPL Round 4 - Melacca'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/Snek5FK9rYI/AAAAAAAABeA/cXfflHyDBOU/s72-c/MY+NPL+2009+logo.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-4730805016154074569</id><published>2009-08-04T18:33:00.015+08:00</published><updated>2009-08-12T17:58:22.693+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='poken'/><title type='text'>Poken apart and back again.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SngggZtWr6I/AAAAAAAABfI/rhvR7ss0Mz0/s1600-h/RockStar.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 185px; height: 185px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SngggZtWr6I/AAAAAAAABfI/rhvR7ss0Mz0/s400/RockStar.jpg" alt="" id="BLOGGER_PHOTO_ID_5366074697040965538" border="0" /&gt;&lt;/a&gt;Thanks to &lt;a href="http://twitter.com/mikefoong"&gt;@mikefoong&lt;/a&gt;, I managed to see first hand what this Poken device is all about. We met at D'lish at Bangsar Village for a tweetup and we got to choose our poken devices. I arrived kinda late, but got the RockStar Poken - only because he had a guitar.&lt;br /&gt;&lt;br /&gt;I also brought my Ubuntu netbook to see if it worked well as advertised. I plugged it in, but nothing happened. So I kept an eye on dmesg and found it rather alarming:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SngXnFI2-bI/AAAAAAAABew/peRQt_Vm47A/s1600-h/Poken-dmesg.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 228px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SngXnFI2-bI/AAAAAAAABew/peRQt_Vm47A/s400/Poken-dmesg.png" alt="" id="BLOGGER_PHOTO_ID_5366064916173617586" border="0" /&gt;&lt;/a&gt;I double checked with &lt;a href="http://twitter.com/davidlian"&gt;@davidlian&lt;/a&gt;'s device, and the I/O errors persisted with his device too. So its not particularly well setup. However it mounts as a read-only device and displays 3 files.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SngQORi3_dI/AAAAAAAABeQ/zNtiZmP7oVU/s1600-h/POKEN-File+Browser.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 223px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SngQORi3_dI/AAAAAAAABeQ/zNtiZmP7oVU/s400/POKEN-File+Browser.png" alt="" id="BLOGGER_PHOTO_ID_5366056793425837522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Because Ubuntu doesnt recognise "&lt;span style="font-weight: bold;font-family:courier new;" &gt;autorun.inf&lt;/span&gt;", you'd have to manually click on the &lt;span style="font-weight: bold;font-family:courier new;" &gt;Start_Poken.html&lt;/span&gt; file. This is where the magic lies. In the html file, it has a URL which is automatically generated everytime you plug your Poken in.&lt;br /&gt;&lt;br /&gt;Its a simple META refresh to a &lt;a href="http://www.doyoupoken.com/"&gt;p.poken.ch&lt;/a&gt; website with a really long URL and looks something like this:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SngS5NMnKPI/AAAAAAAABeo/5J-0AS8cCRQ/s1600-h/Poken.txt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 151px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SngS5NMnKPI/AAAAAAAABeo/5J-0AS8cCRQ/s400/Poken.txt.png" alt="" id="BLOGGER_PHOTO_ID_5366059730016348402" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;The URL autogenerated by the Poken device. Some information blocked to protect the innocent.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;It certainly looks like it was a relatively straight forward encoding, with fields delimited or padded with the 'AAA's. So the first few parts tended not to change, but I could detect the byte field which increments by four bits every time its plugged in. What is also interesting is that the trailing groups of data corresponds to the number of people I Pokened. So in this case, was 6 people.&lt;br /&gt;&lt;br /&gt;The remaining series of '+-+-+' obviously is "free space", and at 1434 bytes remaining, with approximately 23 bytes per Poken contact, it should be able to fill another 62 contacts in addition to my 6, so a total of 68 pokes.&lt;br /&gt;&lt;br /&gt;So don't go to a Poken party with more than 68 new people, or you'd lose information. I'm not too sure what happens when it gets full, but it seems you can erase the information on your Poken by holding the button down for more than 3 seconds.&lt;br /&gt;&lt;br /&gt;I also pried open my Poken, and it split apart quite easily. There was no glue holding it together, as its held together with just simple plastic catches, so a small screwdriver will do the trick. Underneath the circuit board, they melted the plastic pins to flatten out like rivets, so you'd have to push those up for the board to slide through.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SngQ5GDSRZI/AAAAAAAABeY/SFG3HaWPWJg/s1600-h/PokenApart.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 348px; height: 400px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SngQ5GDSRZI/AAAAAAAABeY/SFG3HaWPWJg/s400/PokenApart.jpg" alt="" id="BLOGGER_PHOTO_ID_5366057529074926994" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Argh! Put that Poken back in one piece, darn it!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;As you can see, the circuitry itself is small and thin with the possibility of being incorporated in a slim card form factor. However the bulk comes from the battery, and the antenna, which is wrapped up as a spool.&lt;br /&gt;&lt;br /&gt;It also works just by touching the battery onto the contacts, and the red LED lights up. I noticed 3 other LEDs, inside the spool: Another Red, the Green, and Orange to signify the different modes of the Poken.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SngQ5XYZ5CI/AAAAAAAABeg/ZIQhD1BnLdU/s1600-h/PokenLight.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 356px; height: 400px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SngQ5XYZ5CI/AAAAAAAABeg/ZIQhD1BnLdU/s400/PokenLight.jpg" alt="" id="BLOGGER_PHOTO_ID_5366057533726909474" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;No worries, it still works, see? flashing lights!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;I then snapped it back, not wanting to damage this device further.&lt;br /&gt;&lt;br /&gt;So its a relatively simple device, with not much information exchanged during the Pokening process. Just the ID of your friend, and the status of their Poken (discrete or normal). All the actual "Social Network" information is actually in the website. So there is no need to "download" information into your Poken.&lt;br /&gt;&lt;br /&gt;What this also means is that this Poken device may not be necessary in the future. All we need could be just software which runs on your phone, which can do almost the same thing via Bluetooth, Infrared or even the Bump.&lt;br /&gt;&lt;br /&gt;I guess why this is interesting is that we have some relatively cheap tech which does data transmission, reception and storage in a really bizarre form factor. I look forward to people hacking this to make other interesting applications.&lt;br /&gt;&lt;br /&gt;Noticing that the website allows customisation of the Poken Calling Cards, here is my Poken Card template which I created using GIMP (the layered .xcf file available on demand):&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SngaXnrXRaI/AAAAAAAABe4/vo6uhAGfBig/s1600-h/yk-metal.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 327px; height: 217px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SngaXnrXRaI/AAAAAAAABe4/vo6uhAGfBig/s400/yk-metal.png" alt="" id="BLOGGER_PHOTO_ID_5366067949102122402" border="0" /&gt;&lt;/a&gt;Which when populated with the Poken information, looks like this:&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/Snga1xUZnFI/AAAAAAAABfA/Xt8M9SXCskE/s1600-h/PokenCard.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 346px; height: 265px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/Snga1xUZnFI/AAAAAAAABfA/Xt8M9SXCskE/s400/PokenCard.png" alt="" id="BLOGGER_PHOTO_ID_5366068467086236754" border="0" /&gt;&lt;/a&gt;Things which Poken needs to fix:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I/O error as reported by dmesg&lt;/li&gt;&lt;li&gt;Making the device writable - what is the use of a 1GB capacity when I cant use it? [Update: &lt;a href="http://getsatisfaction.com/poken/topics/poken_read_only"&gt;it seems&lt;/a&gt; the 1GB is simulated, as the device has only 14KB of memory]&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Linux friendly - plug and launch&lt;/li&gt;&lt;li&gt;It seems Facebook Connect only works with Internet Explorer 7+. Being a Firefox on Linux user, I don't see how I can make use of this.&lt;/li&gt;&lt;li&gt;Make the device cheaper - something which people wont even think twice about buying. RM20?&lt;/li&gt;&lt;li&gt;Make it thinner&lt;br /&gt;&lt;/li&gt;&lt;li&gt;More Pokenistas abound.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Other good Poken reviews:&lt;br /&gt;&lt;blockquote&gt;Carolyn Chan - &lt;a href="http://thechannelc.com/?p=776"&gt;"If it ain't Poken, go fix it"&lt;/a&gt;&lt;br /&gt;Nicki Choong - &lt;a href="http://www.nikicheong.com/blog/lets-start-poken.html"&gt;"Let's start Poken"&lt;/a&gt;&lt;br /&gt;Suanie - &lt;a href="http://www.suanie.net/2009/08/12/do-you-poken-come-poken-with-me/"&gt;"do you poken? come poken with me"&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;yk&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;[Update: 12 Aug 2009, added Suanie's blog which mentions this, and the 1GB simulated info]&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-4730805016154074569?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/4730805016154074569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=4730805016154074569' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4730805016154074569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4730805016154074569'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/08/poken-apart-and-back-again.html' title='Poken apart and back again.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SngggZtWr6I/AAAAAAAABfI/rhvR7ss0Mz0/s72-c/RockStar.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-6666237676396369716</id><published>2009-07-09T07:35:00.001+08:00</published><updated>2009-07-23T09:47:03.539+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paintball'/><category scheme='http://www.blogger.com/atom/ns#' term='infidelz'/><title type='text'>Tasik Idaman Paintball Tournament 2009 with Team Infidelz</title><content type='html'>I had the opportunity to guest for &lt;a href="http://teaminfidelz.blogspot.com/2009/06/tasik-idaman-amateur-paintball.html"&gt;Team Infidelz&lt;/a&gt; last weekend (4-5 July 2009), for this amateur tournament in Bangi.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SlVYFwU1AyI/AAAAAAAABXk/CEkg-qWYqo8/s1600-h/idaman.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 206px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SlVYFwU1AyI/AAAAAAAABXk/CEkg-qWYqo8/s400/idaman.jpg" alt="" id="BLOGGER_PHOTO_ID_5356284187721925410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Directions via the North-South Highway:&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" src="http://maps.google.com.my/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;t=h&amp;amp;msa=0&amp;amp;msid=107291514061921204351.00046d86d4af00ee7530c&amp;amp;ll=2.914754,101.759319&amp;amp;spn=0.060947,0.043001&amp;amp;output=embed" frameborder="0" height="350" scrolling="no" width="425"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;small&gt;View &lt;a href="http://maps.google.com.my/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;t=h&amp;amp;msa=0&amp;amp;msid=107291514061921204351.00046d86d4af00ee7530c&amp;amp;ll=2.914754,101.759319&amp;amp;spn=0.060947,0.043001&amp;amp;source=embed" style="color: rgb(0, 0, 255); text-align: left;"&gt;Taman Tasik Idaman, Bangi&lt;/a&gt; in a larger map&lt;/small&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Left home at 6:20am, arrived at 7am at &lt;a href="http://tasikidaman.blogspot.com/"&gt;Tasik Idaman&lt;/a&gt;.  Nobody was there, it was like a typical kampung. Booked a table for Infidelz, and the organisers, &lt;a href="http://www.skirmish.com.my/"&gt;Skirmish&lt;/a&gt;, just started up filling up the bunkers. Fortunately they decided to replace the piped bunkers with proper air bunkers, however the snakes were still made out of three pipes stacked on each other. This is higher than usual, so it is really difficult for the snake player to peek out because the knuckles are only 6 inches taller. So its difficult like Melawati's KKlub.&lt;br /&gt;&lt;br /&gt;Team Infidelz Belasah - actually it should have been Team In&lt;span style="font-weight: bold;"&gt;Feva&lt;/span&gt;delz Belasah, as Infidelz imported two players but the organisers didn't register it right, was scheduled to play the first game. It was against Team LCCT ASTAKA 1. They wiped us out. Sani who was back left who was covering me got hit by his mirror quite early on, and I was hit from the enemy's back right. This meant that Infidelz was exposed on the left tape. So eventually an ASTAKA guy ran down the tape and took out the rest. Eddie and Shiham tried to avoid them, but it was too late. LCCT ASTAKA 1 was a great team, and got at least 4 games where they had 100 perfect scores.&lt;br /&gt;&lt;br /&gt;The next game Infidelz played against was Nate Jokes. I was infront, and managed to take out a guy at the center carwash because his foot was slightly exposed. I then moved up, and managed to take a guy out as he tried to move into the left snake, then I heard Eddie calling out that there was one in center back. So as I moved up along the left, Faiz flanked on the right and we managed to hit him simultaneously - only to find out that it was a little kid, no more than 10 years old! Poor fella. So we won with a perfect score.&lt;br /&gt;&lt;br /&gt;The third game was against Team Pain-Nuts. They had really nice custom TShirts, and looked like recball vets. It was a close game only to be won with Shiham's fantastic run up the right tape to take out most of the remaining players.&lt;br /&gt;&lt;br /&gt;The fourth game was against &lt;a href="http://platinumelitesquad.blogspot.com/"&gt;Team Platinum Elite&lt;/a&gt;, which was decked out in their full Sly Black/Green striped uniforms. While I was up infront, I thought I shot out the carwash guy, but didnt realise the ref cleared him, so when I wrapped around the otherside, he got me back. It was a tough fight, Shiham again ran up the right tape, battled close quarters with the back right guy, who swivelled around the bunker and managed to mark Shiham out. Eddie managed to grab their flag, and rushed back, but the PE dude ran back to our base and pinned Eddie down. Eddie did not reload and was running on an empty hopper but time ran out almost immediately, so although we got the flag grab, we didnt get the flag hang. Only 42 points.&lt;br /&gt;&lt;br /&gt;The fifth game was against Team MP Sepang, which we expected to win, but due to our overconfidence perhaps, we lost the match.&lt;br /&gt;&lt;br /&gt;The sixth game was against the Kampung Boyz and we managed to pull off another perfect game. We changed positions abit, and I played back left while Faiz and Sani played up front.&lt;br /&gt;&lt;br /&gt;Thus ended the first day - there were quite a few teams playing and it was a really long drawn out process. We had to wait almost 2 hours between each game under the tents, which on that day was really hot. There was a gentle breeze, but it was very tiring. Having the first day last from 9am all the way to 6pm is really taxing.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SlVc2b5PAJI/AAAAAAAABXs/169i3-Jyqo4/s1600-h/IMG00263-20090705-0747.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 290px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SlVc2b5PAJI/AAAAAAAABXs/169i3-Jyqo4/s400/IMG00263-20090705-0747.jpg" alt="" id="BLOGGER_PHOTO_ID_5356289422097580178" border="0" /&gt;&lt;/a&gt;We were placed in the 12th position and needed to win our remaining 2 games to be in the top 8.&lt;br /&gt;&lt;br /&gt;Arrived early on Sunday as well, and we went up against Team Haruman Abadi which was at that time placed 3rd. So quite a strong team. For the second time, I continued playing back left while we had Shiham and Faiz up front. Straight off the break, my gun didnt fire. A few twists of the gas tank got it working again, but I lost about 30 seconds.&lt;br /&gt;&lt;br /&gt;The team was still intact, so I started suppressing the snake. There was a person in my mirror, and one in snake 1. Suppressed them until Eddie/Shiham moved all the way up and managed to take out most of the enemy. He also got my mirror out, and at that point, I ran up the tape with my marker pointed at the snake 1 dude. As I approached him, Eddie moved inside the snake, and was in position behind him. Shots were fired, and I heard the Ref shout "Out". The snake player still didnt realise that I was there, and I wasnt going to shoot him because he must be out, as Eddie was still in play. Then the snake guy turns and shoots my leg, and I asked the Ref what was happening? They checked the guy, and he wasnt marked. Why did they say that he was out then?&lt;br /&gt;&lt;br /&gt;Lesson Learnt: Shoot Shoot Shoot.&lt;br /&gt;&lt;br /&gt;Then Shiham got their flag and ran straight back home and touched our base. "Time" was called, and Eddie and Shiham raised their arms while the Refs checked them. Mr Snake then shoots at Eddie! Not sure what happens next, but the game was declard a dirty hang because Shiham had some paint on his shins which he thinks he got while kneeling. Faiz was also called out earlier in the 50s because he was hit on his inner thigh, but it was clearly a bounce with no paint marks on his pants.&lt;br /&gt;&lt;br /&gt;So that game was really frustrating with us clearly winning, but got the wrong end of the referee decisions. Of course we appealed, but we got really weak excuses like "The ref didnt call the snake guy out: it was some spectators" and "Ref clearly saw the break" etc) but what to do right, just live with it and play on.&lt;br /&gt;&lt;br /&gt;The Eighth game was against the Fantastic 5. During breakout, I was running and gunning to the back left, unfortunately during the jostling, my marker chopped up a pellet badly. I tried to recover it, but it was quite messy, and told Eddie. I filled for him at the center back, while he moved forward. Fortunately the team managed to win this game.&lt;br /&gt;&lt;br /&gt;So it was a terrible wait and see, for it solely depended on the outcome of The Bandits game, who were the only team we could mathematically overtake. Even though they drew the game due to their dead teammate (Mr Fingers) talking, they still had a few points more than us. So we were placed #9, and out of the knockout quarterfinals.&lt;br /&gt;&lt;br /&gt;Boo hoo.&lt;br /&gt;&lt;br /&gt;So we went home at 12pm. Total cost for the tournament was about RM180 per person, which was not too bad.&lt;br /&gt;&lt;br /&gt;The final results for the tourney is:&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;font-family:lucida grande;font-size:130%;"  &gt;&lt;/span&gt;&lt;blockquote  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1st - &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;TEAM &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;LCCT ASTAKA 1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2nd - &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;TEAM &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;HARUMAN ABADI&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;3rd - &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;TEAM &lt;/span&gt;&lt;/span&gt;&lt;a href="http://simplicity.ampinity.com/?p=231"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;PRADAS&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;4th - &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;TEAM &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(204, 0, 0);"&gt;LCCT ASTAKA 2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;It was a pleasure playing for the Infidelz, and they run a really tight ship. Everyone is easy going yet disciplined. Faiz's ability to stay alive way up in the 50's center and in the tube snakes is extraordinary. Shiham's tape runs on the rights turned the game around multiple times. Eddie's field awareness is quite amazing, giving orders and making the right moves all of the time.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It certainly was an honour playing with them, and there was alot to learn.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-6666237676396369716?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/6666237676396369716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=6666237676396369716' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6666237676396369716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6666237676396369716'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/07/tasik-idaman-paintball-tournament-2009.html' title='Tasik Idaman Paintball Tournament 2009 with Team Infidelz'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SlVYFwU1AyI/AAAAAAAABXk/CEkg-qWYqo8/s72-c/idaman.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7804581373571844259</id><published>2009-06-08T03:28:00.011+08:00</published><updated>2009-06-08T15:16:27.783+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Nokia N97 Launch</title><content type='html'>I was lucky enough to be invited to the Nokia N97 Launch Party last Friday night. They held it at the Mandarin Oriental Hotel, and on the foyer, mingling amongst the crowd were people in ChunLi, HellBoy, JackSparrow, Uhura and Evil Anakin cosplay. The good thing about it was that they were really into character happily posing for canwhores, but the strange thing is, I didn't really see the connection between the cosplay and a device launch.&lt;br /&gt;&lt;br /&gt;Met up with &lt;a href="http://www.twitter.com/bytebot"&gt;@bytebot&lt;/a&gt;, &lt;a href="http://www.twitter.com/bleongcw"&gt;@bleongcw&lt;/a&gt;, &lt;a href="http://www.twitter.com/limyh"&gt;@limyh&lt;/a&gt; and met up for the first time &lt;a href="http://www.twitter.com/geekonomics"&gt;@geekonomics&lt;/a&gt; (&lt;a href="http://asia.cnet.com/blogs/geekonomics/"&gt;CNET Asia blogger&lt;/a&gt; from Singapore) and &lt;a href="http://www.twitter.com/dk"&gt;@dk&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://twitpic.com/6nyex"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 216px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SiwXjF2ObnI/AAAAAAAABOU/F63UIkfngiw/s400/dweebs.jpg" alt="" id="BLOGGER_PHOTO_ID_5344672749414411890" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;crappy camera phone pic by @limyh&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I tried to register, but I was bounced from the "Media" counter to the "Guests" counter mainly because I presented my business card. They couldn't figure out if I was invited as a blogger or as a corporate guest. I didn't know which category I was either. But I mentioned the secret password: &lt;a href="http://twitter.com/davidlian"&gt;@davidlian&lt;/a&gt;, and it was all magically settled.&lt;br /&gt;&lt;br /&gt;The doors opened, and Colin and I made a beeline to the furthest booth with two available units for hands on use. We tried them out. First impressions were good, with a nice build quality to the device. The keyboard looks a little puny, but the buttons have a nice feel to it. I didn't really like the location of the spacebar, being really small and way too far to the right.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SiwXjxWbAnI/AAAAAAAABOs/tfOUekla_MM/s1600-h/n97.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SiwXjxWbAnI/AAAAAAAABOs/tfOUekla_MM/s400/n97.jpg" alt="" id="BLOGGER_PHOTO_ID_5344672761092178546" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;the symbol key has moved to the right too.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;I tried to probe into as much features as I could without being too rude in appearing to hog the device. I must have handled it for about 15 minutes. So while I had a very limited amount of time with it, this "review" is will also compare the N97 with its peers. Some background information, before my Bold and iPhone, I &lt;a href="http://yoonkit.blogspot.com/2006/10/nokia-e61-vs-nokia-7710.html"&gt;used an E61 (Oct 2006)&lt;/a&gt;. This is the original version without the camera. This was over 2 years ago, and that was my first experience with the S60 Symbian Operating System. I found it appropriate at that time, providing a relatively stable OS, good enough pull email, an interesting way of handling connections to WiFi, EDGE and Bluetooth. I found it functional enough for its time.&lt;br /&gt;&lt;br /&gt;The iPhone was snazzy, but pretty much a toy and I didn't use it &lt;a href="http://yoonkit.blogspot.com/2008/05/copying-pictures-from-iphone.html"&gt;more than 4 months&lt;/a&gt; before moving onto the &lt;a href="http://yoonkit.blogspot.com/2008/10/dialup-with-ubuntu-bluetooth-blackberry.html"&gt;BlackBerry platform&lt;/a&gt;. The Bold I use now is a great balance of stability, functionality and most importantly integration to work (Email, Calendars and Contacts). The Bold is nice, but looking at other platforms, is probably getting abit old. I have tried the Storm, but it feels like the touch screen features were a kludge; it doesnt feel smooth, and the display seems to lag behind the interactions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://harry.sufehmi.com/archives/2007-02-14-1413/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 316px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SiwXjmn-h_I/AAAAAAAABOk/K3vkgX8HZCk/s400/e90_29.jpg" alt="" id="BLOGGER_PHOTO_ID_5344672758213019634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I also had to maintain a series of Nokia Communicators over the past few years. Having to handle the whole family of what I call, "The Beasts", the 9000 to the 9210 to E90. This is absolutely indispensible to some senior managers and directors who NEED the large screens and full sized keyboards for due to failing eyesight. Mobile device manufacturers seem to want to design stuff for the young and trendy seeming to forget that the people who pay the bills are old and are severely long sighted. So Nokia and Blackberry, please don't forget about this market segment!&lt;br /&gt;&lt;br /&gt;I always found the Communicator series wanting in their performance. Navigation was a pain, especially when there were literally thousands of emails in the inbox. We had to wait over 30 seconds just to task switch. Options were scattered everywhere and the UI looked very clunky.&lt;br /&gt;&lt;br /&gt;Considering the amount of time Nokia had to develop the N97 since the E90, I had high expectations and assumed the N97 to solve all these problems. A form factor which would be useful for upper management, a modern OS, great integration with productivity apps, snappish performance, and as a bonus, a new input and interaction method with the touch screen.&lt;br /&gt;&lt;br /&gt;Unfortunately I was wrong.&lt;br /&gt;&lt;br /&gt;First off, when I was navigating the menus of the N97, it basically felt like my old E61. Yes, the familiarity is good, in that I knew where to access the obscure options like how to define Connections, etc, but I had the feeling like I was using a 2 year old phone. It was like a timewarp. I would have thought that with a new processor, more RAM, this machine would fly. Unfortunately not. It just felt so laggy. Fonts and widget designs too were retro.&lt;br /&gt;&lt;br /&gt;The N97 touch screen interactions, like the Storm, is not cohesive and feels out of place. It doesn't register the exact position, and it feels very sluggish in terms of recognising a contact, and especially when a stroke (to pan) is made. For example if you need to scroll down a page in the Apps desktop. As you scroll, it feels jerky and there is a 500-800ms delay. This is not good.&lt;br /&gt;&lt;br /&gt;The scrolling itself is jerky. Meaning that the refresh rates are very slow. You can actually see the screen repaint as the desktop pans. Surely the display should have some basic 2D graphics acceleration assisting it?&lt;br /&gt;&lt;br /&gt;I often felt frustrated with the accuracy of the pointing. OK, I was using my fingers, and not a stylus. But being spoilt by the iPhone, I expected that tech nowadays would be good enough for any pointer be it a grubby finger or a stylus.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Apps&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One of the first apps I loaded was &lt;span style="font-weight: bold;"&gt;Nokia Maps&lt;/span&gt;. This looked interesting as it was an official Nokia product, so integration and features must be almost bleeding edge. It loaded up and displayed the entire globe ala Google Earth. This was all good until I tried to zoom in. Again I expected the iPhone-like feature of navigating the Earth with multitouch by zooming with two fingers. Unfortunately it wasnt to be, as &lt;a href="http://twitter.com/geekonomics/statuses/2042030511"&gt;@geekonomic's tweet explains&lt;/a&gt;, the Nokia N97 uses the standard resistive tech vs the iPhones capacitive technology. So to zoom in, you'd have to use the buttons located by the screen on the right, which is not as intuitive as it should be. The refresh rates again was jerky with probably at 2 fps.&lt;br /&gt;&lt;br /&gt;One of the options on Nokia Maps was "Traffic Info". Wow! This would be an excellent feature to have as a device. It then cautioned me that this required a license / subscription. Since it wasn't my device, I agreed as a proxy, to the terms and conditions for the demo device. However after a few minutes of downloading, it came back to me and said that my region did not have any traffic information sources. This is a real pity. I expected with the amount of effort spent in this launch, a more extensive localisation effort would be put in in extending the features of the Maps product. Glen Cha (Product Marketing Mgr) later explained that getting information from Malaysian Govt Departments is not exactly easy. So much for ITIS.&lt;br /&gt;&lt;br /&gt;This to me is a killer feature for a mobile phone / GPS convergence product. The ability to get up to the minute updates of traffic information and to guide you through the optimal path is something only a mobile phone can do which a regular GPS product cannot.&lt;br /&gt;&lt;br /&gt;The interface for the Maps App itself is still very primitive just like the BlackBerry Maps App, which I dont use, where the interface looks like it was done by a 9 year old: drawings for roads are just plain lines. Looks like &lt;a href="http://yoonkit.blogspot.com/2009/05/google-maps-malaysia-launch.html"&gt;Google Maps Mobile&lt;/a&gt; still offers the best UI and functionality. Latitude, Satelite Hybrid, pretty roads (1way/2way/highway) and a great search facility gives Google a huge advantage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Camera&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The camera slide cover is a good idea. Camera holes tend to be an attractor of lint, so this will certainly help get rid of the trademark cameraphone blur. I took a picture of Colin and Bernard, and was very happy with it.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SiwXjQBDV7I/AAAAAAAABOc/VXwVWwlHRUY/s1600-h/bern-colin.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SiwXjQBDV7I/AAAAAAAABOc/VXwVWwlHRUY/s400/bern-colin.jpg" alt="" id="BLOGGER_PHOTO_ID_5344672752144177074" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;there were lots of people cameraphoning a cameraphone that night. geeks.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;The flash was "good enough" for the distance, the Carl Zeiss lens was bright and able capture the subjects in focus. However I was slightly worried about the time it took to take the picture. The camera took a good 3 seconds to focus, and then it snapped only after a second. So while this was marginally worse than &lt;a href="http://www.twitter.com/mellissa"&gt;@mellissa&lt;/a&gt;'s Ixus, I hope that the performance will be better in normal conditions as this was done in really low light.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sending Pictures&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After taking the picture, I wanted to send it to my email account. This use case was abit more obscure, because I think an email account was not setup on the demo device. It didn't allow me to directly email the picture to any other arbitrary address. However via the Internet looking icon, it did provide an Ovi option, which was to upload the picture to the Ovi website which would then forward a link to your intended recipients. This worked good enough.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Physical Build&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Generally it looks adequately built. Of course we wont know how well it survives the real world unless someone actually uses it day in and out for at least 3 months, dropping it and knocking it on hard surfaces a few times. What I'm really afraid off is the spring loaded mechanism where the screen snaps out of the keyboard.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/Six7FvwR41I/AAAAAAAABPE/gIPaIZgKeJE/s1600-h/matrix.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 300px; height: 259px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/Six7FvwR41I/AAAAAAAABPE/gIPaIZgKeJE/s400/matrix.jpg" alt="" id="BLOGGER_PHOTO_ID_5344782196430463826" border="0" /&gt;&lt;/a&gt;Now it reminds me of the modified Nokia "banana-phone" in the first Matrix movie where Neo snaps out the mouth piece and says "Most Awesome, Dude!". Its all really cool, and feels great. However someone must have tuned this snap-action a little too hard. I'm really afraid that it would jump out of someone's hands if not held properly.&lt;br /&gt;&lt;br /&gt;I checked the construction of the supporting mechanism at the back, and the two plastic hinges seem sturdy enough. But I would hate to think what will actually happen when they utlimately fail, as Ive seen way too many Nokia devices fail due to their plastickyness. e.g. Screen hinges for all the Communicators which eventually cut into the screen connection ribbons.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Web Browser&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also had the opportunity to test out the browser, and it was good. Not as nice as the iPhone's Safari, but way better than my Bold's minimal browser. Scrolling with the touch screen was unfortunately jerky. The promo video ofcourse showed super-smooth compiz like effects on-screen which I thought was quite deceiving.&lt;br /&gt;&lt;br /&gt;That was all the time I had with the device. The speeches started, so I put the device down and paid some attention to it while &lt;a aiotitle="I twittered my first impressions" href="http://search.twitter.com/search?q=+yoonkit+n97kl+"&gt;I twittered my first impressions&lt;/a&gt;, with full reference to the &lt;a href="http://search.twitter.com/search?q=n97kl"&gt;#n97kl&lt;/a&gt; hashtag.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.facebook.com/photo.php?pid=7282945&amp;amp;id=511590600&amp;amp;ref=mf#/photo.php?pid=7282942&amp;amp;id=511590600"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 604px; height: 340px;" src="http://photos-g.ak.fbcdn.net/photos-ak-snc1/v4392/183/93/511590600/n511590600_7282942_93019.jpg" alt="" border="0" /&gt;&lt;/a&gt;They had booths which ran &lt;a href="http://mobileways.de/products/gravity/gravity/"&gt;Gravity&lt;/a&gt; on the S60, showing the latest tweets on screen. This was a great touch and should be a permanent feature in all future events.&lt;br /&gt;&lt;br /&gt;After the marketing spiel, which tried to project this device as the answer to everyone's need to access the internet "Nokia N97: Making the internet YOUR Internet", we were approached by one of the wonderful &lt;a href="http://www.text100.com.my/"&gt;Text100&lt;/a&gt; staff, Erna &lt;a href="http://twitter.com/mahyuni"&gt;@mahyuni&lt;/a&gt; invited us to go down to the Press Conference to ask a few questions if we wanted to. So Colin and I went down, hoping to get some detailed answers.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/Six89PBvVQI/AAAAAAAABPM/03lSZgdpdmg/s1600-h/N97-QA.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 198px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/Six89PBvVQI/AAAAAAAABPM/03lSZgdpdmg/s400/N97-QA.jpg" alt="" id="BLOGGER_PHOTO_ID_5344784249229628674" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Bambos  Kaisharis (Head of Mktg), Vlasta Berka (GM), Glenn Cha (Prod Mktg Mgr)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;The room was already full with some traditional media folk. They asked some basic questions and we waited our turn. An interesting factoid was that people in East Malaysia are bypassing wired internet and using mobile devices as their gateway to the interwebs nowadays. Through twitter, &lt;a href="http://twitter.com/ditesh/statuses/2042186671"&gt;@ditesh asked:&lt;/a&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;does it come with inbuilt SIP client? Does the SIP client support &lt;a href="http://www.speex.org/"&gt;&lt;span style="font-weight: bold;"&gt;Speex&lt;/span&gt;&lt;/a&gt;? (Speex = open standard)&lt;/blockquote&gt;So Colin asked that to one of the three dudes there. They did say that SIP support will come as software upgrades, and assumed that if there are new features, it can be sent via Over the Air. Something like Windows Upgrade.&lt;br /&gt;&lt;br /&gt;I then asked my first question:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"Your Nokia device seems to support a multitude of video and audio formats. This is great. So does it support &lt;a href="http://www.theora.org/"&gt;Ogg Theora&lt;/a&gt; and &lt;a href="http://www.vorbis.com/"&gt;Ogg Vorbis&lt;/a&gt;, the Open Standard for video and audio as &lt;a href="http://arstechnica.com/open-source/news/2009/05/google-dailymotion-endorse-html-5-and-standards-based-video.ars"&gt;recommended by HTML 5.0&lt;/a&gt;?"&lt;/blockquote&gt;Bambo Kaishari's (Head of Marketing) answer was almost immediate; "We'll get back to you on that one."&lt;br /&gt;&lt;br /&gt;Oh, I thought, thats interesting. Im not too sure if it was too geeky a question, but there were three guys in front. Someone should know at least? They fielded other questions, and when it was quiet, I asked another:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"Nokia announced a while back &lt;a aiotitle="(june 2008)" href="http://www.symbian.org/"&gt;(june 2008)&lt;/a&gt; that the Symbian Operating System will be Open Sourced. When exactly will this occur?"&lt;/blockquote&gt;Again, a brief silence, and Bambos said "We'll get back to you on that one too." They were very nice about it though, and after the conference, Vlasta Berka (GM for Sales) came up to me and said that he will definitely come back to me. I then remembered another important question:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;"Our company uses BlackBerry devices, and previously we used to integrate our Communicator devices with BlackBerry using the Nokia-BlackBerry connect. Will the N97 have BlackBerry integration?"&lt;/blockquote&gt;He looked stunned and looked like he was about to say "We'll get back to you", but he elaborated that he was not sure what has transpired between Research in Motion (those evil device pushing Canadians) and Nokia, but the last he heard was that the development for BlackBerry Connect for Nokia devices have stopped. There were some issues with the pace of development. So while he couldn't give a definite answer, he seemed confident that there would not be BB integration in the future.&lt;br /&gt;&lt;br /&gt;Pity. It would be great if BlackBerry users had more choice in what devices they could use to access the BlackBerry infrastructure. Considering that there are quite alot of older users using BlackBerries they should either develop a large Communicator form factor like device, or open up their infra so that device makers like Nokia can more easily address those needs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Food and Entertainment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After the Press Conference, we went back upstairs and by that time, all the kiasu people had cleared off from the buffet line. The food served was constantly refreshed, so there was ample left for us latecomers. Nokia then had some competitions for most extravagantly dressed couple, and a Guitar Hero competition.&lt;br /&gt;&lt;br /&gt;I stayed on, anticipating to see &lt;a href="http://www.twitter.com/kimberlycun"&gt;@kimberlycun&lt;/a&gt; + &lt;a href="http://www.twitter.com/shaolintiger"&gt;@shaolintiger&lt;/a&gt; and &lt;a href="http://www.twitter.com/kyspeaks"&gt;@kyspeaks&lt;/a&gt; + &lt;a href="http://www.twitter.com/mellissa"&gt;@mellissa&lt;/a&gt; dominate this competition, but it was truly an epic fail. They didnt last 11% citing reasons like the Wii timing wasn't synched. Yeah right.&lt;br /&gt;&lt;br /&gt;Overall, it was a great event, excellent food (roast beef and apple crumble+ice cream ftw), excellent ambiance, well organised, but huge let down by the star of the show itself, the N97.&lt;br /&gt;&lt;br /&gt;So Ill still have to wait for another launch cycle to recommend a suitable device to those old folks who have their Bolds set with font size 20.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7804581373571844259?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7804581373571844259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7804581373571844259' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7804581373571844259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7804581373571844259'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/06/nokia-n97-launch.html' title='Nokia N97 Launch'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/SiwXjF2ObnI/AAAAAAAABOU/F63UIkfngiw/s72-c/dweebs.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-490981739077281197</id><published>2009-05-18T18:48:00.001+08:00</published><updated>2009-05-18T19:04:00.475+08:00</updated><title type='text'>Google Maps Malaysia Launch</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I had the opportunity to attend the Google Maps Launched of its localised service in Malaysia last week. The venue was in this nondescript place called No Black Tie, famous as a destination for Jazz fans. It has been a while since Ive been there, and when I was, it was in their previous venue around the corner. Thats how long ago. So when Google Malaysia (Thanks Hanson) invited, I was happy to go.&lt;br/&gt;&lt;br/&gt;I dont normally attend functions like this, considering that I have better things to do. However Im a real big fan of Google Maps, as it has saved me many a times before on my Blackberry with GPS while looking for difficult to find addressess, avoiding traffic jams and lately keeping tabs of where other people are with Latitude. I certainly would like to see this service to improve.&lt;br/&gt;&lt;div align='center'&gt;&lt;a href='http://twitter.com/yoonkit/status/1792748799'&gt;&lt;img width='502' height='530' src='http://lh4.ggpht.com/_NATV2G3QyV8/ShEkMQRdbSI/AAAAAAAABKc/0AoqVIH6yY4/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;The bunch of invitees were basically the same Barcamp.my and MyOSS dudes. Met up with @ditesh, @aizatto, @angch, @bytebot, @seanx2, @yclian and @cerventus, @limyh, @arzumy and other folk. Considering there were so many twits, Im surprised that there was relatively little hash tagging using &lt;a href='http://search.twitter.com/search?q=%23mymap'&gt;#mymap&lt;/a&gt; / &lt;a href='http://search.twitter.com/search?q=%23mymaps'&gt;#mymaps&lt;/a&gt; during the event.&lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://farm3.static.flickr.com/2149/3536258684_d9acc44460.jpg' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div align='center'&gt;Thanks to @surianee for taking this picture. More &lt;a href='http://www.flickr.com/photos/surianee/sets/72157618170970957/'&gt;pics&lt;/a&gt; and blog entry &lt;a href='http://www.surianee.com/2009/05/google-maps-malaysia-at-no-black-tie/'&gt;here&lt;/a&gt;.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;The event started off with the Google folk giving the intro ("&lt;a href='http://twitter.com/yoonkit/status/1793274991'&gt;Reaching out to you guys&lt;/a&gt;" spiel) with a buildup to more exciting stuff. Unfortunately &lt;a href='http://twitter.com/yoonkit/statuses/1793352131'&gt;Mr Murphy just had to show up&lt;/a&gt;, and killed ALL internet connections. Perhaps it was because of the 41 laptops trying to connect at once, or because #streamyxreallysux, but it was very unfortunate, because being an internet launch the event really depended on a fast and stable connection.&lt;br/&gt;&lt;br/&gt;Fortunately there was much Google love abound, and most of us have seen what Google Maps can do. So when Andrew McGlinchey and Vinny encouraged us to "imagine", it wasnt very hard to extrapolate what they really meant. Maybe it WAS planned after all. Oh, @pamelafox's Mario Cart (demo'ed in foss.my08) was way better than their car driving demo.&lt;br/&gt;&lt;br/&gt;Here were some of my questions which I planned to ask, of which some were answered. &lt;br/&gt;&lt;ol&gt;&lt;li&gt;Why does maps.google.com assume you are in the US? The Googlers at the event showed that if you use &lt;a href='http://maps.google.com.my'&gt;maps.google.com.my&lt;/a&gt;, it will default to Malaysia showing both East and West Malaysia, but surely they could do better? Why is this an issue? Geo IP has been around for ages. Deduce from the IP address, and take the map to the closest City with the appropriate zoom levels. &lt;a href='http://wikimapia.org/'&gt;Wikimapia&lt;/a&gt; does it already.&lt;/li&gt;&lt;li&gt;The Googlers were expecting to get questions from the intertoobs, and posted this URL: &lt;a href='http://moderator.appspot.com/#15/e=6e9ad&amp;amp;t=6a3a6'&gt;http://tinyurl.com/noblacktie&lt;/a&gt; for people to post questions, and vote on which one to ask first. Unfortunately the moderator.appspot page isn't mobile device friendly. @alphaque had trouble with it (maybe that was a good thing) and my BB wouldnt render the page &lt;a href='http://twitter.com/yoonkit/statuses/1793340960'&gt;as well&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;There is a small version discrepency between BB and S60 devices for the Google Maps mobile client. No big deal, all the features seem to be there.&lt;/li&gt;&lt;li&gt;It seems the FOSS Image slicer which was &lt;a href='http://twitter.com/yoonkit/statuses/1793322168'&gt;mentioned&lt;/a&gt; is this Command Line program by Ian Stevens described in this blog post "&lt;a href='http://crazedmonkey.com/blog/programming/google-tile-cutter.html'&gt;Unix command-line tile cutter for Google Maps&lt;/a&gt;" - or download the shell script &lt;a href='http://crazedmonkey.com/googletilecutter/googletilecutter.sh'&gt;here&lt;/a&gt;. May use this in my future &lt;a href='http://yoonkit.blogspot.com/2008/07/barcamp.html'&gt;mind map presentations&lt;/a&gt;.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;I asked Andrew directly when the Browser Based "My Maps" feature will be integrated with the Google Maps Mobile Client. He must have misunderstood my question, because he went on about how creating maps in My Maps is a desktop experience, and not suited for the mobile. Plus you could email the created map. I corrected him that the emailed map is actually an image file, and its really not very useful. All we want, as a killer feature, is to have our "research" on how to get to somewhere done on the desktop with the appropriate markings to be synched with our mobile device. That is infinitely more useful. He finally/hopefully understood and gave the stock answer that the Google team would be looking into it.&lt;/li&gt;&lt;/ol&gt;&lt;span class='msgtxt en' id='msgtxt1793399942'&gt;Overall, it was a good event. It definitely could be alot better with regards to the internet connection. No Black Tie is a nice setting. Certainly a better change to the standard Hotel fare, where the location itself is forgettable. The staff upstairs at NBT was attentive and curteous and even offered refills. Food was minimal, no thanks to plate overloaders (you know who you are), but solved with a trip to the Mamak down the road.&lt;br/&gt;&lt;br/&gt;Its good that Google is finally making itself heard in Malaysia. Their products certainly have a good fit to any Malaysian company as any, and hopefully they will expand out here too. That is of course if Malaysia makes sure broadband just works ...&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;yk&lt;br/&gt;&lt;br/&gt;More info from &lt;a href='http://www.bytebot.net/blog/archives/2009/05/15/google-maps-malaysia-launched'&gt;Colin&lt;/a&gt;.&lt;/span&gt;&lt;br/&gt;Official Pictures &lt;a href='http://picasaweb.google.com/malaysian.events/GoogleMapsMalaysiaBloggerAndDeveloperEvent?authkey=Gv1sRgCPmn9ZWKutLqBA&amp;amp;fgl=true&amp;amp;fgl=true&amp;amp;pli=1#'&gt;here&lt;/a&gt;. Spot the "Kawaii" Camwhorer.&lt;br/&gt;&lt;br/&gt;&lt;img src='http://lh5.ggpht.com/_NATV2G3QyV8/ShFAh9ds4UI/AAAAAAAABK8/f51G4zILVKc/%5BUNSET%5D.jpg?imgmax=800'/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-490981739077281197?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/490981739077281197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=490981739077281197' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/490981739077281197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/490981739077281197'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/05/google-maps-malaysia-launch.html' title='Google Maps Malaysia Launch'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_NATV2G3QyV8/ShEkMQRdbSI/AAAAAAAABKc/0AoqVIH6yY4/s72-c/%5BUNSET%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-4785514704930636391</id><published>2009-05-12T17:50:00.005+08:00</published><updated>2009-05-12T18:25:12.051+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='random'/><title type='text'>Random Pictures #2</title><content type='html'>Here are more strange pictures from around KL between the months of March and April 2009.&lt;br /&gt;&lt;br /&gt;Somewhere in Melawati, by this dumpsite (which obviously has a sign which says dumpsters will be prosecuted), was this strange juxtaposition of beauty and rubbish:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SglIX990OkI/AAAAAAAABJk/K4vsFPQz-As/s1600-h/090315-1100.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 259px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SglIX990OkI/AAAAAAAABJk/K4vsFPQz-As/s400/090315-1100.jpg" alt="" id="BLOGGER_PHOTO_ID_5334874810205092418" border="0" /&gt;&lt;/a&gt;Which prick keeps peacocks nowadays anyway? Some MJ wannabe?&lt;br /&gt;&lt;br /&gt;Driving through the Middle Ring Road, approaching Damansara - yes, everywhere is "Damansara" nowadays, even though its more like Puchong/Kepong/Jinjang. A new sign appeared below the Smart TAG, and it asks for volunteers to test out some MILFs. Or did I read wrong?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SglICCIJfYI/AAAAAAAABJc/TRrOkHCHUU4/s1600-h/090320-1229-MLFF.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 192px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SglICCIJfYI/AAAAAAAABJc/TRrOkHCHUU4/s400/090320-1229-MLFF.jpg" alt="" id="BLOGGER_PHOTO_ID_5334874433365048706" border="0" /&gt;&lt;/a&gt;The dude in the DMAX seems dissapointed.&lt;br /&gt;&lt;br /&gt;In a Factory Outlet Store, there was this reject of a shirt. I wonder what the vendor was thinking when they ordered 50 cartons of these lame yellow "SCO" shirts.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SglIB7Ed_QI/AAAAAAAABJU/xAkoFoL95iI/s1600-h/090324-1351.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 393px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SglIB7Ed_QI/AAAAAAAABJU/xAkoFoL95iI/s400/090324-1351.jpg" alt="" id="BLOGGER_PHOTO_ID_5334874431470566658" border="0" /&gt;&lt;/a&gt;The seagulls look so OpenOffice.org 2.0. And what does "So Cal" mean? iCal? Fail.&lt;br /&gt;&lt;br /&gt;This restaurant seems to be trending with the theme of the season. I wonder if they serve pork? from Mexico?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SglIBxt5xGI/AAAAAAAABJM/pEuNwlKM4rY/s1600-h/090320-1629.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SglIBxt5xGI/AAAAAAAABJM/pEuNwlKM4rY/s400/090320-1629.jpg" alt="" id="BLOGGER_PHOTO_ID_5334874428959999074" border="0" /&gt;&lt;/a&gt;Next door is "Pneumonia Drive Thru".&lt;br /&gt;&lt;br /&gt;An addendum to my "&lt;a href="http://yoonkit.blogspot.com/2009/01/secure-eateries.html"&gt;Secure Eateries&lt;/a&gt;", although its not about security, nor is it about eateries, this new shop in Sri Rampai seems promising to us geeks:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SglIBrRKGTI/AAAAAAAABJE/GsFbgUtPCLE/s1600-h/090310-1301-tty.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SglIBrRKGTI/AAAAAAAABJE/GsFbgUtPCLE/s400/090310-1301-tty.jpg" alt="" id="BLOGGER_PHOTO_ID_5334874427228821810" border="0" /&gt;&lt;/a&gt;How does it work? Do they trade in IPs of open terminals to log in? Well, Ive got bad news for their business: &lt;span style="font-family: courier new; font-weight: bold;"&gt;Ctrl-Alt-[F1-F6]&lt;/span&gt; gives users &lt;span style="font-weight: bold;"&gt;free&lt;/span&gt; terminals! What is the furniture for? Whatever the case, they certainly dont install Windows there!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-4785514704930636391?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/4785514704930636391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=4785514704930636391' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4785514704930636391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4785514704930636391'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/05/random-pictures-2.html' title='Random Pictures #2'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SglIX990OkI/AAAAAAAABJk/K4vsFPQz-As/s72-c/090315-1100.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-3743650120554339934</id><published>2009-05-04T09:40:00.018+08:00</published><updated>2009-05-18T16:52:28.234+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mynpl'/><category scheme='http://www.blogger.com/atom/ns#' term='feva'/><category scheme='http://www.blogger.com/atom/ns#' term='paintball'/><category scheme='http://www.blogger.com/atom/ns#' term='issc'/><title type='text'>MyNPL ISSC 2009 - Feva Division as 1st Runner up</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Having picked up paintball only about 3 months ago, I'd never have thought I'd be involved in a major tournament anytime soon. It all started when my cousin introduced me to a bunch of new but really keen paintballers who practise in a field very close to where I live. They only started late last year, but have since invested significantly in purchasing all the gear AND electronic (meaning: fast) markers ("guns"). They were keen enough for weekly sparring practises which was good for me. Learning the ropes, and how to handle the field.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.kombatzonepaintball.com.my/site/ImageGallery/ImagePreview.aspx?id=ef630ea2-a458-42b5-95d0-a235b2f2d7ef&amp;amp;m=2&amp;amp;c=354944be-8e43-4aec-ba60-65bd79148238&amp;amp;i=0151f876-2b18-43c6-86ad-c56706e78431'&gt;&lt;img src='http://www.kombatzonepaintball.com.my/site/ImageGalleryHandler.ashx?id=0151f876-2b18-43c6-86ad-c56706e78431&amp;amp;blobId=f67c3742-5146-4201-ab92-acd8737ea2c7&amp;amp;prefix=Fullscreen&amp;amp;cache=True' style='margin: 0px auto 10px; float: left; display: block; text-align: right; width: 256px; height: 205px;'/&gt;&lt;/a&gt;Our first action as a team was in a &lt;a href='http://forum.feva.asia/index.php?topic=148.0'&gt;mini, unofficial tournament in KKlub Kombat Zone&lt;/a&gt;, which is where we normally play in. We played as team "Feva Rookies" and came 3rd: a podium finish, but it has to be told, there were only 4 teams participating. So it really wasnt that amazing a feat. We won a Kombat Zone ceramic mug, and a whole box of 2000 pellets to share. &lt;a href='http://team-marksman.blogspot.com/'&gt;Team Marksman Alpha&lt;/a&gt; won the tournament then.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5331917720775369666' alt='' src='http://4.bp.blogspot.com/_NATV2G3QyV8/Sf7G6tZtI8I/AAAAAAAABIM/y1FsZdeE7g8/s320/issc_promo2.jpg' style='float: right; text-align: right; cursor: pointer; width: 226px; height: 108px;'/&gt;&lt;br/&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5331917719289335106' alt='' src='http://1.bp.blogspot.com/_NATV2G3QyV8/Sf7G6n3aDUI/AAAAAAAABIE/ErNgJKmkuis/s320/MY-NPLOfficialLogoVer12+226px.jpg' style='clear: both; float: right; text-align: right; cursor: pointer; width: 226px; height: 105px;'/&gt;Then &lt;a href='http://forum.feva.asia/index.php?topic=180.0'&gt;I asked&lt;/a&gt; if we were going to try out the &lt;a href='http://www.my-npl.org/'&gt;MyNPL&lt;/a&gt; &lt;a href='http://forum.my-npl.org/viewtopic.php?f=3&amp;amp;t=65'&gt;International Super Seven Championship&lt;/a&gt; to be held on the 1-3 May. There was general interest, but until the last week of the deadline, the consensus was that we were not ready in using the regularly sized fields. Kombat Zone is approximately half the size.&lt;br/&gt;&lt;br/&gt;Surprisingly, I got a call from Gilbert, our team Manager one night to submit our details. He pulled everything together and registered us for the tourney. Not only that, eventually he managed to get "Bro" Ariffin (+6019-312088) from &lt;a href='http://www.kombatzonepaintball.com.my/site/page1.aspx'&gt;Kombat Zone&lt;/a&gt; to sponsor our team! Thus the team "Feva Division" was borne.&lt;br/&gt;&lt;br/&gt;So after pouring over the Field layouts which was available online, and a 2 hour team meeting, we thought we were ready for the grueling 3 days of the ISSC.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf7GbRS8-YI/AAAAAAAABH0/al5vqHgMdN4/s1600-h/issc-field-2.jpg' onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}'&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5331917180654909826' alt='' src='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf7GbRS8-YI/AAAAAAAABH0/al5vqHgMdN4/s320/issc-field-2.jpg' style='margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 238px;'/&gt;&lt;/a&gt;On the 1st of May, we arrived early in the morning, registering and checking out the area. Because we were mere Division 4 (or "Young Guns" division), we had to share a canopy with two other teams. It was rather cramped. The Division 1 teams were already at each other in Field 1, while the Division 3 teams were at Field 2. We had to wait till 12pm for our first match.&lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://lh6.ggpht.com/_NATV2G3QyV8/ShEdbuZipJI/AAAAAAAABKE/vio31QzD7-Y/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;We didn't do too well. But we didn't do too bad either. There were only 10 teams registered in D4, and one didn't turn up. So we only had to beat one team to stay in the competition for the knockout stages starting with the Quarter Finals. We lost 3, won 2, drew 2 and won by default 1. This gave us the preliminary position at #7.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://4.bp.blogspot.com/_NATV2G3QyV8/Sf7GbG5DztI/AAAAAAAABHs/70sN5Ag9X5s/s1600-h/ISSC09Day1result.jpg' onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}'&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5331917177861951186' alt='' src='http://4.bp.blogspot.com/_NATV2G3QyV8/Sf7GbG5DztI/AAAAAAAABHs/70sN5Ag9X5s/s320/ISSC09Day1result.jpg' style='margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;'/&gt;&lt;/a&gt;At least we made it to the next day!&lt;br/&gt;&lt;br/&gt;Personally, I had a great time at the later part of the day. I was trying things I learnt observing the more experienced teams exploited throughout the tournament. How they waited in the snake, moved back and forth the knuckles avoiding the pellets. I played about 3 games in the snake and was quite comfortable. &lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://lh6.ggpht.com/_NATV2G3QyV8/ShEdpVpfryI/AAAAAAAABKI/rFavcKUR_84/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;However I didnt move too much, just around the first and second knuckles only. This position however had access to a large part of the field. The centre back, carwash, spike and hammer was always available for picking off. I also managed to hit someone on the left mid can in one game.&lt;br/&gt;&lt;br/&gt;Unfortunately for the Quarter Finals (final 8), we were up against the 2nd best team called "&lt;a href='http://teaminfidelz.blogspot.com/'&gt;Infidelz&lt;/a&gt;". Only started a year ago, they are already "D4 veterans" having competed in two other MyNPL tournaments, reaching podium placements then. They did extremely well in the prelims, and perhaps due to the fatigue at the end of the long day, we managed to draw with them (I took out someone on the break, and traded out with the snake player.)&lt;br/&gt;&lt;br/&gt;So for Saturday, the Quarter finals is setup as the best of three. No points, either total elimination or capturing the flag within the time period.&lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://lh3.ggpht.com/_NATV2G3QyV8/ShEc2MjdSMI/AAAAAAAABJ4/pnNb6U5hmPk/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div align='center'&gt;&lt;img src='http://lh6.ggpht.com/_NATV2G3QyV8/ShEc97GVn7I/AAAAAAAABJ8/vaxSjYM40xs/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;div align='left'&gt;This is when Verat "Conquest", our team captain, architected an ultra high risk and aggressive plan of running down the field and taking the enemies out by surprise. The Ultimate Feva move. So we tried it out on the first game of the Quarter Finals against the technically strong team Infidelz. I ran down the left Dorito side with markers blazing.&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div align='center'&gt;&lt;img src='http://lh5.ggpht.com/_NATV2G3QyV8/ShEdH-kUvDI/AAAAAAAABKA/5TPs4HrxRS8/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;Unfortunately halfway down, my bolt jammed. As I looked down to pull it back, I got hit squarely in the mask. Henry too was out, with similar problems with the mechanical house marker. I was walking back dejectedly to the dead zone, thinking it was the end of the plan. Then I noticed our right flank making great progress with Gilbert "Aquaman" cleaning up the last remnants of Team Infidelz.&lt;br/&gt;&lt;br/&gt;We pulled it off! It was really fast, no more than 45 seconds. Super aggressive, Feva style.&lt;br/&gt;&lt;br/&gt;The second game was slightly less quick, but aggressive nevertheless. We won that too. With two wins, we managed to knock out the mighty Infidelz!&lt;br/&gt;&lt;br/&gt;Unlike the grueling 1st day where we had to play 8 matches, Saturday had only the Quarter Finals scheduled. So, for the Semifinals, we had to wait one more day.&lt;br/&gt;&lt;br/&gt;I spent the rest of Saturday sleeping.&lt;br/&gt;&lt;br/&gt;On Sunday, we arrived at 7am to get ready for our first match against team &lt;a href='http://xodust.blogspot.com/' aiotitle='X-O Dust' aiotarget='false'&gt;"X-O Dust&lt;/a&gt;." They did extremely well in the preliminary rounds, and rose as the favourite, amassing 597 points with 6 wins. They did well in the last MyNPL event in Johor reaching the Quarter Finals.&lt;br/&gt;&lt;br/&gt;We didn't expect to progress further, but were determined to put up a fight.&lt;br/&gt;&lt;br/&gt;I sat out the first game, with Mervyn "Blaze", our import from Team Marksman / Dangerouz Dragonz / Werdna Kids fame, covering the Doritos side. &lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://lh6.ggpht.com/_NATV2G3QyV8/ShEecRzD-yI/AAAAAAAABKQ/cI8aRyNl_Zo/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;We decided to storm the enemy again, and managed to do it in style: We wiped them out without dropping a player.&lt;br/&gt;&lt;br/&gt;The second game I managed to be part of the action. The plan was to push aggressively as well. I made it up to the 50, but got shot out. Fortunately SanRise took my lane and sneaked into the wedge to pick off the players who thought that it was already clear. Then we started dropping players, and it was a brilliant move by the lone Conquest who moved up the snake tape to methodically take out 2 bunkered guys, and finally trading out with their last player. This meant the game ended as a draw!&lt;br/&gt;&lt;br/&gt;I was out of the third game as well, and watched on helpless as our team got thrashed. It was XO Dust payback for the first match by wiping us clean with all 5 of their players remaining alive. So with a Win, Draw, Lose scoreline, it only meant the nerve wrecking One-on-one decider!&lt;br/&gt;&lt;br/&gt;We chose SanRise to represent the team. He calmly stayed in the center back can while the XO Dust player moved swiftly up the field. He finally settled on the Hammer, and snapshot behind the Dorito. It was a thrilling minute which felt like 30 while team Feva huddled looking on. Then the Marshall's keen eye spotted a small splatter on the XO Dust players lower left leg and shouted "Ouuuttt!" and we cheered!&lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://lh5.ggpht.com/_NATV2G3QyV8/ShEeOac-JtI/AAAAAAAABKM/js8IJDjUehg/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;We were actually through to the Finals!&lt;br/&gt;&lt;br/&gt;The time was about 10:30am and the Finals for all divisions would only start at 1pm. This meant a long time to wait out. We had an early A&amp;amp;W lunch and relaxed by the players paddocks. The weather was not as hot as Friday, and we had more room since the other teams who did not make it vacated their spots.&lt;br/&gt;&lt;br/&gt;We also had to think about the new field. Field 1 was played by the Div 1 and Div 2 teams. Over three days, this meant that it was literally covered with paintballs. The amount of paintball pellets used is really quite extraordinary. This also makes it very slippery to run on.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf7G6A091CI/AAAAAAAABH8/1WXgl498hE4/s1600-h/issc-field-1.jpg' onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}'&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5331917708810114082' alt='' src='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf7G6A091CI/AAAAAAAABH8/1WXgl498hE4/s320/issc-field-1.jpg' style='margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 242px;'/&gt;&lt;/a&gt;We had a look at the field, as the marshalls allowed us to walk it. The snake side was extremely exposed with very few bunkers covering it. This put a damper on any fieldwide aggressive moves.&lt;br/&gt;&lt;br/&gt;Our opponents were team "&lt;a href='http://www.xtionpaintball.com/forum/index.php/board,299.0.html'&gt;Destructo&lt;/a&gt;". They too did not expect to advance this far, and only qualified the prelims one place above us at #6. They were only formed 1 weekend before the tourney. So it was a match up of the underdogs. They however had an excellent snake player who was deft, sneaky and deadly.&lt;br/&gt;&lt;br/&gt;So our first game, we played defensive. We bunkered in, forming a rough W. Ultimately with less planning and understanding of the field, we didn't choose the right bunkers and were easily picked off from the sides.&lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://lh6.ggpht.com/_NATV2G3QyV8/ShEhXqg6uNI/AAAAAAAABKY/ZzEEvDbxxOM/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;With not much to lose, we decided: its Feva Time. Aggressive play for the second game. Having to cover the snake side, this meant I had to run down a very exposed area of the field. It meant certain death, but it would be a small sacrifice for my other team mates to pick off the distracted and disoriented enemy. It worked, with our last player Aquaman again deftly clearing up the debris. Fortunately for me it didn't hurt too bad.&lt;br/&gt;&lt;br/&gt;With the scores even, we could either play aggressive or defensive. We decided to go all out. Unfortunately this time, pulling the same trick twice against a smart team did not work, and we were shot out as fast as the last player ran down the 50 yards. As I turned out of the field crossing the tape, their Left Back player accidentally shot through my mask splattering paint into my right ear. Im still picking out orange paint from my ear.&lt;br/&gt;&lt;br/&gt;So it was unfortunate that our aggressive play did not work the last time, but it did provide results for the other times we used against unsuspecting teams. In the long run, nothing beats traditional tactics and building skills in bunkering, snapshooting and team placement. These are skills which we will build up over the weeks and months ahead, but at least we know the fear we can instill in the hearts of our opponents with the Feva aggression.&lt;br/&gt;&lt;br/&gt;As a first time tournament, the result of 1st Runner Up (or 2nd place) is really out of this world. It was beyond our grandest targets, and we were truly happy with the result. Not only do we get to get some silver medals, we got some Redz harnesses from &lt;a href='http://www.werdnahol.com/'&gt;Werdna Hol&lt;/a&gt; and a team prize of RM1300 cash which really is quite good.&lt;br/&gt;&lt;div align='center'&gt;&lt;img src='http://lh3.ggpht.com/_NATV2G3QyV8/ShEe2KutGHI/AAAAAAAABKU/LcXgVDXr4Eo/%5BUNSET%5D.jpg?imgmax=800' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/div&gt;&lt;a href='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf7fovWv1-I/AAAAAAAABIU/FwoGFfCZfE4/s1600-h/FevaDivision_1stRunnerupD4ISSC09.jpg' onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}'&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5331944899852883938' alt='' src='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf7fovWv1-I/AAAAAAAABIU/FwoGFfCZfE4/s400/FevaDivision_1stRunnerupD4ISSC09.jpg' style='margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;'/&gt;&lt;/a&gt;So to my teammates at Feva Division; Mervyn, Gilbert, Verat, Kevin and Henry its been an honour, thanks for the experience and well done!&lt;br/&gt;&lt;a href='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf9trdo7DoI/AAAAAAAABIk/LBwGvEHoSSI/s1600-h/FevaDivision_Kombatzone.jpg' onblur='try {parent.deselectBloggerImageGracefully();} catch(e) {}'&gt;&lt;img border='0' id='BLOGGER_PHOTO_ID_5332101077288029826' alt='' src='http://2.bp.blogspot.com/_NATV2G3QyV8/Sf9trdo7DoI/AAAAAAAABIk/LBwGvEHoSSI/s400/FevaDivision_Kombatzone.jpg' style='margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;'/&gt;&lt;/a&gt;And thanks to Kombat Zone for the sponsorship. More pics available at Verat's &lt;a href='http://album.mindchronicles.com/main.php?g2_itemId=10891'&gt;Gallery&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Paintball is fun.&lt;br/&gt;&lt;br/&gt;yk&lt;br/&gt;&lt;br/&gt;[Updated: 18 May with ResidentEvilChef Foo's excellent pictures]&lt;br/&gt;&lt;br/&gt;Official &lt;a href='http://forum.my-npl.org/viewtopic.php?f=3&amp;amp;t=65'&gt;Results&lt;/a&gt;&lt;br/&gt;More Pictures: &lt;a href='http://www.flickr.com/photos/38073054@N04/3502470093/sizes/o/in/set-72157617620551999/'&gt;cybertrooper2001&lt;br/&gt;&lt;/a&gt;&lt;div align='center'&gt;&lt;a href='http://www.flickr.com/photos/38073054@N04/3502470093/sizes/o/in/set-72157617620551999/'&gt;&lt;img src='http://farm4.static.flickr.com/3629/3502470093_3e622c2df6_o.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;div align='left'&gt;&lt;br/&gt;And the Official Photographer for ISSC, &lt;a href='http://www.residentevilchef.com'&gt;ResidentEvilChef&lt;/a&gt;, Desmond Foo:&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;a href='http://www.residentevilchef.com/ISSC1/content/ISSC1_662_2_large.html'&gt;ISSC Day 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://www.residentevilchef.com/ISSC2/'&gt;ISSC Day 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://www.residentevilchef.com/ISSC3/index_2.html'&gt;ISSC Day 3&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-3743650120554339934?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/3743650120554339934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=3743650120554339934' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3743650120554339934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3743650120554339934'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/05/mynpl-issc-2009-feva-division-as-1st.html' title='MyNPL ISSC 2009 - Feva Division as 1st Runner up'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/Sf7G6tZtI8I/AAAAAAAABIM/y1FsZdeE7g8/s72-c/issc_promo2.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-6195438703386287465</id><published>2009-03-30T14:16:00.004+08:00</published><updated>2009-03-30T15:23:07.988+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wifi'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Realtek 8187b Wifi on the Toshiba Satellite L300</title><content type='html'>I was struggling to get the Wifi working on Ubuntu 8.10 on the Toshiba Satellite L300 over the weekend. I resorted to using the Windows driver with ndiswrapper (ndisgtk is a great UI for it). But the performance was quite bad, and after a reboot, the wlan0 will dissapear.&lt;br /&gt;&lt;br /&gt;Looking at the online forums there seems to be alot of confusion, because the device ID displayed is not 8187 but 8198. One method is to add this new ID in the RTL driver and recompile it.&lt;br /&gt;&lt;br /&gt;However there is an easier way, and to get it working, you will need the backports of legacy drivers installed. In Ubuntu this will install it:&lt;br /&gt;&lt;blockquote&gt;# apt-get install linux-backports-modules-intrepid&lt;/blockquote&gt;When this is installed, you just need to invoke the Realtek driver:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# modprobe rtl8187&lt;/blockquote&gt;NetworkManager should then detect the wifi adaptor and proceed to connect to the network. Make sure that you add &lt;span style="font-family: courier new;"&gt;rtl8187&lt;/span&gt; in &lt;span style="font-family: courier new;"&gt;/etc/modules&lt;/span&gt; for the driver to load up on the next reboot.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-6195438703386287465?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/6195438703386287465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=6195438703386287465' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6195438703386287465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6195438703386287465'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/03/realtek-8187b-wifi-on-toshiba-satellite.html' title='Realtek 8187b Wifi on the Toshiba Satellite L300'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1479851837162158989</id><published>2009-02-26T19:55:00.004+08:00</published><updated>2009-02-26T20:07:50.387+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='fb'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>My new album</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;CREATE THE BEST ALBUM COVER EVER&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here are the rules:&lt;br /&gt;&lt;br /&gt;1 - Go to Wikipedia. Hit “random”&lt;br /&gt;or click &lt;a href="http://en.wikipedia.org/wiki/Special:Random" onmousedown="'return" target="_blank" rel="nofollow"&gt;&lt;span&gt;http://en.wikipedia.org/wi&lt;/span&gt;&lt;wbr&gt;&lt;span class="word_break"&gt;&lt;/span&gt;ki/Special:Random&lt;/a&gt;&lt;br /&gt;The first random Wikipedia article you get is the name of your band.&lt;br /&gt;&lt;br /&gt;2 - Go to Quotations Page and select "random quotations"&lt;br /&gt;or click &lt;a href="http://www.quotationspage.com/random.php3" onmousedown="'return" target="_blank" rel="nofollow"&gt;&lt;span&gt;http://www.quotationspage.&lt;/span&gt;&lt;wbr&gt;&lt;span class="word_break"&gt;&lt;/span&gt;com/random.php3&lt;/a&gt;&lt;br /&gt;The last four or five words of the very last quote on the page is the title of your first album.&lt;br /&gt;&lt;br /&gt;3 - Go to Flickr and click on “explore the last seven days”&lt;br /&gt;or click &lt;a href="http://www.flickr.com/explore/interesting/7days" onmousedown="'return" target="_blank" rel="nofollow"&gt;&lt;span&gt;http://www.flickr.com/expl&lt;/span&gt;&lt;wbr&gt;&lt;span class="word_break"&gt;&lt;/span&gt;ore/interesting/7days&lt;/a&gt;&lt;br /&gt;Third picture, no matter what it is, will be your album cover.&lt;br /&gt;&lt;br /&gt;4 - Use Photoshop, GIMP, Inkscape, or similar to put it all together.&lt;br /&gt;&lt;br /&gt;5 - Post it to FB with this text in the "caption" or "comment" and TAG the friends you want to join in.&lt;br /&gt;&lt;br /&gt;Picture is &lt;a href="http://www.flickr.com/photos/sarahphotographer/3302804836/" onmousedown="'return" target="_blank" rel="nofollow"&gt;&lt;span&gt;http://www.flickr.com/photos/sarahphotographer/3302804836/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quote (title) is: There are two kinds of light--the glow that illuminates, and the glare that obscures.  -    James Thurber&lt;br /&gt;&lt;br /&gt;Band name is from &lt;a href="http://en.wikipedia.org/wiki/Back-face_culling" onmousedown="'return" target="_blank" rel="nofollow"&gt;&lt;span&gt;http://en.wikipedia.org/wiki/Back-face_culling&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And you get:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SaaD9UfHBpI/AAAAAAAAA_c/5cjJ_NJb4wI/s1600-h/backface.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 389px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SaaD9UfHBpI/AAAAAAAAA_c/5cjJ_NJb4wI/s400/backface.png" alt="" id="BLOGGER_PHOTO_ID_5307074300397160082" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1479851837162158989?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1479851837162158989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1479851837162158989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1479851837162158989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1479851837162158989'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/02/my-new-album.html' title='My new album'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/SaaD9UfHBpI/AAAAAAAAA_c/5cjJ_NJb4wI/s72-c/backface.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1030425342654764898</id><published>2009-02-20T08:53:00.004+08:00</published><updated>2009-02-20T09:05:20.127+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IASA'/><category scheme='http://www.blogger.com/atom/ns#' term='acronyms'/><category scheme='http://www.blogger.com/atom/ns#' term='malaysia'/><title type='text'>Hey IASA, check out what your Malaysian Chapter is doing!</title><content type='html'>Obi and I were wondering what our esteemed IASA chapter is doing in Malaysia (IASA-M), so we decided to visit their website. However their address is not obvious, so &lt;a href="http://www.google.com.my/search?q=IASA-M"&gt;google it was&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SZ4AAEswStI/AAAAAAAAA_I/nN2yAgpcBUA/s1600-h/IASA-M.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 316px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SZ4AAEswStI/AAAAAAAAA_I/nN2yAgpcBUA/s400/IASA-M.png" alt="" id="BLOGGER_PHOTO_ID_5304677412350479058" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.urbandictionary.com/define.php?term=IASAM"&gt;IASAM - an acronym that stands for "I almost scullfarked a moose"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Suffice to say, I was surprised at what IASA-M meant. Kids these days ... So for the benefit of the sensitive readers, here is the direct link to IASA-M.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iasahome.org/web/malaysia"&gt;http://www.iasahome.org/web/malaysia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hopefully this would increase their PageRank to avoid further &lt;a href="http://www.openmalaysiablog.com/2008/03/the-elephant-in.html"&gt;embarrassment&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1030425342654764898?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1030425342654764898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1030425342654764898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1030425342654764898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1030425342654764898'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/02/hey-iasa-check-out-what-your-malaysian.html' title='Hey IASA, check out what your Malaysian Chapter is doing!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/SZ4AAEswStI/AAAAAAAAA_I/nN2yAgpcBUA/s72-c/IASA-M.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-71517110563684766</id><published>2009-02-17T18:02:00.004+08:00</published><updated>2009-02-17T18:50:18.909+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ethernet'/><category scheme='http://www.blogger.com/atom/ns#' term='pci'/><category scheme='http://www.blogger.com/atom/ns#' term='Xen'/><category scheme='http://www.blogger.com/atom/ns#' term='nic'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Xen: DomU having exclusive use of an ethernet port</title><content type='html'>I'm setting up an internet facing server which would have a limited number of services exposed. I'm also testing out the capabilities of Xen. Because the hardware I'm testing on is a 3 year old Dell 1U server with no hardware &lt;span style="font-family: courier new;"&gt;RAID0&lt;/span&gt;, I can't use &lt;a href="http://www.vmware.com/products/esxi/"&gt;VMWare ESXi&lt;/a&gt; (the free one) which would be a simple click and run.&lt;br /&gt;&lt;br /&gt;So Xen it is. Installed CentOS 5.2, with software &lt;span style="font-family: courier new;"&gt;RAID0&lt;/span&gt; (thank you mdadm!), and ofcourse with the Xen kernel enabled. Installing a new CentOS image was relatively straightforward;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Use &lt;span style="font-family: courier new;"&gt;virt-install&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you are having problems in setting the ISO image as the source, you can&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;span style="font-family: courier new;"&gt;mount -o loop Centos.DVD.iso /var/www/html/centos/&lt;/span&gt;&lt;/li&gt;&lt;li&gt;use &lt;span style="font-family: courier new;"&gt;http://[localLANIP]/centos&lt;/span&gt; as the repository&lt;/li&gt;&lt;/ol&gt;So back to the issue at hand. The Physical server has two network cards. One is allocated as a trusted LAN card (&lt;span style="font-family: courier new;"&gt;eth0&lt;/span&gt;), and the other card is the untrusted WAN card (&lt;span style="font-family: courier new;"&gt;eth1&lt;/span&gt;). Normally when you install your server, you have access to both ports.&lt;br /&gt;&lt;br /&gt;However if you want the &lt;span style="font-family: courier new;"&gt;Dom0&lt;/span&gt;, the Xen physical server which hosts the child Virtual Machines (&lt;span style="font-family: courier new;"&gt;DomU&lt;/span&gt;) to be insulated from the internet, you need eth1 to be invisible to &lt;span style="font-family: courier new;"&gt;Dom0&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;To do this, you will need to mess around abit. Parts of this guide comes from &lt;a href="http://wiki.phys.ethz.ch/readme/how_to_loopthrough_a_pci_network_card_into_a_xen_domu"&gt;here&lt;/a&gt; and &lt;a href="http://lists.xensource.com/archives/html/xen-users/2008-03/msg00887.html"&gt;here&lt;/a&gt;. And you will need a kernel module called &lt;span style="font-family: courier new;"&gt;pciback&lt;/span&gt;. To test that you have &lt;span style="font-family: courier new;"&gt;pciback&lt;/span&gt; in your system, do this:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# modprobe &lt;span style="font-weight: bold;"&gt;pciback&lt;/span&gt;&lt;br /&gt;# lsmod | grep pci&lt;br /&gt;    pciback         29389  0 &lt;/blockquote&gt;Wonderful, it comes by default with the stock CentOS 5.2 distro. Next you will have to find out which PCI address to look out for.&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;# lspci |grep Ethernet&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;00:03.0 Ethernet controller: 3Com Corporation 3c905C&lt;/span&gt;&lt;br /&gt;00:10.0 Host bridge: Broadcom I/O Bridge with Gigabit Ethernet&lt;br /&gt;00:10.2 Host bridge: Broadcom I/O Bridge with Gigabit Ethernet&lt;br /&gt;01:03.0 Ethernet controller: Intel Corporation Ethernet Pro 100&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;The one I was interested in is the 3Com card. So remember &lt;span style="font-family: courier new;"&gt;00:03.0&lt;/span&gt; . I tried the kernel comand arguments as described in the &lt;a href="http://wiki.phys.ethz.ch/readme/how_to_loopthrough_a_pci_network_card_into_a_xen_domu"&gt;URL above&lt;/a&gt;, but that didn't work. Fortunately in Linuxland, there is always more than one way of doing things.&lt;br /&gt;&lt;br /&gt;First, modify&lt;span style="font-family: courier new;"&gt; /etc/modprobe.conf&lt;/span&gt; manually&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;# cat modprobe.conf&lt;br /&gt;alias eth0 e100&lt;br /&gt;# 090217  yky  Hiding eth1 from Dom0 to be revealed to DomU&lt;br /&gt;#alias eth1 3c59x&lt;br /&gt;options pciback hide=(0000:00:03.0)&lt;/span&gt;&lt;/blockquote&gt;Basically &lt;span style="font-family: courier new;"&gt;pciback&lt;/span&gt; "seizes" any PCI devices before the kernel can get to it. Which is why it has to be preloaded early on. Unfortunately &lt;span style="font-family: courier new;"&gt;pciback&lt;/span&gt; is a dynamic module residing in the filesystem, which may not be in the ramdisk when the kernel is loading. So you will need to add it to the ramdisk by running this command.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;mkinitrd&lt;/span&gt; -f --preload=pciback /boot/initrd-$(uname -r).img $(uname -r)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# ls -la /boot/initrd*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;-rw-------  1 root root 2280203 &lt;/span&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;Feb 17 17:42&lt;/span&gt;&lt;span style="font-family: courier new;"&gt; initrd-2.6.18-92.el5xen.img&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Now you are ready to lose &lt;span style="font-family: courier new;"&gt;eth1&lt;/span&gt; from &lt;span style="font-family: courier new;"&gt;Dom0&lt;/span&gt;. Reboot. To confirm this to yourself, do this:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# dmesg | grep eth&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;e100: eth0: e100_probe: addr 0xfcf00000, irq 18, MAC addr 00:90:27:D3:A8:BC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;eth0: no IPv6 routers present&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;e100: peth0: e100_watchdog: link up, 100Mbps, full-duplex&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;device peth0 entered promiscuous mode&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;xenbr0: port 2(peth0) entering learning state&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;xenbr0: port 2(peth0) entering forwarding state&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# dmesg | grep pciback&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;pciback 0000:00:03.0: seizing device&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pciback: vpci: 0000:00:03.0: assign to virtual slot 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# ls -l /sys/bus/pci/drivers/pciback/ &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;lrwxrwxrwx 1 root root    0 Feb 17 17:52 0000:00:03.0 &lt;/span&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;-&gt; ../../../../devices/pci0000:00/0000:00:03.0&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   ...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Previously &lt;span style="font-family: courier new;"&gt;eth1&lt;/span&gt; would appear where &lt;span style="font-family: courier new;"&gt;eth0&lt;/span&gt; did. Now not so. &lt;span style="font-family: courier new;"&gt;eth1&lt;/span&gt; has been &lt;span style="font-weight: bold;"&gt;seized&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So the next step is to make &lt;span style="font-family: courier new;"&gt;00:03.0&lt;/span&gt; available to the &lt;span style="font-family: courier new;"&gt;DomU&lt;/span&gt; guest VM. To do so, your Xen config file should look something like this:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# cat /etc/xen/DomU1&lt;br /&gt;name = "DomU1"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;memory = 178&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;bootloader = "/usr/bin/pygrub"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;disk = [ "tap:aio:/xen/DomU1/DomU1.img,xvda,w" ]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;vif = [ "mac=00:00:ee:24:9a:73,bridge=xenbr0" ]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;pci = [ "00:03.0" ]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;The &lt;span style="font-family: courier new;"&gt;vif ... bridge=xenbr0&lt;/span&gt; will provide a virtual NIC to the &lt;span style="font-family: courier new;"&gt;DomU&lt;/span&gt; which can be connected to the trusted LAN.&lt;br /&gt;The &lt;span style="font-family: courier new;"&gt;pci = [ "00:03.0" ]&lt;/span&gt; defines the PCI address which is accessible to the &lt;span style="font-family: courier new;"&gt;DomU&lt;/span&gt; to probe. On a successful bootup, it should detect it as a pure 3Com card as &lt;span style="font-family: courier new;"&gt;Dom0&lt;/span&gt; used to do.&lt;br /&gt;&lt;br /&gt;You can now configure &lt;span style="font-family: courier new;"&gt;eth1&lt;/span&gt; as per normal. Dont forget to bring up them firewalls!&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-71517110563684766?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/71517110563684766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=71517110563684766' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/71517110563684766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/71517110563684766'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/02/xen-domu-having-exclusive-use-of.html' title='Xen: DomU having exclusive use of an ethernet port'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2413664546506265927</id><published>2009-02-14T23:36:00.004+08:00</published><updated>2009-02-15T00:02:59.859+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='goo'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>The World of Goo ... and it tastes Goooood in Linuxland!</title><content type='html'>The common problem about running Linux at home is that you get so left out when it comes to games. Ive only just found out about &lt;a href="http://openarena.ws/"&gt;OpenArena&lt;/a&gt; and &lt;a href="http://www.alientrap.org/nexuiz/"&gt;Nexiuz&lt;/a&gt;, which satisfies my FPS needs. Im not much of a puzzle fan, but once in a while, a surprising and really interesting game comes along.&lt;br /&gt;&lt;br /&gt;The game is called "&lt;a href="http://www.worldofgoo.com/"&gt;The World of Goo&lt;/a&gt;". It features blobs which you can manipulate into wobbly shapes to build structures; towers, bridges to get the goo blobs from one place to another. It looks like a really souped up Flash game, except that the gameplay is far more complex and enthralling.&lt;br /&gt;&lt;br /&gt;Whats better, the developers invested a little bit more to release it on Linux (&lt;a href="http://worldofgoo.com/dl2.php?lk=demo"&gt;deb, rpm and tarballs are available.&lt;/a&gt;) And it doesn't cost that much, at USD20.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SZbmFieJFlI/AAAAAAAAA-A/gGbgMaGOIrU/s1600-h/goolinux.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 190px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SZbmFieJFlI/AAAAAAAAA-A/gGbgMaGOIrU/s400/goolinux.jpg" alt="" id="BLOGGER_PHOTO_ID_5302678594102302290" border="0" /&gt;&lt;/a&gt;This is what it looks like when you are tasked to build a bridge over a crevase. The links between the goo blobs are strong, but very wobbly. Any chance of latching on to solid walls must be taken advantaged of to build rigidity.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SZbmEF8XrYI/AAAAAAAAA9g/Ay-foYydXiM/s1600-h/goo-bridge.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SZbmEF8XrYI/AAAAAAAAA9g/Ay-foYydXiM/s400/goo-bridge.png" alt="" id="BLOGGER_PHOTO_ID_5302678569264590210" border="0" /&gt;&lt;/a&gt;I really liked the Frog level, which was entitled "Not too high, not too low" because as you can see in the background of this screenshot, the "tongue" of the frog has to be suspended by the pink baloons which you manipulate. However if you place too many baloons, the ceiling is laced with spikes which would explode em, dropping your bridge to the bottom which destroys your ladder. Its quite evil.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SZbmFeF8LxI/AAAAAAAAA94/mIQyRYUyS70/s1600-h/goo-frog1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SZbmFeF8LxI/AAAAAAAAA94/mIQyRYUyS70/s400/goo-frog1.png" alt="" id="BLOGGER_PHOTO_ID_5302678592927051538" border="0" /&gt;&lt;/a&gt;What Im really impressed about is the art direction of this game. Its very colourful, the UI elements blend extremely well including the blobby cursor. The sound is cute, with a suitable soundtrack. The squeels of the blobs as you pick and place them remind me of Lemmings. Infact the game play is Lemming-like.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SZbmEQavmcI/AAAAAAAAA9o/JF-avG2FGGI/s1600-h/goo-chap1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SZbmEQavmcI/AAAAAAAAA9o/JF-avG2FGGI/s400/goo-chap1.png" alt="" id="BLOGGER_PHOTO_ID_5302678572076341698" border="0" /&gt;&lt;/a&gt;&lt;a href="http://2dboy.com/"&gt;2D Boy&lt;/a&gt;, the developers have not DRM'ed the game, and offered Chapter 1 as the free demo levels. Ive played it Linux, and the performance was smooth, with no problems full-screen and windowed (as pictured). There is virtually no help in the game, not that its needed, but each level has some sign boards which are crypting and haiku like. Annoying but you just have to click on it.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SZbmE9us7ZI/AAAAAAAAA9w/e6ymbdLx2cc/s1600-h/goo-end.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SZbmE9us7ZI/AAAAAAAAA9w/e6ymbdLx2cc/s400/goo-end.png" alt="" id="BLOGGER_PHOTO_ID_5302678584239648146" border="0" /&gt;&lt;/a&gt;Its a really good game, and I would recommend it, especially for those who love abit of puzzle solving, mouse dexterity and good clean fun.&lt;br /&gt;&lt;br /&gt;Read on for more info via &lt;a href="http://linuxlock.blogspot.com/2009/02/linux-gets-gooey-on-friday-13th.html"&gt;the HeliOS project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2413664546506265927?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2413664546506265927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2413664546506265927' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2413664546506265927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2413664546506265927'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/02/world-of-goo-and-it-tastes-goooood-in.html' title='The World of Goo ... and it tastes Goooood in Linuxland!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SZbmFieJFlI/AAAAAAAAA-A/gGbgMaGOIrU/s72-c/goolinux.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-355993773973254109</id><published>2009-02-12T18:33:00.005+08:00</published><updated>2009-02-12T19:04:17.492+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adult pictures'/><title type='text'>Random Pictures #1</title><content type='html'>I spotted a few funny opportunities to snap a few pictures over the past Chinese New Year holidays, and within a span of three days, an Adult theme seemed to emerge.&lt;br /&gt;&lt;br /&gt;First off, spotted in Genting Highlands was this poster which highlighted the attractions at their Theme Park. At attraction #10, Gentings is proud to present "Adult Bumper Cars".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SZP72o57rLI/AAAAAAAAA9A/JpP1QAbWb_4/s1600-h/090128-1701.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SZP72o57rLI/AAAAAAAAA9A/JpP1QAbWb_4/s400/090128-1701.jpg" alt="" id="BLOGGER_PHOTO_ID_5301858102457117874" border="0" /&gt;&lt;/a&gt;Now. I wonder if clothing is optional, or they have private rooms, or there are big exotic dancers. Whatever it is, they'd better practise "Safe Driving."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then the very innocent game called "Super Mario Galaxy" sports a rather unfortunate camera angle when Mario, that hot blooded italian plumber, captures several cute white fluffy rabbits which talk. The picture doesn't do much justice to the lewdness, because the bunny squirms in a way which is rather disturbing. And look at Mario's face, that pervert!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SZP72_gP6nI/AAAAAAAAA9I/6vFojGStKxs/s1600-h/090129-1000-mario-rabbit.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 337px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SZP72_gP6nI/AAAAAAAAA9I/6vFojGStKxs/s400/090129-1000-mario-rabbit.jpg" alt="" id="BLOGGER_PHOTO_ID_5301858108523407986" border="0" /&gt;&lt;/a&gt;Good thing its bunnys and not .... cats. Or goats.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To conclude the "Inadvertent Adult theme", around the streets of Wangsa Maju, a suburb north east of KL, there seems to be a demand for "Spring Return" the ultimate male performance enhancing drug. I wonder if it comes with sound effects - "g-doiiiiiingggg!" "bwaaaang!" Or it actually means something more romantic like the return of Spring, the season. I think not.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SZP724I72lI/AAAAAAAAA9Q/gR7pP7vh_hg/s1600-h/090131-1320.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 260px; height: 400px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SZP724I72lI/AAAAAAAAA9Q/gR7pP7vh_hg/s400/090131-1320.jpg" alt="" id="BLOGGER_PHOTO_ID_5301858106546575954" border="0" /&gt;&lt;/a&gt;Im just wondering if the flat for sale is the neighbour who lives under an addict of this drug. Whatever the case, Ditesh's &lt;a href="http://ditesh.gathani.org/blog/2009/02/06/on-female-ejaculation/"&gt;wifey methods&lt;/a&gt; would be a great complement to this new enhancement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-355993773973254109?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/355993773973254109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=355993773973254109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/355993773973254109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/355993773973254109'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/02/random-pictures-1.html' title='Random Pictures #1'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SZP72o57rLI/AAAAAAAAA9A/JpP1QAbWb_4/s72-c/090128-1701.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5907292647809875519</id><published>2009-01-15T10:25:00.002+08:00</published><updated>2009-01-15T10:40:40.995+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='colbert'/><category scheme='http://www.blogger.com/atom/ns#' term='remix'/><category scheme='http://www.blogger.com/atom/ns#' term='lessig'/><category scheme='http://www.blogger.com/atom/ns#' term='cc'/><title type='text'>Lessig denied by Viacom</title><content type='html'>Was just having a look at Lawrence Lessig's &lt;a href="http://www.lessig.org/blog/"&gt;blog&lt;/a&gt; since he twittered that he had an interview with Stephen Colbert. He puts up YouTube link in the post "&lt;a href="http://www.lessig.org/blog/2009/01/let_the_remixes_begin.html"&gt;let the remixes begin&lt;/a&gt;", unfortunately ...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SW6fPQG0iHI/AAAAAAAAA5o/8q1ax_J6iX4/s1600-h/Lessig1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 375px; height: 400px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SW6fPQG0iHI/AAAAAAAAA5o/8q1ax_J6iX4/s400/Lessig1.png" alt="" id="BLOGGER_PHOTO_ID_5291341696577341554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yup, &lt;span style="font-weight: bold;"&gt;"This video is no longer available due to a copyright claim by Viacom International Inc."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Kinda ironic, but expected.&lt;br /&gt;&lt;br /&gt;However here is the interview which still works (for now)&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IxwvIdr21Uw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/IxwvIdr21Uw&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I loved the great example Colbert makes by "adding value" to Lessigs book by scratching out Lessig's name and drawing a Snoopy inside.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"Now, my book! My Work of Art! You OK with that?"&lt;br /&gt;"OK, put this on EBay, and see if its going to get more than amazon.com"&lt;br /&gt;"Yes!"&lt;br /&gt;"Thats exactly my point! You've added value to that! Bravo."&lt;br /&gt;&lt;br /&gt;Colbert then does what he does best and says:&lt;br /&gt;&lt;br /&gt;" ... nobody should take my work and add anything thats inappropriate, thats what I'm saying. Never, EVER!"&lt;/blockquote&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-5907292647809875519?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/5907292647809875519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=5907292647809875519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5907292647809875519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5907292647809875519'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/01/lessig-denied-by-viacom.html' title='Lessig denied by Viacom'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SW6fPQG0iHI/AAAAAAAAA5o/8q1ax_J6iX4/s72-c/Lessig1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-4330688333228172059</id><published>2009-01-14T18:28:00.006+08:00</published><updated>2009-01-14T19:40:51.602+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scam'/><category scheme='http://www.blogger.com/atom/ns#' term='touch n go'/><title type='text'>Touch N Go Scam</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SW3KyjRI7II/AAAAAAAAA5c/QDPq3PSvcoE/s1600-h/img_card.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 205px; height: 148px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SW3KyjRI7II/AAAAAAAAA5c/QDPq3PSvcoE/s400/img_card.jpg" alt="" id="BLOGGER_PHOTO_ID_5291108107039599746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ive been using the &lt;a href="http://touchngo.com.my"&gt;Touch n Go&lt;/a&gt; card for quite some time, and never had much issues with it. Ive found it really useful especially with the SmartTag device. This is a rant about the little interaction I have with Touch n Go Sdn Bhd, and why they suck.&lt;br /&gt;&lt;br /&gt;A few weeks ago, I got denied entry with a bizzare message "Kad Tamat Tempoh". I never new TnG cards could expire! Because of this, I was inconvenienced in having to queue up and pay cash in the manual toll booths. The problem was that whenever I use any toll booths, its either after work hours, or the TnG offices would be at the opposite side of the road.&lt;br /&gt;&lt;br /&gt;So this morning, I decided to spend two trips around the Ulu Klang Elevated Highway (thats 2 x RM1.50) just to get to an open TnG office. I asked the lady at the counter if she can renew my expired card, and she said sure. Just fill in a form. Great.&lt;br /&gt;&lt;br /&gt;So while I was doing that, she punched in some stuff in her keyboard, and when I was done, she handed me a shiny new TnG card. Hooray, I thought, that was relatively painless.&lt;br /&gt;&lt;br /&gt;Until I looked at the receipt:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SW3Be1SzgUI/AAAAAAAAA5M/afQSuuxOfvg/s1600-h/TouchNGo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 178px; height: 320px;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SW3Be1SzgUI/AAAAAAAAA5M/afQSuuxOfvg/s320/TouchNGo.jpg" alt="" id="BLOGGER_PHOTO_ID_5291097872676389186" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Sorry about the bad pic, but thats the best my phone could do.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-family:courier new;"&gt;Old card No:  00000000000&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Old Mfg No: 0488145330&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;New Card No: 601464000xxxx&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;New Mfg No: 1832xxxxxxx&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Old Card Balance: 70.75&lt;/span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Old Deposit:15.00&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;Amount Forfeited: 0.00&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Card Price: 10.00&lt;/span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;New Card Balance: &lt;span style="font-weight: bold;"&gt;70.75&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="font-family:courier new;"&gt;Warranty Expires om 1/13/2010&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;What was interesting was that there was a Card Price! WHAT? I just needed them to extend my card expiry! So I asked the lady what was this about. She said that&lt;br /&gt;&lt;blockquote&gt;"its standard policy, and instead of taking money, we've deduct it from the Deposit amount."&lt;br /&gt;"Gee thanks, but it doesn't explain why you have deducted RM10 in the first place"&lt;br /&gt;"A new card costs RM10"&lt;br /&gt;"But I've just given you my old card to &lt;span style="font-weight: bold;"&gt;exchange&lt;/span&gt;!"&lt;br /&gt;"Ive given you a new card"&lt;br /&gt;"Its your own companies arbitrary expiry ..."&lt;br /&gt;"Yes, the card expires after 10 years."&lt;br /&gt;"So when does this card expire?"&lt;br /&gt;... she checks the computer and says:&lt;br /&gt;"on 17th April 2016"&lt;br /&gt;"But thats just over 8 years from now: Whats this about 10 years?"&lt;br /&gt;" .... "&lt;br /&gt;"What's this about returning my deposit? My Old Balance was 70, you deduct 10, so why isnt my new balance 75?"&lt;br /&gt;"No, I entered the old balance for you. Previously it was 65"&lt;br /&gt;... I have no way of verifying this. *grrr* Why doesnt the receipt correctly read what it should read? Why can there be manipulation on their end?&lt;br /&gt;"So who can I talk to about this?"&lt;br /&gt;"You can call the Customer Hotline below ... "&lt;br /&gt;"No, do you have a manager?"&lt;br /&gt;"No, we are just resellers ... I too have to call the hotline when I need help"&lt;br /&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;WTF&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So it looked like I was not going to get anywhere with this drone. I then checked their website, and found this helpful &lt;a href="http://touchngo.com.my/whatNew_10yrs.html"&gt;warning&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SW3Gf3MWkaI/AAAAAAAAA5U/sAzTKOpKCaQ/s1600-h/10years.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 283px; height: 400px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SW3Gf3MWkaI/AAAAAAAAA5U/sAzTKOpKCaQ/s400/10years.jpg" alt="" id="BLOGGER_PHOTO_ID_5291103387924205986" border="0" /&gt;&lt;/a&gt;This is consistent with my experience, so I just would like to know why TnG charges for a new card in the first place. A deposit model is &lt;span style="font-style: italic;"&gt;almost&lt;/span&gt; bearable. Considering that people will be loading these pieces of plastic with their own money, if they lose it or abuse it, then its their fault and their monies should be forfeitted. The "loss" to TnG is minimal if not at all: they gain when people do silly things with their cards.&lt;br /&gt;&lt;br /&gt;So what justifies them charging people for using their tickets? Do credit card companies charge for cards? Do LRT companies charge for those paper tickets? No! The cost of the tokens are covered by the services paid for by the consumer.&lt;br /&gt;&lt;br /&gt;Its completely unjustified to charge for something which would arbirarily "expire" after a few years.&lt;br /&gt;&lt;br /&gt;Plus what is the story about reducing the expiry date to 8 years? The warning merely says "give you &lt;span style="font-weight: bold;"&gt;more&lt;/span&gt; years of driving", and doesnt quantify the next round of expiring cards.&lt;br /&gt;&lt;br /&gt;I checked my MyKad (as I've loaded a few RM in it for LRT usage) and she said that it expires in 2050. Er ... why should there be an expiry at all? What is going to happen in 2050 when everyone's MyKads "expire" because of a third party? Will there be IC counters at all TnG outlets while they "exchange" cards again? Gah.&lt;br /&gt;&lt;br /&gt;On speaking to my colleagues, it seems Touch N Go have other scams which they run. They have a loyalty card which refunds 5% off your toll usage. However there are hoops to jump through. These refunds only kick in IF you use more than RM200 per month! My colleague who lives in Klang and therefore pays more toll than an average KLite, says that he barely makes this "quota". Some months like February and holiday filled months make him miss the alloted amount, and he loses out on the RM10 rebate. In addition, there is an annual membership fee of RM20. Plus you have to physically go to an outlet to redeem your rebates. It renders the "loyalty card" completely useless, if not frustrating.&lt;br /&gt;&lt;br /&gt;So Touch N Go, what are you up to really? Your "&lt;a href="http://touchngo.com.my/AboutUs_CompBG.html"&gt;Quality Statement&lt;/a&gt;" says that:&lt;br /&gt;&lt;blockquote&gt;TNGSB aims to &lt;span style="font-weight: bold;"&gt;enhance customer satisfaction&lt;/span&gt; by complying with the requirement of the Quality Management System (QMS) and continually improving the effectiveness of QMS&lt;/blockquote&gt;I have no idea what this QMS is nor what it defines but judging from my interaction, I'd say it can be very spectacular.&lt;br /&gt;&lt;br /&gt;Also, why is it that when we use TnG in carparks, its costs more? Are you charging the carpark operators a surcharge on the traffic? These shortsighted scams of yours certainly hinders on your &lt;a href="http://touchngo.com.my/AboutUs_CompBG.html"&gt;Mission Statement&lt;/a&gt;:&lt;br /&gt;                                      &lt;blockquote style="font-weight: bold;"&gt;To provide secure, swift and convenient cashless payment mode to all&lt;/blockquote&gt;Pfft.&lt;br /&gt;&lt;br /&gt;Ten years on, and we don't have a cashless card as prevalent as Singapore's or Hong Kongs. With 3rd World mentality like TnG, you'd just have to wonder why.&lt;br /&gt;&lt;br /&gt;Yes, its a rant, and Im pissed.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-4330688333228172059?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/4330688333228172059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=4330688333228172059' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4330688333228172059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4330688333228172059'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/01/touch-n-go-scam.html' title='Touch N Go Scam'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SW3KyjRI7II/AAAAAAAAA5c/QDPq3PSvcoE/s72-c/img_card.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-944841880593455912</id><published>2009-01-12T00:55:00.001+08:00</published><updated>2009-01-12T11:36:06.616+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssl'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='restaurant review'/><title type='text'>Secure Eateries</title><content type='html'>Malaysia is a very secure place. Especially at eateries. In the days of free Wifi hotspots, one can never be too careful as we go about our virtual daily lives amongst the interwebs while chomping down on food. This is a review of a new special breed of restaurants which offer something special to the security paranoid.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(102, 51, 102);"&gt;SSL&lt;/span&gt;urping your food.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Along the bustling row of shophouses down Desa Setapak, where a multitude of TAR college students hang out, an enterprising shop owner has taken the latest encryption technologies and married it to the ancient Chinese art of making flour, egg and rice into yummy goodness.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SWqjZkG-LFI/AAAAAAAAA4s/oxpYe6Tsn2w/s1600-h/081124-1904-ssl-noodles.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SWqjZkG-LFI/AAAAAAAAA4s/oxpYe6Tsn2w/s400/081124-1904-ssl-noodles.jpg" alt="" id="BLOGGER_PHOTO_ID_5290220371885042770" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;Restoran SSL Noodle - cannot be stopped by the NSA&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;One can hardly describe the splendours of munching on the 64bit versions, or nowadays the more commonly consumed 128bit strands of noodles. For those who have a hearty appetite, 256 and 512bit noodles, the noodly equivalent of the Double and Quadruple Whoppers, are also available. However because of the high overhead, diners are warned that byting 32 times or 64 times per noodle strand respectively can take alot more time than just slurping it down. To each his own.&lt;br /&gt;&lt;br /&gt;Each serving comes with a sizeable ball of entangled noodles which would leave most crackers crying like babies. There's no way but the brute force method to get through the servings.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Touched_by_His_Noodly_Appendage.jpg/250px-Touched_by_His_Noodly_Appendage.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 250px; height: 188px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Touched_by_His_Noodly_Appendage.jpg/250px-Touched_by_His_Noodly_Appendage.jpg" alt="" title="Touched Securely by his Noodly Appendage" border="0" /&gt;&lt;/a&gt; I can't wait for more SSL type noodles houses to open around the city. Of course please make sure that you check on their Certificates to check on their authenticity, as checked by trusted Authorisors, and not make do with mere Self Signed Certificates.&lt;br /&gt;&lt;br /&gt;Eventually one would expect that in more upmarket places like Bangsar, a rename would be required to reflect the newer and trendier direction of this form of eating: &lt;a href="http://en.wikipedia.org/wiki/Transport_Layer_Security"&gt;TLS&lt;/a&gt; Noodles, or if going international with ready merchandise and quirky branding available, &lt;a href="http://en.wikipedia.org/wiki/Flying_Spaghetti_Monster"&gt;The Flying SSL Spaghetti Monster&lt;/a&gt; would be a ready hit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SSH, people are eating.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Down in the sunny beachside town of Port Dickson, there exists a Curry House which fulfills every sys-admins dream. It may be a very small niche market, but I believe that these guys are on to a real winner.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SWqjZzBscqI/AAAAAAAAA40/YX5Q2-slHL4/s1600-h/081130-0927.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SWqjZzBscqI/AAAAAAAAA40/YX5Q2-slHL4/s400/081130-0927.jpg" alt="" id="BLOGGER_PHOTO_ID_5290220375889441442" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;Secure Dining at Niva SSH Curry House&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Imagine of more entrepreneurs like Niva's were just as enterprising all around the world: There wont be the Great Firewall of China, outsourced SysAdmins would flourish and Net Neutrality would be a no brainer. Forget Cyber-Cafes; that is way too 90's. Today, SSH Cafes are definitely the way to go, dude!&lt;br /&gt;&lt;br /&gt;The great thing about Niva is that you can "single sign on" to his entire franchised outlets around the country. Assuming of course you have valid private and public generated keys. This means that from here, you can make orders, execute deliveries and pay remotely all from one establishment.&lt;br /&gt;&lt;br /&gt;Ditesh has got a great resource to fully maximise Niva's franchise: "&lt;a href="http://ditesh.gathani.org/blog/2009/01/09/that-bag-of-ssh-tips-and-tricks/"&gt;That bag of SSH tips and tricks&lt;/a&gt;," and I can attest to the fact that Niva supports all the features and benefits of SSH.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://chaos.troll.no/%7Eshausman/blog/vadai.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 150px;" src="http://chaos.troll.no/%7Eshausman/blog/vadai.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Reverse SSH tunnels? No problem! Niva will deliver your &lt;a href="http://en.wikipedia.org/wiki/Chapati"&gt;chapatis&lt;/a&gt; directly to your office even though there is a "No eating in your cubicle" policy enforced by management. Forwarding goodness? definitely: Niva can hop skip and jump through those tight firewall hoops to get those vadais where you want them.&lt;br /&gt;&lt;br /&gt;Secrecy? All the foodstuff is encrypted to ensure that nobody knows whats inside. So that smelly &lt;a href="http://en.wikipedia.org/wiki/Thosai"&gt;Thosai&lt;/a&gt; bawang tambah garlic will never be detected by anyone until it gets reconstituted at your desktop.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Good&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Eating in these restaurants guarantee that no eavesdropping will occur. This makes Cabal meetings super convenient (take that, Pelita!) The food itself is mediocre, but it is the added service which makes the experience totally Awesome.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Bad&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The waitressing service. They either expect every browser to do all the heavy lifting, or each patron to type out every order themselves. They just provide the freely available Ports.&lt;br /&gt;&lt;br /&gt;There are far too few secure eateries in Malaysia. Once would expect that with the growing IT literacy in the general public would encourage more SSL and SSH type shops to thrive. I believe its the dropping regard for terminal based commands.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Future&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Government should do more to promote these establishments. Triple tax deductions, science or government grants and Preferential policies should apply. The promotion of these eateries is crucial for the success of the &lt;span style="font-weight: bold;"&gt;Multimedia Supper Corridor&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;There's only upside to this market, and its wonderful that Malaysia has taken a lead on this. I don't expect any other country to have Security as their main selling theme to their eateries now do you ... ?&lt;br /&gt;&lt;br /&gt;["Thank Gawd Its not Vista" - TGIV does not count.]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-944841880593455912?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/944841880593455912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=944841880593455912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/944841880593455912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/944841880593455912'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/01/secure-eateries.html' title='Secure Eateries'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/SWqjZkG-LFI/AAAAAAAAA4s/oxpYe6Tsn2w/s72-c/081124-1904-ssl-noodles.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-9168497757188427216</id><published>2009-01-10T04:38:00.005+08:00</published><updated>2009-01-10T05:51:17.443+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mencoder'/><title type='text'>Squeezing videos</title><content type='html'>Sometimes you just need to squish some videos to fit into single sided DVD of &lt;a style="font-weight: bold;" href="http://www.osta.org/technology/dvdqa/dvdqa6.htm"&gt;4,482MB&lt;/a&gt;. So if you've got a 1hr video file which is 500MB or so, and would like to reduce the size to about 300MB, use this:&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;mencoder &lt;/span&gt;&lt;span style="font-family: courier new;"&gt;-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:&lt;span style="font-weight: bold;"&gt;vbitrate=650&lt;/span&gt; -oac copy orig.avi -o squished.avi&lt;/span&gt;&lt;/blockquote&gt;Here's a quick rundown of what the flags mean:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;-ovc lavc&lt;/span&gt;: Use the libavcodec to encode&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;-lavcopts&lt;/span&gt;: sets up the options&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;vcodec=mpeg4:&lt;/span&gt; i.e. Divx&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;vpass=1: &lt;/span&gt;this is not really necessary, but would be useful if you want to re-encode this in the second pass. This generates a file called divx2pass.log, which will be used for vpass=2.&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;vbitrate=650:&lt;/span&gt; here is where I've skipped a stepped, and forced a bitrate for video. Adjust this if you need to squeeze another meg or so.&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;-oac copy:&lt;/span&gt; just copy the audio portion as is.&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;orig.avi:&lt;/span&gt; the original video&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;-o squished.avi:&lt;/span&gt; the squished, output video&lt;br /&gt;&lt;/blockquote&gt;This would give something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-weight: bold;"&gt;MEncoder&lt;/span&gt; 2:1.0~rc2-0ubuntu17 (C) 2000-2007 MPlayer Team&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;CPU: AMD Athlon(tm) 64 Processor 3000+ (Family: 15, Model: 47, Stepping: 0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;AVI file format detected.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;VIDEO:  [XVID]  608x336  24bpp  23.976 fps  1267.5 kbps (154.7 kbyte/s)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[V] filefmt:3  fourcc:0x44495658  size:608x336  fps:23.98  ftime:=0.0417&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Opening video filter: [expand osd=1]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;==========================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;==========================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;audiocodec: framecopy (format=55 chans=2 rate=48000 bits=16 B/s=16000 sample-0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;VDec: vo config request - 608 x 336 (preferred colorspace: Planar YV12)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;Movie-Aspect is 1.81:1 - prescaling to correct movie aspect.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;videocodec: libavcodec (608x336 fourcc=34504d46 [FMP4])&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;Pos: 120.3s   2884f ( 4%) 76.31fps Trem:  13min &lt;span style="font-weight: bold;"&gt;253mb&lt;/span&gt;  A-V:0.041 [651:123]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The original file was 576MB, while the re-encoded file is projected to be 253MB and all done 13 minutes!&lt;br /&gt;&lt;br /&gt;There are more tricks with MEncoder, and this resource is really useful: "&lt;a aiotitle="Encoding with Mencoder" href="http://web.njit.edu/all_topics/Prog_Lang_Docs/html/mplayer/encoding.html"&gt;Encoding with MEncoder&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-9168497757188427216?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/9168497757188427216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=9168497757188427216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9168497757188427216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9168497757188427216'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/01/squeezing-videos.html' title='Squeezing videos'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7984535199928302911</id><published>2009-01-09T14:42:00.005+08:00</published><updated>2009-01-09T14:55:06.043+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='israel'/><category scheme='http://www.blogger.com/atom/ns#' term='mercy'/><category scheme='http://www.blogger.com/atom/ns#' term='palestine'/><title type='text'>Help MERCY Malaysia help Palestine</title><content type='html'>I don't care who's at fault. All I care is that people are in dire need of help, and we can do something about it.&lt;br /&gt;&lt;br /&gt;Ive given a small donation to MERCY Malaysia, as Dr Jemilah Mahmood has procured over USD100K of medical supplies ready to be delivered to Gaza via Egypt. Her work is certainly noble and worth supporting. See what they are up to, and their frustrations at the Egyptian border.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dFEyyZiTrT8&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/dFEyyZiTrT8&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;According to &lt;a href="http://yasminthefilmmaker.blogspot.com/2009/01/some-news-from-dr-jemilah-of-mercy.html"&gt;Yasmin Ahmad's blog&lt;/a&gt;, they managed to transfer 50 tons of supplies. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;As Dr Jemilah often says, "No amount is too small, and will be gratefully received."&lt;br /&gt;And who knows, the 10 ringgit that you gather may seem small, it could translate into some suture (medical sewing) which would stop a child from bleeding to death.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;So please give some to a respectable organisation like &lt;a href="http://www.mercy.org.my"&gt;MERCY Malaysia&lt;/a&gt; (CIMB account number: 14240006561053) I did it via &lt;a href="https://www.maybank2u.com.my/mbb/scripts/mbb_login.jsp?do=Login"&gt;Maybank2u&lt;/a&gt;, and it took less than 2 minutes (including the TAC wait).&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7984535199928302911?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7984535199928302911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7984535199928302911' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7984535199928302911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7984535199928302911'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/01/help-mercy-malaysia-help-palestine.html' title='Help MERCY Malaysia help Palestine'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5913625734284987942</id><published>2009-01-09T09:08:00.007+08:00</published><updated>2009-02-12T19:07:34.727+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='traffic'/><category scheme='http://www.blogger.com/atom/ns#' term='DUKE'/><title type='text'>DUKE - Duta Ulu Klang Expressway - so far so good!</title><content type='html'>Today was the opening of the &lt;a href="http://en.wikipedia.org/wiki/Duta-Ulu_Klang_Expressway"&gt;Duta Ulu Klang Expressway (DUKE)&lt;/a&gt; and I jumped to the opportunity to test it out. The reason being, driving around the Second Middle Ring Road (MRR2 or Jalan Linkaran Tengah 2) has been such a chore lately as it congests up after Zoo View, Kampung Pasir, all the way along Bukit Antarabangsa till the interchange with Jalan Ampang - for no apparent reason. I really do not understand why there is a standstill at all, considering the flyover over Jalan Ampang to Cheras is free flowing.&lt;br /&gt;&lt;br /&gt;So DUKE is the answer for me: to bypass all the cars around Bukit Antarabangsa. Here is &lt;a href="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;msa=0&amp;amp;msid=107291514061921204351.000460026e7ea7a95fb2d&amp;amp;ll=3.190736,101.72473&amp;amp;spn=0.058103,0.090036&amp;amp;t=h&amp;amp;z=14"&gt;the map&lt;/a&gt; which I've colour coded to indicate traffic congestion (the redder, the more traffic), and my alternate route from Melawati to Ampang (in green towards DUKE). Click for glorious technicolour.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SWarcIDHpvI/AAAAAAAAA28/kZuH4JFz_68/s1600-h/DUKE.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 345px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SWarcIDHpvI/AAAAAAAAA28/kZuH4JFz_68/s400/DUKE.png" alt="" id="BLOGGER_PHOTO_ID_5289103312078481138" border="0" /&gt;&lt;/a&gt;The turnoff from Wangsa Maju to DUKE along Jelatek was rather abrupt, and the road in today was especially messy with gravel. But once you are on, its plain sailing towards the rolling (and currently dangerous) hills of Bukit Antarabangsa. Its quite a sight.&lt;br /&gt;&lt;br /&gt;After a few kilometers, the exits are clearly marked: one going North back towards Melawati / Gentings) and the other south towards Jln Ampang. I took the Jln Ampang exit, to rejoin the madness of the congestion.&lt;br /&gt;&lt;br /&gt;Merging with the traffic was relatively easy, as I was the rare ones to approach from DUKE. There was only one other car; a white Kancil which tried the new Expressway.&lt;br /&gt;&lt;br /&gt;Then it was the usual trudge to get past the corner, for normal traffic again.&lt;br /&gt;&lt;br /&gt;Overall, the time taken was about 15 minutes for a journey which took 45 minutes yesterday. So its a real time saver for now.&lt;br /&gt;&lt;br /&gt;I did not notice any toll booths, so I can use this route for free indefinitely. The booths are further up the Expressway around the Air Panas / Setapak area. DUKE is not fully complete yet. It currently terminates at Sentul which leads either to the city, or to the new Expressway link (another toll) which feeds traffic to either Batu Caves or Genting Highlands, i.e. meeting MRR2 on the north east.&lt;br /&gt;&lt;br /&gt;I am really happy that the DUKE designers didn't do a AKLEH (Ampang - KL Elevated Highway) by not having fully formed interchanges, i.e. only allowing traffic into the highway and not allowing traffic to get off unless they pay the toll charges twice. However I wonder if this would mean that the Mat Rempits or KL Drifters will now use the Jelatek / Ampang section of DUKE to practise.&lt;br /&gt;&lt;br /&gt;Try it out, and hopefully there are more people from the area needing to get to Jelatek/Setapak/Sentul/Duta than more people trying to get to Jalan Ampang. Otherwise DUKE will just exaberate the problem.&lt;br /&gt;&lt;br /&gt;yk&lt;br /&gt;&lt;br /&gt;[Update: 12th Feb 2009: They have started charging for tolls, which is great, because the feed into MRR2 was starting to get jammed in the morning. Yahoo for me.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-5913625734284987942?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/5913625734284987942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=5913625734284987942' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5913625734284987942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5913625734284987942'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/01/duke-duta-ulu-klang-expressway-so-far.html' title='DUKE - Duta Ulu Klang Expressway - so far so good!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SWarcIDHpvI/AAAAAAAAA28/kZuH4JFz_68/s72-c/DUKE.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-914829326571914283</id><published>2009-01-06T17:02:00.007+08:00</published><updated>2009-01-06T17:19:58.758+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Starting simple with Python - CSV to SQL</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.python.org/images/python-logo.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 211px; height: 71px;" src="http://www.python.org/images/python-logo.gif" alt="" border="0" /&gt;&lt;/a&gt;Well, time to learn a new language, and what better than &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;? Here's my first attempt at it, to solve a very simple admin task I had to do, which was to change a csv file to a series of SQL updates.&lt;br /&gt;&lt;br /&gt;There's just a small bit of logic required; to skip over empty fields, and sanitizing the input, so overall its a really simple piece of code. Ive added some stuff like command like arguments, but of course havent written error checking, nor usage help. What is strange about Python is that its really sensitive to what sort of indents you use. Tabs are not the same as spaces, so please be very careful, else be wary of this infamous error:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;IndentationError: unindent does not match any outer indentation level&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Here's the code, which I'm sure I'll be referring to in the near future.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys&lt;br /&gt;import csv&lt;br /&gt;&lt;br /&gt;destinations = csv.reader( open( sys.argv[1], "rU" ) )&lt;br /&gt;&lt;br /&gt;for data in destinations:&lt;br /&gt; if (data[1] != ""):&lt;br /&gt;  country = data[0].replace( "'", "\\'" )&lt;br /&gt;  print "update Country set ShipMethod = '" + data[1] + "' where CountryName = '" + country + "'; "&lt;br /&gt; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-914829326571914283?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/914829326571914283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=914829326571914283' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/914829326571914283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/914829326571914283'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2009/01/starting-simple-with-python-csv-to-sql.html' title='Starting simple with Python - CSV to SQL'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-580021106854472010</id><published>2008-12-30T14:38:00.004+08:00</published><updated>2008-12-30T14:48:22.200+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='engrish'/><title type='text'>My first entry to Engrish - Pictures That Is Your Funny Engrish</title><content type='html'>&lt;a aiotarget="false" aiotitle="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_NATV2G3QyV8/SUcrqvizoNI/AAAAAAAAAt4/wJN9TEfZwpc/s800/IMG00218-20081205-0947.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 800px; height: 600px;" src="http://lh5.ggpht.com/_NATV2G3QyV8/SUcrqvizoNI/AAAAAAAAAt4/wJN9TEfZwpc/s800/IMG00218-20081205-0947.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; text-align: center;"&gt;"Mafia not allowed in Kitchen"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I sent this picture to engrishfunny@gmail.com on the 16th, and they must have so many contributions that it has taken them 10 days to post it on their blog of terribly translated english signs.&lt;br /&gt;&lt;br /&gt;It is now available for all to see and comment on here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://engrishfunny.com/2008/12/27/engrish-mafia-not-allowed-in-kitchen/"&gt;http://engrishfunny.com/2008/12/27/engrish-mafia-not-allowed-in-kitchen/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BTW, the picture was taken in a corner hawker shoplot along Jalan Imbi - they serve great konlow and Ipoh sarhorfun.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-580021106854472010?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/580021106854472010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=580021106854472010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/580021106854472010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/580021106854472010'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/12/my-first-entry-to-engrish-pictures-that.html' title='My first entry to Engrish - Pictures That Is Your Funny Engrish'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_NATV2G3QyV8/SUcrqvizoNI/AAAAAAAAAt4/wJN9TEfZwpc/s72-c/IMG00218-20081205-0947.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-793622148242941581</id><published>2008-11-26T19:54:00.005+08:00</published><updated>2008-11-26T20:11:22.118+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powerpoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sucks'/><category scheme='http://www.blogger.com/atom/ns#' term='clippy'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft office'/><title type='text'>Proprietary File Lock-OUT!</title><content type='html'>Got a query from a colleague to help open a PowerPoint file, from his client. It may be password protected (who password protects presentations?!!!) so it may cause problems ...&lt;br /&gt;&lt;br /&gt;Sure enough, OpenOffice.org complains:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SS06GSDH6UI/AAAAAAAAAns/8CvkslSNfkg/s1600-h/081126-OOo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 110px;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SS06GSDH6UI/AAAAAAAAAns/8CvkslSNfkg/s400/081126-OOo.png" alt="" id="BLOGGER_PHOTO_ID_5272934618319284546" border="0" /&gt;&lt;/a&gt;Argh.&lt;br /&gt;&lt;br /&gt;So I was forced to install Microsoft Office, which I have been avoiding like the plague. To keep it as far away as possible, I put it in a Virtual Machine. Waited the 15 minutes to install, and loaded the file up. This is the wonderfully helpful error I got:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SS06GZgQmAI/AAAAAAAAAn0/nhFkAYRrHBE/s1600-h/081126-ppt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 235px;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SS06GZgQmAI/AAAAAAAAAn0/nhFkAYRrHBE/s400/081126-ppt.png" alt="" id="BLOGGER_PHOTO_ID_5272934620320536578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;"PowerPoint can't open the type of file represented by M:\xxxx.ppt"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;WHAT?! So much for the "de-facto" file format which everyone uses! Im so happy I haven't been using .doc/.xls/.ppt for over 5 years now. None of this rubbish. Real open formats for me, thanks.&lt;br /&gt;&lt;br /&gt;And look at that smugfaced Clippy! No wonder people hate him!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;@#!$!@$!!!@#%&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;*Uninstall Microsoft Office - that pile of crap*&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-793622148242941581?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/793622148242941581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=793622148242941581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/793622148242941581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/793622148242941581'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/11/proprietary-file-lock-out.html' title='Proprietary File Lock-OUT!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SS06GSDH6UI/AAAAAAAAAns/8CvkslSNfkg/s72-c/081126-OOo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-6256067988287142026</id><published>2008-11-09T01:34:00.004+08:00</published><updated>2008-11-09T01:45:34.054+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foss.my'/><title type='text'>Fantastic first day at foss.my!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/sumardi/3011042781/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 335px;" src="http://farm4.static.flickr.com/3168/3011042781_cfc529a487.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today was &lt;a href="http://foss.my"&gt;foss.my&lt;/a&gt;! With only 40 odd days to prepare for this, the committee certainly pulled it off! It was really enjoyable...&lt;br /&gt;&lt;br /&gt;Here were my tweets, starting from 7 Nov, Friday 4pm:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;Oh. Just found out that Im giving the keynote at foss.my ... hopefully not much to update on the slide! (yes just one). &lt;span style="font-size:78%;"&gt;4:09 PM yesterday (7 Nov) from TwitterFox &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@&lt;a href="http://twitter.com/aizatto"&gt;aizatto&lt;/a&gt; just one slide, remember? &lt;span style="font-size:78%;"&gt;5:09 PM yesterday from TwitterFox in reply to aizatto&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@angch OK! Good luck in setting things up. Make sure xrandr works with the projectors. &lt;span style="font-size:78%;"&gt;5:18 PM yesterday from TwitterFox in reply to angch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Checking the slide for fossmy. &lt;span style="font-size:78%;"&gt;about 24 hours ago from TwitterFox&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Awake! Bleary eyed, but off to fossmy now. &lt;span style="font-size:78%;"&gt;about 17 hours ago (8am Saturday 8 Nov) from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Alright! At #fossmy now! My keynote shd be on soon, after the registration queue gets shorter. &lt;span style="font-size:78%;"&gt;about 16 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;30 speakers at #fossmy, and OLPCs to be given out!   &lt;span style="font-size:78%;"&gt;about 16 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3189/3011115621_488846ec65.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 500px; height: 335px;" src="http://farm4.static.flickr.com/3189/3011115621_488846ec65.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Heh @rajdylan's guitar skills abit rusty, but it was fun! &lt;span style="font-size:78%;"&gt;about 15 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@&lt;a href="http://twitter.com/brianritchie"&gt;brianritchie&lt;/a&gt; ah, its always cheesy, but brings a smile all the time. &lt;span style="font-size:78%;"&gt;about 15 hours ago from TwitterBerry in reply to brianritchie&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Whoah, Twitter is busy at #fossmy &lt;span style="font-size:78%;"&gt;about 15 hours ago from TwitterBerry&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;@&lt;a href="http://twitter.com/brianritchie"&gt;brianritchie&lt;/a&gt; ill be here both days! &lt;span style="font-size:78%;"&gt;about 14 hours ago from TwitterBerry in reply to brianritchie&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hmm @&lt;a href="http://twitter.com/seraphine"&gt;seraphine&lt;/a&gt;, maybe we need a BOF for twitter at #fossmy to add them twits. &lt;span style="font-size:78%;"&gt;about 14 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@&lt;a href="http://twitter.com/aizatto"&gt;aizatto&lt;/a&gt; just 30 hours to go! Eat sugar. &lt;span style="font-size:78%;"&gt;about 14 hours ago from TwitterBerry in reply to aizatto&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bought a Inkscape sticker at the foyer of #fossmy. Cute! Get your own, you call the price. &lt;span style="font-size:78%;"&gt;about 14 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#fossmy "customers should have a choice" - Microsoft &lt;span style="font-size:78%;"&gt;about 13 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"Windows is a framework to support DRM. Novell is working on it for Linux" - Microsoft &lt;span style="font-size:78%;"&gt;about 13 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Accessibility talk by @&lt;a href="http://twitter.com/kaeru"&gt;kaeru&lt;/a&gt; at #fossmy. &lt;span style="font-size:78%;"&gt;about 13 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Fadlin will be demoing how a blind user uses the gnome desktop with assistive tech at #fossmy &lt;span style="font-size:78%;"&gt;about 12 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Not everyday you can drop off Dylan to a guitar lesson &lt;span style="font-size:78%;"&gt;about 12 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Malaysian Association to the Blind will be rolling out Linux desktops to their members in 2009. #fossmy ftw! &lt;span style="font-size:78%;"&gt;about 12 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anybody with old &lt;span style="font-weight: bold;"&gt;DDR1&lt;/span&gt; ram is required to upgrade Mal Assoc for Blind computers. If u have any old PCs, please contact @&lt;a href="http://twitter.com/kaeru"&gt;kaeru&lt;/a&gt; &lt;span style="font-size:78%;"&gt;about 12 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Earth247.tv by @&lt;a href="http://twitter.com/cerventus"&gt;cerventus&lt;/a&gt;. - "Drupal has a high learning curve, but everything else is sucky after it" &lt;span style="font-size:78%;"&gt;about 11 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Darn u @&lt;a href="http://twitter.com/cerventus"&gt;cerventus&lt;/a&gt; and your audience participation! I'm running around passing the mikes to people at #fossmy &lt;span style="font-size:78%;"&gt;about 10 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@brianritchie I was the sneakernet! &lt;span style="font-size:78%;"&gt;about 10 hours ago from TwitterBerry in reply to brianritchie&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;30k mysql queries per second with memcached instead of 6k on a good day without. Mixi tech talk by Toru @&lt;a href="http://twitter.com/tmaesaka"&gt;tmaesaka&lt;/a&gt; at #fossmy &lt;span style="font-size:78%;"&gt;about 10 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mixi is beta, but corporate thinks its "better"! &lt;span style="font-size:78%;"&gt;about 10 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ruby talk by @&lt;a href="http://twitter.com/aizatto"&gt;aizatto&lt;/a&gt;. He doesn't need the mike. &lt;span style="font-size:78%;"&gt;about 9 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aizat gives love to OSX filesystem events. I thunk it was #fossmy? &lt;span style="font-size:78%;"&gt;about 9 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@&lt;a href="http://twitter.com/seraphine"&gt;seraphine&lt;/a&gt; @&lt;a href="http://twitter.com/cheeaun"&gt;cheeaun&lt;/a&gt; - with 20% less pay? &lt;span style="font-size:78%;"&gt;about 9 hours ago from TwitterBerry in reply to seraphine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@kagesenshi good work dude! Thanks for carrying the boxes up for me. &lt;span style="font-size:78%;"&gt;about 8 hours ago from TwitterBerry in reply to kagesenshi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Blender Inkscape and GIMP - BIG stack for digital content creation! Lightning talks at #fossmy ftw! &lt;span style="font-size:78%;"&gt;about 8 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@fossmy - GOD wins with lightning talks. Zeus maybe! &lt;span style="font-size:78%;"&gt;about 8 hours ago from TwitterBerry in reply to fossmy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"Regularity is important to keep the community growing." - @&lt;a href="http://twitter.com/piawaugh"&gt;piawaugh&lt;/a&gt; at #fossmy &lt;span style="font-size:78%;"&gt;about 8 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@&lt;a href="http://twitter.com/cheeaun"&gt;cheeaun&lt;/a&gt; where are you, we haven't met. &lt;span style="font-size:78%;"&gt;about 8 hours ago from TwitterBerry in reply to cheeaun&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"Linux Australia is a terrible name because its more than linux" - @&lt;a href="http://twitter.com/piawaugh"&gt;piawaugh&lt;/a&gt; ... "Change your NAME!!!" - @rms &lt;span style="font-size:78%;"&gt;about 7 hours (6pm) ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"Hacking with your friends on FOSS is a legitimate career move!" - @&lt;a href="http://twitter.com/piawaugh"&gt;piawaugh&lt;/a&gt; at #fossmy &lt;span style="font-size:78%;"&gt;about 7 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"New South Wales is rolling out 250k OpenOffice.org to their teachers." - @&lt;a href="http://twitter.com/piawaugh"&gt;piawaugh&lt;/a&gt; at #fossmy &lt;span style="font-size:78%;"&gt;about 7 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"Mad Dog Hall totally inspired me at the first LCA, for me to contriute" - @&lt;a href="http://twitter.com/piawaugh"&gt;piawaugh&lt;/a&gt; ... Hopefully someone here at #fossmy will be inspired &lt;span style="font-size:78%;"&gt;about 7 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/sumardi/3012666222/"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 335px; height: 500px;" src="http://farm4.static.flickr.com/3284/3012666222_227ac681d0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"A dozen good journalists in Australia who are clueful about FOSS. There is interest now in the Biz and Govt community" - @&lt;a href="http://twitter.com/piawaugh"&gt;piawaugh&lt;/a&gt; #fossmy &lt;span style="font-size:78%;"&gt;about 7 hours ago from TwitterBerry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cambridge 5 Card Mao ftw!!! Thanks @&lt;a href="http://twitter.com/piawaugh"&gt;piawaugh&lt;/a&gt;! &lt;span style="font-size:78%;"&gt;about 3 hours ago from TwitterBerry&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;For more tweets on foss.my, click &lt;a href="http://twitter.com/fossmy"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It was a really eventful day, jam packed with good quality talks. Now to sleep for more goodness tomorrow.&lt;br /&gt;&lt;br /&gt;yk&lt;br /&gt;&lt;br /&gt;This picture was on our pre foss.my meeting at Pelita with Pia Waugh (thanks, aizat!):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3073/3010896516_33a1c0089c.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 375px;" src="http://farm4.static.flickr.com/3073/3010896516_33a1c0089c.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[Thanks &lt;a href="http://www.flickr.com/photos/sumardi/archives/date-posted/2008/11/07/"&gt;sumardi&lt;/a&gt; for the most excellent pictures of foss.my, day 1]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[btw, to reverse the order of twits, copy and paste it into a text file and &lt;a href="http://www.engin.umd.umich.edu/CIS/course.des/cis400/awk/reverse.txt"&gt;use awk&lt;/a&gt;:&lt;br /&gt;&lt;/span&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; awk ' { line[NR] = $0 }&lt;br /&gt;END  { for (i=NR;i&gt;0;i--)&lt;br /&gt;print line[i] }' twitter.txt &gt; rettiwt.txt&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-6256067988287142026?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/6256067988287142026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=6256067988287142026' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6256067988287142026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6256067988287142026'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/11/fantastic-first-day-at-fossmy.html' title='Fantastic first day at foss.my!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3168/3011042781_cfc529a487_t.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1591833787022059552</id><published>2008-10-22T11:21:00.004+08:00</published><updated>2008-10-22T18:25:20.425+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tmnet'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='wang'/><title type='text'>Misnamed Package</title><content type='html'>Intech yesterday had these TMNet advertisements:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SP6cm7TOIhI/AAAAAAAAAbo/DMn2eTxofVk/s1600-h/081021-WangPackage-circ.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SP6cm7TOIhI/AAAAAAAAAbo/DMn2eTxofVk/s400/081021-WangPackage-circ.jpg" alt="" id="BLOGGER_PHOTO_ID_5259813607382589970" border="0" /&gt;&lt;/a&gt;'Wang' means money in malay, however combining it with 'Package' certainly gives it a whole different spin. This poor combination is definitely a branding fail for TMNet.&lt;br /&gt;&lt;br /&gt;For those unclear of what 'Wang' could be a slang of, &lt;a href="http://jwz.livejournal.com/230575.html"&gt;JonJonB clearly illustrates what it means&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;Purely in the interests of science, I have replaced the word "wand" with "wang" in the first Harry Potter Book &lt;span style="font-size:85%;"&gt;... &lt;a href="http://jwz.livejournal.com/230575.html"&gt;(read it)&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;This will certainly evoke horrible imagery when you next go to Sungai Wang.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1591833787022059552?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1591833787022059552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1591833787022059552' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1591833787022059552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1591833787022059552'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/10/misnamed-package.html' title='Misnamed Package'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SP6cm7TOIhI/AAAAAAAAAbo/DMn2eTxofVk/s72-c/081021-WangPackage-circ.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5127325895367902795</id><published>2008-10-14T17:16:00.009+08:00</published><updated>2008-10-31T10:10:00.736+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='handicapped zone'/><category scheme='http://www.blogger.com/atom/ns#' term='doofus'/><category scheme='http://www.blogger.com/atom/ns#' term='car park'/><title type='text'>Mentally Challenged Parkers</title><content type='html'>While in McDonalds Shah Alam, this young scrawny punk drove his red sports car and parked in the middle of the two handicapped parking bays. So not only did he park in a space allocated for the Physically Challenged, he also took up two spaces for his precious car. I managed to snap a picture of him as he walked by:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SPRtUCIbX4I/AAAAAAAAAWg/SVEGT0DGRt4/s1600-h/IMG00154-20081014-1259.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SPRtUCIbX4I/AAAAAAAAAWg/SVEGT0DGRt4/s400/IMG00154-20081014-1259.jpg" alt="" id="BLOGGER_PHOTO_ID_5256946855985241986" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Me:&lt;/span&gt; Please don't park in the handicapped bay&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Doofus:&lt;/span&gt; Huh?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Me:&lt;/span&gt; Are you physically challenged?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Doofus:&lt;/span&gt; No?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Me:&lt;/span&gt; Then why did you park there?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Doofus:&lt;/span&gt; Cannot ah?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Me:&lt;/span&gt; No!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Doofus:&lt;/span&gt; Who are you?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Me:&lt;/span&gt; Just a concerned citizen.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Doofus:&lt;/span&gt; So? ... Do what you have to do lah&lt;/blockquote&gt;Fine! So I took this picture:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SPRtUNzSCVI/AAAAAAAAAWo/mYxuL4jRyws/s1600-h/IMG00155-20081014-1300.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SPRtUNzSCVI/AAAAAAAAAWo/mYxuL4jRyws/s400/IMG00155-20081014-1300.jpg" alt="" id="BLOGGER_PHOTO_ID_5256946859117775186" border="0" /&gt;&lt;/a&gt;Some may say that technically he is "correct", because the sign says handicapped to the left and right. It doesn't say anything about parking in the middle! Hah. But driver of &lt;span style="font-weight: bold;"&gt;BJD 8282&lt;/span&gt;, you are a true pillock.&lt;br /&gt;&lt;br /&gt;A wonderfully bubbly McDonalds waitress walked by offering free refills (FTW), and I described to her the driver who parked there. 2 minutes later, he was seen driving off and going around in circles looking for a proper place to park.&lt;br /&gt;&lt;br /&gt;However 15 minutes later, two other drivers decided that they too are handicapped, and parked in the spot.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SPRtUeJUK2I/AAAAAAAAAWw/P5Dl6bKdKk8/s1600-h/IMG00156-20081014-1335.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SPRtUeJUK2I/AAAAAAAAAWw/P5Dl6bKdKk8/s400/IMG00156-20081014-1335.jpg" alt="" id="BLOGGER_PHOTO_ID_5256946863505156962" border="0" /&gt;&lt;/a&gt;Drivers of &lt;span style="font-weight: bold;"&gt;BHW 262&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;WMB 4425&lt;/span&gt;, you too must be mentally challenged to be so totally inconsiderate. Shame on you. Parking Cretins.&lt;br /&gt;&lt;br /&gt;yk&lt;br /&gt;&lt;br /&gt;[&lt;span style="font-weight: bold;"&gt;Update: 28 Oct 08&lt;/span&gt;: &lt;a href="http://www.petertan.com/"&gt;Peter Tan&lt;/a&gt; has picked up this item "&lt;a href="http://www.petertan.com/blog/2008/10/28/how-to-become-famous-without-really-trying/"&gt;How to become famous without even trying&lt;/a&gt;" and commented:&lt;br /&gt;&lt;blockquote&gt;Driver of car BJD 8282. Pray very very hard that you never ever officially qualify to use these parking spaces. It is no fun for a disabled person to travel twenty kilometers to run errands only find all accessible parking spaces taken up by inconsiderate people like you and leaving us no place else to park.&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Update: 31 Oct 08:&lt;/span&gt; Eleanor of "Freewheeling" wrote a post "&lt;a href="http://ewheeling.over-blog.com/article-24260127.html"&gt;Being caught parking in disabled car parking spaces&lt;/a&gt;" and featured our SYN.net smugfaced friend.&lt;br /&gt;&lt;blockquote&gt;"... its one way for them to catch notoriety and be marked by their behavior and be splattered over different blogs for being shown to be inconsiderate. Shame on them!"&lt;/blockquote&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-5127325895367902795?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/5127325895367902795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=5127325895367902795' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5127325895367902795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5127325895367902795'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/10/mentally-challenged-parkers.html' title='Mentally Challenged Parkers'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SPRtUCIbX4I/AAAAAAAAAWg/SVEGT0DGRt4/s72-c/IMG00154-20081014-1259.jpg' height='72' width='72'/><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5544827593041931654</id><published>2008-10-13T15:23:00.005+08:00</published><updated>2008-10-13T15:50:22.501+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foss.my'/><category scheme='http://www.blogger.com/atom/ns#' term='odf'/><category scheme='http://www.blogger.com/atom/ns#' term='unoconv'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='OOo'/><category scheme='http://www.blogger.com/atom/ns#' term='convert'/><title type='text'>I love OOo (and how to convert odf to pdf on the command line)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SPL7oncTg4I/AAAAAAAAAWQ/edxMha0UiM8/s1600-h/fossmy3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SPL7oncTg4I/AAAAAAAAAWQ/edxMha0UiM8/s400/fossmy3.png" alt="" id="BLOGGER_PHOTO_ID_5256540390295831426" border="0" /&gt;&lt;/a&gt;In continuation of &lt;a href="http://kaeru.inigo-tech.com/blog/archive/2008/10/09/foss-my-awesome-meme"&gt;Khairil's &lt;/a&gt;meme for &lt;a href="http://foss.my"&gt;foss.my&lt;/a&gt;, "I love &lt;a href="http://www.OpenOffice.org"&gt;OOo&lt;/a&gt;!"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://OpenOffice.org"&gt;OpenOffice.org&lt;/a&gt; has been my only office suite for the past 5 years (or more?) and its extremely flexible.&lt;br /&gt;&lt;br /&gt;Just today I learnt something new: a certain govt agency needed files in PDF because their "IT Department" just haven't gotten round to install OpenOffice.org in their machines. Its quite a few files, and I didn't fancy doing it manually.&lt;br /&gt;&lt;br /&gt;So a quick google brought up two options: Use the Macro language, which involved &lt;a href="http://www.oooforum.org/forum/viewtopic.phtml?t=3772"&gt;copy and pasting some Basic code&lt;/a&gt;, or using &lt;a href="http://dag.wieers.com/home-made/unoconv/"&gt;unoconv&lt;/a&gt; which is a command line python script, by &lt;a href="http://dag.wieers.com/personal/"&gt;dag wieers&lt;/a&gt;. I prefer the command line, so I apt-get installed it.&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;#sudo apt-get install &lt;span style="font-weight: bold;"&gt;unoconv&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;And then running it may get you this error:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# unoconv -f &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;pdf&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; TC4-*.od?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Error: Unable to connect or start own listener. Aborting.&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;javaldx: Could not find a Java Runtime Environment! &lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;The reason is because you need to have OpenOffice.org running in the background (or in a remote server) first. Launch &lt;span style="font-weight: bold;"&gt;soffice&lt;/span&gt;, and run the command line again, and everything will succeed quietly.&lt;br /&gt;&lt;br /&gt;Isn't it wonderful that a UI app can be used to convert files from the command line? Isn't it great that it can be driven from the command line with the wierd wildcards (*s and ?s). Isn't it just awesome?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SPL7ozkQgWI/AAAAAAAAAWY/E2dlyCYWfOg/s1600-h/fossmy3-awesome.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SPL7ozkQgWI/AAAAAAAAAWY/E2dlyCYWfOg/s400/fossmy3-awesome.png" alt="" id="BLOGGER_PHOTO_ID_5256540393550414178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://foss.my/register/"&gt;Sign up to foss.my&lt;/a&gt;, Malaysia's premier community driven, community focused conference for Free and Open Source Software. Be there and be square. 8-9 Nov 2008&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-5544827593041931654?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/5544827593041931654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=5544827593041931654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5544827593041931654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5544827593041931654'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/10/i-love-ooo-and-how-to-convert-odf-to.html' title='I love OOo (and how to convert odf to pdf on the command line)'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SPL7oncTg4I/AAAAAAAAAWQ/edxMha0UiM8/s72-c/fossmy3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-3416215071327793745</id><published>2008-10-03T18:48:00.008+08:00</published><updated>2009-11-12T17:40:11.355+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kppp'/><category scheme='http://www.blogger.com/atom/ns#' term='bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='maxis'/><category scheme='http://www.blogger.com/atom/ns#' term='3g'/><category scheme='http://www.blogger.com/atom/ns#' term='wvdial'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Dialup with Ubuntu, Bluetooth, Blackberry Bold and Maxis 3G.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SOYGM-_7LHI/AAAAAAAAAWI/veJZBCcQoWw/s1600-h/blackberry_9000_bold_425.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SOYGM-_7LHI/AAAAAAAAAWI/veJZBCcQoWw/s400/blackberry_9000_bold_425.jpg" alt="" id="BLOGGER_PHOTO_ID_5252892835513576562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Since the E61, I have used the iPhone, and Blackberry 8820 both of which didn't support blue tooth Dialup networking features. Now that Im testing out the Blackberry 9000 Bold, I had to make sure that it can be turned into a mobile modem. Im happy to report that it does!&lt;br /&gt;&lt;br /&gt;I followed the same setup sequence as the Nokia E61, which I described here "&lt;a href="http://yoonkit.blogspot.com/2007/05/ubuntu-dialup-via-bluetooth.html"&gt;Ubuntu dialup via bluetooth&lt;/a&gt;" The modifications are as follows:&lt;br /&gt;&lt;br /&gt;The device address would obviously be different, so you will need to do&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;# hcitool scan&lt;br /&gt;Scanning ...&lt;br /&gt;00:1E:37:E5:FB:xx    n/a&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;00:21:06:FD:5C:AB    yky phone&lt;/span&gt;&lt;br /&gt;00:1A:6B:87:EE:xx    HP-IMD-10042A&lt;br /&gt;00:1E:37:0B:85:xx    HP-RSM-10046A&lt;/span&gt;&lt;/blockquote&gt;Test that the phone has the required features, and find out the Channel number:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;# sdptool browse 00:21:06:FD:5C:AB&lt;br /&gt;&lt;br /&gt;Browsing 00:21:06:FD:5C:AB ...&lt;br /&gt;Service Name: &lt;span style="font-weight: bold;"&gt;Dialup Networking&lt;/span&gt;&lt;br /&gt;Service RecHandle: 0x10000&lt;br /&gt;Service Class ID List:&lt;br /&gt;"Dialup Networking" (0x1103)&lt;br /&gt;"Generic Networking" (0x1201)&lt;br /&gt;Protocol Descriptor List:&lt;br /&gt;"L2CAP" (0x0100)&lt;br /&gt;"RFCOMM" (0x0003)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Channel: 1&lt;/span&gt;&lt;br /&gt;Profile Descriptor List:&lt;br /&gt;"Dialup Networking" (0x1103)&lt;br /&gt;Version: 0x0100&lt;/span&gt;&lt;/blockquote&gt;Edit the &lt;span style="font-family:courier new;"&gt;/etc/bluetooth/rfcomm.conf&lt;/span&gt; file with the appropriate values&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;rfcomm0 {&lt;br /&gt;bind yes;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;device 00:21:06:FD:5C:AB&lt;/span&gt;;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;channel 1&lt;/span&gt;;&lt;br /&gt;comment "yky phone";&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;Resetting the /etc/init.d/bluetooth restart may or may not have rfcomm0 registered. To manually do so, use &lt;a href="http://ubuntuforums.org/showthread.php?t=1281463"&gt;this&lt;/a&gt; command:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;blockquote&gt;rfcomm bind 0 &lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;00:21:06:FD:5C:AB&lt;/span&gt;&lt;/span&gt; 1&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;This will create the /dev/rfcomm0 modem file.&lt;br /&gt;&lt;br /&gt;Now here comes the part which took me a while to figure out. I just ran &lt;span style="font-family:courier new;"&gt;wvdial BB&lt;/span&gt; with the same settings as with e61, but ran into this error:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;--&gt; Initializing modem.&lt;br /&gt;--&gt; Sending: ATZ&lt;br /&gt;ATZ&lt;br /&gt;OK&lt;br /&gt;--&gt; Sending: ATZ&lt;br /&gt;ATZ&lt;br /&gt;OK&lt;br /&gt;--&gt; Sending: ATM0&lt;br /&gt;ATM0    &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;-- here is the error: No "OK" received&lt;/span&gt;&lt;br /&gt;--&gt; Sending: ATQ0&lt;br /&gt;ATQ0&lt;br /&gt;--&gt; Re-Sending: ATM0&lt;br /&gt;ATM0&lt;br /&gt;OK&lt;br /&gt;--&gt; Cannot get information for serial port.&lt;br /&gt;--&gt; Cannot open /dev/rfcomm0: Transport endpoint is not connected&lt;br /&gt;--&gt; Cannot get information for serial port.&lt;br /&gt;--&gt; Initializing modem.&lt;br /&gt;--&gt; Sending: ATZ&lt;br /&gt;ATZ&lt;br /&gt;OK&lt;/span&gt;&lt;/blockquote&gt;I noticed that whenever a command is at Init3 in the &lt;span style="font-family:courier new;"&gt;/etc/wvdial.conf&lt;/span&gt; file, the dialer will fail, and the modem will never return a "OK". So remove all Init commands except for the single most crucial one, which is the AT+CGDCONT one at Init2:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;[Dialer Defaults]&lt;br /&gt;Phone = *99#&lt;br /&gt;Username = maxis&lt;br /&gt;Password = wap&lt;br /&gt;New PPPD = yes&lt;br /&gt;Dial Command = ATDT&lt;br /&gt;&lt;br /&gt;[Dialer BB]&lt;br /&gt;Modem = /dev/rfcomm0&lt;br /&gt;Baud = 115200&lt;br /&gt;Dial Command = ATDT&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Init2 = AT+CGDCONT=1,"IP","unet"&lt;/span&gt;&lt;br /&gt;FlowControl = crtscts&lt;br /&gt;Modem Type = Analog Modem&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Stupid Mode = 1&lt;/span&gt;&lt;br /&gt;New PPPD = yes&lt;/span&gt;&lt;/blockquote&gt;I have added two more lines in the config file. &lt;span style="font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;Stupid Mode&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;" is required&lt;/span&gt;. Otherwise for some strange reason, the authentication process will not start.  "&lt;span style="font-family:courier new;"&gt;New PPPD&lt;/span&gt;" is optional, it starts a new PPP Daemon on connection.&lt;br /&gt;&lt;br /&gt;Now, it should run without a problem:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;# wvdial BB&lt;br /&gt;--&gt; WvDial: Internet dialer version 1.60&lt;br /&gt;--&gt; Cannot get information for serial port.&lt;br /&gt;--&gt; Initializing modem.&lt;br /&gt;--&gt; Sending: ATZ&lt;br /&gt;ATZ&lt;br /&gt;OK&lt;br /&gt;--&gt; Sending: AT+CGDCONT=1,"IP","unet"&lt;br /&gt;AT+CGDCONT=1,"IP","unet"&lt;br /&gt;OK&lt;br /&gt;--&gt; Modem initialized.&lt;br /&gt;--&gt; Sending: ATDT*99#&lt;br /&gt;--&gt; Waiting for carrier.&lt;br /&gt;ATDT*99#&lt;br /&gt;CONNECT&lt;br /&gt;--&gt; Carrier detected.  Starting PPP immediately.&lt;br /&gt;--&gt; Starting pppd at Fri Oct  3 19:14:00 2008&lt;br /&gt;--&gt; Warning: Could not modify /etc/ppp/pap-secrets: Permission denied&lt;br /&gt;--&gt; --&gt; PAP (Password Authentication Protocol) may be flaky.&lt;br /&gt;--&gt; Warning: Could not modify /etc/ppp/chap-secrets: Permission denied&lt;br /&gt;--&gt; --&gt; CHAP (Challenge Handshake) may be flaky.&lt;br /&gt;--&gt; Pid of pppd: 31565&lt;br /&gt;--&gt; Using interface ppp0&lt;br /&gt;--&gt; local  IP address 121.123.102.115&lt;br /&gt;--&gt; remote IP address 169.254.1.1&lt;br /&gt;--&gt; primary   DNS address 10.213.17.1&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Whoopedoo.&lt;/span&gt;&lt;br /&gt;Dialup works via the command line. Ctrl-C kills the connection.&lt;br /&gt;&lt;br /&gt;Now that Im trying out KDE, I wanted to see if KDE's dialer would make things easier. So I ran "&lt;span style="font-weight: bold;"&gt;kppp&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Click on "Configure", and "Add" a new Account. Skip the Wizard. In the "Dial" tab, enter in&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SOYC0acpqhI/AAAAAAAAAVo/kwNripvpIg4/s1600-h/081003-maxis.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SOYC0acpqhI/AAAAAAAAAVo/kwNripvpIg4/s400/081003-maxis.png" alt="" id="BLOGGER_PHOTO_ID_5252889114850208274" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;Connection name: maxis&lt;br /&gt;Phone number: *99#&lt;br /&gt;Authentication: PAP/CHAP&lt;br /&gt;Check the "Store Password" checkbox&lt;/blockquote&gt;You dont have to modify anything else, so click OK.&lt;br /&gt;&lt;br /&gt;Then in the "Modems" tab, click "New...". In the "Device" tab, enter in these details:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SOYC0vPPN7I/AAAAAAAAAVw/h8xfCK556ZU/s1600-h/081003-rfcomm0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SOYC0vPPN7I/AAAAAAAAAVw/h8xfCK556ZU/s400/081003-rfcomm0.png" alt="" id="BLOGGER_PHOTO_ID_5252889120431093682" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;Modem name: BB&lt;br /&gt;Modem device: /dev/rfcomm0&lt;br /&gt;Flow control: Hardware [CRTSCTS]&lt;br /&gt;Line Termination: CR&lt;br /&gt;Connection speed: 115200&lt;br /&gt;Use lock file: checked&lt;br /&gt;Modem timeout: 60 sec&lt;/blockquote&gt;In the Modem tab, click on "Modem Commands ..."&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SOYC0ss4gnI/AAAAAAAAAV4/3r71Tqst8ZI/s1600-h/081003-ATCGD.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SOYC0ss4gnI/AAAAAAAAAV4/3r71Tqst8ZI/s400/081003-ATCGD.png" alt="" id="BLOGGER_PHOTO_ID_5252889119750128242" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;Just add in Initialization string 2: AT+CGDCONT=1,"IP","unet"&lt;br /&gt;The other default values should be OK. Click "OK"&lt;br /&gt;&lt;/blockquote&gt;You can try out the modem by clicking on "Query Modem..." but I just got blank fields for AT1 ... AT7.&lt;br /&gt;&lt;br /&gt;Now that you've defined the Account and Modem device, you can try to connect. Use&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SOYC0qtLwCI/AAAAAAAAAWA/bH4HMKSpEVA/s1600-h/081003-kppp-01.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SOYC0qtLwCI/AAAAAAAAAWA/bH4HMKSpEVA/s400/081003-kppp-01.png" alt="" id="BLOGGER_PHOTO_ID_5252889119214518306" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;Login ID: maxis&lt;br /&gt;Password: wap&lt;br /&gt;and click on "Connect"&lt;/blockquote&gt;It should work, sometimes it hangs at setting the modem volume, but a quick reconnect knocks it into order. You should then be rewarded with a screen like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SOYBTduP8mI/AAAAAAAAAVg/kGzB6ELkwg0/s1600-h/081003-kppp-3g.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SOYBTduP8mI/AAAAAAAAAVg/kGzB6ELkwg0/s400/081003-kppp-3g.png" alt="" id="BLOGGER_PHOTO_ID_5252887449282015842" border="0" /&gt;&lt;/a&gt;So a nice GUI dialer also works too!&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-3416215071327793745?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/3416215071327793745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=3416215071327793745' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3416215071327793745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3416215071327793745'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/10/dialup-with-ubuntu-bluetooth-blackberry.html' title='Dialup with Ubuntu, Bluetooth, Blackberry Bold and Maxis 3G.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SOYGM-_7LHI/AAAAAAAAAWI/veJZBCcQoWw/s72-c/blackberry_9000_bold_425.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7077925930521051103</id><published>2008-09-29T11:31:00.004+08:00</published><updated>2008-09-29T12:58:37.703+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><title type='text'>-"We're sorry, this video is no longer available" YouTube downloader</title><content type='html'>More often than not, when the planets and moons aren't oriented in the right manner, I get the dreaded &lt;span style="font-weight: bold;"&gt;"We're sorry, this video is no longer available"&lt;/span&gt; from &lt;a href="http://www.youtube.com"&gt;YouTube&lt;/a&gt;. I know that the video is certainly NOT "no longer available" because its clearly viewable by other people.&lt;br /&gt;&lt;br /&gt;Fortunately in the linux world, there is this little python utility called &lt;a href="http://www.arrakis.es/%7Erggi3/youtube-dl/"&gt;&lt;span style="font-weight: bold;"&gt;youtube-dl&lt;/span&gt;&lt;/a&gt; which can be run from the command line to download any YouTube file. So when you get this error, copy the URL of the YouTube file, and do this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# sudo apt-get install youtube-dl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# youtube-dl http://www.youtube.com/watch?v=videofile001&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;if it doesn't work, it will complain with this verbose error&lt;code&gt;:&lt;br /&gt;&lt;br /&gt;Retrieving video webpage... done.&lt;br /&gt;Extracting URL "t" parameter... done.&lt;br /&gt;Requesting video file... failed.&lt;br /&gt;Error: unable to download video data.&lt;br /&gt;Try again several times. It may be a temporary problem.&lt;br /&gt;Other typical problems:&lt;br /&gt;&lt;br /&gt;* Video no longer exists.&lt;br /&gt;* Video requires age confirmation but you did not provide an account.&lt;br /&gt;* You provided the account data, but it is not valid.&lt;br /&gt;* The connection was cut suddenly for some reason.&lt;br /&gt;* YouTube changed their system, and the program no longer works.&lt;br /&gt;&lt;br /&gt;Try to confirm you are able to view the video using a web browser.&lt;br /&gt;Use the same video URL and account information, if needed, with this program.&lt;br /&gt;When using a proxy, make sure http_proxy has http://host:port format.&lt;br /&gt;Try again several times and contact me if the problem persists.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;You can then repeat this process over and over again, until it succeeds. Unfortunately this requires effort. And we computer users hate expending any unnecessary energy if possible. After all, focusing on the terminal, clicking the up arrow and hitting return is so so tedious.&lt;br /&gt;&lt;br /&gt;So I wrote a little bash script to complement youtube-dl as it sports a few extra features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It will automatically try and retry to youtube-download the file until it is successful (thanks to &lt;span style="font-weight: bold;"&gt;$?&lt;/span&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It will rename the resultant flv video filename to the current date and time, instead of the random garbage filename. (using &lt;span style="font-weight: bold;"&gt;date&lt;/span&gt; +%F...)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It terminates gracefully when the user hits Ctrl-C (by setting a &lt;span style="font-weight: bold;"&gt;trap&lt;/span&gt; ...)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It promotes world peace by waiting a few seconds before trying again (&lt;span style="font-weight: bold;"&gt;sleep&lt;/span&gt; is always good)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;And here it is:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;i=1&lt;br /&gt;fname=`date +%F-%H%M`&lt;br /&gt;&lt;br /&gt;result=1&lt;br /&gt;&lt;br /&gt;while [ $result = 1 ]; do&lt;br /&gt;  echo Attempt $i "$fname".flv&lt;br /&gt;  trap "echo User killing the download; exit" INT TERM&lt;br /&gt;  youtube-dl $1 -o "$fname".flv&lt;br /&gt;  result=$?&lt;br /&gt;  let i=i+1&lt;br /&gt;  if [ $result = 1 ]; then&lt;br /&gt;    sleep 10&lt;br /&gt;  fi&lt;br /&gt;done&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Try it out. The most I had to wait was 24 attempts. Thats 46 keypresses saved!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7077925930521051103?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7077925930521051103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7077925930521051103' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7077925930521051103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7077925930521051103'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/were-sorry-this-video-is-no-longer.html' title='-&quot;We&apos;re sorry, this video is no longer available&quot; YouTube downloader'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-6246096347902372883</id><published>2008-09-17T11:41:00.005+08:00</published><updated>2008-09-17T12:21:59.291+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rukunnegara'/><category scheme='http://www.blogger.com/atom/ns#' term='malaysia'/><title type='text'>Rukun Negara - have you read it? really?</title><content type='html'>This is the Rukun Negara which was drummed into our little skulls when we were young:&lt;br /&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;BELIEF IN GOD&lt;/li&gt;&lt;li&gt;LOYALTY TO KING AND COUNTRY&lt;/li&gt;&lt;li&gt;UPHOLDING THE CONSTITUTION&lt;/li&gt;&lt;li&gt;    RULE OF LAW&lt;/li&gt;&lt;li&gt;    GOOD BEHAVIOUR AND MORALITY&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;Of course, when I first knew about it, it was in Malay, and I never really found out what the long and grand words like 'kesusilaan', 'keluruhan' and 'kedaulatan' (with regards to undangs) really meant. Even if I did, would you expect an 7 year old to differentiate between the Constitution and the Rule of Law?&lt;br /&gt;&lt;br /&gt;However it was only recently that I found out that there was more to this story than these bullet points. The 'Rukun Negara' that we have learnt aren't actually the real principles (rukuns). They are merely tactical means to fulfill a grander plan; and the real National Principles are as follows:&lt;br /&gt;&lt;blockquote&gt;Our nation, Malaysia, being dedicated :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;to achieving a &lt;span style="font-weight: bold;"&gt;greater unity&lt;/span&gt; of all her peoples;&lt;/li&gt;&lt;li&gt;to maintaining a &lt;span style="font-weight: bold;"&gt;democratic&lt;/span&gt; way of life;&lt;/li&gt;&lt;li&gt;to creating&lt;span style="font-weight: bold;"&gt; a just society&lt;/span&gt; in which the wealth of the nation shall be &lt;span style="font-weight: bold;"&gt;equitably shared&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;    to ensuring a&lt;span style="font-weight: bold;"&gt; liberal&lt;/span&gt; approach to her rich and&lt;span style="font-weight: bold;"&gt; diverse cultural traditions&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;    to building a &lt;span style="font-weight: bold;"&gt;progressive society&lt;/span&gt; which shall be oriented to&lt;span style="font-weight: bold;"&gt; modern science and technology&lt;/span&gt;;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;I really like, and can related to these original Rukuns; Unity, Democracy, a Just society, Equitable Shared Wealth, Liberal, Celebrating the diverse Cultures and Traditions, Progressive Society, and orientation towards Science and Tech! Who cannot like that?&lt;br /&gt;&lt;br /&gt;This was written in 1970, just after the &lt;a href="http://en.wikipedia.org/wiki/May_13_Incident"&gt;May13th&lt;/a&gt; disaster. It was intended to correct the path of our Nations growth. And yet, after almost 40 years on, we can see how the real Rukun Negara has been "forgotten", and this is clear with the "progress" of our country and society.&lt;br /&gt;&lt;br /&gt;We see families split because of religulous body snatchers, money politics, judicial crisis, abuse of the NEP to cronies, fanaticism, restriction of traditions, regressive societies and a poorly implemented science roadmap.&lt;br /&gt;&lt;br /&gt;I think its time we really understand the original principles of Rukun Negara, rather than the abstract version which we have all grown to ignore.&lt;br /&gt;&lt;br /&gt;Please re-read your &lt;a href="http://en.wikipedia.org/wiki/Rukunegara"&gt;Rukun Negara&lt;/a&gt;, and help make Malaysia a better place.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;br /&gt;===&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SNCCPHppQaI/AAAAAAAAAUk/Zp2sm3rvWr8/s1600-h/rukunnegara.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SNCCPHppQaI/AAAAAAAAAUk/Zp2sm3rvWr8/s400/rukunnegara.jpg" alt="" id="BLOGGER_PHOTO_ID_5246836762149994914" border="0" /&gt;&lt;/a&gt;The Malay version:&lt;br /&gt;&lt;p&gt;&lt;i&gt;BAHAWASANYA NEGARA KITA MALAYSIA mendukung cita-cita hendak :&lt;/i&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;i&gt;mencapai perpaduan yang lebih erat di kalangan seluruh masyarakatnya ;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;memelihara satu cara hidup demokratik ;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;mencipta satu masyarakat adil di mana kemakmuran Negara akan dapat dinikmati bersama secara adil dan saksama ;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;menjamin satu cara liberal terhadap tradisi-tradisi kebudayaannya yang kaya dan berbagai corak ; dan&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;membina satu masyarakat progresif yang akan menggunakan sains dan teknologi moden.&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;i&gt;MAKA KAMI, rakyat Malaysia, berikrar akan menumpukan seluruh tenaga dan usaha kami untuk mencapai cita-cita tersebut berdasarkan atas prinsip-prinsip yang berikut :&lt;/i&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;i&gt;KEPERCAYAAN KEPADA TUHAN&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;KESETIAAN KEPADA RAJA DAN NEGARA&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;KELUHURAN PERLEMBAGAAN&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;KEDAULATAN UNDANG-UNDANG&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;KESOPANAN DAN KESUSILAAN&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-6246096347902372883?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/6246096347902372883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=6246096347902372883' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6246096347902372883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6246096347902372883'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/rukun-negara-have-you-read-it-really.html' title='Rukun Negara - have you read it? really?'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SNCCPHppQaI/AAAAAAAAAUk/Zp2sm3rvWr8/s72-c/rukunnegara.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1364818921791210798</id><published>2008-09-16T17:38:00.003+08:00</published><updated>2008-09-16T17:50:25.932+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='advertisements'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='nike'/><title type='text'>Long Advertisements</title><content type='html'>Not many companies can afford super long advertisements nowadays. Its costs alot for airtime. Plus you really need compelling content to keep the audience interested. &lt;br /&gt;&lt;br /&gt;This 2 minute advertisement from Nike which I saw prior to a movie which I think is great:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/anwlpTgbQTE&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/anwlpTgbQTE&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This 4 and a half minute advertisement from Microsoft, which was just launched, and is #2 in a series of ten, which I think is utter crap:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/gBWPf1BWtkw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/gBWPf1BWtkw&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;One makes you want to watch more to see how more interesting the ad can become (and it does!) while the other just makes you want to watch more to see how bad it can become (and that it does too.) One inspires and makes you worship the brand, while the other just makes you go "... meh?" One is young and exciting while the other is old, drab, out-of-touch and really patronising ("Traffic jam in my garage" - ouch!) One makes full use of the celebrities featured, while the other abuses the has-beens of celebrities. One is tight, well structured and coherent, while the other is rambling, confusing and irritating.&lt;br /&gt;&lt;br /&gt;Surely with all the money in the world, they could have done better?&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1364818921791210798?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1364818921791210798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1364818921791210798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1364818921791210798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1364818921791210798'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/long-advertisements.html' title='Long Advertisements'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7320353677138930027</id><published>2008-09-15T18:19:00.003+08:00</published><updated>2008-09-15T18:29:10.498+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rdp'/><category scheme='http://www.blogger.com/atom/ns#' term='winxp'/><category scheme='http://www.blogger.com/atom/ns#' term='remote desktop'/><title type='text'>Copy and Pasting between a remote Windows desktop and Linux client</title><content type='html'>If you need to Copy &amp;amp; Paste between a remote Windows desktop and your Linux workstation, use "Terminal Server Client" to access the host Windows XP/Server with "Remote Desktop" enabled.&lt;br /&gt;&lt;br /&gt;In the Terminal Server Client, make sure that the Protocol selected is &lt;span style="font-weight: bold;"&gt;RDPv5&lt;/span&gt;. The default is &lt;span style="font-weight: bold;"&gt;RDP&lt;/span&gt;, which doesn't have the bells &amp;amp; whistles.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SM43uFkGqaI/AAAAAAAAATk/OJtUSELfxxQ/s1600-h/080915-RDPv5.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SM43uFkGqaI/AAAAAAAAATk/OJtUSELfxxQ/s400/080915-RDPv5.jpg" alt="" id="BLOGGER_PHOTO_ID_5246191880840325538" border="0" /&gt;&lt;/a&gt;Once selected, copy and pasting is fully integrated between machines!&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7320353677138930027?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7320353677138930027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7320353677138930027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7320353677138930027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7320353677138930027'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/copy-and-pasting-between-remote-windows.html' title='Copy and Pasting between a remote Windows desktop and Linux client'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SM43uFkGqaI/AAAAAAAAATk/OJtUSELfxxQ/s72-c/080915-RDPv5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7806480423668796814</id><published>2008-09-08T15:40:00.004+08:00</published><updated>2008-09-08T15:49:51.731+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='attachments'/><category scheme='http://www.blogger.com/atom/ns#' term='lotus notes'/><title type='text'>Lotus Notes 8 and wrestling with attachments in Linux</title><content type='html'>A gripe about opening attachments in Lotus Notes 8 is that LN will fail silently, leaving the user guessing whether things are happening or not. If a user double clicks on an attachment, a dialog will pop up requesting if the user wants to "Open", "Edit", "View", "Save" or "Cancel".&lt;br /&gt;&lt;br /&gt;Clicking on View for me gives a strange error: "Unable to create view: Device is disposed" and gives a whole load of eclipse errors in the details. I dont have the time to figure that one out.&lt;br /&gt;&lt;br /&gt;So the next best thing is to "Open" the attachment. However that doesn't do anything, and LN fails to report that something has failed. The solution for this however is available here: "&lt;a href="http://harmonypirate.blogspot.com/2008/01/ibm-attachments-do-not-open-from-lotus.html"&gt;IBM - Attachments do not open from Lotus Notes for Linux Client when Open, Edit, or View is chosen in the 'Open Attachment' dialog&lt;/a&gt;" The trick is to remove IBM's own "openwith" program with whichever desktop manager you happen to install.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# sudo mv /opt/ibm/lotus/notes/openwith /opt/ibm/lotus/notes/openwith.old&lt;br /&gt;# sudo ln -s $(which kde-open) /opt/ibm/lotus/notes/openwith&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;It works, but its amazing that we have to jump through these hoops just to open attachments!&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7806480423668796814?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7806480423668796814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7806480423668796814' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7806480423668796814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7806480423668796814'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/lotus-notes-8-and-wrestling-with.html' title='Lotus Notes 8 and wrestling with attachments in Linux'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5514607558944146060</id><published>2008-09-04T10:14:00.005+08:00</published><updated>2008-09-04T11:39:19.290+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='aztech'/><category scheme='http://www.blogger.com/atom/ns#' term='usb modem'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>Getting Aztech UM-3100 USB Modem to work on CentOS 5</title><content type='html'>Our old Hylafax external modems decided to kick the bucket over the weekend, and it was an opportunity to refresh the hardware. They lasted a good 9 years (or more!) and I dont think they make them anymore.&lt;br /&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SL9HAgz5rpI/AAAAAAAAASc/uNb3g0_mn5Q/s1600-h/Aztech-UM-3100.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SL9HAgz5rpI/AAAAAAAAASc/uNb3g0_mn5Q/s400/Aztech-UM-3100.JPG" alt="" id="BLOGGER_PHOTO_ID_5241986565415743122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Additionally they had to be powered by large adaptors, which took up way too much room. So a good solution would be to use some USB modems; small, cheap, USB powered and easily replaceable.&lt;br /&gt;&lt;br /&gt;We chose &lt;a href="http://www.modem-help.co.uk/Aztech/UM-3100-56K-USB.html"&gt;Aztech UM-3100 USB Modem&lt;/a&gt;. Relatively cheap at about RM70, we thought it would be a great solution. So I plugged it into the machine, and this was the &lt;span style="font-family:courier new;"&gt;dmesg&lt;/span&gt; output:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: new full speed USB device using uhci_hcd and address 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: new full speed USB device using uhci_hcd and address 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: new full speed USB device using uhci_hcd and address 4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: device not accepting address 4, error -71&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: new full speed USB device using uhci_hcd and address 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb 1-2: configuration #1 chosen from 2 choices&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;drivers/usb/class/cdc-acm.c: Zero length descriptor references&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cdc_acm: probe of 1-2:1.0 failed with error -22&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usbcore: registered new driver cdc_acm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So not very good news to start off the day. This usb-modem isn't supported out of the box, fortunately it isn't too much a problem, but it does require a recompilation of the cdc-acm (USB &lt;a href="http://www.jungo.com/st/cdc_acm_driver.html"&gt;Communication Device Class&lt;/a&gt; definition - Abstract Control Module). Here is a brief lowdown on how to get the Aztech modem recognised in CentOS 5.0.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Prepping the system for module compilation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First, we need to bring down the linux &lt;a href="http://www.cyberciti.biz/faq/rhel5-installing-kernel-source-code/"&gt;kernel source&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;# wget -c&lt;/span&gt; ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/kernel-2.6.18-8.1.8.el5.src.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;Length: 48176889 (46M)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; 8% [==&gt;                                    ] 4,018,200   124.1K/s  eta 7m 27s &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;It took only about 7 minutes to download. A "&lt;span style="font-family:courier new;"&gt;rpm -hiv&lt;/span&gt;" extracted the sources in &lt;span style="font-family: courier new;"&gt;/usr/src/redhat&lt;/span&gt;. You will then need to extract the source from redhats patches by doing this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel-2.6.spec&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;which should recreate the kernel source in &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686&lt;/span&gt;&lt;/span&gt;. Copy your &lt;span style="font-family: courier new;"&gt;config&lt;/span&gt; from the &lt;span style="font-family: courier new;"&gt;/boot&lt;/span&gt; directory to this directory&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# cp /boot/config-`uname -r` ./.config&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you are ready to compile the entire kernel ... if you want to. For me, I just want to compile the usb modem module, and not need to wait for the entire compilation process. But first, the modifications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Adding support for the modem.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This ubuntu forum post "&lt;a href="http://ubuntuforums.org/showthread.php?t=599508"&gt;Shiro/Conexant (Rockwell) RD02-D400/Aztech UM3100 USB 56K Modem&lt;/a&gt;" provides the information to add support for the Aztech modem. First of all, we need to make sure that the ID as reported by &lt;span style="font-family:courier new;"&gt;lsusb&lt;/span&gt; is matches our modifications. To do so, type this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# lsusb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Bus 001 Device 009: ID 0572:1328 Conexant Systems (Rockwell), Inc. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will see that its &lt;span style="font-family:courier new;"&gt;0x0572, 0x1328&lt;/span&gt;. This is what we will use in our modification. Modify the cdc-acm.c file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# nano drivers/usb/class/cdc-acm.c&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;scroll down about &lt;a href="http://lxr.linux.no/linux+v2.6.26.3/drivers/usb/class/cdc-acm.c#L1227"&gt;97%&lt;/a&gt;... put this in similar place, next to all the other devices&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;{ USB_DEVICE(&lt;span style="font-weight: bold;"&gt;0x0572, 0x1328&lt;/span&gt;), /* Aztech UM-3100 */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.driver_info = NO_UNION_NORMAL, /* has no union descriptor */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;},&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Save, and that's all with the source code modification. No big deal.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Compiling the specific module.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Instead of having to build the kernel and all the modules, we can tell '&lt;span style="font-family: courier new;"&gt;make&lt;/span&gt;' to build from specific directories. First, you will have to compile some scripts which are used for MODPOST, which is important to make the .ko module files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# make SUBDIRS=scripts/mod/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  WARNING: Symbol version dump /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/Module.symvers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           is missing; modules will have no dependencies and modversions.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  CC      scripts/mod/empty.o&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  HOSTCC  scripts/mod/mk_elfconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  MKELF   scripts/mod/elfconfig.h&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  HOSTCC  scripts/mod/file2alias.o&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  HOSTCC  scripts/mod/modpost.o&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  HOSTCC  scripts/mod/sumversion.o&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  HOSTLD  scripts/mod/modpost&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Building modules, stage 2.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  MODPOST&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then you can actually build the modules which are of particular interest to you, in this case "drivers/usb/class"&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;span style="font-size:85%;"&gt;# make SUBDIRS=&lt;span style="font-weight: bold;"&gt;drivers/usb/class&lt;/span&gt; modules&lt;/span&gt;&lt;br /&gt; WARNING: Symbol version dump /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/Module.symvers&lt;br /&gt;          is missing; modules will have no dependencies and modversions.&lt;br /&gt; Building modules, stage 2.&lt;br /&gt; MODPOST&lt;br /&gt; CC      drivers/usb/class/cdc-acm.mod.o&lt;br /&gt; LD [M]  drivers/usb/class/cdc-acm.ko&lt;br /&gt; CC      drivers/usb/class/usblp.mod.o&lt;br /&gt; LD [M]  drivers/usb/class/usblp.ko&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The file which you need is &lt;span style=";font-family:courier new;font-size:100%;"  &gt;drivers/usb/class/cdc-acm.ko &lt;/span&gt;so just copy this to the real modules directory of your running kernel.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;&lt;span style="font-size:85%;"&gt;# cp drivers/usb/class/cdc-acm.ko /lib/modules/2.6.18-8.el5/kernel/drivers/usb/class&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Loading up the new module&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Unload the module if it was loaded before:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# rmmod cdc_acm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ERROR: Module cdc_acm does not exist in /proc/modules&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And load up the new one&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# insmod cdc_acm&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To check that its there:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# lsmod |grep cdc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cdc_acm                15136  0 &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And now, plug in the Aztech modem, and see what happens:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# dmesg&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cdc_acm: no version for "struct_module" found: kernel tainted.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cdc_acm 1-2:1.0: &lt;span style="font-weight: bold;"&gt;ttyACM0&lt;/span&gt;: USB ACM device&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usbcore: registered new driver cdc_acm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Congratulations, it looks like its been recognised as ttyACM0&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Testing the modem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Make sure you have the '&lt;span style="font-family:courier new;"&gt;cu&lt;/span&gt;' utility installed. It usually comes in the '&lt;span style="font-family:courier new;"&gt;uucp&lt;/span&gt;' package:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# yum install &lt;span style="font-weight: bold;"&gt;uucp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Once '&lt;span style="font-family:courier new;"&gt;cu&lt;/span&gt;' is available, use '-l' to speak directly to the line.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# cu -l &lt;span style="font-weight: bold;"&gt;ttyACM0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Connected.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;You can then reset the phone, and try to call out.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;atz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;OK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;atdt9,012xxxxxxx&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;(9 is to get a dialtone from my PABX, and the comma is to wait).&lt;br /&gt;Also test the modems ability to auto pickup after 1 ring with this command&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;ats0=1&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;However Hylafax controls the pickup process, so make sure this is not set. Reset the modem with this:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;atz&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;And quit from '&lt;span style="font-family:courier new;"&gt;cu&lt;/span&gt;' with this tilda command:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;~.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Disconnected&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Your Aztech modem should be recognised by the system even after a reboot (test it, its the only reboot you'll need to do). You can now plug in more USB modems to cater for your Fax server's needs.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-5514607558944146060?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/5514607558944146060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=5514607558944146060' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5514607558944146060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5514607558944146060'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/getting-aztech-um-3100-usb-modem-to.html' title='Getting Aztech UM-3100 USB Modem to work on CentOS 5'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/SL9HAgz5rpI/AAAAAAAAASc/uNb3g0_mn5Q/s72-c/Aztech-UM-3100.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1182875939302871328</id><published>2008-09-04T10:03:00.002+08:00</published><updated>2008-09-04T10:08:32.539+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mutt'/><category scheme='http://www.blogger.com/atom/ns#' term='attachments'/><title type='text'>Mutt - forwarding attachments automatically</title><content type='html'>Some little tricks with mutt &lt;a href="http://yoonkit.blogspot.com/2006/09/panic-temporary-file-seek.html"&gt;again&lt;/a&gt;. By default mutt doesn't forward MIME attachments in the email, and it previously involved a laborious process of saving each file (in the current directory) and reattaching the file (from the users mail directory, which involves traversing the directory structure). So a quick &lt;a href="http://www.google.com.my/search?q=mutt+forward+with+attachments&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=com.ubuntu:en-US:unofficial&amp;amp;client=firefox-a"&gt;google&lt;/a&gt; solves this issue entitled "&lt;a href="http://wiki.mutt.org/?MuttFaq/Attachment"&gt;How do I forward a message including attachments?&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;In your ~/.muttrc file (create it if it isn't there already), add these two settings:&lt;br /&gt;&lt;pre&gt; set mime_forward=yes&lt;br /&gt;set mime_forward_rest=yes&lt;br /&gt;&lt;/pre&gt; Done. Less hassle.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1182875939302871328?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1182875939302871328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1182875939302871328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1182875939302871328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1182875939302871328'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/mutt-forwarding-attachments.html' title='Mutt - forwarding attachments automatically'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-312353367033753540</id><published>2008-09-02T18:17:00.002+08:00</published><updated>2008-09-02T18:22:29.334+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='budget'/><category scheme='http://www.blogger.com/atom/ns#' term='malaysia'/><title type='text'>Woah, buddy!</title><content type='html'>Check out &lt;a href="http://www.malaysiakini.com/news/88922"&gt;these figures&lt;/a&gt;:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SL0TEThb6tI/AAAAAAAAASA/6XwQo-TYAXk/s1600-h/budgetops.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SL0TEThb6tI/AAAAAAAAASA/6XwQo-TYAXk/s400/budgetops.gif" alt="" id="BLOGGER_PHOTO_ID_5241366506010045138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That looks like a series of numbers growing exponentially and spiralling out of control. I wonder what the deficits figures are?&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-312353367033753540?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/312353367033753540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=312353367033753540' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/312353367033753540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/312353367033753540'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/09/woah-buddy.html' title='Woah, buddy!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SL0TEThb6tI/AAAAAAAAASA/6XwQo-TYAXk/s72-c/budgetops.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7180118903016011915</id><published>2008-08-28T20:01:00.002+08:00</published><updated>2008-08-28T20:19:46.200+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='censorship'/><title type='text'>When you censor, you make people curious.</title><content type='html'>Silly MCMC. Dont they know that "censoring" a website via DNS blackholes is the lamest way of blocking it? I mean if they wanted to really censor, then deny all traffic into Malaysian backbones. Do it properly.&lt;br /&gt;&lt;br /&gt;Instead they just told ISPs to blackhole entries to malaysia-today.net. Circumventing this is really easy, either by direct IP, or changing DNS server to any other foreign one, or having other people "mirror" the IP addresses.&lt;br /&gt;&lt;br /&gt;Now we, the Malaysian public, know that someone doesn't want us to read the ramblings of RPK. Instead now RPK gets the credibility. Now there is more of a suspicion that what he is writing is hitting a nerve.&lt;br /&gt;&lt;br /&gt;So shame on MCMC, shame on the people who authorised this, and shame on the ISP who bowed to this directive.&lt;br /&gt;&lt;br /&gt;Don't they know that whenever you try to ban something, the desire for people to want to read it increases? duh.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7180118903016011915?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7180118903016011915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7180118903016011915' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7180118903016011915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7180118903016011915'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/08/when-you-censor-you-make-people-curious.html' title='When you censor, you make people curious.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-8113935936820361291</id><published>2008-08-14T17:12:00.001+08:00</published><updated>2008-08-14T17:16:08.639+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='commandments'/><title type='text'>My Ten Commandments</title><content type='html'>A good set of &lt;a href="http://www.ethicalatheist.com/docs/ten_commandments.html"&gt;commandments&lt;/a&gt; to live by:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT NOT believe all thou art told.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT seek knowledge and truth constantly.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT educate thy fellow man in the Laws of Science.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT NOT forget the atrocities committed in the name of god.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT leave valuable contributions for future generations.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT live in peace with thy fellow man.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT live this one life thou hast to its fullest.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT follow a Personal Code of Ethics.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT maintain a strict separation between Church and State.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Thou SHALT support those who follow these commandments.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-8113935936820361291?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/8113935936820361291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=8113935936820361291' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8113935936820361291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8113935936820361291'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/08/my-ten-commandments.html' title='My Ten Commandments'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2199398792444030071</id><published>2008-08-12T12:17:00.004+08:00</published><updated>2008-08-12T12:36:17.103+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ie4linux'/><title type='text'>IE6 on Linux ... why?!</title><content type='html'>Revamping a website to make it more CSS compliant, and getting rid of a whole load of &lt;span style="font-family: courier new;"&gt;&amp;lt;table&amp;gt;&lt;/span&gt; gunk. Playing with unordered lists and list items and tailoring the look with simple CSS is very addictive and somewhat rewarding. However this comes with a price, and its the Microsoft tax yet again. This time its a tax on my patience. Things just don't appear as they should on IE6, while Firefox, Netscape, Konqueror, Safari and Opera works perfectly. Considering that it still has about 30% market share (still way more than Firefox), it is a problem which needs to be addressed.&lt;br /&gt;&lt;br /&gt;So to help me debug it without having to pull up a Remote Desktop, I had to install IE on my Linux machine. Eugh.&lt;br /&gt;&lt;br /&gt;Fortunately the pain of installation was rather ... painless. &lt;a href="http://www.tatanka.com.br/ies4linux"&gt;IE4Linux&lt;/a&gt; has a great installation process which allows you to install IE5, 5.5 and 6 using wine and cabextract. The process is &lt;a href="http://www.tatanka.com.br/ies4linux/page/Installation"&gt;described here&lt;/a&gt;, and the screenshots looked like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SKERw2DsXCI/AAAAAAAAARs/G8_I5h85qno/s1600-h/080812-IE4Lin1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SKERw2DsXCI/AAAAAAAAARs/G8_I5h85qno/s400/080812-IE4Lin1.png" alt="" id="BLOGGER_PHOTO_ID_5233483772823624738" border="0" /&gt;&lt;/a&gt;It took about 7 minutes to download the CABs and run through the installation. The binaries are kept in a &lt;span style="font-family: courier new;"&gt;~/.ie4linux&lt;/span&gt; folder. Running a user friendly symbolic link from &lt;span style="font-family: courier new;"&gt;~/bin/ie6&lt;/span&gt; displays ie in all its glorious splendour:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SKERwy8fUaI/AAAAAAAAAR0/1U6HaVO6dqg/s1600-h/080812-IE6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SKERwy8fUaI/AAAAAAAAAR0/1U6HaVO6dqg/s400/080812-IE6.png" alt="" id="BLOGGER_PHOTO_ID_5233483771988103586" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;"Master, It Lives!"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2199398792444030071?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2199398792444030071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2199398792444030071' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2199398792444030071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2199398792444030071'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/08/ie6-on-linux-why.html' title='IE6 on Linux ... why?!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SKERw2DsXCI/AAAAAAAAARs/G8_I5h85qno/s72-c/080812-IE4Lin1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-8376196375314642117</id><published>2008-07-28T12:47:00.009+08:00</published><updated>2008-12-11T16:33:07.546+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openmalaysia'/><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='barcamp'/><category scheme='http://www.blogger.com/atom/ns#' term='eog'/><title type='text'>Barcamp</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SI1VVxyCmFI/AAAAAAAAAQ8/XAxUFBS_TMg/s1600-h/080726-Schedule.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SI1VVxyCmFI/AAAAAAAAAQ8/XAxUFBS_TMg/s400/080726-Schedule.jpg" alt="" id="BLOGGER_PHOTO_ID_5227928575075850322" border="0" /&gt;&lt;/a&gt;BarCamp was held in Kuala Lumpur for the first time over the weekend. I didn't expect much of it, thinking that it would be a lame attempt to for pseudo web2.0 wannabes to 'network'. I was pleasantly surprised, as at the end of the first day it was encouraging to see a good sharing community growing here OTHER than the MyOSS one.&lt;br /&gt;&lt;br /&gt;Ditesh volunteered me to speak a month back, and I thought I had ample time to prepare a presentation. I left it really late, and only started work on the presentation 2 days prior. I drew up a rough mind map on things worth talking about regarding the 2 year story of OpenMalaysiaBlog, and was figuring out how to present it. After all, a standard presentation with bullet points would have driven people insane, and a steve-jobs type one takes way too much time in preparation and rehearsals, and would severely limit audience interaction.&lt;br /&gt;&lt;br /&gt;So the best thing I figured was to present the big picture; the mind map itself.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SI1cF-N3hiI/AAAAAAAAARc/P8XUwClwuPE/s1600-h/080726-Talk.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SI1cF-N3hiI/AAAAAAAAARc/P8XUwClwuPE/s400/080726-Talk.jpg" alt="" id="BLOGGER_PHOTO_ID_5227936000117278242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I was asked during the presentation on how I created it. I said "Adobe Illustrator, of course!" This brought on boos and jeers, of which I said "... kidding, I used &lt;a href="http://www.inkscape.org/"&gt;Inkscape&lt;/a&gt;; a Free and Open Source vector illustration program. The source file is in svg."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SI1VV4QGtAI/AAAAAAAAARE/EH4XwpBbZ5c/s1600-h/080726-Talk.svg+-+Inkscape.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SI1VV4QGtAI/AAAAAAAAARE/EH4XwpBbZ5c/s400/080726-Talk.svg+-+Inkscape.png" alt="" id="BLOGGER_PHOTO_ID_5227928576812561410" border="0" /&gt;&lt;/a&gt;What I realy like about Inkscape is its a real quality software. It has never crashed on me yet. The output to png is impeccable. It has great blur effects which makes for good drop shadows. The gradient tool is useful and usable. I also found a hidden feature, which is to embed bitmap images within the svg. By default, images are linked from external files.&lt;br /&gt;&lt;br /&gt;To present, I just used plain ol' Eye-Of-Gnome (EOG). You will need to make sure that you set the background to white or to a solid colour:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SI1XK2SyhvI/AAAAAAAAARU/nqdacJ4CaEU/s1600-h/EOG-Background.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SI1XK2SyhvI/AAAAAAAAARU/nqdacJ4CaEU/s400/EOG-Background.png" alt="" id="BLOGGER_PHOTO_ID_5227930586331645682" border="0" /&gt;&lt;/a&gt;Whats good about EOG is that it worked really well with my eeePC's touchpad. The vertical and horizontal scroll edges worked smooth and consistent scrolling, and pressing Control and manipulating the vertical scroll allowed me to zoom in and out effortlessly. It was surprisingly easy to manipulate the touchpad standing up and infront of the few people in the room.&lt;br /&gt;&lt;br /&gt;What I liked about the talk was the interactiveness, and there were at least 4 people in the room who were outspoken, which encouraged a robust discussion. We eventually ended up taking a significant amount of time talking about Software Patents, of which I was surprised that non MyOSS members were clued up on. As a bonus it was good to know that they too understood the dangers it mounted on software development both proprietary and open source, in Malaysia.&lt;br /&gt;&lt;br /&gt;At the end of it, was a rendition of Bob Dylan's "For the times they are a-changing'" by our resident musician and GSoC personality, &lt;a href="http://www.nst.com.my/Current_News/techNu/Monday/Spotlite/20080727120942/Article/index_html"&gt;Raj Deelan&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SI1VV5Ds0vI/AAAAAAAAAQ0/mRig26y0ntQ/s1600-h/080726-Raj.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SI1VV5Ds0vI/AAAAAAAAAQ0/mRig26y0ntQ/s400/080726-Raj.jpg" alt="" id="BLOGGER_PHOTO_ID_5227928577028969202" border="0" /&gt;&lt;/a&gt;Hasan explained that this song was featured in our &lt;a href="http://www.openmalaysiablog.com/2006/05/well_the_times_.html"&gt;first blog post at openmalaysiablog.com&lt;/a&gt;, and it represented the changing times we are currently experiencing. I apologised for the bad transcript which was projected, as I left out 2 verses of the song, which left the karaoke afficiandos in the lurch (Aizat, it was reported that they could hear you 3 rooms away). However I made sure that this verse was in:&lt;br /&gt;&lt;span id="comment-69731106-content"&gt;&lt;blockquote&gt;"Come senators, congressmen&lt;br /&gt;Please heed the call&lt;br /&gt;Don't stand in the doorway&lt;br /&gt;Don't block up the hall&lt;br /&gt;For he that gets hurt&lt;br /&gt;Will be he who has stalled&lt;br /&gt;Theres a battle outside&lt;br /&gt;And it is ragin'.&lt;br /&gt;It'll soon shake your Windows (tm)&lt;br /&gt;And rattle your walls&lt;br /&gt;For the times they are a-changin'."&lt;/blockquote&gt;&lt;/span&gt;Well done to the BarCamp organisers, the two Daniels, Kamal Fariz and many others for holding a quite spectacular event which brought together a community willing to share.&lt;br /&gt;&lt;br /&gt;yk.&lt;br /&gt;&lt;br /&gt;Picture credits goes to &lt;a href="http://www.flickr.com/photos/inisahaini/"&gt;Azman Saini's Flickr photostream&lt;/a&gt;. Thanks!&lt;br /&gt;&lt;br /&gt;Small mentions of my talk by &lt;a href="http://ditesh.gathani.org/blog/2008/07/27/barcampmy-day-1/"&gt;Ditesh&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;There were many questions from the audience, most seemed to be awed by the level of dedication the OpenMalaysia people seemed to have put in to promote openness and transparency in Malaysia’s government ICT policies.&lt;/blockquote&gt;&lt;a href="http://blog.yclian.com/2008/07/first-day-of-barcamp.html"&gt;Yuen Chi&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;I liked how Yoon Kit's presented the stories in a mind-mapping-like diagram.&lt;/blockquote&gt;&lt;a href="http://rumble.yondie.org/2008/07/barcamp-malaysia-my-experience.html"&gt;Yondie&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;... how OpenMalaysia Blog got started ,how the reaction from .MY Goverment in Opensource. Yeah how the big company starts lobbying around ...  IMHO, this is to ensure the future of country is control by our own wills not other.&lt;/blockquote&gt;&lt;a href="http://mengwong.livejournal.com/57792.html"&gt;Meng Wong&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;The opensource guys related the story of ODF versus OOXML; not only that, they whipped out a guitar and, in a slightly cheesy but earnest moment we sang "The times, they are a-changing."&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-8376196375314642117?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/8376196375314642117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=8376196375314642117' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8376196375314642117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8376196375314642117'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/07/barcamp.html' title='Barcamp'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/SI1VVxyCmFI/AAAAAAAAAQ8/XAxUFBS_TMg/s72-c/080726-Schedule.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1679576652690435221</id><published>2008-07-14T17:31:00.004+08:00</published><updated>2008-12-11T16:33:07.789+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rude'/><category scheme='http://www.blogger.com/atom/ns#' term='politicians'/><category scheme='http://www.blogger.com/atom/ns#' term='biatch'/><category scheme='http://www.blogger.com/atom/ns#' term='mosti'/><title type='text'>Biatch</title><content type='html'>&lt;span style="color: rgb(153, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Wow.&lt;/span&gt;&lt;/span&gt; Malaysia's very own Minister of Science Technology and Innovation (MOSTI) called his fellow constituent party within Barisan National a "&lt;a href="http://www.dailyexpress.com.my/news.cfm?NewsID=58687"&gt;political bitch&lt;/a&gt;".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SHs3dSwE8mI/AAAAAAAAAO8/H715ppVy8d0/s1600-h/ongkili.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SHs3dSwE8mI/AAAAAAAAAO8/H715ppVy8d0/s400/ongkili.jpg" alt="" id="BLOGGER_PHOTO_ID_5222829169255445090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:Verdana,Arial;"&gt; "The worst kind of enemy is the one that is within," he said in a statement, noting the Sabah Progressive Party's "persistent flirting with the opposition to bring down the Government". &lt;/span&gt;&lt;p&gt; &lt;span style="font-family:Verdana,Arial;"&gt;Maximus, who is also Science, Technology and Innovation Minister, said in doing so the party renders itself being viewed as &lt;span style="font-weight: bold;"&gt;nothing more than a political bitch&lt;/span&gt;. &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;I guess nowadays language like this is of the norm for Malaysian politicians, where 18SX words are exchanged on a daily basis. I wonder what it must be like to be a kid reading mainstream papers today. One would have to be exposed to words like sodomy, anal sex, rape, bugger, bitch, homo, etc, and have its explanations skirted around.&lt;br /&gt;&lt;br /&gt;Why do they even bother with censorship then?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.malaysiakini.com/news/86058"&gt;[ Malaysiakini&lt;/a&gt; also reports on this issue.&lt;/span&gt; ]&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1679576652690435221?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1679576652690435221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1679576652690435221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1679576652690435221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1679576652690435221'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/07/biatch.html' title='Biatch'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SHs3dSwE8mI/AAAAAAAAAO8/H715ppVy8d0/s72-c/ongkili.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-3009284933457818700</id><published>2008-06-17T10:50:00.005+08:00</published><updated>2008-12-11T16:33:07.909+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='audacity'/><category scheme='http://www.blogger.com/atom/ns#' term='wav'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='timidity'/><category scheme='http://www.blogger.com/atom/ns#' term='pocoyo'/><title type='text'>Midi to MP3 and abit of editing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SFcslHtdstI/AAAAAAAAAO0/1EgBzeZhWI4/s1600-h/pocoyo_about.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SFcslHtdstI/AAAAAAAAAO0/1EgBzeZhWI4/s400/pocoyo_about.gif" alt="" id="BLOGGER_PHOTO_ID_5212684109941158610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My offspring loves watching Pocoyo, and I kinda like it too. Cute, mildly twisted humour and very entertaining. I learnt today that there is an &lt;a href="http://www.pocoyo.blogs.com/"&gt;Official Pocoyo Blog&lt;/a&gt;. Its very interesting, as it has news and information on the production of the series.&lt;br /&gt;&lt;br /&gt;There is a blog entry entitled "&lt;a href="http://pocoyo.blogs.com/pocoyo/2007/04/pocoyo_opening_.html"&gt;Pocoyo Opening  MIDI&lt;/a&gt;" - sure enough, they posted the &lt;a href="http://pocoyo.blogs.com/pocoyo/files/opening_pocoyo.mid"&gt;midi file&lt;/a&gt; for the opening credits where Pocoyo introduces the characters with a few variations of the catchy theme.&lt;br /&gt;&lt;br /&gt;I downloaded the midi, and wondered how I could make this a ringtone, for phones which dont support midi. Timidity was the solution.&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# sudo apt-get install timidity&lt;/blockquote&gt;[Downloads about 29MB worth of stuff]&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# timidity  &lt;a href="http://pocoyo.blogs.com/pocoyo/files/opening_pocoyo.mid"&gt;opening_pocoyo.mid&lt;/a&gt; -Ow -o poco.wav&lt;/blockquote&gt;It then displays a mapping of midi instruments, and warns if there are no appropriate instruments. For this case, I got 3 missing ones:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;No instrument mapped to tone bank 0, program 11 - this instrument will not be heard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;No instrument mapped to tone bank 0, program 108 - this instrument will not be heard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;No instrument mapped to drum set 0, program 85 - this instrument will not be heard&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;you can then play the wav, but we are only halfway there. We still need to convert it to mp3.&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;# lame poco.wav poco.mp3&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;LAME 3.97 32bits (http://www.mp3dev.org/)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;CPU features: MMX (ASM used), SSE, SSE2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Encoding poco.wav to poco.mp3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  1555/1555  (100%)|    0:04/    0:04|    0:09/    0:09|   9.2741x|    0:00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;----------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;   kbps        LR    MS  %     long switch short %&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  128.0       25.0  75.0        81.9  11.3   6.8&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Writing LAME Tag...done&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To test, mplayer can be used:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# mplayer poco.mp3&lt;/blockquote&gt;I then sent this file over to my phone, and its my new ringtone!&lt;br /&gt;&lt;br /&gt;Instead of having the entire song, I used &lt;a href="http://audacity.sourceforge.net/"&gt;Audacity&lt;/a&gt; and extracted only the final part of the tune. I also used the "Fade In" effect to make it sound better. Audacity has an "Export" to mp3, which makes the &lt;span style="font-weight: bold;"&gt;lame&lt;/span&gt; part redundant.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-3009284933457818700?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=c4343e834599bf1e&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/3009284933457818700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=3009284933457818700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3009284933457818700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3009284933457818700'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/06/midi-to-mp3-and-abit-of-editing.html' title='Midi to MP3 and abit of editing'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SFcslHtdstI/AAAAAAAAAO0/1EgBzeZhWI4/s72-c/pocoyo_about.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-8103155468335341886</id><published>2008-05-29T18:15:00.003+08:00</published><updated>2008-12-11T16:33:08.124+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='signs'/><category scheme='http://www.blogger.com/atom/ns#' term='airport'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Airport Security</title><content type='html'>Saw this sign in Heathrow Airport:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SD6Cwi_5uWI/AAAAAAAAANo/uDrGafRo4U0/s1600-h/heightened_security.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SD6Cwi_5uWI/AAAAAAAAANo/uDrGafRo4U0/s400/heightened_security.jpg" alt="" id="BLOGGER_PHOTO_ID_5205741989827033442" border="0" /&gt;&lt;/a&gt;What is this suppose to mean?&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The rest of the airport is NOT secure&lt;/li&gt;&lt;li&gt;Because of me, they now have to secure it&lt;/li&gt;&lt;li&gt;Im a terrorist, and I now need to be aware that I shouldnt be&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Its a reminder to airport staff to be more vigilant&lt;/li&gt;&lt;/ol&gt;Argh. Whatever that sign is suppose to mean, it does NOT make me, an innocent passenger feel any better.&lt;br /&gt;&lt;br /&gt;WTF.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-8103155468335341886?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/8103155468335341886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=8103155468335341886' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8103155468335341886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8103155468335341886'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/05/airport-security.html' title='Airport Security'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SD6Cwi_5uWI/AAAAAAAAANo/uDrGafRo4U0/s72-c/heightened_security.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-182837965912817344</id><published>2008-05-29T09:25:00.004+08:00</published><updated>2008-05-29T09:44:22.709+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scp'/><category scheme='http://www.blogger.com/atom/ns#' term='pictures'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Copying Pictures from the iPhone</title><content type='html'>Im thinking of upgrading the firmware of the iPhone to 1.1.4. Before I do that however, I needed to move out the pictures Ive taken. For some strange reason, my Windows machine, which has iTunes on, refused to recognise the iPhone as a camera. Or rather it did, but when I accessed it as a 'drive', it didn't copy over the photos. It would display the listing of the files, but when I do a drag-n-drop, the copied files would be 0 bytes. Very strange.&lt;br /&gt;&lt;br /&gt;Also iTunes doesnt make it obvious on how to sync the pictures which I've taken. Doubly strange.&lt;br /&gt;&lt;br /&gt;Giving up on that, its back to Linux to help me out on this rather simple task&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Make sure your iPhone is connected to wifi.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Find out the address by going to Settings / Wi-Fi, and tapping on the wifi details. It should display the IP address there, e.g. &lt;span style="font-family: courier new;"&gt;192.167.1.78&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Also in Settings, go to the General / Auto-Lock menu and set the time-out to "Never".  Otherwise the wireless will cut off. Don't know why the options are restricted to only 5 minutes.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;On the linux shell, use this command:&lt;/li&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;scp -rp root@192.168.1.78:/var/mobile/Media/DCIM/100APPLE .&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;This should copy all the files in the directory where the photos are stored.&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;-r is for recursive and&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-p is to preserve the time and date&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;The default password for ssh in an iPhone is &lt;span style="font-weight: bold;"&gt;'alpine'&lt;/span&gt; for the 1.1.3 firmware.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Thats all to it. You can also do some interesting stuff with rsync, but I just wanted my pictures out before the machine gets wiped.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-182837965912817344?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/182837965912817344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=182837965912817344' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/182837965912817344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/182837965912817344'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/05/copying-pictures-from-iphone.html' title='Copying Pictures from the iPhone'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2368224284898803686</id><published>2008-05-21T20:23:00.006+08:00</published><updated>2008-12-11T16:33:10.943+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ballmer'/><category scheme='http://www.blogger.com/atom/ns#' term='eggs'/><category scheme='http://www.blogger.com/atom/ns#' term='chair'/><title type='text'>Ballmer strikes back.</title><content type='html'>&lt;center&gt;So Ballmer went to Hungary ...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SDQUoK7obYI/AAAAAAAAAMw/lmjhwdIbPms/s1600-h/01Ball.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SDQUoK7obYI/AAAAAAAAAMw/lmjhwdIbPms/s400/01Ball.png" alt="" id="BLOGGER_PHOTO_ID_5202806149881556354" border="0" /&gt;&lt;/a&gt;... an this student started shouting ...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SDQUoa7obZI/AAAAAAAAAM4/k20ZM7wYZlM/s1600-h/02You.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SDQUoa7obZI/AAAAAAAAAM4/k20ZM7wYZlM/s400/02You.png" alt="" id="BLOGGER_PHOTO_ID_5202806154176523666" border="0" /&gt;&lt;/a&gt;... and threw eggs at the most powerful CEO in America ...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SDQUoa7obaI/AAAAAAAAANA/neZZs1-xk_k/s1600-h/03Throw.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SDQUoa7obaI/AAAAAAAAANA/neZZs1-xk_k/s400/03Throw.png" alt="" id="BLOGGER_PHOTO_ID_5202806154176523682" border="0" /&gt;&lt;/a&gt;... and made Ballmer &lt;span style="font-weight: bold;"&gt;look&lt;/span&gt; like he was cowering in fear ...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SDQUo67obbI/AAAAAAAAANI/YIbdV9NT5yQ/s1600-h/04Hide.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SDQUo67obbI/AAAAAAAAANI/YIbdV9NT5yQ/s400/04Hide.png" alt="" id="BLOGGER_PHOTO_ID_5202806162766458290" border="0" /&gt;&lt;/a&gt;... and while the student was taken away ...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SDQUpK7obcI/AAAAAAAAANQ/xPJqcqxuso8/s1600-h/05Corrupt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SDQUpK7obcI/AAAAAAAAANQ/xPJqcqxuso8/s400/05Corrupt.png" alt="" id="BLOGGER_PHOTO_ID_5202806167061425602" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;.... Ballmer strikes back!!!&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SDQU567obdI/AAAAAAAAANY/VZeTk6dAAgk/s1600-h/06Chair.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SDQU567obdI/AAAAAAAAANY/VZeTk6dAAgk/s400/06Chair.png" alt="" id="BLOGGER_PHOTO_ID_5202806454824234450" border="0" /&gt;&lt;/a&gt;.....&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SDQU6a7obeI/AAAAAAAAANg/sreOaJPWvrs/s1600-h/07Smile.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SDQU6a7obeI/AAAAAAAAANg/sreOaJPWvrs/s400/07Smile.png" alt="" id="BLOGGER_PHOTO_ID_5202806463414169058" border="0" /&gt;&lt;/a&gt;.... "heh, you don't mess with the best baby!&lt;br /&gt;Ive got the best throwing arm in the world!&lt;br /&gt;Booyah!" &lt;/center&gt;&lt;br /&gt;&lt;br /&gt;See it on &lt;a href="http://www.youtube.com/watch?v=crhxKNkZy-Y&amp;amp;eurl"&gt;YouTube&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2368224284898803686?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2368224284898803686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2368224284898803686' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2368224284898803686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2368224284898803686'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/05/ballmer-strikes-back.html' title='Ballmer strikes back.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_NATV2G3QyV8/SDQUoK7obYI/AAAAAAAAAMw/lmjhwdIbPms/s72-c/01Ball.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1068062028501377058</id><published>2008-05-21T11:39:00.011+08:00</published><updated>2008-12-11T16:33:11.733+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='webgui'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='dspam'/><title type='text'>DSpam: WebGUI modifications - Javascript goodies.</title><content type='html'>Ive been using dspam for &lt;a href="http://yoonkit.blogspot.com/2006/01/postfix.html"&gt;two years now&lt;/a&gt;. It has been set up as a broad filter which checks all the emails passing through our systems. It has worked very well over the past year although going through the thousands of emails has been a chore.&lt;br /&gt;&lt;br /&gt;The WebGUI for dspam is rudimentary, and is really built for single users to review their own spam/hams. It really isnt designed for large volumes. So I had to make some modifications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modification #1: Looking for missed SPAM.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SDPG5K7obSI/AAAAAAAAAMA/Zf_ljxFr6c8/s1600-h/MarkSpamOrg.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SDPG5K7obSI/AAAAAAAAAMA/Zf_ljxFr6c8/s400/MarkSpamOrg.png" alt="" id="BLOGGER_PHOTO_ID_5202720680032365858" border="0" /&gt;&lt;/a&gt;The problem with the WebUI when you view the History tab is that it displays ALL the emails which pass through the system. This would be a normal requirement, but if you really are just interested in reviewing the False Negatives, i.e. SPAM that got away, it really takes ages to scroll through the pages one after another. If your domain has attracted alot of spam, over 70% of the entries are spam anyway, and you arent really interested in that information.&lt;br /&gt;So the solution is to ignore the SPAM entries from the &lt;span style="font-family:courier new;"&gt;/var/dspam/.../dspam.log&lt;/span&gt; file. To do this, you will need to modify the &lt;span style="font-family:courier new;"&gt;/var/www/html/dspam.cgi&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;This is the patch (&lt;a href="http://yoonkit.googlepages.com/dspam.skipSPAM.patch"&gt;dspam.skipSPAM.patch&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;With this patch, you can toggle the ability to skip through Spams by adding in another url argument &amp;amp;skipSPAM=true on the URL address. Otherwise, if you want this on by default, just make $skipSPAM  = "true" in the perl script.&lt;br /&gt;&lt;br /&gt;The result should look something like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SDPG5K7obTI/AAAAAAAAAMI/ptltnmpAq80/s1600-h/ViewHams.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SDPG5K7obTI/AAAAAAAAAMI/ptltnmpAq80/s400/ViewHams.png" alt="" id="BLOGGER_PHOTO_ID_5202720680032365874" border="0" /&gt;&lt;/a&gt;Notice how the Spams are ignored, giving you a clear view of what to retrain or allow. I also skip through Whitelisted emails so that means less lines to review. I use Firefox's tab browsing, and just middle click the entries which I want to flag off as Spam. The process is very fast, and I probably need to click through about 3 pages of history to mark off any significant growth in spam.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modification #2: Marking Dead meat the brute force way&lt;/span&gt;&lt;br /&gt;One of the hassles of clearing False Positives is the process of going through each and every spam item and checking it off. Early on, I modified the nav_quarantine.html template file with this small Javascript which checked off the first 200 items. Here is the patch for the "Select 200" modification for the &lt;span style="font-family:courier new;"&gt;templates/nav_quarantine.html&lt;/span&gt; file (nav_quarantine.select200.patch)&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SDP5Ta7obXI/AAAAAAAAAMo/8QY07aIWVNw/s1600-h/Select200.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SDP5Ta7obXI/AAAAAAAAAMo/8QY07aIWVNw/s400/Select200.png" alt="" id="BLOGGER_PHOTO_ID_5202776106585320818" border="0" /&gt;&lt;/a&gt;This worked well to a certain extent, but when you have over 10K entries, refreshing the page 500 times is certainly not an option. There MUST be a better way. And there is ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modification #3: Marking Dead meat the elegant way.&lt;/span&gt;&lt;br /&gt;Blindly selecting the first 200 entries isnt really an efficient way of culling the confirmed spam. I needed an almost automated way to handle this. So I embedded more information from dspam into the WebUI and written some Javascript to make this process alot more bearable.&lt;br /&gt;&lt;br /&gt;The first requirement is to remove all the marked spam of a given percentage of certainty. Throughout the entire production usage of DSpam, I have yet to see a False Positive with a certainty score of more than 70%. What would be great is to check off all entries given a score automatically. This is now possible by entering a confidence number, and simply clicking on the "Mark Rating" button.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SDPG5a7obUI/AAAAAAAAAMQ/h-fBkfe55Mk/s1600-h/RatingMark.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SDPG5a7obUI/AAAAAAAAAMQ/h-fBkfe55Mk/s400/RatingMark.png" alt="" id="BLOGGER_PHOTO_ID_5202720684327333186" border="0" /&gt;&lt;/a&gt;What the script does is that it uses XPath to query out all rows which have a rating of more than what is entered. The Javascript code looks something like this:&lt;br /&gt;&lt;/p&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;var pRate = parseFloat( document.getElementById("rating_val").value ) / 100;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;var xpath = document.evaluate( "//tr[\@rating &gt; "+pRate+" ]", document, null, +XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;I have also added an extra feature in that it will also mark of similar items which may have less of a confidence than provided. This will be elaborated below, in the "hash" I generate with all the entries later. Because of this 'recursive' behaviour, the script will take a while to complete, so you may need to increase the timeout for Firefox (otherwise it may complain with a "&lt;em&gt;A script on this page may be busy, or it may have stopped responding. You can stop the script right now, or you can continue to see if it completes.")&lt;/em&gt; To do so, type &lt;span style="font-weight: bold;font-family:courier new;" &gt;about:config&lt;/span&gt; in the URL bar, and adjust the &lt;strong style="font-family: courier new;"&gt;dom.max_script_runtime&lt;/strong&gt; from the default of 10 to something larger like 500.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modification #4: Ajax waits for no refresh.&lt;/span&gt;&lt;br /&gt;Another tedious part about using the WebUI is that whenever you need to purge the quarantine of the caught spam, it takes ages because it causes an entire page refresh. Its OK if the list is less than a thousand, but when it reaches 20K or more, its just too much.&lt;br /&gt;&lt;br /&gt;Then we come to another problem when deleting the entries from the &lt;span style="font-family:courier new;"&gt;/var/dspam/.../dspam.mbox&lt;/span&gt; file. As you remove entries from the file, if at any point during that time, a new email arrives, the deletion will cancel and the file will roll back to its original state plus new email. So realistically on a busy system, you can't delete more than 50 spams at a go. This means we will have to endure ALOT of page refreshes.&lt;br /&gt;&lt;br /&gt;What I implemented then was a AJAX type handler for dspam.cgi to execute. I added the Javascript features in the WebUI, and it looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SDPG5a7obVI/AAAAAAAAAMY/xmSK8KjE4h0/s1600-h/AjaxDelete.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SDPG5a7obVI/AAAAAAAAAMY/xmSK8KjE4h0/s400/AjaxDelete.png" alt="" id="BLOGGER_PHOTO_ID_5202720684327333202" border="0" /&gt;&lt;/a&gt;As you click the button, the Javascript will scroll through the checked list, and when it compiles 25 entries, it forms a query back to dspam.cgi to execute in the background. It will alert the user by stating it is currently "deleting 25". When the call is successful, it will state "deleted 25". It will then repeat the process if there are still items to be checked.&lt;br /&gt;&lt;br /&gt;The figure 25 is something which I found to be small enough to cater for non roll backs, and because the process is automated, it doesnt need to be large. So to clear off 15K entries, it takes about 30 minutes to an hour.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modification #5: Hashing up spam&lt;/span&gt;&lt;br /&gt;For the remaining spam which isnt obvious, I have included two little clickies on the end of the table. "del" deletes the entry immediately, while "hash" checks the entry's checkbox, and all entries with similar subjects. This means you can click off multiple spams with just one click as demonstrated below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SDPG5q7obWI/AAAAAAAAAMg/4kZS23whIoI/s1600-h/HashMark.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SDPG5q7obWI/AAAAAAAAAMg/4kZS23whIoI/s400/HashMark.png" alt="" id="BLOGGER_PHOTO_ID_5202720688622300514" border="0" /&gt;&lt;/a&gt;This makes marking off spam almost ... fun!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Patching the WebGUI&lt;br /&gt;&lt;/span&gt;I include with this post three patches. In the dspam.cgi directory, run this:&lt;br /&gt; # patch &lt; &lt;a href="http://yoonkit.googlepages.com/dspam.skipSPAM.patch"&gt;dspam.skipSPAM.patch&lt;/a&gt; &lt;br /&gt;# patch &lt; &lt;a href="http://yoonkit.googlepages.com/dspam.ajax.patch"&gt;dspam.ajax.patch&lt;/a&gt;    &lt;br /&gt;&lt;br /&gt;and in the template directory   &lt;br /&gt;# patch &lt; &lt;a href="http://yoonkit.googlepages.com/nav_quarantine.select200.patch"&gt;nav_quarantine.select200.patch&lt;/a&gt;    &lt;br /&gt;&lt;br /&gt;Otherwise &lt;a href="http://yoonkit.googlepages.com/dspam.cgi"&gt;dspam.cgi&lt;/a&gt; and &lt;a href="http://yoonkit.googlepages.com/nav_quarantine.html"&gt;&lt;span style="font-family:courier new;"&gt;template/nav_quarantine.html&lt;/span&gt;&lt;/a&gt; are also available.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How I use these modifications&lt;/span&gt;&lt;br /&gt;Whenever I have the time to review the spam collection&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I load up the quarantine page until its fully loaded.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I then click on "Mark Spam" with the default rate of 85%.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;This takes a few seconds depending on your PC.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I then click on the "Ajax delete" button to start the deletion process in the background.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In the meantime, I reduce the rate down to 70% and sometimes 60% to clear off further spam.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I also start from the top, i.e. 47% confidence spam items, and slowly review the items up to about 53%, clicking on the "hash" to remove the spam items.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;After I clean off the False Positives (if any) I click on the "Select 200" and eyeball the remaining items until there are no entries left.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It still takes some time, but at least its a whole less time than before!&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I hope this helps!&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1068062028501377058?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1068062028501377058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1068062028501377058' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1068062028501377058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1068062028501377058'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/05/dspam-webgui-modifications-javascript.html' title='DSpam: WebGUI modifications - Javascript goodies.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SDPG5K7obSI/AAAAAAAAAMA/Zf_ljxFr6c8/s72-c/MarkSpamOrg.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-4414048475754016302</id><published>2008-05-15T14:01:00.007+08:00</published><updated>2009-01-10T05:51:48.894+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mencoder'/><category scheme='http://www.blogger.com/atom/ns#' term='ffmpeg'/><category scheme='http://www.blogger.com/atom/ns#' term='rmvd'/><category scheme='http://www.blogger.com/atom/ns#' term='realmedia'/><category scheme='http://www.blogger.com/atom/ns#' term='divx'/><title type='text'>Converting video: Realmedia to DivX</title><content type='html'>I have a video which is encoded in rmvb. Realmedia (who they now?).  I want to convert it to a divx file so that I can burn it on a DVD and watch it on my DivX-DVD player at home.  This is what I tried to view it with ffmpeg:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;# ffmpeg -i videofile.rmvb -vcodec mpeg4 out.mpg&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.&lt;br /&gt;configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr&lt;br /&gt;libavutil version: 1d.49.3.0&lt;br /&gt;libavcodec version: 1d.51.38.0&lt;br /&gt;libavformat version: 1d.51.10.0&lt;br /&gt;built on Mar 12 2008 14:31:53, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu4)&lt;br /&gt;[NULL @ 0xb7e086e8]Unsupported video codec&lt;br /&gt;[NULL @ 0xb7e086e8]Unsupported video codec&lt;br /&gt;Unsupported codec (id=72) for input stream #0.1&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;So that didn't work. FFmpeg doesnt seem to understand Realmedia. A bit of googling brought me &lt;a href="http://www.linuxquestions.org/questions/linux-software-2/convert-rmvb-movie-to-avi-341998/"&gt;to this command&lt;/a&gt;:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;# mencoder videofile.rmvb -o outfile.avi -ovc xvid -xvidencopts fixed_quant=5 -oac mp3lame -lameopts abr:br=128&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Opening video decoder: [realvid] RealVideo decoder&lt;br /&gt;Error: /usr/lib/win32/drvc.so: cannot open shared object file: No such file or directory&lt;br /&gt;Win32 LoadLibrary failed to load: drvc.so, /usr/lib/win32/drvc.so, /usr/local/lib/win32/drvc.so&lt;br /&gt;Error loading dll&lt;/span&gt;&lt;/blockquote&gt;So that doesn't work either; looks like Im missing some DLLs. Abit more googling, and I am recommended to visit this page "&lt;a href="http://www1.mplayerhq.hu/MPlayer/releases/codecs/"&gt;MPlayer Codecs&lt;/a&gt;", which is a compilation of all the codec dll's for quite a few video formats. So I downloaded &lt;a href="http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2"&gt;essential-20071007.tar.bz2&lt;/a&gt; and &lt;a href="http://www1.mplayerhq.hu/MPlayer/releases/codecs/windows-all-20071007.zip"&gt;windows-all-20071007.zip&lt;/a&gt;   which was extracted into the &lt;span style="font-weight: bold;font-family:courier new;" &gt;/usr/bin/win32&lt;/span&gt; directory as root.&lt;br /&gt;&lt;br /&gt;After which, the &lt;span style="font-family:courier new;"&gt;mencoder&lt;/span&gt; command worked without a flaw in converting between Realmedia to DivX.&lt;br /&gt;&lt;br /&gt;What joy, this multitude of proprietary file formats.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-4414048475754016302?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/4414048475754016302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=4414048475754016302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4414048475754016302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/4414048475754016302'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/05/converting-video-realmedia-to-divx.html' title='Converting video: Realmedia to DivX'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2514887759129803474</id><published>2008-05-14T12:39:00.004+08:00</published><updated>2008-12-11T16:33:12.062+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rdp'/><category scheme='http://www.blogger.com/atom/ns#' term='rdesktop'/><category scheme='http://www.blogger.com/atom/ns#' term='vnc'/><category scheme='http://www.blogger.com/atom/ns#' term='windows 2003'/><title type='text'>Windows Terminal Server - Maximum connections blegh.</title><content type='html'>Don't you just love proprietary software? It restricts you in the most irritating manner.&lt;br /&gt;&lt;br /&gt;I unfortunately had to do something on a Windows 2003 server, and I normally go about by using the wonderful Remote desktop protocol. Linux has an excellent client implementation of it, and I use it more often than VNC for Windows servers.&lt;br /&gt;&lt;br /&gt;This time however, I was alerted with this error:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SCp8Za7obQI/AAAAAAAAALw/PPa27wCi50c/s1600-h/Exceeded_Max_Number.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SCp8Za7obQI/AAAAAAAAALw/PPa27wCi50c/s400/Exceeded_Max_Number.png" alt="" id="BLOGGER_PHOTO_ID_5200105495920667906" border="0" /&gt;&lt;/a&gt; &lt;center&gt;&lt;span style="font-size:78%;"&gt;"The terminal server has exceeded the maximum number of allowed connections."&lt;br /&gt;Translation: "Nye-nye! Buy CALs!"&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;Not wanting to be a neanderthal by rebooting the machine, I decided to see if I could circumvent this "problem" with a bit of Googleducation. Well, it seems &lt;a href="http://forums.serverbeach.com/archive/index.php/t-1984.html"&gt;its possible&lt;/a&gt; with Windows 2003. You can actually make use of the "console" session if your login has the role of an administrator. To access the console, or "session zero", in Linux its like this:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt; # rdesktop &lt;span style="font-weight: bold;"&gt;-0&lt;/span&gt; 192.168.1.6&lt;/blockquote&gt;... where you replace your server IP address with the example provided above. The "-0" flag indicates that you want the console session. In MS-DOS's command.com, supposedly, because I havent tried it, its:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;C:\&gt; mstsc -v:192.168.1.6 /f -console &lt;/blockquote&gt;Once you are in, and get some scary errors about kicking out the currently logged in person, you can&lt;a href="http://www.howtogeek.com/howto/windows/command-line-hack-for-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections/"&gt; view the RDP session&lt;/a&gt; which have been hanging around, taking up the precious license seats.&lt;br /&gt;&lt;br /&gt;The command.com commandline command is:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;blockquote&gt;C:\&gt; query session&lt;/blockquote&gt;&lt;/span&gt;Subsequently, you can delete the Disconnected / Orphaned / Stray / Dismembered sessions using this command, which is very similar to &lt;span style="font-family: courier new;"&gt;vncserver -kill :&lt;span style="font-style: italic;"&gt;[screen #]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;blockquote&gt;C:\&gt; reset session &lt;span style="font-style: italic;"&gt;[session ID]&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;You can disconnect ALL sessions by selecting the highest ID (usually &gt;65536) e.g.&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;blockquote&gt;C:\&gt; reset &lt;span style="font-family: courier new;"&gt;session &lt;/span&gt;&lt;span style="font-style: italic;"&gt;65538&lt;/span&gt; &lt;/blockquote&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/SCp8Zq7obRI/AAAAAAAAAL4/YP1VbeTBNDM/s1600-h/Reset-Session1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/SCp8Zq7obRI/AAAAAAAAAL4/YP1VbeTBNDM/s400/Reset-Session1.png" alt="" id="BLOGGER_PHOTO_ID_5200105500215635218" border="0" /&gt;&lt;/a&gt;Obviously I tried it once and got kicked out of by remote desktop. Heh. Cheap thrills.&lt;br /&gt;&lt;br /&gt;So there you have it: how to retain access, and a simple way of 'resetting' your Windows 2003 server's remote desktops without having to reboot the darn thing, because of the artificial restrictions placed on software based on user access licensing.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2514887759129803474?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2514887759129803474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2514887759129803474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2514887759129803474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2514887759129803474'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/05/windows-terminal-server-maximum.html' title='Windows Terminal Server - Maximum connections blegh.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SCp8Za7obQI/AAAAAAAAALw/PPa27wCi50c/s72-c/Exceeded_Max_Number.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-310638561831674392</id><published>2008-05-05T18:14:00.008+08:00</published><updated>2008-12-11T16:33:12.468+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='winxp'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='vm'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualbox'/><title type='text'>VirtualBox: WinXP on Ubuntu. Fast. Finally.</title><content type='html'>Now that my Ubuntu laptop is &lt;a href="http://yoonkit.blogspot.com/2008/04/hardy-heron-works.html"&gt;beefed up&lt;/a&gt;, I had the opportunity to recreate my old old proprietary development desktop. Also, Ive been using &lt;a href="http://yoonkit.blogspot.com/2007/06/vmware-and-nat.html"&gt;VMWare&lt;/a&gt; ESX Server alot at work lately, so just to be different, I decided to use something new. Something free preferably.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SB7k5t_RCtI/AAAAAAAAALY/c91DPNCeTOM/s1600-h/vbox_logo2_gradient.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SB7k5t_RCtI/AAAAAAAAALY/c91DPNCeTOM/s400/vbox_logo2_gradient.png" alt="" id="BLOGGER_PHOTO_ID_5196842700280761042" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt;, from Innotek Gmbh, yet another German company snapped up by &lt;a href="http://www.sun.com/"&gt;Sun&lt;/a&gt;, has a great solution. In Ubuntu, I naively did an "Application/Add Software..." and selected "Virtual Box OSE" to be installed. It downloaded, did its thing, and in the "Application/System Tools/Virtual Box OSE" menu item, launched.&lt;br /&gt;&lt;br /&gt;I created a 7GB Virtual Harddisk, and clicked on "Start" to boot up the Virtual Machine.&lt;br /&gt;&lt;br /&gt;Immediately I got this error:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SB7fd9_RCsI/AAAAAAAAALQ/La2JObImN1w/s1600-h/VBox-kerneldriver.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SB7fd9_RCsI/AAAAAAAAALQ/La2JObImN1w/s400/VBox-kerneldriver.png" alt="" id="BLOGGER_PHOTO_ID_5196836725981252290" border="0" /&gt;&lt;/a&gt;Yup, "&lt;span style="font-family:courier new;"&gt;vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason." It then tells me to install "virtualbox-ose-modules&lt;/span&gt;". Bokay:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;# apt-get install &lt;span style="font-weight: bold;"&gt;virtualbox-ose-modules&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;Package virtualbox-ose-modules is a virtual package provided by:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;  virtualbox-ose-modules-2.6.24-16-virtual 24&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;  virtualbox-ose-modules-2.6.24-16-server 24&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;  virtualbox-ose-modules-2.6.24-16-rt 24&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;  virtualbox-ose-modules-2.6.24-16-openvz 24&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;  virtualbox-ose-modules-2.6.24-16-generic 24&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;  virtualbox-ose-modules-2.6.24-16-386 24&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;You should explicitly select one to install.&lt;br /&gt;E: Package virtualbox-ose-modules has no installation candidate&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;GGgg! So many choices! I guess its right that "&lt;a href="http://www.openmalaysiablog.com/2008/04/its-not-about-c.html"&gt;Its not about choosing, but about having a choice&lt;/a&gt;"! So I just guessed:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;# apt-get install virtualbox-ose-modules-2.6.24-16-generic&lt;/span&gt;&lt;/blockquote&gt;And it proceeds to download 326KB worth of extra precompiled modules. Now you'd have thought that they would include it anyway, so it would make the steps alot easier, but I guess sysadmins need to make their living.&lt;br /&gt;&lt;br /&gt;I also &lt;a href="https://help.ubuntu.com/community/VirtualBox"&gt;had to add myself&lt;/a&gt; in the vboxusers group:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# gpasswd -a yky vboxusers&lt;/blockquote&gt;Finally, the VM booted up, and I successfully installed the glorious Windows XP SP2 into it. Brings back so many memories. Its been quite some time since Ive relied on a proprietary desktop to do my daily work.&lt;br /&gt;&lt;br /&gt;The performance of VirtualBox is quite good. I tried Qemu a long time ago, and that was sluggish. This was fast and responsive. Installation from CD was not a problem. Everything worked well. There is also a feature to "Install Guest Additions", and the VirtualBox manager will then download a 5MB ISO which can be mounted as a CD.&lt;br /&gt;&lt;br /&gt;Run "Setup.exe" from the drive, and you should have a more "seamless" experience, in that your mouse will not be caught (and have to be released with the Right Cntrl key), and also the desktop screen resolution can be changed on-the-fly, just by resizing the VirtualBox window! Neat feature.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/SB7pFt_RCvI/AAAAAAAAALo/P9wxGWUMyqU/s1600-h/vBox.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/SB7pFt_RCvI/AAAAAAAAALo/P9wxGWUMyqU/s400/vBox.png" alt="" id="BLOGGER_PHOTO_ID_5196847304485702386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;I resized the desktop to a little. WinXP now looks like a Windows CE emulator.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I installed my Windows dev tools, and response is better than I could ask for from a real Free (as in Freedom) Virtual Machine. Whats great is that it supports my non-VT Centrino processor. Load on the CPU is low, and a 512MB VM chugs along quite well on my 1.7GHz 1.2GB host.&lt;br /&gt;&lt;br /&gt;So I wholly recommend this application for el proprietary desktop application needs. Its quite good! Installation could be easier, but its a hell of a lot easier years ago. Well done Sun! Must have been &lt;a href="http://www.bytebot.net/blog/"&gt;Colin&lt;/a&gt;'s fault yet again.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-310638561831674392?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/310638561831674392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=310638561831674392' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/310638561831674392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/310638561831674392'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/05/virtualbox-winxp-on-ubuntu-fast-finally.html' title='VirtualBox: WinXP on Ubuntu. Fast. Finally.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/SB7k5t_RCtI/AAAAAAAAALY/c91DPNCeTOM/s72-c/vbox_logo2_gradient.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-8409182155189249004</id><published>2008-04-28T19:28:00.007+08:00</published><updated>2008-12-11T16:33:12.704+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardy heron'/><category scheme='http://www.blogger.com/atom/ns#' term='compiz'/><category scheme='http://www.blogger.com/atom/ns#' term='ati radeon'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Compiz works on Heron!</title><content type='html'>After the initial &lt;a href="http://yoonkit.blogspot.com/2008/04/hardy-heron-works.html"&gt;dissapointment&lt;/a&gt; with my clean installation of Ubuntu Hardy Heron, I finally got compiz to work. It was related to the strange core dumps which happens after I run the glx applications. Even running glxinfo causes a segmentation fault. Fortunately it provided a nugget of information:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote style="font-family: courier new;font-family:courier new;" &gt;&lt;span style="font-size:85%;"&gt;direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)&lt;/span&gt;&lt;/blockquote&gt;So set an environment variable as such:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote style="font-family: courier new;font-family:courier new;" &gt;# export LIBGL_DEBUG=verbose&lt;/blockquote&gt;and running glxinfo will result in a more verbose error:&lt;br /&gt;&lt;blockquote style="font-family: courier new;" face="courier new"&gt;&lt;span style="font-size:85%;"&gt;libGL: XF86DRIGetClientDriverName: 5.3.0 r200 (screen 0)&lt;br /&gt;libGL: OpenDriver: trying /usr/lib/dri/r200_dri.so&lt;br /&gt;libGL error: dlopen /usr/lib/dri/r200_dri.so failed (/usr/lib/dri/r200_dri.so: undefined symbol: _glapi_Dispatch)&lt;br /&gt;libGL error: unable to load driver: r200_dri.so&lt;/span&gt;&lt;/blockquote&gt;I &lt;a href="http://www.google.com.my/search?q=%2Fusr%2Flib%2Fdri%2Fr200_dri.so+failed+libGL+ubuntu&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=com.ubuntu:en-US:unofficial&amp;amp;client=firefox-a"&gt;googled&lt;/a&gt; for this, and found this very interesting &lt;a href="https://launchpad.net/ubuntu/+source/mesa/+bug/48029"&gt;'bug report'&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically the issue is that I erroneously installed the &lt;span style="font-weight: bold;"&gt;fglrx&lt;/span&gt; drivers which I dont need to because my &lt;span style="font-weight: bold;"&gt;ATI Radeon Mobility 9200 is fully supported by the "ati" Open Source drivers&lt;/span&gt; provided by xorg.&lt;br /&gt;&lt;br /&gt;So the solution for all this is to remove fglrx with this:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote style="font-family: courier new;"&gt;# apt-get remove xorg-driver-fglrx&lt;/blockquote&gt;However there is one more hurdle. Compiz by itself will not run properly "out of the box" on my system. If you run it on the command line&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;# /usr/bin/compiz --replace &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;You will get this error:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;Checking for Xgl: not present.&lt;br /&gt;Found laptop using ati driver.&lt;br /&gt;aborting and using fallback: /usr/bin/metacity &lt;/span&gt;&lt;/blockquote&gt;And therefore fallback to metacity. No compiz goodness.&lt;br /&gt;&lt;br /&gt;To get this to run, according to &lt;a href="http://ubuntuforums.org/showthread.php?p=4303968#post4303968"&gt;this post&lt;/a&gt;, you will need to modify &lt;span style="font-family:courier new;"&gt;/usr/bin/compiz&lt;/span&gt; by adding these two lines at the top of the file:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;LIBGL_ALWAYS_INDIRECT="true"&lt;br /&gt;SKIP_CHECKS="yes"&lt;/blockquote&gt;This will bypass the checks compiz runs which may abort if it thinks your system isnt good enough. Its something like the "Vista Capable" programme, but only in reverse.&lt;br /&gt;&lt;br /&gt;Running compiz again on the command line confirms that its really working, and using the System/Preferences/Appearance/Visual Effects also correctly boots up compiz. The performance is really fast, my wobbly windows are sufficiently wobbly, and all the compiz effects are really smooth.&lt;br /&gt;&lt;br /&gt;This inspired me to make my own compiz capable logo.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SBZ-39_RCrI/AAAAAAAAALI/rqEl9Ha-s_E/s1600-h/compiz-capable2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SBZ-39_RCrI/AAAAAAAAALI/rqEl9Ha-s_E/s400/compiz-capable2.png" alt="" id="BLOGGER_PHOTO_ID_5194478720216271538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;yk.&lt;br /&gt;&lt;br /&gt;[Update: Removed the beryl logo]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-8409182155189249004?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/8409182155189249004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=8409182155189249004' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8409182155189249004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/8409182155189249004'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/04/compiz-works-on-heron.html' title='Compiz works on Heron!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/SBZ-39_RCrI/AAAAAAAAALI/rqEl9Ha-s_E/s72-c/compiz-capable2.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-3163913005461040897</id><published>2008-04-28T14:32:00.005+08:00</published><updated>2008-12-11T16:33:13.195+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardy heron'/><category scheme='http://www.blogger.com/atom/ns#' term='compiz'/><category scheme='http://www.blogger.com/atom/ns#' term='mighty mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Hardy Heron - works!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/SBV3ld_RCpI/AAAAAAAAAK4/YDy2wbmTavo/s1600-h/hardy.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/SBV3ld_RCpI/AAAAAAAAAK4/YDy2wbmTavo/s400/hardy.jpg" alt="" id="BLOGGER_PHOTO_ID_5194189230830586514" border="0" /&gt;&lt;/a&gt;Last Friday, I started my migration from &lt;span style="font-weight: bold;"&gt;Gutsy Gibbon&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;Hardy Heron&lt;/span&gt;. I took this opportunity to wipe out my entire system, starting from scratch with a new hard disk. Yeah, a 160GB notebook IDE hard disk is now only RM200, so I thought it was a worthwhile upgrade (and effort). I used to have two huge partitions (20-30GB each) formatted as FAT32 for me to share data if I so happened to boot into Windows XP. However for the past year, I never found the need to do that, so Im finally getting rid of FAT32 and by extension, &lt;a href="http://yoonkit.blogspot.com/2007/09/preserving-time-stamps-on-fat32-copies.html"&gt;issues with user and datetime&lt;/a&gt; information when rsynching.&lt;br /&gt;&lt;br /&gt;Popped out the old HDD, replaced with the new, popped in the Install CD and was in the Installation screen booted up relatively quickly.  The partitioning part of the installation process was quite tedious, because changing the partitions sizes was quite manual. You had to delete the partitions to make changes to the sizes. No slidey thingies as we are used to with partition management UIs.&lt;br /&gt;&lt;br /&gt;After the CD was copied to the hard disk, Hardy booted up really fast. Im not sure its because I was so used to the relatively slow bootup of Gutsy, because &lt;a href="http://yoonkit.blogspot.com/2007/10/gutsy-gibbonized.html"&gt;it was an upgrade&lt;/a&gt; of &lt;a href="http://yoonkit.blogspot.com/2007/04/ubuntu-feisty-fawn.html"&gt;&lt;span style="font-weight: bold;"&gt;Feisty Fawn&lt;/span&gt;&lt;/a&gt;, but I was well impressed with the speed. Things just worked out of the box. Wifi connected without a hitch, sound worked well, special buttons worked, and battery indicators seemed accurate. Suspend gave a problem, but fortunately Hibernate worked! Although it did give some worrying messages in between.&lt;br /&gt;&lt;br /&gt;The new Firefox 3 beta 5 looks and feels real good. There are lots of little details which really make it look polished. My greasemonkey scripts appear to run faster than before. Im very happy that greasemonkey and firebug are easily installed via the Add/Remove software app. However some other browser plugins still arent ready, e.g. Google Sync and Permatabs.&lt;br /&gt;&lt;br /&gt;I loved the new look to it, fonts seemed a lot more crisp (make sure this is set: System/Preferences/Fonts from &lt;span style="font-weight: bold;"&gt;BestShapes&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;SubPixels&lt;/span&gt; for your laptop/LCD screens),  and windows moved alot faster. I checked out the screensavers, and the 3D ones seemed to be smoother too. However, strangely, compiz was not working. My ATI Mobility 9200 doesn't seem to work well with it, even though I have seen it work with Gutsy. Running &lt;span style="font-weight: bold;"&gt;glxgears&lt;/span&gt; gives a pretty good 1500 FPS. However when you close the app, it core dumps and a new dialog appears. This appears for other 3D screensavers too.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/SBVyIN_RCoI/AAAAAAAAAKw/jEJ1bP1MbXc/s1600-h/GLXGears-Close.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/SBVyIN_RCoI/AAAAAAAAAKw/jEJ1bP1MbXc/s400/GLXGears-Close.png" alt="" id="BLOGGER_PHOTO_ID_5194183230761273986" border="0" /&gt;&lt;/a&gt;&lt;a href="http://wiki.cchtml.com/index.php/Ubuntu_Gutsy_Installation_Guide"&gt;Installing the &lt;span style="font-weight: bold;"&gt;fglrx&lt;/span&gt; drivers&lt;/a&gt; doesn't seem to work either. Placing "fglrx" in the xorg.conf causes X to not start. Thats really annoying.&lt;br /&gt;&lt;br /&gt;Also horizontal scrolling on &lt;a href="http://yoonkit.blogspot.com/2007/09/mighty-mouse-wired.html"&gt;the Mighty Mouse&lt;/a&gt; is not working. Whenever I change the Driver in the xorg.conf file from "mouse" to "evdev", the mouse will not work at all. Ive tried all the new tricks as described in &lt;a href="http://www.penlug.org/twiki/bin/view/Main/LinuxHardwareInfoAppleiMac24"&gt;this relatively new document&lt;/a&gt;, but getting horizontal scroll to work seems to be a puzzle.&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;Option  "SendCoreEvents" "true"&lt;/blockquote&gt;It seems strange that things which used to work almost out of the box isnt working now. Whats interesting about Firefox 3 is that it is Mighty Mouse friendly: the Backward/Forward (&lt;code style="font-weight: bold;"&gt;mousewheel.horizscroll.withnokey.action&lt;/code&gt;  from "2" to "0")  and Horizontal Scroll reversal (&lt;code&gt; &lt;span style="font-weight: bold;"&gt;mousewheel.horizscroll.withnokey.numlines&lt;/span&gt;&lt;/code&gt; from "-1" to "1") settings are already corrected, so that &lt;a href="http://yoonkit.blogspot.com/2007/09/mighty-mouse-wired.html"&gt;one less fiddle in the about:config step to go through&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Another final touch is &lt;a href="https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs"&gt;getting multimedia to work&lt;/a&gt;. So this command downloads the necessary &lt;span style="font-weight: bold;"&gt;unfree&lt;/span&gt; codecs:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote style="font-family: courier new;"&gt;# sudo apt-get install ubuntu-restricted-extras&lt;/blockquote&gt;It will then download 37MB of files (and more) for your viewing pleasure.&lt;br /&gt;&lt;br /&gt;So overall, Im very happy with the new breath of fresh performance on my slightly old laptop (3 years old), Im dismayed that I can't scroll horizontally, and my compiz eyecandy isnt working. But I'm confident that I'll eventually find a way to rectify the current features as it used to work before.&lt;br /&gt;&lt;br /&gt;It's definitely a worthy update for experts now, but for n00bs, please wait a month for workarounds and upgrades to plugins are found.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-3163913005461040897?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/3163913005461040897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=3163913005461040897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3163913005461040897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3163913005461040897'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/04/hardy-heron-works.html' title='Hardy Heron - works!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/SBV3ld_RCpI/AAAAAAAAAK4/YDy2wbmTavo/s72-c/hardy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2486767830025639121</id><published>2008-04-21T15:16:00.004+08:00</published><updated>2008-04-21T15:32:28.028+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='decode'/><category scheme='http://www.blogger.com/atom/ns#' term='tnef'/><category scheme='http://www.blogger.com/atom/ns#' term='winmail.dat'/><title type='text'>winmail.dat</title><content type='html'>Just got this email from a frustrated colleague:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;any idea why this keeps happening? mike's attachments keep appearing as winmail.dat files when i receive them.&lt;/blockquote&gt;The winmail.dat file is a 84KB file of unknown origins. So I detached the file, and looked at it via the command line:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;yky@x1407:~/Desktop$ more winmail.dat&lt;br /&gt;x�&gt;"���� &lt;span style="font-weight: bold;"&gt;IPM.Microsoft Mail.Note&lt;/span&gt;       �^L^L7&lt;br /&gt;                                                          &amp;amp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;blegh.&lt;br /&gt;&lt;br /&gt;Googling "winmail.dat attachments" brought me to &lt;a href="http://kb.mozillazine.org/Winmail.dat_attachments"&gt;this informative page&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;&lt;h2&gt;Problem&lt;/h2&gt; &lt;p&gt;The Microsoft Outlook e-mail program sometimes sends e-mails in the Transport Neutral Encapsulation Format (TNEF). Most other e-mail programs, including Thunderbird, do not understand TNEF. &lt;/p&gt;&lt;p&gt;If your e-mail program doesn't understand TNEF, instead of seeing the e-mail and/or attachment, you may only see an attachment named &lt;b&gt;"winmail.dat"&lt;/b&gt; or "Part 1.2" that you cannot open. Also, sometimes you may receive a TNEF attachment with a generic name such as ATT00008.dat or ATT00005.eml instead.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;The solution is to have a TNEF decoder. I typed "&lt;a href="http://tnef.sourceforge.net/"&gt;tnef&lt;/a&gt;" on my ubuntu shell, and it was already installed. 'man'ed it and found that the syntax is:&lt;br /&gt;&lt;blockquote style="font-family: courier new; font-weight: bold;"&gt;tnef -vf winmail.dat&lt;/blockquote&gt;'&lt;span style="font-weight: bold;"&gt;v&lt;/span&gt;' is for 'verbose' so that it lists what file names it successfully decodes, and the '&lt;span style="font-weight: bold;"&gt;f&lt;/span&gt;' flag is to indicate which input file to use (otherwise it uses stdin).&lt;br /&gt;&lt;br /&gt;Thats all there is to it. The encoded file will then appear, forward it to your colleagues  and their frustrations will subside ... at least till yet another Outlook user decides to harass em.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2486767830025639121?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2486767830025639121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2486767830025639121' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2486767830025639121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2486767830025639121'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/04/winmaildat.html' title='winmail.dat'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1265409838140335847</id><published>2008-03-09T03:21:00.003+08:00</published><updated>2008-03-09T03:32:08.909+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elections'/><category scheme='http://www.blogger.com/atom/ns#' term='malaysia'/><title type='text'>A new day.</title><content type='html'>Its now 3am, and time to sleep. Been following the results of the Malaysian Elections via the super-fast malaysiakini site, probably because the majority of normal browsers would have been denied access to the website, because the DNS entries for malaysiakini.com pointed back to localhost at 127.0.0.1.&lt;br /&gt;&lt;br /&gt;A usable address for malaysiakini is &lt;a href="http://122.0.17.30/index.php"&gt;http://122.0.17.30/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the meantime, the results have been surprising. Lets just hope that this 'mandate' as small as it may be, would not be squandered like it was 4 years ago.&lt;br /&gt;&lt;br /&gt;This is the first elections I have felt so interested in, and I haven't felt so Malaysian before. Its all good!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Congrats, elected members, but remember that the public WILL chose from now on.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1265409838140335847?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1265409838140335847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1265409838140335847' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1265409838140335847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1265409838140335847'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/03/new-day.html' title='A new day.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-3346571218049799214</id><published>2008-03-08T22:32:00.009+08:00</published><updated>2008-12-11T16:33:13.426+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elections'/><category scheme='http://www.blogger.com/atom/ns#' term='malaysia'/><title type='text'>Malaysian Elections</title><content type='html'>Today is Election day for Malaysia, and the news is certainly interesting. National TV is broadcasting like nothing has changed since 2004, while alternative news sites like &lt;a href="http://malaysiakini.com/"&gt;malaysiakini&lt;/a&gt; is showing sweeping changes. The biggest of course is about Penang, where the current Opposition has taken control of the state govt. We dont see any updates of this big news in the mainstream news.&lt;br /&gt;&lt;br /&gt;Anyway, the disparity is quite interesting, and I just hope its not a repeat of this guy:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.welovetheiraqiinformationminister.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/R9KlBxK2XJI/AAAAAAAAAIM/nGzvf8X0_tI/s400/info-minister-iraq.jpg" alt="There are no American infidels in Baghdad. Never!" id="BLOGGER_PHOTO_ID_5175380371599416466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;yk.&lt;br /&gt;&lt;br /&gt;[Update: 11pm. Looks like malaysiakini is down. 'wget http://malaysiakini.com/index.php' gives nothing.]&lt;br /&gt;&lt;br /&gt;[Update:11:15pm. Thats strange. I do a ping www.malaysiakini.com, and I get localhost! 127.0.0.1  Anybody else getting the same thing?]&lt;br /&gt;&lt;br /&gt;[Update: 11:40pm, Thanks to the power of &lt;a href="http://www.whois.ws/whois-com/ip-address/malaysiakini.com/"&gt;google/whois&lt;/a&gt;, malaysiakini is available here via static IP: &lt;a href="http://122.0.17.30/index.php"&gt;http://122.0.17.30/index.php&lt;/a&gt; ]&lt;br /&gt;&lt;br /&gt;[Update: 11:45pm, Mel has some interesting info on the downtime. "&lt;a href="http://security.org.my/index.php?/archives/Breaking-News-Malaysiakini-DNS-Suspended%21.html"&gt;Breaking News - Malaysiakini DNS Suspended!&lt;/a&gt;"]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-3346571218049799214?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/3346571218049799214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=3346571218049799214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3346571218049799214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/3346571218049799214'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/03/malaysian-elections.html' title='Malaysian Elections'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/R9KlBxK2XJI/AAAAAAAAAIM/nGzvf8X0_tI/s72-c/info-minister-iraq.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2503825302778860135</id><published>2008-02-10T13:21:00.000+08:00</published><updated>2008-12-11T16:33:13.552+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eeePC'/><category scheme='http://www.blogger.com/atom/ns#' term='3g'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='dialup'/><title type='text'>eeePC dialing into maxis via bluetooth.</title><content type='html'>For real mobility, I needed to configure the Asus eeePC to connect to the internet via my e61. I basically followed the instructions I compiled back in May 2007, "&lt;a href="http://yoonkit.blogspot.com/2007/05/ubuntu-dialup-via-bluetooth.html"&gt;Ubuntu dialup via bluetooth&lt;/a&gt;" which was configured for my laptop, with some corrections.&lt;br /&gt;&lt;br /&gt;I have updated the post with the most current information. Items being:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;apt-get doesnt require blues-pin anymore.&lt;/li&gt;&lt;li&gt;a bluetooth service needs to be restarted to register the rfcomm0 device&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/R7AwziKjl9I/AAAAAAAAAIE/KcdPBr4-kB4/s1600-h/ABT003.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/R7AwziKjl9I/AAAAAAAAAIE/KcdPBr4-kB4/s400/ABT003.jpg" alt="" id="BLOGGER_PHOTO_ID_5165682434496501714" border="0" /&gt;&lt;/a&gt;I got myself a &lt;a href="http://www.avf.com.my/details.asp?prod_id=1235"&gt;AVF bluetooth adaptor&lt;/a&gt;, and its really slim - about 3mm thick. It cost RM39.00 which I thought was a great price. It also presents ample opportunity for it to be embedded within the eee PC casing if I were so bold as to &lt;a href="http://tnkgrl.wordpress.com/2007/11/28/modding-the-asus-701-eee-bluetooth/"&gt;solder it directly into the motherboard&lt;/a&gt;. heh. One of these days, I guess.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2503825302778860135?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2503825302778860135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2503825302778860135' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2503825302778860135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2503825302778860135'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/02/eeepc-dialing-into-maxis-via-bluetooth.html' title='eeePC dialing into maxis via bluetooth.'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_NATV2G3QyV8/R7AwziKjl9I/AAAAAAAAAIE/KcdPBr4-kB4/s72-c/ABT003.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1117199846178690964</id><published>2008-02-02T12:17:00.000+08:00</published><updated>2008-02-02T12:25:49.897+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='eeePC'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='synaptics'/><title type='text'>Asus eeePC, ubuntu, firefox and the synaptic touchpad</title><content type='html'>Im playing around with the Asus eeePC and have since tried out different linux flavours on it. Ive settled with Ubuntu mainly because of familiarity. And after a reinstall, its fast enough.&lt;br /&gt;&lt;br /&gt;A surprising discovery is that the synaptics touchpad features horizontal scrolling too. To enable it,&lt;br /&gt;&lt;br /&gt;1) Go to System / Preference / Mouse&lt;br /&gt;2) Click the "Touchpad" tab&lt;br /&gt;3) Enable "Horizontal Scrolling"&lt;br /&gt;&lt;br /&gt;Firefox will then become impossible to use, because the horizontal action is defaulted to "back" and "forward". So just like the &lt;a href="http://yoonkit.blogspot.com/2007/09/mighty-mouse-wired.html"&gt;Mighty Mouse settings&lt;/a&gt;, adjust these about:config settings:&lt;br /&gt;&lt;br /&gt;4) &lt;code style="font-weight: bold;"&gt;mousewheel.horizscroll.withnokey.action&lt;/code&gt;  from "2" to "0"&lt;br /&gt;5) &lt;code&gt; &lt;span style="font-weight: bold;"&gt;mousewheel.horizscroll.withnokey.numlines&lt;/span&gt;&lt;/code&gt; from "-1" to "1"&lt;br /&gt;&lt;br /&gt;And there you have it, vertical and horizontal scrolling on the little eeePC.&lt;br /&gt;&lt;br /&gt;My thoughts on this device in a later post.&lt;br /&gt;&lt;br /&gt;yk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1117199846178690964?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1117199846178690964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1117199846178690964' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1117199846178690964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1117199846178690964'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2008/02/asus-eeepc-ubuntu-firefox-and-synaptic.html' title='Asus eeePC, ubuntu, firefox and the synaptic touchpad'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-9117143039596015991</id><published>2007-12-19T12:33:00.000+08:00</published><updated>2008-12-11T16:33:14.222+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='printer'/><category scheme='http://www.blogger.com/atom/ns#' term='canon'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Canon ImageRunner and Ubuntu</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/R2i3INSGRsI/AAAAAAAAAH8/ltsfUfUWO58/s1600-h/canon-ir-3300.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/R2i3INSGRsI/AAAAAAAAAH8/ltsfUfUWO58/s400/canon-ir-3300.jpg" alt="" id="BLOGGER_PHOTO_ID_5145563925903197890" border="0" /&gt;&lt;/a&gt;We have gone away from individual departments printers with a centralised printer/photocopier/scanner device. We chose Canon's ImageRunner 3300 as our solution. Installing the printer drivers for Windows was easy. Installing it on Ubuntu was even easier - no drivers necessary.&lt;br /&gt;&lt;br /&gt;1) Select System / Administration / Printing.&lt;br /&gt;2) Click on "New Printer". This would take about 10 seconds before this screen appears:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/R2i2OtSGRoI/AAAAAAAAAHc/PG-YdWBThL8/s1600-h/Step1-PrinterConnection.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/R2i2OtSGRoI/AAAAAAAAAHc/PG-YdWBThL8/s400/Step1-PrinterConnection.png" alt="" id="BLOGGER_PHOTO_ID_5145562938060719746" border="0" /&gt;&lt;/a&gt;As it scans the network for available printers. The Printer I wanted was the Canon iR3300.&lt;br /&gt;3) Clicking "Forward" would display the available drivers.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/R2i2UNSGRpI/AAAAAAAAAHk/5d_msvsrTVg/s1600-h/Step2-AddPrinter.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/R2i2UNSGRpI/AAAAAAAAAHk/5d_msvsrTVg/s400/Step2-AddPrinter.png" alt="" id="BLOGGER_PHOTO_ID_5145563032550000274" border="0" /&gt;&lt;/a&gt;The Manufacturer was automatically selected, but the model was not. There was is an entry for imageRunner 330s which I selected.&lt;br /&gt;4) Clicking "Forward" again was a screen for descriptive information for the printer.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_NATV2G3QyV8/R2i2Z9SGRqI/AAAAAAAAAHs/YXljva4480Y/s1600-h/Step3-Information.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_NATV2G3QyV8/R2i2Z9SGRqI/AAAAAAAAAHs/YXljva4480Y/s400/Step3-Information.png" alt="" id="BLOGGER_PHOTO_ID_5145563131334248098" border="0" /&gt;&lt;/a&gt;Its not entirely necessary to fill it in...&lt;br /&gt;5) and finally, when the "Apply" button is clicked, the new printer is displayed:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/R2i2etSGRrI/AAAAAAAAAH0/ndluhKU2rqI/s1600-h/Step9-Done.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/R2i2etSGRrI/AAAAAAAAAH0/ndluhKU2rqI/s400/Step9-Done.png" alt="" id="BLOGGER_PHOTO_ID_5145563212938626738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And the printer is immediately available! The test print worked, and a spreadsheet from OpenOffice.org Calc worked. Duplex (double sided) printing also works.&lt;br /&gt;&lt;br /&gt;So that was relatively straightforward!&lt;br /&gt;&lt;br /&gt;However, now Id have to figure out how to get the network scanning feature to work ...&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-9117143039596015991?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/9117143039596015991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=9117143039596015991' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9117143039596015991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9117143039596015991'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/12/canon-imagerunner-and-ubuntu.html' title='Canon ImageRunner and Ubuntu'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/R2i3INSGRsI/AAAAAAAAAH8/ltsfUfUWO58/s72-c/canon-ir-3300.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-6848416752584211096</id><published>2007-12-19T12:19:00.000+08:00</published><updated>2007-12-19T12:32:55.853+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='archivemail'/><category scheme='http://www.blogger.com/atom/ns#' term='patch'/><category scheme='http://www.blogger.com/atom/ns#' term='diff'/><category scheme='http://www.blogger.com/atom/ns#' term='dspam'/><title type='text'>How to make nice looking diffs</title><content type='html'>I was wondering how to make nice looking diff patch files yesterday, as using "diff &lt;orig&gt; &lt;modified&gt;" gave really cryptic outputs and not very user friendly. I IM'ed &lt;a href="http://aizatto.com/"&gt;Aizat&lt;/a&gt; who happened to be online in Chile. He just said use "svn diff". I told him that I was working on files local on my machine, so svn was not appropriate.&lt;br /&gt;&lt;br /&gt;Googling didn't help much. So I just submitted the &lt;a href="http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1852984&amp;amp;group_id=49630&amp;amp;atid=456912"&gt;standard diff output&lt;/a&gt; as my patch.&lt;br /&gt;&lt;br /&gt;Then this morning, Ow had &lt;a href="http://lotso.livejournal.com/103701.html"&gt;a blog post about his patch&lt;/a&gt;, and he included his command line. The answer is "&lt;span style="font-weight: bold;"&gt;diff -Nau&lt;/span&gt;"!&lt;br /&gt;&lt;br /&gt;So here is the patch for the &lt;a href="http://yoonkit.blogspot.com/2007/12/making-archivemail-to-work-with-dspam.html"&gt;archivemail-dspam&lt;/a&gt; script:&lt;br /&gt;&lt;br /&gt;&lt;/modified&gt;&lt;/orig&gt;&lt;pre&gt;yky@x1407:~/dspam$ diff -Nau archivemail archivemail-dspam&lt;br /&gt;--- archivemail 2007-12-18 19:13:34.000000000 +0800&lt;br /&gt;+++ archivemail-dspam   2007-12-18 19:02:47.000000000 +0800&lt;br /&gt;@@ -187,6 +187,8 @@&lt;br /&gt;    min_size             = None&lt;br /&gt;    verbose              = 0&lt;br /&gt;    warn_duplicates      = 0&lt;br /&gt;+    """ 071218   yky  DSPAM-Confidence setting """&lt;br /&gt;+    spam_confidence = 0.00&lt;br /&gt;&lt;br /&gt;    def parse_args(self, args, usage):&lt;br /&gt;        """Set our runtime options from the command-line arguments.&lt;br /&gt;@@ -206,7 +208,7 @@&lt;br /&gt;                             "filter-append=", "pwfile=", "dont-mangle",&lt;br /&gt;                            "archive-name=",&lt;br /&gt;                             "preserve-unread", "quiet", "size=", "suffix=",&lt;br /&gt;-                             "verbose", "version", "warn-duplicate"])&lt;br /&gt;+                             "verbose", "version", "warn-duplicate", "spam=" ])&lt;br /&gt;        except getopt.error, msg:&lt;br /&gt;            user_error(msg)&lt;br /&gt;&lt;br /&gt;@@ -256,6 +258,8 @@&lt;br /&gt;                self.verbose = 1&lt;br /&gt;            if o == '--archive-name':&lt;br /&gt;                self.archive_name = a;&lt;br /&gt;+            if o == '--spam':&lt;br /&gt;+                self.spam_confidence = float(a)&lt;br /&gt;            if o in ('-V', '--version'):&lt;br /&gt;                print __version__ + "\n\n" + __copyright__&lt;br /&gt;                sys.exit(0)&lt;br /&gt;@@ -265,7 +269,7 @@&lt;br /&gt;        """Complain bitterly about our options now rather than later"""&lt;br /&gt;        if self.output_dir:&lt;br /&gt;            check_sane_destdir(self.output_dir)&lt;br /&gt;-        if self.days_old_max &lt;&gt;= 10000:&lt;br /&gt;            user_error("--days argument must be less than 10000")&lt;br /&gt;@@ -661,6 +665,7 @@&lt;br /&gt;      --include-flagged messages flagged important can also be archived&lt;br /&gt;      --no-compress     do not compress archives with gzip&lt;br /&gt;      --warn-duplicate  warn about duplicate Message-IDs in the same mailbox&lt;br /&gt;+      --spam=FLOAT      SPAM Confidence levels ( e.g. 0.80  )&lt;br /&gt;  -v, --verbose         report lots of extra debugging information&lt;br /&gt;  -q, --quiet           quiet mode - print no statistics (suitable for crontab)&lt;br /&gt;  -V, --version         display version information&lt;br /&gt;@@ -737,6 +742,22 @@&lt;br /&gt;    mbox_from = "From %s %s\n" % (address, date_string)&lt;br /&gt;    return mbox_from&lt;br /&gt;&lt;br /&gt;+&lt;br /&gt;+def get_spam_confidence(message):&lt;br /&gt;+       """Returns the DSPAM_Confidence from the message headers. Zero by default"""&lt;br /&gt;+       """ 071218  yky  Created """&lt;br /&gt;+&lt;br /&gt;+       assert(message != None)&lt;br /&gt;+&lt;br /&gt;+       for header in ('X-DSPAM-Confidence', 'SPAM-Confidence'):&lt;br /&gt;+               confidence = message.get(header)&lt;br /&gt;+               if confidence:&lt;br /&gt;+                               confidence_val = float( confidence )&lt;br /&gt;+                               if confidence_val:&lt;br /&gt;+                                       vprint("Spam Confidence: %f " % confidence_val)&lt;br /&gt;+                                       return confidence_val&lt;br /&gt;+&lt;br /&gt;+       return 0.0&lt;br /&gt;&lt;br /&gt;def guess_return_path(message):&lt;br /&gt;    """Return a guess at the Return Path address of an rfc822 message"""&lt;br /&gt;@@ -987,6 +1008,11 @@&lt;br /&gt;        return 0&lt;br /&gt;    if options.preserve_unread and is_unread(message):&lt;br /&gt;        return 0&lt;br /&gt;+&lt;br /&gt;+        # 071218  yky  Filtering by SPAM Confidence       &lt;br /&gt;+    if (options.spam_confidence &gt; 0) and (options.spam_confidence &gt; get_spam_confidence(message)):&lt;br /&gt;+               return 0&lt;br /&gt;+   &lt;br /&gt;    return 1&lt;br /&gt;       &lt;br /&gt;   &lt;br /&gt;@@ -1019,7 +1045,7 @@&lt;br /&gt;    max_days -- maximum number of days before message is considered old&lt;br /&gt;      &lt;br /&gt;    """&lt;br /&gt;-    assert(max_days &gt;= 1)&lt;br /&gt;+    assert(max_days &gt;= 0)&lt;br /&gt;&lt;br /&gt;    time_now = time.time()&lt;br /&gt;    if time_message &gt; time_now:&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thanks Ow!&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-6848416752584211096?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/6848416752584211096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=6848416752584211096' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6848416752584211096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6848416752584211096'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/12/how-to-make-nice-looking-diffs.html' title='How to make nice looking diffs'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-2550687910782519316</id><published>2007-12-18T17:51:00.000+08:00</published><updated>2007-12-19T11:14:01.356+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='archivemail'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='dspam'/><title type='text'>Making Archivemail work with DSpam</title><content type='html'>Ive got an &lt;a href="http://www.nuclearelephant.com/"&gt;dspam&lt;/a&gt; "appliance" where the enterprise emails filter through. I've set it up so that only one dspam user is used to filter all the emails. This has worked well over the past few years, but managing it has been quite a chore. Every morning, I'd have to wade through the emails in the quarantine (about 15K), and free up any False Positives which were caught.&lt;br /&gt;&lt;br /&gt;Beyond the 58% spam confidence as reported by DSpam is pretty much spam. Below that, between the 47% - 57% there may exist one or two False Positives.&lt;br /&gt;&lt;br /&gt;After freeing them up, deleting the remaining emails is a huge chore, because the DSpam UI will not allow deleting the quarantine file when new spam pops in.&lt;br /&gt;&lt;br /&gt;So I needed a little program which would scan the quarantine mbox file and delete off any messages which are 58% or higher spam confidence.&lt;br /&gt;&lt;br /&gt;I tried the most obvious program called '&lt;a href="http://archivemail.sourceforge.net/"&gt;archivemail&lt;/a&gt;', which was readily available in all distros, but was disappointed that it only allowed filtering on the messages age. There was a mysterious "Filter" switch but it only applied to IMAP mailboxes.&lt;br /&gt;&lt;br /&gt;The great thing about this is that archivemail, like the entire emailling stack on my servers, is its completely Free Software. I just had to invest some time to look at the code. archivemail lived in /usr/bin/. I had a look at the file, and its a very small 1500 line python script!&lt;br /&gt;&lt;br /&gt;I haven't programmed in python before, but looking at the code, it didn't look too scary. It had classes, but no colons. Indentation seemed to be important here. I scanned the code, and I found the little function called "should_archive(message)". And sure enough, the crux of the logic which defines whether a message is to be archived away or not, was there.&lt;br /&gt;&lt;br /&gt;So I added this line:&lt;br /&gt;&lt;pre style="font-family: courier new; font-size: 85%;"&gt;if (options.spam_confidence &gt; 0)&lt;br /&gt;  and (options.spam_confidence &gt; get_spam_confidence(message)):&lt;br /&gt;     return 0&lt;/pre&gt;And modified the options class to include the spam_confidence field. Did some modifications on the code to read in the command line options, and then had to create the section which extracts the spam confidence from the message headers. Doing this was relatively easy, because the rest of the code basically does the same things: reading things off the headers and using the information.  So my new function looked like this:&lt;br /&gt;&lt;pre style="font-size: 85%;"&gt;&lt;br /&gt;def get_spam_confidence(message):&lt;br /&gt;"""Returns the DSPAM_Confidence from the message headers. Zero by default"""&lt;br /&gt;""" 071218  yky  Created """&lt;br /&gt;&lt;br /&gt;assert(message != None)&lt;br /&gt;&lt;br /&gt;for header in ('X-DSPAM-Confidence', 'SPAM-Confidence'):&lt;br /&gt; confidence = message.get(header)&lt;br /&gt; if confidence:&lt;br /&gt;   confidence_val = float( confidence )&lt;br /&gt;   if confidence_val:&lt;br /&gt;    vprint("Spam Confidence: %f " % confidence_val)&lt;br /&gt;    return confidence_val    &lt;br /&gt;   &lt;br /&gt;return 0.0&lt;br /&gt;&lt;/pre&gt;Thats it!&lt;br /&gt;&lt;br /&gt;I also set some cronjobs to run against the quarantine file; to kill 88% and above spams every hour, kill 58% spams after 3 days, and kill the rest if they are more than 14 days old.&lt;br /&gt;&lt;br /&gt;I then followed up with my corporate responsibility duties, and &lt;a href="http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1852984&amp;amp;group_id=49630&amp;amp;atid=456912"&gt;submitted the patch&lt;/a&gt; back to the &lt;a href="http://archivemail.sourceforge.net/"&gt;archivemail project in sourceforge&lt;/a&gt;. This didn't take me long, and it is worth while whether they accept it or not. At least the source is available online.&lt;br /&gt;&lt;br /&gt;I hope this helps other dspam admins out there too!&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-2550687910782519316?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/2550687910782519316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=2550687910782519316' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2550687910782519316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/2550687910782519316'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/12/making-archivemail-to-work-with-dspam.html' title='Making Archivemail work with DSpam'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7714867998818610954</id><published>2007-10-22T11:59:00.000+08:00</published><updated>2007-10-22T15:48:19.983+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xorg.conf'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Gutsy Gibbonized</title><content type='html'>Started the command line upgrade process on Friday, with all the packages downloaded from the pretty fast Taiwan mirror site (averaging at about 50kBs). I left it to download for about 5 hours. When I was done at work, it started unpacking the packages. Because my home is not far from the office, I just picked up the laptop and let it continue its installation all the way home.&lt;br /&gt;About an hour later, the laptop was ready to be rebooted.&lt;br /&gt;Restarted the machine, and waited in anticipation. The boot screen flicked to the text console (as normal, because fsck always has something to say about my two FAT32 partitions), and after that, blackness...&lt;br /&gt;&lt;br /&gt;Uh oh... problems with X. The keyboard was non responsive (Caps Lock didnt toggle the LEDs), so the only alternative is to reboot into the recovery state.&lt;br /&gt;&lt;br /&gt;Good chance to test out the bulletproof X, I thought, so I renamed /etc/X11/xorg.conf to something else, and rebooted. This time it worked, except that after logging in, the brownness of ubuntu changed to the harshness of raw X (cursor and all). Then the computer hung there for quite a while. I broke into another console (Ctrl-Alt-F2) and tried to dig around, but after about a minute, the familiar sounds of the ubuntu drums indicated that things were ok again. (Ctrl-Alt-F7) brought back the familiar gnome desktop.&lt;br /&gt;&lt;br /&gt;But things were very different. Windows were very slow. Scrolling through webpages was actually painful! It was like running Windows XP without the appropriate video card drivers. I downloaded the new displayconfig-gtk tool to set the "Screen and Graphics Preferences", which created a new xorg.conf file. That didnt help much either. I tried using some settings from my fiesty xorg.conf, but certain Options would kill X (blank black screen).&lt;br /&gt;&lt;br /&gt;Did a google, and found this: "&lt;a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xgl/+bug/145715"&gt;ATI Radeon 9200 extremely slow in Gutsy&lt;/a&gt;" which described my situation to the dot. One recommendation is to disable Xgl, which is not a default install. To do so, do this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;touch ~/.config/&lt;/span&gt;&lt;/span&gt;&lt;wbr  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;xserver-&lt;/span&gt;&lt;/span&gt;&lt;wbr  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;xgl/disable&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Make sure the "xserver-xgl" directory is created as well, because usually it isnt.&lt;br /&gt;&lt;br /&gt;Rebooting made the performance of 2D X similar to the fiesty days.&lt;br /&gt;&lt;br /&gt;Things are still not entirely back to normal: my Mighty Mouse is not scrolling sideways, and compiz isnt working. Need to allocate some time to dig into xorg.conf yet again. Also the timelag between logins and desktop appearing is very annoying.&lt;br /&gt;&lt;br /&gt;yk.&lt;br /&gt;&lt;br /&gt;[Update: I just found out that my xorg.conf was removed because in an hour of desperation, I tried to install the ATI proprietary drivers, fglrx. One of the steps involved was running aticonfig --initial, which clobbers the xorg.files. That core dumped and I gave up on that. So I have been running without an xorg.conf file all this while. So bulletproof X really works, and part of the delay in showing the gnome desktop was because of this.&lt;br /&gt;&lt;br /&gt;My xorg.conf from fiesty still gives a dead black screen on bootup, so I have to work on a cut down version. I will have to slowly work on this to get my dual screen back up. Wonder how easy that would be ... ?]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7714867998818610954?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7714867998818610954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7714867998818610954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7714867998818610954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7714867998818610954'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/10/gutsy-gibbonized.html' title='Gutsy Gibbonized'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1448416429315063643</id><published>2007-10-16T10:35:00.000+08:00</published><updated>2008-12-11T16:33:14.534+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='driving license'/><category scheme='http://www.blogger.com/atom/ns#' term='e-government'/><category scheme='http://www.blogger.com/atom/ns#' term='jpj'/><title type='text'>Driving License extended</title><content type='html'>&lt;a href="http://lotso.livejournal.com"&gt;Ow&lt;/a&gt; has an interesting factoid. When we met at &lt;a href="http://blog.aizatto.com"&gt;aizat's&lt;/a&gt; birthday a few months back, he said that someone in a room of 10 is bound to have a driving license expired, or close to expiring. And true enough mine was going to expire (then) on the 2nd of October. Of course being the serial procrastinator that I am, I subsequently forgot about renewing it.&lt;br /&gt;&lt;br /&gt;On the 4th of October, two days after the expiry, I checked the &lt;a href="http://www.jpj.gov.my/"&gt;JPJ&lt;/a&gt; website and noticed that there is a '&lt;a href="http://jpj.myeg.com.my/JPJSERVE/"&gt;CDL Renewal Online&lt;/a&gt;' feature hosted by a third party, &lt;a href="http://www.myeg.com.my/"&gt;MyEG.com.my&lt;/a&gt;. Throwing caution to the wind, I decided to test it out. I filled in my details, paying by Credit Card, and submitted the information.&lt;br /&gt;&lt;br /&gt;I opted for a 5 year extension (RM150) and for the new license to be delivered to my office (RM5). MyEG seems to be charging RM2 for the service, which sounds fair. But considering the income generating nature of JPJ, citizens should expect service as this to be completely free. Additionally any form of automation would reduce overheads for JPJ.&lt;br /&gt;&lt;br /&gt;At the end of it all, you get a official looking receipt with all the JPJ logos and all:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/RxQlxkd5OEI/AAAAAAAAAGY/9Ru3RYWUyVg/s1600-h/receipt1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/RxQlxkd5OEI/AAAAAAAAAGY/9Ru3RYWUyVg/s400/receipt1.png" alt="" id="BLOGGER_PHOTO_ID_5121760209759975490" border="0" /&gt;&lt;/a&gt;I double checked this by going to the main site, and clicking on '&lt;a href="http://202.190.64.96/v5/component/option,com_wrapper/Itemid,74/lang,ms/"&gt;License Expiry Date Inquiry&lt;/a&gt;' tab.  The interface changed from English to Malay (because the URL seems to be hardcoded with the language settings). I punched in my IC number, and this is what I got:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_NATV2G3QyV8/RxQl40d5OFI/AAAAAAAAAGg/WQLLITeIVdA/s1600-h/double-checked.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_NATV2G3QyV8/RxQl40d5OFI/AAAAAAAAAGg/WQLLITeIVdA/s400/double-checked.png" alt="" id="BLOGGER_PHOTO_ID_5121760334314027090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Confirmation of a 5 year extension! I was still skeptical of the renewal because it seemed all too effortless. Additionally, my recently expired license is already 10 years old, and the picture of me was taken another 10 years prior.&lt;br /&gt;&lt;br /&gt;So I waited for a few days... 7 days in all. I received a Registered Post letter from JPJ, which enclosed a laminated card stating that my old license indeed has been extended for another five years. This extra card (which they call a 'Slip') is 'To Be Produced With Driving License'. It makes my wallet marginally thicker, but I guess its a fair trade for an afternoon of bureaucracy.&lt;br /&gt;&lt;br /&gt;Overall, I was impressed with this. Seems like a small thing to most IT enabled countries where doing things online is of the norm. But when Ive been disappointed with the online services in Malaysia so many times todate, I guess my standards are far lower.&lt;br /&gt;&lt;br /&gt;Here are some points for JPJ to improve on:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Do not hardcode the IP address of the servers on the website. Its currently now pointing to '202.190.64.96'. It makes linking directly to your services difficult especially in the future when you change your servers.&lt;/li&gt;&lt;li&gt;Someone messed up with the sidebar links. Remove the '/lang,ms/' option in the URLs. This forces the language to flip from English to Malay on subsequent clicks.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Its unnerving to be moved to another site, and another window when clicking on the CDL extension. Make it clear that MyEG is a trusted partner or embed the payment page within the main JPJ site. It would be alot better if this feature was seamless to the user.&lt;/li&gt;&lt;li&gt;Don't making using the online service any less attractive to drivers. There should not be any additional costs (RM2). In fact online applications should be encouraged, and there should even be a small rebate.&lt;/li&gt;&lt;/ol&gt;Because only 5 people will read this blog post, I cannot guarantee that one of you will have an expiring or expired license. But if you do, you'd be glad to know you can now renew it online.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1448416429315063643?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1448416429315063643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1448416429315063643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1448416429315063643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1448416429315063643'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/10/driving-license-extended.html' title='Driving License extended'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NATV2G3QyV8/RxQlxkd5OEI/AAAAAAAAAGY/9Ru3RYWUyVg/s72-c/receipt1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-6699342373522285120</id><published>2007-10-12T11:37:00.000+08:00</published><updated>2008-12-11T16:33:15.144+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='filenamedater'/><title type='text'>Filename Dater v1.1</title><content type='html'>Since the release of my &lt;a href="http://yoonkit.blogspot.com/2006/03/timestamp-your-photos-filename-dater.html"&gt;Filename Dater&lt;/a&gt;, I have implemented a few additional features for version 1.1:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Added an option for timestamps to be incorporated into the filename&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Uses the Registry to remember the Path and options set&lt;/li&gt;&lt;li&gt;Made the filetypes user definable&lt;/li&gt;&lt;li&gt;Minor UI cleanups&lt;/li&gt;&lt;/ol&gt;Ive also made sure that the program works well under Wine, and here it is running in Ubuntu:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/Rw7ub0d5ODI/AAAAAAAAAGQ/h119gGjAMiU/s1600-h/Ubuntu-Filename+Dater.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/Rw7ub0d5ODI/AAAAAAAAAGQ/h119gGjAMiU/s400/Ubuntu-Filename+Dater.png" alt="" id="BLOGGER_PHOTO_ID_5120291988074739762" border="0" /&gt;&lt;/a&gt;Thanks to the Malaysian FOSS guys, you can download the file from &lt;a href="http://foss.org.my/Members/yk/FilenameDater.exe"&gt;foss.org.my&lt;/a&gt; (565KB Windows Executable)&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-6699342373522285120?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/6699342373522285120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=6699342373522285120' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6699342373522285120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/6699342373522285120'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/10/filename-dater-v11.html' title='Filename Dater v1.1'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/Rw7ub0d5ODI/AAAAAAAAAGQ/h119gGjAMiU/s72-c/Ubuntu-Filename+Dater.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-9175227149912884612</id><published>2007-09-20T17:56:00.000+08:00</published><updated>2007-09-20T18:46:16.974+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fat32'/><category scheme='http://www.blogger.com/atom/ns#' term='cp'/><title type='text'>Preserving time stamps on FAT32 copies</title><content type='html'>Strange thing about accessing FAT32 in Linux is that you get annoying warnings when manipulating the date and times of files. cp, tar and mv all raise wierd errors when doing the most basic things.&lt;br /&gt;&lt;br /&gt;I especially needed to move some photos to my FAT32 mount, with the specific intention of retaining the file creation date and times. The correct command is "cp -p" where the "-p" flag means "preserve".&lt;br /&gt;&lt;br /&gt;So we try:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;$ cp -rp ../../cdrom/070915 .&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cp: preserving times for `./070915/070915_P1250210.JPG': Operation not permitted&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cp: preserving times for `./070915/070915_P1250211.JPG': Operation not permitted&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ ls -la 070915/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;total 5344&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;drwxrwx---  2 root plugdev  32768 2007-09-20 17:47 ./&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;drwxrwx--- 34 root plugdev  32768 2007-09-20 17:47 ../&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;-rwxrwx---  1 root plugdev 593386 &lt;span style="font-weight: bold;"&gt;2007-09-20&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;17:47&lt;/span&gt; 070915_P1250210.JPG*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;-rwxrwx---  1 root plugdev 596410 &lt;span style="font-weight: bold;"&gt;2007-09-20 17:47&lt;/span&gt; 070915_P1250211.JPG*&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The problem here is that the file creation date should be sometime on the 15th of September. NOT today. Did a google, and it brought me to this nugget of information:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linuxquestions.org/questions/showthread.php?t=135951"&gt;This forum post&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;if your own &lt;a id="KonaLink6" target="_top" class="kLink" style="text-decoration: underline ! important; position: static;" href="http://www.linuxquestions.org/questions/showthread.php?t=135951#"&gt;&lt;span style="color: blue ! important; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: 400; font-size: 13.3333px; position: static;color:blue;" &gt;&lt;span class="kLink" style="border-bottom: 1px solid blue; color: blue ! important; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: 400; font-size: 13.3333px; position: static; padding-bottom: 1px; background-color: transparent;"&gt;&lt;/span&gt;&lt;span class="kLink" style="border-bottom: 1px solid blue; color: blue ! important; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: 400; font-size: 13.3333px; position: static; padding-bottom: 1px; background-color: transparent;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;user id does not match the 'virtual' user-id, &lt;b&gt;cp&lt;/b&gt; can not change the file date back to file date the source file.&lt;br /&gt;&lt;br /&gt;The solution is clear - find out your user id (XXX), mount the partition with uid=XXX, and all the files on that partition belong to you - even the newly created ones. This way &lt;b&gt; cp -a &lt;/b&gt; can set the original file date.&lt;br /&gt;&lt;br /&gt;This works, of course, only for ONE user (and root).&lt;/blockquote&gt;So I changed the /etc/fstab file. Im quite disturbed by the new UUID usage instead of the ole fashioned /dev/hda access:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# Entry for /dev/sda5 :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; UUID=41BD-AB60 /media/M vfat defaults,gid=users,utf8,umask=007 0 1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt; UUID=41BD-AB60 /media/M vfat defaults,&lt;span style="font-weight: bold;"&gt;uid=1000&lt;/span&gt;,gid=users,utf8,&lt;span style="font-weight: bold;"&gt;umask=002 0 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Please note the&lt;span style="font-weight: bold;"&gt; changes in bold&lt;/span&gt;. A quick remount:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# umount /media/M&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# mount -a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;and copy:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# cp -rp ../../cdrom/070915 M/Photos/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Gives us:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;# ls -la M/Photos/070915/070915_P1250210.JPG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;-r-xr-xr-x 1 yky users 593386 &lt;span style="font-weight: bold;"&gt;2007-09-15 09:47&lt;/span&gt; M/Photos/070915/070915_P1250210.JPG*&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;woohoo!&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-9175227149912884612?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/9175227149912884612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=9175227149912884612' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9175227149912884612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/9175227149912884612'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/09/preserving-time-stamps-on-fat32-copies.html' title='Preserving time stamps on FAT32 copies'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-1400669141293303670</id><published>2007-09-20T16:36:00.000+08:00</published><updated>2007-09-20T16:38:21.268+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='snotr'/><title type='text'>Domino PCs!</title><content type='html'>&lt;iframe src="http://www.snotr.com/embed/382" frameborder="0" height="330" width="400"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-1400669141293303670?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/1400669141293303670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=1400669141293303670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1400669141293303670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/1400669141293303670'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/09/domino-pcs.html' title='Domino PCs!'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5002017062593622478</id><published>2007-09-14T15:16:00.000+08:00</published><updated>2008-12-11T16:33:15.475+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='themes'/><title type='text'>Easily changing theme colours in Drupal</title><content type='html'>I like the "Garland" theme for &lt;a href="http://drupal.org/"&gt;Drupal.&lt;/a&gt; Its nice an elegant. However I needed to change the hues to represent a certain corporate colour. What I accidentally found while browsing through the CSS files was there there was some "preset" colours.&lt;br /&gt;Intrigued, I did a google search and was pleasantly surprised to find that the Garland theme in Drupal allows easy changing of colours just by clicking on colour wheels! "&lt;a href="http://support.bryght.com/drupal5/changing-colors"&gt;How to change colours on the Garland theme&lt;/a&gt;". Theres even a nice &lt;a href="http://blip.tv/file/141840"&gt;screencast&lt;/a&gt; by the author.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/Ruo2OdOrtDI/AAAAAAAAAGA/nSgnGYZQ3-I/s1600-h/ColorPicker.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/Ruo2OdOrtDI/AAAAAAAAAGA/nSgnGYZQ3-I/s400/ColorPicker.jpg" alt="" id="BLOGGER_PHOTO_ID_5109956349197530162" border="0" /&gt;&lt;/a&gt;However, when I went to "Administer &gt;&gt; Themes &gt;&gt; Garland-configure", I couldn't see the colour pickers as the screenshot above.&lt;br /&gt;&lt;br /&gt;So I checked "Administer &gt;&gt; Modules" to double check that the Colors module was installed. And it was.&lt;br /&gt;&lt;br /&gt;Checked "Administer &gt;&gt; Logs &gt;&gt; Status Report" and saw that the GD Graphics Library was also installed. All OK.&lt;br /&gt;&lt;br /&gt;Then finally, "Administer &gt;&gt; Site Configuration &gt;&gt; File System" must have its "Download method" as "Public - files are available using HTTP directly."&lt;br /&gt;&lt;br /&gt;Once that was selected (which it wasn't), the Colour pickers appeared!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Drupal could improve by telling its admins what to enable to get the pickers to appear]&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NATV2G3QyV8/Ruo5ZtOrtEI/AAAAAAAAAGI/XAYZ2rP7zCo/s1600-h/color.module.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_NATV2G3QyV8/Ruo5ZtOrtEI/AAAAAAAAAGI/XAYZ2rP7zCo/s320/color.module.png" alt="" id="BLOGGER_PHOTO_ID_5109959841005941826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I changed the colours, and the onscreen colours changed immediately. However, when I clicked on "Save", my new colours refused to save, and it complained that PHP required 2.4MB more memory!&lt;br /&gt;&lt;br /&gt;Strange, I checked the computer's memory, swap and harddisk and found no shortage. &lt;a href="http://drupal.org/node/110916"&gt;This link&lt;/a&gt; however says that its a PHP setting. &lt;span style="font-family:courier new;"&gt;/etc/php.ini&lt;/span&gt;, under the &lt;span style="font-family:courier new;"&gt;; Resource Limits&lt;/span&gt; section. I changed it from 8MB to 18MB.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;memory_limit = 18M ; Max amount of memory a script may consume&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once that was changed, the new colour scheme worked like a charm. This page "&lt;a href="http://drupal.org/node/108459"&gt;Integrating the Color Module&lt;/a&gt;" describes in detail how Drupal uses a PNG template, the GD library to create the nice gradients, and the PHP calls to slice up the images to create the templates for use. Quite fascinating.&lt;br /&gt;&lt;br /&gt;yk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-5002017062593622478?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/5002017062593622478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=5002017062593622478' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5002017062593622478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/5002017062593622478'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/09/easily-changing-theme-colours-in-drupal.html' title='Easily changing theme colours in Drupal'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_NATV2G3QyV8/Ruo2OdOrtDI/AAAAAAAAAGA/nSgnGYZQ3-I/s72-c/ColorPicker.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-7840534972088671980</id><published>2007-09-11T16:28:00.000+08:00</published><updated>2007-09-11T16:29:40.657+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='survey'/><title type='text'>Move over Spock</title><content type='html'>&lt;table width=350 align=center border=0 cellspacing=0 cellpadding=2&gt;&lt;tr&gt;&lt;td bgcolor="#EEEEEE" align=center&gt;&lt;br /&gt;&lt;font face="Georgia, Times New Roman, Times, serif" style='color:black; font-size: 14pt;'&gt;&lt;br /&gt;&lt;strong&gt;You Are Incredibly Logical&lt;/strong&gt;&lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td bgcolor="#FFFFFF"&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://images.blogthings.com/howlogicalareyouquiz/logic.gif" height="100" width="100"&gt;&lt;/center&gt;&lt;br /&gt;&lt;font color="#000000"&gt;&lt;br /&gt;Move over Spock - you're the new master of logic&lt;br /&gt;&lt;br /&gt;You think rationally, clearly, and quickly.&lt;br /&gt;&lt;br /&gt;A seasoned problem solver, your mind is like a computer!&lt;br /&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://www.blogthings.com/howlogicalareyouquiz/"&gt;How Logical Are You?&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11795210-7840534972088671980?l=yoonkit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yoonkit.blogspot.com/feeds/7840534972088671980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11795210&amp;postID=7840534972088671980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7840534972088671980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11795210/posts/default/7840534972088671980'/><link rel='alternate' type='text/html' href='http://yoonkit.blogspot.com/2007/09/move-over-spock.html' title='Move over Spock'/><author><name>Yoon Kit</name><uri>http://www.blogger.com/profile/17776899112632257847</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://csopf.sourceforge.net/yky/meget_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11795210.post-5381821063274951844</id><published>2007-09-11T11:09:00.000+08:00</published><updated>2008-12-11T16:33:15.835+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xorg.conf'/><category scheme='http://www.blogger.com/atom/ns#' term='mighty mouse'/><title type='text'>Mighty Mouse Wired!</title><content type='html'>After trying out the bluetooth MightyMouse, I went to look for a good deal online. I decided against getting &lt;a href="http://yoonkit.blogspot.com/2007/08/apple-mighty-mouse.html"&gt;the bluetooth model&lt;/a&gt; because my laptop doesn't have a built in bluetooth adaptor. Plus I didn't want the hassles of batteries and such.&lt;br /&gt;&lt;br /&gt;I did find a good e-bay seller, so I bought a few to bring down the shipping costs. All in all, it was about RM100 for each mouse. Quite a bargain compared to the Mac shops at KLCC which sell it for RM199.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_NATV2G3QyV8/RuYWPXLnAdI/AAAAAAAAAF4/gNxoYkij64s/s1600-h/mightymouse_light.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_NATV2G3QyV8/RuYWPXLnAdI/AAAAAAAAAF4/gNxoYkij64s/s400/mightymouse_light.jpg" alt="" id="BLOGGER_PHOTO_ID_5108795280474964434" border="0" /&gt;&lt;/a&gt;Finally, after waiting 11 days of waiting, my Apple Mighty Mouse has arrived! Plugged it in, and it worked off the bat - as a normal mouse. Left click, Middle click, Right click all ok. Vertical scroll is smooth and accurate. &lt;a href="http://arstechnica.com/journals/apple.ars/2006/3/20/3272"&gt;Laser light shows a picture of a mouse too.&lt;/a&gt; All OK!&lt;br /&gt;&lt;br /&gt;Im now configuring xorg.conf to allow for the horizontal scroll, and this is what you need to do:&lt;br /&gt;&lt;pre&gt;Section "InputDevice"&lt;br /&gt;Identifier "MightyMouse"&lt;br /&gt; Option "CorePointer"&lt;br /&gt; Driver "&lt;span style="font-weight: bold;"&gt;evdev&lt;/span&gt;"&lt;br /&gt; Option "Name" "&lt;span style="
