<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>satukubik</title>
	
	<link>http://satukubik.com</link>
	<description>techie, javvie, savvie</description>
	<lastBuildDate>Fri, 12 Mar 2010 13:22:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/satukubik" /><feedburner:info uri="satukubik" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
		<title>Oh Beckham…</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/nrQh0HbC64Q/</link>
		<comments>http://satukubik.com/2010/03/12/oh-beckham/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 13:22:19 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[beckham]]></category>
		<category><![CDATA[manchester united]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=798</guid>
		<description><![CDATA[Red nose and the mimic of his face&#8230;. he was crying, right?




Oh Beckham&#8230; originally appeared on satukubik on March 12, 2010.


No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Red nose and the mimic of his face&#8230;. he was crying, right?</p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/03/beckham1.png" ><img src="http://satukubik.com/wp-content/uploads/2010/03/beckham1.png" alt="" title="beckham1" width="400" class="aligncenter size-full wp-image-800" /></a></p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/03/beckham2.png" ><img src="http://satukubik.com/wp-content/uploads/2010/03/beckham2.png" alt="" title="beckham1" width="400" class="aligncenter size-full wp-image-800" /></a></p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/03/beckham3.png" ><img src="http://satukubik.com/wp-content/uploads/2010/03/beckham3.png" alt="" title="beckham1" width="400" class="aligncenter size-full wp-image-800" /></a></p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/03/beckham4.png" ><img src="http://satukubik.com/wp-content/uploads/2010/03/beckham4.png" alt="" title="beckham1" width="400" class="aligncenter size-full wp-image-800" /></a></p>
<p><a href="http://satukubik.com/2010/03/12/oh-beckham/" rel="bookmark" class="liinternal">Oh Beckham&#8230;</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on March 12, 2010.</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/satukubik/~4/nrQh0HbC64Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/03/12/oh-beckham/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/03/12/oh-beckham/</feedburner:origLink></item>
		<item>
		<title>Opinions surround iPad</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/HPanNFdX-fY/</link>
		<comments>http://satukubik.com/2010/01/28/opinion-surrounds-ipad/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 07:59:28 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[funny]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iPad]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=793</guid>
		<description><![CDATA[Artists: &#8220;This iPad will benefit us a lot.&#8221;
Someone: &#8220;How so?&#8221;
Artists: &#8220;For starter, we need only to rent a one-by-one exhibition hall.&#8221;
&#8220;$500 is okay but what will I do with that?&#8221;
&#8220;Well, at the worst case, you can just hang it on the wall to show your photos.&#8221;
&#8220;Honey, I&#8217;m going to order an iPad.&#8221;
&#8220;What is that and [...]


Related posts:<ol><li><a href='http://satukubik.com/2008/01/21/the-2nd-macheist/' rel='bookmark' title='Permanent Link: The 2nd MacHeist'>The 2nd MacHeist</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Artists: &#8220;This iPad will benefit us a lot.&#8221;<br />
Someone: &#8220;How so?&#8221;<br />
Artists: &#8220;For starter, we need only to rent a one-by-one exhibition hall.&#8221;</p>
<p>&#8220;$500 is okay but what will I do with that?&#8221;<br />
&#8220;Well, at the worst case, you can just hang it on the wall to show your photos.&#8221;</p>
<p>&#8220;Honey, I&#8217;m going to order an iPad.&#8221;<br />
&#8220;What is that and how much does it cost?&#8221;<br />
&#8220;It&#8217;s gorgeous new product from Apple which has 10&#8242; display and it costs $500.&#8221;<br />
&#8220;Okay, but make it two, will you?&#8221;</p>
<p>Someone: &#8220;With iPhone and iPad, why do we need Mac anymore?&#8221;<br />
Software developer: &#8220;Well, you need one to develop apps for them.&#8221;</p>
<p>Analysts: &#8220;One year from now, students around the country will be laying on parks reading iPad.&#8221;<br />
Students: &#8220;But&#8230; One year from now it will be another winter.&#8221;</p>
<p>See more on: <a href="http://firdausi.posterous.com/" target="_blank">firdausi&#8217;s post</a></p>
<p><a href="http://satukubik.com/2010/01/28/opinion-surrounds-ipad/" rel="bookmark" class="liinternal">Opinions surround iPad</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 28, 2010.</p>


<p>Related posts:<ol><li><a href='http://satukubik.com/2008/01/21/the-2nd-macheist/' rel='bookmark' title='Permanent Link: The 2nd MacHeist'>The 2nd MacHeist</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/satukubik/~4/HPanNFdX-fY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/28/opinion-surrounds-ipad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/28/opinion-surrounds-ipad/</feedburner:origLink></item>
		<item>
		<title>Google Translate is very sensitive</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/xkL4GhVs2s0/</link>
		<comments>http://satukubik.com/2010/01/12/google-translate-is-very-sensitive/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 15:25:49 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[translate]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=790</guid>
		<description><![CDATA[If you haven&#8217;t heard&#8230; the translation engine of Google is very sensitive. Even a capital can make a difference.
Here is another good one&#8230;
Original:
Der Stundenpreis für Kinder unter drei Jahren beträgt 6,50 €. Darüber hinaus können folgende Pauschalen gebucht werden:
Der Stundenpreis für Kinder ab dem dritten Lebensjahr beträgt 5,00 €. Auch hier können folgende Pauschalen gebucht [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t heard&#8230; the translation engine of Google is very sensitive. <a href="http://googlesystem.blogspot.com/2010/01/googles-sensitive-translation-service.html" target="_blank">Even a capital can make a difference</a>.</p>
<p>Here is another good one&#8230;</p>
<p>Original:</p>
<blockquote><p>Der Stundenpreis für Kinder unter drei Jahren beträgt 6,50 €. Darüber hinaus können folgende Pauschalen gebucht werden:</p>
<p>Der Stundenpreis für Kinder ab dem dritten Lebensjahr beträgt 5,00 €. Auch hier können folgende Pauschalen gebucht werden:</p></blockquote>
<p>Translation:</p>
<blockquote><p>The hourly rate for children under three years is € 6.50. Additionally, the following packages can be booked:</p>
<p>The hourly rate for children over the age of three is 5,00 €. Here too, the following packages can be booked:</p></blockquote>
<p>See how the place of Euro currency is changed?</p>
<p><a href="http://satukubik.com/2010/01/12/google-translate-is-very-sensitive/" rel="bookmark" class="liinternal">Google Translate is very sensitive</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 12, 2010.</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/satukubik/~4/xkL4GhVs2s0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/12/google-translate-is-very-sensitive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/12/google-translate-is-very-sensitive/</feedburner:origLink></item>
		<item>
		<title>Eclipse plugin: Introduce Static Imports</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/vgpFEw2BwaU/</link>
		<comments>http://satukubik.com/2010/01/11/eclipse-plugin-introduce-static-imports/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 13:00:14 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[jdt]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[refactoring]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=780</guid>
		<description><![CDATA[The Static Import guide from Sun states:
So when should you use static import? Very sparingly! Only use it when you&#8217;d otherwise be tempted to declare local copies of constants, or to abuse inheritance (the Constant Interface Antipattern). In other words, use it when you require frequent access to static members from one or two classes. [...]


Related posts:<ol><li><a href='http://satukubik.com/2009/11/06/embedding-jetty-server-in-eclipse-rcp/' rel='bookmark' title='Permanent Link: Embedding Jetty Server in Eclipse RCP'>Embedding Jetty Server in Eclipse RCP</a></li>
<li><a href='http://satukubik.com/2007/03/14/spoon-jdt/' rel='bookmark' title='Permanent Link: Spoon JDT'>Spoon JDT</a></li>
<li><a href='http://satukubik.com/2010/01/06/my-eclipse-code-formatter/' rel='bookmark' title='Permanent Link: My Eclipse Code Formatter'>My Eclipse Code Formatter</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/static-import.html" target="_blank">Static Import guide from Sun</a> states:</p>
<blockquote><p>So when should you use static import? Very sparingly! Only use it when you&#8217;d otherwise be tempted to declare local copies of constants, or to abuse inheritance (the Constant Interface Antipattern). In other words, use it when you require frequent access to static members from one or two classes. If you overuse the static import feature, it can make your program unreadable and unmaintainable, polluting its namespace with all the static members you import. Readers of your code (including you, a few months after you wrote it) will not know which class a static member comes from. Importing all of the static members from a class can be particularly harmful to readability; if you need only one or two members, import them individually. <strong>Used appropriately, static import can make your program more readable, by removing the boilerplate of repetition of class names.</strong></p></blockquote>
<p>Unfortunately, Eclipse didn&#8217;t provide a way to change all calls of static method/field to use static import. <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=197850" target="_blank">You can do &#8216;Add Import&#8217; and Eclipse will create this static import for you but the other instances where this same method/field used will not be changed</a>.</p>
<p>For example, if I have a class that contains static method like this:</p>
<pre class="brush: java;">
package bug;

public class A {

	public static void bbb() {

	}
}
</pre>
<p>And other class that calls the static method:</p>
<pre class="brush: java;">
package bug;

public class B {
	public B() {
		A.bbb();
		A.bbb();
	}
}
</pre>
<p>And I want to introduce A.bbb as static import. I can do <strong>Add Import</strong> (Ctrl+Shift+M) and what I will get is;</p>
<pre class="brush: java;">
package bug;

import static bug.A.bbb;

public class B {
	public B() {
		bbb();
		A.bbb();
	}
}
</pre>
<p>Hmmm&#8230; not really nice, that says that I have to change all occurrence of A.bbb() in the same class (which can be many, after all the previously mentioned guide asked us only to use this import static when there are a lot of repetition of class name).</p>
<p>So I decide to do some hacks and create my first JDT extension plugins (yay!) that exactly do this. You can grab the plugin here (I might release the source later on GitHub): </p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/firdau.si_.introduceStaticImport_1.0.0.201001111558.jar" class="liinternal">firdau.si.introduceStaticImport_1.0.0.201001111558</a></p>
<p>Copy this plugin and drop it in the <strong>dropins</strong> folder. I must mention also that I use Java 6 for the development. I think Java 5 will also work but I make no guarantee. </p>
<p>With this plugin installed, you will get a new entry if you do right click in Java Editor.</p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/introduce_static_import_plugin.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/introduce_static_import_plugin.png" alt="" title="introduce_static_import_plugin" width="250" height="540" class="aligncenter size-full wp-image-783" /></a></p>
<p>And if you run it, the result is:</p>
<pre class="brush: java;">
package bug;

import static bug.A.bbb;

public class B {
	public B() {
		bbb();
		bbb();
	}
}
</pre>
<p>Take it easy with the plugin, after all this is my first JDT extension plugin. I have tested it against the code of the plugin itself, but I can&#8217;t be responsible for anything that may happen. You may report the problem though&#8230;</p>
<p><del datetime="2010-01-11T15:12:35+00:00">Note also that the plugin currently is working only for static methods and</del> I do think this should be provided by Eclipse in their default product. Unfortunately, I don&#8217;t think my code is good enough for a patch for such.</p>
<p><strong>UPDATE:</strong></p>
<p>The new code can also work with static field.</p>
<p><a href="http://satukubik.com/2010/01/11/eclipse-plugin-introduce-static-imports/" rel="bookmark" class="liinternal">Eclipse plugin: Introduce Static Imports</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 11, 2010.</p>


<p>Related posts:<ol><li><a href='http://satukubik.com/2009/11/06/embedding-jetty-server-in-eclipse-rcp/' rel='bookmark' title='Permanent Link: Embedding Jetty Server in Eclipse RCP'>Embedding Jetty Server in Eclipse RCP</a></li>
<li><a href='http://satukubik.com/2007/03/14/spoon-jdt/' rel='bookmark' title='Permanent Link: Spoon JDT'>Spoon JDT</a></li>
<li><a href='http://satukubik.com/2010/01/06/my-eclipse-code-formatter/' rel='bookmark' title='Permanent Link: My Eclipse Code Formatter'>My Eclipse Code Formatter</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/satukubik/~4/vgpFEw2BwaU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/11/eclipse-plugin-introduce-static-imports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/11/eclipse-plugin-introduce-static-imports/</feedburner:origLink></item>
		<item>
		<title>Pigpen Cipher on The Lost Symbol</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/vuWZowBKE5w/</link>
		<comments>http://satukubik.com/2010/01/08/pigpen-cipher-on-the-lost-symbol/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 09:48:09 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[funny]]></category>
		<category><![CDATA[cipher]]></category>
		<category><![CDATA[pigpen]]></category>
		<category><![CDATA[sandi]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=775</guid>
		<description><![CDATA[Seems that Pigpen Cipher aka Sandi Kotak is so popular. Now The Lost Symbol also has it. 

If only all codes are that easy!
Pigpen Cipher on The Lost Symbol originally appeared on satukubik on January 8, 2010.


Related posts:Pigpen Cipher



Related posts:<ol><li><a href='http://satukubik.com/2006/09/29/pigpen-cipher/' rel='bookmark' title='Permanent Link: Pigpen Cipher'>Pigpen Cipher</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Seems that <a href="http://satukubik.com/2006/09/29/pigpen-cipher/" class="liinternal">Pigpen Cipher</a> aka Sandi Kotak is so popular. Now <a href="http://www.amazon.com/Lost-Symbol-Dan-Brown/dp/0385504225" target="_blank">The Lost Symbol</a> also has it. </p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/pigpen.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/pigpen.png" alt="" title="pigpen" width="400" class="aligncenter size-full wp-image-776" /></a></p>
<p>If only all codes are that easy!</p>
<p><a href="http://satukubik.com/2010/01/08/pigpen-cipher-on-the-lost-symbol/" rel="bookmark" class="liinternal">Pigpen Cipher on The Lost Symbol</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 8, 2010.</p>


<p>Related posts:<ol><li><a href='http://satukubik.com/2006/09/29/pigpen-cipher/' rel='bookmark' title='Permanent Link: Pigpen Cipher'>Pigpen Cipher</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/satukubik/~4/vuWZowBKE5w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/08/pigpen-cipher-on-the-lost-symbol/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/08/pigpen-cipher-on-the-lost-symbol/</feedburner:origLink></item>
		<item>
		<title>Review: Talking Carl</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/E3NvbxmLQnk/</link>
		<comments>http://satukubik.com/2010/01/07/review-talking-carl/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 22:57:37 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=771</guid>
		<description><![CDATA[Talking Carl is a simple application you can get from AppStore. Its idea is very simple. You&#8217;ll get Carl on your screen and if you touch him, tickle him, pinch him, he will react funnily. If you speak to him, it will repeat your sentence with funnier voice. It&#8217;s hilarious and both of my kids [...]


Related posts:<ol><li><a href='http://satukubik.com/2008/07/12/will-apple-redefine-portable-game-market/' rel='bookmark' title='Permanent Link: Will Apple redefine portable game market?'>Will Apple redefine portable game market?</a></li>
<li><a href='http://satukubik.com/2008/04/21/device-charging-holder/' rel='bookmark' title='Permanent Link: Device Charging Holder'>Device Charging Holder</a></li>
<li><a href='http://satukubik.com/2008/01/21/the-2nd-macheist/' rel='bookmark' title='Permanent Link: The 2nd MacHeist'>The 2nd MacHeist</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://itunes.apple.com/us/app/talking-carl/id342755454?mt=8" target="_blank">Talking Carl</a> is a simple application you can get from AppStore. Its idea is very simple. You&#8217;ll get Carl on your screen and if you touch him, tickle him, pinch him, he will react funnily. If you speak to him, it will repeat your sentence with funnier voice. It&#8217;s hilarious and both of my kids love it, even the one who is not yet 1 year.</p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/IMG_0105.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/IMG_0105-200x300.png" alt="" title="IMG_0105" width="200" height="300" class="aligncenter size-medium wp-image-772" /></a></p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/IMG_0107.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/IMG_0107-200x300.png" alt="" title="IMG_0107" width="200" height="300" class="aligncenter size-medium wp-image-773" /></a></p>
<p>It will be better if they add more interactions in the future though, like the background adjusted to the time of the day and something to see when we shake the device.</p>
<p>Anyway&#8230; it&#8217;s highly recommended.</p>
<p><a href="http://satukubik.com/2010/01/07/review-talking-carl/" rel="bookmark" class="liinternal">Review: Talking Carl</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 7, 2010.</p>


<p>Related posts:<ol><li><a href='http://satukubik.com/2008/07/12/will-apple-redefine-portable-game-market/' rel='bookmark' title='Permanent Link: Will Apple redefine portable game market?'>Will Apple redefine portable game market?</a></li>
<li><a href='http://satukubik.com/2008/04/21/device-charging-holder/' rel='bookmark' title='Permanent Link: Device Charging Holder'>Device Charging Holder</a></li>
<li><a href='http://satukubik.com/2008/01/21/the-2nd-macheist/' rel='bookmark' title='Permanent Link: The 2nd MacHeist'>The 2nd MacHeist</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/satukubik/~4/E3NvbxmLQnk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/07/review-talking-carl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/07/review-talking-carl/</feedburner:origLink></item>
		<item>
		<title>multitail: colorize your log files</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/_muTD2Bhzq8/</link>
		<comments>http://satukubik.com/2010/01/07/multitail-colorize-your-log-files/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 22:35:03 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[multitail]]></category>
		<category><![CDATA[tail]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=764</guid>
		<description><![CDATA[Love watching those log file flying on your screen? How about having that WITH color? 
MultiTail is small program that exactly does that. This application is available in *nix system and mac users can even use it from Macports.

According to the website, the program is released with many color schemes for different log formats including: [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Love watching those log file flying on your screen? How about having that WITH color? </p>
<p><a href="http://www.vanheusden.com/multitail/" target="_blank">MultiTail</a> is small program that exactly does that. This application is available in *nix system and mac users can even use it from Macports.</p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/multitail.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/multitail.png" alt="" title="multitail" width="600" class="aligncenter size-full wp-image-768" /></a></p>
<p>According to the website, the program is released with many color schemes for different log formats including: Postfix, Apache, RSStail, Acctail, WTMPtail, Squid, Asterisk, Sendmail, Mailscanner, Samba, Exim, HTTPing, TCPdump, ISC-DHCPD, Bind, Smartmontools, Kerberos, NTPd, nagtail, WebSphere (SystemErr), NNTPcache, Veritas Netbackup procmail, Checkpoint Firewall-1, Netscape directory server (LDAP), log4j, ClamAV, p0f, sysstat, portsentry, pppd, strace, Linux firewall (netfilter) logging, Argus, Snort, Motion, IBM AIX errpt, MySQL error log, BOINC, acpitail, netstat.</p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/multitail2.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/multitail2.png" alt="" title="multitail2" width="600" class="aligncenter size-full wp-image-766" /></a></p>
<p><a href="http://satukubik.com/2010/01/07/multitail-colorize-your-log-files/" rel="bookmark" class="liinternal">multitail: colorize your log files</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 7, 2010.</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/satukubik/~4/_muTD2Bhzq8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/07/multitail-colorize-your-log-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/07/multitail-colorize-your-log-files/</feedburner:origLink></item>
		<item>
		<title>Java Tips: Using generic correctly</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/N7vL-8W7Pvk/</link>
		<comments>http://satukubik.com/2010/01/06/java-tips-using-generic-correctly/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 20:25:24 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[cast]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[generic]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=756</guid>
		<description><![CDATA[Generic is very powerful tools, it allows us to get errors that usually only happen in runtime to compile time like the usual type error.
Generic is also very tempting and in normal case, is very easy to use in daily programming. But without a good thinking, we normally will lose the actual power of generic. [...]


Related posts:<ol><li><a href='http://satukubik.com/2010/01/05/java-tips-iterate-and-cast/' rel='bookmark' title='Permanent Link: Java Tips: Iterate and cast'>Java Tips: Iterate and cast</a></li>
<li><a href='http://satukubik.com/2007/12/16/java-tips-generic-method/' rel='bookmark' title='Permanent Link: Java Tips: Generic Method'>Java Tips: Generic Method</a></li>
<li><a href='http://satukubik.com/2009/07/21/java-tips-launching-a-page-in-default-browser/' rel='bookmark' title='Permanent Link: Java Tips: Launching a page in default browser'>Java Tips: Launching a page in default browser</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Generic is very powerful tools, it allows us to get errors that usually only happen in runtime to compile time like the usual type error.</p>
<p>Generic is also very tempting and in normal case, is very easy to use in daily programming. But without a good thinking, we normally will lose the actual power of generic. Let&#8217;s we start with this bad news.</p>
<p><a href="http://codemunchies.com/2009/10/cast-away-with-java-generics/" target="_blank">The last article</a> I referred on article<a href="http://satukubik.com/2010/01/05/java-tips-iterate-and-cast/" class="liinternal"> Java Tips: Iterate and cast</a> is one example where we wrote a Java code using generic but not optimally. The code is as follow:</p>
<pre class="brush: java;">
@SuppressWarnings(&quot;unchecked&quot;) public static &lt;X&gt; X cast(Object o) {
    return (X) o;
}
</pre>
<p>What&#8217;s wrong with that? <a href="http://www.javablogging.com/beautiful-casting-gone-bad/" target="_blank">PPOW show the wrong cases</a> to us.</p>
<pre class="brush: java;">
Number telephoneNumber = cast(&quot;1234567&quot;);

session.setAttribute(&quot;digits&quot;, setOfDigits);
List&lt;Character&gt; characters = cast(session.getAttribute(&quot;digits&quot;));

String authorName = cast(session.getAttribute(&quot;authorId&quot;));
</pre>
<p>The errors that we usually get in compile time are missed and can only be get in runtime.</p>
<p>How to make it correct? It is actually pretty simple if we think it through. The essence of casting is to specify that certain superclass that we have is actually a subclass. This relationship is important. Knowing that we know that the argument of the method should be superclass of the result, and not an arbitrary object. So we can fix our method cast like following.</p>
<pre class="brush: java;">
@SuppressWarnings(&quot;unchecked&quot;) public static &lt;T, X extends T&gt; X cast(T o) {
	return (X) o;
}
</pre>
<p>And now try all the cases PPOW suggested and we will get an error in compile time. That&#8217;s good!</p>
<p>The last case PPOW suggested in the article is not really valid because even using a not tricky techniques, the error will only be happen in runtime. These codes compile correctly but all have problem in runtime.</p>
<p>Using original code:</p>
<pre class="brush: java;">
// Because of an error we cast it to a map of String to String
Map&lt;String, String&gt; badMap = cast(session.getAttribute(&quot;map&quot;));

// we pass the map between many objects and doing many operations on it
String s1 = badMap.get(1);
badMap.put(&quot;2&quot;, &quot;2&quot;);
String s2 = badMap.get(&quot;2&quot;);
String s3 = badMap.get(2);
String s4 = badMap.get(123);
</pre>
<p>Using modified code:</p>
<pre class="brush: java;">
// Because of an error we cast it to a map of String to String
Map&lt;String, String&gt; badMap2 = cast2(session.getAttribute(&quot;map&quot;));

// we pass the map between many objects and doing many operations on it
String s1a = badMap.get(1);
badMap.put(&quot;2&quot;, &quot;2&quot;);
String s2a = badMap.get(&quot;2&quot;);
String s3a = badMap.get(2);
String s4a = badMap.get(123);
</pre>
<p>Using normal cast:</p>
<pre class="brush: java;">
// Because of an error we cast it to a map of String to String
Map&lt;String, String&gt; badMap3 = (Map&lt;String, String&gt;)(session.getAttribute(&quot;map&quot;));

// we pass the map between many objects and doing many operations on it
String s1b = badMap.get(1);
badMap.put(&quot;2&quot;, &quot;2&quot;);
String s2b = badMap.get(&quot;2&quot;);
String s3b = badMap.get(2);
String s4b = badMap.get(123);
</pre>
<p>As you can see, generic is easy to implement, but to implement it correctly is not that easy. I really suggest to read <a href="http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf" class="lipdf">the white print of generic</a> which honestly, I still don&#8217;t understand the whole of it. The latest edition of <a href="http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683" target="_blank">Effective Java</a> also has some tips to work with generic. </p>
<p>Learn generic, it is worth it!</p>
<p><a href="http://satukubik.com/2010/01/06/java-tips-using-generic-correctly/" rel="bookmark" class="liinternal">Java Tips: Using generic correctly</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 6, 2010.</p>


<p>Related posts:<ol><li><a href='http://satukubik.com/2010/01/05/java-tips-iterate-and-cast/' rel='bookmark' title='Permanent Link: Java Tips: Iterate and cast'>Java Tips: Iterate and cast</a></li>
<li><a href='http://satukubik.com/2007/12/16/java-tips-generic-method/' rel='bookmark' title='Permanent Link: Java Tips: Generic Method'>Java Tips: Generic Method</a></li>
<li><a href='http://satukubik.com/2009/07/21/java-tips-launching-a-page-in-default-browser/' rel='bookmark' title='Permanent Link: Java Tips: Launching a page in default browser'>Java Tips: Launching a page in default browser</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/satukubik/~4/N7vL-8W7Pvk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/06/java-tips-using-generic-correctly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/06/java-tips-using-generic-correctly/</feedburner:origLink></item>
		<item>
		<title>Kindle DX goes international</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/4jmSvdZvWLI/</link>
		<comments>http://satukubik.com/2010/01/06/kindle-dx-goes-international/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 09:55:59 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[dx]]></category>
		<category><![CDATA[kindle]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=749</guid>
		<description><![CDATA[As correctly predicted by BlogKindle, the Kindle DX is not shipped internationally. It&#8217;s pretty obvious that the reason behind this is to keep the momentum as high as possible.

Beside the size and price (of course), the only difference that I can see is only that the DX supports auto rotate. The price is $489, with [...]


Related posts:<ol><li><a href='http://satukubik.com/2009/10/07/kindle-goes-global-well-not-really/' rel='bookmark' title='Permanent Link: Kindle goes global (well&#8230; not really)'>Kindle goes global (well&#8230; not really)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://blogkindle.com/2009/10/international-kindle-dx-possibly-in-2010/" target="_blank">correctly predicted by BlogKindle</a>, the <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015TG12Q/ref=amb_link_17949842_3?pf_rd_m=ATVPDKIKX0DER&#038;pf_rd_s=center-1&#038;pf_rd_r=1TRJC8WJRQ6334Y5ECCG&#038;pf_rd_t=101&#038;pf_rd_p=51296882&#038;pf_rd_i=507846" target="_blank">Kindle DX</a> is not shipped internationally. It&#8217;s pretty obvious that the reason behind this is to keep the momentum as high as possible.</p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/kindle_dx.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/kindle_dx.png" alt="" title="kindle_dx" width="474" height="280" class="aligncenter size-full wp-image-750" /></a></p>
<p>Beside the size and price (of course), the only difference that I can see is only that the DX supports auto rotate. The price is $489, with shipping and custom it is $606.88 to Germany. Compared to the smaller version&#8217;s price of $343.33, it seems so expensive.</p>
<p>And no, Indonesia is still not in the list of shipping destinations.</p>
<p><a href="http://satukubik.com/2010/01/06/kindle-dx-goes-international/" rel="bookmark" class="liinternal">Kindle DX goes international</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 6, 2010.</p>


<p>Related posts:<ol><li><a href='http://satukubik.com/2009/10/07/kindle-goes-global-well-not-really/' rel='bookmark' title='Permanent Link: Kindle goes global (well&#8230; not really)'>Kindle goes global (well&#8230; not really)</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/satukubik/~4/4jmSvdZvWLI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/06/kindle-dx-goes-international/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/06/kindle-dx-goes-international/</feedburner:origLink></item>
		<item>
		<title>My Eclipse Code Formatter</title>
		<link>http://feedproxy.google.com/~r/satukubik/~3/LP3faZ2c8t0/</link>
		<comments>http://satukubik.com/2010/01/06/my-eclipse-code-formatter/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 08:58:28 +0000</pubDate>
		<dc:creator>Nanda Firdausi</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[formatted]]></category>

		<guid isPermaLink="false">http://satukubik.com/?p=742</guid>
		<description><![CDATA[A consistent code format across the project is one sign of a maintainable project. Almost all of Java IDEs provide a way to format your code, but in my opinion, Eclipse does deliver the most customizable Java formatter. Many aspects from the code can be configured using the tools.

Lately the format used by Kevin Bourrillion [...]


Related posts:<ol><li><a href='http://satukubik.com/2010/01/05/java-tips-iterate-and-cast/' rel='bookmark' title='Permanent Link: Java Tips: Iterate and cast'>Java Tips: Iterate and cast</a></li>
<li><a href='http://satukubik.com/2009/10/12/eclipse-rcp-tips-drawing-dash-line/' rel='bookmark' title='Permanent Link: Eclipse RCP Tips: Drawing dash line'>Eclipse RCP Tips: Drawing dash line</a></li>
<li><a href='http://satukubik.com/2009/07/27/what-are-the-important-improvements-on-eclipse-galileo-3-5-for-me/' rel='bookmark' title='Permanent Link: What are the important improvements on Eclipse Galileo 3.5 (for me)'>What are the important improvements on Eclipse Galileo 3.5 (for me)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A consistent code format across the project is one sign of a maintainable project. Almost all of Java IDEs provide a way to format your code, but in my opinion, Eclipse does deliver the most customizable Java formatter. Many aspects from the code can be configured using the tools.</p>
<p><a href="http://satukubik.com/wp-content/uploads/2010/01/eclipse_formatter.png" ><img src="http://satukubik.com/wp-content/uploads/2010/01/eclipse_formatter.png" alt="" title="eclipse_formatter" width="600" class="aligncenter size-full wp-image-743" /></a></p>
<p>Lately the format used by Kevin Bourrillion caught my eyes. Among other things, he chose to use method annotation without any line break. So instead of:</p>
<pre class="brush: java;">
    @Deprecated
    @Override
    public void bar(@SuppressWarnings(&quot;unused&quot;) int i) {
        @SuppressWarnings(&quot;unused&quot;)
        int k;
    }
</pre>
<p>he used:</p>
<pre class="brush: java;">
    @Deprecated @Override public void bar(@SuppressWarnings(&quot;unused&quot;) int i) {
        @SuppressWarnings(&quot;unused&quot;)
        int k;
    }
</pre>
<p>And for an empty constructor or an empty method, instead of the standard:</p>
<pre class="brush: java;">
private Casts() {
}
</pre>
<p>he used:</p>
<pre class="brush: java;">
private Casts() {}
</pre>
<p>At first, I don&#8217;t really like it, but after working with <a href="http://code.google.com/p/google-collections/" target="_blank">Google Collections</a>, this format seems make sense. It reduce the number of lines and make the code a lot easier to read. Yes, the line will be longer, but today&#8217;s programmers seem to use a big monitor anyway, right?</p>
<p>Now I know that he uses <a href="http://www.jetbrains.com/idea/" target="_blank">IDEA</a> for his IDE and he doesn&#8217;t publish his code style in the Google Collections or <a href="http://code.google.com/p/guava-libraries/" target="_blank">Google Guava</a>, but I also don&#8217;t want to copy his style 100%, so I made my own custom style and publish it in GitHub: http://github.com/enefem/eclipse-config</p>
<p>You can download the style there and import it to your Eclipse. And by the way&#8230; <a href="http://git-scm.com/" target="_blank">Git</a> rocks!</p>
<p>I almost forgot. Unfortunately Eclipse has a bug in the code formatter. If you use my style and you have a method or constructor that contain only comment(s), the formatter will give a result:</p>
<pre class="brush: java;">
public Thread() {
// TODO Auto-generated constructor stub
}
</pre>
<p>Which should be:</p>
<pre class="brush: java;">
public Thread() {
    // TODO Auto-generated constructor stub
}
</pre>
<p>I&#8217;ve reported <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=298844" target="_blank">this</a> and you can also use the patch I provided there.</p>
<p>Please let me know if you have special style that I might be interested in!</p>
<p><a href="http://satukubik.com/2010/01/06/my-eclipse-code-formatter/" rel="bookmark" class="liinternal">My Eclipse Code Formatter</a> originally appeared on <a href="http://satukubik.com" class="liinternal">satukubik</a> on January 6, 2010.</p>


<p>Related posts:<ol><li><a href='http://satukubik.com/2010/01/05/java-tips-iterate-and-cast/' rel='bookmark' title='Permanent Link: Java Tips: Iterate and cast'>Java Tips: Iterate and cast</a></li>
<li><a href='http://satukubik.com/2009/10/12/eclipse-rcp-tips-drawing-dash-line/' rel='bookmark' title='Permanent Link: Eclipse RCP Tips: Drawing dash line'>Eclipse RCP Tips: Drawing dash line</a></li>
<li><a href='http://satukubik.com/2009/07/27/what-are-the-important-improvements-on-eclipse-galileo-3-5-for-me/' rel='bookmark' title='Permanent Link: What are the important improvements on Eclipse Galileo 3.5 (for me)'>What are the important improvements on Eclipse Galileo 3.5 (for me)</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/satukubik/~4/LP3faZ2c8t0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://satukubik.com/2010/01/06/my-eclipse-code-formatter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://satukubik.com/2010/01/06/my-eclipse-code-formatter/</feedburner:origLink></item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
