<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Logs-Memo-Notes</title>
	<atom:link href="http://anezch.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://anezch.wordpress.com</link>
	<description>Linux, Java, Electronics</description>
	<lastBuildDate>Tue, 09 Aug 2011 08:17:36 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='anezch.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Logs-Memo-Notes</title>
		<link>http://anezch.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://anezch.wordpress.com/osd.xml" title="Logs-Memo-Notes" />
	<atom:link rel='hub' href='http://anezch.wordpress.com/?pushpress=hub'/>
		<item>
		<title>(Re-)Binding SWT forms with WindowBuilder</title>
		<link>http://anezch.wordpress.com/2011/04/11/re-binding-swt-forms-with-windowbuilder/</link>
		<comments>http://anezch.wordpress.com/2011/04/11/re-binding-swt-forms-with-windowbuilder/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 09:08:31 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/2011/04/11/re-binding-swt-forms-with-windowbuilder/</guid>
		<description><![CDATA[(Re-)Binding SWT forms with WindowBuilder A very common case in UI applications are forms which are bound to exchangeable model objects. For example, one might want to bind this address form in such a way that you can set a new Address object at any time with the UI reflecting that change: The plain old [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=73&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="posterous_autopost">
<div class="posterous_bookmarklet_entry">
<blockquote>
<div>
<h3><a name="rebinding_swt_forms_with_windowbuilder"></a> (Re-)Binding SWT forms with WindowBuilder</h3>
<p>A very common case in UI applications are forms which are bound to exchangeable model objects. For example, one might want to bind this address form in such a way that you can set a new <code>Address</code> object at any time with the UI reflecting that change:</p>
<p><img src="http://www.ralfebert.de/blog/eclipsercp/binding_forms/address_form.png" alt="Example: Address Form" width="319" height="165" /></p>
<p>The plain old binding can be created easily using <a href="http://code.google.com/intl/de-DE/javadevtools/wbpro/index.html">WindowBuilder</a>:</p>
<p><img src="http://www.ralfebert.de/blog/eclipsercp/binding_forms/windowbuilder_create_bindings.png" alt="Create Binding in WindowBuilder" width="500" height="355" /></p>
<p>The resulting code might look like this:</p>
<div>
<div class="CodeRay">
<div class="code">
<div class="CodeRay">
<div class="code">
<pre>public class AddressViewPart extends ViewPart {
   private DataBindingContext bindingContext;
   private Address address;
   private Text textName;
   @Override
   public void createPartControl(Composite parent) {
      parent.setLayout(new GridLayout(3, false));
      Label lblName = new Label(parent, SWT.NONE);
      lblName.setText(Messages.YetAnotherViewPart_lblName_text);
      textName = new Text(parent, SWT.BORDER);
      textName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1));  // ...
      bindingContext = initDataBindings();
   }
   protected DataBindingContext initDataBindings() {
      DataBindingContext bindingContext = new DataBindingContext(); //
      IObservableValue textNameValue = WidgetProperties.text(SWT.Modify).observe(textName);
      IObservableValue addressNameValue = PojoProperties.value("name").observe(address);
      bindingContext.bindValue(textNameValue, addressNameValue, null, null); //
      return bindingContext;
   }
}</pre>
</div>
</div>
</div>
</div>
</div>
<p>The tricky part is to bind this in such a way that the model object can be exchanged at any time. There are three possible ways:</p>
<h3><a name="1_dispose_bindings"></a> 1) Dispose bindings</h3>
<p>The easiest way is to dispose all bindings and just re-bind whenever a new model object appears:</p>
<div>
<div class="CodeRay">
<div class="code">
<div class="CodeRay">
<div class="code">
<pre>public class AddressViewPart extends ViewPart {  // ...  protected void setAddress(Address address) { this.address = address; if (bindingContext != null) bindingContext.dispose(); bindingContext = initDataBindings(); }  // ... }</pre>
</div>
</div>
</div>
</div>
</div>
<p>Unfortunately, WindowBuilder insists on putting the <code>initDataBindings</code> call in <code>createPartControl</code>. Also, if you are using <code>ControlDecorationSupport</code> you will stumble upon <a href="http://bugs.eclipse.org/341713">Bug 341713 &#8211; DataBinding ControlDecorationSupport not disposed when DataBindingContext is disposed</a>.</p>
<h3><a name="2_binding_to_a_writablevalue"></a> 2) Binding to a WritableValue</h3>
<p>Another way is to use a detail binding to a <code>WritableValue</code> which can be changed at any time:</p>
<div>
<div class="CodeRay">
<div class="code">
<div class="CodeRay">
<div class="code">
<pre>public class AddressViewPart extends ViewPart {  private WritableValue addressValue = new WritableValue();  protected void setAddress(Address address) { this.addressValue.setValue(address); }  protected DataBindingContext initDataBindings() { // ... IObservableValue addressNameValue = PojoProperties.value("name").observeDetail(addressValue); // ... } }</pre>
</div>
</div>
</div>
</div>
</div>
<p>Such a Binding can be created in WindowBuilder:</p>
<p><img src="http://www.ralfebert.de/blog/eclipsercp/binding_forms/detail_binding.png" alt="Detail binding in WindowBuilder" width="323" height="307" /></p>
<h3><a name="3_bean_binding"></a> 3) Bean binding</h3>
<p>Yet another way is to make the ViewPart itself a <code>Bean</code> with <code>PropertyChangeSupport</code>:</p>
<div>
<div class="CodeRay">
<div class="code">
<div class="CodeRay">
<div class="code">
<pre>public class AddressViewPart extends ViewPart {  private PropertyChangeSupport changes = new PropertyChangeSupport(this);  private Address address;  public Address getAddress() { return address; }  public void setAddress(Address address) { changes.firePropertyChange("address", this.address, this.address = address); }  public void addPropertyChangeListener(PropertyChangeListener l) { changes.addPropertyChangeListener(l); }  public void removePropertyChangeListener(PropertyChangeListener l) { changes.removePropertyChangeListener(l); }  protected DataBindingContext initDataBindings() { //... IObservableValue addressNameValue = BeanProperties.value("address.name").observe(this); //... }  }</pre>
</div>
</div>
</div>
</div>
</div>
<p>While I like this way conceptionally, in practice it has the problems of Java’s PropertyChangeSupport being cumbersome. Also, JFace Data Binding doesn’t allow to mix Beans and Pojos, so if the Address object in the example is a Pojo, one will get <code>NoSuchMethodException: Address.addPropertyChangeListener(java.beans.PropertyChangeListener)</code>. And there seems to be no way to generate such a binding in WindowBuilder.</p>
<div><a title="JFace Wizard FAQ" href="http://www.ralfebert.de/blog/eclipsercp/binding_forms#"> JFace Wizard FAQ » </a></div>
</div>
</blockquote>
<div class="posterous_quote_citation">via <a href="http://www.ralfebert.de/blog/eclipsercp/binding_forms/">ralfebert.de</a></div>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=73&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2011/04/11/re-binding-swt-forms-with-windowbuilder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>

		<media:content url="http://www.ralfebert.de/blog/eclipsercp/binding_forms/address_form.png" medium="image">
			<media:title type="html">Example: Address Form</media:title>
		</media:content>

		<media:content url="http://www.ralfebert.de/blog/eclipsercp/binding_forms/windowbuilder_create_bindings.png" medium="image">
			<media:title type="html">Create Binding in WindowBuilder</media:title>
		</media:content>

		<media:content url="http://www.ralfebert.de/blog/eclipsercp/binding_forms/detail_binding.png" medium="image">
			<media:title type="html">Detail binding in WindowBuilder</media:title>
		</media:content>
	</item>
		<item>
		<title>It&#8217;s 6 am and I missed them already</title>
		<link>http://anezch.wordpress.com/2010/11/22/its-6-am-and-i-missed-them-already/</link>
		<comments>http://anezch.wordpress.com/2010/11/22/its-6-am-and-i-missed-them-already/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 23:32:24 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/2010/11/22/its-6-am-and-i-missed-them-already/</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=70&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'><a href='http://anezch.files.wordpress.com/2010/11/kdk_evo30353-scaled-1000.jpg'><img src="http://anezch.files.wordpress.com/2010/11/kdk_evo30353-scaled-1000.jpg?w=500&#038;h=375" width="500" height="375" /></a> </div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=70&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2010/11/22/its-6-am-and-i-missed-them-already/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>

		<media:content url="http://anezch.files.wordpress.com/2010/11/kdk_evo30353-scaled-1000.jpg?w=300" medium="image" />
	</item>
		<item>
		<title>Cute Kenneth, Sleepy Nathan</title>
		<link>http://anezch.wordpress.com/2010/09/22/cute-kenneth-sleepy-nathan/</link>
		<comments>http://anezch.wordpress.com/2010/09/22/cute-kenneth-sleepy-nathan/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 11:50:43 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/2010/09/22/cute-kenneth-sleepy-nathan/</guid>
		<description><![CDATA[This picture was taken during my family&#8217;s visit at Nathan&#8217;s birthday. It was a great moment though i was having a bad flu. I love my family.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=67&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'><a href='http://anezch.files.wordpress.com/2010/09/kdk_evo30192-scaled-1000.jpg'><img src="http://anezch.files.wordpress.com/2010/09/kdk_evo30192-scaled-1000.jpg?w=500&#038;h=375" width="500" height="375" /></a>
<p>This picture was taken during my family&#8217;s visit at Nathan&#8217;s birthday. It was a great moment though i was having a bad flu. I love my family.</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=67&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2010/09/22/cute-kenneth-sleepy-nathan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>

		<media:content url="http://anezch.files.wordpress.com/2010/09/kdk_evo30192-scaled-1000.jpg?w=300" medium="image" />
	</item>
		<item>
		<title>Tired Brain, Distractions, and Dehydration</title>
		<link>http://anezch.wordpress.com/2010/07/28/tired-brain-distractions-and-dehydration/</link>
		<comments>http://anezch.wordpress.com/2010/07/28/tired-brain-distractions-and-dehydration/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 10:48:47 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/2010/07/28/tired-brain-distractions-and-dehydration/</guid>
		<description><![CDATA[&#8220;Man, I&#8217;m tired!&#8221;. That was probably what my brain try to tell me this afternoon. But it was stil 3 pm and I have a list of to-do&#8217;s waiting on my TiddlyWiki. So I took a little break and fired up the browser to visit my favourite blogs. I even watched an episode of my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=66&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>&#8220;Man, I&#8217;m tired!&#8221;. That was probably what my brain try to tell me this afternoon. But it was stil 3 pm and I have a list of to-do&#8217;s waiting on my TiddlyWiki. So I took a little break and fired up the browser to visit my favourite blogs. I even watched an episode of my favourite anime at the break hour, though I know it&#8217;s a bad idea. All what I get was an even more tired brain plus a pair of heavy eyes.
<p /> Then I started to think about what was wrong with my brain. After a short walk I realized several things that might cause exhausting to my brain: <br />1. Bad diet. I woke late this morning and missed the breakfast. Even worse, I had instant noodles for lunch. <br />2. Dehydration. Long running, extense task swollen me away made me forget to drink water that was even at my desk already. <br />3. Distractions. Several chores distracted me, some even drove me away far enough, left me wondering &#8220;What was that?!&#8221;.
<p /> So tomorrow I&#8217;ll try to revive my pomodoro timers to help me keep focused, though it costs 5 mins on every pmds.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=66&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2010/07/28/tired-brain-distractions-and-dehydration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>
	</item>
		<item>
		<title>Load Photosop Pattern (.pat) in GIMP</title>
		<link>http://anezch.wordpress.com/2010/03/05/load-photosop-pattern-pat-in-gimp/</link>
		<comments>http://anezch.wordpress.com/2010/03/05/load-photosop-pattern-pat-in-gimp/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 04:40:22 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/?p=62</guid>
		<description><![CDATA[Saya bukanlah seorang graphic designer, tapi memang kadang suka iseng ngutak-ngatik image dengan tools favorit saya, GIMP dan Inkscape. Ketika saya sedang browsing di deviantart, saya menemukan beberapa patterns yang bagus. Akhirnya saya pun men-download patterns tersebut dan dengan yakinnya saya menjalankan GIMP untuk me-load file pattern tersebut. Wah, ternyata tidak bisa ya GIMP hanya [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=62&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Saya bukanlah seorang graphic designer, tapi memang kadang suka iseng ngutak-ngatik image dengan tools favorit saya, GIMP dan Inkscape. Ketika saya sedang browsing di deviantart, saya menemukan beberapa patterns yang bagus. Akhirnya saya pun men-download patterns tersebut dan dengan yakinnya saya menjalankan GIMP untuk me-load file pattern tersebut.</p>
<p>Wah, ternyata tidak bisa ya <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  GIMP hanya dapat membuka file .pat format GIMP saja. Tidak lama setelah googling saya pun menemukan jalan keluarnya. Ternyata ada user GIMP yang membuat <a href="http://registry.gimp.org/node/10879">plugin</a> untuk supaya GIMP dapat membuka file .pat milik Photoshop. Plugin yang disediakan masih dalam bentuk source code C yang harus di-compile terlebih dahulu. Untungnya di halaman download plugin tersebut ada keterangan cara compile-nya.</p>
<p>Berikut saya kutip cara compile di Ubuntu Linux (sudah saya test di Ubuntu Jaunty (9.04)):<br />
1. install libgimp2.0-dev: sudo apt-get install libgimp2.0-dev<br />
2. compile source code plugin: gimptool-2.0 &#8211;build ps-pat-load_1.c<br />
3. akan dihasilkan file binary ps-pat-load_1. Copy file tersebut ke ~/.gimp-2.6/plug-ins<br />
4. restart gimp</p>
<p>Setelah itu saya coba buka kembali file .pat tadi, dan voila! File pattern berhasil dibuka. Hanya saja kebetulan file .pat yang saya download berisi beberapa pattern sehingga GIMP membukanya dalam satu dokumen dan patterns-nya dipisah menjadi beberapa layer. Tapi mudah saja. Saya tinggal meng-copy paste layer tersebut satu per satu menjadi dokumen masing-masing.</p>
<p>Untuk anda yang menggunakan GIMP di MS Windows, download tools yang sudah di-compile untuk bekerja di MS Windows di <a href="http://registry.gimp.org/node/11003">link</a> ini.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=62&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2010/03/05/load-photosop-pattern-pat-in-gimp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby, FXRuby, Ubuntu 9.04</title>
		<link>http://anezch.wordpress.com/2009/06/24/ruby-fxruby-ubuntu-9-04/</link>
		<comments>http://anezch.wordpress.com/2009/06/24/ruby-fxruby-ubuntu-9-04/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 01:38:07 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[fxruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/?p=56</guid>
		<description><![CDATA[Bulan ini saya mencoba 3 hal yang baru, Ruby, FXRuby, dan Ubuntu 9.04. Setelah instalasi Ubuntu 9.04 selesai, saya langsung mencoba meng-install Ruby dan FXRuby. Setelah sekitar 1 jam mencari paket yang tepat dan men-download-nya, berikut saya rangkum paket-paket apa saja yang perlu di-install: 1. ruby1.8 2. ruby1.8-dev 3. ruby1.8-examples 4. rdoc1.8 5. ri1.8 6. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=56&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bulan ini saya mencoba 3 hal yang baru, Ruby, FXRuby, dan Ubuntu 9.04. Setelah instalasi Ubuntu 9.04 selesai, saya langsung mencoba meng-install Ruby dan FXRuby. Setelah sekitar 1 jam mencari paket yang tepat dan men-download-nya, berikut saya rangkum paket-paket apa saja yang perlu di-install:</p>
<p>1. ruby1.8<br />
2. ruby1.8-dev<br />
3. ruby1.8-examples<br />
4. rdoc1.8<br />
5. ri1.8<br />
6. rubygems<br />
7. irb<br />
8. libzlib-ruby<br />
9. build-essential (last but the most! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Untuk FXRuby:<br />
1. Install paket:<br />
  a. libfox-1.6-0<br />
  b. libfox-1.6-dev<br />
  c. g++<br />
  d. libxrandr-dev<br />
2. Install FXRuby dengan gem:<br />
  sudo gem install fxruby &#8211;remote</p>
<p>Nah, kalau sudah install semua paket tersebut, tinggal test <a href="http://www.fxruby.org/doc/examples.html">contoh dari situs FXRuby</a>. Horee&#8230; Ups! Kok error? Tenang, jangan panik, ada solusinya. Kalau di Window$ anda cukup require &#8216;fox16&#8242; dan include Fox, maka sekarang anda harus menambahkan require &#8216;rubygems&#8217; sebelum require &#8216;fox16&#8242;.</p>
<p>Ok, Ruby, here I come&#8230;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=56&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2009/06/24/ruby-fxruby-ubuntu-9-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>
	</item>
		<item>
		<title>Multi-User FoxPro with Linux+Dosemu+CIFS</title>
		<link>http://anezch.wordpress.com/2009/06/09/multi-user-foxpro-with-linuxdosemucifs/</link>
		<comments>http://anezch.wordpress.com/2009/06/09/multi-user-foxpro-with-linuxdosemucifs/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 02:28:41 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[legacy]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[dosemu]]></category>
		<category><![CDATA[foxpro]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/?p=40</guid>
		<description><![CDATA[Saya menemukan masih ada beberapa kantor yang menjalankan aplikasi yang ditulis dengan FoxPro. Seperti yang saya alami di kantor saya, kami bahkan masih men-develop beberapa project baru dengan FoxPro, sambil menunggu project migrasi ke Java selesai. Saat perusahaan kami memutuskan untuk beralih ke Linux, kami pun ditantang untuk dapat menjalankan FoxPro di Linux. Hal yang [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=40&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Saya menemukan masih ada beberapa kantor yang menjalankan aplikasi yang ditulis dengan FoxPro. Seperti yang saya alami di kantor saya, kami bahkan masih men-develop beberapa project baru dengan FoxPro, sambil menunggu project migrasi ke Java selesai.</p>
<p>Saat perusahaan kami memutuskan untuk beralih ke Linux, kami pun ditantang untuk dapat menjalankan FoxPro di Linux. Hal yang cukup mudah dilakukan karena adanya Dosemu. Solusi yang dulu kami gunakan yaitu:<br />
1. Data disimpan di satu komputer Linux yang dipasang Samba Server.<br />
2. Pada client diinstall:<br />
    a. Dosemu.<br />
    b. Samba Client.<br />
3. Di Dosemu di-install FoxPro.<br />
4. Client me-mount data dari server dengan samba:</p>
<pre>mount -t smbfs -o rw,username=blabla,password=blabla,uid=1000,gid=1000 //dbfserver/datadir /mnt/datadbf</pre>
<p>5. Di autoexec.bat (/home/user/.dosemu/drive_c/autoexec.bat) di line paling akhir, ditambahkan:<br />
    <code>lredir d: linux\fs/mnt/datadbf</code><br />
    Sehingga data di server kita akses di dosemu dan foxpro sebagai drive D:</p>
<p>Dengan 1-2 user, konfigurasi ini berjalan dengan mulus. Sampai pada suatu saat terjadi masalah, yaitu index file tidak terupdate dengan benar saat menambahkan record baru. Selain itu muncul juga masalah lain, yaitu update yang dilakukan di satu komputer, tidak terlihat di komputer lain. Hal ini mengindikasikan bahwa 1 file DBF tidak dapat dibuka, apalagi di-update oleh 2 client secara bersamaan. Sehingga, kami terpaksa bekerja secara bergantian.</p>
<p><strong>FIX-1 : veto oplock</strong></p>
<p>Protokol file-sharing di Window$ menggunakan mekanisme locking terhadap file yang sebetulnya lebih mengarah ke &#8216;caching&#8217;, dan Samba mencoba mengikuti standar ini. Artinya secara default, Samba melakukkan caching terhadap file. Ini bukanlah hal yang kita inginkan, sebab dapat mengacaukan program FoxPro.</p>
<p>Jadi, perbaikannya adalah dengan men-disable fitur ini untuk file-file database dan index FoxPro. Tambahkan settingan global ini di /etc/samba/smb.conf :</p>
<p><code>veto oplock files = /*.dbf/*.DBF/*.idx/*.IDX/*.cdx/*.CDX/*.fpt/*.FPT/</code></p>
<p>Dengan setting tersebut, sistem pun pulih, untuk sementara. Kemudian terjadi lagi masalah di mana terkadang update oleh satu User tertimpa oleh update User lain. Hal ini dapat disebut sebagai racing condition, yang kembali mengancam integritas data.</p>
<p><strong>FIX-2 : locking dengan flock()</strong></p>
<p>Setelah membaca dokumentasi di FoxPro, saya menemukan bahwa seharusnya program yang dijalankan secara multi-user menggunakan mekanisme locking agar integritas database dapat terjaga. Penggunaan &#8220;set exclusive&#8221; saja ternyata tidak cukup, maka program pun dirubah dengan menambahkan locking kapanpun akses kritis terhadap database diperlukan.</p>
<p>Anehnya, ternyata locking tidak bekerja, apabila satu user sedang me-lock suatu file, user lain masih dapat me-locknya juga. Jangankan locking dengan flock(), ternyata &#8220;set exclusive&#8217; pun tidak bekerja.</p>
<p><strong>FIX-3 : CIFS</strong></p>
<p>Setelah riset dengan mencari sumber di Internet, saya menemukan bahwa SMBFS sudah mulai ditinggalkan karena beberapa bug, dan disebutkan juga bahwa file-locking tidak bekerja di SMBFS. Disarankan untuk beralih ke CIFS, saya pun kemudian melakukan test dengan CIFS ini. Hasilnya, ternyata benar file locking dapat bekerja dengan sempurna.</p>
<p>Command untuk mounting berubah menjadi:<br />
<code>mount -t cifs -o rw,user=blabla,password=blabla,uid=1000,gid=1000,noperms //dbfserver/datadir /mnt/datadbf</code></p>
<p>Program pun dijalankan lagi dan untuk beberapa waktu dapat berjalan dengan baik. Tampaknya permasalahan belumlah selesai, beberapa kali terjadi kehilangan data. Data yang sudah di-update oleh user, ternyata tidak tersimpan di database.</p>
<p><strong>FIX-5 : nounix and directio</strong></p>
<p>Ternyata meskipun locking dapat bekerja dengan baik, update oleh satu user, tidak dapat dilihat secara langsung oleh user lain. Apabila satu file DBF dibuka secara bersamaan oleh lebih dari satu user, pada saat satu user melakukan perubahan, user lain tidak dapat melihatnya secara langsung. User lain haruslah menutup file DBF tersebut dan membuka nya kembali, barulah update dapat terlihat.</p>
<p>Cara ini tentu tidak nyaman dan menurunkan produktifitas user. Apalagi kami mengalami lonjakan jumlah pengguna program FoxPro ini, dari semula hanya 2 user, hingga saat ini ada hampir 20 user.</p>
<p>Setelah searching di internet, akhirnya saya menemukan kunci dari permasalahan ini, yaitu dengan menambahkan option pada command untuk mounting data.</p>
<p>mount -t cifs -o rw,user=blabla,password=blabla,uid=1000,gid=1000,noperms,nounix,directio</p>
<p>Options nounix dan directio ternyata memecahkan masalah dengan CIFS.</p>
<p><strong>Kesimpulan:</strong></p>
<p>Agar sebuah program FoxPro dapat dijalankan secara multi-user dengan skema Linux+Dosemu+CIFS, ada beberapa &#8220;tuning&#8221; yang harus kita lakukan dalam sistem. Di antaranya:<br />
1. Menambahkan option <code>veto oplock files</code> terhadap file-file yang berkaitan dengan FoxPro di konfigurasi server Samba.<br />
2. Menggunakan CIFS untuk mounting direktori data, bukan SMBFS.<br />
3. Options mounting dengan CIFS yang digunakan: noperms,nounix,directio<br />
3. Menyesuaikan program, agar melakukan locking saat mengakses data yang akan dirubah.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=40&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2009/06/09/multi-user-foxpro-with-linuxdosemucifs/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>
	</item>
		<item>
		<title>SMBFS vs CIFS &#8212; Part 2</title>
		<link>http://anezch.wordpress.com/2009/06/09/smbfs-vs-cifs-part-2/</link>
		<comments>http://anezch.wordpress.com/2009/06/09/smbfs-vs-cifs-part-2/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 01:29:32 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[legacy]]></category>
		<category><![CDATA[system administration]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[foxpro]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[smbfs]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/?p=36</guid>
		<description><![CDATA[Post ini merupakan lanjutan dari post SMBFS vs CIFS. Setelah saya melakukan investigasi lebih lanjut, saya menemukan hasil yang berbeda dengan yang sebelumnya saya dapatkan. Which is, cukup aneh, dan membuat saya sangat heran. Padahal metode test yang saya lakukan masih sama. Untuk itu, saya merasa perlu menerangkan secara singkat prosedur test yang saya lakukan: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=36&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Post ini merupakan lanjutan dari post <a title="SMBFS vs CIFS" href="http://anezch.wordpress.com/2009/04/15/smbfs-vs-cifs/">SMBFS vs CIFS</a>. Setelah saya melakukan investigasi lebih lanjut, saya menemukan hasil yang berbeda dengan yang sebelumnya saya dapatkan. Which is, cukup aneh, dan membuat saya sangat heran. Padahal metode test yang saya lakukan masih sama.</p>
<p>Untuk itu, saya merasa perlu menerangkan secara singkat prosedur test yang saya lakukan:<br />
1. User1 dan User2 adalah 2 (dua) komputer yang berbeda.<br />
2. Mounting dengan CIFS di User1 dan User2.<br />
3. Dibuat satu file DBF untuk ekperimen, kita sebut file tersebut test.dbf.<br />
4. User1 flock() file test.dbf.<br />
5. User2 flock() file test.dbf juga. User2 harusnya diblok dengan pesan &#8216;Attempting to lock&#8230;&#8217;<br />
6. User1 update record.<br />
7. User1 unlock file test.dbf.<br />
8. Pada saat yang sama User2 seharusnya keluar dari blok, dan me-lock file test.dbf.<br />
9. User1 dan User2 cek isi record, apakah sudah terlihat hasil update User1 di langkah 6.<br />
10. User2 update record.<br />
11. User2 unlock file test.dbf<br />
12. User1 dan User2 cek isi record, apakah sudah terlihat hasil update User2 di langkah 10.<br />
13. User1 flock() file test.dbf.<br />
14. User1 dan User2 cek isi record, bandingkan dengan hasil di langkah 12.</p>
<p>Hasil yang sudah saya dapatkan sebelumnya menunjukkan bahwa dengan CIFS kita dapat me-lock suatu file DBF di FoxPro, namun update oleh satu user tidak dapat dilihat oleh user lain sekalipun file sudah di-lock. Dengan membuka ulang file DBF-nya dengan &#8220;use&#8221;, barulah perubahan tersebut dapat kita lihat. Terlepas dari apakah kita me-lock file-nya atau tidak.</p>
<p>Hasil test terbaru yang saya lakukan, menyimpulkan bahwa dengan locking, update bisa terlihat secara langsung, tanpa perlu membuka ulang DBF dengan use. Kemungkinan perubahan ini diakibatkan oleh mount options yang berbeda. Kebetulan saya mendapatkan informasi dari arsip suatu milis yang saya lupa namanya. Dengan menambahkan <strong>nounix</strong> dan <strong>directio</strong> sebagai mount options, sepertinya membuat perbedaan antara hasil test pertama dengan hasil test kedua.</p>
<p>Namun, syarat agar perubahan tersebut dapat dilihat secara langsung oleh user lain, ada 2 cara:<br />
1. Dengan &#8216;go top&#8217; dahulu kemudian &#8216;goto&#8217; record yang dimaksud. Atau dengan kata lain, kita pindah ke record yang lain dahulu kemudian kembali ke record yang semula. Update dapat dilihat.<br />
2. Dengan mekanisme locking dengan flock() seperti langkah-langkah test yang saya sebutkan di atas.</p>
<p>Cara yang terbaik tentu saja dengan mekanisme locking dengan flock(), sesuai anjuran FoxPro di Help page nya.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=36&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2009/06/09/smbfs-vs-cifs-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>
	</item>
		<item>
		<title>Moving to NetBeans Platform</title>
		<link>http://anezch.wordpress.com/2009/05/26/moving-to-netbeans-platform/</link>
		<comments>http://anezch.wordpress.com/2009/05/26/moving-to-netbeans-platform/#comments</comments>
		<pubDate>Tue, 26 May 2009 12:11:17 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[netbeans platform]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/2009/05/26/moving-to-netbeans-platform/</guid>
		<description><![CDATA[Beralih ke NetBeans platform memang sepantasnya dilakukan saat aplikasi kita mulai berkembang. Dengan NetBeans platform, selain tampil lebih profesional, aplikasi juga lebih mudah dikembangkan karena berbasis modul. Awalnya memang agak sulit karena kita harus memahami aspek-aspek pemrograman platform NetBeans. Namun dengan mengikuti tutorial yang tersedia, sedikit demi sedikit jalan semakin terbuka. Bahkan saya berhasil mem-port [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=35&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Beralih ke NetBeans platform memang<br />
sepantasnya dilakukan saat aplikasi kita mulai<br />
berkembang. Dengan NetBeans platform, selain<br />
tampil lebih profesional, aplikasi juga lebih mudah<br />
 dikembangkan karena berbasis modul.</p>
<p>Awalnya memang agak sulit karena kita harus<br />
memahami aspek-aspek pemrograman platform<br />
 NetBeans. Namun dengan mengikuti tutorial<br />
yang tersedia, sedikit demi sedikit jalan semakin<br />
terbuka. Bahkan saya berhasil mem-port sebuah<br />
project berbasis SWING hanya dalam waktu<br />
sehari.</p>
<p>Sebetulnya ketika saya merencanakan beralih ke<br />
 platform, ada 2 pilihan yaitu NetBeans Platform<br />
dan Eclipse RCP. Dengan pertimbangan SWING<br />
yang lebih mature ketimbang SWT, maka saya<br />
memutuskan untuk memilih NetBeans platform.<br />
Tentu saja kita bisa membuat interface dengan<br />
SWING di Eclipse RCP, tapi hasilnya kurang<br />
memuaskan.</p>
<p>Perjalanan masih panjang, masih banyak yang<br />
harus saya pelajari seperti Nodes API, Explorer<br />
API, dan masih banyak yang lain. Tetap<br />
semangat!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=35&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2009/05/26/moving-to-netbeans-platform/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>
	</item>
		<item>
		<title>SMBFS vs CIFS</title>
		<link>http://anezch.wordpress.com/2009/04/15/smbfs-vs-cifs/</link>
		<comments>http://anezch.wordpress.com/2009/04/15/smbfs-vs-cifs/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 00:31:33 +0000</pubDate>
		<dc:creator>anezch</dc:creator>
				<category><![CDATA[legacy]]></category>
		<category><![CDATA[system administration]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[foxpro]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[smbfs]]></category>

		<guid isPermaLink="false">http://anezch.wordpress.com/2009/04/15/smbfs-vs-cifs/</guid>
		<description><![CDATA[Beberapa tahun yang lalu, diperkenalkan CIFS (Common Internet File System) di Linux sebagai pengganti SMBFS (Samba File System). Awalnya saya tidak tahu apa perbedaan antara keduanya, tapi yang pasti berdasarkan beberapa sumber yang dapat dipercaya, CIFS lebih baik dari SMBFS. Nah, di mana lebih baiknya saya juga kurang mengerti. Jadi untuk solusi Linux+Dosemu+FoxPro+SMBFS, saya rubah [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=28&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Beberapa tahun yang lalu, diperkenalkan CIFS (Common Internet File System) di Linux sebagai pengganti SMBFS (Samba File System). Awalnya saya tidak tahu apa perbedaan antara keduanya, tapi yang pasti berdasarkan beberapa sumber yang dapat dipercaya, CIFS lebih baik dari SMBFS. Nah, di mana lebih baiknya saya juga kurang mengerti.</p>
<p>Jadi untuk solusi Linux+Dosemu+FoxPro+SMBFS, saya rubah menjadi Linux+Dosemu+FoxPro+CIFS. Perubahan ini tidak saya lakukan menyeluruh untuk melihat di mana letak perbedaannya, dan sejauh mana peningkatan kedua File System ini. Kondisi yang ada saat ini, beberapa komputer menggunakan CIFS, dan yang lain menggunakan SMBFS. Perlu diketahui juga bahwa salah satu alasan yang memperkuat saya untuk migrasi ke CIFS di beberapa komputer adalah kenyataan bahwa di Ubuntu versi terbaru (Gutsy ke atas) solusi Linux+Dosemu+FoxPro+SMBFS tidak bekerja. Files yang di-mount dengan SMBFS tidak dapat di-write di Dosemu.</p>
<p>Lalu worst case pun terjadi, anehnya, kasus-kasus bermunculan tidak langsung muncul pada saat saya merubah dari SMBFS ke CIFS. Kasus-kasus pun munculnya secara acak baik waktu, program, dan database. Saya sempat frustasi beberapa bulan karena masalah ini.</p>
<p>Akhirnya saya melakukan test, yang saya coba se-sistematik mungkin. Saya melakukan test perbandingan terhadap files yang di-mount dengan SMBFS dan CIFS. Hasilnya pun kemudian memberikan pencerahan yang luar biasa (untuk saya).</p>
<p>Hasil dari test menunjukkan bahwa CIFS memang lebih baik dari SMBFS dalam hal Locking. Artinya, mekanisme Locking di FoxPro dapat berjalan dengan baik. Tapi, kelemahannya adalah isi record / file tidak langsung ter-update saat ada perubahan oleh user lain. Ini fatal sekali. Meskipun sudah dilakukan prosedur locking sesuai standar, file tidak ter-update. Apabila file di buka ulang, barulah update dari user lain terlihat.</p>
<p>Berbeda dengan SMBFS, mekanisme Locking di FoxPro tidak dapat dilakukan. Meskipun file / record di-lock, user lain tetap dapat melakukan lock di file / record yang sama. Namun, update file dapat terlihat secara instant oleh user lain. Ini tentunya setelah saya modifikasi smb.conf untuk mematikan Op-Lock terhadap files database.</p>
<p>Langkah selanjutnya adalah merubah semua komputer untuk menggunakan SMBFS. Tapi masalahnya untuk komputer dengan sistem operasi Ubuntu Gutsy, Hardy, Intrepid tidak dapat menggunakan SMBFS. Maka solusinya adalah dengan mengganti sistem operasi dengan Ubuntu versi sebelumnya (downgrade) atau menggunakan Distro lain.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/anezch.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/anezch.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/anezch.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/anezch.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/anezch.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/anezch.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/anezch.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/anezch.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/anezch.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/anezch.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/anezch.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/anezch.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/anezch.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/anezch.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=anezch.wordpress.com&amp;blog=3853303&amp;post=28&amp;subd=anezch&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://anezch.wordpress.com/2009/04/15/smbfs-vs-cifs/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">anezch</media:title>
		</media:content>
	</item>
	</channel>
</rss>
