Julius SiraitTumblr (3.0; @visibility)http://julius.sirait.net/Suara Pelanggan Ojek<ol> <li>Kalau bisa helmnya dicucilah. Beli 2 helm untuk penumpang. Satu dipake, satu dicuci secara bergantian.</li> <li>Lampu merah nggak usah diterobos. Santai aja, Nggak usah buru2.</li> <li>Kalau boleh, proses tawar menawar harga dihilangkan. Tapi mungkin susah yah? Mungkin gak pake argo? :) </li> </ol> <p>Itu aja dulu. Ada yang mau menambahkan?</p>http://julius.sirait.net/post/60403485http://julius.sirait.net/post/60403485Wed, 19 Nov 2008 12:35:10 +0900Forget Todo List or Task List Software<p>If there are only 3 items in your list, you don’t need todo list software. How if you have more than 3 items? Take only 3, trash the rest.</p> <p>How if I have many items to buy in supermarket? You still don’t need todo list software. Paper and pencil are much more usable.</p> <p>But why 3? Because 2 is too few and 4 is too much.</p> <p>Here are relevant quotes:</p> <blockquote>It comes from saying no to 1,000 things to make sure we don’t get on the wrong track or try to do too much. We’re always thinking about new markets we could enter, but it’s only by saying no that you can concentrate on the things that are really important. — Steve Jobs on <a href="http://www.businessweek.com/bwdaily/dnflash/oct2004/nf20041012_4018_PG2_db083.htm">Innovations</a> </blockquote> <blockquote>The people who are best at programming are the people who realize how small their brains are. They are humble. — Edsger W. Dijkstra on <a href="http://www.codinghorror.com/blog/archives/000051.html">Humble Programmer</a> </blockquote> <blockquote>If you don’t ditch that stuff now, you will ditch it on the road — <a href="http://eurosatemydollars.com/trip-planning/packing-and-gear/">Frequent Traveller</a> </blockquote> <blockquote>It’s not information overload. It’s filter failure. — Clay Shirky</blockquote> <blockquote>I can’t give you a surefire formula for success, but I can give you a formula for failure; try to please everybody all the time. — Herbert Bayard Swope</blockquote> <blockquote>One does not accumulate but eliminate. It is not daily increase but daily decrease. The height of cultivation always runs to simplicity. — Bruce Lee</blockquote> <blockquote>Perfection is not when there is no more to add, but no more to take away. — Antoine de Saint-Exuper</blockquote> <blockquote>I saw a bank that said “24-Hour Banking” but I don’t have that much time — Steven Wright</blockquote> <blockquote>Good things, when short, are twice as good. — Gracian, Baltasar</blockquote>http://julius.sirait.net/post/56226222http://julius.sirait.net/post/56226222Sat, 25 Oct 2008 11:40:00 +0900Ide<p>Ide itu seperti cinta buta. Kelihatannya sangat sempurna, tapi sebenarnya banyak hal atau <i>variable</i> yang luput dari mata kita.</p> <p>Ketika ide itu dieksekusi, barulah <i>variable</i>2 yang tidak kita perhitungkan sebelumnya bermunculan. Ketika cinta dieksekusi menjadi yang namanya pernikahan, barulah kita sadar ternyata tidak sesempurna seperti yang kita bayangkan sebelumnya.</p> <p>Dari eksekusi ini menghasilkan 2 jenis orang. Yang pertama tidak mau terima, menyerah, bubar, cerai. Yang kedua orang yang mau beradaptasi dengan <i>variable</i>2 baru itu. </p> <p>Seringkali pas ngobrol2, teman sangat bersemangat menceritakan idenya kepada saya. Dan biasanya saya juga cerita analogi di atas. </p>http://julius.sirait.net/post/54034265http://julius.sirait.net/post/54034265Sat, 11 Oct 2008 13:17:00 +0900That which does not kill us makes us stronger<p><i>Quote</i> dari Friedrich Nietzsche. Kalau dalam bahasa Indonesia mungkin singkat kata:<i><b>NEKAT</b></i>.</p> <p>Bayangkan orang tua saya pegawai negri. Tapi punya anak 5. Nekat gak? Kalau buat perusahaan <i>startup</i>, nekat sering dianggap “bagus”. Cerita2 sukses juga bercerita tentang kenekatan para <i>entrepreneur</i>, trus akhirnya berhasil.</p> <p>Tapi gimana kalau jumlah orang2 nekat ini banyak sekali? Jadilah yang namanya negara Indonesia. Hancurrrrr. Mungkin bisa bikin kita lebih kuat. Tapi sekaligus amburadul juga. </p> <p>Supir nekat. Penumpang nekat. Nenek2 nekat. Orang tua nekat. Anak nekat. Programmer nekat. Pengusaha nekat. Politisi nekat. Maling nekat. Semua nekat.</p> <p>Indonesia negri orang2 nekat. </p>http://julius.sirait.net/post/50489978http://julius.sirait.net/post/50489978Wed, 17 Sep 2008 12:35:00 +0900Kerja di Jakarta<p>Udah 3 hari kerja di jakarta. Terakhir kerja di jakarta 6 tahun lalu. Sekarang ke kantor bisa naik busway. Saya tepatnya naik ojek-busway-busway. Pulangnya juga gitu. Busway-busway-ojek.  Nyampe di kantor bisa 2 jam. Bau2 di jalan deh. Tapi mendinganlah ada busway. Jadi ingat jaman2 naik KRL. Kalau pagi2 berangkat, biasanya masih wangi sabun lifeboy di dalam kereta. Kalau pulangnya baru wanginya gak tahan. </p> <p>Alternatif lain ya tinggal di kos dekat kantor. Tapi jadinya jadi seperti <i>single</i> lagi :)</p> <p>Jakarta masih semraut. Dan rasa2nya untuk jadi pekerja software gak pas. Mood kita juga jadi malas mikirin software.  Memang yang pas pekerjaan di jakarta itu jadi politisi. Karir2 yang berhubungan dengan masalah2 sosial lah. Baik itu pekerjaan yang memikirkan mengatasi masalah sosial dan juga pekerjaan yang menambah masalah sosial dan bikin jakarta jadi lebih semraut :) </p> <p>Software? Usability? Malas banget. Sejak di jakarta berita2 IT juga jadi kurang ter-<i>update</i>. Lebih seru baca berita politik!</p>http://julius.sirait.net/post/40617949http://julius.sirait.net/post/40617949Wed, 02 Jul 2008 09:18:00 +0900Yang Penting Jalan (Dulu)<p>Baru dengarin <a href="http://blog.stackoverflow.com/2008/06/podcast-10/">podcast</a>-nya Joel sama Jeff Atwood. Mereka ada bahas bahwa  umumnya ada 2 tahap dalam programming:</p> <ol> <li>Yang penting jalan dulu.</li> <li>Setelah jalan baru dibagusin kodenya, di-<i>refactor</i>, kalau lambat dibikin cepat.</li> </ol> <p>Tapi biasanya kita sering kali cuman pada tahap pertama aja. Karna setelah yang satu jalan, kita pengen bikin jalan bagian lain. Dan yang sudah jalan itu sudah gak begitu menarik lagi. Jadi kapan refactor? KAPAN-KAPAN.</p> <p>Masalah begini bukan hanya programming aja. Banyak masalah sehari2 seperti ini juga. Yang penting ini dulu, yang itu nanti aja. Misalnya rumah berantakan. Beresin rumah itu biasanya bagian yang nanti aja dikerjakan. </p> <p>Solusinya apa? Bayar pembantu atau <i>cleaning service</i>. Beres. Solusi masalah programming tadi juga sama. Bayar aja orang untuk tahap kedua. Artinya orang yang mengerjakan tahap pertama jangan sama dengan orang yang mengerjakan tahap kedua. Sama halnya dengan tester kalau boleh ngerjain bagian testing aja. </p>http://julius.sirait.net/post/39518278http://julius.sirait.net/post/39518278Mon, 23 Jun 2008 23:41:00 +0900JavaScript<p>Bahasa yang dulunya terkenal jelek. Tapi kemudian citranya diangkat dengan mengedepankan yang <a href="http://video.yahoo.com/watch/630959/2974197">bagus2</a>nya dan menyembunyikan yang jelek2nya. Sekarang javascript berjaya. Masih ada yang bisa bertahan hidup pake browser tapi javascriptnya di-<i>disable?</i></p> <p>Seperti film india aja. Jagoannya kalah dulu. Dihina2. Terus balas dendam. Menang, trus ketemu taman, nyanyi, menari2.</p> <p>Moral cerita: Kalau anda jelek, gak usah sedih. Mungkin ada bagian dari anda yang bisa ditonjolkan :)</p>http://julius.sirait.net/post/38749376http://julius.sirait.net/post/38749376Tue, 17 Jun 2008 22:37:22 +0900iPhone<p><img vspace="5px" hspace="5px" src="http://lh3.ggpht.com/sirait.milis/SFO1YzAo_WI/AAAAAAAAAXA/eJIRMKQGqwk/s144/iphone_hardware3_20080609.jpg" width="144" height="112" align="left"/> Baru sempat liat video keynote nya Steve Jobs. Panjang sih, 1 jam 45 menit. Sorry agak basi. Gak gitu banyak yang baru. Paling iPhone support 3G. Trus bakal di jual di 70 negara, Indonesia gak termasuk. Trus .mac ganti jadi mobileme. </p> <p>Itu aja. Steve Jobs juga keliatan tua dan kurus. </p> <p>Tapi ada 1 yang menarik di presentasinya. Katanya 80 persen dari user iPhone pake 10 atau lebih fitur yang ada. Saya pake handphone paling pake fitur voice call sama sms. Sms juga jarang. Trus 1 lagi pake kameranya kadang2. Jadi paling pake 3 fitur handphone.</p> <p>Ini yang diharapkan dari iPhone. Mewujudkan ide tentang komputer yang muat di kantong celana. Bikin aplikasi yang bagus buat handphone itu susah karna fisiknya yang kecil. Sehingga orang lebih memilih bawa laptop kemana2.</p> <p>Saya orang yang gak suka laptop. Repot bawa2nya. Trus keliatan seperti orang sibuk. Padahal chating doang sama baca2 blog.  </p>http://julius.sirait.net/post/38384981http://julius.sirait.net/post/38384981Sat, 14 Jun 2008 21:37:00 +0900iWeb + Google App Engine<p>Lagi iseng dan gak ada kerjaan. Nyoba2 http://www.skitch.com/, iWeb dan google app engine. </p> <p>Salah satu app yang tidak saya pakai di iLife itu adalah iWeb. Alasannya karna untuk publish ke web butuh account .mac, alias butuh bayar. Maklum sukanya gratisan jadi gak dipakai hehe. Padahal theme dan template iWeb lumayanlah. </p> <p>Tapi karna ada google app engine boleh juga dipakai buat publish web dari iWeb.</p> <p>Ini langkah2nya: </p> <p>1. Harus punya account google app engine dulu. Kalau belum punya daftar ke waiting list.  Kalau sudah punya, login dan create application. Saya bikin aplikasi yang idnya julius, sehingga nanti bisa dibuka di <a href="http://julius.appspot.com">http://julius.appspot.com</a></p> <p><img src="http://julius.appspot.com/images/gbr1.jpg" width="500" vspace="5" hspace="5" border="1"/> </p> <p>2. Kemudian download dan install SDK nya</p> <p><img src="http://julius.appspot.com/images/gbr2.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>3. Kemudian bikin folder baru. Saya taruh foldernya di desktop.</p> <p><img src="http://julius.appspot.com/images/gbr3.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>4. Kemudian kasih nama foldernya. Saya kasih nama julius. </p> <p><img src="http://julius.appspot.com/images/gbr4.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>5. Ok. Sekarang ke iWeb. Create new site.</p> <p><img src="http://julius.appspot.com/images/gbr5.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>6. Pilih theme dan page nya. Saya pilih theme Play Time dan saya kali ini bikin page Welcome</p> <p><img src="http://julius.appspot.com/images/gbr6.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>7. Skrg edit2 page tersebut. Tambahkan foto dan lain2.</p> <p><img src="http://julius.appspot.com/images/gbr7.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>8. Setelah selesai, publish to a folder. </p> <p><img src="http://julius.appspot.com/images/gbr8.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>9. Pilih folder julius yang di Desktop tadi.</p> <p><img src="http://julius.appspot.com/images/gbr9.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>10. Kemudian buka terminal. trus ke folder Desktop</p> <p><img src="http://julius.appspot.com/images/gbr10.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>11. Kemudian perlu bikin file app.yaml dalam folder julius.</p> <p><img src="http://julius.appspot.com/images/gbr11.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>12. Edit file tersebut seperti berikut dibawah ini. julius adalah application id nya. Kemudian arahkan path / ke file index.html. iWeb menaruh file2 situs yang di create tadi di dalam folder Site.  Sehingga perlu path /Site diarahkan ke folder Site.</p> <p><img src="http://julius.appspot.com/images/gbr12.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>13. Sekarang upload file2 tersebut ke google.</p> <p><img src="http://julius.appspot.com/images/gbr13.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>14. Setelah upload selesai, buka <a href="http://julius.appspot.com">http://julius.appspot.com</a> di  browser.</p> <p><img src="http://julius.appspot.com/images/gbr14.jpg" width="500" vspace="5" hspace="5" border="1"/></p> <p>15. Boom. Boleh juga pake domain sendiri. Saya set juga supaya bisa dibuka di <a href="http://paopao.sirait.net">http://paopao.sirait.net</a>. Setiap kali site ini di update dari iWeb, tinggal publish ke folder julius. Kemudian upload file2 tersebut dengan menjalankan perintah appcfg.py update folder_name. </p> <p><img src="http://julius.appspot.com/images/gbr15.jpg" width="500" vspace="5" hspace="5" border="1"/></p>http://julius.sirait.net/post/32293943http://julius.sirait.net/post/32293943Sun, 20 Apr 2008 14:25:33 +0900Google App Engine<p>Menarik.</p> <p>Gue udah dapet account. Tapi belum sempat nyoba2. <a href="http://julius.appspot.com">http://julius.appspot.com</a>. Tiap app dapet 500M. Kalau gak ada ide bikin aplikasi web, paling tidak untuk tempat upload file statik  :)</p> <p>Tinggal copy file ke direktori statik. Trus appcfg.py update webappfolder/. Boom, file statik sekarang online.  </p>http://julius.sirait.net/post/31528780http://julius.sirait.net/post/31528780Sat, 12 Apr 2008 13:46:00 +0900Kode Program vs. Novel<p>Novel yang menarik itu adalah novel yang susah ditebak. Mengandung misteri. Banyak <i>surprise</i> di dalamnya. Bikin pembaca penasaran.</p> <p>Berbeda dengan kode program.  Kode program yang baik itu harus bisa ditebak. Tapi kebanyakan kode program seperti novel misteri. Tapi bedanya kalau novel misteri, kita gak sabar pengen tau gimana jadinya, tapi kode program tidak. Malah bikin pusing. Akhirnya? <i>Rewrite</i>. </p>http://julius.sirait.net/post/25114190http://julius.sirait.net/post/25114190Wed, 30 Jan 2008 20:53:54 +0900Made to Stick: Why Some Ideas Survive and Others Die<p><a href="http://www.amazon.com/exec/obidos/ASIN/1400064287/boobat-20"><img src="http://ecx.images-amazon.com/images/I/216Z1BFK5WL.jpg" align="left" border="2" height="160" hspace="5" vspace="5" width="106"/></a>Saya sangat antusias untuk membaca buku ini karna setiap hari saya dan juga anda pasti, apapun pekerjaan anda, perlu untuk mengkomunikasikan maksud kita atau ide kita ke orang lain.</p> <p>Di tempat kerja kita mengkomunikasikan tentang pekerjaan kita ke teman kerja kita. Di rumah, kita berkomunikasi dengan keluarga kita. Di dunia maya, kita menyampaikan ide kita lewat mailing list atau juga lewat media seperti blog ini.</p> <p>Dan benar, buku ini tidak mengecewakan. Top. </p> <p>Pengen dong pesan yang kita sampaikan di mengerti sama orang lain. Bukan hanya di mengerti, tapi kalau boleh yang mendengar ide kita, bisa ingat, bisa peduli dengan apa yang kita maksudkan. Bisa percaya dengan ide kita. Dan kalau boleh bisa menjadi sumber inspirasi buat mereka.</p> <p>Semuanya dibahas dibuku ini.</p> <p>Mungkin anda programmer. Anda sangat antusias sama Ruby on Rails. Atau anda sangat yakin bahwa cara develope software yang benar itu adalah dengan Agile Programming. Atau anda sangat tergila2 sama Unit Testing.</p> <p>Kemudian anda coba yakinkan teman kerja anda atau bos anda untuk ikut anda. Bagaimana anda mengkomunikasikannya?</p> <p>Ini tidak perkara gampang. Apalagi bos anda mungkin yang tidak mengerti tentang software development. Kemungkinan besar bos anda tidak peduli. Belum lagi teman kerja anda yang seumur hidupnya cuman pake <a href="http://julius.sirait.net/post/24327246">basic</a> :) Atau teman kerja anda tidak percaya dengan anda. “Siapa ini anak ingusan, berani2 nya mengusulkan framework atau methodology yang baru?”</p> <p>Kita udah semangat, antusias, tapi respon teman2 kita mengecewakan.  </p> <p>Sebelum anda komunikasikan, saya rekomendasikan baca buku ini dulu.  </p>http://julius.sirait.net/post/24682430http://julius.sirait.net/post/24682430Sat, 26 Jan 2008 09:11:00 +0900Mari Merokok<p>Kita udah liat banyak gerakan anti rokok. Mereka bikin iklan layanan sosial di TV. Penyuluhan2 bahwa rokok itu tidak baik dilakukan. Menakut2i orang tentang bahaya merokok.  Menaikkan pajak rokok sehingga mahal, mungkin orang jadi berpikir untuk membelinya.</p> <p>Banyak usaha telah dilakukan. Tapi orang masih aja merokok.</p> <p>Banyak juga yang berteori. Ada yang berteori bahwa manusia itu tidak takut mati. Saya sih masih takut mati :) Atau ada juga teori yang mengatakan manusia itu tidak bisa ditakut2i.</p> <p>Kemudian ada yang bilang, “lah, orang2 yang terkenal, seleb, yang dipuja2 aja merokok, ya gak mungkin orang berhenti merokok.” Ada benarnya juga. Melihat rocker idola kita merokok sambil manggung, asap rokok mengepul dari mulutnya, bikin dia semakin keren. Kita juga pengen dong begitu.</p> <p>Banyak teori dan usaha untuk menghentikan orang merokok. Ada juga yang menuntut perusahaan rokok ke pengadilan. Tapi anehnya jarang terdengar bahwa perusahaan2 rokok ini membela diri. Mungkin ada, tapi saya gak pernah dengar.</p> <p>Hebatnya perusahaan rokok ini membolehkan tulisan yang menghimbau jangan merokok di kotak rokok itu sendiri. Bahkan boleh ditambahkan gambar korban2 merokok yang seram2 di kotaknya.  Dari sini kelihatan ke kita2 bahwa mereka tidak membela diri sama sekali.</p> <p>Wow. Hebat gak? Sama dengan anda membiarkan orang2 yang menyerang anda membunuh anda. Hebat kan?</p> <p>Hasilnya? Rokok tidak berhasil dibunuh. Ternyata tidak membela diri adalah senjatanya yang paling ampuh.</p> <p>Masalah ini mirip masalah Suharto sekarang ini. Banyak yang menyerang suharto supaya diadili. Semua orang tau kita susah di jaman Suharto. Tapi kecenderungan orang itu adalah mendukung underdog. Mendukung orang yang disudutkan. Kemarin saya liat Wimar Witoelar <a href="http://www.perspektif.net/english/article.php?article_id=764">di sini</a> berkeras bilang Suharto itu tidak baik. Dan Emil Salim membela Suharto. Dia bilang tidak ada yang 100% baik. </p> <p>Wimar Witoelar bilang bahwa Suharto masih belum diadili, karna masih banyak orang2 baik yang mendukung Suharto seperti Emil Salim. Tapi menurut saya tidak. Banyak yang mendukung Suharto sekarang ini, karna banyak orang yang menyerang dia mati2an. </p> <p>Kok jadi bahas politik? :) Oke, kembali ke rokok lagi. Gak ada yang tau gimana mengatasi masalah rokok ini. Mungkin caranya supaya dikondisikan perusahaan2 rokok ini membela diri mati2an. Ini susah. Harus menyusup ke perusahaan2 rokok ini seperti spy2 :P</p> <p>Atau mungkin kita lakukan tindakan sebaliknya. Kita bikin aja sekalian kampanye, “Mari Merokok!” Siapa tau berhasil :)</p> <p>Kalaupun harus menyerang pihak lain, jangan terlalu ngotot. Atau bikin iklan seperti “<a href="http://www.google.com/search?complete=1&hl=en&q=i%27m+a+mac+ads&btnG=Google+Search&aq=1&oq=i%27m+a+mac">I’m a mac, I’m a PC</a>”. Iklan yang menyerang PC oleh Apple tapi dalam bentuk format yang lucu2an.  </p> <p>Disclaimer: Saya tidak merokok dan penggemar Wimar Witoelar :) Oh yah .. saya tidak penggemar Suharto :P <br/></p>http://julius.sirait.net/post/24592672http://julius.sirait.net/post/24592672Fri, 25 Jan 2008 09:27:00 +0900Akar 2<p>DICARI: Obat penyakit bosan.</p> <p>Akar 2 bukan judul novel. Bukan lanjutan novel Supernova. Tapi kalau dibikin judul novel mungkin bagus juga :) Akar 2 adalah cerita tentang sesuatu yang sulit untuk diterima dengan akal sehat. Sesuatu yang non-trivial. Yang mungkin bisa obat bosan juga.</p> <p>Konon katanya Pythagoras dan pengikut2nya tidak percaya ada bilangan irrasional. Mereka cuman percaya ada bilangan rasional.</p> <p>Misalkan ada tali 1 meter. Menurut Pythagoras dan murid2nya, setiap titik diantara kedua ujung tali itu dapat di-reperesentasikan dengan bilangan rasional, yaitu dengan membagi bilangan bulat dengan bilangan bulat yang lebih besar dari 0.</p> <p>Misalnya untuk mendapatkan posisi di tengah tali, kita bagi 1 dengan 2. Kita juga bisa sampai seteliti mungkin dengan membagi tali dengan bilangan bulat yang sangat besar. Misalnya dengan membagi tali menjadi 1.000.000 bagian. 499.999/1.000.000 adalah posisi yang jaraknya dari titik 1/2 sejauh 1/1.000.000. Kalau mau lebih teliti lagi, bagi misalnya dengan 1.000.000.000. Dan seterusnya.</p> <p>Kemudian Hippasus salah seorang dari murid Pythagoras membuktikan ada titik di antara kedua ujung tali tersebut yang tidak bisa di-representasi-kan dengan dengan bilangan rasional. Bilangan ini disebut bilangan irrasional. Contoh bilangan irrasional adalah akar 2.</p> <p>Kemudian Pythagoras dan murid2nya marah, tidak bisa terima. Kemudian katanya membunuh Hippasus. Gak tau cerita ini benar atau tidak.</p> <p>Kemarin saya coba mengingat2 pembuktian dari akar 2 adalah bilangan irrasional. Pertama misalkan p dan q adalah relatif prima berarti p dan q tidak memiliki pembagi yang lebih besar dari 1. Contoh: 5 dan 7. Kalau yang tidak relatif prima misalnya 6 dan 8, karna sama2 habis di bagi 2.</p> <p>Kemudian pembuktiannya dengan kontradiksi. Misalkan akar 2 adalah bilangan rasional yaitu = p/q. Berarti:</p> <p> 2 = (pxp)/(qxq) <br/> (pxp) = 2x(qxq) </p> <p> Sisi kanan genap karna dikalikan dengan 2, berarti (pxp) adalah genap. Berarti juga p adalah genap. Karna kalau p ganjil (pxp) pastilah ganjil. </p> <p> kemudian:<br/>(qxq) = (pxp)/2 <br/> (qxq) = (p/2)xp </p> <p> Karna p genap, (p/2)xp adalah genap, berarti (qxq) adalah genap. Yang berarti juga q adalah genap.</p> <p>Kontradiksi! Tadi diatas kita misalkan p dan q adalah relatif prima, tapi karna p dan q sama2 genap, paling tidak keduanya habis dibagi 2. Demikian, terbukti akar 2 bukan bilangan rasional.</p> <p> Kenapa saya ingat2 pembuktian ini? Karna lagi bosan. Matematika itu menarik karna banyak yang non-trivial disana. Banyak yang sepertinya sederhana tapi ternyata tidak. Misalnya Last Fermat Theory. Seperti misteri. Bikin kita bergairah, semangat, tidak loyo :) </p> <p>Tapi terkadang yang bisa untuk cari makan itu yang membosankan. Seperti programming hahaha. Ya udah deh, mrogram lagi ah, biar lagi bosan, yang penting bisa makan :D</p> <p>Atau anda ada obat buat penyakit bosan ini? :) </p>http://julius.sirait.net/post/24510009http://julius.sirait.net/post/24510009Thu, 24 Jan 2008 12:00:00 +0900Kutukan Pengetahuan<blockquote>“It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.”  — Edsger Dijkstra<br/> </blockquote> <p>Btw, judulnya seperti judul film horor haha .. Ceritanya saya kemarin baca buku <i>Made to Stick </i>(belum selesai baca). Ada membahas tentang <i>The Curse of Knowledge</i>. Kalau diterjemahkan ke bahasa Indonesia jadi kutukan pengetahuan. Kalau dibikin jadi judul, udah mirip2 judul berita di detik.com :)</p> <p>Okay, apakah itu kutukan pengetahuan?</p> <p>Misalkan anda tidak mengerti apa itu <a href="http://julius.sirait.net/post/24024016">continuation</a>. Kemudian anda belajar. Sekarang anda mengerti apa itu continuation. Trus anda diminta mengkomunikasikan apa yang anda mengerti ke orang lain yang belum ngerti. Pesan yang bagaimana yang akan anda sampaikan?</p> <p>Yang pasti pesan yang bisa dimengerti oleh orang yang belum ngerti apa2. Disinilah terjadi kutukan itu. Kita gak ingat lagi gimana rasanya jadi orang yang gak ngerti apa itu <i>continuation</i>. Karna kita udah belajar. Kita udah memiliki pengetahuan itu. Hampir tidak mungkin buat kita untuk tau gimana pesan yang pas buat orang lain yang belum ngerti. </p> <p>Bingung kan?</p> <p>Simplenya gini. Anda nulis blog. Anda rasa tulisan anda jelas banget. Gampang dimengerti. Tapi ternyata anda salah. Orang2 tidak mengerti. </p> <p>Atau anda mendengar presentasi atau dosen ngajar. Dia ngomong panjang lebar. Tapi anda yang mendengarkan bingung. Dosen ini ngomong apa, nggak ngerti.</p> <p>Itu karna kutukan pengetahuan.</p> <p>Kutukan ini bukan hanya ketika kita mengkomunikasikan pengetahuan kita aja. Tapi juga hal lain, seperti <i>quote</i> dari Dijkstra diatas. </p> <p>Iya, iya. Dijkstra terlalu membesar2kan. Tapi ada benarnya juga. Ketika kita belajar basic, kita selalu <i>bound</i>,  ke cara berpikir programmer basic. Ketika diminta untuk melakukan hal lain, menjadi sangat susah.</p> <p>Pernah ketemu orang lisp? Ketika kita kasih problem, dia akan kasih solusi dengan cara berpikir yang beda dengan anda yang suka pake C. Biasanya solusinya rekursif mulu. Kemudian anda terheran2, kok bisa dia mikirnya begitu?</p> <p>Kemudian pernah dengar gak, sebaiknya yang coding dan yang design itu orang berbeda? Itu karna kutukan pengetahuan. Ketika kita tau bagaimana mengimplementasikannya, susah untuk mendisain yang bagus. </p> <p>Kemudian pertanyaan terakhir.</p> <p>Matz, yang bikin bahasa ruby dan implementasinya MRI (Matz Ruby Interpreter). Apakah Matz tau cara mrogram ruby yang baik? Menurut kutukan pengetahuan, dia bukan programmer ruby yang baik, karna dia tau bagaimana ruby diimplementasikan.</p> <p>Setuju? :) </p> <p>Kalau anda tidak mengerti tulisan ini, berarti masalahnya saya kena kutukan ini.</p>http://julius.sirait.net/post/24327246http://julius.sirait.net/post/24327246Tue, 22 Jan 2008 11:45:00 +0900Paopao<p><img src="http://data.tumblr.com/IevFV5qj71h1kre54LCoVAyY_400.jpg" align="left" border="1" height="210" hspace="5" vspace="5" width="150"/>Paopao, begitu dia biasa dipanggil Bobo dan Kungkungnya. Orang tuanya juga ikut2an manggil dia Paopao. Kalau oppungnya manggil dia Paul. Dengan nama ini dia akan didaftarkan di catatan sipil.</p> <p>Suatu ketika di sebuah gereja, Ibu Pendeta dalam sebuah khotbah minggu, sedang bercerita tentang tokoh bernama Paul. Si Ibu bercerita tentang greatness. Bahwa greatness bukanlah tentang harta. Bukan juga tentang kekuasaan. Tapi greatness adalah tentang melayani. Melayani sesama.</p> <p>Terinspirasi dari sini, orang tuanya si Paopao menamakan anaknya Paul. Supaya orang tuanya setiap kali ingat bahwa hidup ini adalah melayani.</p> <p>Paopao hari ini 3 bulan. Skillnya juga masih 3. </p> <p>SKILL NO.1 adalah menangis. Skill ini <i>built-in</i>. Sejak keluar dari rahim maminya, sampai sekarang skill ini yang paling dikuasainya. Tanpa mengenal waktu skill ini bisa sewaktu2 keluar. Tengah malam kedua orang tuanya sering kali dibangunkan oleh Paopao yang sedang memainkan skill ini.</p> <p>SKILL NO.2 adalah senyum2. Biasanya pagi2 Paopao bisa senyum2. Mungkin karna baru bangun, dia masih segar. Saraf2nya terangsang untuk senyum. Bapaknya yang suka pulang kantor malam, terkadang rada maksa supaya Paopao mengeluarkan skill ini. Si bapak melakukan berbagai cara layaknya seorang badut. Tapi terkadang skill ini tidak keluar. Mungkin karna Paopao ngantuk. Malah yang keluar terkadang skill no.1 yaitu menangis.  </p> <p>SKILL NO.3 adalah ngomong seperti orang kumur2. Gak persis seperti orang kumur2 sih, tapi anggap aja begitu. Skill ini sering dipakainya pas pagi juga. Pas dia senang. Paopao mungkin mau bilang sesuatu ke orang tuanya. Mungkin mau bilang orang tuanya cool (?) Mungkin pas dia bosan, daripada bengong, dia latihan ngomong.</p> <p>Itulah si Paopao. Gak terasa udah 3 bulan, dengan 3 skill. Skillnya akan terus bertambah. Terus berkembang.  </p> <p>Selamat 3  bulan, Paopao. </p>http://julius.sirait.net/post/24180116http://julius.sirait.net/post/24180116Sun, 20 Jan 2008 09:19:28 +0900Super Amatir<p>[Gue mau belajar menggambar komik nih]</p> <p>*Gubrakk!!* “Aduh, mimpi apa lo kemarin?”</p> <p>[Gue udah pesan buku How To Draw Comics The Marvel Way]</p> <p>“Gue gak suka Marvel”</p> <p>[Emang Marvel itu siapa?]</p> <p>*Gubrakk!!* “Aduh, menderita gue chat sama lo, Marvel itu yang ngeluarkan karakter2 SUPERHERO gitu loh. Gimana sih beli buku Marvel tapi gak tau Marvel?”</p> <p>[Oooo .. maklumlah, gue kan masih SUPER AMATIR. Gue gak ngerti komik. Baru lahir gue udah langsung main catur :P] </p>http://julius.sirait.net/post/24127077http://julius.sirait.net/post/24127077Sat, 19 Jan 2008 12:27:00 +0900Continuation dan Abstraksi Yang Bocor<p>Pertama tentang leaky abstraction (abstraksi yang bocor?) dulu. Law of leaky abstraction berbunyi:</p> <blockquote><p><b>All non-trivial abstractions, to some degree, are leaky.</b></p></blockquote> <p>TCP adalah abstraksi. TCP menjamin data yang anda kirim ke alamat tujuan pasti sampai. </p> <p>Tapi suatu ketika, mungkin ada programmer dengan naifnya berusaha mengirim data pake TCP, tapi data yang dikirim adalah data live video dari suatu tempat ke tempat lain. Dia pikir supaya reliable, datanya pasti nyampe, pake TCP aja. </p> <p>Ternyata hasilnya malah jelek. Data lambat nyampainya. Akibatnya banyak frame video yang harus di drop. Dan terkadang, gak ada video yang dirender sama sekali ditempat tujuan. </p> <p>Kemudian si programmer bertanya2 kenapa bisa begitu? Si programmer terpaksa belajar bagaimana TCP bekerja. </p> <p>LEAK!</p> <p>Abstraksinya bocor! Ketika kita harus belajar bagaimana suata abstraksi dimungkinkan (diimplementasikan), berarti abstraksinya bocor.</p> <p>Sekarang <i>continuation</i>. Apa itu <i>continuation</i>. Continuation sebuah abstraksi juga. Yang bikin banyak orang bingung tapi banyak orang bilang <i>cool</i>.</p> <p>Menurut wikipedia: <i></i></p> <blockquote><p><i>a <b>continuation</b> represents the rest of the computation given a point in the computation.</i></p></blockquote> <p>Gak ngerti kan? </p> <p>Trus ntah kenapa saya kemarin2 ketemu <a href="http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons">artikel ini</a> oleh Sam Ruby yang menjelaskan tentang <i>continuation</i> ini. </p> <p>Pertama2 dia menjelaskan tentang gimana local variable di C. Ini butuh pemahaman tentang <i>call stack</i>.</p> <p>Kemudian contoh javascript untuk menunjukkan beda by value dan by reference.  Yang ini perlu pemahaman tentang <i>heap</i>.</p> <p>Trus dia menjelaskan tentang frame, bagaimana kita melihat frame. Dan seterusnya.</p> <p>Permasalahannya dengan artikel ini adalah <i>continuation</i> yang adalah suatu abstraksi jadi bocor. Karna susahnya menjelaskan <i>continuation</i> ini, sampai terpaksa harus ke <i>low level</i>. Harus menjelaskan apa itu <i>call stack</i> dan <i>heap</i>. Bagaimana <i>continuation</i> ini dimungkinkan.  </p> <p>Di jaman Java, Python, Ruby sekarang, siapa yang tau <i>call stack</i> dan <i>heap</i>. Orang gak peduli lagi sama memory. Ada <i>garbage collector</i> yang ngurusi. </p> <p>Kembali ke artikel di atas. Penjelasan yang begini boleh kita sebut penjelasan yang bocor :) Dimana untuk menjelaskan suatu abstraksi, kita TERPAKSA menyelam ke <i>low level</i>. </p> <p>Bukan berarti penjelasan ini tidak baik loh. Buat saya ini sangat baik. Tapi seperti kata Joelonsoftware:</p> <blockquote><p>Becoming a proficient programmer is getting harder and harder.  </p></blockquote> <p>Untuk mengerti apa itu <i>continuation</i> aja kita harus ke <i>low level</i>, belum lagi nanti kalau kita menemukan masalah pas makenya. </p> <p>*) link: <a href="http://en.wikipedia.org/wiki/Continuation">http://en.wikipedia.org/wiki/Continuation</a> <a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html">http://www.joelonsoftware.com/articles/LeakyAbstractions.html</a></p>http://julius.sirait.net/post/24024016http://julius.sirait.net/post/24024016Fri, 18 Jan 2008 07:05:00 +0900Siapa Yang Buat?<p>” Oh, itu kan buku yang di karang J.K.Rowling”</p> <p>Untuk buku biasanya kita lebih tau penulisnya daripada penerbitnya. Kebanyakan buku yang saya punya, saya gak hapal perusahaan yang menerbitkan buku tersebut. Tapi kalau penulis bukunya, saya lumayan ingat.</p> <p><img src="http://lh6.google.com/sirait.milis/R46mdqBV0AI/AAAAAAAAATY/VQ7oU3MVrEg/s144/Photo-0347_001.jpg" align="left" border="2" height="144" hspace="5" vspace="5" width="108"/>Trus bagaimana dengan sayuran atau buah2an? Kalau ditanya anak kecil, buah dihasilkan oleh? Jawabannya mungkin supermarket :) </p> <p>Mungkin udah susah nge-<i>track </i>siapa yang nanam sayuran itu. Karna mungkin sampai ke supermarket udah dari tangan keberapa.</p> <p>Tapi ada beberapa supermarket yang memajang foto2 petani yang menghasilkan sayuran dan buah2an yang dijual disana. Yang ini mungkin sayuran dan buah2an organic (?) Atau mungkin hasil dari petani2 yang dekat supermarket itu.</p> <p>Kemudian kalau software gimana? Kalau opensource gak masalah, di source code biasanya ada nama programmernya. Tapi kalau seperti software powerpoint, kita cuman tau itu produk microsoft. Atau Final Cut itu produknya apple. Siapa programmernya? Gak tau.</p> <p>Kalau gak opensource tapi <i>indie developer</i> masih mendingan. Saya tau FeedDemon dibuat oleh <a href="http://nick.typepad.com/">Nick Bradbury.</a> Saya tau Delicious Library ditulis sama <a href="http://www.wilshipley.com/blog/">Wil Shipley</a>. </p> <p>Harusnya dengan hadirnya blog, masalah ini gak ada lagi. Kita bisa tau siapa yang nulis software excel misalnya, kalau programmernya ngeblog. Microsoft membolehkan developer-nya ngeblog. Tapi tidak demikian dengan apple yang agak tertutup. Menurut pengakuan <a href="http://mooseyard.com/Jens/2008/01/gone-indie/">Jens Alfke</a>, untuk bikin blog, pegawai apple harus sembunyi2.   </p> <p>Kemarin baru macworld. <i>And all credit goes to Steve Jobs</i>. Padahal, developer itu senang kalau orang tau dia ikutan bikin suatu produk. Dan lebih senang lagi kalau bisa langsung berhubungan sama <i>end user</i>.  </p> <p>Tapi walau begitu, siapa yang gak mau kerja di apple yah :) </p>http://julius.sirait.net/post/23936450http://julius.sirait.net/post/23936450Thu, 17 Jan 2008 08:15:00 +0900Bukan Penulis<p>“I write because I’m full of shit”, tegas Bill Lawrence, Creator dari <b><i>Scrubs</i></b> dan Co-Creator dari <b><i>Spin City</i></b> dan <b><i>Clone High</i></b>.</p> <p>“Writing is a way for me to organize the chaos around me”, kata Hart Hanson, Creator dan Executive Producer dari <b><i>Bones</i></b>.</p> <p>Iris Yamashita, penulis <b><i>Letters From Iwo Jima</i></b> bilang begini, “I still get a thrill out of making other people cry.”</p> <p>“Saya bukan penulis!”, kata saya :)</p> <p>Iya, saya memang usahakan sering menulis di blog ini. Tapi saya bukan penulis. Saya tidak mencari tulisan2 yang menarik, seperti layaknya penulis. Dan saya bukan juga wartawan, yang cari2 berita yang menghebohkan.</p> <p>Kemarin abis chat sama teman, saya mikir, ada cara nggak supaya blog ini menarik? Supaya enak dibaca? Kesimpulan saya: TIDAK ADA CARA.</p> <p>Tapi kemudian saya berpikir, mungkin ada satu cara. Yaitu: JANGAN MAKSA POSTING! Tapi kalau anda punya masukan ke saya, saya akan sangat berterima kasih.  </p> <p>Saya liat postingan2 saya banyak yang rada maksa. Postingan gak penting banget. Gak mutu. Garing. Seperti postingan ini hahaha.</p> <p>Kecuali anda penulis, anda mungkin bisa menghasilkan tulisan yang menarik dari dalam kamar yang terkunci hanya dengan bermodalkan mesin ketik dan imajinasi. Oh yah, plus kopi dan rokok marlboro. Tapi saya, yang kerja sehari2nya ngetik juga, mencet2 juga, tapi <strike>mencet</strike> ngetik yang lain, tidak punya waktu buat ini (alasan waktu, sebenarnya karna gak punya skill :))</p> <p>Kalau saya maksa posting, ya akhirnya jadilah postingan yang gak jelas :P </p> <p>Jadi kalau tulisan saya masih begini2 belum begitu2, ya karna mungkin aktifitas yang saya lakukan belum menarik. Mungkin saya kurang melakukan kegiatan programming yang menantang. Mungkin bacaan saya kurang bervariasi. Buku programming mulu. Mungkin hal2 yang menjadi wacana dikepala saya masih sedikit. Mungkin saya kurang banyak bergaul dengan orang2 yang <i>inspiring</i>.</p> <p>Sehingga ketika saya bangun pagi, sebelum ke kantor, mulai mengetik postingan hari ini, lagi2 tulisan yang begitu2 aja yang di-<i>publish.</i></p> <p>Jadi kalau banyak tulisan gak mutu disini, diharap maklum :P Jangan kecewa yah. Cukup dibaca aja. Direnungkan. Trus kalau boleh jangan lupa kasih komen haha</p> <p>*) link: <a href="http://whywewriteseries.wordpress.com/%C2%A0">http://whywewriteseries.wordpress.com/ </a></p>http://julius.sirait.net/post/23848858http://julius.sirait.net/post/23848858Wed, 16 Jan 2008 07:22:00 +0900