<?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-825227734527676377</id><updated>2011-11-16T14:09:02.890-08:00</updated><category term='harddisk'/><category term='virtualbox'/><category term='FlashPlayer'/><category term='counterfeit'/><category term='laser mouse'/><category term='wifi'/><category term='carbon footprint'/><category term='pastie'/><category term='games'/><category term='temperature'/><category term='memory'/><category term='open source'/><category term='algorithms'/><category term='wireshark'/><category term='upgrade'/><category term='networking'/><category term='roomba'/><category term='battery charger'/><category term='Bittorrent'/><category term='Kubuntu'/><category term='rt73'/><category term='WCF'/><category term='fan'/><category term='python'/><category term='Linux'/><category term='H.264'/><category term='KDE4'/><category term='video'/><category term='x86_64'/><category term='utility mill'/><category term='ubuntu'/><category term='openSUSE'/><category term='subtitle'/><category term='WPF'/><category term='cars'/><category term='srt'/><category term='nested paging'/><title type='text'>dreaMING of Fusion</title><subtitle type='html'>me, linux, programming and green!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-7541352756803902818</id><published>2010-12-26T20:27:00.000-08:00</published><updated>2010-12-26T20:37:08.105-08:00</updated><title type='text'>Merging and encrypting PDF with Ghostscript</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;div&gt;Recently I needed to merge several PDF files into a single file and also encrypt it. So after some googling, here my recipe:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite &lt;span class="Apple-style-span" &gt;-sOwnerPassword=password1 -sUserPassword=password2 -dKeyLength=128 -dEncryptionR=3&lt;/span&gt;&lt;span class="Apple-style-span" &gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"   &gt;-sOutputFile=output.pdf input1.pdf input2.pdf input3.pdf&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-7541352756803902818?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/7541352756803902818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=7541352756803902818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/7541352756803902818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/7541352756803902818'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2010/12/merging-and-encrypting-pdf-with.html' title='Merging and encrypting PDF with Ghostscript'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-4874453641199739068</id><published>2010-12-01T11:10:00.000-08:00</published><updated>2010-12-01T11:14:57.250-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utility mill'/><title type='text'>Other Utility Mill scipts</title><content type='html'>I have made several utility mill scripts in the past and since I am reminded of it again, I might as well post links to my other utilities. Hopefully, someone will find it useful:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Transmission Return Loss calculator - &lt;a href="http://utilitymill.com/utility/ReturnLossCalculator"&gt;http://utilitymill.com/utility/ReturnLossCalculator&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Number to words converter to convert, eg. '123' to 'one hundred and twenty three' - &lt;a href="http://utilitymill.com/utility/NumToEnglishWords"&gt;http://utilitymill.com/utility/NumToEnglishWords&lt;/a&gt;&lt;br /&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/825227734527676377-4874453641199739068?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/4874453641199739068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=4874453641199739068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/4874453641199739068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/4874453641199739068'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2010/12/other-utility-mill-scipts.html' title='Other Utility Mill scipts'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8662467877521639475</id><published>2010-12-01T09:19:00.001-08:00</published><updated>2010-12-01T10:50:01.801-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='utility mill'/><category scheme='http://www.blogger.com/atom/ns#' term='pastie'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='subtitle'/><category scheme='http://www.blogger.com/atom/ns#' term='srt'/><title type='text'>srt_delay: subtitle timing delay adjustment</title><content type='html'>I suppose SRT file timing offset is a common problem, however I can't seems to find any simple good tool that works on both Linux and Windows. While most media player on PC should be able to adjust the delays, my TV set-top box could open SRT files but could not adjust timing delays in the subtitle which could be annoying.&lt;br /&gt;&lt;br /&gt;So, I decided to roll up my sleeves and wrote the little utility python script in a few minutes. Besides, how difficult could a simple format like this &lt;a href="http://en.wikipedia.org/wiki/SubRip"&gt;http://en.wikipedia.org/wiki/SubRip&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;You can download the script from pastie.org:&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://pastie.org/1339071"&gt;http://pastie.org/1339071&lt;/a&gt;&lt;br /&gt;I've released it as&lt;span style="font-weight: bold;"&gt; free and public domain&lt;/span&gt;. Anyone can use it to do anything you like.&lt;br /&gt;&lt;br /&gt;Anyway, for Windows folks, I have also made and online version by porting it to excellent python script hosting called &lt;span style="font-weight: bold;"&gt;Utility Mill&lt;/span&gt;.&lt;br /&gt;Just go to &lt;a style="font-weight: bold;" href="http://utilitymill.com/utility/srt_delay"&gt;http://utilitymill.com/utility/srt_delay&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;and follow the instructions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8662467877521639475?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8662467877521639475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8662467877521639475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8662467877521639475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8662467877521639475'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2010/12/srtdelay-subtitle-timing-delay.html' title='srt_delay: subtitle timing delay adjustment'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8197839486155203172</id><published>2010-02-24T14:01:00.000-08:00</published><updated>2010-02-24T14:42:50.924-08:00</updated><title type='text'>Bilingual VCD to DVD</title><content type='html'>Recently my mum wanted to replace her stack of VCDs to DVD. The VCDs are bilingual which is one language on each of the stereo channel.&lt;div&gt;Since DVD supports VCD's MPEG 1 PAL (352x288) format as described in the &lt;a href="http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html"&gt;mencoder manual &lt;/a&gt;, I thought I could just easily copy the video stream and transcode the audio stream to AC3 with the following mencoder recipe:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;mencoder -ovc copy -oac lavc -lavcopts acodec=ac3:abitrate=192 -srate 48000 -af lavcresample=48000 -of mpeg -mpegopts format=dvd:tsaf AVSEQ01.DAT -o AVSEQ01.mpg&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, after burning the first disc with DVDStyler, I found that my Phillips DVD player does not allow switching between left and right channel for DVDs although language switching works fine with the original DVD. Thus, I have to split the single track stereo channel into two separate mono audio channel. After some experimenting with mencoder's audio filter, here's the recipe:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;mencoder -nosound -ovc copy -of mpeg -mpegopts format=dvd:tsaf AVSEQ01.DAT -o video.mpg&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;mencoder -srate 48000 -af channels=1:1:0:0,lavcresample=48000 -ovc frameno -oac lavc -lavcopts acodec=ac3:abitrate=96 -of rawaudio AVSEQ01.DAT -o audio1.ac3&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;mencoder -srate 48000 -af channels=1:1:1:0,lavcresample=48000 -ovc frameno -oac lavc -lavcopts acodec=ac3:abitrate=96 -of rawaudio AVSEQ01.DAT -o audio2.ac3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, instead of single mpg file, we have 3 separate streams. To make the DVD menus, multiplex the streams and generate the ISO image to burn, I found &lt;a href="http://www.dvdstyler.de/"&gt;DVDStyler&lt;/a&gt; (also available in ubuntu repo) to be useful because I found that most DVD authoring tools seems to insist on re-encoding the video files to MPEG-2. Although default DVDStyler also tries to re-encode them, it has an option to just copy the stream as shown below in the title properties dialog.&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/_G5n7x-E1CiI/S4WoCoCVIBI/AAAAAAAAAGQ/NQ4-EXe20hs/s1600-h/dream-fusion.blogspot.com1.gif"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 289px; height: 320px;" src="http://3.bp.blogspot.com/_G5n7x-E1CiI/S4WoCoCVIBI/AAAAAAAAAGQ/NQ4-EXe20hs/s320/dream-fusion.blogspot.com1.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5441940487807508498" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With this method, I could combine 6-9 VCDs into a DVD. Of course, the video quality is just as good as its source which is relatively poor for a DVD. Finally, audio track switching works fine on the standalone DVD player and also on PC.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8197839486155203172?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8197839486155203172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8197839486155203172' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8197839486155203172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8197839486155203172'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2010/02/bilingual-vcd-to-dvd.html' title='Bilingual VCD to DVD'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_G5n7x-E1CiI/S4WoCoCVIBI/AAAAAAAAAGQ/NQ4-EXe20hs/s72-c/dream-fusion.blogspot.com1.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-2897008879841744315</id><published>2010-01-28T09:48:00.000-08:00</published><updated>2010-01-28T09:57:26.186-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='H.264'/><title type='text'>Transcoding video to H.264 for Nokia 5130</title><content type='html'>My wife is going to take a rather long journey bus this weekend. So, I decided to transcode some videos for her to watch on her phone.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's the recipe:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;ffmpeg -y -i inputFile.avi -f mp4 -vcodec libx264 -level 30 -s 240x128 -b 200k -bt 768k -bufsize 10000k -maxrate 10000k -g 300 -coder 0 -threads 4 -acodec libfaac -ac 2 -ab 96k outputFile.mp4&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is mostly based on the instructions from the &lt;a href="http://forum.videohelp.com/threads/283217-Definitive-command-line-for-ffmpeg-conversion-to-ipod-from-tivo?p=1708540&amp;amp;viewfull=1#post1708540"&gt;videohelp.com forum&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have tried 320x240 resolutions, but I decided to scale it down a little to save space since it does not look any worse at 240x128.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-2897008879841744315?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/2897008879841744315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=2897008879841744315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2897008879841744315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2897008879841744315'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2010/01/transcoding-video-to-h264-for-nokia.html' title='Transcoding video to H.264 for Nokia 5130'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-6123085300460000821</id><published>2009-10-16T12:27:00.000-07:00</published><updated>2009-10-26T13:43:48.438-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roomba'/><category scheme='http://www.blogger.com/atom/ns#' term='battery charger'/><title type='text'>Repairing Roomba charging circuit</title><content type='html'>Sometime ago, a colleague told me that she bought a Roomba 405 but the battery seems dead, unable to charge. Being the curious me and how I like to fix things, I made a deal that if I could fix it, I can use it to clean my house for 1 month :-)&lt;br /&gt;So, this post is a sharing and also a kind of documentation for myself on how I got the Roomba working again.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Initial diagnosis....&lt;/span&gt;&lt;br /&gt;So, the next day she brought the Roomba to me in office and I took it home.&lt;br /&gt;&lt;br /&gt;First step, I tried to charge it by connecting the AC-DC adapter to the robot. According to the user manual, it seems charging. The amber LED is blinking slowly. A few hours later, I detached the power and try to see if it moves by pressing the "Clean" button. Nope, it is dead as a log. So, next step, I took my multimeter, removed the battery and measured the battery terminal voltage. Huh, it reads approx 0.6V? Now, I gotta monitor the voltages while charging to figure out what's wrong. I attached 2 thin wires to the terminals, replaced the battery into Roomba and attached the charging adapter again. It still reads O.6V! So, then I could say that it is somehow not charging properly.&lt;br /&gt;&lt;br /&gt;Next, I gotta verify that the battery is still working by manually charging it. The label on the battery shows 14.4V NiCd battery with 1800mAH. A NiCd battery with 14.4V rated voltage means that it is 12 x 1.2V NiCd cells. So, the fully charged voltage should be 12 x 1.45V = 17.4V.&lt;br /&gt;&lt;br /&gt;Since the Roomba's DC adapter outputs 0.75A at 22V and NiCd batteries are relatively easily to charge, I can just make a very simple charging by directly connecting the adapter's 22V output to the battery via a 5ohm resistor as a current limiting resistor. To be safe, I also will keep an eye on the charging voltage and current to ensure they are within reasonable safety limits. Once I applied power, I can see that the battery voltage steady goes up. This should mean that battery seems to be still chargeable. The charging current is approx. 700 mA; seems the the DC adapter has internal current limiter which is a good news. Since the battery capacity is 1800 mAH, it should take approx 2-3 hours to fully charge it, but I have to be careful not to overcharge and damage the internal chemistry.&lt;br /&gt;&lt;br /&gt;After about 30 mins and the battery voltage got up to 16V, impatient to wait till fully charged, I poped the battery back into the Roomba and press the "Clean" button. The time the little robot roars to life! It goes around the room while cleaning the floor for about 10 mins before it stops with a blinking red LED and a 4 tone melody that indicates low battery. Alright, now I can confirm that the battery is OK, but Roomba is just not charging it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why did it broke?&lt;/span&gt;&lt;br /&gt;To fix it, I had to find out why there is no charging voltage applied to the batteries although the LED indicates it is charging. I did a search on google and eventually I came to this forum: &lt;a href="http://www.robotreviews.com/chat/viewtopic.php?t=3909&amp;amp;highlight=mosfet#p20787"&gt;http://www.robotreviews.com/chat/viewtopic.php?t=3909&amp;amp;highlight=mosfet#p20787&lt;/a&gt;&lt;br /&gt;I also found a reverse-engineered schematic at &lt;a href="http://mysite.verizon.net/gsplews/misc-pix/charging_n_control_schema.GIF"&gt;http://mysite.verizon.net/gsplews/misc-pix/charging_n_control_schema.GIF&lt;/a&gt;&lt;br /&gt;The problem described seem very similar, so I disassembled the roomba. I probed the MOSFET, U2 and it seems really dead. There are no voltage at the drain although the voltage at source and gate seems normal.&lt;br /&gt;&lt;br /&gt;To replace the STN3PF06 P-channel power MOSFET, I found that RS-Online sells them for RM2.58 each and minimum order quantity is 10 but I don't need 10. Even if I replace all MOSFETs in the charging circuit, I'll only need 4. Also, it seems to be a fairly common issue that will probably reoccur if the batteries are fully depleted, causing the initial charge current to be too high that it killed the MOSFET.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution...&lt;/span&gt;&lt;br /&gt;Alternatively, I dug around my toolbox and found that I still have a few LM317. Then, I got an idea that if I could bypass the original charging circuit to provide constant current to the battery positive terminal, the Roomba will still be able to indicate charging status but the actual charging current is supplied from the LM317-based constant current charger as shown below on my literally back-of-envelop design.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G5n7x-E1CiI/StuZbfxZTjI/AAAAAAAAAEg/_i018jLiyhs/s1600-h/schematic.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 190px;" src="http://4.bp.blogspot.com/_G5n7x-E1CiI/StuZbfxZTjI/AAAAAAAAAEg/_i018jLiyhs/s320/schematic.JPG" alt="" id="BLOGGER_PHOTO_ID_5394073676370497074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Prototyping&lt;/span&gt;&lt;br /&gt;First, I did a prototype on breadboard to the circuit to verify that it works. From the &lt;a href="http://www.national.com/ds/LM/LM117.pdf"&gt;LM317 datasheet&lt;/a&gt;, the resistor value should be:&lt;br /&gt;R = V&lt;sub&gt;ref&lt;/sub&gt; / I&lt;sub&gt;out&lt;/sub&gt; =  1.25 V / 180 mA = 6.94 ohms.&lt;br /&gt;&lt;br /&gt;However, I used the two 12ohm resistor parallel was used because those are the resistors in my toolbox that gives the closes value. The output current is still 1.25V / 6 ohms = 208.3 mA which is slightly more than 0.1C charging rate for the 1800 mAH battery. So, I added the additional 1Kohm resistor and LED to the output to siphon off about 15 to 18 mA current depending on the battery's charging voltage.  After successfully charging the battery which this constant current regulator (which takes approx. 10 hours), I decided to go ahead and put it in the Roomba.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Building the circuit&lt;/span&gt;&lt;br /&gt;I cut a small piece of stripboard and arranged the components as tightly as possible. Then I took out my old solder gun and solder them together. This is what I got... no too bad considering my soldering skills are long expired since my college days :-p&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G5n7x-E1CiI/SuX4CfBhLtI/AAAAAAAAAFg/RLwgSXK2ZH4/s1600-h/IMG_1639.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_G5n7x-E1CiI/SuX4CfBhLtI/AAAAAAAAAFg/RLwgSXK2ZH4/s320/IMG_1639.JPG" alt="" id="BLOGGER_PHOTO_ID_5396992450044702418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Robot surgery...&lt;/span&gt;&lt;br /&gt;Below is a few pictures I took as I was disassembling the Roomba.&lt;br /&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/_G5n7x-E1CiI/SuX4C7bzVYI/AAAAAAAAAFo/9puU1nFV3G4/s1600-h/IMG_1469.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_G5n7x-E1CiI/SuX4C7bzVYI/AAAAAAAAAFo/9puU1nFV3G4/s320/IMG_1469.JPG" alt="" id="BLOGGER_PHOTO_ID_5396992457671136642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Battery, brushes and dust container removed&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/_G5n7x-E1CiI/SuX4DZ2i5GI/AAAAAAAAAFw/A8BkQDMiXXs/s1600-h/IMG_1470.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_G5n7x-E1CiI/SuX4DZ2i5GI/AAAAAAAAAFw/A8BkQDMiXXs/s320/IMG_1470.JPG" alt="" id="BLOGGER_PHOTO_ID_5396992465836368994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Top cover removed&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;From the picture above, you can see the battery connector is at the top right. However, due to limited space, I decided to place the circuit on the top left side.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Next, I have to connect the circuit to the original wiring. I had to temporary remove the battery and power connector solder on the wire as shown below.&lt;br /&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/_G5n7x-E1CiI/SuX851Q_wJI/AAAAAAAAAF4/Fh35tWeM9WE/s1600-h/IMG_1641.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_G5n7x-E1CiI/SuX851Q_wJI/AAAAAAAAAF4/Fh35tWeM9WE/s320/IMG_1641.JPG" alt="" id="BLOGGER_PHOTO_ID_5396997798954516626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Yellow is the regulator output, red connects to the positive supply and black connects to ground.&lt;br /&gt;&lt;/div&gt;&lt;/div&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/_G5n7x-E1CiI/SuX86J5KXEI/AAAAAAAAAGA/J0yx38dU_Ok/s1600-h/IMG_1645.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_G5n7x-E1CiI/SuX86J5KXEI/AAAAAAAAAGA/J0yx38dU_Ok/s320/IMG_1645.JPG" alt="" id="BLOGGER_PHOTO_ID_5396997804491693122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Next, I fastened the board on the Roomba using the screw hole on the LM317 to a screw hole just beside the battery compartment. The weird silver coloured strip is actually a few pieces of kitchen aluminium foil folded together to be the regulator's heatsink. This is because from earlier experiment and also from the datasheet, the power dissipation has exceed the limit of using it without heatsink. According to the datasheet, the power dissipation when is battery voltage low should be approximately:&lt;br /&gt;P&lt;sub&gt;D&lt;/sub&gt;= (V&lt;sub&gt;out&lt;/sub&gt; - V&lt;sub&gt;in&lt;/sub&gt;) I&lt;sub&gt;out&lt;/sub&gt; = (22 V- 15 V) 0.208 A = 1.46 W&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Maximum allowable temperature rise, T&lt;sub&gt;R(MAX)&lt;/sub&gt;:where T&lt;sub&gt;J(MAX)&lt;/sub&gt; is max  junction temperature from datasheet and T&lt;sub&gt;A(MAX) &lt;/sub&gt;max ambient temperature  :&lt;br /&gt;T&lt;sub&gt;R(MAX)&lt;/sub&gt; = T&lt;sub&gt;J(MAX)&lt;/sub&gt; - T&lt;sub&gt;A(MAX)&lt;/sub&gt; = 125 - 32 = 93°C&lt;br /&gt;&lt;br /&gt;Thermal Resistance:&lt;br /&gt;θ&lt;sub&gt;JA&lt;/sub&gt; = (T&lt;sub&gt;R(MAX)&lt;/sub&gt; / P&lt;sub&gt;D&lt;/sub&gt;) = 93 / 1.46 = 63.6 °C/W&lt;br /&gt;&lt;br /&gt;For the TO220 package, the junction to ambient thermal resistance without heatsink is 50 °C/W. So, I needed a heatsink to reduce the thermal resistance.&lt;br /&gt;Since we have only exceed the thermal resistance not much, a simple heatsink should work.&lt;br /&gt;&lt;br /&gt;Also from thermometer, without heatsink, the temperature can go dangerously above 80°C. With the heatsink added, temperature stabilizes at around 50 - 60°C throughout the charging.&lt;br /&gt;&lt;br /&gt;Finally, below is the picture of the repair Roomba before the housing is assembled again.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G5n7x-E1CiI/SuX86TrbBHI/AAAAAAAAAGI/ODXJjxYP1p0/s1600-h/IMG_1646.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_G5n7x-E1CiI/SuX86TrbBHI/AAAAAAAAAGI/ODXJjxYP1p0/s320/IMG_1646.JPG" alt="" id="BLOGGER_PHOTO_ID_5396997807118419058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I have done a few rounds of change and clean cycle. So far, it seems good. It takes approx. 8 - 12 hours to charge until the top LED turns green.&lt;br /&gt;&lt;br /&gt;I have just return the Roomba to the owner a few days ago and I am starting to miss it because now I have to clean the floors manually again :-(&lt;br /&gt;&lt;br /&gt;This whole experience made to so tempted to buy a Roomba myself :-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-6123085300460000821?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/6123085300460000821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=6123085300460000821' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6123085300460000821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6123085300460000821'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2009/10/repairing-roomba-charging-circuit.html' title='Repairing Roomba charging circuit'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_G5n7x-E1CiI/StuZbfxZTjI/AAAAAAAAAEg/_i018jLiyhs/s72-c/schematic.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-6288159529322466482</id><published>2009-05-30T15:21:00.000-07:00</published><updated>2009-05-30T15:34:38.809-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rt73'/><category scheme='http://www.blogger.com/atom/ns#' term='wifi'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Kubuntu Jaunty Jackalope 9.04</title><content type='html'>Just some long over due update....&lt;br /&gt;&lt;br /&gt;I have upgraded to Kubuntu Jaunty 9.04&lt;br /&gt;This time, they have finally got it rt73usb wireless drivers right.&lt;br /&gt;I have disabled my own complied driver before upgrade.&lt;br /&gt;Now I am using default driver. I have been using it for a few weeks and so far no connection dropping and download speed is good.&lt;br /&gt;&lt;br /&gt;One little surprise after upgrade was that my display was corrupted when it enters KDM, I can't even go to console mode with Ctrl-Alt-F1. I had to SSH into my machine from another computer and type:&lt;br /&gt;&lt;pre&gt;aticonfig --initial&lt;/pre&gt;&lt;br /&gt;This configures a default set of display settings into my xorg.conf.&lt;br /&gt;After this, everything is working great.&lt;br /&gt;The only slight disappointment is that lm-sensors module for my phenom processor is still not available. I can only monitor using mobo sensors. Perhaps I'll try to compile my own module when I have some time later. Now I am just too busy at work and also all the wedding preparation.. sigh..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-6288159529322466482?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/6288159529322466482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=6288159529322466482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6288159529322466482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6288159529322466482'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2009/05/kubuntu-jaunty-jackalope-904.html' title='Kubuntu Jaunty Jackalope 9.04'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-6314206614996143477</id><published>2009-01-14T05:44:00.000-08:00</published><updated>2009-05-30T15:37:15.498-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rt73'/><category scheme='http://www.blogger.com/atom/ns#' term='wifi'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>rt73usb problem with Ubuntu Intrepid</title><content type='html'>Recently, my wireless connection seems unreliable. It keeps dropping from time to time unpredictably. I cannot just reconnect it with network-manager. I had to unplug my Linksys WUSB54GC usb stick and plug it again to work.&lt;br /&gt;After getting frustrated with this, I finally did a quick google search and found out that this is somewhat a know issue with as describe in &lt;a href="https://bugs.launchpad.net/ubuntu/+bug/283759"&gt;https://bugs.launchpad.net/ubuntu/+bug/283759&lt;/a&gt;&lt;br /&gt;The suggested solution is to install linux-backports-modules-generic package.&lt;br /&gt;I am trying it out now and I'll update this later if it works out well.&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;Nope, not working for my current intrepid kernel:&lt;br /&gt;&lt;pre&gt;$ uname -rv&lt;br /&gt;2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008&lt;/pre&gt;&lt;br /&gt;The kernel module won't even load due to some "unknown symbols" error in the syslog&lt;br /&gt;&lt;br /&gt;Next, I have also tried compiling the compat-wireless from &lt;a href="http://linuxwireless.org/en/users/Download"&gt;http://linuxwireless.org/en/users/Download&lt;/a&gt; but also could not work. This time, the kernel modules could load, but could not connect at all due due to time-out errors.&lt;br /&gt;&lt;br /&gt;Finally and hesitantly, I tried the legacy rt73 serialmonkey drivers. Thanks to the instruction from &lt;a href="http://linuxbidouille.com/2008/10/25/wifi-rt73-rt73usb/"&gt;http://linuxbidouille.com/2008/10/25/wifi-rt73-rt73usb/&lt;/a&gt; [ it is in french, but the shell commands is a universal language ;-)  ], I had to blacklist rt73usb and then compile and install rt73 module with the following steps (slightly different steps, probably due to newer CVS version).&lt;br /&gt;&lt;br /&gt;First, download the latest legacy rt73 package from &lt;a href="http://rt2x00.serialmonkey.com/wiki/index.php?title=Downloads"&gt;http://rt2x00.serialmonkey.com/wiki/index.php?title=Downloads&lt;/a&gt;&lt;br /&gt;Then, decompress and compile it with the following commands:&lt;br /&gt;&lt;pre&gt;tar xvf rt73-cvs-daily.tar.gz&lt;br /&gt;cd rt73-cvs-*/Module/&lt;br /&gt;make -j4 # where 4 is the number of concurrent jobs; I have a quad core Phenom X4.&lt;/pre&gt;&lt;br /&gt;Next, I unloaded the drivers, blacklist the existing drivers by adding two lines to /etc/modprobe.d/blacklist and add the new module to /etc/modules&lt;br /&gt;&lt;pre&gt;sudo ifconfig wlan0 down&lt;br /&gt;sudo modprobe -r rt73usb&lt;br /&gt;sudo modprobe -r rt2500usb&lt;br /&gt;echo 'blacklist rt73usb' | sudo tee -a /etc/modprobe.d/blacklist&lt;br /&gt;echo 'blacklist rt2500usb' | sudo tee -a /etc/modprobe.d/blacklist&lt;br /&gt;echo 'rt73' | sudo tee -a /etc/modules&lt;/pre&gt;&lt;br /&gt;Then, install and reload the modules&lt;br /&gt;&lt;pre&gt;sudo make install&lt;br /&gt;sudo depmod -ae&lt;br /&gt;sudo modprobe rt73&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Because legacy serialmonkey drivers are not supported by Network Manager, I need to manual configure the wireless network before I could bring up the network interface by adding the following lines to /etc/network/interfaces:&lt;br /&gt;&lt;pre&gt;auto wlan0&lt;br /&gt;iface wlan0 inet dhcp&lt;br /&gt;pre-up iwconfig wlan0 essid "YourWirelessSSID"&lt;br /&gt;pre-up iwpriv wlan0 set AuthMode=WPA2PSK # or WPAPSK&lt;br /&gt;pre-up iwpriv wlan0 set EncrypType=AES # or TKIP&lt;br /&gt;pre-up iwpriv wlan0 set WPAPSK="Your_WPA_Password"&lt;/pre&gt;&lt;br /&gt;If you worry about storing the password as cleartext, it can be encrypted using wpa_passphase command:&lt;br /&gt;&lt;pre&gt;$ wpa_passphrase YourWirelessSSID&lt;br /&gt;# reading passphrase from stdin&lt;br /&gt;Your_WPA_Password&lt;br /&gt;network={&lt;br /&gt;        ssid="YourWirelessSSID"&lt;br /&gt;        #psk="1234password5678"&lt;br /&gt;        psk=6d5a47c07977445329d6701c78a26ce1df86263c9779aa83b4e8d125637b9d5b&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;then copy the long hexadecimal string to /etc/network/interfaces to replace the line&lt;br /&gt;&lt;pre&gt;pre-up iwpriv wlan0 set WPAPSK="your WPA password"&lt;/pre&gt;&lt;br /&gt;with&lt;br /&gt;&lt;pre&gt;pre-up iwpriv wlan0 set WPAPSK=6d5a47c07977445329d6701c78a26ce1df86263c9779aa83b4e8d125637b9d5b&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Finally, bring up the network with:&lt;br /&gt;&lt;pre&gt;sudo ifconfig wlan0 up&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Wireless should be working fine now, so far I have been running KTorrent for almost whole day and wireless connection is still working, no connection drop :-)&lt;br /&gt;&lt;br /&gt;The only disadvantage is if you are using laptop and roam between wireless networks and you have to manually configure the /etc/network/interfaces. I believe wpa_supplicant could be used, but I have not figure out that part yet. Perhaps next time...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Update May 2009: I have upgraded to Kubuntu Jaunty, and they have finally got it right. I am using the default drivers and things work out of box, so far it has been reliable, not drop connections and download speed is good. So no need for the above workaround unless you really want to stay with Intrepid.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-6314206614996143477?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/6314206614996143477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=6314206614996143477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6314206614996143477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6314206614996143477'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2009/01/rt73usb-problem-with-ubuntu-intrepid.html' title='rt73usb problem with Ubuntu Intrepid'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8933893595007189465</id><published>2009-01-01T09:54:00.000-08:00</published><updated>2009-01-01T10:35:37.211-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FlashPlayer'/><category scheme='http://www.blogger.com/atom/ns#' term='x86_64'/><title type='text'>Native 64-bit Adobe Flash Player 10 for Linux x86_64</title><content type='html'>Recently I have upgrade my machine to a Phenom 9650 with 4GB RAM. So I decided to use install Kubuntu 64-bit. However, I had to install the 32-bit libraries and nspluginwrapper for Adobe Flash Player to work as it previously only 32-bit binaries was release. Now, Adobe has released an Alpha "refresh" version of native 64-bit Flash Player to enable pure 64-bit web surfing experience!&lt;br /&gt;To install, first uninstall currently installed flashplayer with the following commands:&lt;br /&gt;&lt;pre&gt;sudo apt-get purge flashplayer-nonfree nswrapperplugin&lt;/pre&gt;&lt;br /&gt;Then download Flash Player 10 for Linux 64-bit from &lt;a href="http://labs.adobe.com/downloads/flashplayer10.html"&gt;here&lt;/a&gt;.&lt;br /&gt;and extract libflashplayer.so to the following directories:&lt;pre&gt;&lt;br /&gt;~/.mozilla/plugins/&lt;br /&gt;/usr/lib/firefox/plugins/&lt;br /&gt;/usr/lib/mozilla/plugins/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Restart firefox and go to your favourite flash site.&lt;br /&gt;For me, youtube.com and various flash site works well!&lt;br /&gt;The only problem is that konqueror doesn't seems to like it and does not display properly and it has been reported as bug &lt;a href="http://bugs.kde.org/show_bug.cgi?id=169626"&gt;169626&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8933893595007189465?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8933893595007189465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8933893595007189465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8933893595007189465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8933893595007189465'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2009/01/adobe-flash-player-64-bit-for-linux.html' title='Native 64-bit Adobe Flash Player 10 for Linux x86_64'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-6197557365514908874</id><published>2009-01-01T09:40:00.000-08:00</published><updated>2009-01-01T10:35:57.370-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nested paging'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualbox'/><title type='text'>VirtualBox Hardware Virtualization and Nested Paging</title><content type='html'>Recently discovered that I could enable nested paging for Virtualbox 2.1.&lt;br /&gt;Nested paging is a new hardware virtualization extension on AMD K10 Barcelona/Phenom and Intel Core i7 Nehalem processors that allows processor to offload memory paging required by the guest OS that is traditionally done by the VM with shadow paging.&lt;br /&gt;Since it is a new feature, it is not available in the configuration UI yet.&lt;br /&gt;First, you will have to enable hardware virtualization (VT-x/AMD-V) in Settings -&gt; Advanced. Then, nested paging can be enabled as described in the VirtualBox User Manual with the following command:&lt;br /&gt;&lt;pre&gt;VBoxManage modifyvm &lt;vmname&gt; &lt;vmname&gt; -nestedpaging on&lt;/pre&gt;&lt;br /&gt;The performance boost is quite noticeable.&lt;br /&gt;The boot up time for my virtual Windows XP has drop from about 25 seconds to 18 seconds.&lt;br /&gt;Super PI Mod has dropped from 39.159s to 36.016s&lt;br /&gt;Various benchmarks on the net show performance boost up to 30%.&lt;br /&gt;I'll run more benchmarks next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-6197557365514908874?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/6197557365514908874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=6197557365514908874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6197557365514908874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6197557365514908874'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2009/01/virtualbox-hardware-virtualization-and.html' title='VirtualBox Hardware Virtualization and Nested Paging'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-2553617156785810163</id><published>2008-10-26T15:07:00.000-07:00</published><updated>2008-10-26T15:35:32.726-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cars'/><category scheme='http://www.blogger.com/atom/ns#' term='carbon footprint'/><title type='text'>What's my carbon footprint for a 500km drive from Malacca to Penang?</title><content type='html'>I was curious to figure out what is the carbon footprint of my car and a 500km journey.&lt;br /&gt;A bit of googling, I figure out from &lt;a href="http://epa.gov/orcdizux/climate/420f05001.htm"&gt;US EPA&lt;/a&gt; that 1 US gallon of gasoline produces about 8.788 kg of CO&lt;sub&gt;2&lt;/sub&gt; or &lt;a href="http://www.google.com.my/search?hl=en&amp;amp;q=8.788+kg%2Fgallon+in+kg%2Flitre&amp;amp;meta="&gt;2.321544 kg of CO&lt;sub&gt;2&lt;/sub&gt; per litre&lt;/a&gt;.&lt;br /&gt;My car's mileage is about 0.065 litres/km or 15.4 km/litre.&lt;br /&gt;So, for a 500km journey from &lt;a href="http://www.malaysiasite.nl/distance.htm"&gt;Melaka to Penang&lt;/a&gt; should consume about:&lt;br /&gt;500 km x 0.065 l/km = 32.5 litres of petrol.&lt;br /&gt;&lt;br /&gt;So, the CO&lt;sub&gt;2&lt;/sub&gt; released for burning 32.5 litres of petrol:&lt;br /&gt;32.5 litres x 2.3215 kg/l = 75.45 kg of CO&lt;sub&gt;2&lt;/sub&gt;&lt;br /&gt;&lt;br /&gt;Finally for my journey from Penang - Malacca - Penang: 2 x 75.45 = 150.90 kg of CO&lt;sub&gt;2&lt;/sub&gt; for this weekend holiday trip.&lt;br /&gt;Bad bad boy...&lt;br /&gt;Anyway, Happy Diwali to my Indian... :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-2553617156785810163?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/2553617156785810163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=2553617156785810163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2553617156785810163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2553617156785810163'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/10/whats-my-carbon-footprint-for-500km.html' title='What&apos;s my carbon footprint for a 500km drive from Malacca to Penang?'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8491976368796427784</id><published>2008-09-18T07:20:00.001-07:00</published><updated>2009-01-01T10:45:40.167-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='counterfeit'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><title type='text'>Counterfeit Corsair High Performance XMS RAM</title><content type='html'>Ok, make a guess. Which of the two following DIMMs are fake.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkTYjTelI/AAAAAAAAACE/p6I-RrU3QFk/s1600-h/corsairBlack2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkTYjTelI/AAAAAAAAACE/p6I-RrU3QFk/s320/corsairBlack2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5247366800010869330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkTvte85I/AAAAAAAAACM/aLVy8P5V5jg/s1600-h/corsairPlatinum2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkTvte85I/AAAAAAAAACM/aLVy8P5V5jg/s320/corsairPlatinum2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5247366806227579794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, recently, I bought a Corsair Ultra Performance XMS 512MB DDR400 RAM from &lt;a href="http://www.lelong.com.my/"&gt;lelong.com.my&lt;/a&gt; (a local ebay clone) because I already have an existing Corsair RAM and getting another one should give my aging machine a performance boost with more memory and faster dual channel memory bandwidth.&lt;br /&gt;&lt;br /&gt;I was pretty excited when I receive the parcel a few days ago. I plugged it into the mainboard and it seems to work. It passes the memtest86+. However, I notice something fishy when the memory speed shows 333MHz when it should be 400MHz.&lt;br /&gt;&lt;br /&gt;I booted into the old rusty WinXP (linux lshw does seems to show much useful info), and I ran &lt;a href="http://www.cpuid.com/pcwizard.php"&gt;PC Wizard&lt;/a&gt;. The following is part of the report from PC Wizard.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt; Information EEPROM (DIMM1)&lt;br /&gt; Manufacturer : Unspecified&lt;br /&gt; Part Number : CMX512-3200C2&lt;br /&gt;&gt;&gt; Serial Number&lt;br /&gt; Type : DDR-SDRAM PC3200 (200 MHz)&lt;br /&gt; Size : 512 Mb (2 rows, 4 banks)&lt;br /&gt; Module Buffered : No&lt;br /&gt; Module Registered : No&lt;br /&gt; Width : 64 bits&lt;br /&gt; Error Correction Capability : No&lt;br /&gt; Max. Burst Length : 8&lt;br /&gt; Refresh : Reduced (.5x)7.8 µs, Self Refresh&lt;br /&gt; Voltage : SSTL 2.5v&lt;br /&gt; Supported Frequencies : 166 MHz, 200 MHz&lt;br /&gt; CAS Latency (tCL) : 2 clocks @166 MHz, 2.5 clocks @200 MHz&lt;br /&gt; RAS to CAS (tRCD) : 3 clocks @166 MHz, 3 clocks @200 MHz&lt;br /&gt; RAS Precharge (tRP) : 3 clocks @166 MHz, 3 clocks @200 MHz&lt;br /&gt; Cycle Time (tRAS) : 7 clocks @166 MHz, 8 clocks @200 MHz&lt;br /&gt;&gt;&gt; Information EEPROM (DIMM3)&lt;br /&gt; Manufacturer : Kingston&lt;br /&gt; Part Number : K&lt;br /&gt; Serial Number : 8908BA99&lt;br /&gt; Type : DDR-SDRAM PC2700 (166 MHz)&lt;br /&gt; Size : 512 Mb (2 rows, 4 banks)&lt;br /&gt; Module Buffered : No&lt;br /&gt; Module Registered : No&lt;br /&gt; Width : 64 bits&lt;br /&gt;Error Correction Capability : No&lt;br /&gt;Max. Burst Length : 8&lt;br /&gt;Refresh : Reduced (.5x)7.8 µs, Self Refresh&lt;br /&gt;Voltage : SSTL 2.5v&lt;br /&gt;Supported Frequencies : 133 MHz, 166 MHz&lt;br /&gt;CAS Latency (tCL) : 2 clocks @133 MHz, 2.5 clocks @166 MHz&lt;br /&gt;RAS to CAS (tRCD) : 3 clocks @133 MHz, 3 clocks @166 MHz&lt;br /&gt;RAS Precharge (tRP) : 3 clocks @133 MHz, 3 clocks @166 MHz&lt;br /&gt;Cycle Time (tRAS) : 6 clocks @133 MHz, 7 clocks @166 MHz&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;As you can see at DIMM 1, the CMX512-3200C2 is my existing black Corsair DIMM and the other at DIMM 3 is a Kingston DDR PC2700!! I was like WTF!!? I don't mean Kingston is bad (I never had problems with my mum's machine), but I was expecting a high performance type and what I got was a standard Kingston value type.&lt;br /&gt;&lt;br /&gt;So with a little searching on the web, I found out that all Corsair memory modules should have a holographic sticker with its model number, speed and other details as shown below for my original 512MB stick.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkT3FN3JI/AAAAAAAAACU/oBbvy6hMBnU/s1600-h/corsairBlack1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkT3FN3JI/AAAAAAAAACU/oBbvy6hMBnU/s320/corsairBlack1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5247366808206171282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Kingston RAM with a Corsair heatspreader is as below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkUJbAAZI/AAAAAAAAACc/9epSfpU0rrU/s1600-h/corsairPlatinum1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkUJbAAZI/AAAAAAAAACc/9epSfpU0rrU/s320/corsairPlatinum1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5247366813129376146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am still in the process of negotiation with the seller for a refund or exchange. It seems that he also does not realize that, I would be nice to believe that it is an honest mistake as he is still willing to negotiate.&lt;br /&gt;&lt;br /&gt;The black Corsair module has been giving me solid performance and stability for the last 5 years. So next time, I'll be smarter to make sure to check for the holograhic sticker when you purchase Corsair DIMMs.&lt;br /&gt;&lt;br /&gt;BTW, I also found a pretty good "webinar" on memory basics by Corsair. Even for people familiar with computer hardware, this should be a pretty good refresher. &lt;a href="http://www.corsairmemory.com/memory_basics/index.html"&gt;http://www.corsairmemory.com/memory_basics/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: The seller agreed to exchange for a pair of Kingston 2 x 512MB Hyper-X memory for a little extra money. I got the item and this time they are real.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8491976368796427784?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8491976368796427784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8491976368796427784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8491976368796427784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8491976368796427784'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/09/counterfeit-corsair-high-performance.html' title='Counterfeit Corsair High Performance XMS RAM'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_G5n7x-E1CiI/SNJkTYjTelI/AAAAAAAAACE/p6I-RrU3QFk/s72-c/corsairBlack2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-874587726492173209</id><published>2008-09-11T09:03:00.000-07:00</published><updated>2008-09-11T09:13:10.078-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE4'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>KDE 4.1.1</title><content type='html'>Just installed updated to KDE 4.1.1 from Kubuntu Member's KDE4 PPA.&lt;br /&gt;The server seems rather slow. It took me quite a few nights to download all the over 70 packages. I wonder if there are any Asian mirrors for the Launchpad PPA.&lt;br /&gt;Anyway, here's my desktop screen capture.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G5n7x-E1CiI/SMlCq-Diu6I/AAAAAAAAAB8/luqFFPTDJEg/s1600-h/kde411.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_G5n7x-E1CiI/SMlCq-Diu6I/AAAAAAAAAB8/luqFFPTDJEg/s320/kde411.jpg" alt="" id="BLOGGER_PHOTO_ID_5244796547029449634" 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/825227734527676377-874587726492173209?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/874587726492173209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=874587726492173209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/874587726492173209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/874587726492173209'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/09/kde-411.html' title='KDE 4.1.1'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_G5n7x-E1CiI/SMlCq-Diu6I/AAAAAAAAAB8/luqFFPTDJEg/s72-c/kde411.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8817847412891197029</id><published>2008-09-06T09:38:00.000-07:00</published><updated>2008-09-11T09:16:13.633-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Malaysian mirrors for Ubuntu</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Just found out that Multimedia University (MMU) has a mirror of the Ubuntu repository and it has a 100Mbps connection and it seems pretty up-to-date.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;So for Malaysian Ubuntu users, set your /etc/apt/source.list to&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;http://ubuntu.mmu.edu.my/ubuntu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;for example, for hardy&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;deb http://ubuntu.mmu.edu.my/ubuntu/ hardy-updates universe main multiverse restricted&lt;br /&gt;deb http://ubuntu.mmu.edu.my/ubuntu/ hardy main universe restricted multiverse&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Even with my 384Kbps Streamyx line, I get pretty good 40KBps downloads. It would be interesting to see what is the speed for the next major update.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8817847412891197029?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8817847412891197029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8817847412891197029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8817847412891197029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8817847412891197029'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/09/malaysian-mirrors-for-ubuntu.html' title='Malaysian mirrors for Ubuntu'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-1166718450271350006</id><published>2008-08-25T18:55:00.000-07:00</published><updated>2008-08-25T20:21:28.977-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='laser mouse'/><title type='text'>Wireless Laser Mouse</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G5n7x-E1CiI/SLN2n6BXODI/AAAAAAAAAB0/wVFKVR_Ux1g/s1600-h/p8260025.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_G5n7x-E1CiI/SLN2n6BXODI/AAAAAAAAAB0/wVFKVR_Ux1g/s320/p8260025.jpg" alt="" id="BLOGGER_PHOTO_ID_5238661219523967026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Just bought a &lt;a href="http://www.lexma-usa.com/products/ProductDetail.asp?SwitchFunctionID=%7B48EEF942-BDE6-4F5F-97BF-C918649243BF%7D&amp;amp;id=%7BD6E28A4C-F62B-4AAC-BE27-828E27FE3A70%7D"&gt;Lexma wireless laser mouse&lt;/a&gt; for RM70 at the last PC Fair.&lt;br /&gt;I was kinda pleasantly surprised by its precision and sensitivity. If you still remember the jump in precision and sensitivity between older roller ball mouse and current LED based optical mouse, there is also a similar jumps in precision and accuracy when switching to laser mouse.&lt;br /&gt;It works on almost any surface, much better than standard optical mouse.&lt;br /&gt;Well, it was mainly for my mum, she was complaining of shoulder pain because of playing too much casual games and the computer desk isn't exactly ergonomic.&lt;br /&gt;So I thought that getting a wireless laser mouse would enable her to use the mouse in a more natural comfortable position like using the mouse on a pillow on the lap instead of stretching her hand to a less comfortable position on the desk.&lt;br /&gt;Another interesting thing about laser mouse is that it seems to use infrared laser, so it is not visible unlike red LED optical sensors used in the common optical mouse.&lt;br /&gt;Lastly, it works out-of-box with Kubuntu/Linux!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-1166718450271350006?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/1166718450271350006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=1166718450271350006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/1166718450271350006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/1166718450271350006'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/08/wireless-laser-mouse.html' title='Wireless Laser Mouse'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_G5n7x-E1CiI/SLN2n6BXODI/AAAAAAAAAB0/wVFKVR_Ux1g/s72-c/p8260025.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-6267864156532938539</id><published>2008-01-29T07:30:00.000-08:00</published><updated>2008-01-29T07:38:55.333-08:00</updated><title type='text'>Nokia Acquiring Trolltech</title><content type='html'>The news that Nokia, the cellphone giant, is buying up Trolltech, the company behind Qt framework, which is also one of the core framework used in KDE has probably shaken the much of the open source community, particularly KDE.&lt;br /&gt;While their current announcement seems to indicate that Nokia and Trolltech will continue to support open source and KDE, only time will tell if they remain true to this promise. For further info, see &lt;a href="http://dot.kde.org/1201517986/"&gt;http://dot.kde.org/1201517986/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-6267864156532938539?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/6267864156532938539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=6267864156532938539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6267864156532938539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6267864156532938539'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/01/nokia-acquiring-trolltech.html' title='Nokia Acquiring Trolltech'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-442712955178161075</id><published>2008-01-11T16:35:00.000-08:00</published><updated>2008-01-11T16:37:43.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE4'/><title type='text'>KDE 4.0 is now released!</title><content type='html'>Ladies and gentlemen,&lt;br /&gt;The wait is over. KDE4 is now released. This is the release announcement, &lt;a href="http://www.kde.org/announcements/4.0/"&gt;http://www.kde.org/announcements/4.0/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am so eager to download a live CD to try is out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-442712955178161075?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/442712955178161075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=442712955178161075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/442712955178161075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/442712955178161075'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/01/kde-40-is-now-released.html' title='KDE 4.0 is now released!'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-2214537456894028480</id><published>2008-01-02T05:21:00.000-08:00</published><updated>2008-01-02T05:47:07.343-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Installing Kubuntu Gutsy</title><content type='html'>Ok I gotta admit that I must be the last Linux geek on earth to install Kubuntu Gutsy 7.10 when people are starting to talk about KDE4 RC2 and stuffs.&lt;br /&gt;&lt;br /&gt;I have been rather busy recently and don't have much time do spend for upgrading the OS. Finally, a few weeks ago, I took some time to attempt to upgrade from Fiesty to Gutsy.&lt;br /&gt;As usual, I always backup the OS partition in case anything wrong with the upgrade. After I imaged the partition with Clonezilla, I started Adept Manager and upgraded all my packages and then perform the Version Upgrade as suggested in the upgrade instruction in Kubuntu site. However, the version upgrade installed failed and after restarting, it fails to boot properly.&lt;br /&gt;&lt;br /&gt;I thought of restoring the partition but later decided to perform a fresh install by download the Kubuntu Gutsy Live CD. After downloading and burning the CD, popped in the CD and launch the Live CD. Installation was smooth and seems faster that when I installed Edgy. This time, instead of choosing ext3 for the root partition, I decided to try reiserfs. From my previous experience with openSUSE and this new installation, I feel that it is slightly faster than ext3. Also, it does not require the  mandatory checking during bootup after every 30 mounts which is a little annoying with ext3.&lt;br /&gt;&lt;br /&gt;Overall, I have to say that I am quite satisfied with Gutsy. Many things has improved. The big one is that nVidia binary drivers can be installed with just a click upon first startup and the default configuration work well. No need to hack xorg.conf and manually installed the binary drivers. The multimedia keys on my Microsoft Natural Keyboard also works out-of-box with amarok. One of the first thing that I did was to reconfigure /etc/default/acpi-support to enable suspend to work properly as described in this post: &lt;a href="http://ubuntuforums.org/archive/index.php/t-596666.html"&gt;http://ubuntuforums.org/archive/index.php/t-596666.html&lt;/a&gt;&lt;br /&gt;After that, I have also installed lm-sensors and ksensors to monitor the CPU temperature. This is all for now. I'll still need to spend some time to install the build-essentials and stuffs that I usually use whenever I have some free time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-2214537456894028480?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/2214537456894028480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=2214537456894028480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2214537456894028480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2214537456894028480'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/01/installing-kubuntu-gutsy.html' title='Installing Kubuntu Gutsy'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-3380655240237823060</id><published>2008-01-02T05:07:00.000-08:00</published><updated>2008-01-02T05:47:50.051-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithms'/><title type='text'>Of self-googling and sorting algorithm</title><content type='html'>Okay, out of boredom and curiosity, I did a little self-googling and guess what I found?&lt;br /&gt;&lt;a href="http://www.yzu.ca/sdba/action/a9over1/sortingMain.swf"&gt;&lt;br /&gt;http://www.yzu.ca/sdba/action/a9over1/sortingMain.swf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is an assignment that my friends and I created for an Algorithm and Data Structure course 6 years ago when we were still doing our first year engineering.&lt;br /&gt;This is nostalgic!&lt;br /&gt;&lt;br /&gt;BTW, recently, Mark LaFamme has attributed this &lt;a href="http://marklaflamme.com/blog/?p=630"&gt;self-googling as masturbation&lt;/a&gt;! So hey, I would like to make it clear that I don't do this often. If I do, I would have discovered the above link much earlier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-3380655240237823060?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/3380655240237823060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=3380655240237823060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/3380655240237823060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/3380655240237823060'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2008/01/of-self-googling-and-sorting-algorithm.html' title='Of self-googling and sorting algorithm'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-7819555007226212644</id><published>2007-11-07T07:59:00.000-08:00</published><updated>2007-11-07T08:18:47.736-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wireshark'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Wireshark on U3</title><content type='html'>Wireshark (former known as Ethereal) is a great tool for network diagnostics. I have been using it extensively to monitor network performance of my network applications. Recently I discovered that they have release a U3 package for it!&lt;br /&gt;If you have a U3 flash drive and you frequent need to perform network diagnostics on various computers, I would really recommend you to try it out.&lt;br /&gt;When you launch Wireshark from U3 launchpad, it will prompt you if you would like to install winpcap on the computer if it has not been installed. After winpcap has been installed, it will launch wireshark.&lt;br /&gt;Once you have finished using wireshark, when you click on the eject button on U3 launchpad, it will also automatically uninstall the winpcap!&lt;br /&gt;While this installation/uninstallation of winpcap seems a bit clumsy, it is still very useful as I can bring wireshark anywhere, stick it into any Windows PC and start troubleshooting the network!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-7819555007226212644?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/7819555007226212644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=7819555007226212644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/7819555007226212644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/7819555007226212644'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/11/wireshark-on-u3.html' title='Wireshark on U3'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8267801352093956155</id><published>2007-10-24T14:24:00.000-07:00</published><updated>2007-10-24T14:38:41.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Ubuntu 7.10 Gutsy Gibbon has been release</title><content type='html'>[K]ubuntu Gutsy has just been released last week. So I'm thinking of upgrading my current Feisty but I'll have to spend some time to image the root partition as backup just in case the upgrade procedure screws up. Upgrade instructions is available at &lt;a href="http://kubuntu.org/announcements/7.10-release.php"&gt;http://kubuntu.org/announcements/7.10-release.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll probably post more info and a short review on it once when I have completed upgrade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8267801352093956155?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8267801352093956155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8267801352093956155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8267801352093956155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8267801352093956155'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/10/ubuntu-710-gutsy-gibbon-has-been.html' title='Ubuntu 7.10 Gutsy Gibbon has been release'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-2298363247669189213</id><published>2007-08-26T07:09:00.000-07:00</published><updated>2007-09-09T02:14:01.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cars'/><title type='text'>Now my car roars with 110db twintone horn</title><content type='html'>About 2 years ago, I had an auto accident (luckily no one was seriously injured) and damaged my front bumper and the horn was also replaced. But after I got my car back from the workshop, I realized that they gave me an cheap horn that is soft and squeak like a little kitten, far worse that the stock horn.&lt;br /&gt;&lt;br /&gt;I have been wanting to change it for some time and recently, there was a few occasion when some reckless drivers dangerously cuts in front of me, forcing me to slam the brakes and also horn, but what came out was a mere little kitten squeak. So yesterday, I finally decided I had enough of the ineffective horn.&lt;br /&gt;&lt;br /&gt;As I am sorta the DIY guy and also I been wanting to learn more about fixing my car,I decided to fix it myself. I could learn more about car wiring and save some money. First, I took a spanner to remove the horn, took it back into my room and experimented with it. I found that electric horn connection terminal are not polarized, so we can connect +12V and GND from my power supply to any of the two terminals. Using a multimeter to measure the current consumption, the horn drains about 4.2A or approximately 50W.&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/_G5n7x-E1CiI/RuO3acC4wiI/AAAAAAAAABk/KkjZjnNorwE/s1600-h/p1010005.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_G5n7x-E1CiI/RuO3acC4wiI/AAAAAAAAABk/KkjZjnNorwE/s320/p1010005.jpg" alt="" id="BLOGGER_PHOTO_ID_5108128067201057314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Old horn removed&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Next, I went to an auto accessories and bought a Hella New Generation Twin Tone Horn for RM58.00. On the box, it states the sound pressure level is 110db and rate input power of 2 x 72W. I also bought a few connector for the wiring.&lt;br /&gt;&lt;br /&gt;Later, I went home to install the horn. There are generally several types of horn connection for cars as shown in the installation instruction at the back of the box.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G5n7x-E1CiI/RuO4KsC4wjI/AAAAAAAAABs/rmyED37CV-U/s1600-h/p1010006.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_G5n7x-E1CiI/RuO4KsC4wjI/AAAAAAAAABs/rmyED37CV-U/s320/p1010006.jpg" alt="" id="BLOGGER_PHOTO_ID_5108128896129745458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The existing horn has the 3rd configuration - one wire. After a few minutes of wiring and screwing the new pair of horn in place:&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/_G5n7x-E1CiI/RuO3CcC4whI/AAAAAAAAABc/rxypzxAESkY/s1600-h/p1010009.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_G5n7x-E1CiI/RuO3CcC4whI/AAAAAAAAABc/rxypzxAESkY/s320/p1010009.jpg" alt="" id="BLOGGER_PHOTO_ID_5108127654884196882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;New Horns&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Finally, a quick press on the horn button on the steering wheel...  HORN!!!&lt;br /&gt;Yeah, it is loud and the twintone sounds nice. I would like to try a few more times, but that will probably disturb the neighbours... hehehe..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-2298363247669189213?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/2298363247669189213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=2298363247669189213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2298363247669189213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/2298363247669189213'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/08/now-my-car-roars-with-110db-twintone.html' title='Now my car roars with 110db twintone horn'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_G5n7x-E1CiI/RuO3acC4wiI/AAAAAAAAABk/KkjZjnNorwE/s72-c/p1010005.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-1533241946780253440</id><published>2007-08-21T06:33:00.000-07:00</published><updated>2007-09-09T02:17:55.547-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Hosting WCF in WPF app</title><content type='html'>In an application that I am developing, I have encountered a problem when the WPF GUI freezes when a client access the services in the server. Both client and server are WPF applications and the service operations typically takes several seconds to complete. So, the server GUI became unresponsive when the client performs service operation calls to the server. After some investigation, I found that the default behavior for WCF is to use the default synchronization context for the current AppDomain for synchronizing client access. Thus, when it is hosted in a GUI application, it locks the UI thread too.&lt;br /&gt;&lt;br /&gt;To disable this behavior, I have disable the &lt;a href="http://msdn2.microsoft.com/en-us/library/system.servicemodel.servicebehaviorattribute.usesynchronizationcontext.aspx%20"&gt;UseSynchonizationContext&lt;/a&gt; switch in the ServiceBehavior attribute of the service implementation class.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;[ServiceContract]&lt;br /&gt;public interface IMyService&lt;br /&gt;{&lt;br /&gt; [OperationContract]&lt;br /&gt; void DoSomething();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;[ServiceBehavior(&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;UseSynchonizationContext&lt;/span&gt;&lt;span style="font-size:130%;"&gt; = false)]&lt;br /&gt;public class MyServiceImpl : IMyService&lt;br /&gt;{&lt;br /&gt; public void DoSomething()&lt;br /&gt; {&lt;br /&gt;  ...&lt;br /&gt; }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Unfortunately, setting this flag to false also means I have to be extra careful with the golden rule of GUI and multithreading programming:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;"Thou shalt only update UI using code that runs on the same thread as the UI."&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt; Disabling UseSynchonizationContext causes WCF to process incoming client request using background thread. Thus, if we need to update the UI during the service operation execution, I'll need to use &lt;a href="http://msdn2.microsoft.com/en-us/library/system.windows.threading.dispatcher.begininvoke.aspx"&gt;Dispatcher.BeginInvoke&lt;/a&gt; to marshal the call to the UI dispatcher thread to perform the UI update operations. For more information on multithreading and GUI, see this article from WPF SDK blog:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/wpfsdk/archive/2007/01/30/thou-shalt-not-break-the-golden-rule-of-windows-multithreading-or-why-the-dispatcher-rocks.aspx"&gt;Thou Shalt Not Break the Golden Rule of Windows Multithreading. Or, Why the Dispatcher Rocks.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-1533241946780253440?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/1533241946780253440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=1533241946780253440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/1533241946780253440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/1533241946780253440'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/08/hosting-wcf-in-wpf-app.html' title='Hosting WCF in WPF app'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-105717027037101057</id><published>2007-07-09T06:42:00.000-07:00</published><updated>2007-09-09T00:42:30.689-07:00</updated><title type='text'>cpufreq and measuring power consumption</title><content type='html'>Since everyone are talking about &lt;a href="http://www.liveearth.org/"&gt;Live Earth&lt;/a&gt; and global warming recently, I have decided to check my personal power consumption. Other than my car, I guess the second most power consuming device is my PC. So I decided to measure how much power it consumes. Especially as I have recently discovered the cpufreqd that can adjust my Pentium 4 processor speed from 2.4GHz down to 300MHz.&lt;br /&gt;&lt;br /&gt;Unlike some hardware review sites where they could afford to buy good quality power meters like the &lt;a href="https://www.wattsupmeters.com/"&gt;Watts Up&lt;/a&gt;, all I have is just two multimeter laying around my toolbox and they can't even measure AC current. So, I also can't measure power as the method described in the article in &lt;a href="http://www.twistedmods.com/article.php?artid=136"&gt;TwistedMod&lt;/a&gt;. I has to create my own method to measure the current that goes into my PC. The circuit is as shown below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G5n7x-E1CiI/RpD37-9M2dI/AAAAAAAAAAs/je8w2fKgmSo/s1600-h/powerMeasurement.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_G5n7x-E1CiI/RpD37-9M2dI/AAAAAAAAAAs/je8w2fKgmSo/s200/powerMeasurement.jpg" alt="circuit to measure PC power consumption" id="BLOGGER_PHOTO_ID_5084836589185325522" border="0" /&gt;&lt;/a&gt;The resistor 5.1ohm, 5W was used because it is the only suitable resistor that is in my toolbox. Basically, any low resistance high power resistor should be suitable. The power dissipation of the resistor must be less than its rated power. For instance, I would expect my PC to draw less than 200W average and the mains provides 250V, thus the current is I = P/V = 200W/250V = 0.8A. Therefore, resistor power dissipation is P = I&lt;sup&gt;2&lt;/sup&gt;R = 0.8&lt;sup&gt;2&lt;/sup&gt; x 5.1 = 3.264W, which is still safe and below 5W. Of course, a 10W resistor would be safer and if your mains is 110V, the current would be twice and there for a 2ohm, 10W resistor is probably more suitable as the voltage drop across the resistor is lower.&lt;br /&gt;&lt;br /&gt;BTW, &lt;span style="font-weight: bold;"&gt;if you do not really understand the above paragraphs about voltage, current and power,&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;PLEASE DO NOT ATTEMPT THIS AT HOME! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok, I have completed modifying the above circuit as shown below:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G5n7x-E1CiI/RuOiysC4wgI/AAAAAAAAABU/fJForN87z7M/s1600-h/p1010002a.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_G5n7x-E1CiI/RuOiysC4wgI/AAAAAAAAABU/fJForN87z7M/s320/p1010002a.jpg" alt="" id="BLOGGER_PHOTO_ID_5108105394068701698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;The setup showing multimeter measuring V&lt;sub&gt;R&lt;/sub&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Next, I set my two multimeters to measure AC voltage. And finally, I plugged in the power cord and I pressed the power button....&lt;br /&gt;&lt;br /&gt;... fans and hard disk spins up ..... beep ...&lt;br /&gt;&lt;br /&gt;Yes, it works. The V&lt;sub&gt;AC&lt;/sub&gt; shows 252V and V&lt;sub&gt;R&lt;/sub&gt; fluctuates around 1.8V as Kubuntu boots up. Also, resistor power dissipation, P&lt;sub&gt;R&lt;/sub&gt; = 1.8V / 5.1ohm = 0.35A.&lt;br /&gt;&lt;br /&gt;After the system boots up and once the system reaches idle (cpufreqd is set to ondemand and ksensors show 300MHz), the V&lt;sub&gt;R&lt;/sub&gt; is 1.6A with my LCD monitor on and 1.2A when the LCD monitor is switched off.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G5n7x-E1CiI/RpEFnO9M2eI/AAAAAAAAAA0/YXlTqKbXilE/s1600-h/ksensors.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_G5n7x-E1CiI/RpEFnO9M2eI/AAAAAAAAAA0/YXlTqKbXilE/s200/ksensors.jpg" alt="" id="BLOGGER_PHOTO_ID_5084851625865828834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Then, I set my CPU frequency using cpufreq-set command (for example, cpufreq -f 1600 to set various frequency and various system load to determine the effect of CPU frequency and CPU load on power consumption. For more info on setting CPU frequence and power management in Linux, see&lt;br /&gt;&lt;a href="http://technowizah.com/2007/01/debian-how-to-cpu-frequency-management.html"&gt;Debian HOW-TO : CPU power management&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To simulate load, I used mencoder to trancode an episode of DL.tv using the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mencoder dl.tv.173.i.mp4 -ovc lavc -oac lavc -o /dev/null&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;FYI, these are the major components of my machine's specs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Intel Pentium 4 - 2.4Ghz&lt;br /&gt;&lt;/li&gt;&lt;li&gt;512MB RAM - Corsair XMS 2ns&lt;/li&gt;&lt;li&gt;MSI 865P Neo motherboard&lt;/li&gt;&lt;li&gt;MSI Geforce FX 5200 - 128MB&lt;/li&gt;&lt;li&gt;Creative SB Audigy&lt;/li&gt;&lt;li&gt;250GB WD Caviar SE&lt;/li&gt;&lt;li&gt;40GB WD Caviar&lt;/li&gt;&lt;li&gt;LiteON DVD +/- RW drive&lt;/li&gt;&lt;li&gt;17" Samsung LCD 173V&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Results:&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/_G5n7x-E1CiI/Rsr4zsC4wfI/AAAAAAAAABM/3FTedn4E3cA/s1600-h/chartPowerLoad.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_G5n7x-E1CiI/Rsr4zsC4wfI/AAAAAAAAABM/3FTedn4E3cA/s400/chartPowerLoad.jpg" alt="" id="BLOGGER_PHOTO_ID_5101163094830793202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Power consumption with single CPU load&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://4.bp.blogspot.com/_G5n7x-E1CiI/Rsr4b8C4weI/AAAAAAAAABE/hK-BLGphPpQ/s1600-h/chartPowerIdle.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_G5n7x-E1CiI/Rsr4b8C4weI/AAAAAAAAABE/hK-BLGphPpQ/s400/chartPowerIdle.jpg" alt="" id="BLOGGER_PHOTO_ID_5101162686808900066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Power consumption at idle&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;As you can see, when the CPU is loaded, the power consumption reduces when the CPU frequency is reduced. However, on idle load, changing CPU frequency does not seems to any effect on power consumption. I guess the reason is because my old processor is not really design for frequency scaling for reduced power consumption. It would be interesting to see the difference on newer processors with Intel's Enhanced SpeedStep or AMD's Cool 'n' Quiet.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;At idle power consumption at 60W is not exactly low compared to some latest 'green' machines. But it is relatively low compared to the those high-end gaming machines.&lt;br /&gt;&lt;br /&gt;Another observation is that the 17" LCD takes approximately 30W.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Lastly, please try to use &lt;a href="http://www.earthlab.com/carbonProfile/LiveEarth.htm?ver=10"&gt;Live Earth online calculator&lt;/a&gt; to find out your lifestyle carbon footprint and so something about it. My Live Impact score is 215 and 4.7 tons of carbon output per year. Hmm.. I guess I can probably do something to reduce this.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G5n7x-E1CiI/RpC2L-9M2cI/AAAAAAAAAAk/Bqoy9IA2fYc/s1600-h/snapshot2.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_G5n7x-E1CiI/RpC2L-9M2cI/AAAAAAAAAAk/Bqoy9IA2fYc/s200/snapshot2.jpg" alt="" id="BLOGGER_PHOTO_ID_5084764296295799234" border="0" /&gt;&lt;/a&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/825227734527676377-105717027037101057?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/105717027037101057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=105717027037101057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/105717027037101057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/105717027037101057'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/07/cpufreq-and-measuring-power-consumption.html' title='cpufreq and measuring power consumption'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_G5n7x-E1CiI/RpD37-9M2dI/AAAAAAAAAAs/je8w2fKgmSo/s72-c/powerMeasurement.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8797351296568441990</id><published>2007-07-02T14:59:00.000-07:00</published><updated>2007-08-21T08:32:46.718-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><title type='text'>The Economics of open source</title><content type='html'>An interesting and lively discussion thread has popped up at Ubuntu Forums with a title that is sure to invite a large reaction among the group of highly enthusiastic Ubuntu users in the forum:&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=490071"&gt;*deep breath* For the most unpopular opinion of any Ubuntu user, please click here.&lt;/a&gt;&lt;br /&gt;In summary, the original poster's opinion was that Ubuntu should be made closed-source so that programmers can make a lot money and improve their lives. He/She also said that by closing up Ubuntu, its quality will improve because paying more money will make things better.&lt;br /&gt;&lt;br /&gt;It is unfortunate that he/she has such opinion, which makes many other posters in the thread believe that he/she has very little understanding of the dynamics of open-source softwares. Later in the thread, he/she has indicated that he is still in college and he would wish that the software industry would be a huge money pot for everyone to join. So, I guess he/she can be forgiven for being less knowledgeable in the dynamics of the software industry and life as a software developer.&lt;br /&gt;&lt;br /&gt;The software industry is relatively new industry that is fast growing and thus getting huge and complicated. Writing a software product is not like writing a home-brew program or student project. For large projects involving many programmer, the overhead for many non-coding processes  increases (on this topic, I would recommend reading the first few chapters of Steve McConnell's Code Complete book). It seems to him/her that life as a programmer will be better if people pay companies to make softwares. Unlike other traditional industry where the workflow is something like:&lt;br /&gt;1. Product designers conceptualize and designs the product such as cars.&lt;br /&gt;2. Engineers turns the design in to prototype and ensure that the design is good and reliable.&lt;br /&gt;3. Finally, factory workers build/assemble the cars and its parts.&lt;br /&gt;&lt;br /&gt;But in software, we are the engineer and also the construction worker because, we do the design and also the dirty work of constructing each and every part of the software.&lt;br /&gt;&lt;br /&gt;Personally, two years ago, when I was still in university, I also had a similar opinion like him but less radical. To me, Linux was mainly a toy OS to learn about how computer and software works. At that time, I also believed that proprietary software are still superior. However, things changes as I started working in a large US-based technology corporation that makes products with proprietary codes, I came to understand the real deal in developing softwares. Businesses are still businesses, the goal of the company is to make profit for the shareholders. Shareholders invest money in company to make profit, not to pay programmers to do what they like to do. Now, as a software engineer, I came to realize that quite often, what we do to the piece of software is primarily a business decision that leads back to faster time to market, better profit, etc.&lt;br /&gt;&lt;br /&gt;I think open-source is an alternative business model that might actually work for software industry. While it is still quite early to decide is open-source is definitely the future, it is quite entirely possible as software development in indeed very different from most traditional product development industry.&lt;br /&gt;&lt;br /&gt;Anyway, these are mainly the opinion of mine as a young software engineer as I begin probably a life-long journey in the software industry and may not necessary represent those that are veteran in the industry. I'll probably write more on this in the future. Until then here's some interesting reading about Linux vs. Windows &lt;a href="http://linux.oneandoneis2.org/LNW.htm"&gt;http://linux.oneandoneis2.org/LNW.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8797351296568441990?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8797351296568441990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8797351296568441990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8797351296568441990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8797351296568441990'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/07/economics-of-open-source.html' title='The Economics of open source'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-241412830445157996</id><published>2007-06-26T06:34:00.000-07:00</published><updated>2007-08-21T08:27:39.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Moonlight: Silverlight for Linux/Mono</title><content type='html'>I just found out that the guys at Mono has hacked up a version of Linux clone of  Microsoft's Silverlight that was just release a couple of months ago. They called it &lt;a href="http://www.mono-project.com/Moonlight"&gt;moonlight&lt;/a&gt;.&lt;br /&gt;Another interesting fact is that the it was done in just 21 days of intensive &lt;a href="http://tirania.org/blog/archive/2007/Jun-21.html"&gt;hack-a-thon&lt;/a&gt;!&lt;br /&gt;Working on a project that uses.NET Framework 3.0, I find that the XAML and WPF is pretty interesting technology for GUI as it allows "declarative programming" where UI design is separated from coding. While some may argue that Qt's ui files and GTK's Glade already offers such capability, XAML seems more easily readable and could be manually edited with notepad to create pretty powerful effects without a designer tool.&lt;br /&gt;It would be interesting to monitor the progress of this project and also the future of Silverlight, if it will revolutionize the Web as claimed by Microsoft.&lt;br /&gt;Another interesting component in .NET Framework 3.0 that I would really like to see on Linux is Windows Cardspace which provides a new approach to identification and authentication beyond the current widely used yet weak username/passwords because hey, I always forget my passwords for website that I frequent less often. Currently, I depend on password saving tools in Firefox, KDE Wallet but they aren't prefect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-241412830445157996?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/241412830445157996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=241412830445157996' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/241412830445157996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/241412830445157996'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/06/moonlight-silverlight-for-linuxmono.html' title='Moonlight: Silverlight for Linux/Mono'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-3406714593093585396</id><published>2007-06-02T20:27:00.000-07:00</published><updated>2007-08-21T08:26:17.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Kill the creeps on your desktop!</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_G5n7x-E1CiI/RmI6skKyZGI/AAAAAAAAAAc/R_cUVWb7GvQ/s1600-h/desktopTD.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_G5n7x-E1CiI/RmI6skKyZGI/AAAAAAAAAAc/R_cUVWb7GvQ/s320/desktopTD.JPG" alt="" id="BLOGGER_PHOTO_ID_5071680667670176866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My colleague recently introduced me to a little flash game call &lt;a href="http://www.handdrawngames.com/DesktopTD"&gt;Desktop Tower Defence&lt;/a&gt;. At first look, it seems to be a pretty simple game. Just place the defence towers and shoot down the creepy little creatures that tries to travel across the desktop area. After one round, I got hooked. If you just google for Desktop Tower Defence, you will realize how many people got addicted over this simple flash game. Usually, I'll just pass after playing most online flash games for 10-15 minutes but this got me hooked for hours and hours for days! It is challenging, fun and somewhat stress relieving! Try it out. After one week, I have finally completed the Hard level with 4689 points!&lt;br /&gt;Hint: Be familiar with the keyboard shortcuts in the instruction section. You will need it when action heats up!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-3406714593093585396?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/3406714593093585396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=3406714593093585396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/3406714593093585396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/3406714593093585396'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/06/kill-creeps-on-your-desktop.html' title='Kill the creeps on your desktop!'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_G5n7x-E1CiI/RmI6skKyZGI/AAAAAAAAAAc/R_cUVWb7GvQ/s72-c/desktopTD.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-3693254429048208103</id><published>2007-05-05T20:11:00.000-07:00</published><updated>2007-08-21T08:29:09.089-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Journey to Kubuntu 7.04 Feisty Fawn</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_G5n7x-E1CiI/Rj1NcmyzoqI/AAAAAAAAAAM/VZggUBg9eM4/s1600-h/snapshot1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_G5n7x-E1CiI/Rj1NcmyzoqI/AAAAAAAAAAM/VZggUBg9eM4/s320/snapshot1.png" alt="" id="BLOGGER_PHOTO_ID_5061286710079627938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finally I have installed Kubuntu Feisty Fawn!&lt;br /&gt;But I have to admit that the journey was not exactly smooth.&lt;br /&gt;&lt;br /&gt;Initially, as I do not have a really reliable connection, I have downloaded the Alternate CD and tried to execute the cdromupgrade script. However, I found that it needs gksu which it not installed. Trying to cheat it. I changed that to kdesu and it successfully launched the Distribution Upgrade tool, but quickly failed due to a bug I discovered in DistUpgradeViewKDE.py and I submitted a &lt;a href="https://wiki.ubuntu.com/Mirrors?action=show&amp;redirect=Archive"&gt;bug report&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next, I tried a new attempt using the new Kubuntu Distribution upgrade tool as described &lt;a href="http://kubuntu.org/announcements/7.04-release.php#upgrade"&gt;here&lt;/a&gt;. But it failed during the "Modifying Software Channels" stage due to some gzip error.&lt;br /&gt;&lt;br /&gt;After some googling, I found that I could modify the /etc/apt/source.list to point to mirrors instead of the official source at http://archive.ubuntu.com/ubuntu/. To my disappointment, there are no mirrors in Malaysia. So I looked for mirrors in Asia. As I thought Thailand would be the closest neighbor, I changed all references to http://archive.ubuntu.com/ubuntu to http://mirror.in.th/ubuntu/archive/. Download speed was reasonably OK... about 60KBps but failed when installing a package called ttf-bengali-fonts and installation stalled after that. I closed the Distribution Upgrade tool and restarted the system to try again. But to my horror, Kubuntu failed to boot!&lt;br /&gt;&lt;br /&gt;Luckily, I have a backup of the primary Kubuntu partition using Clonezilla tool. This time, I found this &lt;a href="https://launchpad.net/ubuntu/+archivemirrors"&gt;Official Archive Mirrors&lt;/a&gt; page to be better that the &lt;a href="https://wiki.ubuntu.com/Mirrors?action=show&amp;amp;redirect=Archive"&gt;Ubuntu Wiki Mirrors&lt;/a&gt; page that is linked from Ubuntu download page. After a bit of testing using ping, tracepath and also download a small 1MB file. I discovered that Korea's KAIST is the fastest. Hence, I replaced all http://archive.ubuntu.com/ubuntu in /etc/apt/source.list to http://kr.archive.ubuntu.com/ubuntu/ and I tried to launch the Distribution Upgrade tool using Adept again. But the error happened again when installing ttf-bengali-fonts. But this time, I tried an advice from ubuntu forums by trying executing a "sudo dpkg-reconfigure -a" then followed by "sudo aptitude upgrade" before restarting. With my fingers crossed, Kubuntu Feisty was launched successfully! Yay!&lt;br /&gt;&lt;br /&gt;After some testing around, everything seems fine. A quick check on the used space on the partition shows that it is about 3.7GB. Then I remembered that there was a final stage on the Distribution Upgrade tool for clean up. After a bit of browsing around the filesystem, I found that /var/cache/apt/archive has taken up 1GB. To clean that up, I did a "sudo apt-get clean" and that clears up the download packages and leaves me with 2.6GB of used space.&lt;br /&gt;&lt;br /&gt;So, as you see, the journey was not too smooth but it works!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-3693254429048208103?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/3693254429048208103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=3693254429048208103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/3693254429048208103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/3693254429048208103'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/05/journey-to-kubuntu-704-feisty-fawn.html' title='Journey to Kubuntu 7.04 Feisty Fawn'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_G5n7x-E1CiI/Rj1NcmyzoqI/AAAAAAAAAAM/VZggUBg9eM4/s72-c/snapshot1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-4706917768302639772</id><published>2007-04-14T20:50:00.000-07:00</published><updated>2007-08-21T08:25:41.624-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bittorrent'/><title type='text'>KTorrent rediscovered and it ROCKS!</title><content type='html'>I have just rediscovered KTorrent and I find it as a great alternative compared to more mainstream Bittorrent clients. Previously, I was using Azureus as it is feature packed and portable. I have been using it for a couple of years when Windows was still my primay OS and Linux was mainly for fun. It has  I have tried KTorrent earlier but it was not stable has less features.&lt;br /&gt;&lt;br /&gt;After installing Kubuntu, I tried to reinstall Azureus and it worked with gcj/gij implementation of JAVA but it was somewhat slow and unreliable. But I was a little lazy to download real Java runtime from Sun. So I decided to try the KTorrent that is part of default installtion. It is KTorrent 2.1 and 10 minutes later... I loved it. It has all the feature that I need from a Bittorrent client such as:&lt;br /&gt;&lt;li&gt;PeerGuardian IP blocking&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Protocol Encryption&lt;/li&gt;&lt;br /&gt;&lt;li&gt;DHT, which is compatible with mainline version&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Web UI&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and it's UI is more responsive that Azureus&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, if you are using KDE, try it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-4706917768302639772?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/4706917768302639772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=4706917768302639772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/4706917768302639772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/4706917768302639772'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/04/ktorrent-rediscovered-and-it-rocks.html' title='KTorrent rediscovered and it ROCKS!'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-7850646126247659</id><published>2007-04-14T19:58:00.000-07:00</published><updated>2007-08-21T08:28:20.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='harddisk'/><category scheme='http://www.blogger.com/atom/ns#' term='upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='temperature'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>New Western Digital Caviar SE 250GB EIDE harddisk and Kubuntu Edgy</title><content type='html'>I have just bought a new Caviar SE 250GB EIDE harddisk. I am quite satisfied with it. It run quite and cool just as advertised at it's &lt;a href="http://www.wdc.com/en/products/products.asp?driveid=42&amp;amp;language=en"&gt;website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;hddtemp shows 34°C when it is under light loading while my room temperature is 30°C:&lt;br /&gt;&lt;pre&gt;$ hddtemp /dev/hda&lt;br /&gt;/dev/hda: WDC WD2500JB-55REA0:  34°C&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It is currently cooled with a standard 5cm case fan. Even without the fan it seldom reaches 40°C.&lt;br /&gt;&lt;br /&gt;Anyway, these are some performance numbers which is pretty average and definitely nothing near high performance drives like those 10,000 rpm Raptors&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ sudo hdparm -t /dev/sda&lt;br /&gt;&lt;br /&gt;/dev/sda:&lt;br /&gt;Timing buffered disk reads:  174 MB in  3.03 seconds =  57.48 MB/sec&lt;br /&gt;$ sudo hdparm -T /dev/sda&lt;br /&gt;&lt;br /&gt;/dev/sda:&lt;br /&gt;Timing cached reads:   1172 MB in  2.00 seconds = 585.58 MB/sec&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;BTW, I have now switch to Kubuntu (yeap, I prefer KDE compared to gnome). I have been using many different distros in the past from Red Hat 4.2, Mandrake, Red Hat 9.1, openSUSE 10.0, then SUSE 10.1. All of them are uses Red Hat/RPM based package management. This is the first time I actually used a Debian-based distro. I have to say that I am pretty happy with its apt-get style of package management. It is quick and easy. To install hddtemp, I just typed:&lt;br /&gt;&lt;pre&gt;$ sudo apt-get install hddtemp&lt;/pre&gt;&lt;br /&gt;and in a few seconds.... done. SUSE 10.1's zenworks is one of the things in sometimes pissed me off because it crashes as I mentioned in an earlier post and it is SLOW! it takes ages to load YaST especially when a new repository was added. I have read that openSUSE 10.2 has kinda fixed that but I was a little lazy to download the 5 CDs or DVD image.&lt;br /&gt;&lt;br /&gt;Kubuntu is simple, just one CD installation. Compared to SUSE, the default installation package is somewhat minimal. My girlfriend complained that it doesn't have any default games installed(she likes the &lt;a href="http://www.nongnu.org/enigma/"&gt;Enigma&lt;/a&gt; game and even downloaded the Windows port for her laptop). However, the APT package management make installing additional software a breeze.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-7850646126247659?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/7850646126247659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=7850646126247659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/7850646126247659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/7850646126247659'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/04/new-western-digital-caviar-se-250gb.html' title='New Western Digital Caviar SE 250GB EIDE harddisk and Kubuntu Edgy'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8328772010601206677</id><published>2007-04-01T14:06:00.000-07:00</published><updated>2007-08-21T08:25:04.711-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='harddisk'/><category scheme='http://www.blogger.com/atom/ns#' term='temperature'/><title type='text'>KEEP YOUR HARDDRIVES COOL!</title><content type='html'>Arg! There are dozens of bad blocks in my root partition and it does not boot properly anymore. It is a Maxtor 80GB HDD about 3 years old. This is the first time I had such a serious problem in my 12 years of experience with computers. I have help many people troubleshoot their computers with bad sectors in the past but this is the first time it happens to me! I have always kept my harddrives cool with a cooling fan.&lt;br /&gt;&lt;br /&gt;Well, this Maxtor drive is not really mine, it was my girlfriend's. Last year, I bought a 160GB drive as I needed a new drive for Linux as my old 4.3GB is aging and getting slower but still no bad sectors! And, since I don't really need so much space while my girlfriend always complain that she does not have enough diskspace, so we swapped. She has a laptop and the 3.5" 80GB HDD is in an external USB/IDE enclosure that was not too well ventilated compared to my other older 40GB drive that is still running well.&lt;br /&gt;&lt;br /&gt;Therefore, the lesson learnt is: KEEP YOUR HARDDRIVES COOL!&lt;br /&gt;&lt;br /&gt;Anyway, this site has pretty good description on handling bad blocks for ReiserFS: &lt;a href="http://www.namesys.com/bad-block-handling.html"&gt;http://www.namesys.com/bad-block-handling.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8328772010601206677?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8328772010601206677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8328772010601206677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8328772010601206677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8328772010601206677'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/04/keep-your-harddrives-cool.html' title='KEEP YOUR HARDDRIVES COOL!'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8960756843973090182</id><published>2007-03-04T09:37:00.000-08:00</published><updated>2007-08-21T08:22:10.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><title type='text'>openSUSE zen-updater crashes</title><content type='html'>Today is the 2nd time I have encountered zen-updater crashes that shows the "Unhandled exception" dialog.&lt;br /&gt;After a little googling, I found the solution here &lt;a href="http://en.opensuse.org/Using_zen-updater#Why_zen-updater_crashes"&gt;http://en.opensuse.org/Using_zen-updater#Why_zen-updater_crashes&lt;/a&gt;&lt;br /&gt;Basically, it says that the zenworks database is corrupted and one way to fix it is to:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;kill the zmd and zen-updater processes&lt;/li&gt;&lt;li&gt;delete the database at /var/lib/zmd/zmd.db&lt;/li&gt;&lt;li&gt;restart zenworks and zen-updater.&lt;/li&gt;&lt;/ol&gt;For more details, please refer to the link above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8960756843973090182?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8960756843973090182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8960756843973090182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8960756843973090182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8960756843973090182'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/03/opensuse-zen-updater-crashes.html' title='openSUSE zen-updater crashes'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8424871399647469170</id><published>2007-01-14T08:12:00.000-08:00</published><updated>2007-08-21T08:07:58.017-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fan'/><title type='text'>It's a monster and it's a 12cm, 12V DC Fan!</title><content type='html'>I have just got a 12cm fan from my company's scrap parts. It is a poweful fan that I have just installed in computer. To do that I know a Dremel would be a great tool for case mod like this but I don't have one. Using a hacksaw, a plier and a set of files, I was able to cut a hole at the top of the casing and installed the fan. It wasn't great, but it works.&lt;br /&gt;&lt;br /&gt;I can't post any picture yet as I don't have a camera with me now and my camera phone was stolen :(&lt;br /&gt;&lt;br /&gt;Because the fan is so powerful, when it is powered at full speed, it will suck so much air out of the casing that it interrupted the air flow into the PSU. Therefore, I'll need to build a PWM controller circuit to control the fan speed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8424871399647469170?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8424871399647469170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8424871399647469170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8424871399647469170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8424871399647469170'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/01/its-monster-and-its-12cm-12v-dc-fan.html' title='It&apos;s a monster and it&apos;s a 12cm, 12V DC Fan!'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-8620176347265581443</id><published>2007-01-03T15:02:00.000-08:00</published><updated>2007-08-21T08:05:28.844-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='FlashPlayer'/><title type='text'>Adobe Flash Player 9 beta for Firefox/Linux</title><content type='html'>If you are getting fustrated that you are still using Flash Player 7 in Linux and many sites are started to require minimum version 8 or 9, you can try using the Flash Player 9 beta.&lt;br /&gt;The following are the few simple steps I took to update mine:&lt;br /&gt;1. Download the player from Adobe Labs: &lt;a href="http://labs.adobe.com/downloads/flashplayer9.html"&gt;http://labs.adobe.com/downloads/flashplayer9.html&lt;/a&gt;&lt;br /&gt;2. Extract the GZip file which will contain 2 files: readme.txt and libflashplayer.so&lt;br /&gt;3. Following the instruction in readme.txt. For my SuSE 10.1, I just copy the libflashplayer.so to /usr/lib/firefox/plugins which of course requires root login.&lt;br /&gt;&lt;br /&gt;After that, most of the sites that require Flash Player 9 seems to work pretty well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: Linux Flashplayer 9 is now release, go to &lt;a href="http://www.adobe.com/go/gntray_dl_getflashplayer"&gt;http://www.adobe.com/go/gntray_dl_getflashplayer&lt;/a&gt; instead!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-8620176347265581443?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/8620176347265581443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=8620176347265581443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8620176347265581443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/8620176347265581443'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2007/01/adobe-flash-player-9-beta-for.html' title='Adobe Flash Player 9 beta for Firefox/Linux'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-6765360865585240205</id><published>2006-12-30T19:25:00.000-08:00</published><updated>2006-12-30T19:27:40.587-08:00</updated><title type='text'>Last day of 2006 - First Blog Entry</title><content type='html'>&lt;span class="text"&gt;&lt;span&gt;&lt;span style="color:#006666;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Hello.. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;After so many years connected to the Internet and receive so much valuable info from the generous internet communities sharing and posting stuffs on websites, I guess this is one of my new year resolution is to be able to share some of my stuffs for everyone. Blogging seems to be an attractive alternative to creating my own website due to the simplicity. I used to have a homepage titled dreamMING of Fusion at http://fusiondream.8m.com where I post some of the codes and images I made but it has been deleted by &lt;/span&gt;&lt;a style="font-family: Arial,Helvetica,sans-serif;" href="http://www.freeservers.com"&gt;freeservers&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; due to lack of update &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;So I guess blogging would be an easier choice.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyway.. HAPPY NEW YEAR!&lt;/span&gt;&lt;/span&gt;&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/825227734527676377-6765360865585240205?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/6765360865585240205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=6765360865585240205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6765360865585240205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/6765360865585240205'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2006/12/last-day-of-2006-first-blog-entry.html' title='Last day of 2006 - First Blog Entry'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-825227734527676377.post-5932765504734478721</id><published>2006-03-18T00:47:00.000-08:00</published><updated>2010-01-18T07:39:38.026-08:00</updated><title type='text'>a new start for dreamMING of Fusion</title><content type='html'>okay... i do not know why i started this blog..&lt;br /&gt;probably it can be seen as a continuation from my no-longer-exist homepage &lt;a href="http://fusiondream.8m.com"&gt;http://fusiondream.8m.com/&lt;/a&gt; due to lack up update.. they deleted my site :(&lt;br /&gt;i will probably create a theme to what i will post in this blog but for now, it will probably contain some random babbling :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/825227734527676377-5932765504734478721?l=sonofusion82.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sonofusion82.blogspot.com/feeds/5932765504734478721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=825227734527676377&amp;postID=5932765504734478721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/5932765504734478721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/825227734527676377/posts/default/5932765504734478721'/><link rel='alternate' type='text/html' href='http://sonofusion82.blogspot.com/2006/03/new-start-for-dreamming-of-fusion.html' title='a new start for dreamMING of Fusion'/><author><name>sonofusion82</name><uri>http://www.blogger.com/profile/00485107543380065465</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
