Saturday, December 26, 2009

Verifying your wordpress.com blog on google webmaster central

Google webmaster is one of google's great application for every webmaster's to dig more on their on websites. Especially if the webmaster wanted to know how google bot sees their website. There we can see what does most people on our websites query for. Also, we can see which other websites that provide links to our website. Want to see it more clearly ? just open webmaster.google.com and type in your gmail's account to log in.

In google webmaster, first you need to register your own site, and then verifies that the site belongs to you. Google provides 2 mechanism for verifying your site. The first method asked the webmaster to add a new html page with some random name provided by google. We must upload it into our site directory and then ask google to verify it. The second method is to add meta tag in your website. If you're using free blog from wordpress, using wordpress.com domain, you will not be able to do the first verification method. Your best bet is to use the second one, which will be explained below.




After you add new site to google webmaster, it then brings you to a verification screen. Here, you choose Meta-tag for verification method.
Copy paste the meta-tag provided by google, and then go to your admin page of your wordpress.com blog.

In your admin dashboard for wordpress.com, go to menu Tools located on left bottom of your page. There should be a page written Webmaster tools Verification on center pane. Paste your Meta-tag there, and dont forget to Save changes.




Back to your google webmaster page, click Verify. After 10-15 minutes, check back to see if it's already verified.

Simple isn't ? First time I try this tools, I spent several hour to find the best verification methods in my wordpress.com, and suddenly when I click the Tools link in my admin dashboard, I found the one I looking for, google webmaster verification, and there it is :)

My other blog is at http://theprasojos.wordpress.com , how about you ?

Monday, May 18, 2009

Quick guide on UNIX task scheduling with at and batch command

While task scheduling in UNIX commonly uses Crontab facilities, UNIX based system (actually, Windows provide it too, at.exe) also provide at command. Both related to the same area, task scheduling. While Crontab aims to schedule a recurring command (every minutes, every month, every week, etc), at command aims to schedule a task that run once, with specific time arguments. Here’s one example of how we can schedule a task with at command:

$ at now + 1 hour <>&1 > outfile | mailx mygroup
!

commands will be executed using /bin/tcsh
job 1242637613.s at Mon May 18 16:06:53 2009

As we can see from the example above, we want to schedule a task to be executed 1 hour from now, and the task to be executed is diff file1 file2 2>&1 > outfile | mailx mygroup. The at command then returns the job id, which we will able to list all the queueing at command using atq or at –l below:

$ atq
Rank Execution Date Owner Job Queue Job Name
1st May 18, 2009 17:06 minsat 1242637774.a a stdin

$ at -l
1242637774.a Mon May 18 16:18:45 2009

From above we can see that there are only 1 jobs queuing at queue named ‘a’ (this is special queue name for at, and it is used to distinguish between the job executed by at and batch command). We can also see that the execution time will be May 18, 2009 17:06.

And to cancel the scheduled at command, we use atrm or at –r command as follows:

$ atrm 1242637774.a
1242637774.a: removed

$ at -r 1242637774.a
1242637774.a: removed

There are lots of other parameter we can use for describing the time parameter and how to execute the at command which is I found it quite ‘human readable’. Here’s some list of other possible parameter we can use:

1. Direct time
$ at 01.30
$ at 0815am Jan 24
$ at 5 pm FRIday
2. Now keyword
$ at now + 1 minutes
$ at now + 1 hours
$ at now "+ 1day"
3. Tomorrow keyword
$ at 0830 tomorrow
4. Noon keyword
$ at noon tomorrow
5. Midnight keyword
$ at midnight tomorrow
6. Week keyword
$ at 2pm next week
7. Piped with other command
$ echo "mail -s 'REMINDER: Task Scheduler samples' lintang.jp@gmail.com" | at '5/18/2009 10:00AM'
8. Putting the job inside a file
$ at –f runScript.sh now + 1 hour
9. Sending an email after the job is completed
$ at –m –f runScript.sh now + 1 hour
10. Using another shell instead of the user’s default shell for execution
$ at –c –f runScript.sh now + 1 week // C Shell
$ at –k –f runScript.sh now + 1 week // Korn Shell
$ at –s –f runScript.sh now + 1 week // Bourne Shell

Several behaviors and conditions that must be known when running at command as follows:

1. All environment variables, current working directory, file creation mask, and system resource limits during at utility execution will be retained and used when the at job is executed. So it’s different with Crontab where we have to set our environment variables manually to be called inside our script execution.
2. The default shell environment to be used during execution is the user’s default shell, listed in /etc/passwd.
3. Any users that is allowed or forbidden to use at command are listed in the following file :

1. /usr/lib/cron/at.deny // denied user
2. /usr/lib/cron/at.allow // allowed user

If the file does not exist, for example: at.allow file does not exist, means that all users are allowed to use at command.

While batch command is similar with at -q b -m now commands. Meaning that the batch command will use different queue with at (special queue named ‘b’), and by default it will send a report via email. It will also execute right away. If the queue is full, then the command will have to wait to be executed one by one.

Resource : 1. Unix at man pages, with some slang modifications :p

Fiuh, alhamdulillah, that was hard to wrote :D

Tuesday, January 13, 2009

Telco Billing #2, Interconnect that matters...

Ok, sekarang penentuan tarif interkoneksi.
Sejak tahun 2007, Indonesia menganut sistem Cost Based Interconnection (kalau di dunia lebih dikenal dengan Bottom Up-Long Run Incremental Cost, dan saat ini konsultan nya buat negara kita yaitu Ovum, yang merekomendasikan sistem Cost Based ini di Indonesia ). Ilustrasi di paragraf ketiga akan mencoba menjelaskan dengan bahasa manusial normal, tentang bagaimana sistem ini bekerja. Intinya adalah, semua variable yang berpengaruh dalam pembuatan sebuah panggilan, akan diperhitungkan di dalamnya. Seperti kita ketahui, ketika kita membuat suatu panggilan suara ( baca: nelpon ), di dalamnya kita melibatkan BTS, BSC, MSC, dan IN dari operator. Dan begitu juga ketika panggilan kita disampaikan ke nomer tujuan, komponen yang terlibat kurang lebih sama. Nah, semua komponen tersebut memiliki biaya produksi, termasuk diperhitungkan juga biaya penyusutannya. Hasilnya adalah tariff interkoneksi, lokal, SLJJ, dan Internasional, per menit, untuk durasi yang lebih dari 5 detik. Artinya, call yang melibatkan interkoneksi kurang dari 5 detik, tidak akan di charge. Kenapa 5 detik ? karena nilai ini dianggap sebagai waktu maksimum yang dibutuhkan agar perangkat-perangkat interkoneksi antar operator dapat berbicara satu sama lain. Kalau bisa kurang dari itu ya bagus, kalau tidak, kemungkinan besar anda akan dapat drop call.

Lalu apa untungnya memakai sistem Cost Based ini ? Syahdan pada jaman dahulu kala, terdapat duopoli sektor telekomunikasi di Indonesia, yep, Telkom dan Indosat. Seluruh traffik interkoneksi antar operator, haruslah transit melalui kedua operator ini, baik lokal, SLJJ, maupun internasional. Karena cuma dua operator ini, maka yang menentukan harga ya terserah yang jualan, ya tho ? Sampai akhirnya pada tahun 2006, muncullah peraturan menkominfo tentang pemberlakuan sistem interkoneksi yang baru. Peraturan ini memungkinkan operator untuk membuat interkoneksinya sendiri, atau tetap transit lewat dua operator tadi. Efeknya ? biaya interkoneksi jadi bisa bersaing ( baca: turun ). Kok bisa ? ya karena kalau ada dua operator membuat interkoneksi satu sama lain, dan ternyata cost nya lebih murah daripada transit ke dua operator duopolist diatas, ya kenapa tidak ? Sebaliknya, operator duopolist tentu akan pikir-pikir lagi kalau memasang tariff, kalau interkoneksi direct lebih murah, maka dagangan mereka nggak ada lagi yang beli dong, ya kan ? Imbas turunnya tariff interkoneksi ini juga sampai ke pelanggan seperti kita. Karena tariff interkoneksi turun, akibatnya tariff retail juga turun deh. Seperti judul diatas, kalau tidak ada interkoneksi, kita akan kuper, apalagi kalau kita operator baru.

Seperti uraian diatas, di dalam billing interkoneksi, juga dikenal istilah sambungan lokal, dan sambungan jarak jauh (SLJJ) seperti di billing retail. Bedanya, kalau di billing retail, penentuan lokal dan SLJJ didasarkan pada POC pemanggil dan penerima. Kalau POC nya sama, maka dihitung tariff lokal, dan kalau berbeda maka dihitung tariff SLJJ. Misal, kalau kita telpon dari Bandung yang POC nya 022 (Ingat, POC kira-kira sama dengan kode area, well...more or less) ke Bandung juga, maka tariffnya adalah lokal. Kalau dari Bandung ke Jakarta ( 021 ) maka tariffnya adalah interlokal (SLJJ), karena POC nya berbeda.
Nah, kalau di billing interkoneksi, penentuan lokal dan SLJJ agak sedikit berbeda. Di billing interkoneksi, yang berpengaruh adalah POI operator caller, dan POC operator yang dituju. Sebuah call diperhitungkan lokal, jika POI nya sama dengan POC tujuan. Misal, operator X dan Y membuat titik interkoneksi ( POI ) di Surabaya. Lalu ada pelanggan operator X dari Mojokerto misalnya, menelpon saudaranya yang berlangganan operator Y di Surabaya. Maka biaya interkoneksinya akan menjadi lokal. Kenapa ? karena POI operator X dan Y berada di Surabaya, dan operator tujuan ( operator Y ) adalah di Surabaya, POI = POC tujuan. Sedangkan si pengguna operator X di Mojokerto tadi, terkena charge tariff retail SLJJ, karena POC pemanggil != POC tujuan. Disinilah perbedaan mendasar antara billing retail dan billing interkoneksi.
Billing Retail ( billing yang dikenakan pada pelanggan ) :
1. Lokal, jika POC A = POC B
2. SLJJ, jika POC A != POC B
Billing interkoneksi ( billing antar operator ) :
1. Lokal, jika POI A = POC B
2. SLJJ, jika POI A != POC B

Lalu bagaimana dengan tariff interkoneksi untuk internasional call ( SLI ) ? Seperti yang kita ketahui, kini ada 3 operator yang memiliki lisensi untuk SLI ini, Telkom, Indosat, dan BTel. Artinya, mau tidak mau, operator yang ada haruslah memiliki perjanjian transit dengan salah satu dari 3 operator ini. Dari sini, tariffnya adalah tariff per-negara. Dan biasanya, operator-operator yang lain tinggal membundling tariff SLI dari operator pemilik lisensi SLI ini, ke dalam tariff retail mereka, dan sistemnya adalah komisi. Biaya interkoneksi dibayarkan penuh, namun untuk tiap panggilan yang melewati sistem interkoneksi operator pemilik lisensi SLI tadi, operator pemanggil akan mendapatkan komisi, yang besarnya tentu saja tergantung dari volume traffik yang dilewatkan. Begitu juga dengan panggilan masuk dari luar negeri. Trafficnya juga hanya bisa melalui 3 operator SLI tadi, dan tariffnya tergantung perjanjian antara operator SLI dengan operator penerima panggilan yang sebenarnya.

Kira-kira demikianlah proses interkoneksi. Mungkin di lain kesempatan akan dibahas tentang billing retail. Any comments ? please wrote it down.

Saturday, January 10, 2009

Telco Billing #1, Interconnect that matters...

Seperti disebutkan dalam judul diatas, bidang interkoneksi adalah bidang yang sangat berpengaruh dalam kelangsungan operasional sebuah operator, terutama buat operator non incumbent. Bagaimana tidak, bagi operator baru, tidak ada interkoneksi berarti tidak terhubung ke jaringan lain, pelanggan tidak akan bisa bertelpon/ber-sms ke operator lain ( terutama jika operator itu incumbent ), dan ini vital sekali. Peraturan Menkominfo tentang interkoneksi ini bisa di unduh disini .
Dalam bidang interkoneksi dikenal istilah-istilah berikut :
1. POC (Point of Charge)
Kalau jaman PSTN(telpon rumah kabel) hanya ada cuma Telkom saja seperti dulu, POC ini kita kenal dengan istilah kode area. Katakanlah Mojokerto, maka kode area nya 0321, Surabaya, 031, dst. Seiring dengan waktu, muncullah telepon seluler, yang untuk menentukan POC nya sebenarnya lebih sulit, karena sifatnya yang mobile dan dapat berpindah-pindah, akibatnya POC untuk telepon seluler ini tidak menyerap 100% dari POC milik PSTN dan FWA(telepon cdma yang non seluler, seperti flexi, esia, hepi). POC ini adalah basis yang digunakan untuk menentukan dimana lokasi penelpon dan penerima telpon.
2. POI (Point of Interconnection)
Adalah titik dimana alur traffic mengarah masuk atau keluar, dari network lokal milik operator yang bersangkutan, menuju ke network milik operator lain. Kita akan lebih mudah memahami ini dengan contoh kasus, yang akan diulas lebih lanjut di bawah. Yang jelas, semakin banyak kita memiliki POI dengan operator lain (dan yang ter-utilisasi dengan optimal tentunya ) maka cost interkoneksi ini akan jauh lebih bisa ditekan.
3. Originasi
Adalah titik dimana alur traffic berasal.
4. Transit
Adalah titik dimana alur traffic disalurkan melalui network operator lain, untuk kemudian bisa sampai ke tujuan. Bayangkan ini seperti ketika kita memaketkan barang lewat tiki. Tiki adalah titik transit pertama kita, untuk kemudian bisa sampai ke tujuan.
5. Terminasi
Adalah titik dimana alur traffic berakhir di tujuan.
Ke-lima komponen ini berpengaruh penting dalam penentuan tarif biaya interkoneksi, yang pada ujungnya juga akan mempengaruhi tarif retail akhir yang akan ditawarkan ke pelanggan. Itulah kenapa ketika pemerintah memutuskan untuk menurunkan tarif interkoneksi antar operator, tarif retail juga diharapkan akan ikut turun.
Kita akan bahas ini dengan mengambil contoh langsung kasusnya, sebuah perusahaan telekomunikasi selular X.
Ketika pertama kali didirikan, operator X sudah harus menetapkan basis daerah awal dimana saja mereka akan beroperasi. Dari sinilah kemudian operator tersebut menyusun POC mana saja yang akan mereka miliki. Dan dari sini pulalah mereka akan membuat pemetaan prefix nomor mereka. Sebagai contoh, untuk daerah Jakarta, operator X akan membuat prefix 08XX170YYYY. 4 digit pertama (08XX) dikenal sebagai NDC, National Destination Code. Ini prefix yang menandakan blok nomor seluler tertentu milik operator tertentu.
Setelah memiliki POC, maka operator X harus juga membuka layanan interkoneksi dengan operator lain. Karena di Indonesia terdapat 12 operator, maka interkoneksi ini harus dibuat ke seluruh operator-operator tersebut. Pembuatan infrastruktur interkoneksi menuju operator-operator lain ini juga bukan dengan biaya yang kecil, apalagi jika alur traffic menuju operator-operator tersebut masih sangat kecil, karena tentu operator X juga membutuhkan biaya untuk balik modal kan ;).
Dari sini, muncullah operator Y yang bertindak sebagai operator transit. Artinya, operator X tidak perlu membangun jaringan interkoneksi ke seluruh operator yang ada, yang diperlukan hanya 1 buah infrastruktur interkoneksi, menuju operator Y sebagai operator transit, yang nantinya akan menyalurkan alur traffic menuju operator tujuan yang sebenarnya. Dari sini kita sudah mendapatkan gambaran, bagaimana kira-kira maksud dari originasi, terminasi, dan transit.

Lalu, kapan sebuah operator perlu membangun jaringan interkoneksinya sendiri ? Dari data statistik operator X tiap bulan, tentu operator X bisa melihat kemana tujuan paling banyak alur traffic dari pelanggannya. Dan begitu juga darimana pelanggannya paling banyak menerima panggilan. Jika cost transit ini diperkirakan sudah akan lebih mahal daripada membangun infrastruktur interkoneksi langsung dengan operator tujuan, maka sudah saatnya infrastruktur interkoneksi langsung ini dibangun.

Oh ya, dari tadi ini kita masih membicarakan panggilan suara (voice) yah, kalau untuk SMS, infrastruktur interkoneksi harus dibuat satu-persatu menuju operator tujuan, karena SMS ke operator lain tidak bisa disampaikan melalui jaringan transit.

Lalu bagaimana dengan penentuan tarif interkoneksi ? Tunggu di bagian #2 yah...