<?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/"
	>

<channel>
	<title>jShamsul.com</title>
	<atom:link href="http://jshamsul.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jshamsul.com</link>
	<description>I am a web producer based in Kuala Lumpur, Malaysia. I make websites for fun and profit.</description>
	<lastBuildDate>Tue, 07 Feb 2012 19:58:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordPress &#8211; get first paragraph from post</title>
		<link>http://jshamsul.com/2012/02/08/wordpress-get-first-paragraph-from-post/</link>
		<comments>http://jshamsul.com/2012/02/08/wordpress-get-first-paragraph-from-post/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 19:58:20 +0000</pubDate>
		<dc:creator>jibone</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://jshamsul.com/?p=217</guid>
		<description><![CDATA[I was being annoying to myself yet again. I wanted a WordPress loop to show only a single paragraph and a &#8216;read more&#8217; link. No, I do not want to use the &#60;!--more--&#62; tag. I know there are a couple of plugin that does this and more, I don&#8217;t one to use any plugin either. [...]]]></description>
			<content:encoded><![CDATA[<p>I was being annoying to myself yet again. I wanted a WordPress loop to show only a single paragraph and a &#8216;read more&#8217; link. No, I do not want to use the <code>&lt;!--more--&gt;<!--formatted--></code> tag. I know there are a couple of plugin that does this and more, I don&#8217;t one to use any plugin either.</p>
<p>So I decided to write my own function that would get the first paragraph from the post content to use it in the main index loop.</p>
<p>I place this in functions.php :-</p>
<pre class="prettyprint"><code>
if(!function_exists(&#039;get_the_content_first_paragraph&#039;)) :
function get_the_content_first_paragraph() {
    $content = get_the_content();
    $content = apply_filters(&#039;the_content&#039;, $content);
    $content = str_replace(&#039;]]&gt;&#039;, &#039;]]&#38;gt;&#039;, $content);
    $content_explode = explode(&quot;&lt;/p&gt;&quot;, $content);

    $c = 0; $p = count($content_explode); $return_data = &quot;&quot;;
    while($c &lt; $p) {
        $test = strip_tags($content_explode[$c]);
        if($test != &#039;&#039;) {
            $return_data = $return_data . $content_explode[$c] . &quot;&lt;/p&gt;\n&quot;;
            break;
        } else {
            $return_data = $return_data . $content_explode[$c] . &quot;&lt;/p&gt;\n&quot;;
        } $c++;
    }
    return $return_data;
}
endif;

<!--formatted--></code></pre>
<p>The first part of the function gets the content of the post formats it and split all the paragraphs into an array.</p>
<pre class="prettyprint"><code>
    $content = get_the_content();
    $content = apply_filters(&#039;the_content&#039;, $content);
    $content = str_replace(&#039;]]&gt;&#039;, &#039;]]&#38;gt;&#039;, $content);
    $content_explode = explode(&quot;&lt;/p&gt;&quot;, $content);

<!--formatted--></code></pre>
<p>I wanted to get the first paragraph of the post, however sometimes I start my post with an image, if that&#8217;s the case then I want to get the image and the paragraph that comes after that. So the next part of the function goes through the array. </p>
<p>It first strips the HTML tags in the array item. If the first array item is an image, it&#8217;ll have the <img> tag, and therefore returns empty, because we striped the HTML tag. In that case the function will return the first and the second paragraph from the post.</p>
<pre class="prettyprint"><code>
    $c = 0; $p = count($content_explode); $return_data = &quot;&quot;;
    while($c &lt; $p) {
        $test = strip_tags($content_explode[$c]);
        if($test != &#039;&#039;) {
            $return_data = $return_data . $content_explode[$c] . &quot;&lt;/p&gt;\n&quot;;
            break;
        } else {
            $return_data = $return_data . $content_explode[$c] . &quot;&lt;/p&gt;\n&quot;;
        } $c++;
    }
    return $return_data;

<!--formatted--></code></pre>
<p>If say you want to only return a single text of the first paragraph, and skips any image or embed codes, just remove the &#8216;else&#8217; statement. </p>
<p>On the loop sometimes I due want to show more than just a single paragraph, when I have the <code>&lt;!--more--&gt;<!--formatted--></code> tag on the post, so here is what I do on the loop :-</p>
<pre class="prettyprint"><code>

&lt;?php
    if($pos = strpos($post-&gt;post_content, &#039;&lt;!--more--&gt;&#039;)) :
        the_content(__(&#039;&#039;));
    else :
        echo get_the_content_first_paragraph();
    endif;
?&gt;

<!--formatted--></code></pre>
<p>There are probably easier ways of doing this and I&#8217;m just to dumb to see it. If you due know any share in on the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://jshamsul.com/2012/02/08/wordpress-get-first-paragraph-from-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yet another redesign</title>
		<link>http://jshamsul.com/2012/02/05/yet-another-redesign/</link>
		<comments>http://jshamsul.com/2012/02/05/yet-another-redesign/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 01:36:27 +0000</pubDate>
		<dc:creator>jibone</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://jshamsul.com/?p=211</guid>
		<description><![CDATA[I&#8217;ve lost count how many times I did a redesign to this website of mine. One thing for sure is that the more redesign I do, the less of a &#8216;design&#8217; it has become. Here you see me obsessed in minimalistic white-space heavy design. Less is not just more, less is better. Sort of. I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve lost count how many times I did a redesign to this website of mine. One thing for sure is that the more redesign I do, the less of a &#8216;design&#8217; it has become. Here you see me obsessed in minimalistic white-space heavy design. Less is not just more, less is better. Sort of.</p>
<p>I&#8217;ve also decided to adopt <a href="http://html5boilerplate.com/">html5boilerplate</a>, not entirely just most of the basic ideas and snippets from that project. I even keep the bright pink highlighting color, go ahead highlight my text. Since I love doing my CSS with Sass now, I use this little project on Github, <a href="https://github.com/grega/HTML5-Boilerplate-with-Sass">HTML5-Boilerplate-with-Sass</a>.  </p>
<p>I spend a large amount of time arguing with myself while doing this theme. Should I use a light border to separate items, or just a big fat white-space. You can see which route I took.</p>
<p>Here are some snapshots of how this website looks previously:- </p>
<p><img src="http://jshamsul.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-04-at-9.26.20-AM-570x365.png" alt="" title="Screen Shot 2012-02-04 at 9.26.20 AM" width="570" height="365" class="alignnone size-large wp-image-212" /></p>
<p><img src="http://jshamsul.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-04-at-9.26.46-AM-570x365.png" alt="" title="Screen Shot 2012-02-04 at 9.26.46 AM" width="570" height="365" class="alignnone size-large wp-image-213" /></p>
<p><img src="http://jshamsul.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-04-at-9.26.20-AM-570x365.png" alt="" title="Screen Shot 2012-02-04 at 9.26.20 AM" width="570" height="365" class="alignnone size-large wp-image-212" /></p>
<p>I&#8217;ve also decided to share the code. The theme code are on a <a href="https://github.com/jibone/wp-jshamsul.com">public Github repo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jshamsul.com/2012/02/05/yet-another-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekend Web Project &#8211; Crowded</title>
		<link>http://jshamsul.com/2011/10/17/weekend-web-project-crowded/</link>
		<comments>http://jshamsul.com/2011/10/17/weekend-web-project-crowded/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 16:24:29 +0000</pubDate>
		<dc:creator>jibone</dc:creator>
				<category><![CDATA[Lab]]></category>
		<category><![CDATA[Crowded]]></category>
		<category><![CDATA[Foursquare]]></category>
		<category><![CDATA[Public API]]></category>

		<guid isPermaLink="false">http://jshamsul.com/?p=156</guid>
		<description><![CDATA[A silly little website that searches Foursquare checkins at a certain area on the map. It finds trending venues and display it on the map. You might have guessed it already, I&#8217;m just playing around with the Foursquare API. Try it out:- lab.jshamsul.com/crowded If there is not trending venue, use the form to jump to [...]]]></description>
			<content:encoded><![CDATA[<p>A silly little website that searches Foursquare checkins at a certain area on the map. It finds trending venues and display it on the map. You might have guessed it already, I&#8217;m just playing around with the Foursquare API. Try it out:- <a href="http://lab.jshamsul.com/crowded">lab.jshamsul.com/crowded</a></p>
<p><img src="http://jshamsul.com/wp-content/uploads/2011/10/Screen-shot-2011-10-16-at-8.19.56-PM-570x312.png" alt="" title="Screen shot 2011-10-16 at 8.19.56 PM" width="570" height="312" class="alignnone size-large wp-image-157" /></p>
<p>If there is not trending venue, use the form to jump to a certain location.  List of trending venues are displayed once you are at a location where there are a lot of checkins. </p>
<p>Some technology and API used for this project are, <a href="https://developer.foursquare.com/">Foursquare API</a>, <a href="http://code.google.com/apis/maps/documentation/javascript/">Google Map API v3</a>, <a href="http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/docs/reference.html">Google Map Utility Library MarkerClusterer</a>. Codes are up on <a href="https://github.com/jibone/Crowded">Github</a>, if you want to have a look.</p>
<p>Does this thing have legs? probably not. </p>
]]></content:encoded>
			<wfw:commentRss>http://jshamsul.com/2011/10/17/weekend-web-project-crowded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I am loving the Metro UI from Microsoft</title>
		<link>http://jshamsul.com/2011/09/22/i-am-liking-the-metro-ui-from-microsoft/</link>
		<comments>http://jshamsul.com/2011/09/22/i-am-liking-the-metro-ui-from-microsoft/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 04:25:57 +0000</pubDate>
		<dc:creator>jibone</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://jshamsul.com/?p=146</guid>
		<description><![CDATA[Those who knows me personally probably know that I am an Apple/Mac centric kind of person. No, I&#8217;m not going to use the &#8216;F&#8217; word that rhythms with &#8216;boy&#8217; but I have been called that from time to time. Secretly I have a crush on the Metro UI design that Microsoft is adopting on all [...]]]></description>
			<content:encoded><![CDATA[<p>Those who knows me personally probably know that I am an Apple/Mac centric kind of person. No, I&#8217;m not going to use the &#8216;F&#8217; word that rhythms with &#8216;boy&#8217; but I have been called that from time to time.</p>
<p>Secretly I have a crush on the Metro UI design that Microsoft is adopting on all of it&#8217;s new OS devices. Even though on the Wikipedia page it says that the Metro principles were use as early as Microsoft Encrata 95, but I think it was the Zune that Metro makes its first appearance. And now you can see the user interface on Windows Phone 7. </p>
<p>The thought process behind Metro is as if the Microsoft designer folks are saying, &#8220;Look at what Apple is doing, we do the opposite.&#8221; </p>
<p>Apple has rounded corners in their icons and stuff, Microsoft&#8217;s Metro have sharp edges. Apple&#8217;s iOS is about icons of apps, Microsoft&#8217;s Metro is about tiles.  </p>
<p>Metro to me is more then just a theme you slap on an OS or software. It&#8217;s a design philosophy.</p>
<blockquote><p>&#8220;Metro is our design language. We call it metro because it is modern and clean. It is fast and in motion. It&#8217;s about content and typography. And it&#8217;s entirely authentic.&#8221;</p></blockquote>
<p>Some people says that they are annoyed with the whole lack of UI in Metro, but it is in fact the lack of &#8216;UI&#8217; that I love. There are few core principles that defines the Microsoft Metro Language, and I&#8217;ll try to go through here pretending that I know a thing or two about design. </p>
<p><img src="http://jshamsul.com/wp-content/uploads/2011/09/Screen-shot-2011-09-22-at-12.15.29-PM-570x356.png" alt="" title="Screen shot 2011-09-22 at 12.15.29 PM" width="570" height="356" class="alignnone size-large wp-image-150" /></p>
<h2>Content not chrome</h2>
<p>It is always the case that content is something that lives inside a UI wrapper. In Metro, most of the time the content itself is the UI. </p>
<p>Take an example of a dialog box. A dialog box only needs a title and the content message. In most Operating System either Windows 7, Mac OS X or Ubuntu, their dialog box have the content in the content field and the title in the title field. There is a border there separates the title and the content. Both the title sits inside a window container. The window needs to have some border on each sides. To make the window look like it is in focus there is some drop shadow on each sides. See how complicated it is to have a dialog box?</p>
<p>In Metro usually the case is that a dialog box have title and content. No chrome, just content. No gradient, just flat colors. I like the fierce reduction of unnecessary elements that Metro subscribes to. In Metro, typography is UI and so does white-spaces.</p>
<h2>Typography</h2>
<p>The title fonts usually is a little bit bigger then the content. Metro plays heavily on typography. In Metro they celebrate typography. In Metro typography is not just fonts, it is the UI. Typography done right can be beautiful. Not only that it&#8217;s attractive, it is also functional because it telling you something, you are reading from it. The right balance of weight and positioning can create a visual hierarchy. Text is not just text, text is UI.</p>
<h2>Motion</h2>
<p>This is one principles that Metro play on well. An OS needs to be fast and responsive. The key word here is responsive, because a responsive UI can give the illusion that the OS is fast, even though it might not be as fast as one would like. In metro, motions plays an important role but it&#8217;s always the case of just enough motion and not too much motion. You would want the dialog box to slides into place and stays there. You wouldn&#8217;t what to chase after a dialog box now would you?</p>
<h2>Conclusion</h2>
<p>Those were just some of the core principles of Metro that I really like. Metro lets you focus on the primary task and lets you do a lot with very little. I also like the full bleed canvas where it is as if the application is one big piece of canvas and only a section that is related to what you want to do are in focus.   </p>
<p>I like how in Metro is about presenting you with information that you need so you can glance through. Metro wants to give you what you need and stay out of the way.</p>
<p>Metro is currently taking shape on Windows 8. Based on what I&#8217;ve seen in the Developer Preview version of Windows 8, there is still a &#8216;desktop&#8217; you can go to, I wish they would eliminate this all together. The whole &#8216;desktop&#8217; and &#8216;window&#8217; metaphor is so 90s. </p>
<p>This whole post sort of reads like a love letter to Metro, can you imagine that? A self proclaim Apple fan writing a love letter to something Microsoft related.</p>
]]></content:encoded>
			<wfw:commentRss>http://jshamsul.com/2011/09/22/i-am-liking-the-metro-ui-from-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Petknode &#8211; it does not make any sense</title>
		<link>http://jshamsul.com/2011/09/06/petknode-it-does-not-make-any-sense/</link>
		<comments>http://jshamsul.com/2011/09/06/petknode-it-does-not-make-any-sense/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 02:35:14 +0000</pubDate>
		<dc:creator>jibone</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Cats]]></category>
		<category><![CDATA[Petknode]]></category>

		<guid isPermaLink="false">http://jshamsul.com/?p=143</guid>
		<description><![CDATA[These few days, Malaysian cat lovers, Kitteh defenders alike were up in arms over what had happened to over 200 pet felines that were supposed to be under the care of Petknode, a company that offers cat boarding services. These are pet cats and not stray cats. Over the long Raya holiday, pet owners had [...]]]></description>
			<content:encoded><![CDATA[<p>These few days, Malaysian cat lovers, Kitteh defenders alike were up in arms over what had happened to over 200 pet felines that were supposed to be under the care of Petknode, a company that offers cat boarding services. These are pet cats and not stray cats. </p>
<p>Over the long Raya holiday, pet owners had send their cats to Petknode while they and their family went to their hometown to celebrate the Raya festive with the rest of the extended family. It&#8217;s a long known Raya &#8216;balik kampung&#8217; tradition. </p>
<p>I am not to familiar with Petknode, but I&#8217;ve heard of them before. I&#8217;ve heard good things about them before, from those who had send their pet cats to them. So this whole incident came as a shock to some.</p>
<p>Petknode had took in over 200 cats and those cats were left in their cages for over 9 days or so with out any supervision. No food or water for the cats. Even prisoners have their daily meals, it&#8217;s as if the cats were left there to,&#8230; die.</p>
<p>Most of the animal lovers are still in rage over what had happened. I put the rage and anger aside and try to think of what or why Petknode did what they did. Nobody is pure evil, there is always some sort of reasoning behind it.</p>
<p>I can believe that they just leave the cats for over a week and thought that things would be fine when the owners come to pick their pets later after the holiday was over.</p>
<p>My first thought is that they are running a con job. Take the money and leave. However, to my knowledge Petknode have been operating for quite sometime and there were no complaints before this. </p>
<p>Can you imagine that over 200 cats were send by their owner to Petknode. This cat boarding service is a very lucrative business in a long term. Why would the Petknode owners jeopardize what seems to be a very profitable lucrative long term business for a making just a little quick buck? Are they that short sighted?</p>
<p>If this were a con job, then they the Petknode owners are the stupidest con men ever. They should already disappear, out of the country type of disappear, they should have already run away with the few bucks they had made over the Raya promotion. Yet they are still here, the police are able to get them at their house?</p>
<p>That does not make sense. </p>
<p>My second thought is that they had took in more cats than they can handle. This is obviously so. Maybe they had hire some illegal foreign workers to take care of the basic necessities of the cats while they were gone for the Raya holiday. The illegal foreign workers then had run away for some reason leaving the cats just like that.</p>
<p>But, if that was the case, didn&#8217;t they as the employers ever called and check? Can&#8217;t they come back if something were wrong?   </p>
<p>That does not make sense either.</p>
<p>Third thought came to mind. Maybe they, the Petknode owner were running from someone? Maybe they had loaned some money from loan sharks and were unable to pay them back. They thought that by doing a Raya promotion and taking in 200 cats would be enough to save their ass, but it is not enough. It always isn&#8217;t enough when dealing with loan sharks. Fear of what the loan sharks would do to them they run and leave the cats under their care behind. </p>
<p>I know that people do make unreasonable decisions when pressured by loan sharks. Fear of their life, or fear of the public humiliation they might face with the loan sharks. It&#8217;s better to get sued by pet owners then to face the loan sharks? Who knows&#8230; </p>
<p>We will never know what or why and I am not saying that I know either. I am not trying to justified their action either. This is just me trying to make some sense over what had happen with the Petknode fiasco.</p>
]]></content:encoded>
			<wfw:commentRss>http://jshamsul.com/2011/09/06/petknode-it-does-not-make-any-sense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jejak Kicau web experiment</title>
		<link>http://jshamsul.com/2011/07/14/jejak-kicau-web-experiment/</link>
		<comments>http://jshamsul.com/2011/07/14/jejak-kicau-web-experiment/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 10:09:04 +0000</pubDate>
		<dc:creator>jibone</dc:creator>
				<category><![CDATA[Lab]]></category>
		<category><![CDATA[Jejak Kicau]]></category>
		<category><![CDATA[Public API]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://jshamsul.com/?p=133</guid>
		<description><![CDATA[During the recent Bersih rally in Kuala Lumpur, some over 30,000 Malaysian were at the streets demanding a fair and clean election process. I thought it was the best time to try out a web experiment of mine which I an calling it &#8216;Jejak Kicau&#8216;, the term is in Malay and it translates directly to [...]]]></description>
			<content:encoded><![CDATA[<p>During the recent Bersih rally in Kuala Lumpur, some over 30,000 Malaysian were at the streets demanding a fair and clean election process. I thought it was the best time to try out a web experiment of mine which I an calling it &#8216;<a href="http://lab.jshamsul.com/jejak-kicau">Jejak Kicau</a>&#8216;, the term is in Malay and it translates directly to english as &#8216;Tweets Track&#8217; or something. </p>
<h2>Introduction</h2>
<p><img src="http://jshamsul.com/wp-content/uploads/2011/07/Screen-shot-2011-07-09-at-12.43.29-PM-570x307.png" alt="" title="Screen shot 2011-07-09 at 12.43.29 PM" width="570" height="307" class="alignnone size-large wp-image-137" /></p>
<p>I these days everyone is armed with mobile phones equipped with cameras. Either we realize it or not we are constantly putting up stuff on the Internet, Twitter, Facebook and so one. These days, the moment something happens the photos are already on the net.</p>
<p>Mainstream news media outlet curate what their publishing. Most of the time they are one sided. Alternative media outlet is also no different, just that they lean more on the other side.</p>
<p>News outlet, both mainstream and the so called alternative media outlet chooses what to show and what not to show. They choose what is news and what is not. While mainstream media demonize the protestors, the alternative media demonize the authority. </p>
<p>Jejak Kicau, as I see it, is un-curated, there is not editors. Tweets and pictures comes in as they are available. I don&#8217;t choose what to show and what not to show. As long as the app thinks that it&#8217;s related (via looking at the words and hashtag #bersih in this case) it shows them. </p>
<p>It&#8217;s raw, not edited, and not processed. </p>
<p>Here are some technical details:-</p>
<h2>Codeigniter Framework</h2>
<p>The reason I choose this is more of a personal preference then a technical one. I&#8217;ve been doing PHP/MySQL for quite sometime with <a href="http://codeigniter.com">Codeigniter</a>. It just makes things faster for me. I&#8217;ve nothing against Ruby, Python or even Node.js</p>
<h2>Codeigniter Twitter Library</h2>
<p>I use <a href="http://www.haughin.com/code/twitter/">Elliot Haughin&#8217;s Twitter Codeigniter Library</a>. While write one when there is a perfectly nice working library that reads Twitter API. </p>
<p>Currently Jejak Kicau pulls searched tweets in an interval time. In the future I am planing to use the Twitter Streaming API if possible.</p>
<h2>Google Map Cluster Marker</h2>
<p><img src="http://jshamsul.com/wp-content/uploads/2011/07/Screen-shot-2011-07-09-at-12.40.07-PM.png" alt="" title="Screen shot 2011-07-09 at 12.40.07 PM" width="530" height="265" class="alignnone size-full wp-image-135" /></p>
<p>I suggest you take a look at <a href="http://code.google.com/apis/maps/index.html">Google Map JavaScript v3 API</a>, it&#8217;s super easy. Each tweets with a geo location information gets a marker on the Google Map. Now when there are a lot of tweets in one place, the map gets crowded with markers. Fortunately Google Map API comes with a <a href="http://code.google.com/apis/maps/articles/toomanymarkers.html">Marker Cluster API</a>. It group nearby markers.</p>
<h2>Photos from Twitter</h2>
<p>Each tweets coming in there is a function that scrubs it for links to photo uploading websites. Currently it only aware of three, Lockerz.com, yFrog.com and Twitpic.com. This three image sharing service offers ways to get a thumbnail pic from the url. </p>
<p>For photos from Lockerz.com (I think formally it was Plixi):-</p>
<pre>http://api.plixi.com/api/tpapi.svc/imagefromurl?url=[the pic url]&#038;size=small</pre>
<p>For photos from yFrog, you can use just add &#8216;:small&#8217; at the end of the URL:-</p>
<pre>http://yfrog.com/ke4xddj:small</pre>
<p>For Twitpic you need to get the twitpic id code from the url and use this url:-</p>
<pre>http://twitpic.com/show/thumb/[the twitpic id]</pre>
<h2>Future enhancement</h2>
<p>1) To resolved shorten url to it&#8217;s full form. Read the title from the header and display that instead of the shorten link like what it is now.</p>
<p>2) Use Twitter Streaming API if possible.</p>
<p>3) Smoother animations when new tweets coming in and photos. The ajax call are rough at the moment. </p>
<p>4) Put the codes up on a public repository.</p>
]]></content:encoded>
			<wfw:commentRss>http://jshamsul.com/2011/07/14/jejak-kicau-web-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing Wirawan Web</title>
		<link>http://jshamsul.com/2011/06/14/introducing-wirawan-web/</link>
		<comments>http://jshamsul.com/2011/06/14/introducing-wirawan-web/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 18:01:20 +0000</pubDate>
		<dc:creator>jibone</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Webzine]]></category>
		<category><![CDATA[WirawanWeb]]></category>

		<guid isPermaLink="false">http://jshamsul.com/?p=128</guid>
		<description><![CDATA[Wirawan Web is my latest project with Zaidel Baharuddin. We started this webzine/weblogs for web geeks and Internet freaks. We are keeping it web/internet related with topics ranging from silly things like Twitter trending hashtags and viral videos to a more serious stuff like Interent censorships and online privacy. It is not yet a month [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://jshamsul.com/wp-content/uploads/2011/06/ww-570x203.jpg" alt="" title="ww" width="570" height="203" class="alignnone size-large wp-image-129" /></p>
<p>Wirawan Web is my latest project with <a href="https://twitter.com/#!/sinatra_z">Zaidel Baharuddin</a>. We started this webzine/weblogs for web geeks and Internet freaks. We are keeping it web/internet related with topics ranging from silly things like Twitter trending hashtags and viral videos to a more serious stuff like Interent censorships and online privacy.</p>
<p>It is not yet a month since it was first launched with the first post, yet it seems that traffic is doing good. I guess we were lucky, thanks to the MCMC letter that we posted and the whole censorship issue. We thought we would have a month worth of web memes and viral videos before we touch on more serious stuff, guess not. </p>
<p>Check out <a href="http://wirawanweb.com/">WirawanWeb.com</a> if you have not yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://jshamsul.com/2011/06/14/introducing-wirawan-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

