<?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-5964008201936624679</id><updated>2012-01-29T12:24:44.647+07:00</updated><category term='Parallel Processing'/><category term='Algorithm'/><category term='Unix/Linux Shell Automation'/><category term='Network Architecture'/><category term='Linux Tips Hacks and Guides'/><category term='Misc.'/><category term='BIOS Disassembly Ninjutsu Uncovered'/><category term='Software Development'/><category term='Google Summer of Code'/><title type='text'>An Endless Xploration..</title><subtitle type='html'>..to be more human every single day in this hopefully meaningful life...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://darmawan-salihun.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>96</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6547483394514392149</id><published>2012-01-29T12:20:00.000+07:00</published><updated>2012-01-29T12:24:44.728+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Opting Out Google Ad Tracking</title><summary type='text'>If you've been following the new Google Privacy policy, you must have known about the Ad Tracking. That is, Google will "track" your browsing habits and present you with personalized result on various Google services that you use. If you think that you don't want to be tracked, you can opt-out. These are the steps:



Go to Google Dashboard (https://www.google.com/dashboard/)
Sign in to your </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6547483394514392149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6547483394514392149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6547483394514392149'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2012/01/opting-out-google-ad-tracking.html' title='Opting Out Google Ad Tracking'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-557651986830475695</id><published>2012-01-16T23:33:00.001+07:00</published><updated>2012-01-16T23:33:08.812+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>How to Recognize The Documentation That You Wrote Has Gone Too Deply Nested?</title><summary type='text'>
One of the way to recognize that you have gone too far "nesting" your documentation section. For example, if you have gone to make section v.w.x.y, that means you're now four levels deep. Four levels are already too deep because human brain are not naturally able to remember something with "nesting-level" more than that.


When your nesting has gone too deep, consider creating a new "chapter" </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=557651986830475695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/557651986830475695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/557651986830475695'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2012/01/how-to-recognize-documentation-that-you.html' title='How to Recognize The Documentation That You Wrote Has Gone Too Deply Nested?'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-991044906344582252</id><published>2012-01-14T19:51:00.000+07:00</published><updated>2012-01-14T19:51:49.257+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Intel Atom Finally Arrived in Smartphone (x86 malware finally enters the phone)</title><summary type='text'>
Well, as Anand points out: http://www.anandtech.com/show/5365/intels-medfield-atom-z2460-arrive-for-smartphones. Intel Atom smartphone will finally arrive this year. 


I'm not that much concerned about its performance but I'm really concerned with the "malware legacy" that the platform has. x86, due to its prevalence has been the playing ground for malware "craftsmen" for years. So, when it </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=991044906344582252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/991044906344582252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/991044906344582252'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2012/01/intel-atom-finally-arrived-in.html' title='Intel Atom Finally Arrived in Smartphone (x86 malware finally enters the phone)'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-7804762914646544684</id><published>2012-01-13T23:13:00.000+07:00</published><updated>2012-01-13T23:13:22.698+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Modifying Trac User Privilege into Trac Admin</title><summary type='text'>
The basics to modify Trac user privilege into Trac admin is explained in detail here: http://trac.edgewall.org/wiki/TracPermissions. 


Why would you want to do that? I found an excuse to do just that because I prefer to make changes to milestones, tickets, etc. via the Trac web interface instead of via command line. Now, let's see what you need to do to change a "normal" user login into a trac </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=7804762914646544684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7804762914646544684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7804762914646544684'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2012/01/modifying-trac-user-privilege-into-trac.html' title='Modifying Trac User Privilege into Trac Admin'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4534793010744490630</id><published>2011-11-12T02:29:00.001+07:00</published><updated>2011-11-12T02:31:29.694+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Automated Source Code Verification</title><summary type='text'>I haven't been aware of automated source code verification tool prior to reading http://graphics.stanford.edu/~seander/bithacks.html. There, I found that a freely available source code verification tool is in fact exists: http://www-2.cs.cmu.edu/~uclid/. This would improve my ability in finding security bugs in my code :-).</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4534793010744490630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4534793010744490630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4534793010744490630'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/11/automated-source-code-verification.html' title='Automated Source Code Verification'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3511563653983137963</id><published>2011-11-10T03:34:00.000+07:00</published><updated>2011-11-10T03:34:10.042+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Productive Reading vs Consumptive Reading</title><summary type='text'>
After being on the "consumptive reading" side (without being aware) for a couple of months I realized that there are actually two types of reading habit which I have to be always aware of in order to avoid wasting my time on not so important things. They are consumptive reading and productive reading. 


I defined consumptive reading  as reading information which has no immediate benefit outside</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3511563653983137963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3511563653983137963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3511563653983137963'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/11/productive-reading-vs-consumptive.html' title='Productive Reading vs Consumptive Reading'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3770684523214232014</id><published>2011-11-03T04:35:00.001+07:00</published><updated>2011-11-03T04:36:21.575+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Algorithm'/><title type='text'>Open Question on DJBX33A Hash Function</title><summary type='text'>Where did Daniel J. Bernstein obtain his 33 constant in the DJBX33A hash function?
As we know the DJBX33A (Daniel J. Bernstein "Times 33 Addition") algorithm works like this: 

hash_t bernstein_hash(const unsigned char *key)
{
 hash_t h=0;
 while(*key) h=33*h + *key++;
 return h;
}

[Code snippet courtesy of http://en.literateprograms.org/Hash_function_comparison_(C,_sh)]. I wonder if the value </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3770684523214232014' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3770684523214232014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3770684523214232014'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/11/open-question-on-djbx33a-hash-function.html' title='Open Question on DJBX33A Hash Function'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-8918745015479000573</id><published>2011-10-19T19:37:00.000+07:00</published><updated>2011-10-19T19:43:35.365+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Gmail Binary File Attachment Bug and Its Fix</title><summary type='text'>If you're attaching a binary file to an email bound to a Gmail account or 
if you're attaching a binary file to an email outgoing from a Gmail account, 
be very careful. If your binary file contains the 0Dh, 0Ah byte sequence, 
Gmail very probably would treat it as text attachment instead of binary attachment
which will result in Gmail truncating/deleting the 0Dh byte.
 


This is bug really </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=8918745015479000573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8918745015479000573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8918745015479000573'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/10/gmail-attachment-bug-and-its-fix.html' title='Gmail Binary File Attachment Bug and Its Fix'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1454349255482275379</id><published>2011-08-30T18:06:00.002+07:00</published><updated>2011-08-30T18:28:51.941+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Idul Fitri, Astronomi dan Navigasi</title><summary type='text'>Untuk sesaat mari kita kesampingkan masalah penentuan 1 Syawal tahun ini dan merunut kembali pendekatan "logis" perhitungan penanggalan Hijriyah dan sejarahnya. Penanggalan Hijriyah adalah "lunar calendar". Artinya penanggalan berdasarkan posisi bulan terhadap pengamat di bumi. Mengapa bulan diambil sebagai patokan perhitungan waktu? Alasannya sederhana, karena posisi bulan relatif mudah di amati</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1454349255482275379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1454349255482275379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1454349255482275379'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/08/idul-fitri-astronomi-dan-navigasi.html' title='Idul Fitri, Astronomi dan Navigasi'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5293496252298759056</id><published>2011-08-28T19:10:00.002+07:00</published><updated>2011-08-28T19:18:30.813+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>How to use Google Patent search</title><summary type='text'>Google patent search (http://www.google.com/patents) is a very valuable search tool. Sometimes it helps reverse engineering task. I found this method particularly useful: 1. Search based on the specific subject. It doesn't matter if the patent application document that you found is not yet correct because usually patents covering stuff in a very specific subject refers to each other by patent</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5293496252298759056' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5293496252298759056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5293496252298759056'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/08/how-to-use-google-patent-search.html' title='How to use Google Patent search'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1536063473330159716</id><published>2011-08-15T02:00:00.003+07:00</published><updated>2011-08-15T02:10:48.020+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Microsoft VC++, C99 Standard and __func__ Macro</title><summary type='text'>Apparently, even VC++ 2010 included in Visual Studio 2010 still adheres only to part of the C99 standard. This is really irritating because you have to define different macros if you are debugging your function with the C99 __func__ "predefined" macro. The list of supported ANSI macros in Visual Studio 2010 can be found at http://msdn.microsoft.com/en-us/library/b0084kay%28v=VS.100%29.aspx. </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1536063473330159716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1536063473330159716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1536063473330159716'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/08/microsoft-vc-c99-standard-and-func.html' title='Microsoft VC++, C99 Standard and __func__ Macro'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3245808720568048202</id><published>2011-08-13T22:43:00.000+07:00</published><updated>2011-08-13T22:54:17.345+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>IDA Pro GUI Plugin "Trivial" Bug</title><summary type='text'>If you are using IDA Pro (probably version &gt; 5.4) plugin template to develop a GUI-based plugin, you'll probably encounter this bug: The GUI of the plugin suddenly vanish after the plugin activated (run() function invoked)This "trivial" bug manifests if you don't change the default value of the plugin flags in the plugin_t structure. The default value for the plugin flags is PLUGIN_UNL which </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3245808720568048202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3245808720568048202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3245808720568048202'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/08/ida-pro-gui-plugin-trivial-bug.html' title='IDA Pro GUI Plugin &quot;Trivial&quot; Bug'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-2340178890583783851</id><published>2011-08-08T12:31:00.002+07:00</published><updated>2011-08-08T12:41:33.527+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Qemu CPU Freeze Bug in Slackware 13 x86_64</title><summary type='text'>So, I have this requirement to debug BIOS in Qemu, so I need to "freeze" the CPU on Qemu in the very first instruction. I've tried using Qemu version 0.9.x, 0.12.x and 0.13.x in Slackware 13 x86_64, passing the "-s -S" (without quote) as qemu parameter but none of them worked. In frustration, I tried version 0.14.1 and it finally worked as expected. The following is a modified slackbuild script (</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=2340178890583783851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2340178890583783851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2340178890583783851'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/08/qemu-cpu-freeze-bug-in-slackware-13.html' title='Qemu CPU Freeze Bug in Slackware 13 x86_64'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3833580793285709253</id><published>2011-08-05T22:25:00.003+07:00</published><updated>2011-08-05T22:33:40.567+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Hydrogen Peroxide Use in Medical and Rocketry Applications</title><summary type='text'>So, what this Hydrogen Peroxide have to do with programming? Well, nothing actually. At least nothing directly related. It's just I can't keep this thing in my mind so it's better to write it out. I went to a doctor to treat my wound and I found out that he used H2O2 (Hydrogen Peroxide) to clean the wound. I found it rather surprising because I didn't know H2O2 is also used as "cleaning agent" in</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3833580793285709253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3833580793285709253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3833580793285709253'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/08/hydrogen-peroxide-use-in-medical-and.html' title='Hydrogen Peroxide Use in Medical and Rocketry Applications'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5519945413637801804</id><published>2011-08-05T03:57:00.004+07:00</published><updated>2011-08-05T04:05:08.372+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Building Qemu 0.12.3 for Slackware 13 x86_64</title><summary type='text'>The Qemu package slackbuild file from slackbuilds.org ( http://slackbuilds.org/repository/13.0/system/qemu/) by default compiles for x86 (i486) target. This will cause a build error on Slackware 13.0 x86_64 systems. In order to build the package from the source, you have to change the target in the slackbuild file to: ...ARCH=${ARCH:-x86_64}...This way the package build should be successful in </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5519945413637801804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5519945413637801804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5519945413637801804'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/08/building-qemu-0123-for-slackware-13.html' title='Building Qemu 0.12.3 for Slackware 13 x86_64'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4714463226818724286</id><published>2011-07-31T12:57:00.003+07:00</published><updated>2011-07-31T13:07:10.222+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Unusual way to learn Compiler Design</title><summary type='text'>Compiler design is probably a rather boring subject without a real-life example. However, it's a very important subject in the field of reverse code engineering. How to learn it in an entertaining way? well, if you haven't read The Art of Disassembly, then you should read it now. You can download it from many places on the net, for example:The Art of Disasembly Chapter 2 in the book specifically </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4714463226818724286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4714463226818724286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4714463226818724286'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/07/unusual-way-to-learn-compiler-design.html' title='Unusual way to learn Compiler Design'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4992924008639781149</id><published>2011-07-24T21:27:00.009+07:00</published><updated>2011-07-24T21:44:47.606+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>_CRT_SECURE_NO_WARNINGS Error Message in Visual Studio 2010 (VC++)</title><summary type='text'>Using "legacy"/"unsecure" I/O functions in Visual Studio 2010 would trigger error similar to this: 1&gt;emufuncs.cpp(672): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.1&gt;          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(234) : see </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4992924008639781149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4992924008639781149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4992924008639781149'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/07/crtsecurenowarnings-error-message-in.html' title='_CRT_SECURE_NO_WARNINGS Error Message in Visual Studio 2010 (VC++)'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5324809844254259330</id><published>2011-06-05T22:41:00.006+07:00</published><updated>2011-06-05T22:51:51.104+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Visual Studio 2010 Code Editor Bug (Applies to C++ Code Editing)</title><summary type='text'>Visual Studio 2010 Code Editor has stability issues in several platforms (mine is Windows 2008 Server SP2 - x86) as described here. In that description, the guy was having a slow response in IntelliSense. Unfortunately for me, I was not only experiencing the lag, but also frequent crashes which was very irritating. The cause is a dependency on Windows Automation API. The Bug Fix can be downloaded</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5324809844254259330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5324809844254259330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5324809844254259330'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/06/visual-studio-2010-code-editor-bug.html' title='Visual Studio 2010 Code Editor Bug (Applies to C++ Code Editing)'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4866802546212337287</id><published>2011-03-07T18:10:00.004+07:00</published><updated>2011-03-07T18:18:41.107+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Developing Software for Embedded Systems</title><summary type='text'>Developing software for embedded system is particularly challenging. Therefore you have to make sure: 1. You know how to get debugging messages out of the system during development. Otherwise countless nightmare will wait for you. 2. Always place a "failsafe" code inside your brand new code so that the system would always recover to a point where you would be able to restore the system back to </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4866802546212337287' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4866802546212337287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4866802546212337287'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2011/03/developing-software-for-embedded.html' title='Developing Software for Embedded Systems'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1749995911022236338</id><published>2010-10-23T05:50:00.003+07:00</published><updated>2010-10-24T04:00:47.928+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Samsung Galaxy 5 USB Tethering in Slackware64 Linux with Pppd</title><summary type='text'>Samsung Galaxy 5 (Android 2.1 Eclair) is different from other Android phone in the Galaxy lines of products. It doesn't act like a router by default like its more capable brethren, the Samsung Galaxy S. The problem with setting up this device in Linux is just like the Nokia E61 that I elaborated here a few years ago. That is: it has a vendor-specific AT command set to set up the device as a modem</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1749995911022236338' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1749995911022236338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1749995911022236338'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/10/using-samsung-galaxy-5-android-21.html' title='Samsung Galaxy 5 USB Tethering in Slackware64 Linux with Pppd'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-320468380505880073</id><published>2010-07-08T00:33:00.005+07:00</published><updated>2010-07-08T01:01:17.301+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>GNU Autotools Problems and Fixes</title><summary type='text'>In the course of modifying an opensource source code recently, I found out that some GNU autotools (particularly automake and autoconf) "constructs" can cause compatibility problems. I'll explain two of them below.First, the AC_CONFIG_HEADER construct. Some macro extensions to the default Automake/Autoconf constructs uses the old AC_CONFIG_HEADER construct which has been superseded by </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=320468380505880073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/320468380505880073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/320468380505880073'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/07/gnu-autotools-problems-and-fixes.html' title='GNU Autotools Problems and Fixes'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5434206919676716655</id><published>2010-06-21T16:08:00.005+07:00</published><updated>2010-06-21T16:16:44.724+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Combining GNU Autotools with Qt to One Build System</title><summary type='text'>As you have probably aware, when you have a project that uses GNU Autotools (autoconf, automake, libtool) and Qt, there are two different build systems in use. First is the GNU autotools build system and the second is the Qt build system (Qmake, etc.). The weakness of using two independent build system probably is not too obvious. However, when you start trying to build the whole project outside </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5434206919676716655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5434206919676716655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5434206919676716655'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/06/combining-gnu-autotools-with-qt-to-one.html' title='Combining GNU Autotools with Qt to One Build System'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1617567065095515859</id><published>2010-06-09T17:45:00.003+07:00</published><updated>2010-07-08T01:01:53.596+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Building Qt Application on 64-bit Multilib Systems</title><summary type='text'>Some Qt application cannot build correctly on 64-bit multilib systems by default. For example, the Italc application (http://italc.sf.net). The problem is, the default search path for Qt library usually set to the 32-bit qt library whereas the default C++ (GNU g++) compiler is 64 bit one. To force the application build process to use the 64-bit Qt library, you must set the QTDIR environment </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1617567065095515859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1617567065095515859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1617567065095515859'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/06/building-qt-application-on-64-bit.html' title='Building Qt Application on 64-bit Multilib Systems'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-72226566882964135</id><published>2010-05-17T16:00:00.002+07:00</published><updated>2010-05-17T16:05:41.411+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>ICQ behind a proxy with pidgin</title><summary type='text'>Using your ICQ account with Pidgin in network behind a HTTP proxy is not a straight forward matter. These are the settings which you should change on your ICQ account settings in Pidgin: 1. Change the Port in the Account|Modify Account|Advanced tab for the login.messaging.aol.com server from 5190 to 443. 2. Go to Account|Modify Account|Proxy tab and enter the correct host and port for your HTTP </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=72226566882964135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/72226566882964135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/72226566882964135'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/05/icq-behind-proxy-with-pidgin.html' title='ICQ behind a proxy with pidgin'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5368376836061041707</id><published>2010-05-17T14:39:00.003+07:00</published><updated>2010-05-17T14:56:17.116+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Fixing Slackware64 Console Video Mode Bug</title><summary type='text'>I have just finished installing my machine (Athlon64 X2 4000+, 2GB RAM, ATI RS690G motherboard) when I found that the console went blank after logging-out from X. It takes me a couple of hours to figure out what's wrong because the console is just fine prior to starting the X server. After playing around with LILO, I found out that the it's the video mode that causes the bug. My LCD display </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5368376836061041707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5368376836061041707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5368376836061041707'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/05/fixing-slackware64-console-video-mode.html' title='Fixing Slackware64 Console Video Mode Bug'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5538347202063409556</id><published>2010-05-02T20:14:00.002+07:00</published><updated>2010-05-02T20:26:18.885+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>The Potential of Underclocking</title><summary type='text'>This article from Xbitlabs which describes a detail about AMD Socket AM3 mini-ITX platform highlights the importance of underclocking the CPU in certain circumstances. I didn't realize the benefits of underclocking previously. However, it's now clear that the reduced power consumption and heat obtained from underclocking opens new opportunity for several constrained systems. For example, for </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5538347202063409556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5538347202063409556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5538347202063409556'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/05/potential-of-underclocking.html' title='The Potential of Underclocking'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5074449976852860757</id><published>2010-05-02T17:55:00.003+07:00</published><updated>2010-05-02T19:03:50.426+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Algorithm'/><title type='text'>Adaptive Huffman FGK Algorithm Musing</title><summary type='text'>A short test of the FGK adaptive Huffman algorithm described in J.S. Vitter's paper reveals that the single pass compression algorithm described in the paper (http://www.cs.duke.edu/~jsv/Papers/Vit87.jacmACMversion.pdf) doesn't update the frequency value in the root of the tree. However, it's not that important because what we need from the tree is only the encoding for every leaf in the tree, </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5074449976852860757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5074449976852860757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5074449976852860757'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/05/adaptive-huffman-fgk-algorithm-musing.html' title='Adaptive Huffman FGK Algorithm Musing'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1678472641778832039</id><published>2010-03-19T04:23:00.002+07:00</published><updated>2010-05-02T19:04:08.966+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Fooling around with Ioquake3 game engine</title><summary type='text'>I am a big fan of the Quake 3 Arena (Q3A) game. I stumbled upon the Ioquake3 opensource Q3A game engine. I thought it would be fun to play with the code and see what happened in the game. I decided to mod the Plasma gun effect to use BFG style "bullets". That should increase the level of fun. Well, it turns out I only need to change one line of code. A quick look at code/game/g_weapon.c in the </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1678472641778832039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1678472641778832039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1678472641778832039'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/03/fooling-around-with-ioquake3-game.html' title='Fooling around with Ioquake3 game engine'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1837971024775491973</id><published>2010-03-19T04:11:00.003+07:00</published><updated>2010-03-19T04:22:56.943+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Resuming Erratic SVN Checkout</title><summary type='text'>I've just stumbled upon disconnected SVN checkout session in a 3G connection. The whole repository that I was working with is more than 200 MB. Now, what to do? It turns out, you can "resume" the SVN checkout session. Simply cd to the root directory of your incomplete local copy of the repository, carry out an "SVN cleanup" and the proceed "SVN update" to resume the checkout. As simple as that. </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1837971024775491973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1837971024775491973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1837971024775491973'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/03/resuming-erratic-svn-checkout.html' title='Resuming Erratic SVN Checkout'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-7016288511210879298</id><published>2010-02-08T02:26:00.003+07:00</published><updated>2010-02-09T03:28:16.553+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Porting Linux Kernel 2.6 to Lexra 5820 Platform</title><summary type='text'>I've been playing around with my wireless access point based-on RTL8186 SoC over the weekend and found probably I could try porting Linux kernel 2.6 into it. It has a Lexra 5820 CPU core which lacks the unaligned memory access instructions found on MIPS. Well, this is just a preliminary and spare time work because it has been running really well with kernel 2.4.18. I just couldn't resist the </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=7016288511210879298' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7016288511210879298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7016288511210879298'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/02/porting-linux-kernel-26-to-lexra-5820.html' title='Porting Linux Kernel 2.6 to Lexra 5820 Platform'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-2255224031585460240</id><published>2010-01-19T06:47:00.002+07:00</published><updated>2010-01-19T06:57:24.376+07:00</updated><title type='text'>Intel Atom x86-64 support</title><summary type='text'>Several Intel Atom models support x86-64 architecture, such as the D400 and D500 series. Upon closer inspection, these models support "only" 36-bits physical address, which translates to 64GB. To me, this seems like the PAE mechanism supported by x86 processors since the Pentium Pro era. In contrast, Intel Core i7 (and other Nehalem derivative) as well as AMD Family 10h CPUs(Phenom II, Athlon II,</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=2255224031585460240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2255224031585460240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2255224031585460240'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2010/01/intel-atom-x86-64-support.html' title='Intel Atom x86-64 support'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-2853420691675378505</id><published>2009-12-22T22:56:00.002+07:00</published><updated>2009-12-22T23:00:32.298+07:00</updated><title type='text'>Working with Data Structure in IDA Pro</title><summary type='text'>I've been working with data structure in IDA Pro for a while and I found this article to be very helpful. It helps you a lot in reading the disassembled binary, particularly those generated from C/C++.</summary><link rel='related' href='http://www.hex-rays.com/idapro/datastruct/datastruct.pdf' title='Working with Data Structure in IDA Pro'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=2853420691675378505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2853420691675378505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2853420691675378505'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/12/working-with-data-structure-in-ida-pro.html' title='Working with Data Structure in IDA Pro'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4402973192901589556</id><published>2009-12-12T19:10:00.009+07:00</published><updated>2009-12-12T20:18:39.863+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Wine Font Rendering Hiccups and Fixes</title><summary type='text'>I have to admit that the default font rendering in Wine sucks. That is due to the disabled Sub Pixel Font Rendering in default Wine installation. Before we get into the fix, I'd like to highlight my system configuration first. Here it is:Operating System: Slamd64 12.1 with customized kernel 2.6.28.10Installed font rendering-related packages: FreeType 2.3.5, Fontconfig 2.4.2, Fontforge </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4402973192901589556' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4402973192901589556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4402973192901589556'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/12/wine-font-rendering-hiccups-and-fixes.html' title='Wine Font Rendering Hiccups and Fixes'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l5tk5re0tH0/SyOOl2L8x-I/AAAAAAAAANE/FJjDEM9Dd7c/s72-c/wine_no_font_smoothing.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-7778514192192229688</id><published>2009-11-26T23:24:00.003+07:00</published><updated>2009-11-26T23:57:56.051+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Profiling ffmpeg on Linux x86_64</title><summary type='text'>In this blog post I'll elaborate on how to profile ffmpeg v0.5 on Slamd64 12.1 with the GNU profiler (gprof). Well, the profiling is meant to find the bottleneck of ffmpeg (and probably do something with it in the future).First, rebuild the ffmpeg package with profiling enabled. This is the important excerpt from my build script:..../configure \  --prefix=/usr \  --libdir=/usr/lib64 \  --mandir=/</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=7778514192192229688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7778514192192229688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7778514192192229688'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/11/profiling-ffmpeg-on-linux-x8664.html' title='Profiling ffmpeg on Linux x86_64'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-2977314760576975003</id><published>2009-11-23T20:46:00.002+07:00</published><updated>2009-11-26T23:57:19.773+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Parallel Processing'/><title type='text'>OpenMP vs OpenMPI</title><summary type='text'>For beginner "computationalist" like me, it's quite hard to understand the difference between OpenMP and OpenMPI. At first, I thought both of them tackles the same problem in the same way, namely parallel execution. However, after studying them both further, it's clear that OpenMPI uses a distributed-memory architecture while OpenMP uses shared-memory model. Both of the memory architecture can be</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=2977314760576975003' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2977314760576975003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2977314760576975003'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/11/openmp-vs-openmpi.html' title='OpenMP vs OpenMPI'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-8375561569967679665</id><published>2009-11-23T00:51:00.002+07:00</published><updated>2009-11-23T00:56:44.583+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>OpenMPI Slackbuild Script for Slamd64 12.1</title><summary type='text'>I've just got OpenMPI to work on my Slamd64 12.1 system. I really hate cluttering the system. Therefore, I just build the package to ease removing it when I want to upgrade to a newer OpenMPI version later. This is the slackbuild script:#!/bin/sh# Slackware build script for Open MPI# Written by Aleksandar Samardzic # Modified for Slamd64 12.1 by Darmawan Salihun  PRGNAM=openmpiVERSION=${VERSION:-</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=8375561569967679665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8375561569967679665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8375561569967679665'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/11/openmpi-slackbuild-script-for-slamd64.html' title='OpenMPI Slackbuild Script for Slamd64 12.1'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6728783103311670129</id><published>2009-11-05T06:37:00.002+07:00</published><updated>2009-11-26T23:53:34.181+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>AMI BIOS Reverse Engineering Article</title><summary type='text'>AMI BIOS Reverse Engineering article is up. Check out the details here.</summary><link rel='related' href='http://sites.google.com/site/pinczakko/pinczakko-s-guide-to-ami-bios-reverse-engineering-1' title='AMI BIOS Reverse Engineering Article'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6728783103311670129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6728783103311670129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6728783103311670129'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/11/ami-bios-reverse-engineering-article.html' title='AMI BIOS Reverse Engineering Article'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-394908908297382053</id><published>2009-10-24T23:07:00.005+07:00</published><updated>2009-10-24T23:34:30.253+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Booting OS Installed on Different Physical Drive in LILO</title><summary type='text'>Booting an OS installed on other physical hard drive could be daunting at times. However, one LILO keyword could prove very helpful:master-bootThis keyword means (taken straight from LILO's repertoire):'master-boot  This flag (LILO version 22.5) indicates a DOS/Windows/OS2 or other system which will only boot from BIOS device 0x80, the "C:" drive, or BIOS device 0,  the  A:  drive.  When this  </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=394908908297382053' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/394908908297382053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/394908908297382053'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/10/booting-os-installed-on-different.html' title='Booting OS Installed on Different Physical Drive in LILO'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3169867153614287114</id><published>2009-10-01T00:17:00.002+07:00</published><updated>2009-10-24T23:36:11.131+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Traversing "Huge" Source Code Efficiently</title><summary type='text'>It's inevitable that as a software developer, you will encounter such an enormous amount of code and tasked to modify it to siut the goal that you (or the project manager) have set. Of course, you will ask, why don't use Ctags or something like that? Yeah, of course I use Ctags, but sometimes it's just not fine-grained enough or simply refer to the wrong definition of variables or functions and </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3169867153614287114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3169867153614287114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3169867153614287114'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/10/traversing-huge-source-code-efficiently.html' title='Traversing &quot;Huge&quot; Source Code Efficiently'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3726160417618809693</id><published>2009-09-25T12:07:00.001+07:00</published><updated>2009-10-24T23:36:37.349+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>Pinczakko Official Website moved to Google Sites</title><summary type='text'>The detail is in this post:http://bioshacking.blogspot.com/2009/09/pinczakko-official-website-relocation.html.</summary><link rel='related' href='http://sites.google.com/site/pinczakko' title='Pinczakko Official Website moved to Google Sites'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3726160417618809693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3726160417618809693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3726160417618809693'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/09/pinczakko-official-website-moved-to.html' title='Pinczakko Official Website moved to Google Sites'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4768511972180855162</id><published>2009-09-17T02:17:00.002+07:00</published><updated>2009-10-24T23:36:25.346+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>The Dreaded Pure-ftpd</title><summary type='text'>Thanks to Dragkh’s Blog (http://dragkh.wordpress.com/2009/06/21/slackware-12-2-pure-ftpd-v1-0-22-425-sorry-invalid-address-given/) , I finally found the solution to this error message in my embedded ftp client after a few hours of attempts:ftpget: Sorry, invalid address givenIt wasn't the ftp client fault, but it was because the Pure-ftpd (ftp server) misbehaved. The fix is simple, just invoke </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4768511972180855162' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4768511972180855162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4768511972180855162'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/09/dreaded-pure-ftpd.html' title='The Dreaded Pure-ftpd'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5478162559038708426</id><published>2009-08-28T23:39:00.006+07:00</published><updated>2009-10-24T23:36:11.131+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>What the h*** is NAT2.5</title><summary type='text'>I've been tracing this bug for nearly two weeks in my free time. The bug made the Realtek RTL8186 SoC hardware--that I was working with--didn't forward PPPoE packets from its ethernet interface to its WLAN interface even if both of the interfaces had been bridged together by using brctl--the bridge utilities (http://bridge.sourceforge.net/). After doing some quick code inspection from different </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5478162559038708426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5478162559038708426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5478162559038708426'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/08/what-h-is-nat25.html' title='What the h*** is NAT2.5'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-894082610078543125</id><published>2009-08-22T23:36:00.002+07:00</published><updated>2009-10-24T23:35:47.255+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Vacuum Months</title><summary type='text'>Haven't been posting anything since July. Well, I am still busy finishing my college. Should be finished by mid september and a lot of updates should be coming up. Particularly moving all of the BIOS articles from Geocities before it's closed by Yahoo.</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=894082610078543125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/894082610078543125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/894082610078543125'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/08/vacuum-months.html' title='Vacuum Months'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5937961184919639483</id><published>2009-07-01T01:01:00.002+07:00</published><updated>2009-07-01T01:05:01.664+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>BIOS Disassembly Ninjutsu Uncovered Status Update</title><summary type='text'>I have received the contract termination document from A-List Publishing for the English Edition of the BIOS Disassembly Ninjutsu Uncovered book that I wrote. Therefore, from now on I plan to publish the book from Indonesia. Read this post for further details. That's it for the moment. Please follow The BIOS Blog for further BIOS related information in the future.</summary><link rel='related' href='http://bioshacking.blogspot.com/2009/06/bios-disassembly-ninjutsu-english.html' title='BIOS Disassembly Ninjutsu Uncovered Status Update'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5937961184919639483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5937961184919639483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5937961184919639483'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/07/bios-disassembly-ninjutsu-uncovered.html' title='BIOS Disassembly Ninjutsu Uncovered Status Update'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6225457935544803748</id><published>2009-05-25T19:14:00.004+07:00</published><updated>2009-05-26T01:10:47.433+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Mplayer Build Script for Slamd64 12.1</title><summary type='text'>Most of unofficial package for Slamd64 Linux distribution can be found at http://builds.slamd64.com. However, some of the scripts are not well tested or work out-of-the-box, at least against Slamd64 12.1. One of such a script is the Mplayer build script. The build script for Mplayer lacks the PKGNAM variable which should be set to mplayer like this:PKGNAM=mplayerThe lack of this variable in </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6225457935544803748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6225457935544803748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6225457935544803748'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/05/mplayer-build-script-for-slamd64-121.html' title='Mplayer Build Script for Slamd64 12.1'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5746088473061592951</id><published>2009-05-19T00:15:00.003+07:00</published><updated>2009-05-19T00:24:17.316+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network Architecture'/><title type='text'>Introduction to IP and ISDN</title><summary type='text'>I didn't realize until just now that there is a very good introduction to IP+ISDN networks in the office web page :P. Well, not until the DNS relay/caching talks surfaced. For those interested in the subject, this is the link:http://www.abilis.net/fileadmin/tutorial/en/index.htmlEven though the tutorial mainly talks about the Abilis product, the tutorial contains a lot of primer on IP+ISDN </summary><link rel='related' href='http://www.abilis.net/fileadmin/tutorial/en/index.html' title='Introduction to IP and ISDN'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5746088473061592951' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5746088473061592951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5746088473061592951'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/05/introduction-to-ip-and-isdn.html' title='Introduction to IP and ISDN'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-111789407924048349</id><published>2009-04-03T19:08:00.003+07:00</published><updated>2009-04-04T14:11:06.465+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>BIOS-related Post Moved to Dedicated Blog</title><summary type='text'>I'm gradually moving all my BIOS-related works, rants and raves to a dedicated blog: http://bioshacking.blogspot.com. The works that were previously in geocities will be moved to that blog as well. The point is, all of those information need to be consolidated and organized for ease of access.</summary><link rel='related' href='http://bioshacking.blogspot.com' title='BIOS-related Post Moved to Dedicated Blog'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=111789407924048349' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/111789407924048349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/111789407924048349'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/04/bios-related-post-moved-to-dedicated.html' title='BIOS-related Post Moved to Dedicated Blog'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1846724183983226456</id><published>2009-03-28T07:11:00.003+07:00</published><updated>2009-03-28T11:55:57.881+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>ATI Catalyst for Linux x86-64</title><summary type='text'>Just a short notice about the working configuration for video and audio driver that works in Slamd64 12.1 with the following hardware:*) AMD Athlon X2 4000+*) ECS AMD690GM-M2 motherboard*) 2GB of RAMThe working configuration as follows:*) Kernel: a.) Linux 2.6.25.20 w/ Intel HD audio enabled + Realtek ALC880 driver module                (needed for ATI Azalia to work in the SB600 chipset).</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1846724183983226456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1846724183983226456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1846724183983226456'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/03/ati-catalyst-for-linux-x86-64.html' title='ATI Catalyst for Linux x86-64'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4839722546843177149</id><published>2009-03-14T17:16:00.002+07:00</published><updated>2009-03-14T17:23:54.509+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Nelson Mandela</title><summary type='text'>Nelson Mandela was a prominent figure of the 20th century. A lot of lesson can be learned from his amazing life. I haven't read his biography. However, some of his quotes are worth to be taken (at least) as an alternative way of seeing what life means. “There is no passion to be found playing small - in settling for a life that is less than the one you are capable of living.” - Nelson Mandela“I </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4839722546843177149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4839722546843177149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4839722546843177149'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/03/nelson-mandela.html' title='Nelson Mandela'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5568858421026807275</id><published>2009-03-03T05:09:00.003+07:00</published><updated>2009-03-03T05:49:41.649+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Refactoring "Badly Written" C Source Code for Embedded System</title><summary type='text'>Ok. I'm not an expert on this "Refactoring" subject. I'm tired, sleepless but have to write this because it's very important. I'm gonna lost it on the way to bed if I don't write it now.So, you have this C code for embedded system written by someone at some hardware company, let's call it X. It's written like someone rushing out to get the next train, and then some other guy come, add some code </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5568858421026807275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5568858421026807275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5568858421026807275'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/03/refactoring-badly-written-c-source-code.html' title='Refactoring &quot;Badly Written&quot; C Source Code for Embedded System'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4163344219414248183</id><published>2009-01-31T00:51:00.007+07:00</published><updated>2009-07-01T00:55:26.959+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>The Future of BIOS Disassembly Ninjutsu Uncovered</title><summary type='text'>Now, finally I have latest update from my publisher regarding BIOS Disassembly Ninjutsu Uncovered that I wrote a while ago. The English version of this book is now out-of-print and will not be printed for a little while until I can find new publisher who wants to acquire the right to re-print it or I might come up with another option(s). For those who needs this book as fast as possible, please </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4163344219414248183' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4163344219414248183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4163344219414248183'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/01/future-of-bios-disassembly-ninjutsu.html' title='The Future of BIOS Disassembly Ninjutsu Uncovered'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-8673453433106513606</id><published>2009-01-21T22:30:00.018+07:00</published><updated>2009-02-08T22:10:52.834+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>A Glimpse of Eastern Indonesia</title><summary type='text'>While many Indonesians hardly appreciate the geographical size of their own country, it's not the case for me because I come from a quite far place in the eastern part and now resides in the western part of the country. There are very small number of country in the world that spans three time zones or more. Indonesia spans three different time zones. Of course this means the country _is_ large. I</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=8673453433106513606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8673453433106513606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8673453433106513606'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2009/01/glimpse-of-eastern-indonesia.html' title='A Glimpse of Eastern Indonesia'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_l5tk5re0tH0/SXdLG2PZEEI/AAAAAAAAAFU/Wz6wc-suKLo/s72-c/Heaven%27s+Light_small.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-359584770943273033</id><published>2008-12-23T19:38:00.008+07:00</published><updated>2009-02-08T21:43:42.344+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Setting-up Basic PPPoE Server in Linux (x86_64 Platform)</title><summary type='text'>Setting-up a basic PPPoE server in Linux seems to be just another server setup task which amounts to just installing package and then configuring some scripts and you're done. The fact is, it's probably one of the most mundane server setup task of your life if you're not careful.Let's start with the terms itself PPPoE stands for Point-to-Point Protocol over Ethernet. Which means a point-to-point </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=359584770943273033' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/359584770943273033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/359584770943273033'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/12/setting-up-basic-pppoe-server-in-linux.html' title='Setting-up Basic PPPoE Server in Linux (x86_64 Platform)'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-8667598747779577493</id><published>2008-12-11T11:59:00.002+07:00</published><updated>2009-02-08T21:53:52.945+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Nokia E61 Bluetooth 3G/GPRS Connection With PPPD in Linux</title><summary type='text'>Using pppd to connect using bluetooth 3G/GPRS in Linux is quite a challenge for ordinary Linux user. In this post, I explain how I got it working on my system.This is my system configuration:        OS: Slamd64 12.1. An x86_64 Unofficial Port of Slackware Linux Distribution        with kernel 2.6.25.17 and pppd version 2.4.4                A Turion64 Laptop with 1GB RAM.                Broadcom </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=8667598747779577493' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8667598747779577493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8667598747779577493'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/12/nokia-e61-bluetooth-3ggprs-connection.html' title='Nokia E61 Bluetooth 3G/GPRS Connection With PPPD in Linux'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3215117058017789199</id><published>2008-12-06T09:31:00.002+07:00</published><updated>2009-02-08T21:53:30.364+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Controlling FSCK in Linux</title><summary type='text'>It's annoying to have filesystem checks every once in a while when you boot your linux machine. I mean in the case everything is just fine, why run fsck? Now, how can you control the amount of mount before an fsck takes place? It's easy, if you are using Ext2 or Ext3 filesystem, just run tune2fs -c . This is the command:me@machine $ tune2fs -c &lt;number_of_mounts_before_fsck&gt;That's it. Just replace</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3215117058017789199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3215117058017789199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3215117058017789199'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/12/controlling-fsck-in-linux.html' title='Controlling FSCK in Linux'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5939791490187171801</id><published>2008-12-02T12:12:00.003+07:00</published><updated>2009-02-08T21:56:45.897+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix/Linux Shell Automation'/><title type='text'>Using find Utility Effectively in *NIX</title><summary type='text'>Sometimes you need to find files with certain criterion as fast as possible. For example in task where you need to strip out files bigger than a predefined size. Say 50KB. This can be done efficiently using the find utility in *NIX with the following command: darmawan@opunaga:AP $ find rootfs/bin -type f -size +50k -exec ls -lah \{} \;The command above assumes you are searching in rootfs/bin </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5939791490187171801' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5939791490187171801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5939791490187171801'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/12/using-find-utility-effectively-in-nix.html' title='Using find Utility Effectively in *NIX'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-271962316457463514</id><published>2008-11-28T21:17:00.004+07:00</published><updated>2009-02-08T21:56:45.897+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix/Linux Shell Automation'/><title type='text'>Misc. Awk Tips</title><summary type='text'>Few quirks about awk that I found:1. The $0 in expression part of awk invocation such as in pinczakko@opunaga $ find . -type f | awk '$0 !~ /\&lt;svn\&gt;/  {print}'doesn't represent any of the field in a record (a line) in awk terminology. $0 represents the whole record (the whole line). Therefore, if you want to match an expression to the entire line, $0 is the way to do that.2. To match the whole </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=271962316457463514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/271962316457463514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/271962316457463514'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/11/misc-awk-tips.html' title='Misc. Awk Tips'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5228655857894700084</id><published>2008-11-27T14:49:00.005+07:00</published><updated>2009-02-08T21:56:45.897+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix/Linux Shell Automation'/><title type='text'>Removing Duplicated File Automatically</title><summary type='text'>It's annoying to have two or more of the same file laying around in your hard drive. Out of curiosity, I devised a small script to automate the process of finding and deleting duplicated file in two different directories. This is it.#!/bin/bash## This script checks whether there is a file duplication # in two different directrories and deletes the one in # ${SRC_DIR} if it found the same file#</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5228655857894700084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5228655857894700084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5228655857894700084'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/11/removing-duplicated-file-automatically.html' title='Removing Duplicated File Automatically'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3347115635631292375</id><published>2008-11-20T18:58:00.003+07:00</published><updated>2009-02-08T21:43:42.345+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Koneksi IM2 Broom di Linux</title><summary type='text'>Hari ini gw nyobain Indosat Broom untuk pertama kali. Gw pikir awalnya bakal sedikit susah buat aktivasi, ternyata cuma sedikit lebih kompleks daripada bikin account email gratisan.Konfigurasi sistem:1. Linux Slamd64 12.12. Wvdial 1.60 3. AMD Turion64 4. RAM 1GB5. Nokia E61.Step garis besarnya:a. Insert USIM dari starter-pack broom ke handphone/modem yang akan digunakan.b. Dial ke situs </summary><link rel='related' href='http://www.indosatm2.com/index.php/consumer-solution/internet-services/prepaid/broom' title='Koneksi IM2 Broom di Linux'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3347115635631292375' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3347115635631292375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3347115635631292375'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/11/koneksi-im2-broom-di-linux.html' title='Koneksi IM2 Broom di Linux'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1578132141939455821</id><published>2008-11-06T23:11:00.002+07:00</published><updated>2009-02-08T21:59:04.946+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix/Linux Shell Automation'/><title type='text'>Combined find, xargs and chown Trick</title><summary type='text'>Sometimes, you want to change the ownership of files (including symlinks) in directories recursively. However, "malformed" directory and file names can become huge stumbling blocks. This is how to do that correctly:root@copy_cabana# find . -user old_user -group old_group -print0 | xargs -0 chown -v -h new_user:new_groupA few notes:The -print0 parameter tells find to append the "null" character </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1578132141939455821' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1578132141939455821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1578132141939455821'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/11/combined-find-xargs-and-chown-trick.html' title='Combined find, xargs and chown Trick'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4084460214233480158</id><published>2008-10-07T15:02:00.002+07:00</published><updated>2009-02-08T21:59:04.946+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix/Linux Shell Automation'/><title type='text'>Automated Login on Time-based Public Wireless Access Point</title><summary type='text'>Public wireless access point sometimes employ a time-based logout-login/connect-disconnect cycles to "attract" users into their paid service counterpart in which the time-based logout-login/connect-disconnect cycles removed. Of course that kind of connect-disconnect cycles are annoying. However, with a little bit of bash script. The login-logout chores can be automated. I'll present an example </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4084460214233480158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4084460214233480158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4084460214233480158'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/10/automated-login-on-time-based-public.html' title='Automated Login on Time-based Public Wireless Access Point'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5706867825256516599</id><published>2008-09-30T16:50:00.002+07:00</published><updated>2009-02-08T21:43:42.345+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Building Wireless Perimeter With WPA2 and RADIUS</title><summary type='text'>Most of the KISS (Keep It Simple Stupid) steps are explained in an article by SmallNetBuilder. However, those guides were not working out-of-the-box for me. I'll talk about it later. Let's start with my system setup:1. Slamd64 12.12. Freeradius 1.1.73. OpenSSL 0.9.8g (comes with Slamd64 12.1)Now, to the quirks of building Freeradius 1.1.7. I didn't manage to compile Freeradius with the default ./</summary><link rel='related' href='http://wiki.freeradius.org/WPA_HOWTO' title='Building Wireless Perimeter With WPA2 and RADIUS'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5706867825256516599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5706867825256516599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5706867825256516599'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/09/building-wireless-perimeter-with-wpa2.html' title='Building Wireless Perimeter With WPA2 and RADIUS'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1226429041498802095</id><published>2008-09-24T19:19:00.003+07:00</published><updated>2009-02-08T22:01:04.843+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>MIPS Cross Compiling on Linux x86_64</title><summary type='text'>Cross compiling might be a quite "scary" subject for some programmers. Nevertheless, it's not so difficult as long as you have already obtained the right cross-toolchain. At first sight, I thought that I have to put lengthy LDFLAGS and CFLAGS arguments in the Makefile of my test program. But, surprisingly, it's not the case. Let's see how it works. My build system is Slamd64 12.1, a Linux x86_64 </summary><link rel='related' href='http://www.linuxdevices.com/articles/AT6830035793.html' title='MIPS Cross Compiling on Linux x86_64'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1226429041498802095' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1226429041498802095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1226429041498802095'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/09/mips-cross-compiling-on-linux-x8664.html' title='MIPS Cross Compiling on Linux x86_64'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5385529136674278735</id><published>2008-09-21T01:14:00.007+07:00</published><updated>2009-02-08T21:45:43.628+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Ndiswrapper-SSB Driver Bug in Slamd64 12.1 (Kernel 2.6.25.9) --  Somehow With A wpa_supplicant Fix</title><summary type='text'>It's quite sad to find out that the current generation of opensource driver for Broadcom BCM43xx WLAN chipset is still unable to get WEP working as expected--after some checks, I found that the driver unable to work with WEP unless you use wpa_supplicant to set the WEP keys. It forces me to go back to use ndiswrapper once more. Nonetheless, using ndiswrapper is not as easy as it seems because the</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5385529136674278735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5385529136674278735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5385529136674278735'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/09/ndiswrapper-ssb-bug-in-slamd64-121.html' title='Ndiswrapper-SSB Driver Bug in Slamd64 12.1 (Kernel 2.6.25.9) --  Somehow With A wpa_supplicant Fix'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4023157185485343966</id><published>2008-09-21T00:54:00.007+07:00</published><updated>2009-02-08T22:13:21.126+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>BIOS Disasembly Ninjutsu Uncovered Russian Edition</title><summary type='text'>The Russian edition of my BIOS Disassembly Ninjutsu Uncovered book actually has been published in August last year. However, I haven't been able to write about it for a while. Here it is:Cyrillic maybe a problem for most people used to Latin characters. This is what the title said (more or less): BIOSDisassemblirovaniyeModifikatsiyaProgrammirovaniyetranslated to english:BIOS </summary><link rel='related' href='http://www.bhv.ru/books/book.php?id=180728' title='BIOS Disasembly Ninjutsu Uncovered Russian Edition'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4023157185485343966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4023157185485343966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4023157185485343966'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/09/bios-disasembly-ninjutsu-uncovered.html' title='BIOS Disasembly Ninjutsu Uncovered Russian Edition'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_l5tk5re0tH0/SNU6TnlhVYI/AAAAAAAAADQ/bcprr-8kOZU/s72-c/gimp_p1000606.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4702024217461627466</id><published>2008-09-19T09:52:00.002+07:00</published><updated>2009-02-08T22:01:04.844+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>The Diff Ninjutsu (Part 2)</title><summary type='text'>In the previous installment of this series, I haven't show how we can use diff to do the automatic checking of the applied patch. Now. let's look at a sample shell script that do just that.#!/bin/bash## Script to apply patches to Realtek v1.4 ADK, SDK and CMK in order to # upgrade it to version 1.4c (with latest v1.4c patches)# # Author: Darmawan Salihun# # Date: 26-08-2008###### ASSUMPTIONS </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4702024217461627466' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4702024217461627466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4702024217461627466'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/09/diff-ninjutsu-part-2.html' title='The Diff Ninjutsu (Part 2)'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3866403207567853346</id><published>2008-09-13T16:58:00.006+07:00</published><updated>2009-02-08T22:01:04.844+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>The Diff Ninjutsu</title><summary type='text'>Sometimes patches for certain source code which are distributed by programmers, are not in the form of the usual patch like linux kernel patches (either incremental or against the base version) which you can apply by just using the patch utility in *nix. This can cause months of headache for maintainer or someone who come later. This is where utility like diff comes handy. Let's see how to use it</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3866403207567853346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3866403207567853346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3866403207567853346'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/09/diff-ninjutsu.html' title='The Diff Ninjutsu'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-2929558378691278428</id><published>2008-08-31T10:21:00.004+07:00</published><updated>2009-02-08T22:01:04.845+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>How to Migrate a Subversion Repository</title><summary type='text'>Versioning system such as subversion is a very important tool for developer. It tracks every changes that you made to the base code. However, at some points an svn checkout and then an svn commit is not enough. For example, when you want to backup the whole repository along with its tracked changes and then move it into a different svn server. With the svnadmin tool, this kind of task is almost a</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=2929558378691278428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2929558378691278428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2929558378691278428'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/08/how-to-migrate-subversion-repository.html' title='How to Migrate a Subversion Repository'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-649165744948655304</id><published>2008-08-26T00:23:00.004+07:00</published><updated>2009-02-08T22:01:04.845+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>The Incompatibility of  64-bit GCC With 32-bit Packed Data Structures</title><summary type='text'>There are certain times when we, C programmers take it for granted that when you declare:unsigned long x;you expect to have 32-bit unsigned variable. You would expect that you need to declare the variable as:unsigned long long x;to have 64-bit unsigned variable. Well, at some points these are not problematic. But, when you have a packed data structure, say a structure that describes the header of</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=649165744948655304' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/649165744948655304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/649165744948655304'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/08/incompatibility-of-64-bit-gcc-with-32.html' title='The Incompatibility of  64-bit GCC With 32-bit Packed Data Structures'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6155909962298212925</id><published>2008-07-29T04:41:00.001+07:00</published><updated>2009-02-08T22:01:04.846+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Tweaking Vim For Fun and Profit</title><summary type='text'>Vim, to certain extent, amazes me. It can be tweaked in any number of ways. To start with, set your xterm or whatever terminal you use to 256 color palette, as long as it supports 256 color palette. You can check this in your terminfo installation--never thought of what the h*** terminfo and ncurses are for until this point--which for xterm, placed in /usr/share/terminfo/x/*. The file named xterm</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6155909962298212925' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6155909962298212925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6155909962298212925'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/tweaking-vim-for-fun-and-profit.html' title='Tweaking Vim For Fun and Profit'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_l5tk5re0tH0/SI5ANKal9vI/AAAAAAAAAC4/kOYt9v-opgs/s72-c/xfterm4_256.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4434673656303483635</id><published>2008-07-28T22:01:00.000+07:00</published><updated>2009-02-08T22:10:52.835+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Get Ready for World Domination</title><summary type='text'>Starting to make junk post =))</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4434673656303483635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4434673656303483635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4434673656303483635'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/get-ready-for-world-domination.html' title='Get Ready for World Domination'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_l5tk5re0tH0/SI3ffJ7CSSI/AAAAAAAAACw/glwSExHJHaw/s72-c/screenshot_xfce4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-9148066740799169431</id><published>2008-07-28T07:09:00.001+07:00</published><updated>2009-02-08T21:45:43.628+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>ATI Propietary Linux Driver - Xine - Video Overlay</title><summary type='text'>With the Slamd64 up and running, I noticed a problem when using Xine to play Videos. I cannot zoom the video scene correctly and the video control panel is not shown in fullscreen mode. I have to force Xine to close in fullscreen mode with Alt+F4. I found that this is something to do with a "miscommunication" between the ATI Propietary Linux Driver a.k.a ATI Catalyst for Linux and the X server </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=9148066740799169431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/9148066740799169431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/9148066740799169431'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/ati-propietary-linux-driver-xine-video.html' title='ATI Propietary Linux Driver - Xine - Video Overlay'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6714639267339513603</id><published>2008-07-28T00:01:00.001+07:00</published><updated>2009-02-08T21:45:43.628+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Xfterm4 Problem (Solved)</title><summary type='text'>I got this warning in Xfterm4 due to unknown reason:WARNING: terminal is not fully functional (press RETURN)when I run more, less or CTRL-L and some other commands in Xfterm4. With some googling effort, I don't seem to find the solution. All I know that this must be terminal setting problem. I went to check every terminal related setting and I found that by replacing ~/.config/Terminal/terminalrc</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6714639267339513603' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6714639267339513603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6714639267339513603'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/xfterm4-problem-solved.html' title='Xfterm4 Problem (Solved)'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6112883724039281484</id><published>2008-07-27T18:14:00.003+07:00</published><updated>2009-02-08T21:59:04.946+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix/Linux Shell Automation'/><title type='text'>Slackbuild Scripts</title><summary type='text'>This a gstreamer slackware build script ported to Slamd64. It's only a quick-hack. But it's working as expected. There is a downside though. I should've been setting the target MANPATH to /usr/man, but I set to /usr/share/man instead. Which is wrong.#!/bin/bash## gstreamer.SlackBuild# code: Vicious (michal@scxd.info); improvements: Zielony (e-pl@o2.pl)# adapted for x86_64 and local source </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6112883724039281484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6112883724039281484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6112883724039281484'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/slackbuild-scripts.html' title='Slackbuild Scripts'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-8235458936900485690</id><published>2008-07-27T08:48:00.001+07:00</published><updated>2009-02-08T21:49:38.279+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>XFCE 4.4 "Special Key" Bindings</title><summary type='text'>The concept of key binding in XWindow has always been vague to me until I fix the key binding in my window manager. I'll explain how it works with an example. So, I have this problem of using the "windows" key to open the main menu in XFCE 4.4 in my Slamd64 12.1. This key is called Xfce-popup-menu in Xfce keyboard setting. The key is not detected by Xfce, the Window Manager. Here's how I got it </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=8235458936900485690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8235458936900485690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8235458936900485690'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/xfce-44-special-key-bindings.html' title='XFCE 4.4 &quot;Special Key&quot; Bindings'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4899820296557052923</id><published>2008-07-27T05:36:00.001+07:00</published><updated>2009-02-08T21:49:38.279+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Slamd64 OpenOffice Installation Fix</title><summary type='text'>I've just migrated to Slamd64 12.1 and found out that the default OpenOffice 2.4.0 installation source from SUN cannot be installed correctly. I wander around and I found these clues:Open Office colorsA working x86_64 openofficehttp://slackbuilds.org/repository/12.1/office/openoffice.org/So, the solution is to download the x86_64 version of OpenOffice 2.4.1 from:ftp://ftp.linux.cz/pub/</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4899820296557052923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4899820296557052923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4899820296557052923'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/slamd64-openoffice-installation-fix.html' title='Slamd64 OpenOffice Installation Fix'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6365647765421504312</id><published>2008-07-25T05:39:00.001+07:00</published><updated>2009-02-08T22:12:37.173+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Something to Remember..</title><summary type='text'>Have nothing to say. Maybe one day I will remember this setup and laughing all the way home :))</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6365647765421504312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6365647765421504312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6365647765421504312'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/something-to-remember.html' title='Something to Remember..'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_l5tk5re0tH0/SIkEx7mUskI/AAAAAAAAACo/TX5x_9ZGq9Y/s72-c/oie_p1000315.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6385390037528698316</id><published>2008-07-15T04:04:00.000+07:00</published><updated>2009-02-08T22:12:37.173+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Since 12XX</title><summary type='text'>Probably you've seen it in advertising or something similar, the word "since 19xx" or "since 18xx", or "since 17xx". These words are meant to imply how long has a product being made and the craft-man-ship of the corresponding company who makes the product. There's also a very high possibility a University or a College being labeled as such. But, have you ever seen something like, "since 1240"? </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6385390037528698316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6385390037528698316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6385390037528698316'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/since-12xx.html' title='Since 12XX'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_l5tk5re0tH0/SHvDn9nAtII/AAAAAAAAACg/C5Hp1ATKTGE/s72-c/oie_p1000166.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-317601363283418062</id><published>2008-07-15T03:20:00.000+07:00</published><updated>2009-02-08T22:12:37.174+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>One of The Oldest Banking Institution in The World</title><summary type='text'>The photo below is taken in front of a Bank that started as early as 1492. Yes, exactly the same year as Christopher Columbus landed in America, what a coincidence!It is located in the city of Siena, Tuscany.</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=317601363283418062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/317601363283418062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/317601363283418062'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/one-of-oldest-banking-institution-in.html' title='One of The Oldest Banking Institution in The World'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_l5tk5re0tH0/SHu-BUm5OeI/AAAAAAAAACY/EG6vAe8_Ps4/s72-c/oie_p1000163.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4320479727001739420</id><published>2008-07-12T19:21:00.000+07:00</published><updated>2009-02-08T22:02:18.891+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>The Forward+Reverse Engineering Approach</title><summary type='text'>In some certain cases it's not possible to finish an engineering task just by doing a forward engineering approach (doing a design, prototyping and so on until you get the product to market) or vice versa, i.e. the task cannot be finished just by doing a reverse engineering approach (a.k.a tear-down and document everything). In these very peculiar case a combined approach of forward and reverse </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4320479727001739420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4320479727001739420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4320479727001739420'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/forwardreverse-engineering-approach.html' title='The Forward+Reverse Engineering Approach'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3918190378212530918</id><published>2008-07-09T23:20:00.001+07:00</published><updated>2009-02-08T22:07:58.964+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>CD/DVD Burning and Gnome's Nautilus</title><summary type='text'>It's been ages since the last time I burn a CD in Linux. Back then I would use X-CD-Roast. Today, I found that it's much easier to do that with the built in CD/DVD writer front-end in Nautilus. The only drawback is I have to log in as root when invoking the CD/DVD writer front-end. In order not to run at full root privilege, I spawn a new shell and invoke the Nautilus CD/DVD writer front-end with</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=3918190378212530918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3918190378212530918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3918190378212530918'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/07/cddvd-burning-and-gnomes-nautilus.html' title='CD/DVD Burning and Gnome&apos;s Nautilus'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_l5tk5re0tH0/SHTm80HMCXI/AAAAAAAAAB4/p8l8NKt7Y5I/s72-c/Screenshot-CD-DVD+Creator+-+File+Browser.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4464403123174854252</id><published>2008-07-01T13:44:00.000+07:00</published><updated>2009-02-08T21:49:38.279+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>The Fifo and WLAN Ndiswrapper driver bug in kernel 2.6.24.3</title><summary type='text'>Yesterday, I have to adapt my kernel module because of a new device that I have to connect to my linux laptop. This device is actually a serial-to-usb device. It is based on Future Technologies FTDI fifo chip. Because my optimized 2.6.24.3 kernel didn't include the support for this chip, I have to compile the module and create a new kernel image with proper linkage with the new driver. The kernel</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4464403123174854252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4464403123174854252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4464403123174854252'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/06/fifo-and-wlan-ndiswrapper-driver-bug-in.html' title='The Fifo and WLAN Ndiswrapper driver bug in kernel 2.6.24.3'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5892511798176632395</id><published>2008-03-17T19:29:00.001+07:00</published><updated>2009-02-08T22:02:18.891+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Distributed Compilation with distcc</title><summary type='text'>This is my first encounter with real-world distributed computing experiment. I'm experimenting with this due to heavy compilation task in the last few months. I've done quite a lot of kernel compilation over the last three months and that takes up a lot of productive time. Therefore, I'm starting to experiment with distributed compilation using distcc as the "compiler driver". Distcc itself is </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5892511798176632395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5892511798176632395'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/03/distributed-compilation-with-distcc.html' title='Distributed Compilation with distcc'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l5tk5re0tH0/R95rFuhm96I/AAAAAAAAABo/_WHvfiXqRz8/s72-c/Screenshot-distcc+Monitor+-+darmawan%40opunaga.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-8232719213325670318</id><published>2008-03-16T13:46:00.001+07:00</published><updated>2009-02-08T21:49:38.279+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>SLES 10 SP1 Network interface configuration "peculiarity"</title><summary type='text'>The network interface configuration files in SLES 10 SP1 is located in /etc/sysconfig/network directory. For every interface, there exist a ifcfg-XXX configuration file, where the XXX denotes the interface name as seen by the system from /sys file system. This is where the problem comes. Because I've upgraded my kernel and udev manually, the system cannot initialize the eth0 (RTL8189) interface </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8232719213325670318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/8232719213325670318'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/03/sles-10-sp1-network-interface.html' title='SLES 10 SP1 Network interface configuration &quot;peculiarity&quot;'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1502420528360232339</id><published>2008-03-11T01:47:00.001+07:00</published><updated>2009-02-08T21:49:38.280+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>The x86_64 Experience</title><summary type='text'>This post is about how to get my Turion64-based Compaq W2718 Laptop work with Suse Linux Enterprise Server (SLES) 10 SP1 x86_64. Side note: I'm trying to get OpenSuse ASAP. This is only for first run to see how the x86_64 works first hand.My First ImpressionsThe SLES SP1 x64 is able to boot my system right into X11 after installation. Nonetheless, a lot of glitches remain. First, the screen is </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1502420528360232339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1502420528360232339'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/03/x8664-experience.html' title='The x86_64 Experience'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-9113513073491999465</id><published>2008-03-03T12:51:00.001+07:00</published><updated>2009-02-08T22:02:18.891+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Sanitizing The Linux Kernel Headers -- Strange fact in Kernel 2.6.24.3</title><summary type='text'>It's not a widely known fact that you can create a "sanitized" a.k.a ABI-stable kernel headers automatically from the kernel source yourself since Linux Kernel 2.6.18 introduced. One can do this by cd-ing into the root directory of the kernel source and invoking the following command:make mrpropermake headers_checkmake ARCH=&lt;your_target_architecture&gt; INSTALL_HDR_PATH=&lt;your_target_header_directory</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/9113513073491999465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/9113513073491999465'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/03/sanitizing-linux-kernel-headers-strange.html' title='Sanitizing The Linux Kernel Headers -- Strange fact in Kernel 2.6.24.3'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-3100249205891502856</id><published>2008-02-23T01:24:00.001+07:00</published><updated>2009-02-08T21:58:23.392+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix/Linux Shell Automation'/><title type='text'>Bash Scripting: A new beginning</title><summary type='text'>Recently, I found that due to excessive amount of work, I have to automate tasks as much as possible. So, here I am learning to script as much as possible in my linux box. I've just started to script in Bash and here's the first working script.#!/bin/bash## This script suppose to setup the machine to connect to Jalawave# using rfcomm0 interface and reports any error it encounters.# The following </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3100249205891502856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/3100249205891502856'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/02/starts-working-on-bash-scripting.html' title='Bash Scripting: A new beginning'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-5393055115848824384</id><published>2008-02-04T02:29:00.001+07:00</published><updated>2009-02-08T21:49:38.280+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Upgrading from kernel 2.6.22.15 to 2.6.24</title><summary type='text'>It's been a while I'm using Linux Slackware 12 with kernel 2.6.22.15. This was the most stable kernel version for my aging Compaq Presario W2718 laptop. It's also the one with most hardware features working as expected. Kernel 2.6.23 and its stable point releases (2.6.23.x) were not up to my expectation as they have problems in the sound drivers. I cannot get my laptop sound working reliably when</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=5393055115848824384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5393055115848824384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/5393055115848824384'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2008/02/upgrading-to-linux-2624-formerly-262215.html' title='Upgrading from kernel 2.6.22.15 to 2.6.24'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-6630491364223464797</id><published>2008-01-20T17:32:00.001+07:00</published><updated>2009-02-08T21:49:38.280+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Tips Hacks and Guides'/><title type='text'>Configuring Nokia E61 for ppp connection in Slackware 12</title><summary type='text'>I wrote this because it takes me so long to get my Nokia E61 to work in Linux.  The following are the problems that I faced and their solution. They are presented in order of resolving. Mind you that I'm using DKU-2 USB cable to connect my laptop with the Nokia E61 which acts as GPRS/3G modem.Problem 1: The old firmware in my E61 is just not working in Linux at all (firmware version v2.0618.06.05</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=6630491364223464797' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6630491364223464797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/6630491364223464797'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/12/configuring-nokia-e61-for-ppp.html' title='Configuring Nokia E61 for ppp connection in Slackware 12'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-494693507873198112</id><published>2007-12-20T20:32:00.001+07:00</published><updated>2009-02-08T22:02:18.892+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Setting up Your Linux Desktop for Blackfin BF-537 STAMP Board Development</title><summary type='text'>In this post, I will provide a step-by-step guide to prepare your linux desktop for blackfin BF-537 STAMP board software development.The first thing to do, is to ensure that you have everything that you will need installed correctly in your system. The things that you need are explained below.The Hardware side.1. A development machine. In this article I will refer to x86-based development machine</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=494693507873198112' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/494693507873198112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/494693507873198112'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/12/setting-up-your-linux-desktop-for.html' title='Setting up Your Linux Desktop for Blackfin BF-537 STAMP Board Development'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l5tk5re0tH0/R3lIdf5MGPI/AAAAAAAAAA0/7NkcY1olf1Y/s72-c/minicom_setup.jpeg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-4402104501495738728</id><published>2007-05-25T00:29:00.006+07:00</published><updated>2009-07-01T01:01:04.926+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>The book that I wrote - BIOS Disassembly Ninjutsu Uncovered</title><summary type='text'>Read the latest availability update for this book in this postThis is the first ever book that I wrote. It's roughly 500 pages long. I'll talk more about it later. For now, you can order it at Amazon.com, in the following URL:http://www.amazon.com/BIOS-Disassembly-Ninjutsu-Uncovered/dp/1931769605The Russian version of this book will be available in August this year. My chief editor said that the </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=4402104501495738728' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4402104501495738728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/4402104501495738728'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/05/book-that-i-wrote-biosdisassembly.html' title='The book that I wrote - BIOS Disassembly Ninjutsu Uncovered'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_l5tk5re0tH0/RmJBDukbMdI/AAAAAAAAAAM/ceTfpzC8ETo/s72-c/my_book_cover.jpg' height='72' width='72'/><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1021466096167187634</id><published>2007-04-28T14:08:00.000+07:00</published><updated>2009-02-08T22:02:18.892+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>LabView&lt;-&gt;MFC multithreaded bug :(</title><summary type='text'>I can't seem integrate my already foolproof singlethreaded DLL into LabView as a CLF(Call Library Function) , i.e. "foreign helper DLL". It always crashed upon calling MFC's AfxBeginThread(..) function. I hope I can make a tute once I got it working. Really nuts on this, after all night long trying to figure out the solution</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1021466096167187634' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1021466096167187634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1021466096167187634'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/04/labview-mfc-multithreaded-bug.html' title='LabView&lt;-&gt;MFC multithreaded bug :('/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-2410790817908369316</id><published>2007-04-22T22:05:00.000+07:00</published><updated>2009-02-08T22:04:31.661+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Summer of Code'/><title type='text'>Google Summer of Code</title><summary type='text'>So..., I'm enlisted as one of Google Summer of Code participant this year. I hope this gonna be an awesome experience. My proposal is about porting Linux BIOS's flashrom utility to Windows. You can check it out here. In the meantime I'm working on my first real-world multithreaded software. Stay tuned ;-)The source code for the software that I've worked on is available for download at:http://</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=2410790817908369316' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2410790817908369316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/2410790817908369316'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/04/google-summer-of-code.html' title='Google Summer of Code'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-1085934965037132216</id><published>2007-03-08T01:28:00.000+07:00</published><updated>2009-02-08T22:02:18.892+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Back to The Future With Powerful FPUs, Multicore CPUs, Multithreaded Programming and More Programmer Control</title><summary type='text'>The next 5-10 years maybe the year that system programmers of the last 5 years have been waiting for. After about more than two decades of clockspeed scaling every single processor release by vendors such as Intel, AMD, and others, it finally hit the wall or at least very close to it. The trend today is more core per-CPU package (a.k.a multicore) rather than more MHz per chip package. This means </summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=1085934965037132216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1085934965037132216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/1085934965037132216'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/03/back-to-future-with-powerful-fpus.html' title='Back to The Future With Powerful FPUs, Multicore CPUs, Multithreaded Programming and More Programmer Control'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-7465600222568641982</id><published>2007-03-08T01:24:00.000+07:00</published><updated>2009-02-08T21:36:35.620+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BIOS Disassembly Ninjutsu Uncovered'/><title type='text'>About my book</title><summary type='text'>I'm not going to talk about my BIOS Disassembly Ninjutsu Uncovered book until it's officially launched and available in stores. So, please patient to those who have been waiting for it. I already have lot's of updates.</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=7465600222568641982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7465600222568641982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/7465600222568641982'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/03/about-my-book.html' title='About my book'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5964008201936624679.post-723847678692297093</id><published>2007-03-08T00:49:00.000+07:00</published><updated>2009-02-08T22:12:37.174+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc.'/><title type='text'>Finally... a reason to make a blog after resisting not to...</title><summary type='text'>Yeah, basically I'm not the kind of person to write a blog in anyway. However, I think I might have insights into the current industry trends in relation to research that some people will find useful.</summary><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5964008201936624679&amp;postID=723847678692297093' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/723847678692297093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5964008201936624679/posts/default/723847678692297093'/><link rel='alternate' type='text/html' href='http://darmawan-salihun.blogspot.com/2007/03/finally-reason-to-make-blog-after-all.html' title='Finally... a reason to make a blog after resisting not to...'/><author><name>Darmawan Salihun</name><uri>http://www.blogger.com/profile/16192437872942077146</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_l5tk5re0tH0/SrFKeo14OHI/AAAAAAAAALw/LTrbu2QAMSs/S220/pas_foto_small.jpg'/></author><thr:total>2</thr:total></entry></feed>
