<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DUMMQXo7cSp7ImA9WxNUEkw.&quot;"><id>tag:blogger.com,1999:blog-11006378</id><updated>2009-11-03T11:04:40.409+08:00</updated><title>Helmi Ble'be'</title><subtitle type="html">Whining about Python, Javascript, Linux, Vim</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>103</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><thespringbox:skin xmlns:thespringbox="http://www.thespringbox.com/dtds/thespringbox-1.0.dtd">http://feeds.feedburner.com/helmi03?format=skin</thespringbox:skin><link rel="self" href="http://feeds.feedburner.com/helmi03" type="application/atom+xml" /><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><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;CUEERnw9cSp7ImA9WxNVF08.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-3638223304524615294</id><published>2009-10-28T17:52:00.001+08:00</published><updated>2009-10-28T17:53:27.269+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-28T17:53:27.269+08:00</app:edited><title>gearman php problem on jaunty</title><content type="html">Get this error on my ubuntu jaunty, works perfectly on hardy. I don't have the solution (hope expert out there post solution in comment)&lt;br /&gt;
&lt;pre&gt;helmi@gandalf:/tmp&gt; php reverse_client.php 
Sending job
ALERT - canary mismatch on efree() - heap overflow detected (attacker 'REMOTE_ADDR not set', file '/tmp/reverse_client.php', line 10)
&lt;/pre&gt;&lt;br /&gt;
How I install:&lt;br /&gt;
&lt;pre&gt;helmi@gandalf:~/Packages/php&gt; sudo pecl install gearman-0.6.0&lt;/pre&gt;&lt;br /&gt;
some info:&lt;br /&gt;
&lt;pre&gt;helmi@gandalf:~/Packages/php/gearman-0.6.0&gt; phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
helmi@gandalf:~/Packages/php/gearman-0.6.0&gt; echo '&amp;lt;?php phpinfo();' | php| head 
phpinfo()
PHP Version =&gt; 5.2.6-3ubuntu4.2

System =&gt; Linux gandalf 2.6.28-15-server #52-Ubuntu SMP Wed Sep 9 11:50:50 UTC 2009 i686
Build Date =&gt; Aug 21 2009 19:12:00
Server API =&gt; Command Line Interface
Virtual Directory Support =&gt; disabled
Configuration File (php.ini) Path =&gt; /etc/php5/cli
Loaded Configuration File =&gt; /etc/php5/cli/php.ini
Scan this dir for additional .ini files =&gt; /etc/php5/cli/conf.d

helmi@gandalf:~/Packages/php/gearman-0.6.0&gt; gearmand -V
gearmand 0.10 - https://launchpad.net/gearmand
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-3638223304524615294?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/3638223304524615294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=3638223304524615294" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3638223304524615294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3638223304524615294?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/10/gearman-php-problem-on-jaunty.html" title="gearman php problem on jaunty" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;CkMCQ3o6eip7ImA9WxNWF00.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-4857237829275606446</id><published>2009-10-16T21:41:00.000+08:00</published><updated>2009-10-16T21:41:02.412+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T21:41:02.412+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>Fix IE6 png transparency</title><content type="html">Don't know who use IE6 these days (already 2009 lah), but one of my friend need to fix his website. So here the css (modified from a google result)&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;!--[if lt IE 7]&amp;gt;
&amp;lt;style&amp;gt;
img {
  position: relative;
  behavior: expression((this.runtimeStyle.behavior="none")&amp;amp;&amp;amp;(this.pngSet?this.pngSet=true:(this.nodeName == "IMG" &amp;amp;&amp;amp; this.src.toLowerCase().indexOf('.png')&amp;gt;-1?(this.runtimeStyle.backgroundImage = "none",
  this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')",
  this.src = "http://imgur.com/ZOqET.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),                                                                                                                                                     
  this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='crop')",
  this.runtimeStyle.backgroundImage = "none")),this.pngSet=true));
}
&amp;lt;/style&amp;gt;
&amp;lt;![endif]--&amp;gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-4857237829275606446?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/4857237829275606446/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=4857237829275606446" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4857237829275606446?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4857237829275606446?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/10/fix-ie6-png-transparency.html" title="Fix IE6 png transparency" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkECQX8yeCp7ImA9WxNWEEg.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-5843372902556631527</id><published>2009-10-09T11:10:00.002+08:00</published><updated>2009-10-09T11:24:20.190+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-09T11:24:20.190+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Inconsistent PHP - I'm sick of it</title><content type="html">PHP is &lt;a href="http://keithdevens.com/wiki/PHP"&gt;inconsistent&lt;/a&gt;, sick of it. $needle or $haystack? Which one first? List of php function that inconsistent needle/haystack&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;helmi@gandalf:/usr/share/doc/php-doc/html&gt; grep -l needle *| grep ^function | sed 's/^function.//'| sed 's/.html$//'| sed 's/-/_/'&lt;br /&gt;array_search&lt;br /&gt;grapheme_stripos&lt;br /&gt;grapheme_stristr&lt;br /&gt;grapheme_strpos&lt;br /&gt;grapheme_strripos&lt;br /&gt;grapheme_strrpos&lt;br /&gt;grapheme_strstr&lt;br /&gt;iconv_strpos&lt;br /&gt;iconv_strrpos&lt;br /&gt;in_array&lt;br /&gt;mb_stripos&lt;br /&gt;mb_stristr&lt;br /&gt;mb_strpos&lt;br /&gt;mb_strrchr&lt;br /&gt;mb_strrichr&lt;br /&gt;mb_strripos&lt;br /&gt;mb_strrpos&lt;br /&gt;mb_strstr&lt;br /&gt;mb_substr-count&lt;br /&gt;stripos&lt;br /&gt;str_ireplace&lt;br /&gt;stristr&lt;br /&gt;strpos&lt;br /&gt;strrchr&lt;br /&gt;str_replace&lt;br /&gt;strripos&lt;br /&gt;strrpos&lt;br /&gt;strstr&lt;br /&gt;substr_count&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So I refer to php manual everytime use these functions, grrr. For vim, i override key binding for 'K' (:help K) - "Run a program to lookup the keyword under the cursor". In .vimrc&lt;br /&gt;&lt;pre&gt;autocmd FileType php set keywordprg=~/bin/php_doc&lt;/pre&gt;&lt;br /&gt;and my ~/bin/php_doc&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/sh                               &lt;br /&gt;FN=`echo $1 | sed 's/_/-/g'`&lt;br /&gt;echo ********************** $FN **********************&lt;br /&gt;&lt;br /&gt;echo $FN&lt;br /&gt;w3m file:///usr/share/doc/php-doc/html/function.$FN.html&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-5843372902556631527?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/5843372902556631527/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=5843372902556631527" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/5843372902556631527?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/5843372902556631527?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/10/inconsistent-php-im-sick-of-it.html" title="Inconsistent PHP - I'm sick of it" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0EER3wyfCp7ImA9WxNXGUg.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-416476545759723837</id><published>2009-10-02T20:53:00.005+08:00</published><updated>2009-10-08T07:53:26.294+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-08T07:53:26.294+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gis" /><category scheme="http://www.blogger.com/atom/ns#" term="openstreetmap" /><title>OpenStreetMap data for Malaysia = impressive progress!</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kSfTbhJsvwA/SsX49AFUTCI/AAAAAAAADQM/K1VTBu31R14/s1600-h/17+Apr+09.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 314px;" src="http://4.bp.blogspot.com/_kSfTbhJsvwA/SsX49AFUTCI/AAAAAAAADQM/K1VTBu31R14/s320/17+Apr+09.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5387986256096676898" /&gt;&lt;/a&gt;&lt;br /&gt;Version 17 Apr 09&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kSfTbhJsvwA/SsX5FddOP0I/AAAAAAAADQU/-oCcc96hbT0/s1600-h/24+sept+09.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 315px; height: 320px;" src="http://3.bp.blogspot.com/_kSfTbhJsvwA/SsX5FddOP0I/AAAAAAAADQU/-oCcc96hbT0/s320/24+sept+09.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5387986401420525378" /&gt;&lt;/a&gt;&lt;br /&gt;Version 24 Sept 09&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openstreetmap.org/"&gt;OpenStreetMap&lt;/a&gt; &lt;a href="http://downloads.cloudmade.com/asia/malaysia#breadcrumbs"&gt;data for Malaysia&lt;/a&gt; = impressive progress!&lt;br /&gt;Quite a lot of new road added at &lt;a href="http://www.openstreetmap.org/?lat=3.1321&amp;lon=101.6501&amp;zoom=12&amp;layers=B000FTFT"&gt;Kuala Lumpur&lt;/a&gt; for 5 months work.&lt;br /&gt;Map above viewed using &lt;a href="http://udig.refractions.net/"&gt;udig&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.google.com/mapmaker"&gt;Google Map Maker&lt;/a&gt; is available for &lt;a href="http://www.google.com/mapmaker/mapfiles/s/launched.html"&gt;Malaysia&lt;/a&gt;, but don't think it easy for offline usage/internal use (hint:shapefile).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-416476545759723837?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/416476545759723837/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=416476545759723837" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/416476545759723837?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/416476545759723837?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/10/openstreetmap-data-for-malaysia.html" title="OpenStreetMap data for Malaysia = impressive progress!" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_kSfTbhJsvwA/SsX49AFUTCI/AAAAAAAADQM/K1VTBu31R14/s72-c/17+Apr+09.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DkYDQ3Y-eip7ImA9WxNSFE4.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-6952034535938231252</id><published>2009-08-28T12:21:00.003+08:00</published><updated>2009-08-28T12:36:12.852+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-28T12:36:12.852+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="postgis" /><category scheme="http://www.blogger.com/atom/ns#" term="gis" /><title>Which location column more trusted?</title><content type="html">You have database from your client with fields state, district (description of locations), and the_geom (latitude/longitude) column. Example of the db&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;| state    | district | the_geom                                 |&lt;br /&gt;| Selangor | Petaling | POINT(101.497838106615 3.27468487066054) |&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Anyone doing GIS should know that, the state, district fields is duplicate with the_geom since once we know the latitude/longitude we will know the state, district.&lt;br /&gt;The problem is the_geom is not within Selangor, Petaling. Then when do group by st_intersects, the value is wrong since the_geom is refer to other place!&lt;br /&gt;&lt;br /&gt;So, need to decide, which location column more trusted?&lt;br /&gt;The latitude/longitude or description of locations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-6952034535938231252?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/6952034535938231252/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=6952034535938231252" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/6952034535938231252?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/6952034535938231252?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/08/which-location-column-more-trusted.html" title="Which location column more trusted?" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUYMSH0zeip7ImA9WxJWGUk.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-6717631254391915681</id><published>2009-06-26T00:15:00.003+08:00</published><updated>2009-06-26T00:26:29.382+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-26T00:26:29.382+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mapguide" /><category scheme="http://www.blogger.com/atom/ns#" term="mapnik" /><title>Mapnik need to know postgis column type</title><content type="html">Mapnik need to know postgis column type to render properly. This mapnik xml for style not working for me.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; &amp;lt;Style name=&amp;quot;jalan_casing2&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;Rule&amp;gt;&lt;br /&gt;      &amp;lt;Filter&amp;gt;[jenis] = 'lebuhraya'&amp;lt;/Filter&amp;gt;&lt;br /&gt;      &amp;lt;MaxScaleDenominator&amp;gt;&amp;amp;maxscale_zoom7;&amp;lt;/MaxScaleDenominator&amp;gt;&lt;br /&gt;      &amp;lt;MinScaleDenominator&amp;gt;&amp;amp;minscale_zoom7;&amp;lt;/MinScaleDenominator&amp;gt;&lt;br /&gt;      &amp;lt;LineSymbolizer&amp;gt;&lt;br /&gt;        &amp;lt;CssParameter name=&amp;quot;stroke&amp;quot;&amp;gt;#808080&amp;lt;/CssParameter&amp;gt;&lt;br /&gt;        &amp;lt;CssParameter name=&amp;quot;stroke-width&amp;quot;&amp;gt;6&amp;lt;/CssParameter&amp;gt;&lt;br /&gt;        &amp;lt;CssParameter name=&amp;quot;stroke-linejoin&amp;quot;&amp;gt;round&amp;lt;/CssParameter&amp;gt;&lt;br /&gt;        &amp;lt;CssParameter name=&amp;quot;stroke-linecap&amp;quot;&amp;gt;round&amp;lt;/CssParameter&amp;gt;&lt;br /&gt;      &amp;lt;/LineSymbolizer&amp;gt;&lt;br /&gt;    &amp;lt;/Rule&amp;gt;&lt;br /&gt;  &amp;lt;/Style&amp;gt;&lt;br /&gt;  &amp;lt;Layer name=&amp;quot;jalan_lebuhraya&amp;quot; srs=&amp;quot;+proj=latlong +datum=WGS84&amp;quot; status=&amp;quot;on&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;StyleName&amp;gt;jalan_casing2&amp;lt;/StyleName&amp;gt;&lt;br /&gt;    &amp;lt;StyleName&amp;gt;jalan_fill&amp;lt;/StyleName&amp;gt;&lt;br /&gt;    &amp;lt;StyleName&amp;gt;jalan_text&amp;lt;/StyleName&amp;gt;&lt;br /&gt;    &amp;lt;Datasource&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;type&amp;quot;&amp;gt;postgis&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;password&amp;quot;&amp;gt;&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;host&amp;quot;&amp;gt;localhost&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;port&amp;quot;&amp;gt;5432&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;user&amp;quot;&amp;gt;helmi&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;dbname&amp;quot;&amp;gt;road&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;table&amp;quot;&amp;gt;(select * no_jalan, 'lebuhraya' as jenis, the_geom from jalanraya.lebuhraya) as jalan&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;estimate_extent&amp;quot;&amp;gt;false&amp;lt;/Parameter&amp;gt;&lt;br /&gt;      &amp;lt;Parameter name=&amp;quot;extent&amp;quot;&amp;gt;-180,-90,180,89.99&amp;lt;/Parameter&amp;gt;&lt;br /&gt;    &amp;lt;/Datasource&amp;gt;&lt;br /&gt;  &amp;lt;/Layer&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;My workaround (only tested on Ubuntu Jaunty) is cast the new column as varchar.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;(select * no_jalan, 'lebuhraya'::varchar as jenis, the_geom from jalanraya.lebuhraya) as jalan&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.bytecraft.com.my/blog/helmi/2009/06/11/render-road-labels-mapguide-vs-mapnik"&gt;Mapnik is better than MapGuide&lt;/a&gt; when rendering road labels&lt;br /&gt;&lt;br /&gt;&lt;a href="http://trac.mapnik.org/wiki/OptimizeRenderingWithPostGIS"&gt;OptimizeRenderingWithPostGIS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-6717631254391915681?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="related" href="http://trac.mapnik.org/wiki/OptimizeRenderingWithPostGIS" title="Mapnik need to know postgis column type" /><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/6717631254391915681/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=6717631254391915681" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/6717631254391915681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/6717631254391915681?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/06/mapnik-need-to-know-postgis-column-type.html" title="Mapnik need to know postgis column type" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;A0ECR3c5cSp7ImA9WxNXGUg.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-3276589960851125800</id><published>2009-05-27T16:14:00.004+08:00</published><updated>2009-10-08T07:54:26.929+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-08T07:54:26.929+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mapguide" /><title>MapGuide 2.1beta</title><content type="html">Eager to try beta version, here I log the problem I face and how I solve.&lt;br /&gt;&lt;br /&gt;Error msg:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;httpd.exe: Syntax error on line 127 of C:/Program Files/OSGeo/MapGuide/Web/Apache2/conf/httpd.conf: Cannot load ../Php/MgHttpHandler.dll into server: The specified procedure could not be found.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Fix by move directive 'MgHttpHandler.dll' up&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;LoadFile ../Php/php5ts.dll&lt;br /&gt;LoadFile ../Php/ACE.dll&lt;br /&gt;LoadFile ../Php/MgHttpHandler.dll # put this directive here, the first one and restart apache service&lt;br /&gt;LoadFile ../Php/MgFoundation.dll&lt;br /&gt;LoadFile ../Php/MgGeometry.dll&lt;br /&gt;LoadFile ../Php/MgMapGuideCommon.dll&lt;br /&gt;LoadFile ../Php/MgMdfModel.dll&lt;br /&gt;LoadFile ../Php/MgMdfParser.dll&lt;br /&gt;LoadFile ../Php/MgPlatformBase.dll&lt;br /&gt;LoadFile ../Php/MgWebApp.dll&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://n2.nabble.com/MGOS-2.0.0-Beta-2-loadfile-error-td1816710.html"&gt;http://n2.nabble.com/MGOS-2.0.0-Beta-2-loadfile-error-td1816710.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-3276589960851125800?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="related" href="http://n2.nabble.com/MGOS-2.0.0-Beta-2-loadfile-error-td1816710.html" title="MapGuide 2.1beta" /><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/3276589960851125800/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=3276589960851125800" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3276589960851125800?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3276589960851125800?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/05/mapguide-21beta.html" title="MapGuide 2.1beta" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkUGQXs-fip7ImA9WxJQE04.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-3424533825369033096</id><published>2009-05-26T17:29:00.001+08:00</published><updated>2009-05-26T17:30:20.556+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-26T17:30:20.556+08:00</app:edited><title>No nginx gzip on jaunty</title><content type="html">https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/346010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-3424533825369033096?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="related" href="https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/346010" title="No nginx gzip on jaunty" /><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/3424533825369033096/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=3424533825369033096" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3424533825369033096?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3424533825369033096?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/05/no-nginx-gzip-on-jaunty.html" title="No nginx gzip on jaunty" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;Ck8EQ3kzeip7ImA9WxJREk0.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-7620353735022153842</id><published>2009-05-13T15:39:00.003+08:00</published><updated>2009-05-13T15:46:42.782+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-13T15:46:42.782+08:00</app:edited><title>schema.table to "schema"."table"</title><content type="html">PHP&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$st = 'schema.table';&lt;br /&gt;print join('.', array_map(create_function('$a', 'return \'"\'.$a.\'"\';'), explode('.', $st)));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Selected 3 of 3 Lines; 11 of 11 Words; 124 of 124 Bytes&lt;br /&gt;&lt;br /&gt;Python&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;st = 'schema.table'&lt;br /&gt;print '.'.join('"'+i+'"' for i in st.split('.'))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Selected 2 of 2 Lines; 9 of 9 Words; 69 of 69 Bytes&lt;br /&gt;&lt;br /&gt;Python=PHP/2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-7620353735022153842?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/7620353735022153842/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=7620353735022153842" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/7620353735022153842?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/7620353735022153842?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/05/schematable-to-schematable.html" title="schema.table to &quot;schema&quot;.&quot;table&quot;" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;DEEAR345fip7ImA9WxJSFUw.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-9044620014708793701</id><published>2009-05-05T17:38:00.002+08:00</published><updated>2009-05-05T17:44:06.026+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-05T17:44:06.026+08:00</app:edited><title>Trac error - database disk image is malformed</title><content type="html">One of my trac page got the error message "database disk image is malformed"&lt;br /&gt;&lt;br /&gt;"underlying Trac DB is in serious trouble, may corrupted" - &lt;a href="http://trac.edgewall.org/ticket/6347"&gt;Ticket #6347&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How I fix:&lt;br /&gt;&lt;blockquote&gt;sqlite3 trac.db .dump | sqlite3 trac2.db&lt;br /&gt;cp trac.db trac.broken.db&lt;br /&gt;cp trac2.db trac.db&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-9044620014708793701?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/9044620014708793701/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=9044620014708793701" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/9044620014708793701?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/9044620014708793701?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/05/trac-error-database-disk-image-is.html" title="Trac error - database disk image is malformed" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUIHQXw4cCp7ImA9WxJSFE4.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-4688262568198587566</id><published>2009-05-04T18:26:00.005+08:00</published><updated>2009-05-04T18:38:50.238+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-04T18:38:50.238+08:00</app:edited><title>Find files, php5 way</title><content type="html">Find files, implemented using &lt;a href="http://www.php.net/manual/en/spl.iterators.php"&gt;iterator&lt;/a&gt;.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class RegexFilter extends FilterIterator {&lt;br /&gt;    protected $regex;&lt;br /&gt;&lt;br /&gt;    public function __construct(Iterator $it, $regex) {&lt;br /&gt;        parent::__construct($it);&lt;br /&gt;        $this-&gt;regex = $regex;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function accept() {&lt;br /&gt;        return preg_match($this-&gt;regex, $this-&gt;current());&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function find_files($path, $pattern, $include_dir=FALSE) {&lt;br /&gt;  $objects = new RecursiveDirectoryIterator($path);&lt;br /&gt;  $objects = new RecursiveIteratorIterator($objects, RecursiveIteratorIterator::SELF_FIRST);&lt;br /&gt;  $objects = new RegexFilter($objects, $pattern);&lt;br /&gt;  return $objects;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Example usage:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$files = find_files('/tmp', '/.py$/');&lt;br /&gt;foreach ($files as $file) {&lt;br /&gt;  echo $file;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Previously using php 4:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;function find_files4($path, $pattern, $callback=null) {                                                                                               &lt;br /&gt;    $path = rtrim(str_replace("\\", "/", $path), '/') . '/';&lt;br /&gt;    $matches = Array();&lt;br /&gt;    $entries = Array();&lt;br /&gt;    $dir = dir($path);&lt;br /&gt;    while (false !== ($entry = $dir-&gt;read())) {&lt;br /&gt;        $entries[] = $entry;&lt;br /&gt;    }&lt;br /&gt;    $dir-&gt;close();&lt;br /&gt;    $files = array();&lt;br /&gt;    foreach ($entries as $entry) {&lt;br /&gt;        $fullname = $path . $entry;&lt;br /&gt;        if ($entry != '.' &amp;&amp; $entry != '..' &amp;&amp; is_dir($fullname)) {&lt;br /&gt;            $this-&gt;find_files($fullname, $pattern, $callback);&lt;br /&gt;        } else if (is_file($fullname) &amp;&amp; preg_match($pattern, $entry)) {&lt;br /&gt;            if (!$callback) {&lt;br /&gt;                $files[] = $fullname;&lt;br /&gt;            } else {&lt;br /&gt;                call_user_func($callback, $fullname);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    if (!$callback) {&lt;br /&gt;        return $files;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-4688262568198587566?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/4688262568198587566/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=4688262568198587566" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4688262568198587566?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4688262568198587566?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/05/find-files-using-php5-way.html" title="Find files, php5 way" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CkYCSXg8cSp7ImA9WxJSFEw.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-2036567871710757814</id><published>2009-05-04T12:03:00.003+08:00</published><updated>2009-05-04T12:09:28.679+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-04T12:09:28.679+08:00</app:edited><title>import data from csv into postgresql</title><content type="html">We can use sql command, &lt;a href="http://www.postgresql.org/docs/8.3/static/sql-copy.html"&gt;COPY&lt;/a&gt;. But programmer still need to create the table before copy the data. Simple python script to help&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/python&lt;br /&gt;fn = '/home/helmi/world.csv'&lt;br /&gt;columns = file(fn).readline()&lt;br /&gt;print 'create table world (%s text);' % " text,".join(columns.split(','))&lt;br /&gt;print "copy world from '%s' with csv header;" % fn&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;then&lt;br /&gt;&lt;br /&gt;&lt;code&gt;python csv2psql.py | psql mydb&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-2036567871710757814?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/2036567871710757814/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=2036567871710757814" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/2036567871710757814?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/2036567871710757814?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/05/import-data-from-csv-into-postgresql.html" title="import data from csv into postgresql" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUUNQXw4fSp7ImA9WxVbFUo.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-9165271773255825034</id><published>2009-03-06T16:14:00.008+08:00</published><updated>2009-04-01T17:14:50.235+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-01T17:14:50.235+08:00</app:edited><title>Validate KML</title><content type="html">I implement dynamic KML data using PHP + Postgis for a pet project. The problem is, Google Earth don't tell you the error when our kml file have problem, such as invalid KML. It just not appear in 'My Places' or 'Temporary Places'. So, I keep wondering whether I open correct link, or php not working, etc.&lt;br /&gt;&lt;br /&gt;Previously how I debug is by check apache log or postgresql log. But just found the 'macho' way - by command line:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo apt-get install xmlstarlet&lt;br /&gt;helmi@gandalf:/tmp&gt; xmlstarlet val -e --xsd http://code.google.com/apis/kml/schema/kml21.xsd tree.kml &lt;br /&gt;tree.kml - valid&lt;br /&gt;# for offline xsd&lt;br /&gt;helmi@gandalf:/tmp&gt; wget -c  http://code.google.com/apis/kml/schema/kml21.xsd&lt;br /&gt;helmi@gandalf:/tmp&gt; xmlstarlet val -e --xsd kml21.xsd tree.kml &lt;br /&gt;tree.kml - valid&lt;br /&gt;# without option -e, don't know status when xsd file not found&lt;br /&gt;helmi@gandalf:/tmp&gt; xmlstarlet val --xsd invalid_kml21.xsd tree.kml &lt;br /&gt;# better version&lt;br /&gt;helmi@gandalf:/tmp&gt; xmlstarlet val -e --xsd invalid_kml21.xsd tree.kml &lt;br /&gt;I/O warning : failed to load external entity "invalid_kml21.xsd"&lt;br /&gt;Schemas parser error : Failed to locate the main schema resource at 'invalid_kml21.xsd'.&lt;br /&gt;# of course you can validate kml generated by php&lt;br /&gt;helmi@gandalf:/tmp&gt; xmlstarlet val -e --xsd kml21.xsd http://localhost/~helmi/tree_kml/trees.php&lt;br /&gt;http://localhost/~helmi/tree_kml/trees.php - valid&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Google Earth gotchas:&lt;br /&gt; * &lt;strike&gt;when click url http://localhost/~helmi/tree_kml/trees.php (this php return header with KML mimetype properly), and open with Google Earth, it not appear at 'Temporary Places'. One workaround, use apache url rewrite to redirect trees.kml to trees.php&lt;/strike&gt;&lt;br /&gt; not really gotcha, hint: header('Content-Disposition: attachment; filename="test_file.kml"');&lt;br /&gt;&lt;code&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;RewriteBase /~helmi/tree_kml/&lt;br /&gt;RewriteRule trees\.kml$ trees.php [NC] # note that without option R&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Now, use http://localhost/~helmi/tree_kml/trees.kml to display in GE properly&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-9165271773255825034?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/9165271773255825034/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=9165271773255825034" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/9165271773255825034?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/9165271773255825034?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2009/03/validate-kml.html" title="Validate KML" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DkEEQX87fCp7ImA9WxRUGUo.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-1401976218506415730</id><published>2008-11-29T23:50:00.002+08:00</published><updated>2008-11-30T00:03:20.104+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-30T00:03:20.104+08:00</app:edited><title>Vim smart syntax highlighting</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kSfTbhJsvwA/STFl2lY175I/AAAAAAAAA6k/cOW181Vs6QE/s1600-h/vim+smart+syntax+highlighting.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 296px; height: 291px;" src="http://3.bp.blogspot.com/_kSfTbhJsvwA/STFl2lY175I/AAAAAAAAA6k/cOW181Vs6QE/s400/vim+smart+syntax+highlighting.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5274108627051212690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Smart because it syntax highlighting sql in php heredoc. gedit and nano don't support this. I don't know about other editor.&lt;br /&gt;I used font size 16 all the time, big font eh ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-1401976218506415730?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/1401976218506415730/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=1401976218506415730" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/1401976218506415730?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/1401976218506415730?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/11/vim-smart-syntax-highlighting.html" title="Vim smart syntax highlighting" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_kSfTbhJsvwA/STFl2lY175I/AAAAAAAAA6k/cOW181Vs6QE/s72-c/vim+smart+syntax+highlighting.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;D0UEQHc_fip7ImA9WxRUFU0.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-2854213708835832363</id><published>2008-11-24T01:08:00.005+08:00</published><updated>2008-11-24T13:40:01.946+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-24T13:40:01.946+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Disable scrollkeeper on Ubuntu</title><content type="html">"proses ini hampir memakan 90% cpu dan memory, dan seringkali menyebabkan sistem menjadi hang" -- happen to me today and not at right time.&lt;br /&gt;&lt;br /&gt;To disable:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo mv /usr/bin/scrollkeeper-update /usr/bin/scrollkeeper-update.real&lt;br /&gt;sudo ln -s /bin/true /usr/bin/scrollkeeper-update&lt;br /&gt;sudo find /var/lib/scrollkeeper/ -name \*.xml -type f -exec rm -f '{}' \;&lt;br /&gt;sudo dpkg-divert --local --divert /usr/bin/scrollkeeper-update.real --add /usr/bin/scrollkeeper-update&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Refs:&lt;br /&gt; * &lt;a href="http://blog.its.ac.id/kholis/2008/11/01/scrollkeeper-di-ubuntu/"&gt;http://blog.its.ac.id/kholis/2008/11/01/scrollkeeper-di-ubuntu/&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://mapopa.blogspot.com/2008/09/disable-scrollkeeper-on-ubuntu-is-good.html"&gt;http://mapopa.blogspot.com/2008/09/disable-scrollkeeper-on-ubuntu-is-good.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-2854213708835832363?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="enclosure" type="text/html" href="http://mapopa.blogspot.com/2008/09/disable-scrollkeeper-on-ubuntu-is-good.html" length="0" /><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/2854213708835832363/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=2854213708835832363" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/2854213708835832363?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/2854213708835832363?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/11/disable-scrollkeeper-on-ubuntu.html" title="Disable scrollkeeper on Ubuntu" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;Ak4MQ3w5eyp7ImA9WxRWFEw.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-8578497632944099929</id><published>2008-10-31T09:41:00.002+08:00</published><updated>2008-10-31T10:09:42.223+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-31T10:09:42.223+08:00</app:edited><title>Google Maps driving direction to Machang, Malaysia</title><content type="html">Google Maps driving direction back again as today, 31 Oct 2008. It not official, I guessed (since not mentioned in &lt;a href="http://google-latlong.blogspot.com/"&gt;Google LatLong&lt;/a&gt;). So, I give it a try from Kuala Lumpur to Machang&lt;br /&gt;&lt;br /&gt;&lt;table style="width:auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/HWSmtTI-qFby-K9Nwu9Q3w"&gt;&lt;img src="http://lh4.ggpht.com/_kSfTbhJsvwA/SQplGMaVkrI/AAAAAAAAA4M/rZVcHgRT99A/s400/Kuala%20Lumpur%20to%20Machang.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family:arial,sans-serif; font-size:11px; text-align:right"&gt;From &lt;a href="http://picasaweb.google.com/helmi03/Misc"&gt;Misc&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The routing is accurate and fast (compared to Garmin Que+malsingmaps which lead me to Ipoh instead of Gua Musang before reach Machang). But the direction is not detail enough, see the instruction no 24 in screenshot below. "Continue on 8 -- 307 km" but from the map, the blue road show that you have turn right at Pekan Gua Musang.&lt;br /&gt;&lt;br /&gt;&lt;table style="width:auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/fbu8pLF7Mw75bxaHwbpCrA"&gt;&lt;img src="http://lh3.ggpht.com/_kSfTbhJsvwA/SQplGD28E9I/AAAAAAAAA4U/h8D5wGvGDig/s400/Turn%20right%20at%20Gua%20Musang.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family:arial,sans-serif; font-size:11px; text-align:right"&gt;From &lt;a href="http://picasaweb.google.com/helmi03/Misc"&gt;Misc&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;You should try 'Print' function, look useful. Hey, this driving direction also works on Google Maps on my Windows Mobile, Dopod M700. On mobile version, you have feature 'My Location' and integration with GPS works for me.&lt;br /&gt;&lt;br /&gt;Cannot wait to see Malaysian Street View :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-8578497632944099929?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/8578497632944099929/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=8578497632944099929" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/8578497632944099929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/8578497632944099929?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/10/google-maps-driving-direction-to.html" title="Google Maps driving direction to Machang, Malaysia" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_kSfTbhJsvwA/SQplGMaVkrI/AAAAAAAAA4M/rZVcHgRT99A/s72-c/Kuala%20Lumpur%20to%20Machang.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEMHSHk-eSp7ImA9WxRXEU0.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-4934201385115449260</id><published>2008-10-16T04:21:00.002+08:00</published><updated>2008-10-16T04:27:19.751+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-16T04:27:19.751+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>1.0 is greater than 0.9.x [ies4linux]</title><content type="html">&lt;blockquote&gt;helmi@gandalf:~/Packages/ubuntu/ies4linux-2.99.0.1$ ./ies4linux &lt;br /&gt;IEs4Linux 2 is developed to be used with recent Wine versions (0.9.x). It seems that you are using an old version. It's recommended that you update your wine to the latest version (Go to: winehq.com).&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;and when&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;helmi@gandalf:~/Packages/ubuntu/ies4linux-2.99.0.1$ wine --version&lt;br /&gt;wine-1.0&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;what?? I't wrong warning dude. &lt;strong&gt;1.0 &amp;gt; 0.9.x&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-4934201385115449260?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/4934201385115449260/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=4934201385115449260" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4934201385115449260?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4934201385115449260?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/10/10-is-greater-than-09x-ies4linux.html" title="1.0 is greater than 0.9.x [ies4linux]" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;CkQER3g4eSp7ImA9WxRSGE0.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-7736055391878860583</id><published>2008-09-19T12:56:00.004+08:00</published><updated>2008-09-19T12:58:26.631+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-19T12:58:26.631+08:00</app:edited><title>IE innerHTML - "Unknown runtime error"</title><content type="html">"Unknown runtime error" -- only in IE. Occur when click 'innerHTML WITH form tag'&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;  &amp;lt;form&amp;gt;&lt;br /&gt;    &amp;lt;div id=&amp;quot;replaceme&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/form&amp;gt;&lt;br /&gt;  &amp;lt;div onclick=&amp;quot;replace();return false;&amp;quot;&amp;gt;innerHTML WITHOUT form tag&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;  &amp;lt;div onclick=&amp;quot;replace2();return false;&amp;quot;&amp;gt;innerHTML WITH form tag&amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;script&amp;gt;&lt;br /&gt;    function replace() {&lt;br /&gt;      document.getElementById('replaceme').innerHTML = 'REPLACED';&lt;br /&gt;    }&lt;br /&gt;    function replace2() {&lt;br /&gt;      document.getElementById('replaceme').innerHTML = '&amp;lt;form&amp;gt;REPLACED form&amp;lt;/form&amp;gt;';&lt;br /&gt;    }&lt;br /&gt;  &amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;innerHTML supposed to supported on all major browser, http://www.quirksmode.org/dom/innerhtml.html&lt;br /&gt;&lt;br /&gt;Current solution, don't wrap the #replaceme div in form tag&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-7736055391878860583?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/7736055391878860583/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=7736055391878860583" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/7736055391878860583?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/7736055391878860583?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/09/ie-innerhtml-unknow-runtime-error.html" title="IE innerHTML - &quot;Unknown runtime error&quot;" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;DEINQnY-eSp7ImA9WxRTEEk.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-222680286898093832</id><published>2008-08-30T05:23:00.010+08:00</published><updated>2008-08-30T05:49:53.851+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-30T05:49:53.851+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>"unable to resolve host" that matter</title><content type="html">The &lt;span style="font-style: italic;"&gt;"unable to resolve host"&lt;/span&gt; is matter when I have problem installing &lt;span style="font-weight: bold;"&gt;mysql&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Whenever sudo in my &lt;span style="font-weight: bold; font-style: italic;"&gt;hardy&lt;/span&gt; ,  I got &lt;span style="font-style: italic;"&gt;"unable to resolve host"&lt;/span&gt; . No harm and my terminal works as usual, so just ignore it.&lt;br /&gt;&lt;blockquote&gt;helmi@hix2:~&gt; sudo -s&lt;br /&gt;sudo: unable to resolve host hix2&lt;br /&gt;&lt;/blockquote&gt;Then, today wanna use mysql for my pet project.&lt;br /&gt;&lt;blockquote&gt;helmi@hix2:~&gt; sudo dpkg --configure mysql-server-5.0&lt;br /&gt;sudo: unable to resolve host hix2&lt;br /&gt;Setting up mysql-server-5.0 (5.0.51a-3ubuntu5.2) ...&lt;br /&gt;* Stopping MySQL database server mysqld&lt;br /&gt;...done.&lt;br /&gt;Reloading AppArmor profiles Warning: found /etc/apparmor.d/force-complain/usr.sbin.named, forcing complain mode&lt;br /&gt;: done.&lt;br /&gt;* Starting MySQL database server mysqld&lt;br /&gt;...fail!&lt;br /&gt;invoke-rc.d: initscript mysql, action "start" failed.&lt;br /&gt;dpkg: error processing mysql-server-5.0 (--configure):&lt;br /&gt;subprocess post-installation script returned error exit status 1&lt;br /&gt;Errors were encountered while processing:&lt;br /&gt;mysql-server-5.0&lt;/blockquote&gt;Nothing in /var/log/mysql.err or /var/log/mysql.log , but something in /var/log/syslog&lt;br /&gt;&lt;blockquote&gt;Aug 30 05:07:00 hix2 mysqld[2817]: 080830  5:07:00 [ERROR] Fatal error: Can't open and lock privilege tables: Incorrect file format 'host'&lt;/blockquote&gt;Then &lt;span style="font-style: italic;"&gt;"unable to resolve host"&lt;/span&gt; become matter now. Solution: add following line to /etc/hosts, then reconfigure mysql&lt;br /&gt;&lt;blockquote&gt;127.0.1.1 hix2&lt;/blockquote&gt;Refs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=502982"&gt;http://ubuntuforums.org/showthread.php?t=502982&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=723361"&gt;http://ubuntuforums.org/showthread.php?t=723361&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/195308"&gt;https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/195308&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-222680286898093832?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/222680286898093832/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=222680286898093832" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/222680286898093832?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/222680286898093832?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/08/unable-to-resolve-host-that-matter.html" title="&quot;unable to resolve host&quot; that matter" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;Dk8HRX0yfSp7ImA9WxdTGEs.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-4278520541573285129</id><published>2008-05-15T23:03:00.002+08:00</published><updated>2008-05-15T23:20:34.395+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-15T23:20:34.395+08:00</app:edited><title>Connect winxp lappy to kubuntu using samba</title><content type="html">I want transfer files from my lappy to my kubuntu desktop FAST. I managed make my lappy talk to kubuntu via ssh (winscp), but not fast enough. Yeah, I know it caused by encrypt, bla bla ... I'm the only one who use LAN in my home, so who cares about security???&lt;br /&gt;&lt;br /&gt;Anyway, since new to setup samba, I thought it just matter click Next, Next, ... and so on. Not that easy maa. After setup it in kubuntu, whenever I submit uname/passwd from windows xp, it keep popup the uname/passwd, without error msg. Spend hours RTFM, google , read &lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch12_:_Samba_Security_and_Troubleshooting"&gt;article&lt;/a&gt;, ... then, manage to fix it. When troubleshoot, I reach to the:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;C:\&gt; net view \\bigboy&lt;br /&gt;System error 5 has occurred.&lt;br /&gt; &lt;br /&gt;Access is denied.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then, it easier to fix when know cause of the problem. Just enable the 'encrypt password = yes'. I also added the samba user by &lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;smbpasswd&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-4278520541573285129?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/4278520541573285129/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=4278520541573285129" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4278520541573285129?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4278520541573285129?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/05/connect-winxp-lappy-to-kubuntu-using.html" title="Connect winxp lappy to kubuntu using samba" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEABRX8yfyp7ImA9WxdTFEQ.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-6804908671776196734</id><published>2008-05-11T15:55:00.005+08:00</published><updated>2008-05-11T17:05:54.197+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-11T17:05:54.197+08:00</app:edited><title>Why I hate innerHTML</title><content type="html">Why I hate innerHTML? Because IE suck! It doesn't work for select tag in IE. I have something like&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;div&amp;gt;&lt;br /&gt; &amp;lt;select id="foo"&amp;gt;&amp;lt;option value="1"&amp;gt;baz&amp;lt;/option&amp;gt;&amp;lt/select&amp;gt&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Javascript that doesn't work in IE:&lt;br /&gt;&lt;blockquote&gt;document.getElementById("foo").innerHTML = '&amp;lt;option value="2"&amp;gt;baz&amp;lt;/option&amp;gt';&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Solution -- have to use DOM lah! Note that use innerHTML will destroy the tag events. My prefered solution: &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;document.getElementById("foo").options[0] = new Option("baz", 2);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Astute reader may ask, why not use dom method add() ? Again, because IE suck! &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;var x=document.getElementById("foo");&lt;br /&gt;  try&lt;br /&gt;    {&lt;br /&gt;    x.add(y,null); // standards compliant&lt;br /&gt;    }&lt;br /&gt;  catch(ex)&lt;br /&gt;    {&lt;br /&gt;    x.add(y); // IE only&lt;br /&gt;    }&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.w3schools.com/htmldom/met_select_add.asp"&gt;http://www.w3schools.com/htmldom/met_select_add.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More love/hate on innerHTMl, &lt;a href="http://www.wait-till-i.com/2006/04/18/innerhtml-vs-dom-pot-noodles-vs-real-cooking/"&gt;http://www.wait-till-i.com/2006/04/18/innerhtml-vs-dom-pot-noodles-vs-real-cooking/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-6804908671776196734?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/6804908671776196734/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=6804908671776196734" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/6804908671776196734?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/6804908671776196734?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/05/why-i-hate-innerhtml.html" title="Why I hate innerHTML" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;Ck8MQns9fSp7ImA9WxZRF0U.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-5577442392490535984</id><published>2008-02-11T18:22:00.000+08:00</published><updated>2008-02-12T09:48:03.565+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-12T09:48:03.565+08:00</app:edited><title>php popen whitespace bug in windows</title><content type="html">This popen path with whitespace bug, &lt;a href="http://bugs.php.net/bug.php?id=40988&amp;edit=1"&gt;http://bugs.php.net/bug.php?id=40988&amp;edit=1&lt;/a&gt; make my day worse. Tired from long 9 hours journey from 'balik kampung', arrive at 3.30am and 8.30am go to office, huh. Then have to debug why the stupid php don't want execute the command.&lt;br /&gt;&lt;br /&gt;I want use php to backup a postgis table. So&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;system('"C:\\Program Files\\PostgreSQL\\8.2\\bin\\pg_dump.exe" -t project_geom projectgis &gt; '.$backup);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;that, should straight forward, but the output is empty page. Then use popen to redirect the stdout and stderr, 2&gt;&amp;1 for debugging, I get this message&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;'C:\Program' is not recognized as an internal or external command, operable program or batch file.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Tried many technique to solve: escapeshellarg(), backslash to slash, all lowercase, etc, then afters spent hours debugging, it was the php problem, not my code. grrr.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;BTW:&lt;br /&gt;A 8.3 name (PROGRA~1) will still work on Windows, if it's not disabled&lt;br /&gt;in the NTFS settings.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-5577442392490535984?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/5577442392490535984/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=5577442392490535984" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/5577442392490535984?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/5577442392490535984?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/02/php-popen-whitespace-bug-in-windows.html" title="php popen whitespace bug in windows" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;C0AEQX49eSp7ImA9WxZREUo.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-3218452133103855307</id><published>2008-02-05T08:20:00.000+08:00</published><updated>2008-02-05T08:35:00.061+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-05T08:35:00.061+08:00</app:edited><title>Traffic images on google map</title><content type="html">&lt;a href="http://helmi03.com/traffic.html"&gt;Simple map&lt;/a&gt; to show live traffic images.&lt;br /&gt;&lt;br /&gt;Wake up early plus lazy to go to office :-( Rather than read reddit and google reader, this morning I decide to create simple map instead. Map for my town and click the marker for live traffic image, hah, deadly simple idea! Since lazy morning, I don't know any legal issue regarding the image, so "It's Easier to Ask Forgiveness Than Permission"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-3218452133103855307?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/3218452133103855307/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=3218452133103855307" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3218452133103855307?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/3218452133103855307?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2008/02/traffic-images-on-google-map.html" title="Traffic images on google map" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEYEQXYzeCp7ImA9WB9VFEU.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-4884350511339238397</id><published>2007-12-01T13:04:00.000+08:00</published><updated>2007-12-01T13:15:00.880+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-01T13:15:00.880+08:00</app:edited><title>Turn VIM omni completion ON</title><content type="html">Turn omni completion feature by put this in vimrc.&lt;br /&gt;&lt;blockquote&gt;autocmd FileType python set omnifunc=pythoncomplete#Complete&lt;br /&gt;autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS&lt;br /&gt;autocmd FileType html set omnifunc=htmlcomplete#CompleteTags&lt;br /&gt;autocmd FileType css set omnifunc=csscomplete#CompleteCSS&lt;br /&gt;autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags&lt;br /&gt;autocmd FileType php set omnifunc=phpcomplete#CompletePHP&lt;br /&gt;autocmd FileType c set omnifunc=ccomplete#Complete&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Default vim turn off this feature. And here to set ctags&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ctags -R -f ~/.vim/qttags /usr/include/qt3&lt;br /&gt;&lt;br /&gt;:set tags +=~/.vim/qttags&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-4884350511339238397?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="related" href="http://manish-chaks.livejournal.com/73608.html" title="Turn VIM omni completion ON" /><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/4884350511339238397/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=4884350511339238397" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4884350511339238397?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/4884350511339238397?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2007/12/turn-vim-omni-completion-on.html" title="Turn VIM omni completion ON" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D04DRX0-fip7ImA9WB9XEEo.&quot;"><id>tag:blogger.com,1999:blog-11006378.post-1430841261819065616</id><published>2007-11-03T15:20:00.000+08:00</published><updated>2007-11-03T15:46:14.356+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-03T15:46:14.356+08:00</app:edited><title>Muslim prayer times by web scraping</title><content type="html">Here I'll show how to get Muslim pray times by &lt;a href="http://en.wikipedia.org/wiki/Web_scraping"&gt;web scraping&lt;/a&gt;. Web scraping is one of the methods to implement &lt;a href="http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)"&gt;mashup&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$curl_handle=curl_init();&lt;br /&gt;curl_setopt($curl_handle,CURLOPT_URL,'http://www.e-solat.gov.my/solat.php?kod=sgr03&amp;amp;lang=ENG');&lt;br /&gt;curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);&lt;br /&gt;curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);&lt;br /&gt;$buffer = curl_exec($curl_handle);&lt;br /&gt;curl_close($curl_handle);&lt;br /&gt;&lt;br /&gt;if (empty($buffer)) {&lt;br /&gt;    print '&amp;lt;a href=&amp;quot;http://www.e-solat.gov.my/&amp;quot;&amp;gt;Prayer Time&amp;lt;/a&amp;gt;';&lt;br /&gt;} else {&lt;br /&gt;    $waktu_s = array('imsak', 'subuh', 'syuruk', 'zohor', 'asar', 'maghrib', 'isyak');&lt;br /&gt;    $w = array();&lt;br /&gt;    foreach ($waktu_s as $waktu) {&lt;br /&gt;        $w[] = &amp;quot;&amp;lt;tr.*?&amp;gt;.*?&amp;lt;td.*?&amp;gt;.*?$waktu.*?&amp;lt;\/td&amp;gt;.*?&amp;lt;td.*?&amp;gt;.*?(?P&amp;lt;&lt;br /&gt;$waktu&amp;gt;\d?\d:\d\d).*?&amp;lt;\/td&amp;gt;.*?&amp;lt;\/tr&amp;gt;&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;    $t = join(&amp;quot;.*?&amp;quot;, $w);&lt;br /&gt;    $regex = &amp;quot;/&amp;lt;table.*?&amp;gt;.*?$t.*?&amp;lt;\/table&amp;gt;/si&amp;quot;;&lt;br /&gt;    $result = &amp;quot;&amp;quot;;&lt;br /&gt;    if (preg_match($regex, $buffer, $matches)) {&lt;br /&gt;        $result = '&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;caption&amp;gt;Kuala Lumpur&amp;lt;/caption&amp;gt;';&lt;br /&gt;        $result .= '&amp;lt;thead&amp;gt;&amp;lt;tr&amp;gt;';&lt;br /&gt;        foreach ($waktu_s as $waktu) {&lt;br /&gt;            $result .= &amp;quot;&amp;lt;th&amp;gt;&amp;quot;.ucfirst($waktu).&amp;quot;&amp;lt;/th&amp;gt;&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;        $result .= '&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;';&lt;br /&gt;        $result .= '&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;';&lt;br /&gt;        foreach ($waktu_s as $waktu) {&lt;br /&gt;            $result .= &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$matches[$waktu].&amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;        $result .= '&amp;lt;/tr&amp;gt;&amp;lt;/tbody&amp;gt;';&lt;br /&gt;        $result .= '&amp;lt;/table&amp;gt;';&lt;br /&gt;    }&lt;br /&gt;    print $result;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Example of &lt;a href="http://helmi03.com/misc/prayer_times.php"&gt;output&lt;/a&gt; as below:&lt;br /&gt;&lt;table border="1"&gt;&lt;caption&gt;Kuala Lumpur&lt;/caption&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Imsak&lt;/th&gt;&lt;th&gt;Subuh&lt;/th&gt;&lt;th&gt;Syuruk&lt;/th&gt;&lt;th&gt;Zohor&lt;/th&gt;&lt;th&gt;Asar&lt;/th&gt;&lt;th&gt;Maghrib&lt;/th&gt;&lt;th&gt;Isyak&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;5:29&lt;/td&gt;&lt;td&gt;5:39&lt;/td&gt;&lt;td&gt;6:58&lt;/td&gt;&lt;td&gt;13:00&lt;/td&gt;&lt;td&gt;16:19&lt;/td&gt;&lt;td&gt;18:58&lt;/td&gt;&lt;td&gt;20:09&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;I'll leave to you as exercise to show the date of prayer times, GMT and qiblat direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11006378-1430841261819065616?l=helmi-blebe.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://helmi-blebe.blogspot.com/feeds/1430841261819065616/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=11006378&amp;postID=1430841261819065616" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/1430841261819065616?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/11006378/posts/default/1430841261819065616?v=2" /><link rel="alternate" type="text/html" href="http://helmi-blebe.blogspot.com/2007/11/muslim-prayer-times-by-web-scraping.html" title="Muslim prayer times by web scraping" /><author><name>helmi</name><uri>http://www.blogger.com/profile/13447190038974406237</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="13220013897012924329" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry></feed>
