<?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>arif.suparlan.com</title>
	<atom:link href="http://arif.suparlan.com/feed" rel="self" type="application/rss+xml" />
	<link>http://arif.suparlan.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 01 Sep 2010 21:28:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Resize gambar proporsional &amp; posisi tengah dengan CSS &amp; Javascript (Update)</title>
		<link>http://arif.suparlan.com/2010/08/18/resize-proporsional-posisi-center-dengan-css-javascript</link>
		<comments>http://arif.suparlan.com/2010/08/18/resize-proporsional-posisi-center-dengan-css-javascript#comments</comments>
		<pubDate>Wed, 18 Aug 2010 15:16:46 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[center]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[overflow hidden]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[scale]]></category>
		<category><![CDATA[skala]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=259</guid>
		<description><![CDATA[Saya hampir gila mencoba me-resize dan memposisikan tengah beberapa gambar di dalam div yang mempunyai property overflow: hidden. Terlalu berlebihan ya? hehehe&#8230; Tapi memang sulit. Ukuran gambar tersebut berbeda-beda, portrait atau landscape, yang jelas dia lebih besar dari ukuran div itu. Saya belum bisa ngakalinnya bermodalkan CSS saja. Meskipun mentok dengan CSS, saya akhirnya ngakalin [...]]]></description>
			<content:encoded><![CDATA[<p>Saya hampir gila mencoba me-<em>resize </em>dan memposisikan tengah beberapa gambar di dalam <em>div </em>yang mempunyai <em>property overflow: hidden</em>. Terlalu berlebihan ya? hehehe&#8230; Tapi memang sulit. Ukuran gambar tersebut berbeda-beda, portrait atau landscape, yang jelas dia lebih besar dari ukuran div itu. Saya belum bisa ngakalinnya bermodalkan CSS saja.<span id="more-259"></span></p>
<p>Meskipun mentok dengan CSS, saya akhirnya ngakalin dengan bantuan Javascript. Dengan memanfaatkan Javascript saya bisa untuk merubah ukuran dan posisi gambar secara dinamis. Bisa lebih dari itu sih, tapi untuk pemula seperti saya ini bisa sangat membantu melayout halaman.</p>
<p>Dulu saya pernah buat script untuk <a href="http://arif.suparlan.com/2009/09/11/resize-crop-gambar-proporsional-di-codeigniter" target="_blank">Resize &amp; crop gambar dengan Codeigniter</a>. Nah script ini memakai hitung-hitungan yang sama. Kalau Codeigniter kalkulasinya oleh PHP di sisi server, yang ini di sisi client/browser. Cara ini bisa dipermudah dengan menggunakan framework Javascript. Saya belum coba, tapi kalau ada cara yang lebih mudah lagi, mohon dipost di sini. Makasih.</p>
<p>Di bawah berikut kira-kira contoh scriptnya. Kedua gambar yang berukuran besar dengan orientasi yang berbeda, portrait dan landscape ini saya letakkan sebagai icon dalam div dengan property overflow hidden. Prosesnya mudah, tetapi agak panjang, yaitu membandingkan rasio dua ukuran untuk menentukan orientasi kemudian me-resize dan menghitung posisi tengah. Ini contohnya: <a href="http://arif.suparlan.com/demo/resize_position_center/" target="_blank">Demo</a>.</p>
<pre>&lt;html&gt;
&lt;head&gt;
 &lt;title&gt;Resize proporsional &amp; posisi center dengan Javascript&lt;/title&gt;
&lt;style type="text/css"&gt;
.test {
 border:1px solid;
 margin-top:100px;
 margin-left:250px;
 width:150px;
 height:150px;
 overflow: hidden;
 float: left;
}

.test img {
}

&lt;/style&gt;

&lt;script type="text/javascript"&gt;
 window.onload = function() {
 var $images = document.getElementsByTagName('img');
 $x=150;
 $y=150;

 for($i=0; $i&lt;$images.length; $i++)
 {
 $new_size = resize_min($images[$i].width, $images[$i].height, $x, $y);

 $images[$i].style.width = $new_size[0];
 $images[$i].style.height = $new_size[1];
 $images[$i].style.marginLeft = -(($new_size[0]-$x)*.25) + "px";
 $images[$i].style.marginTop = -(($new_size[1]-$y)*.25) + "px";
 }

 function resize_min($x0, $y0, $x1, $y1) {
 $xs=$x0/$x1;
 $ys=$y0/$y1;

 if ($ys&gt;$xs){
 $x2 = $x1;
 $y2 = $x1 * ($y0/$x0);
 }
 else {
 $x2 = $y1 * ($x0/$y0);
 $y2 = $y1;
 }

 return [$x2, $y2];
 }
 }
&lt;/script&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Resize proporsional &amp; posisi center dengan Javascript&lt;/h1&gt;

&lt;div&gt;
 &lt;img src="img01.jpg" /&gt;
&lt;/div&gt;
&lt;div&gt;
 &lt;img src="img02.jpg" /&gt;
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Update berikut untuk penggunaan dengan jQuery. Ada beberapa tambahan script untuk mengukur dimensi ketika dalam keadaan gambar hidden.</p>
<pre>$(document).ready(function() {
 $('img').each(function() {
 var x = 150;
 var y = 150;
 var ratio = x/y;

 if ($(this).height() &gt; 0) {
 var width = $(this).width();
 var height = $(this).height();
 } else {
 var elem_clone = $(this).clone()
 .attr("id", false)
 .css({visibility:"hidden", display:"block", position:"absolute"});
 $("body").append(elem_clone);
 var width = elem_clone.width();
 var height = elem_clone.height();
 elem_clone.remove();    
 }

 $new_size = resize_min(width, height, x, y);

 $(this).css("width", $new_size[0]);
 $(this).css("height", $new_size[1]);
 $(this).css("marginLeft", -(($new_size[0]-x)*.5) + "px");
 $(this).css("marginTop", -(($new_size[1]-y)*.5) + "px");
 });
 });</pre>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/08/18/resize-proporsional-posisi-center-dengan-css-javascript/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Email Yahoo Bapakku di-Hack Orang</title>
		<link>http://arif.suparlan.com/2010/08/13/email-yahoo-bapakku-di-hack-orang</link>
		<comments>http://arif.suparlan.com/2010/08/13/email-yahoo-bapakku-di-hack-orang#comments</comments>
		<pubDate>Fri, 13 Aug 2010 14:45:59 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[bajak]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[scam]]></category>
		<category><![CDATA[takeover]]></category>
		<category><![CDATA[yahoo mail]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=247</guid>
		<description><![CDATA[Beberapa hari lalu akun email Yahoo Bapak saya dibajak oleh orang tak bertanggung jawab, atau dengan kata lain di-hack orang. Ini menyebabkan beliau sama sekali tidak bisa mengakses akun emailnya. Kemudian saya tanyakan passwordnya apa? Jawabnya sederhana, yaitu tanggal lahir dia. Pantes&#8230; Tetapi akhirnya akun tersebut dapat diambil alih kembali. Perlu waktu beberapa hari untuk [...]]]></description>
			<content:encoded><![CDATA[<p>Beberapa hari lalu akun email Yahoo Bapak saya dibajak oleh orang tak bertanggung jawab, atau dengan kata lain di-<em>hack </em>orang. Ini menyebabkan beliau sama sekali tidak bisa mengakses akun emailnya. Kemudian saya tanyakan passwordnya apa? Jawabnya sederhana, yaitu tanggal lahir dia. Pantes&#8230;<span id="more-247"></span></p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2010/08/email_compromised.jpg"><img class="alignleft size-medium wp-image-253" title="email_compromised" src="http://arif.suparlan.com/wp-content/uploads/2010/08/email_compromised-300x199.jpg" alt="" width="300" height="199" /></a>Tetapi akhirnya akun tersebut dapat diambil alih kembali. Perlu waktu beberapa hari untuk mencoba-coba, juga mengumpulkan informasi tentang <em>secret question</em> dan Yahoo sempat beberapa kali memblokir email tersebut selama 24 jam. Saya perhatikan, Yahoo menyimpan sejarah <em>secret question</em> sebelumnya. Jadi meskipun telah diubah, Yahoo bisa menanyakan lagi secret question yang sebelumnya. Tidak begitu sulit untuk mendapatkan kembali akun tersebut, mungkin karena <em>secret question</em>nya diisi dengan baik. Bahkan saya juga mendapatkan kembali email lama Bapak saya yang di Gmail juga.</p>
<p>Akun email tersebut juga sempat digunakan untuk penipuan. Email <em>scam </em>tersebut dikirimkan kepada beberapa akun email teman-teman Bapak yang terdapat di akun tersebut. Tapi setelah dilihat bagian <em>sent mails</em> tidak satu pun berisi email scam tersebut. Apakah sudah dihapus? atau teknik pengirimannya menggunakan SMTP atau dengan mesin secara otomatis. Apakah ini ulah virus atau trojan? Bila secara otomatis dengan mesin, bagaimana dia mendapatkan password tersebut pertama kali. Bisa jadi, kalau passwordnya tanggal lahir, info tersebut dapat dengan mudah diperoleh dari halaman profil Yahoo.</p>
<p>Beberapa hal yang berubah diakun tersebut yaitu password, <em>secondary email</em> menjadi mailingalert@gmail.com. <em>Secret question</em> kelihatannya juga berubah. Saya sempat melihat Yahoo menanyakan beberapa <em>secret question</em> yang berbeda dengan yang diset oleh Bapak saya.</p>
<p>Tak berhenti sampai disitu saja. Email ini sempat dibajak<em></em> lagi beberapa waktu lalu. Password diubah kembail. Lalu dari mana dia mendapatkan email yang sudah saya ubah dengan yang lebih aman? Sampai saat ini saya belum tahu bagaimana. Saya curiga ada virus atau trojan di Notebook Bapak saya.</p>
<p>Tapi biarlah ini jadi pemberlajaran untuk semua, supaya tidak menggunakan tanggal lahir sebagai password atau PIN. Sekarang Bapak saya menggunakan email dengan domain Suparlan.com. Mungkin relatif lebih personal dan aman. Kemudian email di Yahoo &amp; Gmail dapat di<em>-forward</em> langsung ke email ini.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/08/13/email-yahoo-bapakku-di-hack-orang/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Happy SysAdmin Day!!! Hari Apresiasi System Administrator</title>
		<link>http://arif.suparlan.com/2010/07/31/happy-sysadmin-day-hari-apresiasi-system-administrator</link>
		<comments>http://arif.suparlan.com/2010/07/31/happy-sysadmin-day-hari-apresiasi-system-administrator#comments</comments>
		<pubDate>Sat, 31 Jul 2010 05:37:41 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[happy sysadmin day]]></category>
		<category><![CDATA[hari apresiasi sysadmin]]></category>
		<category><![CDATA[selamat hari sysadmin]]></category>
		<category><![CDATA[sysadmin day]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=229</guid>
		<description><![CDATA[Dialah yang bertanggung jawab atas pencekekan bandwidth. Semua mata tertuju padanya kalau kita tiba-tiba tidak bisa diterima atau kirim email. Orang-orang akan berteriak kalau facebook tidak bisa dibuka. Waktu Internet satu kantor mati, semua staff seolah-olah libur mendadak.  Ketika system tidak berjalan dengan semestinya, dia lah yang pertama akan dicari semua orang. Tetapi orang akan [...]]]></description>
			<content:encoded><![CDATA[<p>Dialah yang bertanggung jawab atas pencekekan bandwidth. Semua mata tertuju padanya kalau kita tiba-tiba tidak bisa diterima atau kirim email. Orang-orang akan berteriak kalau facebook tidak bisa dibuka. Waktu Internet satu kantor mati, semua staff seolah-olah libur mendadak.  Ketika system tidak berjalan dengan semestinya, dia lah yang pertama akan dicari semua orang.<span id="more-229"></span></p>
<p>Tetapi orang akan cepat melupakan jasanya bila semuanya adem anyem. Kemarin, hari Jum&#8217;at terakhir di bulan July, adalah hari &#8220;Apresiasi System Administrator&#8221;, mari kita tidak lupakan jasa-jasanya. Karena dia kita dapat bekerja dengan lancar. Happy Sysadmin Day!!!</p>
<p>P.S. Mas Admin, tolong bukain port YM gue ya, biar gue bisa chatting&#8230; <img src='http://arif.suparlan.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Script PHP di bawah ini untuk mengingatkan kita (<a href="http://arif.suparlan.com/demo/sysadmin_day/sysadmin_day.php" target="_blank">test</a>).</p>
<pre>
<div id="_mcePaste">&lt;h1&gt;SysAdmin Appreciation Day&lt;/h1&gt;
&lt;?php
echo 'This year: '.when_sysadmin_day(date("Y")).'&lt;br /&gt;';
echo 'Next year: '.when_sysadmin_day(date("Y")+1).'&lt;br /&gt;';

function when_sysadmin_day($year)
{
  //check last friday of july
  $sysdate = '';
  for($i=24;$i&lt;=42;$i++)
  {
    if (strtolower(date("D", mktime(0, 0, 0, 7, $i, $year))) == 'fri'
AND date("n", mktime(0, 0, 0, 7, $i, $year))=='7')
      $sysdate = $i;
  }
  if ($sysdate)
    return date("F j, Y", mktime(0, 0, 0, 7, $sysdate, $year));
}
?&gt;</div>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/07/31/happy-sysadmin-day-hari-apresiasi-system-administrator/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download Youtube Video dengan Shell Script (Update)</title>
		<link>http://arif.suparlan.com/2010/07/30/download-youtube-video-dengan-shell-script-update</link>
		<comments>http://arif.suparlan.com/2010/07/30/download-youtube-video-dengan-shell-script-update#comments</comments>
		<pubDate>Fri, 30 Jul 2010 14:50:43 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wget]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=216</guid>
		<description><![CDATA[Bulan lalu Youtube merubah metode untuk link file videonya. Sepertinya dia memang sering merubah link itu, jadi beberapa add-on firefox dan software-software untuk download youtube jadi gagal mendownload. Dan saya sebelumnya pernah ngoprek shell sederhana untuk download video dari Youtube di sini, dan pastinya cara itu juga sudah tidak bisa digunakan lagi. Kita hanya perlu [...]]]></description>
			<content:encoded><![CDATA[<p>Bulan lalu Youtube merubah metode untuk link file videonya. Sepertinya dia memang sering merubah link itu, jadi beberapa add-on firefox dan software-software untuk download youtube jadi gagal mendownload. Dan saya sebelumnya pernah ngoprek shell sederhana untuk download video dari Youtube <a href="http://arif.suparlan.com/2010/04/26/shell-script-untuk-mendownload-youtube-dengan-wget-dan-grep">di sini</a>, dan pastinya cara itu juga sudah tidak bisa digunakan lagi. Kita hanya perlu cari cara yang lain.<span id="more-216"></span></p>
<p>Disini ada cara baru yang bisa digunakan untuk mendownload video dari Youtube. Agak berbeda dari cara yang lama, banyak parameter-parameter yang disertakan di-urlnya. Dan untuk di shell scriptnya perlu tambahan Regex (regular expression) untuk merubah string.</p>
<p>Buka source di browser halaman contoh ini</p>
<p><code>http://www.youtube.com/watch?v=jNQXAC9IVRw</code></p>
<p>Kemudian lakukan pencarian string ini <code>"img.src ="</code> temuan yang pertama, dan seharusnya string tersebut hanya ada satu di halaman itu. Ambil string itu sampai bertemu karakter <code>';</code>.</p>
<p>Kemudian, hanya dengan mengganti semua string ini <code>"\/"</code> menjadi <code>"/"</code>, dan <code>"generate_204"</code> menjadi <code>"videoplayback"</code>, kita akan langsung dapat link untuk videonya. Jalankan url itu di browser akan mendownload video tersebut. Gampang banget kan? Contohnya seperti ini.</p>
<p><code>http://v3.lscache8.c.youtube.com/videoplayback?ip=111.0.0.0&amp;sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&amp;fexp=907103%2C900073%2C901023&amp;algorithm=throttle-factor&amp;itag=34&amp;ipbits=8&amp;burst=40&amp;sver=3&amp;expire=1280523600&amp;key=yt1&amp;signature=6F96527E73C895221DF2D018BB1B8BFFD7FFFAF8.4651E6B8C7F7B0B638D39A41F1439FE4F3314B&amp;factor=1.25&amp;id=8cd417002f48551c</code></p>
<p>Dan untuk shell scriptnya, buat file dengan nama <code>"yt-download.sh"</code>. Scriptnya kira-kira seperti ini:</p>
<pre>#!/bin/bash

if [ $2 ]
then
fn=$2
else
fn=$1.flv
fi

if [ $1 ]
then
  wget -O $1.tmp "http://www.youtube.com/watch?v="$1
  st=$(grep -o "img.src = '.*';" $1.tmp)
  st=${st#img.src = \'}
  st=${st%\';}
  st=${st//\\\///}
  st=${st/generate_204/videoplayback}
  echo "Link:" $st
  echo "File:" $fn

  wget -O $fn "$st"
  rm $1.tmp
else
  echo "Usage: sh yt-download.sh [video_id] [file_name]"
  exit
fi
</pre>
<p>Jalankan shell ini dengan command <code>sh yt-download.sh jNQXAC9IVRw</code> atau seperti ini <code>bash yt-download.sh jNQXAC9IVRw</code> untuk di Ubuntu. Di mana <code>"jNQXAC9IVRw"</code> adalah video id. Hasil downloadnya adalah file jNQXAC9IVRw.flv.</p>
<p>Saya kurang lihai untuk masalah Regex, jadi kalau ada Regex yang lebih baik bisa dipost di sini. Thx.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/07/30/download-youtube-video-dengan-shell-script-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosting Email di Google Apps</title>
		<link>http://arif.suparlan.com/2010/07/13/hosting-email-di-google-apps</link>
		<comments>http://arif.suparlan.com/2010/07/13/hosting-email-di-google-apps#comments</comments>
		<pubDate>Mon, 12 Jul 2010 17:29:29 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google apps]]></category>
		<category><![CDATA[host email]]></category>
		<category><![CDATA[mx]]></category>
		<category><![CDATA[MX entry]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=183</guid>
		<description><![CDATA[Mungkin banyak yang belum tau bahwa Google Apps memberikan layanan hosting email untuk domain kita secara gratis. Ini bukan hal baru sih, &#8211;berarti yang baru tau katrok! hehehe. Layanan ini sudah agak lama, saya sendiri sudah memakainya sejak tahun lalu. Lumayan banget untuk yang punya banyak domain dan memegang banyak email, saya tinggal hosting di [...]]]></description>
			<content:encoded><![CDATA[<p>Mungkin banyak yang belum tau bahwa Google Apps memberikan layanan hosting email untuk domain kita secara gratis. Ini bukan hal baru sih, &#8211;berarti yang baru tau katrok! hehehe. Layanan ini sudah agak lama, saya sendiri sudah memakainya sejak tahun lalu. Lumayan banget untuk yang punya banyak domain dan memegang banyak email, saya tinggal hosting di Google Apps dan arahkan email-email tersebut ke email utama saya. Dan yang penting ga perlu pusing dengan kehabisan space, sebab Google menyediakan space lumayan besar.<span id="more-183"></span></p>
<p>Saya dulu tau ini dari Pak Uut. Pertama emang ga langsung nyoba sih, terus baru mulai pakai, waktu sudah mulai banyak pegang banyak domain. Ditambah lagi saya menggunakan tiga komputer bergantian, PC kantor, dan dua notebook, dan aplikasi email client seperti Outlook cukup bikin menyita waktu apalagi kalo sudah berhubungan dengan backup-restorenya. Ditambah lagi aplikasi email seperti Squirrel, halah. Siapa sih yang ga benci dengan aplikasi webmail seperti Squirrel atau Horde.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2010/07/gmail01.jpg"><img class="alignleft size-thumbnail wp-image-194" title="gmail01" src="http://arif.suparlan.com/wp-content/uploads/2010/07/gmail01-150x150.jpg" alt="POP3 Gmail" width="150" height="150" /></a>Beberapa teman saya bilang ini terlalu ribet. Mungkin tidak semua setuju dengan saya bahwa ini sangat membatu. Mungkin mereka ga pernah megang banyak email. Saya punya dua email utama di Yahoo dan Gmail, selain itu ada sekitar 10 email lagi kebanyakanya di hosting di Google, yang ditarik lewat pop3 ke email utama tadi. Jadi sehari-hari saya hanya perlu buka dua email utama tadi. Tapi sayangnya satu akun Gmail saat ini hanya diperbolehkan sekitar lima POP3.</p>
<p>Jadi buat yang belum tau caranya menghosting email di Google Apps, mari kita coba. Pertama yang perlu dipersiapkan adalah punya nama domain sendiri. Artinya ada akses untuk merubah MX record, yang bisa dilakukan melalui CPanel atau setting DNS pada domain control panel.</p>
<p>Kedua, daftar di Google Apps di sini: http://www.google.com/a/cpanel/domain/new. <code>I want to use an existing domain name</code>. Masukkan nama domain kemudian lanjutkan pendaftaran.</p>
<pre>Google Apps requires changes to DNS to properly set up services. Learn more
* I understand that if I cannot alter DNS records for my domain,
I may impact my organization's ability to use Google Apps.
</pre>
<p>Centang bila setuju. Kemudian lanjutkan proses pendaftaran. Kemudian buat akun Google Apps pertama untuk domain tersebut.</p>
<p><a href="http://arif.suparlan.com/wp-content/uploads/2010/07/google-apps01.jpg"><img class="alignleft size-thumbnail wp-image-199" title="google-apps01" src="http://arif.suparlan.com/wp-content/uploads/2010/07/google-apps01-150x150.jpg" alt="Google Apps Dashboard" width="150" height="150" /></a>Ketiga. Setelah pendaftaran selesai, untuk mengaktifkan diharuskan untuk memverifikasi domain tersebut. Di atas menu Dashboard ada tulisan <code>To activate Google Apps services you must verify that you own your domain...</code>. Cara yang termudah dengan mengupload sebuah file HTML. Sistem akan memberi sebuah kode yang harus ditulis didalam file &#8216;googlehostedservice.html&#8217;. Upload file tersebut dan pastikan dapat diakses di http://namadomain.com/googlehostedservice.html. Selesai kan proses verifikasi domain.</p>
<p>Keempat, aktifkan email pada menu dashboard. Disini akan diarahkan untuk mengubah MX entry domain. Banyak caranya dan itu tergantung pada Control Panel yang dipakai. Untuk yang termudah kita coba untuk CPanel. Setelah login CPanel, klik menu MX entry. Di bawah <code>Change MX Entry</code> pilih domain yang akan dipakai. Buat MX entry atau bila MX sudah ada, maka tinggal diedit saja. Isinya sebagai berikut:</p>
<pre>priority 0
destination aspmx.l.google.com
</pre>
<p>Kalo perlu tambahkan satu lagi.</p>
<pre>priority 10
destination alt1.aspmx.l.google.com
</pre>
<p>Perubahan ini kadang memerlukan waktu agak lama untuk resolve kadang bisa berjam-jam. Halaman webmail tadi bisa diakses melalui url berikut <code>http://mail.google.com/a/namadomain.com</code>. Supaya gampang di Google apps juga terdapat fitur untu menyetting url webmail tadi misalnya jadi <code>webmail.namadomain.com</code>. Untuk ini harus merubah di CNAME record.</p>
<p>Selanjutnya melakukan setting pada control panel Google Apps. Ini sangat mudah, kamu bisa nambah akun email baru dan mengakses fitur-fitur lainnya seperti Google Docs, Calendar, Chats, dan lain-lainnya. Selamat mencoba.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/07/13/hosting-email-di-google-apps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wow WP3 Keren</title>
		<link>http://arif.suparlan.com/2010/07/11/wow-wp3-keren</link>
		<comments>http://arif.suparlan.com/2010/07/11/wow-wp3-keren#comments</comments>
		<pubDate>Sat, 10 Jul 2010 17:13:39 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=168</guid>
		<description><![CDATA[Sudah lama ga mampir kemari, ternyata ada yang perlu di-upgrade CMS-nya. Sekali klik langsung otomatis upgrade ke WP3. Sekali klik lagi, langsung upgrade plugin-pluginnya. Cukup mantab juga ni CMS, dashboardnya keren, DBnya ringkes, pluginnya banyak. Tapi sayang, theme yang saya pake sudah jadul banget hehehe&#8230; Themenya cupu abis, maklum masih belajar. Kapan ya bisa luangin [...]]]></description>
			<content:encoded><![CDATA[<p>Sudah lama ga mampir kemari, ternyata ada yang perlu di-upgrade CMS-nya. Sekali klik langsung otomatis upgrade ke WP3. Sekali klik lagi, langsung upgrade plugin-pluginnya. Cukup mantab juga ni CMS, dashboardnya keren, DBnya ringkes, pluginnya banyak. Tapi sayang, theme yang saya pake sudah jadul banget hehehe&#8230;<span id="more-168"></span></p>
<p>Themenya cupu abis, maklum masih belajar. Kapan ya bisa luangin sedikit waktu untuk bikin theme yang agak mendingan? Blog punya bini juga masih pake theme gratisan. Hadoh, banyak banget PR-nya.</p>
<p>Dan lagi, setelah liat-liat daftar postingan, ternyata banyak juga postingan yang masih draft, belum di-publish, kadang-kangan hanya judulnya aja, hihihi&#8230; Ampun dah. Tapi ini bukan menunjukkan bahwa saya pemalas, saya hanya sedang rajin mengerjakan hal yang lain. <img src='http://arif.suparlan.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/07/11/wow-wp3-keren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ayo Belajar!!!</title>
		<link>http://arif.suparlan.com/2010/07/06/ayo-belajar</link>
		<comments>http://arif.suparlan.com/2010/07/06/ayo-belajar#comments</comments>
		<pubDate>Tue, 06 Jul 2010 16:28:53 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[belajar]]></category>
		<category><![CDATA[semangat]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=162</guid>
		<description><![CDATA[Suatu hari ada seorang teman lama, chatting &#8211;mengeluh, katanya dia ingin berlajar, tapi ga bisa. Dia berlasan karena ga ada yang bisa ditanya-tanyain. Huhh?? hari gini? kan ada om gugel dan di forum-forum banyak yang bertanya dan menjawab. Ilmu-ilmu itu bertebaran di Internet. Website-website banyak yang menyediakan tutorial-turorial dan banyak juga yang memanfaatkan Youtube untuk [...]]]></description>
			<content:encoded><![CDATA[<p>Suatu hari ada seorang teman lama, chatting &#8211;mengeluh, katanya dia ingin berlajar, tapi ga bisa. Dia berlasan karena ga ada yang bisa ditanya-tanyain. Huhh?? hari gini? kan ada om gugel dan di forum-forum banyak yang bertanya dan menjawab. Ilmu-ilmu itu bertebaran di Internet. Website-website banyak yang menyediakan tutorial-turorial dan banyak juga yang memanfaatkan Youtube untuk tutorial jenis visual. Ya, tinggal pilih mana yang mau dipelajari, &#8211;yang bermanfaat. <span id="more-162"></span></p>
<p>Kadang kala kita terlalu manja dan banyak cing-cong, padahal semuanya sudah tersedia di depan hidung, kita hanya perlu tekun dan rajin. Contohnya, kenapa harus menunggu punya sebuah Mac untuk belajar desain grafis? Padahal komputer seadanya cukup untuk memulai banyak hal. Mungkin lain halnya kalau sudah cukup mahir, tapi kenyataannya teman-teman saya yang jago grafik desain sebagian masih &#8216;ngirit&#8217; pake Windows.</p>
<p>Malulah sama adik-adik kita di kampung yang punya semangat belajar tinggi, -belajar dengan alat tulis seadanya, bersendal jepit di sekolah yang beratapkan langit. Mereka hidup pas-pasan, tapi bahagia, dan mau belajar. Malu kalo kita cukup sarana dan prasarana hanya duduk bermalas-malasan. Contoh lagi, kadang-kadang ngeluh punya komputer pake Windows, tapi mau belajar Linux kerepotan, berharap ingin punya komputer satu lagi untuk diinstal Linux. Eh, setelah punya komputer lagi malah diinstal Windows lagi. Amit-amit deh. Dan ini terjadi sama saya sendiri. Hehehe&#8230;</p>
<p>Anyway, untuk yang mau belajar Linux tanpa harus mengorbankan segalanya, pake aja software virtualisasi seperti VMware atauu Virtualbox, kita bisa install OS di atas OS. Ini bukan barang baru, jadi jangan banyak cing-cong, langsung aja install distro Linux kesayanganmu di atas Windows yang paling dibenci, kemudian opreklah sepuasnya. Bisa mulai belajar commandnya, administrasi linux, programming, database, jaringan, dan lain-lain. Ga tau cara installnya? Bila ada pertanyaan silakan tanya om gugel dia ready 24 jam.</p>
<p>Btw, tulisan ini sebenarnya untuk saya sendiri yang selalu hilang semangat belajar. Ayo belajar!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/07/06/ayo-belajar/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell Script untuk Mendownload Youtube dengan Wget dan Grep</title>
		<link>http://arif.suparlan.com/2010/04/26/shell-script-untuk-mendownload-youtube-dengan-wget-dan-grep</link>
		<comments>http://arif.suparlan.com/2010/04/26/shell-script-untuk-mendownload-youtube-dengan-wget-dan-grep#comments</comments>
		<pubDate>Mon, 26 Apr 2010 16:27:56 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Iseng]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wget]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=159</guid>
		<description><![CDATA[Awalnya hanya liat-liat script python untuk mendonlod video dari Youtube.com, di sini. Tapi saya sama sekali ga ngerti python, -males lah, pusing lah, ga sempet belajar lah, nanti lah kapan-kapan belajar python, banyak alasan. Tapi seru juga loh dengan sedikit ngoprek, jadilah versi sederhana shell (bash) script untuk mendownload video dari Youtube. Hehehe norak ya? [...]]]></description>
			<content:encoded><![CDATA[<p>Awalnya hanya liat-liat script python untuk mendonlod video dari Youtube.com, <a href="http://bitbucket.org/rg3/youtube-dl/wiki/Home" target="_blank">di sini</a>. Tapi saya sama sekali ga ngerti python, -males lah, pusing lah, ga sempet belajar lah, nanti lah kapan-kapan belajar python, banyak alasan. Tapi seru juga loh dengan sedikit ngoprek, jadilah versi sederhana shell (bash) script untuk mendownload video dari Youtube. Hehehe norak ya? Padahal sudah banyak software seperti ini.<span id="more-159"></span></p>
<p>Buat yang belum tau, sebenarnya guuuaampang banget, hanya perlu tau link mana yang benar-benar video filenya. Saat ini ditulis, file video tersebut bisa didapat dengan menggunakan url &#8220;http://www.youtube.com/get_video?&#8221; dengan variable GET &amp;video_id dan &amp;t. Kalo ini ga jalan, kemungkinan besar ada perubahan dibagian itu di Youtube.</p>
<p>Cara kerjanya seperti ini. Dari url di bawah ini, ada nilai variable untuk &amp;video_id yang nilainya sama saja dengan &#8220;?&amp;v=&#8221; yaitu &#8220;jNQXAC9IVRw&#8221;.</p>
<p><code>http://www.youtube.com/watch?v=jNQXAC9IVRw</code></p>
<p>Kemudian buka source halaman youtube tadi di browser. Cari string ini &#8220;&amp;t=&#8221; dan ambil isi variable tersebut seperti ini.</p>
<p><code>&amp;t=vjVQa1PpcFO54PiDrAbT7aN25v9TCLrbRai9DKUR6DQ%3D</code></p>
<p>Gabungkan semuanya, jadi url ini adalah video file-nya &#8211;yang dapat di-download.</p>
<p><code>http://www.youtube.com/get_video?video_id=jNQXAC9IVRw&amp;t=vjVQa1PpcFO54PiDrAbT7aN25v9TCLrbRai9DKUR6DQ%3D</code></p>
<p>Untuk mempermudah pekerjaan, buat file .sh dan tulis shell script berikut</p>
<p><code>~$ vim yt-download.sh</code></p>
<p><code>[ Cara dan Script ini tidak bisa digunakan lagi. Untuk update kunjungi: <a href="http://arif.suparlan.com/2010/07/30/download-youtube-video-dengan-shell-script-update">http://arif.suparlan.com/2010/07/30/download-youtube-video-dengan-shell-script-update</a> ]</code></p>
<p>Jalankan shell script tadi</p>
<p><code>~$ sh yt-download.sh jNQXAC9IVRw</code></p>
<p>Nanti, hasilnya downloadnya akan menghasilkan file <code>jNQXAC9IVRw.flv. </code>Gampang kan? Selamat ngoprek!</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2010/04/26/shell-script-untuk-mendownload-youtube-dengan-wget-dan-grep/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resize &amp; Crop Gambar Proporsional di Codeigniter</title>
		<link>http://arif.suparlan.com/2009/09/11/resize-crop-gambar-proporsional-di-codeigniter</link>
		<comments>http://arif.suparlan.com/2009/09/11/resize-crop-gambar-proporsional-di-codeigniter#comments</comments>
		<pubDate>Fri, 11 Sep 2009 06:38:13 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[gambar]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[maintain_ratio]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[scale]]></category>
		<category><![CDATA[skala]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=137</guid>
		<description><![CDATA[Beberapa hari yang lalu saya memerlukan sebuah class atau library yang sederhana untuk melakukan upload gambar dan sekaligus menyesuaikan ukuran yang saya mau. Dulu saya pernah buat fungsi yang sama, waktu pertama kali kenal GD-nya PHP. Tapi sudah lupa bentuknya gimana. Yang sekarang saya buat adalah library extension untuk Codeigniter. Codeigniter sudah punya library untuk [...]]]></description>
			<content:encoded><![CDATA[<p>Beberapa hari yang lalu saya memerlukan sebuah class atau library yang sederhana untuk melakukan upload gambar dan sekaligus menyesuaikan ukuran yang saya mau. Dulu saya pernah buat fungsi yang sama, waktu pertama kali kenal GD-nya PHP. Tapi sudah lupa bentuknya gimana. Yang sekarang saya buat adalah library extension untuk Codeigniter.<span id="more-137"></span></p>
<p>Codeigniter sudah punya library untuk upload, jadi upload tidak perlu dibahas lagi. Codeigniter juga sudah punya class untuk memanipulasi gambar diantaranya untuk melakukan Image Resizing, Thumbnail Creation, Image Cropping, dan lain-lain. Tapi untuk melakukan perubahan ukuran gambar dengan skala yang proporsional dengan ukuran yang spesifik, agak sedikit ada hitung-hitungannya.</p>
<p>Pertama kali, dengan membandingkan rasio ukuran awal dan ukuran yang baru, dapat menentukan menggunakan x atau y untuk menjaga proporsi gambar. Kalau mau meng-crop tepat di tengah-tengah gambar, maka axis x dan y juga ikut dihitung. Kecuali kalau cropnya mau dilakukan dari sebelah kiri-atas, axisnya tinggal diset x=0 &amp; y=0. Lebih jelasnya lihat code-nya (my_image.php).</p>
<pre>&lt;?php
if (!defined('BASEPATH')) exit('No direct script access permitted.');

class My_image
{
	var $CI;
	function My_image()
	{
    //parent::CI_Image_lib();
  }  

	function resize_crop($config, $resize_width=200, $resize_height=200)
	{
    if ($config)
    {
      $CI =&amp; get_instance();

      $CI-&gt;load-&gt;library('image_lib');
      $CI-&gt;load-&gt;library('baseintencoder');

      $img_size = getimagesize($config['source_image']);

      $t_ratio = $resize_width/$resize_height;
      $o_width = $img_size[0];
      $o_height = $img_size[1];
      if ($t_ratio &gt; $o_width/$o_height)
      {
        $config['width'] = $resize_width;
        $config['height'] = round( $resize_width * ($o_height / $o_width));
        $y_axis = round(($config['height']/2) - ($resize_height/2));
        $x_axis = 0;
      }
      else
      {
        $config['width'] = round( $resize_height * ($o_width / $o_height));
        $config['height'] = $resize_height;
        $y_axis = 0;
        $x_axis = round(($config['width']/2) - ($resize_width/2));
      }

      $source_img01 = $config['new_image'];

      $CI-&gt;image_lib-&gt;clear();
      $CI-&gt;image_lib-&gt;initialize($config);
      $CI-&gt;image_lib-&gt;resize();

      $config['image_library'] = 'gd2';
      $config['source_image'] = $source_img01;
      $config['create_thumb'] = false;
      $config['maintain_ratio'] = true;
      $config['width'] = $resize_width;
      $config['height'] = $resize_height;
      $config['y_axis'] = $y_axis ;
      $config['x_axis'] = $x_axis ;

      $CI-&gt;image_lib-&gt;clear();
      $CI-&gt;image_lib-&gt;initialize($config);
      $CI-&gt;image_lib-&gt;crop();

      return $config['new_image'];
    }
  }
}

?&gt;</pre>
<p>Memanggil fungsinya seperti ini:</p>
<pre>$config['image_library'] = 'gd2';
$config['source_image'] = $nama_source_image;
$config['new_image'] = $nama_hasil_image;

$this-&gt;load-&gt;library('my_image');
$this-&gt;my_image-&gt;resize_crop($config, '100', '200');</pre>
<p>Saya termasuk noob di Codeigniter, mohon ma&#8217;af kalau ada yang salah tolong dikoreksi&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2009/09/11/resize-crop-gambar-proporsional-di-codeigniter/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mencoba Komodo Edit</title>
		<link>http://arif.suparlan.com/2009/08/31/mencoba-komodo-edit</link>
		<comments>http://arif.suparlan.com/2009/08/31/mencoba-komodo-edit#comments</comments>
		<pubDate>Mon, 31 Aug 2009 02:41:51 +0000</pubDate>
		<dc:creator>Arif</dc:creator>
				<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[komodo edit]]></category>
		<category><![CDATA[notepad++]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[text editor]]></category>

		<guid isPermaLink="false">http://arif.suparlan.com/?p=128</guid>
		<description><![CDATA[Mulai hari ini gue mencoba-coba editor alternatif lain selain Notepad++ yang selama ini sudah menemani coding di kala suka dan duka. Hehehe&#8230; Notepad++ sebenarnya cukup tahan banting dan untuk kecepatan gue sangat merekomendasikannya. Fiturnya cukup banyak dan mudah terbiasa dengan software editor ini, tapi sayang sekali dia ga punya fitur untuk SFTP.Notepad++ hanya punya plug-in [...]]]></description>
			<content:encoded><![CDATA[<p>Mulai hari ini gue mencoba-coba editor alternatif lain selain Notepad++ yang selama ini sudah menemani coding di kala suka dan duka. Hehehe&#8230; Notepad++ sebenarnya cukup tahan banting dan untuk kecepatan gue sangat merekomendasikannya. Fiturnya cukup banyak dan mudah terbiasa dengan software editor ini, tapi sayang sekali dia ga punya fitur untuk SFTP.<span id="more-128"></span><a href="http://notepad-plus.sourceforge.net/uk/site.htm" target="_blank">Notepad++</a> hanya punya plug-in untuk FTP. Sedangkan untuk keperluan kantor saat ini sedang sangat dibutuhkan fitur SFTP atau SSH FTP tersebut untuk mengedit secara remote. Beberapa saran untuk menggabungkan penggunaannya dengan <a href="http://winscp.net/eng/index.php" target="_blank">WinSCP</a> atau <a href="http://filezilla-project.org/" target="_blank">Filezilla</a> sudah dicoba dan sebenarnya dari zaman dulu juga sudah di-set Notepad++ jadi default editor-nya Filezilla. Dengan cara ini, untuk mengedit beberapa file secara remote lumayan cukup membantu, tapi gue rasa ga efisien kalau untuk banyak file atau men-develop sebuah projek secara remote.</p>
<p><a href="http://www.activestate.com/" target="_blank">Komodo Edit</a> adalah aplikasi free/open source buatan ActiveState Canada, gue pilih dari beberapa text editor free yang lain untuk dicoba. Masih sangat awal untuk menilainya. Sudah dicoba untuk mengedit file html dan php dan kayaknya layak untuk dicoba. Misalnya fitur dasar yang harus ada seperti, line numbers, folding, tab/space indent, font &amp; color, vertical selection, commenting, normal search, regex &amp; incremental search, dan lain-lain. Editor ini juga punya Code Intelligent untuk autocomplete dan support untuk berbagai macam bahasa pemrograman.</p>
<p>Sedangkan fitur FTP/SFTP Komodo Edit versi 5 ini sangat sederhana, hanya koneksi ke server, kemudian untuk membuka file di remote server, ga ada explorer untuk file folder di remote server. Di bagian <em>Preference</em> &gt; <em>Server</em> disediakan fitur untuk menyimpan akun FTP/SFTP. Tapi untuk fungsi meng-explore remote server harus ditambah solusi add-on seperti <a href="http://community.activestate.com/xpi/jstreedrive" target="_blank">JSTreeDrive </a>dan <a href="http://community.activestate.com/xpi/remote-drive-tree">Remote Drive Tree</a>. Dan satu lagi kelebihan Komodo Edit, dia itu cross-platform, bisa di Windows, Linux dan Mac.</p>
]]></content:encoded>
			<wfw:commentRss>http://arif.suparlan.com/2009/08/31/mencoba-komodo-edit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
