Archive for the 'Rants' Category

Cara spammer mendapatkan email anda

Mau tau bagaimana spammer mendapatkan alamat email anda walaupun anda ngga join segala macam newsletter, atau newslist atau apa lah. Begini cara mereka

Dan yg mereka butuhkan hanya seorang programmer biasa yg bisa nge-parse output HTML nya

Wednesday, June 18th, 2008 | Tags: Articles, Rants, Weblog | 3 Comments

Why XML is SUX

Ini adalah sebuah sample kecil kenapa XML itu SUX. Sample ini diambil dari log transaksi SMS dengan protokol MM7.

--fh-mms-multipart-boundary-28418
Content-Type: text/xml; charset="utf-8"
Content-ID: <cid-0003F7FA34C58BE@3>

<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope
  xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/soap-envelope.xsd">
  <soap-env:Header>
    <TransactionID
      soap-env:mustUnderstand="1"
      xmlns="http://www.firsthop.com/specs/MM7-extended/MM7-extended-1-3"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.firsthop.com/specs/MM7-extended/MM7-extended-1-3 MM7-extended-1-3.xsd"
      >fh-transaction-id-0003F7FA34F5785</TransactionID>
  </soap-env:Header>
  <soap-env:Body>
    <DeliverReq
      xmlns="http://www.firsthop.com/specs/MM7-extended/MM7-extended-1-3"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.firsthop.com/specs/MM7-extended/MM7-extended-1-3 MM7-extended-1-3.xsd">
      <MM7Version>5.5.0-extended</MM7Version>
      <LinkedID>routerSMSNode1@cs01cwbp:177057</LinkedID>
      <Sender><Number>+628XXXXXXXX</Number></Sender>
      <Recipients><To><ShortCode>XXXX</ShortCode></To></Recipients>
      <TimeStamp>2008-06-03T13:01:29-00:00</TimeStamp>
      <Content allowAdaptations="true" href="<00003F7FA2F5435A@XXXXXX.com>" type="SMS" />
    </DeliverReq>
  </soap-env:Body>
</soap-env:Envelope>
--fh-mms-multipart-boundary-28418
Content-Type: text/plain
Content-ID: <00003F7FA2F5435A@XXXXXXX.com>

hello world
--fh-mms-multipart-boundary-28418--

Setelah melalui SOAP parser aplikasi saya, hasilnya adalah — straightly taken from application log:

2008-06-03 20:02:22,534 [btpool0-23] INFO  - deliver: trxid=fh-transaction-id-0003F7FA34F5785,linkid=routerSMSNode1@cs01cwbp:177057,msisdn=628XXXXXXX,src=XXXX,ts=2008-
06-03 20:01:29,msg=Hello World

Dari snippet XML yg penuh dengan tag2, ternyata yg berguna cuman segitu. Yg lain: nyampah… Whua…. udah debugnya susah, nulisnya susah, implementasinya dimana2.

Wednesday, June 4th, 2008 | Tags: Rants, XML | 8 Comments

Perl/PHP/Python/Ruby Sux Or ProgrammerSux ??

Sering banget dipasang di status messenger / di posting di blog (saya sengaja ngga mereferensikan secara saya ngga suka postingan yg merendahkan bahasa pemrograman tertentu dan mengunggulkan yg lain. Makanya ngga saya catet Permalink nya), mendeklarasikan bahwa bahasa tertentu sux. Entah itu tentang konsistensi nama fungsi, atau itu tentang fitur X,Y,Z yang ada di bahasa A, tetapi tidak ada di bahasa B, atau namespace, atau yg lain.

Logikanya, jika memang bahasa A adalah bahasa yg sux, maka mungkin tidak akan populer. Dan mengapa programmer B mempelajari bahasa sux tsb, padahal udah tau bahwa bahasa tersebut sux. Jadi, menurut saya, bukan bahasanya yg sux, melainkan programmernya. Secara dia ngga bisa menjinakkan ke-liar-an bahasa A, kemudian give-up dengan menyatakan bahwa bahasa A itu SUX.

Wednesday, May 14th, 2008 | Tags: Rants | 12 Comments

Bill Gates, MS dan Indonesia

Baca artikel tentang kedatangan om Bill Gates di Indonesia yg disambut oleh presiden dan teman2 nya, kemudian statement Bill Gates di jawapos yg menyatakan komitmen untuk membantu penyediaan sarana IT bagi sekolah-sekolah di Indonesia, turut seneng juga sih, pemerintah udah melek IT. Cuman, ada satu prediksi nuh. Seandainya, semua sekolah di Indonesia terinstall Windows XP, dengan komponen MS Word, maka bakalan banyak siswa2 dan calon2 profesional Indonesia yg tergantung dengan produk ini dan bakalan susah untuk adaptasi dengan sistem2 lain semacam Linux / Unix.

Mungkin, logo OSIS akan diganti dengan logo ClipIt MS office, atau yg lain, dan mungkin saya akan kulakan MS Word dan Win XP home / profesional edition. Karena dijamin bakalan laris di pasaran…, secara. Ada yg berpendapat lain?

Friday, May 9th, 2008 | Tags: Rants, Weblog | 5 Comments

Customer Service

Sejak saya mendapat account Google Appengine, saya ga berhenti kagum dengan implementasi dan operasional dari perusahaan satu ini. Pelayanan yg lumayan memuaskan, sekalipun AppEngine adalah hosting gratisan. Contoh kasus:

Pada tanggal 28 April 2008 2:31 pagi, saya dapet email dari google-appengine-downtime-notify karena aplikasi sempet mengeluarkan error 500 terus2 an selama 20 menit. Begini isi email nya:

On April 27th at 11:38am Pacific about 40% of requests to App Engine
applications were returning 500s for a period of 20 minutes that ended
at 11:58am Pacific time. We have identified and resolved the issue. We
apologize for any inconvenience, please let us know if you have any
questions.

Email ini bertanggal: Sun, 27 Apr 2008 12:31:18 -0700 (PDT), diterima oleh gmail saya tanggal: Sun, 27 Apr 2008 12:31:39 -0700 (PDT). Berarti segera setelah permasalahan teratasi, CS nya appengine mengirimkan informasi ke customernya kalau ada masalah dan udah di atasi. Padahal saya sendiri ngga tau apakah appengine saya down atau tidak. Salut terhadap pelayanan si Google AppEngine Team. Biar gratisan tapi serius menanganinya.

Semoga hosting2 di Indonesia mau meniru perilaku Google ini.

PS:
Bukan posting sindiran.

Monday, April 28th, 2008 | Tags: Rants, Weblog | 3 Comments

Lembur itu Sucks!

Melengkapi working-habbit posting series di beberapa posting terakhir, saya pengen curhat masalah lembur. Yah, overtime adalah hal yang biasa di lingkungan kerja. Begitu biasanya sampai ada yg beranggapan kalau ngga overtime berarti ngga kerja. Saya juga termasuk dalam kategori overtimer. Yg artinya tukang lembur (dulu sih, beberapa tahun yg lalu), tetapi, setelah mendapat sedikit wejangan dari almarhum teman kos saya pas di Jkt, kebiasaan itu hilang.

Kata2 yg paling kuat saya ingat sampai sekarang adalah: "Hidup itu ngga cuman kerja"

He eh. Selain kerja kita juga perlu yg namanya kumpul ma keluarga atau teman2. Bermain atau melakukan kegiatan lain semacam arisan, ronda malem, kerja bakti, tahlilan, dll. Juga selain kegiatan, hidup itu juga ada yg namanya istirahat.

Mengapa Lembur itu Sucks?

Beberapa alasan yg bisa saya sebutin mengapa lembur itu Sucks!

  1. Hasil kerja saat lembur ngga akan lebih baik dari hasil kerja biasa. Bisa jadi malah banyak bugs dan errornya, yg akhirnya hrs dibenerin di lain waktu.
  2. Kerjaan kita akan nambah, karena dalam sehari, volume pekerjaan yg kita selesaikan akan bertambah dan yg namanya kerjaan ngga akan ada selesainya. Akhirnya load kita akan lebih banyak.
  3. Gaji anda akan menjadi lebih kecil. (bagi aja jam kerja dengan jumlah gaji)
  4. Membuat kita malas saat jam kerja reguler, secara selalu bisa diselesaikan overtime kan?
  5. Lupa teman, saudara, tetangga dan kondisi sekitar.

Itu sih alasan saya mengapa lembur itu sucks dan sebisa mungkin akan saya hindari. Mungkin anda punya tips untuk menghindari lembur, silahken di posting. Atau anda adalah pe-lembur sejati yang merasakan untungnya lembur, monggo juga.. saya open kok.

NB:
Ini bukan sindiran. Posting terakhir saya mengundang reaksi dari beberapa orang teman sehingga ga mau ngebuzz lagi. Padahal buzz nya yg ditunggu2 ;))

Thursday, April 10th, 2008 | Tags: Rants, Weblog | 6 Comments

Coding Environment

Bagi seorang programmer, produktifitas coding itu penting. Seberapa cepat dan benar kita mengerjakan sebuah task yg di assign. Dan produktifitas programmer itu — menurut saya nih, sangat bergantung dengan mood si programmer itu juga. Jadi klo ga mood ya ga bisa coding. Mo dipaksa sekuat apapun, hasilnya malah jeblok. Dan bagi saya, membangkitkan mood coding itu susah. Dari hasil pengamatan saya, saya itu mood nya untuk coding justru antara jam 21:00 - 02:00. Nah lo, sedangkan jam kerja saya antara 8:30 - 17:30. Jadi, membangun mood coding dipagi hari itu susah banget. Harus melalui beberapa ritual dulu semacam:

  • Boosting kafein
  • Bikin playlist yg cocok buat coding
  • Baca2 informasi yg penting

Baru setelah sekitar 1 jam pemanasan di depan leptop, mood coding akan muncul. Tetapi, alangkah sialnya, jika saat on-fire dengan keyword dan logic saya, sebuah msg muncul di YM saya. Trouble this, read that email, ada bug di sini, koneksi telco XXX lagi bermasalah. Thats one, kemudian selang beberapa menit, telpon masuk…. Ga diangkat salah, diangkat mood coding ilang. Serba salah… wasted 10 menit untuk mikir angkat atau ga. Tiung…. mood coding turun lagi. Felt clueless… noleh kanan, noleh kiri… lari kebelakang, rokok 1 batang…

Alangkah indahnya apabila ada jam2 tertentu dimana seorang programmer diperbolehkan untuk memprogram. Dan ada jam2 lain dimana dia harus debug aplikasinya. Dan ada jam2 lain dimana dia harus membantu untuk retrieve data yang sebenernya cuman series of SQL statement, dan ada jam2 lain dimana dia boleh mengangkat telpon. Tambah lagi: alangkah indahnya apabila seorang manajer menguasai sintaks SQL, jadi dia tidak perlu merepotkan programmernya untuk membuat sebuah laporan kecil, atau ada jam2 khusus dimana programmer tidak harus mereply email / membaca SMS / mengangkat telpon hanya untuk mendengarkan omongan masalah business prospect dan projection.

Monday, April 7th, 2008 | Tags: Rants, Weblog | 11 Comments