<?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-23824948</id><updated>2012-02-16T19:43:09.949+07:00</updated><category term='UNIX'/><category term='Rock'/><category term='Kernel'/><category term='Java'/><category term='Health'/><category term='GTK+'/><category term='Family'/><category term='Linux'/><category term='C'/><category term='GNOME'/><category term='Projects'/><category term='Networking'/><title type='text'>rocker's blog</title><subtitle type='html'>[hacking, rock music, and girls...]</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ajhwb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default?start-index=101&amp;max-results=100'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>179</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23824948.post-1963658196342991858</id><published>2012-02-10T18:00:00.009+07:00</published><updated>2012-02-10T23:14:55.473+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><title type='text'>Set single bit integer</title><content type='html'>Sometime you may lose your mind on how to operate with single bit in an integer, moreover if you are not using bit operation for a long time. This is a quick refresh to deal with single bit operation.&lt;br /&gt;&lt;br /&gt;Given variable &lt;span style="font-family: courier new;"&gt;a&lt;/span&gt; type of &lt;span style="font-family: courier new;"&gt;int&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To set the nth bit&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a |= (1 &amp;lt;&amp;lt; n)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To clear the nth bit&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a &amp;amp;= ~(1 &amp;lt;&amp;lt; n)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To toggle the nth bit&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a ^= (1 &amp;lt;&amp;lt; n)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get nth bit value&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a &amp;gt;&amp;gt; n &amp;amp; 1&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1963658196342991858?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1963658196342991858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1963658196342991858'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2012/02/set-integer-bit-in.html' title='Set single bit integer'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-9079043197414939476</id><published>2011-10-14T15:10:00.008+07:00</published><updated>2011-10-14T15:36:01.860+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><title type='text'>Learn To Code</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Programming in C&lt;/span&gt; by Stephen G. Kochan (Sams Publishing, 2005) is my first C textual book that I ever had in the time. I download the PDF version and print it as a book 5 years ago. I read and learned almost each page of that book, solve each chapter's exercises with gcc or pseudo-code (if not at my computer), I can say I slept with the book in every single day, that's the very curious thing that I did for learning a computer programming language. I also have (the famous) &lt;span style="font-weight:bold;"&gt;The C Programming Language&lt;/span&gt; by the creator &lt;a href="http://en.wikipedia.org/wiki/Dennis_Ritchie"&gt;Dennis Ritchie&lt;/a&gt; and co-writer Brian Kernighan (Prantice Hall, 1978), &lt;span style="font-weight:bold;"&gt;Practical C Programming&lt;/span&gt; (O'Relly), but I waste a lot of my time with Kochan's book.&lt;br /&gt;&lt;br /&gt;With those books, I had impressive proggress in C programming, I extend that improvement by learning real world's implementation such as Linux system and kernel programming upto GUI toolkit programming, then I start to write some simple program just for hobby. The hobby wouldn't keep me only for this, I also write a few of larger program to be released as free software. Surprisingly, they got some intentions and appreciation by the public.&lt;br /&gt;&lt;br /&gt;And here I am, 5 years from the time I was learning. I don't know where I supposed to be if I didn't grab that book then start to write code in that time, I already wrote many simple upto big complex program using C. And what I got now? master of C programming? hell no, I still, even always to make mistake in coding just what I did in my very first codes, forget how to use the core features, code mistype, etc. Then what my improvements? my improvement is concept, a concept to understand how thing get works with this programming language, concept in how to use it's full abilities for solve programming complexity. And 5 years doesn't make enough time to be a master of a programming language, you will need 10 or more years for that, in two conditions, you must keep yourself using it, and you must keep learning it.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Dennis Ritchie (The Father of C, 1941 - 2011)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-9079043197414939476?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9079043197414939476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9079043197414939476'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/10/learn-to-code.html' title='Learn To Code'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-711950977637297675</id><published>2011-09-12T13:55:00.004+07:00</published><updated>2011-09-12T14:03:57.915+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='GNOME'/><category scheme='http://www.blogger.com/atom/ns#' term='GTK+'/><title type='text'>Simple gtkmm application development Makefile</title><content type='html'>I need to port a application from C to C++ with it's native &lt;a href="http://gtk.org"&gt;GTK+&lt;/a&gt; toolkit the &lt;a href="http://gtkmm.org"&gt;gtkmm&lt;/a&gt; library. So here it's &lt;span style="font-family: courier new;"&gt;Makefile&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;CC = g++&lt;br /&gt;SOURCES = util.cc parser.cc net.cc main.cc&lt;br /&gt;OBJECTS = ${SOURCES:.cc=.o}&lt;br /&gt;CFLAGS = -Wall -c `pkg-config --cflags gtkmm-2.4`&lt;br /&gt;LIBS = `pkg-config --libs gtkmm-2.4`&lt;br /&gt;TARGET = tsc-utility&lt;br /&gt;&lt;br /&gt;all: ${OBJECTS}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;${CC} ${LIBS} ${OBJECTS} -o ${TARGET}&lt;br /&gt;&lt;br /&gt;.cc.o:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;${CC} ${CFLAGS} $&lt;&lt;br /&gt;&lt;br /&gt;clean:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rm -rf *.o ${TARGET}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-711950977637297675?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/711950977637297675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/711950977637297675'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/09/simple-gtkmm-application-development.html' title='Simple gtkmm application development Makefile'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8583618844198144474</id><published>2011-08-19T13:44:00.008+07:00</published><updated>2011-08-21T17:35:15.226+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Custom PowerDNS Backend</title><content type='html'>So here I go, I was busy to develop &lt;a href="http://powerdns.com"&gt;PowerDNS&lt;/a&gt; custom &lt;a href="http://docs.powerdns.com/backends-detail.html#pipebackend"&gt;pipe backend&lt;/a&gt;, why I develop this because it need:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Filtering&lt;/span&gt;: If you familiar with internet filtering service such as &lt;a href="http://opendns.com"&gt;OpenDNS&lt;/a&gt; or a local service &lt;a href="http://nawala.org"&gt;Nawala&lt;/a&gt;, they can block domain names based on defined criteria. With custom backend all DNS client's queries are send to the backend, give the backend flexable way to manage them. Filtering or blocking was done by bypassing DNS A (IPv4) or AAAA (IPv6) plus additional SOA record to the client.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Logging&lt;/span&gt;: All DNS queries need to be logged for statistics, to generate complex statistics data, log storage should be in structural format such as database.&lt;br /&gt;&lt;br /&gt;So I called this backend with cpdns, stand for &lt;span style="font-weight:bold;"&gt;Custom PowerDNS Backend&lt;/span&gt;, cpdns need these following programs.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://redis.io"&gt;Redis&lt;/a&gt;: advanced memory database server, its has key-value concept to store data, perfect for distributed object caching.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://goog-perftools.sourceforge.net/doc/tcmalloc.html"&gt;TCMalloc&lt;/a&gt;: fast and efficient memory allocator used by Redis.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.nongnu.org/libunwind/"&gt;libunwind&lt;/a&gt;: C API used by TCMalloc.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="https://github.com/antirez/hiredis"&gt;hiredis&lt;/a&gt;: Redis C client.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://nlnetlabs.nl/projects/ldns/"&gt;libldns&lt;/a&gt;: C DNS library used by backend's resolver.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://mysql.org"&gt;MySQL&lt;/a&gt;: Famous RDBMS database to store domain filtering data and logs.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Short description about how the backend works, I'll divide backend's components based on their responsibility.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Query Parsing&lt;/span&gt;: PowerDNS &lt;br /&gt;&lt;br /&gt;Pars&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8583618844198144474?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8583618844198144474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8583618844198144474'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/08/custom-powerdns-backend.html' title='Custom PowerDNS Backend'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4618974025544125484</id><published>2011-07-27T08:46:00.003+07:00</published><updated>2011-08-03T09:08:00.477+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Family'/><title type='text'>Randi 1st birthday</title><content type='html'>This is a late post. Randi 1st birthday since he was &lt;a href="http://ajhwb.blogspot.com/2010/07/randy.html"&gt;born&lt;/a&gt;, so sorry I can't going home for that. Many friends come to join his birthday party, got many friends and gifts, his Mom told me that he participated well in singing the Happy Birthday songs. Congratulate my son for your 1st year in this world, We always do and pray for every good thing for you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;HAPPY BIRTHDAY RANDI!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4618974025544125484?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4618974025544125484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4618974025544125484'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/07/randi-1st-birthday.html' title='Randi 1st birthday'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5115993570478140068</id><published>2011-07-15T14:27:00.009+07:00</published><updated>2011-07-18T14:27:51.266+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>Scatter/gather I/O operation</title><content type='html'>This is a common way to do scatter/gather I/O (sometime called vectored I/O), it has great performance over large chunk of data. The &lt;span style="font-family: courier new;"&gt;readv()&lt;/span&gt; and &lt;span style="font-family: courier new;"&gt;writev()&lt;/span&gt; function are &lt;a href="http://en.wikipedia.org/wiki/Atomic_operation"&gt;atomic&lt;/a&gt; means these system call only issued for once to transfer multiple data into the kernel.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;unsigned len;&lt;br /&gt;long iovcnt, iovcnt_max;&lt;br /&gt;&lt;br /&gt;iovcnt_max = sysconf(_SC_IOV_MAX);&lt;br /&gt;/* Determine how many part of data to be written */&lt;br /&gt;&lt;br /&gt;while (len &amp;gt; 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;iovcnt = len &amp;gt;= iovcnt_max ? iovcnt_max : len;&lt;br /&gt;&amp;nbsp;&amp;nbsp;struct iovec iov[iovcnt];&lt;br /&gt;&amp;nbsp;&amp;nbsp;/* Initialize iov's members, process with readv() or writev() */&lt;br /&gt;&amp;nbsp;&amp;nbsp;len -= iovcnt;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above code first determine maximum allowed size of &lt;span style="font-family: courier new;"&gt;iovcnt&lt;/span&gt;, in Linux this value is 1024 but we should not rely on this but using system specific &lt;span style="font-family: courier new;"&gt;sysconf()&lt;/span&gt; function, after that the code determine &lt;span style="font-family: courier new;"&gt;struct iovec&lt;/span&gt; array and declare it as &lt;a href="http://en.wikipedia.org/wiki/Variable-length_array"&gt;VLA&lt;/a&gt; and loop to write or read data until all data has been processed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5115993570478140068?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5115993570478140068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5115993570478140068'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/07/scattergather-io-operation.html' title='Scatter/gather I/O operation'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1813987695148629338</id><published>2011-06-12T09:55:00.007+07:00</published><updated>2011-06-12T11:09:10.350+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>no shell: Permission denied</title><content type='html'>Last night I was working to copy the Fedora 15 (Livelock) filesystem into another filesystem, the reason is I want bigger filesystem space. Created a &lt;a href="http://ext4.wiki.kernel.org/"&gt;ext4&lt;/a&gt; filesystem for that after I failed with &lt;a href="https://btrfs.wiki.kernel.org/"&gt;btrfs&lt;/a&gt;, shit, I will working with that next time.&lt;br /&gt;&lt;br /&gt;So here the mighty command that did the magic, both of the filesystem is ext4 and mounted, the cp's -p option is to preverse file's mode, ownership and timestamp while copying.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cp -rp /mnt/livelock/* /mnt/new-livelock&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Boot the new filesystem and I got this when logging into bash.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;no shell: Permission denied&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I did regular procedure (ask uncle Google), someone at &lt;a href="http://fedoraforum.org"&gt;Fedora Forum&lt;/a&gt; got this problem and answered. It's about &lt;a href="www.nsa.gov/research/selinux/"&gt;SELinux&lt;/a&gt;. SELinux's file labeling mechanism might intended to identify file changes outside its control. The solution is to re-labeling the new filesystem's contents or just disable SELinux. Option 1 is fine for me, remount the new filesystem and issue&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;touch /mnt/new-livelock/.autorelabel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SELinux will auto-relabel filesystem contents and I got new Livelock that has bigger space.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1813987695148629338?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1813987695148629338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1813987695148629338'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/06/no-shell-permission-denied.html' title='no shell: Permission denied'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7960511276532263234</id><published>2011-04-28T16:23:00.008+07:00</published><updated>2011-04-29T11:31:48.116+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Asterisk Notes</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Simple call file contents&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Channel: Local@s/default&lt;br /&gt;Callerid: 911&lt;br /&gt;Extension: 12345&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then move the file to &lt;span style="font-family: courier new;"&gt;/var/spool/asterisk/outgoing&lt;/span&gt; (not by copying it) to make a call to default channel.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Creating an extension&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[default]&lt;br /&gt;exten =&gt; 12345,1,Answer()&lt;br /&gt;exten =&gt; 12345,n,Wait(0.5)&lt;br /&gt;exten =&gt; 12345,n,AGI(demo)&lt;br /&gt;exten =&gt; 12345,n,Hangup()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will create extension number &lt;span style="font-weight:bold;"&gt;12345&lt;/span&gt; at default channel, when dialled it will excecute an AGI file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Connect to a SIP account&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit &lt;span style="font-family: courier new;"&gt;/etc/asterisk/sip.conf&lt;/span&gt; and enter the registration information. For this example, I will add SIP server &lt;span style="font-weight:bold;"&gt;192.168.1.100&lt;/span&gt; with extension &lt;span style="font-weight:bold;"&gt;12345&lt;/span&gt; to be dialled when the extension is called, remember that &lt;span style="font-weight:bold;"&gt;12345&lt;/span&gt; must be already defined.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;register =&gt; username:password@192.168.1.100/12345&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SIP server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First create the SIP account, in this example account will use &lt;span style="font-weight:bold;"&gt;user&lt;/span&gt; extension context.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[sip_user]&lt;br /&gt;type=peer&lt;br /&gt;username=sip_user&lt;br /&gt;secret=1234&lt;br /&gt;host=dynamic&lt;br /&gt;context=user&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then register it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;register =&gt; sip_user:1234@192.168.24.203&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7960511276532263234?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7960511276532263234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7960511276532263234'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/04/asterisk-notes.html' title='Asterisk Notes'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8498668913094280703</id><published>2011-04-14T01:34:00.003+07:00</published><updated>2011-04-14T01:53:32.336+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>IVR</title><content type='html'>Today I start to develop &lt;a href="http://en.wikipedia.org/wiki/Interactive_voice_response"&gt;IVR&lt;/a&gt; (Interactive Voice Response) application, it's interesting and new hacking environment for me. I hope this will be more exciting hack. I noticed about &lt;a href="http://asterisk.org"&gt;Asterisk&lt;/a&gt;, a open source (GPL) telephony communication implementation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8498668913094280703?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8498668913094280703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8498668913094280703'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/04/ivr.html' title='IVR'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5068865819105602123</id><published>2011-04-09T08:46:00.004+07:00</published><updated>2011-04-09T09:03:14.890+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>Local Kernel Repository</title><content type='html'>Beside to clone the kernel development tree directly from its &lt;a href="http://git.kernel.org"&gt;git repository&lt;/a&gt;, I want to create repository from a stable kernel and its patches, I will have commit for each subversion patch. The last stable kernel at this time is 2.6.38.&lt;br /&gt;&lt;br /&gt;First download the 2.6.38 first release (not the subversion releases) named linux-2.6.38.tar.bz2, extract it with (my favourite bzip2 - tar style)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ bzip2 -dc linux-2.6.38.tar.bz2 | tar xf -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Initialize &lt;a href="http://git-scm.com"&gt;git&lt;/a&gt; repository, add files and do initial commit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ cd linux-2.6.38&lt;br /&gt;$ git init &amp;amp;&amp;amp; git add .&lt;br /&gt;$ git commit -m 'Linux 2.6.38'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Time to download the patches, please note that the kernel patch system is not a increment patch, this means when we got version 2.6.38.3 patch this must be applied to the first version in this case 2.6.38, not any of its subversion, eg. 2.6.38.2 or 2.6.38.1. At this time, I have these following patch files&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;patch-2.6.38.1.bz2&lt;br /&gt;patch-2.6.38.2.bz2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After we got out desired patches, so now lets create another branch for patching purposes, still at our master branch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ git branch 2.6.38&lt;br /&gt;$ git branch 2.6.38.1&lt;br /&gt;$ git checkout 2.6.38.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Issue patch command with (also my favourite bzip2 - patch command style)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ bzip2 -dc /path_to/patch-2.6.38.1.bz2 | patch -p1&lt;br /&gt;$ git commit -m 'Linux 2.6.38.1'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we have 2.6.38.1 version at 2.6.38.1 branch, then lets create 2.6.38.2 branch for 2.6.38.2 patch as well, remember that we must have first version to apply a patch, so create this branch based the first version branch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ git checkout 2.6.38&lt;br /&gt;$ git branch 2.6.38.2&lt;br /&gt;$ bzip2 -dc /path_to/patch-2.6.38.2.bz2 | patch -p1&lt;br /&gt;$ git commit -m 'Linux 2.6.38.2'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lets describe what we have in our repository, we already have 4 branches with its branch's name as its version, except for master branch, it has 2.6.38 version. I want to have each version has its commit on the master branch, but I don't have increment path for version 2.6.38.1 to 2.6.38.2, it is impossible to just merging 2.6.38.1 and 2.6.38.2 branch, so we must result a diff file from version 2.6.38.1 to 2.6.38.2, those commands simply do the magic.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ git checkout 2.6.38.2&lt;br /&gt;$ mkdir /path_to/2.6.38.2&lt;br /&gt;$ cp -r . /path_to/2.6.38.2/&lt;br /&gt;$ git checkout 2.6.38.1&lt;br /&gt;$ diff -ur . /patch_to/2.6.38.2 | bzip2 -zc &amp;gt; /path_to/patch-inc-2.6.38.2.bz2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The 2.6.38.1 to 2.6.38.2 patch is now generated in bz2 format, this an increament patch, we can now apply this patch to the master branch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ git checkout master&lt;br /&gt;$ bzip2 -dc /path_to/patch-inc-2.6.38.2.bz2 | patch -p1&lt;br /&gt;$ git commit -m 'Linux-2.6.38.2'&lt;br /&gt;$ git log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see the master branch log is now have increment version for each commit, this will be helpfull if we want to trace patches for every subversion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5068865819105602123?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5068865819105602123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5068865819105602123'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/04/local-kernel-repository.html' title='Local Kernel Repository'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7946525502747443</id><published>2011-02-26T15:56:00.005+07:00</published><updated>2011-02-26T16:25:48.263+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Friday Vacation</title><content type='html'>Yesterday MAT and their employers take a vacation, going to &lt;span style="font-weight:bold;"&gt;The Village&lt;/span&gt; hotel &amp; resort Ciawi, We started at 7 o'clock in the morning by a bus, I was arrived lately. We have some fun activities there, our event organizer divided us into groups and play some fun games. My group finished at first position, as the prize each of us got a nice back-case and a cool mug, other group also got their prize. As a surprise, I got new &lt;span style="font-weight:bold;"&gt;Samsung WiFi&lt;/span&gt; phone, my lucky day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7946525502747443?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7946525502747443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7946525502747443'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/02/friday-vacation.html' title='Friday Vacation'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4371602777676221286</id><published>2011-02-13T13:37:00.004+07:00</published><updated>2011-02-13T13:41:58.748+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Sunday Coding</title><content type='html'>It has been so long since my last post in this blog, many things happen and I can't post all of them. So welcome to my blog again, and here I am, in DB, working with GTO's SOP and standby routines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4371602777676221286?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4371602777676221286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4371602777676221286'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2011/02/sunday-coding.html' title='Sunday Coding'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1476289072634738520</id><published>2010-12-10T21:17:00.005+07:00</published><updated>2010-12-10T22:11:08.754+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Health'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>December Stuff</title><content type='html'>So here I am, at the end of year 2010, a very special moment for me personally. It was begin with my curiosity that take me to &lt;span style="font-weight:bold;"&gt;SIAGA RAYA&lt;/span&gt; hospital, yes It kills to curious and feel about this thing, I smokes a lot of cigarettes to be enjoyable, at least this paranoid though has been answered. Thanks God for another great lesson.&lt;br /&gt;&lt;br /&gt;For these 3 or more days, I will be busy to integrate the TCT with new &lt;a href="http://jasamarga.co.id/"&gt;Jasa Marga&lt;/a&gt;'s official card system, We invited our competitor's developer to solve some problems, the man is nice and very cooperative with us. The competitor will be the official card producer and issuer pointed by Jasa Marga.&lt;br /&gt;&lt;br /&gt;I just bought a &lt;a href="http://lionair.co.id"&gt;Lion Air&lt;/a&gt; ticket for 25th December on a travel agency at Rawamangun, right beside the Arion Plaza, not usually by using online ticket payment since this was not work because the teller machine could not process the transaction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1476289072634738520?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1476289072634738520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1476289072634738520'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/12/december-stuff.html' title='December Stuff'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4795295295286400981</id><published>2010-11-25T14:47:00.012+07:00</published><updated>2010-11-29T17:41:18.951+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>WAFER-LX800 as TCT board</title><content type='html'>Today I managed to configure IEI WAFER LX-800 board, the most important thing that the board has &lt;a href="http://en.wikipedia.org/wiki/Geode_(processor)"&gt;AMD Geode&lt;/a&gt; LX800 500MHz processor and 8 RS-232 port, it will also has to support PM-1028 multi-port PC-104 card.&lt;br /&gt;&lt;br /&gt;The board has a configurable IO address at it's BIOS that need to be adjusted in order to make the PM-1028 work, so here the configuration.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;WAFER LX2-800 IT8888 ISA Decode IO&lt;br /&gt;----------------------------------&lt;br /&gt;&lt;br /&gt;Decode&amp;nbsp;I/O&amp;nbsp;Space&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Enabled]&lt;br /&gt;Decode&amp;nbsp;I/O&amp;nbsp;Speed&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Slow Speed]&lt;br /&gt;Decode&amp;nbsp;I/O&amp;nbsp;Addr.&amp;nbsp;1&amp;nbsp;[15:0]&amp;nbsp;&amp;nbsp;&amp;nbsp;[0200]&lt;br /&gt;Decode&amp;nbsp;I/O&amp;nbsp;Size&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ 64 Bytes]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The 64 bytes size means that address range that PM-1028 used, the PCM-1028 multi-port module has &lt;span style="font-weight:bold;"&gt;200H - 238H&lt;/span&gt; address range by default so 64 bytes will more than enough and it is the only option after 32 bytes size.&lt;br /&gt;&lt;br /&gt;I also configure the PM-1028 multi-port to share one IRQ by using IRQ 5.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://debian.org"&gt;Debian Lenny&lt;/a&gt; doesn't provide GEODE &lt;a href="http://x.org"&gt;Xorg&lt;/a&gt; chipset driver by dafault. The package was named &lt;span style="font-weight:bold;"&gt;xserver-xorg-video-geode&lt;/span&gt;, without it the X server will fail to run no matter how the X configuration file is configured.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4795295295286400981?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4795295295286400981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4795295295286400981'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/11/wafer-lx800-as-tct-board.html' title='WAFER-LX800 as TCT board'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4453757623194565902</id><published>2010-11-22T11:19:00.010+07:00</published><updated>2010-11-22T15:18:48.709+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Bit Packing</title><content type='html'>Last night I was busy hacking toll ticket, the application will be installed on a device that will be used for reading ticket when the power goes down. The problem is I must not using our ticket format for it, yeah in the name of vandalism. This word is very famous here. So we choose open &lt;a href="http://en.wikipedia.org/wiki/Mifare#MIFARE_Classic"&gt;Mifare Classic 1K&lt;/a&gt; card for that, open means with the standard transport key configuration.&lt;br /&gt;&lt;br /&gt;The card need to hold some informations, the most important thing are shift (SH) and period (PR), vehicle classification (VC), plaza where the vehicle in (PI), post (PS), vehicle's direction (DR). We defined that maximum value for each information below all in integer type.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SH -&gt; 0 - 3, 11 (2 bit), 11 or 0x3 as bitmask&lt;br /&gt;PR -&gt; 0 - 99, 1100011 (7 bit), 1111111 or 0x7f as bitmask&lt;br /&gt;VC -&gt; 0 - 5, 101 (3 bit), 111 or 0x7 as bitmask&lt;br /&gt;PI -&gt; 0 - 99, 1100011 (7 bit), 1111111 or 0x7f as bitmask&lt;br /&gt;PS -&gt; 0 - 99, 1100011 (7 bit), 1111111 or 0x7f as bitmask&lt;br /&gt;DR -&gt; 0 - 3, 11 (2 bit), 11 or 0x3 as bitmask&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We have 28 bit, to construct them as integer we use the following as we already know&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(SH &amp;amp; 0x3) &amp;lt;&amp;lt; 26 | (PR &amp;amp; 0x7f) &amp;lt;&amp;lt; 19 | (VC &amp;amp; 0x7) &amp;lt;&amp;lt; 16 | (PI &amp;amp; 0x7f) &amp;lt;&amp;lt; 9 | (PS &amp;amp; 0x7f) &amp;lt;&amp;lt; 2 | (DR &amp;amp; 0x3)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For extracting those integers we use&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SH = value &amp;gt;&amp;gt; 26 &amp;amp; 0x3&lt;br /&gt;PR = value &amp;gt;&amp;gt; 19 &amp;amp; 0x7f&lt;br /&gt;VC = value &amp;gt;&amp;gt; 16 &amp;amp; 0x3&lt;br /&gt;PI = value &amp;gt;&amp;gt; 9 &amp;amp; 0x7f&lt;br /&gt;PS = value &amp;gt;&amp;gt; 2 &amp;amp; 0x7f&lt;br /&gt;DR = value &amp;amp; 0x3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is only a simple bit operation that sometime we forgot how they are works, so here the &lt;a href="http://rockerz.org/code/ktme-producer.c"&gt;source code&lt;/a&gt;, it need &lt;a href="http://rockerz.org/code/acr120/"&gt;ACR120 communication library&lt;/a&gt; to be compiled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4453757623194565902?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4453757623194565902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4453757623194565902'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/11/bit-pattern.html' title='Bit Packing'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2164931231751042882</id><published>2010-11-14T00:40:00.004+07:00</published><updated>2010-11-14T00:45:45.984+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Saturday Hacking</title><content type='html'>There are some significant progress with gBilling this week, I already released two development version of 0.2.1 and try to regain control at the forum. Let community know that this project is back in business and ready to rock. Tonight Me and Muchtar are in office, buy some Martabak and of course a hack party.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2164931231751042882?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2164931231751042882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2164931231751042882'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/11/saturday-hacking.html' title='Saturday Hacking'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-9143297687604451520</id><published>2010-11-11T12:59:00.005+07:00</published><updated>2010-11-11T13:37:38.640+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Moving</title><content type='html'>Yesterday Me, Ali and Dwi were dropping my stuffs into my new place, the new place is not far from the old place just for about less than 100 meters. This new house was better, quiet and peacefully but it still has some UNJ colleges, sport faculty that sucks.&lt;br /&gt;&lt;br /&gt;I spent my night in that place with my IBM laptop and some mosquito, because the mosquito was very disturbing, I went out for a fan and some insecticide from my old house. The room is still need a few thing, will do this in my spare time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Meanwhile I was busy to recover my deleted files that accidentally deleted in this &lt;a href="http://ajhwb.blogspot.com/2010/11/repairing-tct-cf-disk.html"&gt;previous post&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-9143297687604451520?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9143297687604451520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9143297687604451520'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/11/moving.html' title='Moving'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8446187753403435115</id><published>2010-11-09T14:03:00.021+07:00</published><updated>2010-11-11T13:55:26.753+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Repairing TCT CF disk</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OtRe_zHWoRM/TNkbL6lPQXI/AAAAAAAAAzg/nddZ36NCHKM/s1600/cf.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 127px;" src="http://2.bp.blogspot.com/_OtRe_zHWoRM/TNkbL6lPQXI/AAAAAAAAAzg/nddZ36NCHKM/s320/cf.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5537487108346691954" /&gt;&lt;/a&gt;The TCT uses &lt;a href="http://en.wikipedia.org/wiki/Compact_Flash"&gt;Compact Flash&lt;/a&gt; (CF) as it's storage device, the CF technology is cheap now. Depends on CF quality, CF operate in variety of speed, some well known manufacturer produce high-speed transfer rate CF. TCT uses Sandisk Ultra CF which expected to work at 15MB/s theoretically. &lt;br /&gt;&lt;br /&gt;Like another flash-based memory that use NAND, beside it has write cycle endurance it also being sensitive with electro static and improper handle. Many TCT's CF were suffer from this, fortunately, this problem didn't affect all memory part of the CF, usually errors only located on several block segment.&lt;br /&gt;&lt;br /&gt;First for all notice that in this writing, the CF has master disk with device's name &lt;span style="font-family: courier new;"&gt;/dev/sdc&lt;/span&gt;, to diagnose the bad block, we need to scan the broken CF then it should show up some warnings, maybe something like these&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#e2fsck /dev/sdc1&lt;br /&gt;...&lt;br /&gt;Buffer I/O error on device sdc, logical block 1082045&lt;br /&gt;end_request: I/O error, dev sdc, sector 1082045&lt;br /&gt;Buffer I/O error on device sdc, logical block 1082050&lt;br /&gt;end_request: I/O error, dev sdc, sector 1082050&lt;br /&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we know the damaged block, with &lt;span style="font-family: courier new;"&gt;fdisk&lt;/span&gt; we can create a partition with this trick.&lt;br /&gt;&lt;br /&gt;Let assume the CF has 1964088 logical block, we noticed in above &lt;span style="font-family: courier new;"&gt;e2fsck&lt;/span&gt; log that blocks upto 1082044 were unusable, we can safely create a partition which has about 1082044 logical block by set the last logical block equal or less than 1082044.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#fdisk /dev/sdc&lt;br /&gt;&lt;br /&gt;Command (m for help): u&lt;br /&gt;Changing display/entry units to sectors&lt;br /&gt;Command (m for help): n&lt;br /&gt;Command action&lt;br /&gt;   e   extended&lt;br /&gt;   p   primary partition (1-4)&lt;br /&gt;p&lt;br /&gt;Partition number (1-4): 1&lt;br /&gt;First sector (62-15761087, default 62): &lt;br /&gt;Using default value 62&lt;br /&gt;Last sector, +sectors or +size{K,M,G} (62-1964088, default 1964088): 1082044&lt;br /&gt;The partition table has been altered!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After the new partition has been created, first make sure the partition boot flag also already been activated with &lt;span style="font-family: courier new;"&gt;fdisk&lt;/span&gt;, then create the root filesystem of type &lt;span style="font-family: courier new;"&gt;ext3&lt;/span&gt; with&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#mke2fs -j /dev/sdc1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We need to extracting tar.gzip'ed TCT root filesystem to the partition with&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#mount -t ext3 /dev/sdc1 /mnt&lt;br /&gt;#tar xzf tct-rootfs.tar.gz -C /mnt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The tar.gzip'ed root filesystem created by compressing a previously working filesystem, assuming that the current working directory is the root directory of working filesystem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#tar czf /path/to/save/tct-rootfs.gz .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we have a working root filesystem, but one feature that is still missing is bootloader, using &lt;a href="http://www.gnu.org/software/grub/"&gt;GRUB&lt;/a&gt; is very complicated, why not use a small and simple bootloader &lt;a href="http://syslinux.zytor.com/wiki/index.php/EXTLINUX"&gt;EXTLINUX&lt;/a&gt;, from this time the TCT system should use EXTLINUX instead GRUB.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#extlinux --install /mnt/boot&lt;br /&gt;#cat /usr/lib/syslinux/mbr.bin &gt; /dev/sdc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create a simple configuration file, similar to &lt;span style="font-family: courier new;"&gt;syslinux&lt;/span&gt; configuration file. Use &lt;span style="font-family: courier new;"&gt;blkid&lt;/span&gt; to retrieve device UUID.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# /boot/extlinux.conf&lt;br /&gt;LABEL Lenny&lt;br /&gt;KERNEL /vmlinuz&lt;br /&gt;APPEND initrd=/initrd.img root=UUID=06e8bee6-ad09-41e8-8290-87ef6aa71df8 ro quiet vga=0x314 8250.nr_uarts=12&lt;br /&gt;TIMEOUT 20&lt;br /&gt;PROMPT 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Unmount and test for it, hopefully it should works!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;When working with this problem, I made stupid thing by rm -rf /media, this fuck my important data.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8446187753403435115?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8446187753403435115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8446187753403435115'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/11/repairing-tct-cf-disk.html' title='Repairing TCT CF disk'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OtRe_zHWoRM/TNkbL6lPQXI/AAAAAAAAAzg/nddZ36NCHKM/s72-c/cf.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7123073597505382766</id><published>2010-11-06T08:24:00.000+07:00</published><updated>2010-11-06T10:43:03.190+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>GTO Test</title><content type='html'>After so much modification now it is time to see how the GTO should work, the testing taken place at South Sentul plaza and participated by &lt;a href="http://jasamarga.co.id/"&gt;Jasa Marga&lt;/a&gt; and some people from &lt;a href="http://ui.ac.id"&gt;University of Indonesia&lt;/a&gt; computer science centre.&lt;br /&gt;&lt;br /&gt;The GTO tested first with self-testing procedures by using our cars, work fine as expected. Then it tested directly to the toll user, directly means the user come to the GTO and simulated like the user take the ticket by giving the real ticket as soon as produced card from GTO are taken by our man who stand in front of the GTO. The testing is smooth except for an CSD error that caused by mechanical problem. That's a good improvement.&lt;br /&gt;&lt;br /&gt;Tonight, Me and Muchtar are occupied this place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7123073597505382766?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7123073597505382766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7123073597505382766'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/11/gto-test.html' title='GTO Test'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1082042282742373942</id><published>2010-10-29T18:28:00.000+07:00</published><updated>2010-11-06T10:41:07.714+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Another GTO modification</title><content type='html'>Another GTO modification discussed today (again), that sucks because the GTO things such as distance between sensor is not properly calculated or in another word is &lt;span style="font-style:italic;"&gt;inconsistent&lt;/span&gt;. Therefore, the software need to be adjusted to handle the stupid design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1082042282742373942?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1082042282742373942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1082042282742373942'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/10/another-gto-modification.html' title='Another GTO modification'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8029691111716759267</id><published>2010-10-27T17:16:00.000+07:00</published><updated>2010-11-06T10:39:51.182+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>GTO Modification</title><content type='html'>Today I was so busy with the TCT for GTO transaction. The software need to modified in such way so it could produce a ticket without fail, the production is triggered by a sensor called LND, in the previous version when the CSD (Contactless Smartcard Dispenser) is currently busy the TCT could not manage to produce since the CSD was busy therefore it can't complete TCT request. The modification is about to save the LND count first and produce it as soon as the CSD becomes ready. Yes it's the correct trick.&lt;br /&gt;&lt;br /&gt;Meanwhile I have receive a appointment letter from my company, describe my position and new salary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8029691111716759267?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8029691111716759267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8029691111716759267'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/10/gto-modification.html' title='GTO Modification'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5510914540462912314</id><published>2010-10-24T02:14:00.000+07:00</published><updated>2010-11-06T10:38:11.048+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Saturday night with E-Toll</title><content type='html'>Tonight I resumed &lt;a href="http://www.bankmandiri.co.id/"&gt;Mandiri&lt;/a&gt; E-Toll reader communication module to be used by the TCT, the documentations shared with us deliberately, so it's impossible to know such error or response code, the program only know an operational error, but not the reason 'why?'. In my opinion, this device (E-Toll card reader) created without full understanding about how the TCT works and how it will be used in Toll transactions. One of the biggest mistake is the device provide timeout mechanism that should handled by TCT.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5510914540462912314?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5510914540462912314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5510914540462912314'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/10/saturday-night-with-e-toll.html' title='Saturday night with E-Toll'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-9199175825513745683</id><published>2010-10-23T08:41:00.000+07:00</published><updated>2010-11-06T10:36:05.518+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Health'/><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Bee's Sting</title><content type='html'>Last morning, when I was jogging at Rawamangun stadium, I was stung by some &lt;a href="http://en.wikipedia.org/wiki/Bee"&gt;Bees&lt;/a&gt;, before it I looked a group of children (maybe at medium-school-age) running just like being chased, without any doubt I just passed the way.&lt;br /&gt;&lt;br /&gt;I saw some bees surround me, and shit they stung me, I run as fast as I can but the bees keep chase me and I was hearing the children laughing on me ;) they are disturbs the bees, the sting was very hurt!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-9199175825513745683?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9199175825513745683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9199175825513745683'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/10/bees-sting.html' title='Bee&apos;s Sting'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-188244409971455230</id><published>2010-10-21T16:30:00.000+07:00</published><updated>2010-11-06T10:32:35.857+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>New Hosting</title><content type='html'>So here I am in the new domain and hosting, to run my modest blog, will transfer posts from my old &lt;a href="http://ajhwb.blogspot.com"&gt;blog&lt;/a&gt; manually later, this domain ordered and activated pretty fast, thanks for &lt;a href="http://rumahweb.com"&gt;hosting&lt;/a&gt; corporation. Beside blog, I can store and manage my pieces of code here rather than the paste-like-bin sites. What do you think with the domain's name? too difficult? indeed, this is just for my personal information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-188244409971455230?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/188244409971455230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/188244409971455230'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/10/new-hosting.html' title='New Hosting'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-3362886072833949143</id><published>2010-10-17T17:53:00.002+07:00</published><updated>2010-10-21T14:53:44.884+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Back from Kendari</title><content type='html'>Here in Jakarta, I arrived approximately at 8.00 PM using &lt;a href="http://lionair.co.id"&gt;Lion Air&lt;/a&gt; flight that previously re-scheduled and paid for almost Rp. 500.000 for that because the company (my company) 'compulsion', i feel sorry to use their offer. Accompanied by my brother Fandi to Kendari's Airport by a motorcycle, I brought some &lt;span style="font-style:italic;"&gt;Kerupuk Keju&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;Kacang Mede&lt;/span&gt;. The flight was more enjoyable than my previously flight, a few of small turbulences didn't make the plane too swayed. Here in Jakarta again, now I have been being a Husband.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-3362886072833949143?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3362886072833949143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3362886072833949143'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/10/back-from-kendari.html' title='Back from Kendari'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5619952275285177710</id><published>2010-10-04T17:35:00.006+07:00</published><updated>2010-10-18T17:50:18.863+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Special month</title><content type='html'>This October is a very special month for me, I'm getting married at 10/10/2010 in small town called &lt;a href="http://en.wikipedia.org/wiki/Soroako"&gt;Soroako&lt;/a&gt; my fiance's homegrown place. Will be going there at 7th day this month using a airplane heading to &lt;a href="http://en.wikipedia.org/wiki/Makassar"&gt;Makassar&lt;/a&gt;. Our families was very busy right now to prepare the wedding party.&lt;br /&gt;&lt;br /&gt;The big improvements with my live after going back from Kendari is: I was completely quit from smoking, I admit sometime for a strong suggestion made me want to have some nicotines inside my blood, hopefully I can manage this suggestion. I'm also having a regular exercise at Rawamangun stadium every morning to burn some fat and for health of course.&lt;br /&gt;&lt;br /&gt;Some hacking progress is about &lt;a href="http://gbilling.sourceforge.net"&gt;gBilling&lt;/a&gt;, I was busy with it's development, also re-creating the website using &lt;a href="http://wordpress.com"&gt;Wordpress&lt;/a&gt; based blog for easy management. The TCT development is getting more complex especially with the GTO and for some testing requirement modifications (that sucks). Playing with Python &lt;a href="http://pastebin.com/raw.php?i=Bcxm6ADC"&gt;script&lt;/a&gt; for serial implementation &lt;a href="http://pyserial.sourceforge.net"&gt;pySerial&lt;/a&gt; with ACR120 Smart Card Reader.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;HAPPY NEW LIFE FOR ME! AND KEEP IT ROCK'N!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5619952275285177710?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5619952275285177710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5619952275285177710'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/10/special-month.html' title='Special month'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5681189421282781940</id><published>2010-09-14T23:00:00.004+07:00</published><updated>2010-09-14T23:37:27.997+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Kendari Days</title><content type='html'>I'm enjoying my days in Kendari, having Idul Fitri 1431H with my families is wonderful. Many things happen, that most about Randi. At least I fell relieved and everything gonna be okay. I was flight from Jakarta at 6th Sept 12.55AM, via &lt;a href="http://lionair.co.id/"&gt;Lion Air&lt;/a&gt; plane flight number JT-728 with unfriendly weather condition, I was very impatient to wait for the arrival to &lt;a href="http://bandara.info/bandara-wolter-mongonsidi-menjadi-bandara-haluoleo.htm"&gt;Halueleo Ariport&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My daily activity mostly is accompanying little Randi with his mom. I also enjoy using our city transportation car locally named &lt;span style="font-style: italic;"&gt;PT-PT&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;propagandizing&lt;/span&gt; my rock'n style ;p. I was learning &lt;a href="http://ruby-lang.org"&gt;Ruby&lt;/a&gt; programming language, this language just looks more unique and cool for me. I may switch from &lt;a href="http://python.org"&gt;Python&lt;/a&gt; to this language for interpreted language choice. &lt;span style="font-style:italic;"&gt;Yeah I know they were written in C&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This night Aswar's daughter was born, my mom give help the birth. Congrats to him for (also) being a father.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5681189421282781940?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5681189421282781940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5681189421282781940'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/09/kendari-days.html' title='Kendari Days'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4912710241215993043</id><published>2010-09-02T16:14:00.003+07:00</published><updated>2010-09-02T16:39:57.619+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>Improving the TCT Tool</title><content type='html'>This &lt;a href="http://ajhwb.blogspot.com/2010/06/tct-tool.html"&gt;previous post&lt;/a&gt; describes how TCT Tool was written, It is using &lt;a href="http://en.wikipedia.org/wiki/Message_queue"&gt;POSIX Message Queue&lt;/a&gt; to exchange data. Basic on work, TCT Tool's message queue implementation almost work, only the main problem is the sender could read it's sent data, this sound weird because the TCT Tool would read it's data that intended to be read by the TCT. On the Toll, this problem hung up the TCT.&lt;br /&gt;&lt;br /&gt;I change the IPC implementation using &lt;a href="http://en.wikipedia.org/wiki/Unix_domain_socket"&gt;UNIX Domain Socket&lt;/a&gt;, first with datagram socket, the problem was just like the message queue, the TCT Tool receive it's sent data. The TCT Tool was not work until I use reliable stream socket, here the &lt;a href="http://pastebin.com/raw.php?i=GB87cjts"&gt;source code&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4912710241215993043?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4912710241215993043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4912710241215993043'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/09/improving-tct-tool.html' title='Improving the TCT Tool'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-3351603407912650635</id><published>2010-08-29T19:17:00.009+07:00</published><updated>2010-08-31T12:21:16.962+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Rock on Saturday</title><content type='html'>From yesterday I just stayed in my room, playing with my old friend: Thinkpad T30. I registered &lt;a href="http://www.indosatm2.com/"&gt;M2 Broadband&lt;/a&gt; and did some fun in the net, I admit that the broadband service is sucks, better than nothing, isn't it?. I was working on gBilling did many improvements and pushing the source code to &lt;a href="http://sourceforge.net"&gt;SourceForge&lt;/a&gt; Git repository, from now gBilling development should use the repo, I will announce it later in pre-release. I also create a &lt;a href="http://pastebin.com/raw.php?i=0kF0Ecdq"&gt;Python script&lt;/a&gt; to be used to simulate GTO and KSPT Terminal communication.&lt;br /&gt;&lt;br /&gt;At Sunday afternoon, I played my PRS guitar, learn a lesson from John Petrucci's Rock Discipline video as Guitar Pro format. Had fried rice after fasting at Super Grosir store. But sorry, I'll pay it later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-3351603407912650635?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3351603407912650635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3351603407912650635'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/08/rock-on-saturday.html' title='Rock on Saturday'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1989931382172145099</id><published>2010-08-25T12:17:00.002+07:00</published><updated>2010-08-25T12:19:34.116+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linus uses Fedora 12</title><content type='html'>I just hanging out at the &lt;a href="http://lkml.org"&gt;LKML&lt;/a&gt; (Linux Kernel Mailing List) to read some kernel related stuffs there, I saw in a &lt;a href="http://lkml.org/lkml/2010/8/16/8"&gt;post&lt;/a&gt; that Linus Torvalds uses Fedora 12, congratulation for all Fedora developers for making very best Linux distribution and used by the main kernel developer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1989931382172145099?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1989931382172145099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1989931382172145099'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/08/linus-uses-fedora-12.html' title='Linus uses Fedora 12'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7248180020832114050</id><published>2010-08-22T12:32:00.009+07:00</published><updated>2010-08-23T13:16:18.151+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Randi Leaves</title><content type='html'>We prepared from our house at 3.00 AM morning, pick a cab in front of Rawamangun Sport Center. We have some baggages that most of them are Randi's equipment. The cab driven very fast so not less than 1 hour we arrived at the airport, take a trolley for the baggages. By the way, We are come too early and we have to wait for about 1-2 hours before the check in. GA-604 is the flight number for &lt;a href="http://garuda-indonesia.com"&gt;Garuda Indonesia&lt;/a&gt; (GI) Airplanes, the departure place is located in 2F Terminal. At 6.30 We entered the check-in place and going to waiting room, I admit good cooperation with GI's officer and Airport's officer for letting me in to accompany them. Not so long, the officer asked the passenger to enter the plane. It's time to hug and kiss little Randi, We will meet soon my loves. &lt;br /&gt;&lt;br /&gt;Another GI's officer asked me for my boarding-pass, I don't have it and got little angry, he ordered me to exit from the under way, that's fine. Take a way to the exit door, bought a &lt;a href="http://kompas.com"&gt;KOMPAS&lt;/a&gt; newspaper and wait for airport bus to Rawamangun. Jakarta was look silent and peaceful this day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7248180020832114050?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7248180020832114050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7248180020832114050'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/08/randi.html' title='Randi Leaves'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-720807924712155466</id><published>2010-08-16T11:27:00.005+07:00</published><updated>2010-08-16T11:43:15.498+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>ARM based Notebook</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OtRe_zHWoRM/TGjB1grHeKI/AAAAAAAAAfU/q7bt2pS7cdg/s1600/201007131128440.IMAGE+r7.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://4.bp.blogspot.com/_OtRe_zHWoRM/TGjB1grHeKI/AAAAAAAAAfU/q7bt2pS7cdg/s320/201007131128440.IMAGE+r7.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5505863669508438178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is maybe a ARM week for me, Trio my office friend told me about this notebook, produced by an Indonesian made Notebook vendor &lt;a href="http://elevo.co.id/"&gt;ELEVO&lt;/a&gt;. It is using ARM9-533 Mhz processor comes with 10" display, 128 MB RAM, 2 GB Nano Flash storage, 802.11g Network Adapter, Built-in camera, 3 USB port, 1 SD card port. The more exciting thing is it's prices, sold only for about Rp.1.398.000. The ELEVO ARM based notebook series come with 2 model, the &lt;a href="http://elevo.co.id/product_overview.php?id_product=21"&gt;R7&lt;/a&gt; and &lt;a href="http://elevo.co.id/product_overview.php?id_product=22"&gt;R10&lt;/a&gt;, the difference between them is only the display size. &lt;br /&gt;&lt;br /&gt;I'm very interesting to buy the R10, yes it is! it is based on ARM board, it is a `litle' unique processor for notebook, isn't it?. The bundled OS is &lt;a href="http://msdn.microsoft.com/en-us/windowsembedded/ce/default.aspx"&gt;Windows CE 6.0&lt;/a&gt; but i want to make it Linux heh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-720807924712155466?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/720807924712155466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/720807924712155466'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/08/arm-based-notebook.html' title='ARM based Notebook'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_OtRe_zHWoRM/TGjB1grHeKI/AAAAAAAAAfU/q7bt2pS7cdg/s72-c/201007131128440.IMAGE+r7.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5926506301584129710</id><published>2010-08-11T13:22:00.022+07:00</published><updated>2010-08-15T10:56:55.917+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>QEMU emulated ARM System</title><content type='html'>This is my notes basic on my own expirement (alone of-course) to build Linux system on QEMU emulated ARM Versatile board. I use &lt;a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.49.tar.bz2"&gt;Linux 2.6.27.49&lt;/a&gt; and &lt;a href="http://busybox.net/downloads/busybox-1.17.1.tar.bz2"&gt;BusyBox 1.17.1&lt;/a&gt;. My host is a x86-PC, run Fedora 12 (Constantine), the Fedora's developer fortunately provide &lt;a href="http://ftp.linux.org.uk/pub/linux/arm/fedora/cross/latest/i386/"&gt;ARM toolchain repository&lt;/a&gt; in this &lt;a href="http://fedoraproject.org/wiki/Architectures/ARM/CrossToolchain"&gt;page&lt;/a&gt;. Okay here my steps&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Getting the Toolchains&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Activate the repo by adding these lines to &lt;span style="font-style: italic;"&gt;/etc/yum.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[fedora-arm-toolchain]&lt;br /&gt;name=Fedora ARM Toolchain&lt;br /&gt;failovermethod=priority&lt;br /&gt;baseurl=http://ftp.linux.org.uk/pub/linux/arm/fedora/cross/latest/i386/&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After this, we are going to install the toolchains. Issuing this command will also install all of it's dependencies.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# yum install armv5tel-redhat-linux-gnueabi-gcc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and tell the world for our new toolchain's family commands&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ export ARM_TOOLCHAIN=armv5tel-redhat-linux-gnueabi-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Preparing BusyBox and the initramfs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's time to configure BusyBox, feel free to customize for your own configuration, all configuration below is only for my own experiment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ make ARCH=arm defconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ make ARCH=arm CROSS_COMPILE=$ARM_TOOLCHAIN install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Goto BusyBox install directory to create our rootfs for initramfs, create these following directories and files&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# cd _install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# mkdir -p etc/init.d/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# mkdir proc/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here a simple &lt;span style="font-style:italic;"&gt;/etc/inittab&lt;/span&gt; file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# /etc/inittab&lt;br /&gt;&lt;br /&gt;::sysinit:/etc/init.d/rcS&lt;br /&gt;::respawn:-/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and a simple &lt;span style="font-style:italic;"&gt;/etc/init.d/rcS&lt;/span&gt; file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;echo "Mounting /proc file system"&lt;br /&gt;mount -t procfs /proc&lt;br /&gt;echo&lt;br /&gt;echo "Welcome to `uname -rsm`"&lt;br /&gt;echo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create minimal device files&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# mknod dev/tty c 5 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# mknod dev/console c 5 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And create the rootfs archive&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# ln -sf bin/busybox init&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ find . | cpio -o -H newc | gzip &gt; /path/to/rootfs.cpio.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Build the Kernel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Prepare our kernel, we use initramfs support through the kernel config. This &lt;a href="http://www.mjmwired.net/kernel/Documentation/filesystems/ramfs-rootfs-initramfs.txt"&gt;page&lt;/a&gt; contains great documentation for initramfs and rootfs creation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IMPORTANT since we are using toolchain that support ARM ABI (EABI), don't forget to enable this in kernel configuration called CONFIG_EABI, otherwise you will get "Kernel panic not syncing" error because different ABI version between the kernel and the toolchains.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will need to enable initramfs/initrd support in kernel configuration and point your rootfs archive, that is our rootfs.cpio.gz &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ make ARCH=arm versatile_defconfig&lt;br /&gt;$ make ARCH=arm menuconfig&lt;br /&gt;$ make ARCH=arm CROSS_COMPILE=$ARM_TOOLCHAIN zImage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After compiling, lets try and pray for our new ARM Versatile's kernel, testing the kernel with&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ qemu-system-arm -M versatilepb -kernel /path/to/zImage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If everything okay, you would see the kernel is boot up and bring the init process, congrats! your kernel is running, you are probably taken to the shell and playing with our very simple and emulated embedded system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;to be hardly re-written...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5926506301584129710?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5926506301584129710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5926506301584129710'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/08/building-embedded-arm-system.html' title='QEMU emulated ARM System'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8773830159774509544</id><published>2010-08-07T11:29:00.003+07:00</published><updated>2010-08-07T11:49:31.572+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNOME'/><title type='text'>Sensus GNOME</title><content type='html'>&lt;a target="_blank" href="http://www.neary-consulting.com/" rel="external"&gt;Nearly Consulting&lt;/a&gt;, konsultan yang menspesialkan dirinya untuk hubungan komunitas dan strategi software bebas, telah &lt;a target="_blank" href="http://www.neary-consulting.com/index.php/2010/07/28/gnome-census-report-available/" rel="external"&gt;menerbitkan&lt;/a&gt; sebuah hasil dari studi sensus &lt;a target="_blank" href="http://www.gnome.org/" rel="external"&gt;GNOME&lt;/a&gt;. Menurut pendiri Nearly Consulting Dave Neary, laporan sensus itu telah menganilisa bagaimana para developer berpartisipasi dalam proyek GNOME dan mengamati pola proyek ini. &lt;p&gt;Laporan itu menemukan bahwa lebih dari 70% dari developer menyebut diri mereka sebagai sukarelawan, berkerja untuk GNOME diwaktu luang mereka. Red Hat adalah kontibutor terbesar proyek ini dan bagian-bagian utama proyek ini, para developer mereka bertanggung jawab pada hampir 17% pada semua &lt;span style="font-style: italic;"&gt;commits&lt;/span&gt; (masukan kode program) yang diukur oleh riset ini. Beberapa organisasi lainnya, termasuk Novell (10%), spesialis open source Inggris &lt;a target="_blank" href="http://www.collabora.co.uk/" rel="external"&gt;Collabora Ltd.&lt;/a&gt; (hampir 5%), Intel (2.5%) dan Fluendo, juga membuat kontribusi yang penting pada proyek desktop ini. Para kontributor paling atas adalah perkeja Red Hat Matthias Clasen dan Richard Hughes dengan 1.8% dan 1.7% masing-masing. &lt;/p&gt; &lt;p&gt;Laporan penuh studi ini, berjudul "&lt;a target="_blank" href="http://blogs.gnome.org/bolsh/files/2010/07/GNOME-Census.pdf" rel="external"&gt;Sensus GNOME: Siapa yang menulis GNOME?&lt;/a&gt;", tersedia pada website Nearly Consulting untuk di download bebas. Sensus GNOME ini &lt;a target="_blank" href="http://www.neary-consulting.com/index.php/services/gnome-census/" rel="external"&gt;dilisensikan&lt;/a&gt; di bawah lisensi &lt;a target="_blank" href="http://creativecommons.org/licenses/by-sa/3.0/" rel="external"&gt;Creative Commons Attribution-ShareAlike 3.0 Unported License&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8773830159774509544?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8773830159774509544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8773830159774509544'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/08/sensus-gnome.html' title='Sensus GNOME'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-3899415750985642761</id><published>2010-08-07T10:43:00.004+07:00</published><updated>2010-08-07T11:16:18.513+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Debian Squeeze frozen</title><content type='html'>Menjelang DebConf10, yang saat ini diselenggarakan di New York, para developer Debian mengumumkan bahwa Debian 6.0 "Squeeze" telah memasuki tahap &lt;span style="font-style: italic;"&gt;frozen&lt;/span&gt;. Ini berarti pengembangan selanjutnya dari versi berikutnya telah berada pada babak baru dimana lebih fokus ke perbaikan bug dan membenahi distro untuk tahap &lt;span style="font-style: italic;"&gt;release&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Freeze&lt;/span&gt; berarti bahwa saat ini memungkinkan untuk melihat apa yang akan Debian 6.0 tawarkan. Menurut &lt;a href="http://lists.debian.org/debian-announce/2010/msg00009.html"&gt;pemberitahuan&lt;/a&gt;, "Squeeze" akan menghadirkan kernel Linux 2.6.32 pada instalasi standar di semua arsitektur. Untuk lingkungan desktop, "Squeeze" akan menyediakan KDE 4.4.5, GNOME 2.30.0, LXDE 0.5.0, XFCE 4.6.2, yang didukung oleh X.org 7.5 dan termasuk OpenOffice 3.2.1. Aplikasi server seperti Apache 2.2.16, PHP 5.3.2, MySQL 5.1.48, PostgreSQL 8.4.4 dan Samba 3.4 akan turut dimasukkan. Pengembang akan menemukan interpreter dan compiler untuk Python 2.6 and 3.1, Perl 5.10, GHC 6.12 dan GCC 4.4 yang disertakan.&lt;br /&gt;&lt;br /&gt;"Squeeze" juga akan disertakan dengan beberapa varian versi yang berasal dari kernel FreeBSD sistem 32 dan 64-bit x86 menggunakan GNU libc dan GNU userland. Versi ini terlihat seperti "review teknologi" tapi para pengembang yakin bahwa ini adalah pertama kali sebuah distro Linux dikembangkan untuk menggunakan kernel non-Linux.&lt;br /&gt;&lt;br /&gt;Sumber: &lt;a href="http://h-online.com/"&gt;H-Online&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-3899415750985642761?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3899415750985642761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3899415750985642761'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/08/debian-squeeze-frozen.html' title='Debian Squeeze frozen'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8067744476514104793</id><published>2010-07-27T16:21:00.003+07:00</published><updated>2010-07-27T16:35:59.704+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Randy</title><content type='html'>Today is my very special day, Randy was born to this world at 07/27/10 @3.15 AM, his mom fight very well last night, she fight from 26th's morning until he was born. I admit his strong mom, spirit-full and work-hard nurses and a good doctor there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8067744476514104793?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8067744476514104793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8067744476514104793'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/07/randy.html' title='Randy'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4141674310623581255</id><published>2010-07-20T12:15:00.003+07:00</published><updated>2010-07-20T12:23:04.354+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Twitter on Blogger!</title><content type='html'>If you want to embed your Twitter updates in Blogger, you can use &lt;a href="http://twitter.com/badges/blogger"&gt;this application&lt;/a&gt; to create the code and put it in a HTML/JavaScript widget. Click &lt;a href="http://pastebin.com/raw.php?i=nB7WKfRp"&gt;here&lt;/a&gt; if you want to see my generated code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4141674310623581255?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4141674310623581255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4141674310623581255'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/07/twitter-on-blogger.html' title='Twitter on Blogger!'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-717259423316865030</id><published>2010-07-10T15:11:00.007+07:00</published><updated>2010-07-10T15:42:58.542+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>TCT's cycle time algorithm</title><content type='html'>This is a code that describes TCT cycle algorithm, the first method is by using a thread, i don't know why i should use the unimportant thread in the past. However, this is the newest and improved code.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=ZgLh7k7A"&gt;http://pastebin.com/raw.php?i=ZgLh7k7A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PS. I wrote these without the fucking smokes, what a progress.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-717259423316865030?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/717259423316865030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/717259423316865030'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/07/tcts-cycle-time-algorithm.html' title='TCT&apos;s cycle time algorithm'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7417766364222610095</id><published>2010-07-05T12:08:00.008+07:00</published><updated>2010-07-07T15:47:51.540+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Dwi's Marriage</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OtRe_zHWoRM/TDQkfVbpCwI/AAAAAAAAASc/taMV6MIjPaI/s1600/IMG0049A.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 218px; height: 240px;" src="http://1.bp.blogspot.com/_OtRe_zHWoRM/TDQkfVbpCwI/AAAAAAAAASc/taMV6MIjPaI/s320/IMG0049A.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5491053966419102466" /&gt;&lt;/a&gt;Friday 07/03/2010 Hadi, Agus OB and me are going to Senen Train Station. We are going to Yogjakarta with a business class train. The train looks so full, some passenger couldn't find seat, the just sit anywhere in the train. It was very uncomfortable. After killed at the train for about 10-12 hours at least we are arrived at Yogyakarta's train station (Tugu). Walks out around the station to find a hotel for rest. There are no empty hotel there, we taken by a taxi to Parang Tritis's road to find hotel. But always full, the &lt;span style="font-style:italic;"&gt;Muhammadiyah Muktamar&lt;/span&gt; participants made each hotel at Yogyakarta full. With no result we decided directly to Magelang (Dwi's City).&lt;br /&gt;&lt;br /&gt;Travel from Yogyajarta to Magelang taken about 1 hour drive by a cab. Not need many hours to find a Hotel there, i found simple hotel located at center of Magelang city called Hotel Mutiara, it's enough and cheap.&lt;br /&gt;&lt;br /&gt;After take rest for a while, Agus SMG comes to our hotel and take us to Dwi.  Dwi is treated at the hospital since he out from OMNI hospital. Tomorrow is his marriage's day. If he are not ready, the marriage will held at the hospital, of course. Said his father when visiting his house.&lt;br /&gt;&lt;br /&gt;The marriage was held in the hospital, his families comes, so we are. We also attending the reception. We are going back to Jakarta with a car driven by Mr. Lilik, happy new life and best luck for you my friend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7417766364222610095?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7417766364222610095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7417766364222610095'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/07/dwis-marriage.html' title='Dwi&apos;s Marriage'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_OtRe_zHWoRM/TDQkfVbpCwI/AAAAAAAAASc/taMV6MIjPaI/s72-c/IMG0049A.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-6670877408784364204</id><published>2010-07-02T12:11:00.001+07:00</published><updated>2010-07-07T13:39:59.901+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>TCT Launch at Cibubur</title><content type='html'>Last night we were in Cibubur Ramp to install our new toll equipments, new TCT was installed in all post (there are 8 posts at Cibubur Ramp). We began the switching process at 3rd shift one by one. Before operating for the real transactions, each TCT is examined by some JM official. So far so good except for the post officer's scheduling, this happen when entering new day at 00.00 AM. Something that never predicted or examined before. &lt;br /&gt;&lt;br /&gt;Some improvements made, but the changes is not heavily tested and another problem come. I already made some fix and improvements with TCT regarding these issues, such as the cycle time source (TCT capability to decide if new cycle has been passed or not), transaction's data ID, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-6670877408784364204?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6670877408784364204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6670877408784364204'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/07/tct-launch-at-cibubur.html' title='TCT Launch at Cibubur'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8268055517284894134</id><published>2010-06-30T16:21:00.008+07:00</published><updated>2010-07-10T15:37:22.236+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Quit from smoking</title><content type='html'>&lt;span style="font-style: italic;"&gt;6/30/10 @4:21 PM&lt;/span&gt;&lt;br /&gt;This my 4th day for quit from smoking, this kills but i'll not going down. Quit from smoking kill as smoking it self, but better to quit. I still get a new life after death from `killed' by quit smoking. Also smoking is not cool anymore (when smoking is cool?)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;7/1/10 @10:10 AM&lt;/span&gt;&lt;br /&gt;The 5th day, just like tomorrow... kills. Meanwhile Dwi was gone to Magelang with his family, Agus and our driver. Hadi ordered some train tickets for us to Jogjakarta. [Power Slaves - Impian]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;7/8/10 @10.17 AM&lt;/span&gt;&lt;br /&gt;The 12th day, I still have strong suggestion for smoking but I can handle this more easily than before, a few days before I can't prevent the suggestion, so I suck some smokes just to taste the nicotine in my blood (3 - 5 sucks i guess). The significant progress is I can concentrate for writing some codes without having them, that's very hard to accomplished when I was smoker active.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;7/10/10 @3.33 PM&lt;/span&gt;&lt;br /&gt;More and more better this time, today i have to go to the Airport for Anty, she is going to Jakarta. I was so happy ;p.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8268055517284894134?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8268055517284894134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8268055517284894134'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/quit-from-smoking.html' title='Quit from smoking'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-6245649438227171203</id><published>2010-06-28T13:01:00.006+07:00</published><updated>2010-06-30T14:10:41.727+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>OMNI Hospital</title><content type='html'>Yesterday Ali called me told me about Dwi was getting ill and was taken into the OMNI hospital at Pulomas. Doctor diagnosed him getting Lung Infection, several disease such Typhus, DBD was symptom.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Continued at 6/30/10 @ 1.11pm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It has been 4 days Dwi at the hospital, me and `The Two' Agus take care him and spent all night long at the hospital. There are some fun there ;). Now his condition is much better let alone his fiancée already come. Okay, best luck and health for you friend. Take care.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;PS. I think something is wrong with my stomach, better to go to the Doctor also at the hospital to diagnose my stomach too.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-6245649438227171203?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6245649438227171203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6245649438227171203'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/omni-hospital.html' title='OMNI Hospital'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8244600459190660532</id><published>2010-06-25T10:32:00.006+07:00</published><updated>2010-06-25T11:39:44.337+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>setuid</title><content type='html'>The &lt;span style="font-weight:bold;"&gt;setuid&lt;/span&gt; system call will set effective user IDs for the calling process. Some system call require privileged user. Linux implements &lt;a href="http://standards.ieee.org/regauth/posix/"&gt;POSIX 1e&lt;/a&gt; for capabilities since Kernel 2.2. Take a look the &lt;span style="font-weight:bold;"&gt;ping&lt;/span&gt; program which create raw socket that require &lt;span style="font-style:italic;"&gt;CAP_SYS_RAW&lt;/span&gt; capabilities. Here the permission attributes for this program.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[ajhwb@ajhwb-constantine ~]$ ls -l $(which ping)&lt;br /&gt;-rwsr-xr-x. 1 root root 41976 2010-05-11 21:03 /bin/ping&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[ajhwb@ajhwb-constantine ~]$ stat --printf="owner permission:%a uid:%U gid:%G\n" $(which ping)&lt;br /&gt;owner permission:4755 uid:root gid:root&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Take a look for owner permission mode, &lt;span style="font-style:italic;"&gt;rws&lt;/span&gt; (4755) define a setuid to owner (root) for calling process. Unprivileged user can run this process as root privilege that is to create the raw socket. So, any setuid program must be carefully designed to prevent exploitation.&lt;br /&gt;&lt;br /&gt;Linux capabilities FAQ: &lt;a href="http://pastebin.com/raw.php?i=3SbfSN8s"&gt;http://pastebin.com/raw.php?i=3SbfSN8s&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8244600459190660532?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8244600459190660532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8244600459190660532'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/setuid.html' title='setuid'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7227375985714386476</id><published>2010-06-21T14:48:00.003+07:00</published><updated>2010-06-23T15:20:56.894+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>First TCT Launch</title><content type='html'>New TCT are now operating in Bogor Ring Road Toll today, it's already used for real transaction. So far so good, made me a litle proud and confident. At least, my work was used in a real Toll system. The TCT system is based on Debian 5.04 (Lenny) on a 1 Ghz Intel Celeron single-board computer. Recall my worst day at Kalijati - Antapani when learning C and Linux, i miss that days! Rock with Alter Bridge's songs ;p.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7227375985714386476?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7227375985714386476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7227375985714386476'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/first-tct-launch.html' title='First TCT Launch'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1974090892156812787</id><published>2010-06-16T18:22:00.005+07:00</published><updated>2010-06-16T18:54:38.822+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>TCT Tool</title><content type='html'>TCT Tool is a application that do some privileged tasks in the TCT machine. By default, TCT run in non-privileged mode so it can't do for example sending &lt;span style="font-style:italic;"&gt;ioctl&lt;/span&gt; to the ethernet driver, update the system time, and many more. They use &lt;a href="http://en.wikipedia.org/wiki/Message_queue"&gt;POSIX message queue&lt;/a&gt; for communication. Thanks for &lt;span style="font-weight:bold;"&gt;Glynn Clements&lt;/span&gt; at &lt;span style="font-style:italic;"&gt;linux-c-programming&lt;/span&gt; who helped me out with message queue descriptor permission.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=x4X6G4uf"&gt;http://pastebin.com/raw.php?i=x4X6G4uf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1974090892156812787?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1974090892156812787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1974090892156812787'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/tct-tool.html' title='TCT Tool'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-798306866878024577</id><published>2010-06-15T00:32:00.003+07:00</published><updated>2010-06-15T00:57:52.573+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Crazy with these peoples</title><content type='html'>I'm being crazy with some peoples in this house. They are very individualistic and not care with peoples around them. Most of them are college of UNJ (Universitas Negeri Jakarta) who took 'sporty' faculty (what the hell is that?), I'm planning to move from this house, maybe by rent a small house at more comfortable places than this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-798306866878024577?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/798306866878024577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/798306866878024577'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/crazy-with-these-peoples.html' title='Crazy with these peoples'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-3285434664856206231</id><published>2010-06-11T20:33:00.005+07:00</published><updated>2010-06-11T20:42:11.321+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Regular day</title><content type='html'>This is a regular day, i have been making significant features and improvements in the TCT such as automatic fares updates, PCS communication and Smartcard key code implementation. This week is a busy week for our equipements, especially for the TCT unit. A team is testing these units very intensive, they are from &lt;a href="http://ui.ac.id"&gt;University of Indonesia&lt;/a&gt; employeed by our client. Yesterday i made appoinment to Icha to meet her at Semanggi Plaza, but... sory girl.. i don't mean to be. I really want to help you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;I love new &lt;a href="http://blogger.com"&gt;Blogger&lt;/a&gt; templates and already try some of it. It is so cool!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-3285434664856206231?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3285434664856206231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3285434664856206231'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/regular-day.html' title='Regular day'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-3549609041306024330</id><published>2010-06-09T12:07:00.008+07:00</published><updated>2010-06-11T20:32:35.046+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Foo Fighters - Wheels</title><content type='html'>&lt;img src="http://2.bp.blogspot.com/_OtRe_zHWoRM/TBI6b_HmQNI/AAAAAAAAARw/wjzUmsEndco/s320/foo-fighters001.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5481507948937494738" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;This is a cool single album from the Foos, i like it so much ;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I know what you're thinkin'&lt;br /&gt;We were goin' down&lt;br /&gt;I can feel the sinkin'&lt;br /&gt;But then I came around&lt;br /&gt;&lt;br /&gt;And everyone I've loved before&lt;br /&gt;Flashed before my eyes&lt;br /&gt;And nothin' mattered anymore&lt;br /&gt;I looked into the sky&lt;br /&gt;&lt;br /&gt;Well I wanted something better man&lt;br /&gt;I wished for something new&lt;br /&gt;And I wanted something beautiful&lt;br /&gt;And wish for something true&lt;br /&gt;Been lookin' for a reason man&lt;br /&gt;Something to lose&lt;br /&gt;&lt;br /&gt;When the wheels come down&lt;br /&gt;When the wheels touch ground&lt;br /&gt;And you feel like it's all over&lt;br /&gt;There's another round for you&lt;br /&gt;When the wheels come down&lt;br /&gt;&lt;br /&gt;Know your head is spinnin'&lt;br /&gt;Broken hearts will mend&lt;br /&gt;This is our beginning&lt;br /&gt;Comin to an end&lt;br /&gt;&lt;br /&gt;Well, you wanted something better man&lt;br /&gt;You wished for something new&lt;br /&gt;Well, you wanted something beautiful&lt;br /&gt;Wished for something true&lt;br /&gt;Been lookin for a reason man&lt;br /&gt;Something to lose&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-3549609041306024330?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3549609041306024330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3549609041306024330'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/foo-fighters-wheel.html' title='Foo Fighters - Wheels'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OtRe_zHWoRM/TBI6b_HmQNI/AAAAAAAAARw/wjzUmsEndco/s72-c/foo-fighters001.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1819344383957392084</id><published>2010-06-07T12:06:00.004+07:00</published><updated>2010-06-07T12:35:41.862+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Salatiga Trip</title><content type='html'>Saturday morning I was woke up late, and already make appointment with Narissa at Gambir train station, shit... Reynilda and Narissa call me every time, Narissa already been there and bought a train ticket to Semarang. The alarm and the phone call ring seem didn't make sense with my ears. At least i wake up at 6.30 AM after Reynilda called me (for i don't remember how many times), actually i have make promise to Narissa to get there at 3.00 AM and find tickets for us. Sorry lady, i didn't mean to be it.&lt;br /&gt;&lt;br /&gt;We sit aside, she brought many bags, &lt;span style="font-style:italic;"&gt;girls&lt;/span&gt;... After 6 hours seating, sleeping and talking we were arrived at Semarang, Gimsong and Reynilda come and pick up us. This is my first time in Salatiga, the city is about 1 hour car-driving from Semarang. Pretty cold there, you will remember Bandung's Lembang when you were there.&lt;br /&gt;&lt;br /&gt;They took me at Sate Restaurant, Happy Puppy Karaoke, Fish traditional restaurant, Banana Fries. I waste my times with some horror movies and watching some local TV program. At Monday at approx. 10 PM, they took me to Tawang train station. I have business class train since the excecutive class was full ordered. I was enjoying 6 or more annoying hours with this business class ;p&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1819344383957392084?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1819344383957392084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1819344383957392084'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/salatiga-trip.html' title='Salatiga Trip'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8597963232103348243</id><published>2010-06-01T19:20:00.003+07:00</published><updated>2010-06-02T11:09:37.686+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Wait in Mandiri</title><content type='html'>Today is not so good, since my ATM card was lost in Kendari i must take money manually. I was waiting to withdraw out some money at Mandiri Pemuda branch office. Fani called me before. The bank is full of costumer, i almost spent about an half hour to wait and re-waiting after the officer told me that she need to wait confirmation (since i am not taking from it's registered branch) from Pulomas Mandiri's branch. When the officer called me, she said about my withdraw exceeding limitation and something wrong with my identification verification. Shit!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8597963232103348243?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8597963232103348243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8597963232103348243'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/wait-in-mandiri.html' title='Wait in Mandiri'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7919856462439526299</id><published>2010-06-01T18:58:00.002+07:00</published><updated>2010-06-01T19:20:16.048+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Fedora 13 (Goddard)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OtRe_zHWoRM/TAT2COk-6GI/AAAAAAAAARc/FCAHADZjiPo/s1600/f13release.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 100px;" src="http://1.bp.blogspot.com/_OtRe_zHWoRM/TAT2COk-6GI/AAAAAAAAARc/FCAHADZjiPo/s320/f13release.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5477773564922751074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fedora 13 is out now, most significant features are a new live installer, color management and 3D View based on &lt;a href="http://live.gnome.org/GnomeShell"&gt;GNOME Shell&lt;/a&gt;. Use Kernel 2.6.33, X.Org X Server 1.8.0, GNOME 2.30, Mozilla Firefox 3.6.3 and many more.&lt;br /&gt;&lt;br /&gt;New included applications are Shotwell Photo Manager, Planner Project Management, &lt;a href="http://pino-app.appspot.com/"&gt;pino&lt;/a&gt; (Twitter and Identi.ca client), &lt;a href="https://launchpad.net/deja-dup"&gt;Déjà Dup&lt;/a&gt; backup utility, Simple Scan and new Disk Utility.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7919856462439526299?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7919856462439526299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7919856462439526299'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/06/fedora-13-goddard.html' title='Fedora 13 (Goddard)'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_OtRe_zHWoRM/TAT2COk-6GI/AAAAAAAAARc/FCAHADZjiPo/s72-c/f13release.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-169316737942177985</id><published>2010-05-30T17:50:00.002+07:00</published><updated>2010-05-30T17:58:35.324+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Sunday</title><content type='html'>Nothing special today, hacking gcloner last night and playing Call of Duty 2 and The Sims. Wake up at 12.32 PM and continue hacking. Having lunch at Hoka-Hoka Bento at Arion Plaza, bought some wheat breed and Reader Digest magazine. Here in DB, production employees work very hard to finish our equipments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-169316737942177985?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/169316737942177985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/169316737942177985'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/05/sunday.html' title='Sunday'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2877577827736614730</id><published>2010-05-19T14:26:00.003+07:00</published><updated>2010-05-30T18:14:59.887+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Kacang Mete</title><content type='html'>Going back from Kendari, bring some Squids, Shrimp, Fish and &lt;span style="font-style:italic;"&gt;Kacang Mete&lt;/span&gt; (I don't know it's name in English), all of them is created by my lovely Mommy. Here is a word about &lt;span style="font-style:italic;"&gt;Kacang Mete&lt;/span&gt; in Indonesian.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=5fXatUdY"&gt;http://pastebin.com/raw.php?i=5fXatUdY&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2877577827736614730?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2877577827736614730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2877577827736614730'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/05/kacang-mete.html' title='Kacang Mete'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4166587494329699154</id><published>2010-05-11T17:44:00.005+07:00</published><updated>2010-05-11T17:51:02.116+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Atrium Plaza</title><content type='html'>Last night meet Egna at Atrium Plaza J.CO's stand, tomorrow will return to Kendari.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4166587494329699154?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4166587494329699154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4166587494329699154'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/05/atrium-plaza.html' title='Atrium Plaza'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8432467054322511676</id><published>2010-05-08T10:39:00.006+07:00</published><updated>2010-05-08T11:53:21.965+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Sony Ericsson W508</title><content type='html'>&lt;img src="http://2.bp.blogspot.com/_OtRe_zHWoRM/S-TnkZmKJ2I/AAAAAAAAARU/x9wbaGVCz0Y/s320/w508.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5468750460066867042" /&gt;&lt;br /&gt;&lt;br /&gt;Yesterday Me and Hadi were going to ITC Cempaka Putih, I want to buy a new phone (again). My target were Motorola V8 and Sony Ericsson W508, this my first time there. I found Motorola V8 dummy phone, but disappointed with it's looks, the V8 looks wider than my V3 and too elegant for rocker 'n roll man like me ;), so i changed my mind to W308. Yeah, they are flip phone, i like flip phone.&lt;br /&gt;&lt;br /&gt;This is a Sony Ericsson's WALKMAN phone series, it's has approximately 100MB internal memory and has 1GB Sony Memory Stick M2 card, GPRS, 3G and 3.5G (HSDPA) networking support. It was bundled with Facebook, NetFront Browser, RSS Feed, Google Maps, and many more. I bought for Rp. 1.525.000, very interesting features and price for a middle grade phone.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Hey, i got lost when i was looking for ATM, about 1 hour i look my way back, poor Hadi.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8432467054322511676?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8432467054322511676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8432467054322511676'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/05/sony-ericsson-w508.html' title='Sony Ericsson W508'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OtRe_zHWoRM/S-TnkZmKJ2I/AAAAAAAAARU/x9wbaGVCz0Y/s72-c/w508.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4666063000076764131</id><published>2010-05-08T10:21:00.004+07:00</published><updated>2010-05-08T10:38:32.709+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Web server's DocumentRoot</title><content type='html'>Actually this is a old problem for me, i can't set Apache or Lighttpd document root's to a mounted FAT filesystem, i got&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DocumentRoot must be a directory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After googling for some pages, i found that &lt;a href="http://en.wikipedia.org/wiki/Security-Enhanced_Linux"&gt;SELinux&lt;/a&gt; cause this. Then disable SELinux by editing &lt;span style="font-style: italic;"&gt;/etc/selinux/config&lt;/span&gt; file on Fedora 12, set mounted device with Apache's or Lighttpd's UID and GID.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[root@thinkpad /]# cat /etc/passwd | grep lighttpd&lt;br /&gt;lighttpd:x:491:480:lighttpd web server:/var/www/lighttpd:/sbin/nologin&lt;br /&gt;[root@thinkpad /]# mount -t /dev/the_device_name -t vfat -o rw,nosuid,nodev,uid=491,gid=480 /mount_place&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Small changes to appropriate server's configuration, and the web server are ready to be my local repository.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4666063000076764131?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4666063000076764131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4666063000076764131'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/05/web-servers-documentroot.html' title='Web server&apos;s DocumentRoot'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5909344122135296882</id><published>2010-04-28T13:34:00.003+07:00</published><updated>2010-04-28T14:14:39.265+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><title type='text'>FreeBSD</title><content type='html'>My FreeBSD Notes&lt;br /&gt;&lt;br /&gt;- Setting FreeBSD mirror for &lt;span style="font-style: italic;"&gt;pkg_add&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#setenv PACKAGEROOT ftp://ftp.itb.ac.id&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Enable non root (UID 0) group to &lt;span style="font-style:italic;"&gt;su&lt;/span&gt;&lt;br /&gt;Add desired user's group at &lt;span style="font-style:italic;"&gt;pam_group.so&lt;/span&gt; in &lt;span style="font-style:italic;"&gt;/etc/pam.d/su&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Installing GNOME2&lt;br /&gt;Set your favourite mirror by setting &lt;span style="font-style:italic;"&gt;PACKAGEROOT&lt;/span&gt; variable&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#pkg_add -r gnome2&lt;br /&gt;#pkg_add -r xorg&lt;/span&gt;&lt;br /&gt;Add &lt;span style="font-style:italic;"&gt;gdm_enable="YES"&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;hald_enable="YES"&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;gnome_enable="YES"&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;/etc/rc.conf&lt;/span&gt;&lt;br /&gt;Add &lt;span style="font-family: courier new;"&gt;proc /proc procfs rw 0 0&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;/etc/fstab&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5909344122135296882?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5909344122135296882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5909344122135296882'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/04/freebsd.html' title='FreeBSD'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-6867671459306296839</id><published>2010-04-28T12:45:00.004+07:00</published><updated>2010-04-28T13:27:48.146+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Rock with Leon</title><content type='html'>Last night Leon call me, he wait me at the Lea Store, having dinner at Japanese Resto and going to the Jungle. Jakarta was so fucking hot last night (also in previous days), there are no enough fresh water to make us comfortable. But we were rock, we enjoy playing some Edane, Metallica and AC/DC riffs. My Paul Reed Smith looks sexy last night plus it's Marshall amplification, he loved it. Then we worked on his new Online Store hosted at &lt;a href="http://rumahweb.com"&gt;Rumahweb&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Two days before, a girl comes to my room when i was practicing Metallica - Welcome Home, she want to know about me! her name is Anggun, he was the girl who yield on me at the night, this is the funniest thing i ever had at my new place. Keep rock in!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-6867671459306296839?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6867671459306296839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6867671459306296839'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/04/rock-with-leon.html' title='Rock with Leon'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8924476505543723473</id><published>2010-04-24T12:12:00.007+07:00</published><updated>2010-04-24T12:55:55.878+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>IM2 Broadband with Motorola V3</title><content type='html'>This is &lt;a href="http://en.wikipedia.org/wiki/Wvdial"&gt;wvdial&lt;/a&gt; configuration script for use on &lt;a href="http://www.indosatm2.com/"&gt;IM2 Broadband&lt;/a&gt; and Motorola V3 phone as modem. I am using Fedora 12 with Linux 2.6.32.11, the phone enumerated as USB device and assigned with device name /dev/ttyACM0. &lt;a href="http://projects.gnome.org/NetworkManager/"&gt;NetworkManager&lt;/a&gt; lacks capabilities with modem settings such as initialization strings. Don't forget to add extra init string (assigned by Init2 in this example) when using IM2 Broadband.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[Dialer Defaults]&lt;br /&gt;Modem = /dev/ttyACM0&lt;br /&gt;Baud = 9600&lt;br /&gt;Init = ATZ&lt;br /&gt;Init2 = AT+CGDCONT=1,IP,indosatgprs&lt;br /&gt;Phone = *99#&lt;br /&gt;Username = gprs&lt;br /&gt;Password = im3&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8924476505543723473?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8924476505543723473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8924476505543723473'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/04/im2-broadband-with-motorola-v3.html' title='IM2 Broadband with Motorola V3'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-6395025848907849226</id><published>2010-04-22T14:54:00.004+07:00</published><updated>2010-04-22T15:05:17.079+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>RPM Fusion repository</title><content type='html'>Sorry for being vacum, okay i want to write a bash script that i used for mirroring &lt;a href="http://rpmfusion.org"&gt;RPM Fusion&lt;/a&gt; repository, for you who aren't familiar with RPM Fusion, here a descriptions&lt;br /&gt;&lt;blockquote&gt;RPM Fusion provides software that the Fedora Project or Red Hat doesn't want to ship. That software is provided as precompiled RPMs for all current Fedora versions and Red Hat Enterprise Linux 5; you can use the RPM Fusion repositories with tools like yum and PackageKit.&lt;br /&gt;&lt;br /&gt;RPM Fusion is a merger of Dribble, Freshrpms, and Livna; our goal is to simplify end-user experience by grouping as much add-on software as possible in a single location. Also see our FoundingPrinciples. &lt;/blockquote&gt;&lt;br /&gt;This clear right?, i need to mirroring RPM Fusion repository. The bad news is they not provide a mechanism for mirroring their repository in this case by serving rsync. We have &lt;a href="http://www.gnu.org/software/wget/"&gt;GNU Wget&lt;/a&gt;, it is a powerful network utility from the GNU Project. I won't tell you what Wget offers here, so many ;p. And here the script i used to mirroring RPM Fusion's repository.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=QWtnumMn"&gt;http://pastebin.com/raw.php?i=QWtnumMn&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-6395025848907849226?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6395025848907849226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6395025848907849226'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/04/rpm-fusion-repository.html' title='RPM Fusion repository'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4514582623468294323</id><published>2010-04-05T19:12:00.007+07:00</published><updated>2010-04-24T12:39:10.981+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Fedora 12: mirroring scripts</title><content type='html'>This is a script i used for mirroring Fedora 12 packages and updates, see previous post for &lt;a href="http://ajhwb.blogspot.com/2010/03/using-rsync.html"&gt;Using Rsync&lt;/a&gt;. This script using &lt;span style="font-style:italic;"&gt;flock&lt;/span&gt; program for synchronization mechanism. It was written by a Linux's Kernel hacker &lt;span style="font-weight:bold;"&gt;H. Peter Anvin&lt;/span&gt;. He was also famous as &lt;span style="font-style:italic;"&gt;syslinux&lt;/span&gt; writer and maintainer.&lt;br /&gt;&lt;br /&gt;&lt;a href=" http://pastebin.com/raw.php?i=7qsARenC"&gt;&lt;br /&gt;http://pastebin.com/raw.php?i=7qsARenC&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4514582623468294323?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4514582623468294323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4514582623468294323'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/04/fedora-12-mirroring-scripts.html' title='Fedora 12: mirroring scripts'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1810696207045898200</id><published>2010-04-02T15:10:00.006+07:00</published><updated>2010-04-24T12:42:07.767+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Kernel IP Routing</title><content type='html'>Today i use a old-school IBM Thinkpad T30 with &lt;a href="http://slax.org/"&gt;Slax&lt;/a&gt;, this laptop has several connection devices such as irda, ethernet and a wireless ethernet adapter. After assign an IP address, gateway and nameservers for wireless adapter (wlan0) then connecting to my access point it seem the default routing was altered. So i do it manually with this routing command&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;slax@root:~# route add default gw 172.16.1.118 dev wlan0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now look at routing table output&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=pceQuWjc"&gt;http://pastebin.com/raw.php?i=pceQuWjc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1810696207045898200?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1810696207045898200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1810696207045898200'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/04/kernel-ip-routing.html' title='Kernel IP Routing'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-3713089429775769074</id><published>2010-03-23T11:58:00.012+07:00</published><updated>2010-04-24T12:46:14.331+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><title type='text'>Using Rsync</title><content type='html'>Rsync is a fast and extraordinarily versatile file copying tool.  It can copy locally,  to/from  another  host  over  any remote shell, or to/from a remote rsync daemon.  It offers a large number of options that control every  aspect of its behavior and permit very flexible specification of the set of files to be copied.  It is famous for its delta-transfer algorithm, which reduces  the amount  of data sent over the network by sending only the differences between the source files and the existing files in the destination.  Rsync is  widely used  for  backups and mirroring and as an improved copy command for everyday use.&lt;br /&gt;&lt;br /&gt;Let's begin with by creating Rsync backup server, here an &lt;span style="font-style: italic;"&gt;/etc/rsync.conf&lt;/span&gt; example configuration file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# rsync daemon configuration&lt;br /&gt;&lt;br /&gt;uid = nobody&lt;br /&gt;gid = nobody&lt;br /&gt;use chroot = yes&lt;br /&gt;max connections = 4&lt;br /&gt;syslog facility = local5&lt;br /&gt;pid file = /var/run/rsyncd.pid&lt;br /&gt;&lt;br /&gt;[thinkpad]&lt;br /&gt;   uid = thinkpad&lt;br /&gt;   gid = thinkpad&lt;br /&gt;   path = /home/thinkpad/backup&lt;br /&gt;   comment = Thinkpad's backup directory&lt;br /&gt;   auth users = ajhwb&lt;br /&gt;   secrets file = /etc/rsyncd.secrets&lt;br /&gt;   read only = no&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;auth user&lt;/span&gt; is a comma separated list for user who will be accepted, you also need to provide &lt;span style="font-style: italic;"&gt;secrets file&lt;/span&gt; when using this option. This a sample &lt;span style="font-style: italic;"&gt;/etc/rsyncd.secrets file&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# rsync secrets file&lt;br /&gt;# format username:password for each line&lt;br /&gt;ajhwb:my_password&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In order to restricting another user to access this file, set it's file permission to&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#chmod 600 /etc/rsyncd.secrets&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If everything in set, we are ready to start rsync as daemon, for starting automatically use your system init startup script.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#rsync --daemon&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a simple command used to backup (exactly is synchronizing) a directory into the server (in this case we use localhost)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;rsync --azuv --delete --delete-after /hacking/rtpatch-2.4 ajhwb@localhost::ajhwb/rtpatch-2.4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To retrieve directory and it's contents&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;rsync --azuv --delete --delete-after ajhwb@localhost::ajhwb/rtpatch-2.4 /hacking/rtpatch-2.4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this example, another host alternative format is &lt;span style="font-style: italic;"&gt;rsync://ajhwb@localhost/ajhwb/rtpatch-2.4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Rsync is very flexible tool, comes with many options and interesting configurations, explore this by yourself. Happy syncing!&lt;br /&gt;&lt;br /&gt;Rsync website &lt;a href="http://rsync.samba.org/"&gt;http://rsync.samba.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-3713089429775769074?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3713089429775769074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3713089429775769074'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/using-rsync.html' title='Using Rsync'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7860106301479303715</id><published>2010-03-22T08:54:00.005+07:00</published><updated>2010-04-24T12:52:22.203+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>UNIX exec family system call</title><content type='html'>This codes creating pipe for IPC, fork another process (child) and executing &lt;span style="font-weight:bold;"&gt;fortune&lt;/span&gt; with some cookies arguments. It also redirect child's stdout to it's writer pipe to be read by parent's pipe. &lt;span style="font-style:italic;"&gt;exec()&lt;/span&gt; family calls never return except for errors, if this happen it is very bad ;p. &lt;span style="font-style:italic;"&gt;exec()&lt;/span&gt; will replace it's calling process with a new image, since the kernel is not know where to continue after invoking &lt;span style="font-style:italic;"&gt;exec()&lt;/span&gt; then the child just exit. Just to make sure you don't write codes after that exec() except for error checking, don't care how cool your codes, it just not work. Trust me heh?.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=pceQuWjc"&gt;http://pastebin.com/raw.php?i=pceQuWjc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7860106301479303715?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7860106301479303715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7860106301479303715'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/unix-exec-system-call.html' title='UNIX exec family system call'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2844962372054650532</id><published>2010-03-18T21:55:00.002+07:00</published><updated>2010-03-18T21:55:49.538+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Here Without You</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OtRe_zHWoRM/S6I-1AQQxnI/AAAAAAAAAQw/FFqYaZaqbQw/s1600-h/3doorsdown.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://1.bp.blogspot.com/_OtRe_zHWoRM/S6I-1AQQxnI/AAAAAAAAAQw/FFqYaZaqbQw/s320/3doorsdown.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5449987579393918578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Here Without You - 3 Doors Down&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A hundred days had made me older since the last time that I saw your pretty face&lt;br /&gt;A thousand lights had made me colder and I don’t think I can look at this the same&lt;br /&gt;But all the miles had separate&lt;br /&gt;They disappeared now when I’m dreaming of your face&lt;br /&gt;&lt;br /&gt;I’m here without you baby but your still on my lonely mind&lt;br /&gt;I think about you baby and I dream about you all the time&lt;br /&gt;I’m here without you baby but your still with me in my dreams&lt;br /&gt;And tonight it’s only you and me&lt;br /&gt;&lt;br /&gt;The miles just keep rolling as the people either way to say hello&lt;br /&gt;I hear this life is overrated but I hope it gets better as we go&lt;br /&gt;&lt;br /&gt;I’m here without you baby but your still on my lonely mind&lt;br /&gt;I think about you baby and I dream about you all the time&lt;br /&gt;I’m here without you baby but your still with me in my dreams&lt;br /&gt;And tonight girl it’s only you and me&lt;br /&gt;&lt;br /&gt;Everything I know, and anywhere I go&lt;br /&gt;it gets hard but it won’t take away my love&lt;br /&gt;And when the last one falls, when it’s all said and done&lt;br /&gt;it get hard but it won’t take away my love&lt;br /&gt;&lt;br /&gt;I’m here without you baby but your still on my lonely mind&lt;br /&gt;I think about you baby and I dream about you all the time&lt;br /&gt;I’m here without you baby but your still with me in my dreams&lt;br /&gt;And tonight girl it’s only you and me&lt;br /&gt;&lt;br /&gt;I’m here without you baby but your still on my lonely mind&lt;br /&gt;I think about you baby and I dream about you all the time&lt;br /&gt;I’m here without you baby but your still with me in my dreams&lt;br /&gt;but tonight girl it’s only you and me&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2844962372054650532?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2844962372054650532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2844962372054650532'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/here-without-you.html' title='Here Without You'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_OtRe_zHWoRM/S6I-1AQQxnI/AAAAAAAAAQw/FFqYaZaqbQw/s72-c/3doorsdown.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2249826019591713445</id><published>2010-03-17T16:46:00.006+07:00</published><updated>2010-03-17T17:01:13.769+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Creed: Full Circle album</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OtRe_zHWoRM/S6ClAQT_2rI/AAAAAAAAAQo/_G5yX5-GNzk/s1600-h/B002LMOAW4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_OtRe_zHWoRM/S6ClAQT_2rI/AAAAAAAAAQo/_G5yX5-GNzk/s320/B002LMOAW4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5449536972915727026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Last night I go to &lt;span style="font-weight:bold;"&gt;Arion Mall&lt;/span&gt;, just for relaxation since I don't have exact point there. I come  to &lt;span style="font-weight:bold;"&gt;Disc Tara&lt;/span&gt; and look for some CD. There are some well known Rock album there, I see newest Creed album: Full Circle, actually I already have it's pirated digital copy, but since I was a Creed fans i must realize it by buying their CD. Here the tracks from their new album:&lt;br /&gt;&lt;br /&gt;1. Overcome&lt;br /&gt;2. Bread of Shame&lt;br /&gt;3. A Thousand Faces&lt;br /&gt;4. Suddenly&lt;br /&gt;5. Rain&lt;br /&gt;6. Away In Silence&lt;br /&gt;7. Fear&lt;br /&gt;8. On My Sleeve&lt;br /&gt;9. Full Circle&lt;br /&gt;10. Time&lt;br /&gt;11. Good Fight&lt;br /&gt;12. The Song You Sing &lt;br /&gt;&lt;br /&gt;My underlined song are Overcome, Rain and Away In Silence. Still in old formation: Scott Stap, Mark Tremonti and the others. In addition, Alter Bridge 3rd album is currently in recording progress, I'm not patient to Rock for their 3rd album.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2249826019591713445?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2249826019591713445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2249826019591713445'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/creed-full-circle-album.html' title='Creed: Full Circle album'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_OtRe_zHWoRM/S6ClAQT_2rI/AAAAAAAAAQo/_G5yX5-GNzk/s72-c/B002LMOAW4.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4311714304116197255</id><published>2010-03-15T09:06:00.006+07:00</published><updated>2010-04-24T12:56:35.349+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>ACR-120S Java API</title><content type='html'>Here the ACR120 Java API source code, this is not a fully working API but at least it can select a Mifare Classic TAG, login (only with transport key), read and write values or block. You will need &lt;a href="http://rxtx.qbang.org/"&gt;RXTX&lt;/a&gt; serial API. My previous &lt;a href="http://ajhwb.blogspot.com/2010/02/first-java-application.html"&gt;post&lt;/a&gt; use this ACR120 API to create TCT Entry simulation.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=pceQuWjc"&gt;http://pastebin.com/raw.php?i=pceQuWjc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4311714304116197255?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4311714304116197255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4311714304116197255'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/acr120-java-api.html' title='ACR-120S Java API'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-938760516467739249</id><published>2010-03-12T22:46:00.004+07:00</published><updated>2010-03-12T23:00:45.067+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Rocker Style</title><content type='html'>Today as usual we worked at Jagorawi for our new toll equipments, installing TCT Open, IP Camera and Server at Cibubur, fix ALB closed-arm trigger at Ciawi, and little update at Bogor. Then have dinning at Bogor 'Warung Jambu'.&lt;br /&gt;&lt;br /&gt;I saw and hear many unpleasant thing this day, about sucks style and weak musics's genres. I should tell them about Rock, Rocker perspective, and it's style from now...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;SAY IT LOUD: THAT'S THE WAY I WANT ROCK'N ROLL!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-938760516467739249?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/938760516467739249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/938760516467739249'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/rocker-style.html' title='Rocker Style'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1820918318123542720</id><published>2010-03-11T18:22:00.005+07:00</published><updated>2010-04-24T12:59:56.391+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Fedora 12: Fortune</title><content type='html'>From &lt;span style="font-style:italic;"&gt;#yum info fortune-mod&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Fortune-mod contains the ever-popular fortune program, which will display quotes or witticisms. Fun-loving system administrators can add fortune to users' .login files, so that the users get their dose of wisdom each time they log in.&lt;/blockquote&gt;&lt;br /&gt;To install fortune on your Fedora box&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#yum install fortune-mod&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Call &lt;span style="font-style:italic;"&gt;/usr/bin/fortune&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt; in your shell whenever you want, for &lt;a href="http://slackware.com"&gt;Slackware's&lt;/a&gt; motd login style, put a shell script file stored in &lt;span style="font-style:italic;"&gt;/etc/profile.d&lt;/span&gt; for example &lt;span style="font-style:italic;"&gt;/etc/profile.d/fortune.sh&lt;/span&gt; contains fortune command (of course, you apply some options). motd should be displayed whenever you login in. By the way, I got this motd...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[root@thinkpad i386]# fortune &lt;br /&gt;Step #1 in programming: understand people.&lt;br /&gt;&lt;br /&gt; - Linus Torvalds on linux-kernel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.redellipse.net/code/fortune"&gt;Fortune's Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1820918318123542720?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1820918318123542720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1820918318123542720'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/fedora-12-fortune.html' title='Fedora 12: Fortune'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2990702683758103126</id><published>2010-03-09T17:36:00.005+07:00</published><updated>2010-04-24T13:03:08.626+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNOME'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Fedora 12: Automatic Login</title><content type='html'>Since Fedora doesn't ship GUI configuration to set automatic/timed login over the GDM, this a simple manual configuration that may help to enable this.&lt;br /&gt;&lt;br /&gt;GNOME uses custom configuration at &lt;span style="font-style:italic;"&gt;/etc/gdm/custom.conf&lt;/span&gt; file, add these lines:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[daemon]&lt;br /&gt;AutomaticLoginEnable=true&lt;br /&gt;AutomaticLogin=username&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;the &lt;span style="font-style:italic;"&gt;username&lt;/span&gt; is a login name that you want to use for automatic login.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2990702683758103126?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2990702683758103126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2990702683758103126'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/fedora-12-automatic-login.html' title='Fedora 12: Automatic Login'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4414042946852642429</id><published>2010-03-07T09:28:00.005+07:00</published><updated>2010-04-24T13:05:16.771+07:00</updated><title type='text'>Write code at Pastebin</title><content type='html'>&lt;a href="http://pastebin.com"&gt;Pastebin&lt;/a&gt; is a is a website where you can store text for a certain period of time. The website is mainly used by programmers to store pieces of sources code or configuration information, but anyone is more than welcome to paste any type of text. The idea behind the site is to make it more convenient for people to share large amounts of text online. Users have the ability to make private pastings, so they are only visible to the people they choose to share their links with.&lt;br /&gt;&lt;br /&gt;This is an example embedded code:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/raw.php?i=0NxVi5qt"&gt;http://pastebin.com/raw.php?i=0NxVi5qt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So this i was looking for...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4414042946852642429?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4414042946852642429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4414042946852642429'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/write-code-at-pastebin.html' title='Write code at Pastebin'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4285387691957281265</id><published>2010-03-06T18:32:00.005+07:00</published><updated>2010-03-06T18:45:36.343+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Fever again</title><content type='html'>I still got a fever, it's have been for 4 days, my stomatch feel not comfortable, before it too late I must goto the Doctor as soon as possible. Tonight with Gonzales, Dwi and Gunarto at production office doing some C++ codes and read &lt;a href="http://linux.com"&gt;Linux.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4285387691957281265?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4285387691957281265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4285387691957281265'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/03/fever-again.html' title='Fever again'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-798939852054400661</id><published>2010-02-28T13:57:00.009+07:00</published><updated>2010-02-28T14:25:34.129+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>X Cursor</title><content type='html'>These weeks is for TCT testing, some problem found and need to be fixed immediately. This day with Dwi and Agus at office, i have been almost 2 days here to fix these problems.&lt;br /&gt;&lt;br /&gt;Some hacks with TCT are to fix LTN file, it seem to broken while using GLib's GIOChnanel API, improve CSD write operation so it can handle notran immediately, add command line arguments as options. I'm googling to disable X cursor on this Debian Lenny's GNOME desktop. I found &lt;span style="font-style: italic;"&gt;unclutter&lt;/span&gt;, a small utility to hide the X cursor after a period in inactivity, this utility is rocks! shit... where have you been?. Then I install it, run as startup program in GNOME. Now the TCT screen should not display a mouse cursor until next mouse movement.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Since the TCT console will not equipped by a mouse, how to use a keyboard as mouse?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use &lt;span style="font-weight:bold;"&gt;Shift + NumLock&lt;/span&gt;, then use numpad's digit as movement, '/' for left click, '*' middle click and '-' for right click. Again with &lt;span style="font-weight:bold;"&gt;Shift + NumLock&lt;/span&gt; to disable this feature.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://packages.debian.org/lenny/x11/unclutter"&gt;unclutter Debian package&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-798939852054400661?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/798939852054400661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/798939852054400661'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/02/x-cursor.html' title='X Cursor'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8657381205710179373</id><published>2010-02-22T12:12:00.003+07:00</published><updated>2010-02-22T12:19:44.351+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Testing, test...</title><content type='html'>Today we are preparing our equipments for Ciawi and Bogor test, 1 unit TCT type exit at Bogor, and 1 unit TCT type entry at Ciawi, TCT type open has been installed 2 days ago at Cibubur and currently in testing progress, I arrived at office at almost 10.00 AM using Busway, having half Sunday with Wida at Block-M, but shit, i trapped by heavy rain at Ciputat and Lebak Bulus, so i go to Duren-3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8657381205710179373?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8657381205710179373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8657381205710179373'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/02/testing-test.html' title='Testing, test...'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2550957223743270414</id><published>2010-02-18T18:09:00.003+07:00</published><updated>2010-02-18T18:27:56.586+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>First JAVA Application</title><content type='html'>So here i go, this is my first time Java application, used for encode Mifare 1K Classic smartcard, i use &lt;a href="http://netbeans.org/"&gt;NetBeans IDE&lt;/a&gt; to develop it's GUI and &lt;a href="http://rxtx.org/"&gt;RXTX&lt;/a&gt; for the serial port API.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OtRe_zHWoRM/S30gk0MM-tI/AAAAAAAAAPc/Vj453LzWIis/s1600-h/untitled.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 278px; height: 320px;" src="http://3.bp.blogspot.com/_OtRe_zHWoRM/S30gk0MM-tI/AAAAAAAAAPc/Vj453LzWIis/s320/untitled.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5439539741790632658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm just having fun with another programming language such Java.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2550957223743270414?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2550957223743270414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2550957223743270414'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/02/first-java-application.html' title='First JAVA Application'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_OtRe_zHWoRM/S30gk0MM-tI/AAAAAAAAAPc/Vj453LzWIis/s72-c/untitled.PNG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-6926714932929983893</id><published>2010-02-13T08:53:00.003+07:00</published><updated>2010-02-13T09:07:06.566+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Health'/><title type='text'>HIV Test</title><content type='html'>AIDS Day, this virus is a big epidemic in this new era, no method has been find yet to cure HIV/AIDS infection, there are method that work only to reduce HIV infection damage. Honestly, i ever do HIV potential activities too, i want to have a HIV test but it sounds very crappy ;p. I got paranoid thinking about my body had HIV infected. No way to know until some HIV test. A voluntary test because we should know what happen in our body. More sooner we know is more longer we can safe our lifeday. Maybe I just too paranoid? heh ;p.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-6926714932929983893?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6926714932929983893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6926714932929983893'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/02/hiv-test.html' title='HIV Test'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1594824453281606308</id><published>2010-02-12T00:13:00.001+07:00</published><updated>2010-02-12T00:54:05.323+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Wiedha on Zoosk</title><content type='html'>Widhayantie Ika Putri&lt;br /&gt;&lt;br /&gt;ALUMNI SMA NEGERI 4 CURUP&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1594824453281606308?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1594824453281606308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1594824453281606308'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/02/wiedha-on-zoosk.html' title='Wiedha on Zoosk'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2607404799701167379</id><published>2010-02-05T10:13:00.001+07:00</published><updated>2010-02-05T10:18:23.277+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Health'/><title type='text'>Caught a Fever</title><content type='html'>I got fever almost in 3 days, i must go to Hospital meet Doctor and see what happen, Dwi or Risdiyanto will be with me at the Hospital.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2607404799701167379?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2607404799701167379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2607404799701167379'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/02/caught-fever.html' title='Caught a Fever'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2615752169508854788</id><published>2010-01-27T10:27:00.002+07:00</published><updated>2010-01-28T12:38:33.238+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Fedora 12 local update repository</title><content type='html'>Last night i try to create my local Fedora 12 update repository, rsync do it's job very well, i only need to issue this command&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;rsync -azuv --progress http://a-fedora-update-repo-server/ therepodir&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;get all update files for approximately 7.1GB, edit &lt;tt&gt;/etc/yum.repos.d/fedora-update.repo&lt;/tt&gt; or &lt;tt&gt;/etc/yum.conf&lt;/tt&gt; with&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;[updates]&lt;br /&gt;name=Fedora $releasever - $basearch - Updates&lt;br /&gt;failovermethod=priority&lt;br /&gt;baseurl=http://localhost/fedorarepo/updates/$releasever/$basearch/&lt;br /&gt;enabled=1&lt;br /&gt;# disable GPG check&lt;br /&gt;gpgcheck=0&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;The Fedora projects now using &lt;tt&gt;presto&lt;/tt&gt; plugin, a mechanism which allow yum to download only the different part between current package version and it's new version called &lt;tt&gt;delta&lt;/tt&gt;. After a delta package has been downloaded (.drpm extension) it must be rebuild with it's current package. Using presto of course save our bandwidth. Using presto may be confusing when work with a local repository, i suggest to disable this plugin in &lt;tt&gt;/etc/yum.conf&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;Setting up apache and call &lt;tt&gt;yum check-update&lt;/tt&gt; and damn, it's works. If you want to check only available update, just get all &lt;tt&gt;repodata/&lt;/tt&gt; directory from the repo server, put it to your local repo, check update with &lt;tt&gt;yum check-update&lt;/tt&gt; and you can download all available update that yum told you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2615752169508854788?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2615752169508854788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2615752169508854788'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/01/fedora-12-local-update-repository.html' title='Fedora 12 local update repository'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8836010117318433332</id><published>2010-01-26T18:37:00.004+07:00</published><updated>2010-01-26T19:07:44.440+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>GStreamer with Camera over IP</title><content type='html'>I need to write an application which work as GTO Terminal, it's simply to command the TCT, the job sounds "simple" but shit no. It has a IP Camera to display vehicle, help a toll worker to determine vehicle classification. My problem is the Camera seem not worked with &lt;a href="http://gstreamer.net"&gt;GStreamer&lt;/a&gt; a multi-platform multimedia framework by the &lt;a href="http://freedesktop.org"&gt;freedesktop.org&lt;/a&gt;. GNOME desktop are hardly use it as it's multimedia framework. The Camera sucks because it's seem to be used under Windows. Better than not working heh, a tricky hack is by periodically capture Camera's image then continuously update the image. But I got FPS pain for this hacks.&lt;br /&gt;&lt;br /&gt;I'll update this post when some good progress done. that's means&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;To be continued...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8836010117318433332?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8836010117318433332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8836010117318433332'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/01/gstreamer-with-camera-over-ip.html' title='GStreamer with Camera over IP'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8843842521551314707</id><published>2010-01-24T20:19:00.003+07:00</published><updated>2010-01-24T21:03:29.914+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><title type='text'>C gibberish</title><content type='html'>When reading a question in the Linux Kernel Mailing lists section linux-c-programming, someone ask about the means of this code&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;char (*pa())[4];&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Someone else ask him to use &lt;span style="font-weight:bold;"&gt;cdcel&lt;/span&gt; a small utility that translate C syntax into human readable words. For example consider this code&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;int (*sched_callback) (pid_t, struct sched_param*);&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;this means&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;declare sched_callback as pointer to function (pid_t, pointer to struct sched_param) returning int&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Here a short description about cdecl&lt;br /&gt;&lt;blockquote&gt;Cdecl is a program which will turn English-like phrases such as "declare foo as array 5 of pointer to function returning int" into C declarations such as "int (*foo[5])()". It can also translate the C into the pseudo-English.  And it handles typecasts, too.  Plus C++. And in this version it has command line editing and history with the GNU readline library.&lt;/blockquote&gt;&lt;br /&gt;By the way, the answer of his question according to cdecl is&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;declare pa as function returning pointer to array 4 of char&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Give it a try, it's perfect for deep understanding the C language.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cdecl.org/"&gt;http://www.cdecl.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8843842521551314707?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8843842521551314707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8843842521551314707'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/01/c-gibberish.html' title='C gibberish'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-3878965622274160103</id><published>2010-01-06T14:51:00.003+07:00</published><updated>2010-01-06T15:59:17.251+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>2010</title><content type='html'>Okay, happy new year 2010, the best news in this new year is Anty my girlfriend comes to Jakarta, she start from Kendari at 31 December 2009 using Lionair Airplane, i bought her return tickets ;). She arrived at approximately 6.30pm, i was too late to pick her because i must attended a meeting at my office. Go to Rawamangun Bus Shelter at 11pm, there are no Airport Bus left, so i pick a cab to the Airport. Arrived there, pick her, and we were celebrating the 2010 New Year at that cab. We are enjoy our times. Anty back to Kendari at 4 January 2010, i also accompanied her to the Airport. See you later my girl. &lt;br /&gt;&lt;br /&gt;Happy New Year 2009, best luck for this year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-3878965622274160103?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3878965622274160103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/3878965622274160103'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2010/01/2010.html' title='2010'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5985205667912450211</id><published>2009-12-22T16:29:00.003+07:00</published><updated>2010-07-08T10:14:43.227+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><title type='text'>PThread RWLock</title><content type='html'>For thread synchronization, use of mutex (mutual exclusion) is a very common. Mutex doesn't provide more advanced synchronization, when one thread is locking a mutex, another thread can't acquire it until it has been released. It's very expensive syncronization for some case.&lt;br /&gt;&lt;br /&gt;POSIX threading library provide another high level synchronization, a RWLock (read and write lock), when locking in read mode, another thread can acquire the read lock (shared lock) but not with the write lock, with write lock, another thread can't acquire the lock until it has been unlocked (exclusive lock). This clear, with a RWLock mechanism, we can't avoid expense of mutex when we try only to read. No inconsistency effect when some thread try to read the same protected data.&lt;br /&gt;&lt;br /&gt;The POSIX functions for RWLock operation:&lt;br /&gt;&lt;br /&gt;Lock initialization&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pthread_rwlock_init()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lock in read mode&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pthread_rwlock_rdlock()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pthread_rwlock_tryrdlock()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lock in write mode&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pthread_rwlock_wrlock()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pthread_rwlock_trywrlock()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Release lock&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pthread_rwlock_unlcok()&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5985205667912450211?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5985205667912450211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5985205667912450211'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/12/pthread-rwlock.html' title='PThread RWLock'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4322711807104162919</id><published>2009-12-21T14:19:00.003+07:00</published><updated>2009-12-21T14:24:13.233+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Don't feel so good</title><content type='html'>I don't feel so good today, maybe because my sleep isn't enough last night or got a fever, i don't have much spirit for coding the TCT right now. Anty call me, she complain about my internet activity and told that i always make her feel stupid. Wiwin still wait. I'm sorry for you all, my bad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4322711807104162919?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4322711807104162919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4322711807104162919'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/12/dont-feel-so-good.html' title='Don&apos;t feel so good'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-4074083075107257226</id><published>2009-12-20T06:17:00.008+07:00</published><updated>2009-12-20T06:37:30.314+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Lazy for writing</title><content type='html'>I admit, i have been too lazy to update my blog. Here some news that i need to tell:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I'm learning the &lt;tt&gt;CONFIG_PREEMPT_RT&lt;/tt&gt; patch for realtime Linux task.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I'm writing TCT simple database library, at this time my only option is &lt;a href="http://sqlite.org"&gt;SQLite&lt;/a&gt;, since the simple library is currently in heavy development, by me, alone, with no good theory of database system.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;And the coolest thing that I already got new home at Pulo Asem, there are some hot girls there, I'm enjoying that place for this time.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;That's all, i'll try to update my blog just in time. This night in Office, with Dwi and Gunarto, Gunarto play Facebook Pooker and Dwi is sleeping.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-4074083075107257226?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4074083075107257226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/4074083075107257226'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/12/lazy-for-writing.html' title='Lazy for writing'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-6449136375431011570</id><published>2009-11-30T09:09:00.006+07:00</published><updated>2009-11-30T09:33:23.319+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>ulimit</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OtRe_zHWoRM/SxMpneO_iRI/AAAAAAAAAPU/t7NHvuFdsM4/s1600/tux2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 100px; height: 116px;" src="http://2.bp.blogspot.com/_OtRe_zHWoRM/SxMpneO_iRI/AAAAAAAAAPU/t7NHvuFdsM4/s320/tux2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409713335509682450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Do you want to enable realtime priority or change maximum memory locking with non root user?, the &lt;tt&gt;/etc/security/limits.conf&lt;/tt&gt; store this limitation, for list of limitation issue a &lt;tt&gt;uname -a&lt;/tt&gt; command, the name of limitation is described in limits.conf file. This is a example to enable realtime priority and change maximum locked memory to user &lt;b&gt;ajhwb&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;ajhwb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rtprio&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60&lt;br /&gt;ajhwb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memlock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;512&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Now save the file, if the affected user is currently login, logout first and re-login. Changes are made after next login. You may want to test by write a simple code that switch to a realtime scheduler and priority or you can use &lt;tt&gt;chrt&lt;/tt&gt; utility, also test maximum locked memory more than 64Kb as standard definition. There are many you can change in the limits.conf, have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-6449136375431011570?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6449136375431011570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/6449136375431011570'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/11/ulimit.html' title='ulimit'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OtRe_zHWoRM/SxMpneO_iRI/AAAAAAAAAPU/t7NHvuFdsM4/s72-c/tux2.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5880316374910481044</id><published>2009-11-29T20:43:00.010+07:00</published><updated>2009-11-29T21:39:05.980+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>CONFIG_PREEMPT_RT kernel patch</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OtRe_zHWoRM/SxJ7DgVboPI/AAAAAAAAAPM/ZRVWVhD0qh4/s1600/tux2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 100px; height: 116px;" src="http://2.bp.blogspot.com/_OtRe_zHWoRM/SxJ7DgVboPI/AAAAAAAAAPM/ZRVWVhD0qh4/s320/tux2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409521402575036658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On rt-users kernel mailing lists Linus said:&lt;br /&gt;&lt;blockquote&gt;"Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with your using PREEMPT_RT" -- Linus Torvalds&lt;/blockquote&gt;&lt;br /&gt;As you may know that the standard build Linux kernel is always preempt high priority user-mode process when kernel-mode process is executing, this bad for time critical application. Realtime application need precise timing for it's work. Let say you control a motor machine, it's use many sensors to determine it's rotor position, you need to know each sensor's state by reading the sensor device. With a high speed motor, you will need to read sensor state for example every 1 milisecond and do something as soon as sensor state change. Imagine what will happen when the kernel-mode process is running and delaying your realtime application while you ask the machine to stop? of course disaster.&lt;br /&gt;&lt;br /&gt;In 2.6 kernel version, there are some preemption setting introduced such as CONFIG_PREEMPT_VOLUNTARY and CONFIG_PREEMPT, but these are not meet a realtime application that need very small latencies. The PREEMPT_RT patch convert Linux to be fully preemptible kernel, this done with:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Making in-kernel locking-primitives (using spinlocks) preemptible though reimplementation with rtmutexes. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Critical sections protected by i.e. spinlock_t and rwlock_t are now preemptible. The creation of non-preemptible sections (in kernel) is still possible with raw_spinlock_t (same APIs like spinlock_t). &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Implementing priority inheritance for in-kernel spinlocks and semaphores. For more information on priority inversion and priority inheritance please consult Introduction to Priority Inversion. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Converting interrupt handlers into preemptible kernel threads: The RT-Preempt patch treats soft interrupt handlers in kernel thread context, which is represented by a task_struct like a common user space process. However it is also possible to register an IRQ in kernel context.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Converting the old Linux timer API into separate infrastructures for high resolution kernel timers plus one for timeouts, leading to user space POSIX timers with high resolution.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Main Maintainer: Ingo Molnar, Thomas Gleixner&lt;br /&gt;Website: &lt;a href="http://rt.wiki.kernel.org/index.php/Main_Page"&gt;http://rt.wiki.kernel.org/index.php/Main_Page&lt;/a&gt;&lt;br /&gt;Files: &lt;a href="http://www.kernel.org/pub/linux/kernel/projects/rt/"&gt;http://www.kernel.org/pub/linux/kernel/projects/rt/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5880316374910481044?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5880316374910481044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5880316374910481044'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/11/configpreemptrt-kernel-patch.html' title='CONFIG_PREEMPT_RT kernel patch'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OtRe_zHWoRM/SxJ7DgVboPI/AAAAAAAAAPM/ZRVWVhD0qh4/s72-c/tux2.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7478986493906947956</id><published>2009-11-05T02:20:00.004+07:00</published><updated>2009-11-05T02:46:47.235+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Sierra's AirCard 875U Modem</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OtRe_zHWoRM/SvHWS6rfr4I/AAAAAAAAAN8/UcmegzfBXdM/s1600-h/2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 120px; height: 144px;" src="http://2.bp.blogspot.com/_OtRe_zHWoRM/SvHWS6rfr4I/AAAAAAAAAN8/UcmegzfBXdM/s320/2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5400333048671612802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is &lt;tt&gt;wvdial.conf&lt;/tt&gt; configuration with Sierra's AirCard 875U USB Modem, it works on Debian Lenny (kernel-2.6.26)&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;[Dialer Defaults]&lt;br /&gt;Modem = /dev/ttyUSB0&lt;br /&gt;Baud = 9600&lt;br /&gt;Init = ATZ &lt;br /&gt;Init2 = ATQ0 V1 E1 S0=0 &amp;C1 &amp;D2 +FCLASS=0&lt;br /&gt;Phone = *99#&lt;br /&gt;Username = www.xlgprs.net&lt;br /&gt;Password = proxl&lt;br /&gt;New PPPD = yes&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;lsusb&lt;/tt&gt; output:&lt;br /&gt;&lt;tt&gt;Bus 004 Device 002: ID 1199:6812 Sierra Wireless, Inc. MC8775 Device&lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7478986493906947956?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7478986493906947956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7478986493906947956'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/11/sierras-aircard-875u-usb-modem.html' title='Sierra&apos;s AirCard 875U Modem'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OtRe_zHWoRM/SvHWS6rfr4I/AAAAAAAAAN8/UcmegzfBXdM/s72-c/2.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7133275372566125349</id><published>2009-10-29T21:53:00.005+07:00</published><updated>2009-10-29T22:12:11.352+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><title type='text'>Bit masking</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OtRe_zHWoRM/SumvvquF73I/AAAAAAAAANs/i2cfgssOYAs/s1600-h/wrapping_paper-binary.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_OtRe_zHWoRM/SumvvquF73I/AAAAAAAAANs/i2cfgssOYAs/s320/wrapping_paper-binary.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5398038861836578674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As system, kernel and device driver programmer, you, of course use heavy of bitwise operation. This is a simple C code demonstrate bit masking and it's use in the real world ;), see also &lt;a href="http://ajhwb.blogspot.com/2009/09/bit-packingupacking.html"&gt;bit packing/unpacking&lt;/a&gt; for more fun.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="pre"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="keyword"&gt;&lt;br /&gt;enum&lt;/span&gt;&lt;span class="operator"&gt; {&lt;/span&gt;&lt;br /&gt;  SANDRA&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;br /&gt;  DESSY&lt;span class="operator"&gt;  =&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;br /&gt;  YANA&lt;span class="operator"&gt;   =&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="int"&gt; 2&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;br /&gt;  SUSAN&lt;span class="operator"&gt;  =&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; &amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="int"&gt; 3&lt;/span&gt;&lt;span class="operator"&gt;&lt;br /&gt;};&lt;/span&gt;&lt;span class="type"&gt;&lt;br /&gt;&lt;br /&gt;void&lt;/span&gt; print&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="type"&gt;unsigned char&lt;/span&gt; val&lt;span class="operator"&gt;)&lt;br /&gt;{&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"val: %u\n"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt; val&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"SANDRA loves me: %i\n"&lt;/span&gt;&lt;span class="operator"&gt;, (&lt;/span&gt;val&lt;span class="operator"&gt; &amp;amp;&lt;/span&gt; SANDRA&lt;span class="operator"&gt;) ?&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; :&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"DESSY loves me: %i\n"&lt;/span&gt;&lt;span class="operator"&gt;, (&lt;/span&gt;val&lt;span class="operator"&gt; &amp;amp;&lt;/span&gt; DESSY&lt;span class="operator"&gt;) ?&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; :&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"YANA loves me: %i\n"&lt;/span&gt;&lt;span class="operator"&gt;, (&lt;/span&gt;val&lt;span class="operator"&gt; &amp;amp;&lt;/span&gt; YANA&lt;span class="operator"&gt;) ?&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; :&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"SUSAN loves me: %i\n"&lt;/span&gt;&lt;span class="operator"&gt;, (&lt;/span&gt;val&lt;span class="operator"&gt; &amp;amp;&lt;/span&gt; SUSAN&lt;span class="operator"&gt;) ?&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt; :&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;span class="type"&gt;&lt;br /&gt;&lt;br /&gt;int&lt;/span&gt;&lt;span class="keyword"&gt; main&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="type"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;)&lt;br /&gt;{&lt;/span&gt;&lt;span class="type"&gt;&lt;br /&gt;  unsigned char&lt;/span&gt; val&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;  val&lt;span class="operator"&gt; =&lt;/span&gt; SANDRA&lt;span class="operator"&gt; |&lt;/span&gt; DESSY&lt;span class="operator"&gt; |&lt;/span&gt; YANA&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;  print&lt;span class="operator"&gt;(&lt;/span&gt;val&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"\n"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  val&lt;span class="operator"&gt; &amp;amp;= ~&lt;/span&gt;SANDRA&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;  print&lt;span class="operator"&gt;(&lt;/span&gt;val&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"\n"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  val&lt;span class="operator"&gt; &amp;amp;= ~(&lt;/span&gt;DESSY&lt;span class="operator"&gt; |&lt;/span&gt; YANA&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  val&lt;span class="operator"&gt; |= (&lt;/span&gt;SUSAN&lt;span class="operator"&gt; |&lt;/span&gt; SANDRA&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  print&lt;span class="operator"&gt;(&lt;/span&gt;val&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  printf&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"\n"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  val&lt;span class="operator"&gt; &amp;amp;= ~(&lt;/span&gt;SANDRA&lt;span class="operator"&gt; |&lt;/span&gt; DESSY&lt;span class="operator"&gt; |&lt;/span&gt; YANA&lt;span class="operator"&gt; |&lt;/span&gt; SUSAN&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;  print&lt;span class="operator"&gt;(&lt;/span&gt;val&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;  return&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7133275372566125349?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7133275372566125349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7133275372566125349'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/bit-shifting.html' title='Bit masking'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_OtRe_zHWoRM/SumvvquF73I/AAAAAAAAANs/i2cfgssOYAs/s72-c/wrapping_paper-binary.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-7036604977917125059</id><published>2009-10-27T23:35:00.005+07:00</published><updated>2009-10-28T00:36:04.276+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Daemon Process</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OtRe_zHWoRM/SuchlhPEv2I/AAAAAAAAANk/lZ-bM25Gs8A/s1600-h/tux2.png"&gt;&lt;img style="cursor: pointer; width: 100px; height: 116px;" src="http://4.bp.blogspot.com/_OtRe_zHWoRM/SuchlhPEv2I/AAAAAAAAANk/lZ-bM25Gs8A/s320/tux2.png" alt="" id="BLOGGER_PHOTO_ID_5397319606887300962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Linux just like another Unix system, it can create background process to run as daemon, daemonizing is simply a process created by another process as it's child, the parent &lt;span style="font-style: italic;"&gt;fork()&lt;/span&gt; then exiting after creating the child, the child then detaching itself from the controlling terminal and run in background.&lt;br /&gt;&lt;br /&gt;Linux provide &lt;span style="font-style: italic;"&gt;daemon()&lt;/span&gt; system call, this call was born from BSD Unix, and not a POSIX standard function, this function mostly used by service-based applications such as httpd, sshd, udevd, etc. See &lt;span style="font-style: italic;"&gt;daemon()&lt;/span&gt; for more informations, here the demonstration code on &lt;span style="font-style:italic;"&gt;daemon()&lt;/span&gt; usage.&lt;br /&gt;&lt;pre&gt;&lt;span class="pre"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;br /&gt;int&lt;/span&gt;&lt;span class="keyword"&gt; main&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="type"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;)&lt;br /&gt;{&lt;/span&gt;&lt;span class="type"&gt;&lt;br /&gt;    int&lt;/span&gt; i&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;    FILE&lt;span class="operator"&gt; *&lt;/span&gt;fp&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;    i&lt;span class="operator"&gt; =&lt;/span&gt; daemon&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="int"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="int"&gt; 1&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;    if&lt;/span&gt;&lt;span class="operator"&gt; (&lt;/span&gt;i&lt;span class="operator"&gt; == -&lt;/span&gt;&lt;span class="int"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;) {&lt;/span&gt;&lt;br /&gt;        perror&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"daemon"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;        return&lt;/span&gt;&lt;span class="operator"&gt; -&lt;/span&gt;&lt;span class="int"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;&lt;br /&gt;    }&lt;/span&gt;&lt;br /&gt;    fp&lt;span class="operator"&gt; =&lt;/span&gt; fopen&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"./daemon.log"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="string"&gt; "w+"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;    if&lt;/span&gt;&lt;span class="operator"&gt; (&lt;/span&gt;fp&lt;span class="operator"&gt; ==&lt;/span&gt; NULL&lt;span class="operator"&gt;)&lt;/span&gt;&lt;br /&gt;        exit&lt;span class="operator"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;    while&lt;/span&gt;&lt;span class="operator"&gt; (&lt;/span&gt;&lt;span class="int"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;) {&lt;/span&gt;&lt;br /&gt;        fprintf&lt;span class="operator"&gt;(&lt;/span&gt;fp&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="string"&gt; "%i\n"&lt;/span&gt;&lt;span class="operator"&gt;, ++&lt;/span&gt;i&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;        fflush&lt;span class="operator"&gt;(&lt;/span&gt;fp&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;        sleep&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="int"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);&lt;br /&gt;    }&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;    /* never reach here */&lt;/span&gt;&lt;br /&gt;    fclose&lt;span class="operator"&gt;(&lt;/span&gt;fp&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;    return&lt;/span&gt;&lt;span class="int"&gt; 0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-7036604977917125059?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7036604977917125059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/7036604977917125059'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/daemon-process.html' title='Daemon Process'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_OtRe_zHWoRM/SuchlhPEv2I/AAAAAAAAANk/lZ-bM25Gs8A/s72-c/tux2.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-891420891759820895</id><published>2009-10-27T11:31:00.006+07:00</published><updated>2009-10-27T11:51:54.804+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Favorite win32 applications</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OtRe_zHWoRM/SuZ60zIMSYI/AAAAAAAAANc/NzlmmrMr2mw/s1600-h/untitled.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 222px; height: 66px;" src="http://4.bp.blogspot.com/_OtRe_zHWoRM/SuZ60zIMSYI/AAAAAAAAANc/NzlmmrMr2mw/s320/untitled.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5397136250946472322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sometime i use win32 for playing some games, i love game too ;), here my favorite win32 applications:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Development&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://mingw.org"&gt;MinGW&lt;/a&gt;&lt;br /&gt;- Dev-C++&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Editor&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://openoffice.org"&gt;OpenOffice.org&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://notepad-plus.sourceforge.net"&gt;Notepead++&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Internet&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://www.gnu.org/software/wget/"&gt;GNU Wget&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;PuTTY&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://www.mozilla.com/en-US/firefox/personal.html"&gt;Firefox&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://filezilla-project.org"&gt;FileZilla&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pidgin.im"&gt;Pidgin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Multimedia&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://winamp.com"&gt;Winamp&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://www.videolan.org/"&gt;VideoLAN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Utility&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://7-zip.org"&gt;7-Zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-891420891759820895?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/891420891759820895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/891420891759820895'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/favorite-win32-applications.html' title='Favorite win32 applications'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_OtRe_zHWoRM/SuZ60zIMSYI/AAAAAAAAANc/NzlmmrMr2mw/s72-c/untitled.PNG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-14531950401582671</id><published>2009-10-23T12:14:00.003+07:00</published><updated>2009-10-23T12:31:52.864+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Low Back Pain</title><content type='html'>I got low back pain (LBP) yesterday and still feels it's pain, but no more pain as yesterday, i guess i was exercise too much within this 2 days. Anty call me that night, by following the way of her conversation i though she maybe already change her way, i feels like that. If the situation happen again (my life in 2005 at Bandung) i should give it up, just take your own way because i surrender.&lt;br /&gt;&lt;br /&gt;Joker at The Dark Knight says:&lt;br /&gt;&lt;blockquote&gt;Why so seriously?&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-14531950401582671?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/14531950401582671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/14531950401582671'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/low-back-pain.html' title='Low Back Pain'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-747822819579201819</id><published>2009-10-15T17:38:00.002+07:00</published><updated>2009-10-15T17:40:21.266+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Routing</title><content type='html'>This is a basic routing command, we want to add 192.168.128.0 network with gateway 172.16.1.34, when a client from network 192.168.128.0 request, they will route to 172.16.1.34&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;route add -net 192.168.128.0 netmask 255.255.240.0 gw 172.16.1.34&lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-747822819579201819?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/747822819579201819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/747822819579201819'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/routing.html' title='Routing'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-8713669830865670331</id><published>2009-10-11T01:31:00.005+07:00</published><updated>2009-10-11T19:37:31.877+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Fedora 11: Leonidas</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OtRe_zHWoRM/StDcC3ooIUI/AAAAAAAAAMk/YrSa7Mb9dW8/s1600-h/images.jpeg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 121px; height: 105px;" src="http://2.bp.blogspot.com/_OtRe_zHWoRM/StDcC3ooIUI/AAAAAAAAAMk/YrSa7Mb9dW8/s320/images.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5391050695814684994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tonight i install Fedora 11 (Leonidas) on a 8GB Transcend's IDE SSD. There are previous Fedora 10 (Cambridge) in my SATA disk, i don't need to re-partition my SATA disk, just wipe out and re-partition the SSD. I build the USB media install based on my previous &lt;a href="http://ajhwb.blogspot.com/2009/04/upgrade-to-fedora-10.html"&gt;post&lt;/a&gt;. I choose Fedora 11 64bit Live-ISO build, i want to taste the Fedora's 64bit version. C'mon.&lt;br /&gt;&lt;br /&gt;After creating the USB Live system, boot it up. And the new boot-screen show up, the new &lt;span style="font-weight:bold;"&gt;playmouth&lt;/span&gt; version. Sign-in to it's GNOME desktop, and I'm now in the Live Fedora 11 desktop. Then run &lt;tt&gt;/usr/bin/liveinst&lt;/tt&gt; to start GUI installation. &lt;br /&gt;&lt;br /&gt;Problem comes when in partitioning step, the installer wouldn't let me to create ext4 filesystem for boot, switch to ext3 filesystem was same. It complains that the Live system require a ext4 filesystem for root directory. I don't understand with 'Live system require a ext4 filesystem', and confused. Okay, how about creating a ext3 &lt;tt&gt;/boot&lt;/tt&gt; partition and a ext4 &lt;tt&gt;/&lt;/tt&gt; root partition. The installer now run, everything was run as expected.&lt;br /&gt;&lt;br /&gt;Finish with installation, configure GRUB to add a new boot entry for Fedora 11 located in the Transcend 8GB SSD. Configure anything, then run &lt;tt&gt;yum&lt;/tt&gt; to update. It's took about 400MiB downloads for updating.&lt;br /&gt;&lt;br /&gt;After updating, then i install additional software such as GCC, GTK+ development library and additional non-free packages from &lt;span style="font-weight:bold;"&gt;rpmfusion&lt;/span&gt; repository. Test with play a movie, wow... i got shocked with display error, it displays such broken TV picture, the system was unresponsive, switch to another tty nothing happen. I do manual reset.&lt;br /&gt;&lt;br /&gt;After booting, i can login and use the desktop again. Do some additional packages installation such as Devhelp and Liferea. Devhelp could not run, it told me 'Bus error' error. This is a system call related errors, i try to debug then i got the Devhelp's process caught a SIGBUS caused by &lt;tt&gt;memset&lt;/tt&gt; function. I try to run &lt;tt&gt;ldconfig&lt;/tt&gt;, it told me some truncated shared libraries. Okay, do filesystem checking by &lt;tt&gt;#touch /forcefsck&lt;/tt&gt; then reboot the system. It's same, i still got the &lt;tt&gt;ldconfig&lt;/tt&gt; truncated library files. Now i run &lt;tt&gt;yum reinstall [packages]&lt;/tt&gt; to reinstall the truncated shared libraries. Test to run Devhelp again, and it's rock. The problem caused by some broken installation of shared libraries ;).&lt;br /&gt;&lt;br /&gt;Here the main Fedora 11 64bit package's version:&lt;br /&gt;&lt;br /&gt;- Kernel 2.26.29&lt;br /&gt;- GNOME 2.6.23&lt;br /&gt;- Xorg 1.6.4&lt;br /&gt;- GCC 4.4.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-8713669830865670331?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8713669830865670331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/8713669830865670331'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/fedora-11-leonidas.html' title='Fedora 11: Leonidas'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OtRe_zHWoRM/StDcC3ooIUI/AAAAAAAAAMk/YrSa7Mb9dW8/s72-c/images.jpeg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2693395757961943703</id><published>2009-10-09T19:54:00.004+07:00</published><updated>2009-10-09T20:07:55.013+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Mandiri ATM Card</title><content type='html'>Last day, I was accompanied by Dwi to Pulomas Mandiri branch to get my new ATM card. The card has been lost, i guess it lost when i was charged some moneys at Superindo store in front of my offices. After follow and sign some documents that asked by the Mandiri's officer, now i got the new ATM card. Thanks for you Dwi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2693395757961943703?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2693395757961943703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2693395757961943703'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/mandiri-atm-card.html' title='Mandiri ATM Card'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-2918428880986073972</id><published>2009-10-07T19:52:00.004+07:00</published><updated>2009-10-07T20:05:07.043+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>GCC -g option</title><content type='html'>Glynn Clements answer an email in the &lt;b&gt;linux-c-programming&lt;/b&gt; mailing list to someone who ask about GCC -g option&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Most the time I compile my application without the -g option due to performance reasons.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The -g switch has absolutely no effect upon performance. It simply causes and additional section to be added to the resulting binary. When the program is run normally (i.e. not under gdb), that section won't be mapped. The only downside to -g is that it increases the size&lt;br /&gt;of the file.&lt;br /&gt;&lt;br /&gt;However: debug information isn't necessarily much help if you compile with optimisation enabled, as the resulting machine code will bear little resemblance to the original source code. Statements will be re-ordered, many variables will be eliminated, etc.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Problem is that when it hits some bug and dumps core, this is not very useful because there is hardly any information in it. Is there some way to get some useful information out of the core file. For example one of my program crashed and with gdb I see the following: At least I know that the bug is in my function start_process. But is there some way to find out at what line it happened?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;It isn't meaningful to talk about a "line" in the source code if you compile with optimisation enabled. However, you can tell gdb to disassemble the machine code for a particular function, and you can print the values contained in registers or at specific memory locations. Working out what that information means in terms of the source code is something which needs to be done manually.&lt;/blockquote&gt;&lt;br /&gt;Glynn Clements is an active member in the Linux's kernel mailing list, i love the way he answer a question.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-2918428880986073972?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2918428880986073972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/2918428880986073972'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/gcc-g-option.html' title='GCC -g option'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1527506430130048688</id><published>2009-10-07T18:03:00.004+07:00</published><updated>2009-10-08T12:36:26.315+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>The Linux proc Filesystem</title><content type='html'>&lt;tt&gt;/proc/cpuinfo&lt;/tt&gt; - CPU informations&lt;br /&gt;&lt;tt&gt;/prco/meminfo&lt;/tt&gt; - Physical and virtual memory informations&lt;br /&gt;&lt;tt&gt;/proc/sys/net/ipv4/ip_forward&lt;/tt&gt; - IP forwarding setting (respect on protocol version)&lt;br /&gt;&lt;tt&gt;/proc/sys/vm/overcommit_memory&lt;/tt&gt; - Virtual memory overcommit setting&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1527506430130048688?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1527506430130048688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1527506430130048688'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/linux-proc-filesystem.html' title='The Linux proc Filesystem'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-9034787800931599665</id><published>2009-10-04T20:09:00.002+07:00</published><updated>2009-10-11T03:13:13.121+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rock'/><title type='text'>Beer Hacks</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OtRe_zHWoRM/Ss82ME9LsAI/AAAAAAAAAMc/UwiaCOHSNJM/s1600-h/Heineken_Beer.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 256px; height: 320px;" src="http://1.bp.blogspot.com/_OtRe_zHWoRM/Ss82ME9LsAI/AAAAAAAAAMc/UwiaCOHSNJM/s320/Heineken_Beer.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5390586860102463490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Last night im going to Aso's base-camp, i promised him to fix his new Notebook. Going there by a Cab, Aso pay the fares for me - thanks you, because i really low in cash after my ATM card is lost -, there is Luke, Lule and other friends. Wow, Aso show me his new &lt;b&gt;XPS Compaq&lt;/b&gt; notebook, wow... it's a stylish notebook, black-silver color and highend one. It's bundled with Microsoft Windows Vista (but I have no intereset with Vista), 3GB physical RAM, slot-in DVD-RAM and Intel Core 2 Duo CPU. Cool and high-end notebook.&lt;br /&gt;&lt;br /&gt;The problem is Aso forgot his account's password, he complained that he set the password then he can't login into it again. Wow, he said &lt;i&gt;"i was setting the password when i was drunken"&lt;/i&gt;, the password is &lt;i&gt;jakarta&lt;/i&gt;, mmm... i do a simple mistypo trick for drunken people ;), i try to upcase-ing the password to be &lt;i&gt;JAKARTA&lt;/i&gt;, and viola it was unlocked and now sign to locked account. They all asking me "&lt;i&gt;how the hell i did that?&lt;/i&gt;", i answer ... &lt;i&gt;"This is a secret way, i can't tell you because you will able to use this to broke a system"&lt;/i&gt;, they seem accept that.. haha... gotcha...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-9034787800931599665?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9034787800931599665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/9034787800931599665'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/05/beer-hacks.html' title='Beer Hacks'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_OtRe_zHWoRM/Ss82ME9LsAI/AAAAAAAAAMc/UwiaCOHSNJM/s72-c/Heineken_Beer.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-1929836414883987313</id><published>2009-10-02T02:08:00.009+07:00</published><updated>2009-10-03T15:25:34.971+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><title type='text'>GCC C Extension</title><content type='html'>This is the GNU C Compiler extension for the C programming language.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Arithmetic on &lt;tt&gt;void-&lt;/tt&gt; and Function-Pointers&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;In GNU C, addition and subtraction operations are supported on pointers to void and on pointers to functions. This is done by treating the size of a void or of a function as 1.&lt;br /&gt;&lt;br /&gt;A consequence of this is that sizeof is also allowed on void and on function types, and returns 1.&lt;br /&gt;&lt;br /&gt;The option &lt;tt&gt;-Wpointer-arith&lt;/tt&gt; requests a warning if these extensions are used.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;void *ptr;&lt;br /&gt;/* validate ptr pointer */&lt;br /&gt;func(ptr + 2);&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Non-Constant Initializers&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;As in standard C++, the elements of an aggregate initializer for an automatic variable are not required to be constant expressions in GNU C. Here is an example of an initializer with run-time varying elements:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;foo (float f, float g)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float beat_freqs[2] = { f-g, f+g };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;br /&gt;}&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Nested Functions&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;A nested function is a function defined inside another function. (Nested functions are not supported for GNU C++.) The nested function's name is local to the block where it is defined. For example, here we define a nested function named square, and call it twice:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;foo (double a, double b)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double square(double z) { return z * z; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return square(a) + square(b);&lt;br /&gt;}&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;The nested function can access all the variables of the containing function that are visible at the point of its definition. This is called lexical scoping. For example, here we show a nested function which uses an inherited variable named offset:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;bar (int *array, int offset, int size)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int access(int *array, int index)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ return array[index + offset]; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &lt; size; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... access(array, i) ...&lt;br /&gt;}&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;64 Bit Integer&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;GCC support 64 bit integer value with &lt;tt&gt;long long&lt;/tt&gt; type. Example:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;unsigned long long value64 = 23ULL;&lt;br /&gt;unsigned long value32 = 23UL;&lt;br /&gt;&lt;br /&gt;printf("sizeof(value64) is %i bit\n", sizeof(value64) &lt;&lt; 3);&lt;br /&gt;printf("sizeof(value32) is %i bit\n", sizeof(value32) &lt;&lt; 3);&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gcc.gnu.org"&gt;http://gcc.gnu.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-1929836414883987313?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1929836414883987313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/1929836414883987313'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/10/gcc-c-extension.html' title='GCC C Extension'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-23824948.post-5234885569771578811</id><published>2009-09-25T16:35:00.003+07:00</published><updated>2009-09-25T17:02:17.814+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>iptables</title><content type='html'>&lt;span style="font-weight: bold;"&gt;iptables&lt;/span&gt; is a administration tool for IPv4 packet filtering and NAT, it's mainly in UNIX like operating system including, of course Linux. Here my iptables commands collection based on my own purposes:&lt;br /&gt;&lt;br /&gt;- List applied filters&lt;br /&gt;&lt;tt&gt;#iptables -L&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;- Blocking specific IP address&lt;br /&gt;&lt;tt&gt;#iptables -I INPUT -s &amp;lt;address&amp;gt; -j DROP&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;- Unblocking specific IP address&lt;br /&gt;&lt;tt&gt;#iptables -D INPUT -s &amp;lt;address&amp;gt; -j DROP&lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23824948-5234885569771578811?l=ajhwb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5234885569771578811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23824948/posts/default/5234885569771578811'/><link rel='alternate' type='text/html' href='http://ajhwb.blogspot.com/2009/09/iptables.html' title='iptables'/><author><name>ajhwb</name><uri>http://www.blogger.com/profile/02263936677971277473</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_OtRe_zHWoRM/SxJ4rCmnBiI/AAAAAAAAAOk/L4yyUditDIY/S220/n1329404759_1351.jpg'/></author></entry></feed>
