Dari kita. Buat kita.

#22 Ngobrol santai tentang Maemo summit, Qt Developer Days, Nokia N900 dan Google Wave – transkrip

Posted: October 26th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

RW: Hari ini aku bersama Ariya, akhirnya setelah berapa minggu Ariya absen dengan kesibukannya sendiri, akhirnya kita bisa ngobrol lagi yah Ya. Apa ni yang baru di kehidupan kamu?

AH: Yang baru banyak, yang baru diantaranya kmaren baru dateng dari Munich sama Amsterdam soalnya di Munich ada QT Developer Days dan di Amsterdam ada Maemo Summit. Yang pertama di Amsterdam, kmaren di adakan Maemo Summit. Pesertanya hampir 300, hampir 400an peserta. Acara utamanya adalah sneak review dari nokia N900.

RW: Nah itu dia, aku baru mau ngomong Maemo itu operating system Nokia N900 yah, sudah ga pake Symbian lagi yah

AH: Betul. N900 ini adalah sebelonnya sudah ada seri N yang sama N810, N800, N770. Tapi baru di N900 ini device nya baru bisa di pakai buat nelpon, sebelonnya hanya internet tablet.

RW: Internet tablet, betul

AH: Ini N900 di tenagai oleh Maemo 5, versi terbaru dari Maemo. Ada satu orang Indonesia kerja di Maemo, Endang. kapan itu waktu saya pernah kopi darat sama dia. mungkin kapan kapan perlu di ajak dia tuh di teman macet.

RW: Harus tuh, kayanya menarik banget.

AH: Dari segi Maemo, itu cuman software stack nya karena hardwarenya sendiri yah sama seperti hardware yang lain, tim tim yang ngerjain pasti beda dan hardwarenya meyakinkan, layarnya gede lalu ada keyboard nya. Kalau pernah liat N97, mirip mirip tapi lebih besar. Layarnya tajam sekali dan resolusi nya gila 257 gpi. Jadi kalau kita nge browse, seperti di cetak kan seperti di printer hampir 300 gpi. Versi berikutnya akan support kapasitive. Yang menarik ini berikutnya adalah dengan ukuran yang sama layar yang sama seperti iphone, pixels nya lebih banyak kan 800×550, bayangin iphones cuman 320×480 kan. Jadi detail nya menarik sekali. lalu ada camera nya 5 mega pixels, mantep lah, semuanya meyakinkan.

RW: Tapi kenapa ga di bikin kapasitive dan multi touch. Aku rasa bukan limitasi hardware dong pasti nya.

AH: Mungkin, versi berikutnya. Biasanya kan nama juga perusahaan besar, tahun ini buat yang seperti ini, tahun itu buat yang seperti itu.

RW: Cuman lucu ajah, htc sudah kapasitive, iphones sudah kapasitive. Kenapa ga nokia jadi kapasitive juga.

AH: Selain itu ada keterbatasan software yah. Maemo ini masih menggunakan x11 bukan frame by 4 bukan direct frame by 4, tapi langsung ke layar seperti Linux biasa.

RW: Jadi ada terminal di belakangnya yah

AH: Tapi kan transparent. Sampai sekarang kan masih belon stabil, masih belon final support multi touch. Cuman Maemo 5 masih menggunakan user interface nya berdasarkan gtk. Tapi di Maemo 6, 100 percent atau hampir 100 percent sudah berbasis Qt. Nah yang menariknya di Maemo Summit adalah, sneak review dari Maemo 6. Jadi Maemo 6 ntar, sekarang kan masih menggunakan jadi effect effect nya masih terbatas yah, ada effect seperti blur lalu ada window manager nya seperti expose seperti dari publikasi. Maemo ini support multitasking, jadi kita bisa buka multiplayer, lalu twitter, lalu camera semuanya bisa. Di versi Maemo 6 sudah berbasis Qt, mulai nya menggunakan berbagai macem effect seperti transisi yang seperti Iphone, dari landscape ke portrait ada effect rotasi nya terus multi touch tentunya. Di Qt versi depan ada multi touch.

RW: Tapi Maemo 5 gimana performance nya. Tadi kan kamu bilang hard ware nya mantep banget nih, tapi Maemo 5 memenuhi expektasi ga?

AH: Performance yang menjadi masalah, bukan performance tapi finishing touch. Yang kita dapet di Maemo Summit ini device masih production belon final, 1-2 bulan lagi baru keluar Cuman masih banyak yang keliatan kali di bandingkan dengan iphone, ada beberapa finishing touch yang kurang, contohnya maps. Kan ada maps application, seperti google maps. Bukan google maps tapi nokia maps, itu lama dan ga convinent yah. kalau kita dimana, mau liat jalan, tapi nunggu. Terus kalau sudah biasa pake iphone, problem dari touch sceen, karena kita harus menggunakan kuku, dia perlu presser bukan cuman touch. Terus ada beberapa problem, kalau di Eropa kan ngetik character khusus yah seperti u dengan u umlot lah. Kita perlu berhari hari sampai menemukan caranya.  kalau di telpon biasa kan bisa tekan lama, ntar muncul pilihan lah. Kalau touch screen, long tab seperti di iphones, ntar ada pilihannya. Kalau disini concept nya modifier, jadi actifkan symbol dulu nanti ada tanda umlot terus ketik u. Seperti ada module nya gitu, sekarang mau normal, sekarang mau umlot, sekarang mau apa gitu. Kecuali baca manualnya, idealnya orang ga usah baca manual.

RW: Jadi ngomong ngomong, kamu sudah punya N900 device nya sendiri nih

AH: Sudah

RW: Asik banget, di bagi bagi gratis di Summit nya?

AH: Ceritanya gini, di Amsterdam kmaren ada 300 N900 yang di bagi bagi, sebenernya bukan di bagi gratis karena setelah 6 bulan harus di balikin. Jadi ini cuman di pinjemkan. Cuman kita ga tau setelah 6 bulan nanti, di pinjamkan di ganti dengan upgrade atau gimana. Bisa juga kan

RW: Berharap, haha

AH: Yang menariknya kita, semua pesertanya ga ada yang tau kalau kita dapet N900. Itu gratis kalau register. Kalau deket deket Amsterdam, ga register rugi banget. Kalau saya karena mesti presentasi, jadi register ini itu. Tiba tiba di key notes di umumkan, nanti pesertanya dapet N900. Ga kebayang kan summit nya tuh ada 3 hari, hari pertama acara nokia, yang kedua ketiga acara community, begitu selesai makan siang, bagi bagi tuh N900. Kebayangkan, hampir 300-400 geeks dapet hadiah natal gitu kan kayanya, jato dari langit. Effect nya bisa di bayangkan ga? Tapi salut buat panitia nya kan ada wifi gratis juga kan, semua wifi masih berfungsi.

RW: Semua orang nyalain N900 di wifi. di Laptop juga.

AH: Itu berapa ratus orang nge tweet bareng bareng, waah pokoknya rame lah. Effect nya satu, peserta habis itu ga ada serius memperhatikan, semua orang main main sama N900. Oh iyah satu feature yang lupa, di N900 fantastic ada integrasi type. Jadi di contact nya kita bisa set up account skype kita. kalau kita online dalam wifi, semua contact di skype bisa keliatan terus bisa telpon langsung dari skype. Tentunya kalau bukan di komputer kena skype out credit dan sebagainya, tapi tetep fantastic kan.

RW: Tapi skype ke skype tetep gratis, apa pake credit tetep?

AH: Skype gratis kan.

RW: Jadi kamu skarang nelpon pake N900 ga?

AH: Ga. Kalau kita dimana ajah dan ada wifi dan kita mau nelpon ntah kemana punya skype credit, lumayan bisa di pakai. Dari pada kena pulsanya mahal.

RW: Pertanyaan sekarang adalah gimana reaksi para phone carrier yah. Apakah mereka mau include N900 buat line up phone yang di support apa ga, karena dengan integrasi nya skype lumayan mengganggu business module para phone carrier gini kan.

AH: Keputusannya pasti non teknis, apakah mau di masukan apa ga. Tapi sekurang kurangnya, chatting di skype itu sudah lumayan menarik, kalau kita punya sambungan 3G, lagi di jalan atau gimana, karena native. Jadi pesan dari skype muncul seperti conversation biasa, seperti sms biasa, ga perlu buka applikasi khusus

RW: Sudah fully integrate yah.

AH: Betul, applikasi nya sendiri masih sedikit. Tapi ada beberapa contoh contoh N97 ada gps, Jadi kebayang kan peluang applikasi nya bisa seperti iphones, bisa jadi new platform. Sudah ada contoh applikasi yang menggunakan seperti games games yang popular di iphones. Mantap lah effect effect nya

RW: Terus tadi kamu juga nyebut ada Qt Developer Days di Munich. Apa yang baru disana?

AH: Dari segi teknis yang baru adalah discusi atau presentati tentang feature yang akan di Qt 46. Baru minggu kmaren, versi beta nya keluar. Macem macem yah ada stack machine framework, animation framework, multi touch juga, special effect, feature feature baru nya. Dari segi teknis nya, selain menarik dari segi non teknis nya juga seru, tahun in pesertanya naik lebih dari 50 percent hampir 100 percent.

RW: Wow, dan itu membuktikan bahwa Qt semakin banyak pendukungnya yah.

AH: Sejak lebih banyak lagi pemakai nya dan animo nya juga positive. Tapi kebayang dong pas makan siang, gimana cara kita rebutan makan dengan 700 peserta. Terus presentasi nya juga ruangannya padat. Ada 3 track nya parallel, capasitas masing masing ruangan 250an, jadi selalu padat dan selalu penuh

RW: Kamu juga presentasi lagi di Munich?

AH: Ada presentasti tentang special effect dan Symbian. Qt untuk Symbian dan untuk Maemo sama sama menarik karena Qt Maemo kan karena N900, arahan lain untuk operating system di cell phone. Sementara Qt Symbian kan juga masih seru, karena lebih dari 100 juta user di luar sana, kalau kita buat twitter app seperti grafity yang sangat popular di pengguna Symbian, nah itu lumayan kalau di jual 2 dollar saja sudah berapa, jadi menang di volume. Ga tau sudah ada berapa ratus. Inget di tahun 90an ga, tiap orang buat soliter atau tetris.

RW: Cuman karena twitter ini service yang lumayan banyak pake sama semua orang tapi dia ga punya user interface yang optimal yah. jadi emang sengaja dibikin untuk para, sudah ada space vendor vendor bermain di atasnya. ohh buat seperti ini ajah di atasnya, oh kita tunjukin ini ajah diatasnya. Sekarang kalau bikin program dengan framework baru, hello world nya. udah ga bisa hello world lagi, paling ga twitter integration.

AH: Karena realitis simple kan nunjukan xml yang powerful lalu ada network feature kan. Jaman sekarang kalau buat application ga dengan itu, kayanya terlalu kuno deh. Lalu karena dia eti nya relative free dan use guest ada ratusan, mau di integrasikan dengan aplikasi apapun juga bisa. Jadi cocok untuk demo. Di Munich juga ada coffee machine, yang integrasi nya juga pake Qt, touch screen terus ada menu nya, mau pilih ada expresso, ada cappucino. Potensi nya banyak kalau kita clientnya bisa besar, vending machine kan menarik, atau wikepedia article biji kopi nya dari brazil. Brazil itu apa?

RW: Jadi bikin kopi, sambil nunggu, di depan coffee machinenya dipakai buat interaksi lebih lanjut.

AH: Kita kan ga bisa small talk. Ntar lama lama ada irc client, twitter client, disini juga ada ramalan cuaca atau status cuaca terbaru, lumayan lah, traffic jam atau traffic information, sekalian google maps atau info sales atau malem ini ada cara apa dimana atau ada masalah yang harus di sampaikan ke semua karyawan. Misalnya mencuci tangan bersih bersih supaya ga kena swine flu, kan bisa di taro disitu. Gitu lah acara di Amsterdam dan Munich. Dua dua nya adalah service saya terakhir di Qt development di Nokia karena minggu depan sudah ga kerja di nokia lagi.

RW: Wah, big news banget Ya. Sudah di umumin di blog nya juga yah

AH: Sudah sudah.

RW: Terus rencananya abis ini mau ngapain

AH: Yah, cari sesuatu yang masih ada hubungannya sama connecting people lah

RW: Jadi pulang kampung bikin warnet, connecting people. hahaha. Terus kamu bakal tetep di Norway atau bakal pindah mungkin?

AH: Beberapa hari lagi bakal ke Indonesia untuk di rencanakan dari sana, pasti ada di blog apa yang akan terjadi.

RW: Wah kita, podcast kita gimana nih dengan kamu bakal ke Indonesia. Malah jadi sempet atau makin sibuk?

AH: Dua dua nya bisa, kaya quatum mechanic ajah dua dua nya bisa. Masalahnya rencana yang terbaik adalah tidak punya rencana. Jadi buat spontan ajah, kalau ada kesempatan kita rekamam lagi.

RW: Cuman kalau kamu sempet, kontak teman teman lama di Indo kita ajakin podcast, kan lumayan seru juga.

AH: Jadi group podcast.

RW: Karena teman teman yang di Indo, beberapa makluk yang sudah di kejar kejar, agak agak sulit, di kejar kejar melalui email. Mungkin kalau kamu pressure secara langsung jadi mau.

AH: Loh memangnya kita ini debt collector.

RW: Tampang kamu sudah mirip sih, haha

AH: Kalau podcast di bagi bagian N900 nah gitu.

RW; Kamu sudah berenti dulu sih, kalau masi kerja di nokia kan bisa di sponsorin gitu kan.

AH: Sebagai karyawan aku ajah ga dapet discount.

RW: Wah pelita juga yah, ok terus ada apa lagi yang mau di bahas Ya?

AH: Rasanya itu ajah, bagaimana tadi tentang google wave?

RW: Kita kayanya satu episode aku pengen banget ngebahas buat google wave. Sekedar bagi bagi informasi, google wave recently sekitar 2-3 minggu lalu yah, masuk ke public beta. Banyak banget orang yang dapet invitation buat make google wave. Tapi sayangnya ga seperti gmail pas baru pertama kali keluar yah, kamu bisa ngundang teman, dan temannya bisa ngundang teman lagi dan seterusnya. Kali ini cuman orang bisa ngundang orang which is dapet 8 orang nominasi, notice aku ngomong nya nominasi bukan invite dan orang orang yang kita nominasi itu begitu dapet invitation ga bisa nominasi orang lain. Dan nominasi ini seperti nya ada system filtrasi nya di sisi google, karena ga semua orang yang aku nominasi ga dapet invite, kalaupun dapet invite 1-2 minggu setelah aku nominasiin. Bagi orang yang mungkin ga tau google wave ini apa, lumayan menarik sih, concept nya ngegantiin email. Gimana kalau email di ciptakan di jaman sekarang jadinya seperti apa, dan semua improvementnya sangat settle banget, sangat kecil kecil banget, cuman begitu di pake 2-3 minggu kayanya emang berasa sih, ibaratnya dari main PS 2 ke PS 3 kok kayanya biasa biasa ajah, balik ke PS 2 wah kok cupu skali yah. Perasaannya seperti itu, make google wave balik ke email lagi, kok email cupu yah. Ini focusnya dimana email masih ngikutin dunia fisikal yah, dunia relality, kalau aku mau nulis something buat kamu Ya. Aku nulis, aku masukin amplop, aku kirim. Kalau aku mau carbon copy orang lain misalnya, mau carbon copy ke Hendry Luk di Australia. Surat itu aku photocopy, aku kirim ke 2 lokasi kan. Nah begitu mau kita mau discusi di antara kita ber 3, akhirnya konsentrasi ke mereplikasi nya pesan itu. dan akhirnya susah keep track. Nah sekarang google wave ga mengikuti concept fisical itu lagi. Google wave punya respitory di tengah dan kita melihat sumber yang sama. Jelas technology nya kita harus bahas lebih lanjut karena ada algorithm algorithm yang sangat menarik juga kaya OT yah, Operation Transformation yang memungkinkan kita buat ngetik huruf demi huruf, kita bisa liat apa yang diketik oleh orang kita berhadapan, terus ada juga infrastructure yang menarik Google Wave ini di atas server, jadinya plaform yang sama buat Jaber dan sebagainya. Kita kayanya harus mendedikasikan satu episode lagi untuk ngomong platform ini apa, bisa buat apa, masa depannya kaya gimana, kayanya itu bakal jadi topic yang menarik.

AH: Satu pertanyaan, yang di jadikan target market di google ini apakah tiap orang individual ini personal apa perusahaan besar. Perusahaan besar kan punya workflow sendiri, 99 percent menggunakan microsofte exchange atau yang seperti hanya seperti google domain dimana target user nya misalnya adalah office sama office, organisasi kecil.

RW: Itu pertanyaan yang menarik sekali buat di bahas. Dari sisi aku, aku merasanya kayanya google ini mentargetkan semua, ibaratnya kalau skype 1-2 bulan yang lalu mengumumkan bahwa technology compression nya itu di buka untuk umum boleh di pake untuk gratis, padahal itu core algorithm nya compression untuk skype. Dan motivasi nya skype adalah dengan di pakenya compression algorithm ini module untuk komunikasi akhirnya akan lebih mudah untuk skype ngomong antar media, antar platform. dan ini yang diinginkan oleh skype. Aku rasa google berusaha melakukan hal yang serupa, dengan google membuka protocol google wave ini, akhirnya semua orang bisa build infrastrure baru, build server client baru, who knows kalau misalnya ini bener bener dipake oleh banyak orang, banyak enterprise, Microsoft mungkin bakal ngeluarin microsoft exhange on top of wave protocol atau apapun yah. karena ini bener bener protocol yang open source, boleh dibikin diatas apapun, google ga bikin server yang bisa di install di enterprice, tapi dia punya solution dia cuma buka protocol nya, terbuka buat vendor vendor lain buat server dan client di atasnya. Jadi aku rasa google kayanya lumayan targetin semua orang, mungkin bisa di bayangin dari google punya tawaran gmail untuk email public nya cuman saat yang bersamaan email itu ga tertutup buat google ajah kan, kita pake exchange dan sebagainya. dan google pengen slice of the market disitu dengan cara ngebuka protocol untuk public.

AH: Tapi kan ada masalah sedikit untuk google domain untuk perusahaan besar, mereka ga mau data nya di host di google. Mudah mudahan berbeda dengan wave. Kalau kita punya server sendiri, nah kita kan ga perlu mengandalkan google.

RW: Betul skali, dan itu memungkinan. Sekarang ada beberapa user group yang kamu bisa join kalau kamu tertarik ada wave.api user group buat google wave yang di host oleh google, kemudian ada user group satu lagi wave protocol which is ngomongin protocol nya doang. Jadi kamu di posisi dimana mungkin kamu bikin server sendiri, client sendiri, ui kamu sendiri, Nah itu 2 hal yang berbeda. Ini salah satu banyak orang yang misconception nya mikir google wave itu punya google dan cuman ada 1 layer. Tapi ada beberapa layer. Kita bakal bahas lebih lanjut mungkin minggu depan kali yah.

AH: Em, minggu depan di Indonesia ni

RW: Jadi harus cari waktu , ayo.

AH: Kita atur lah.

RW: Oke, terima kasih buat dengerin teman macet. Saya Ronald Widha

AH: Dan saya Ariya

RW: Kita akan ketemu lagi di episode yang minggu depan


#21 Henri Luk ngomong soal Static Code Analysis: NDepend, Team City dan FXCop – transkrip

Posted: October 19th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

RW: Kali ini saya bersama Hendry Luk, seorang programmer yang berkelut dalam dua bidang, dia masuk di Java, masuk di .Net juga. Saya mengenal dia dari pembicaraan kita di mailing list .Net Indonesia yah. Jadi kali ini gw pengen ngajak Hendry buat ngobrol soal continuous integration yah, dan in particular tooling yang sering dipakai di continuous integration yaitu NDepend. Gw ngebaca dari blog lo Hen, lo kayanya punya sedikit insight tentang NDepend yang kayanya seru ni buat di share.

HL: Jadi NDepend, beberapa minggu lalu gw baca baca dari beberapa project open source sudah makai NDepend buat analysis, disclose dulu ni sebelon kita mulai, bahwa gw ada udang di balik batu, gw pake NDepend pake awalnya karena gw dapet license gratis, ditawarin oleh Patrick supaya gw bisa ngomong kata kata manis tentang NDepend.

RW: Terus lo awalnya ada relation, Patrick ini head of product nya NDepend yah, bener ga?

HL: Iyah, dia tech lead. Sebenernya gw ga ada hubungan sama dia, dia contack gw lewat email dan dia nawarin gw supaya gw ngomong sesuatu di blog gw tentang NDepend, jadi gitu awalnya sih.

RW: Lo mungkin mau ngejelasin dulu blog lo namanya apa, alamatnya dimana, dan lo nge blog tentang apa kebanyakan

HL: Blog gw ada di hendryluk.wordpress.com. Gw ngobrolin biasa soal tentang .Net atau technology .Net, gw ga terlalu technical, gw biasa kebanyakan soal design, architecture soalnya gw juga ga terlalu banyak main main di infrastructure .Net akhir akhir ini, jadi gw lebih banyak ngomong ngomong Unit Test, Test Driven Development, Domain Driven Design.

RW: Gw ngeliat salah satu postnya, Rob Conery yang nge reply. Lo kayanya network nya sangat sudah masuk ke dalam dunia expert sekali. Itu lo ada hubungan apa ni sama dia? Jangan jangan saudaraan juga.

HL: Ga, gw jauh sama dia hubungan family. haha. Gw ga terlalu banyak communication. Gw ada beberapa kali email dia tentang dia punya, dan soal blog reply nya dia gw ga tau dia lagi ngapain, end up di blog gw.

RW: Itu menandakan kualitas Hen

HL: Mudah mudahan

RW: Kembali kita ngomong soal NDepend lagi, jadi boleh jelasin sedikit tool NDepend itu sebenernya apa.

HL: Oke, NDepend itu sebenernya salah satu tool buat static analysis atau kalau lo mau put it in another way NDepend itu adalah tool buat ngebaca code tanpa sebenernya lo ngebaca source code lo. Cuman misalnya lo jadi architect atau tech enginner atau lead enginner, lo ga bisa baca semua source code dari application buat lo periksa satu per satu. Dan juga lo periksa source itu ga tau kemana harus ngeliat, lo bisa mengerti application lo jalannya kaya gimana, bentuknya kaya gimana, cuman lo ga ngerti dimana yang mesti liat, soalnya lo ngeliat terlalu detail. Jadi NDepend itu paling bagus buat visualization kaya peta, atlas, kalau lo pertama kali dateng ke negara yang belon pernah lo kunjungi, hal yang pertama lo cari adalah peta di airport. Nah itu buat lo ngeliat code lo structure nya kaya gimana dan dependency nya kemana ajah, terutama code yang bukan lo sendiri develop. Kalau di develop sama developer lo misalnya, lo baca source code orang lain, nah NDepend sangat berguna banget buat visualisasi.

RW: Jadi untuk make sure juga kalau uml tooling yah, kita ga mau ngeliat se detail itu. dan kita cuman mau liat landscape ajah yah, bener bener cuman warna, dependency antara satu module dan module lain, tapi ga sampai ngebahas soal class nya in particular, methodnya kaya gimana, properties nya gimana dan sebagainya. bener ga?

HL: Bener, ga particular. Jadi cuman characteristic nya. Jadi characteristics nya dari class nya bukan cara kerja dari class nya. JAdi characteristics nya mulai dari beberapa, disini ada 80 macem matrix, gw ga sure, bisa diliat dari webstitenya. Matrix yang lo bisa liat, number of dependency, complexity, sampai number of lines, number of parameters, dia depend kemana. Jadi sebenernya liat dari kualitas bukan dari sisi cara kerjanya.

RW: Terus dari 80 matrix itu, yang menurut lo menarik apa? Yang jelas kayanya paling terkenal gw rasa adalah dependency itu yah, bahwa dia bisa kasih liat seberapa tightly coupled atau loosely coupled design lo dan dia nge visualisasi nya dengan berupa kotak kotak atau bisa juga bisa dengan matrix, ngasi liat siapa dependency itu ke siapa. Tapi yang gw masih ga ngerti adalah apa gunanya buat tau hal hal ini. Maksudnya gw tau bahwa lo seorang test Driven Development guy juga yah dan kayanya salah satu test driven design focusnya adalah bukan sekedar unit test tapi malah loose coupled itu kan. Dengan lo ngelakuin Test Driven Development akhirnya design lo really really loosely coupled. Sekarang apa bagusnya, satu apa bagusnya loose coupled design. Yang kedua kenapa lo mesti pake NDepend buat tau loose coupled dependency ini?

HL: Ini sebenernya salah satu hal yang pengen gw bahas hari ini, data data yang dikasih sama NDepend itu kan terlalu gede buat developer atau tech lead, jadi dan gimana cara make data data itu dan arti data data itu. Itu yang bikin kita penasaran ini, jadi kalau lo liat NDepend. Lo udah pernah download NDepend belon Ron?

RW: Sudah pernah liat sekali, tapi gw belon pernah main main banget.

HL: Jadi NDepend ini method yang paling penting adalah dependency matrix. Kalau kita liat matrix ini mirip kaya, jadi lo bisa bayangin ada correlation matrix, ada sumbu x, sumbu y. Dan perpotongan dua sumbu itu, kalau lo click point perpotongan sumbu ini, lo bisa liat ada berapa dependency yang dari sumbu x, dan sumbu y. Jadi kalau misalnya lo highlight mouse itu, bakal generate bahasa English, dia bilang 21 members yang gw generate dari sini. Jadi dia ada tulis misalnya 21 member dari assembly a dipakai oleh 32 meter dalam assembly b. Contohnya seperti itu. Nah, assembly matrix ini ada banyak mathematika data nya, sebenernya lo ga peduli. Cuman bagaimana itu gimana dipakenya, kalau misalnya lo liat dari summary nya, dari report nya, salah satu yang bisa lo pake misalnya di summary nya. Di situ dikasih summary, bisa di baca oleh manusia, bukan orang yang hard core computer scientist. Jadi kalau lo liat di report nya, ada istilah namnaya abstractness versus instability. Jadi abstractness dan instability itu bukan berarti assembly lo stable itu bukan berarti itu bagus atau jelek. Itu adalah characteristic dari code lo. Jadi stable artinya adalah code yang dipake oleh banyak orang, jadi misalnya lo pake name space, yang banyak name space lain yang ke dalam name space itu. Makanya name space itu stable. Artinya name space itu susah di ganti, karena kalau di ganti bakal break banyak functionality. Dan itu adalah stable. Jadi kita mau, kalau code code yang sifatnya driven design yang bagian dari domain itu biasanya bagian yang paling stable , karena itu adalah bagian yang ga mau lo ganti ganti. Di satu sisi lain, ada abstractness. Jadi abstractness adalah ratio dari berapa bagian interfaces atau abstract class, jadi dia bisa tunjukin satu angka, dari 0 sampai 1. Nah disini didalam NDepend dia kasih liat, ada satu balance satu garis diagonal antara sumbu x dan sumbu y. Jadi di sumbu y ada abstractness, disumbu x ada instability. Nah disini ada satu balance, lo kepengin semua di dalam balance itu. Di ujung, suatu corner ada namanya zone of pain. Zone of pain itu adalah dimana lo masuk kedalam area itu code lo susah di ganti, susah di maintain karena zone of pain di sebagai code yang stable, artinya cukup di pakai orang banyak tapi sangat ga abstract. Iyah jadi lo sebisa mungkin menghidari daerah merah. Dan di opposite corner ada, zone of uselessness jadi kalau code lo sangat abstract, lo punya banyak interface, lo punya banyak variable tapi ga ada orang yang make.

RW: Jadi sebenernya dia punya premis tersendiri buat ngebikin 2 zone itu yah, zone of pain dan zone of uselessness. Menurut lo itu lumayan constant ga sebenernya throughout different project apa sebenernya itu relative dan kadang kadang suka ga terlalu relevant juga

HL: Itu sebenernya fluctuative cuman kalau, jadi dari project project bisa berubah rubah angkanya. Sebenernya kalau gw pribadi, gw belon experience ngeliat perkembangan project bergeraknya kemana, apa semakin bagus, apa semakin jelek, apa sudah cukup accurate, cuman sebenernya itu salah satu measurement doang, itu bukan salah satu feature yang major dari NDepend. Itu cuman summary yang paling gede tentang kualitas project lo tuh kaya gimana. Jadi di dalam NDepend tuh banyak tool lainnya. Salah satu nya dependency matrix yang lo sebut itu, jadi lo bisa liat. Misalnya lo liat di code camp server, code camp server itu yang gw pake buat review NDepend. Jadi itu project code camp server. Lo bisa liat dependency lumayan predictable. Jadi kalau lo sebagai tech engine nya gimana caranya layering application lo, cuman lo ga bisa control satu per satu developer lo bakal kerjanya kaya gimana, lo ga bisa periksa source code nya satu per satu. Kalau lo ngeliat dari dependency nya, lo ngeliatin ada unexpected dependency disitu, misalnya lo punya web, bisa punya access ke data access misalnya, itu sesuatu yang lo ga mau sebagai tech lead. Dia bisa kasih no yang jelas, bisa kasih angka 21 dependency dari web ke data access. Dan even better, kalau lo click ke angkanya, bisa ngasih detailnya, bisa kasih liat uml diagram nya, apa ajah depend dari web ke dalam unit test karena ada integration ke visual studio. Kalau lo double click, dependency nya, bisa kasi liat line of code, mana yang sebenernya make dependency itu.

RW: Wah keren skali, jadi ibaratnya kalau ngebayangin google earth atau live maps atau apa gitu, kita bisa liat zoom out peta dunia nya, dan begitu kita liat ada anomali di salah satu tertentu kita bisa zoom in sampai akhirnya nemu enough details yang kita cari yah, which is details yang paling rendah code gitu kan.

HL: Bener, sebagai google map. Ini ada salah satu video yang mirip google map, ini adalah three map. Ini kaya kotak kotak item item gede kaya NDepend, jadi kotak kotak ini mewakili satu characteristic tertentu, misalnya kalau misalnya lo liat di google map, kota yang geographically gede, kotaknya semakin gede. Tapi kalau dalam code lo bisa ganti ganti, Di sini bisa ngomong tolong kasih tunjuk gw tentang number of lines code. Jadi kotak kotak nya semakin gede, number of lines nya semakin gede. Jadi lo bisa melihat peta dunia dari code code lo gimana, liat dari sisi paling luas dengan bisa pakai mouse, bisa zoom kedalam. Semakin gede kotak nya, semakin gede class nya, semakin gede methodnya juga. Nah tujuan dari mapping ini, lo bisa liat kurang lebih dari lines of code misalnya ada 62 matrix, itu ngeliat complexity mana yang paling gede dari code lo, lo bisa melihat map nya yang paling gede mana complexity nya, dari situ ada bagian bagian yang bisa lo refactor. Ngomong ngomong soal refactor ini sebenernya, focus yang paling penting. NDepend ini bikin rule, jadi mirip effect scope. Kalau effect scope bagian painful buat lo sendiri kan. Effect scope dateng dengan berbagai macem tool, sebagian besar, lo ga bisa specific ke dalam project lo sendiri. Jadi bagian yang paling penting dalam NDepend ini yang paling unik dari tool lain adalah cql. Ini codequery language. Query language keren banget, mirip sql, cuman sql ini kan lo query ke dalam data base. Kalau cql, itu query ke dalam source code.

RW: Sangar sangar, itu bener bener dsl buat static analysis yah.

HL: Benar, ini sangat keren banget.

RW: Performance nya gimana, dipakai buat dijalanin along bersama continuous integration lo atau lo bisa kaya punya consule tinggal type in, dan langsung jawabannya instantly balik?

HL: NDepend ini ada banyak view, jadi lo bisa run dari sisi consule, bisa juga pake continuous integartion, unscripted, dia ada juga visual studio nya sendiri. Dia ada id nya sendiri. Jadi visual NDepend ini punya, sesuatu yang sequel server ga punya.

RW: Jadi udah meta programming yah? Bahwa lo programming against another code sebagai data lo kan. Iyah ga si? Lo biasa programming against user data kan, sekarang lo programming against language lo kan, code base lo. Tapi itu performance nya lumayan cepet kalau lo nanya pertanyaan yang se complex lo tadi? Lumayan cepet baliknya? dia harus go through code basenya, name space nya, data space nya, dan sebagainya.

HL: Nah ini the best part of NDepend sebenernya, jadi lo nulis query, lo bukan pencet execute, maka dia execute, dia search, keluar hasilnya, itu bukan. Selagi lo nulis dia execute. Jadi lo nulis dan keluar hasilnya dan kalau lo tulis lines of code lebih besar dari 50 dan number of comment lebih kecil dari 20 percent. Dia langsung keluar hasilnya selama lo ngetik. NDepend itu context sensitive, jadi kalau lo hasil dari query itu, bakal muncul di map yang gw sebut itu, three map itu, bakal di tandai dengan hot spot. Misalnya lo nulis complexity lebih gede dari 50, dia bakal tunjukin di map itu dengan warna merah bagian bagian yang kena warning itu mana ajah. dan lo misalnya lo double click di warna merah nya itu, dia langsung buka code itu di visual studio.

RW: Wow, thats amazing. Sekarang kalau di tie in ke continuous integration, karena NDepend banyak kemampuannya yang berdasarkan visualisasi kan. Sedangkan continuous integration kan biasanya something yang lo ga liat visualisasi, lo cuman liat bahwa yah merah atau hijau, build broken atau build stable. Gimana caranya lo integrate NDepend ke continuous integration, apakah lo bisa set rules rules rules, berdasarkan sql tadi dan untuk ngebalikin pass atau fail atau gimana? Atau ga pake NDepend continous integration, cuman hal yang pake oleh seorang team lead atau malah mungkin semua developer sebelon check in code nya harus make sure dulu gimana gimana sebelon check in. Menurut lo uses yang paling tepat yang gimana?

HL: NDepend ini sebenernya dua fold yang bisa lo pake jadi lo bisa pake sebagai architect yang lo bisa analysis dari application lo, sebenernya ini pake communitive, cek isinya kaya apa code lo. Satu lagi architect ini bisa define rule nya kaya apa dan bisa integrate. Jadi setiap orang yang commit, semua rules nya bakal di run dan lo bakal bisa ngeliat gerak nya kaya gimana, gimana progression lo bahkan bisa compare degnan version sebelonnya, ada berapa method yang lo tambain, ada brapa name space yang baru, berapa dependency yang lo introduce. Dia bakal tunjukin dalam bentuk report dan bakal nunjukin juga warning warning, dari sql yang di langgar. Jadi misalnya developer commit sesuatu hal yang jelek, masuk dalam source control akan di cek sama NDepend dan akan ngasih tau code itu melanggar sesuatu.

RW: That rise an interesting point yah bahwa continuous integration kan about automation dan mungkin ada beberapa kualitas yang blur gitu, ga jelas untuk di bilang apakah ini bagus, apakah ini jelek, apakah ini stable, apakah ini broken. Dan mungkin NDepend masuk dalam hal itu yah, bahwa memberikan kesempatan untuk human introvention kan dimana kalau setiap build, laporannya kirim ke tech lead dan tech lead nya bisa ngambil kesimpulan dari summary itu untuk stop or continue as usual yah.

HL: Tujuannya mirip FXCop yah, jadi developer dipaksa buat ngikutin guideline, jadi kalau lo punya guideline tertentu, lo bisa enforce guideline itu ke continuous integration. Dan setiap buildnya, build hari ini dan build kmaren bisa lo buka dan lo compare, di dalam report nya, mana yang lebih bagus. Nah ini fasilitas NDepend yang paling gw demen, bisa compare 2 version of code. Nah lo bisa compare dan tunjukin apa impact nya. Apakah dependency bertambah atau berkurang?

RW: Gw bisa liat NDepend ini bisa berguna buat architect yang ngadepin brown field yah. Kalau green field kan architect white board session yang ideal kaya gimana, sedangkan untuk masuk project yang sudah established ga semudah itu kan, karena seorang architect itu harus tau betul situasi nya seperti apa melihat tujuannya kaya apa dan ngelakukin gap analysis, gimana cara ngebawa dari situasi a ke situasi yang di tuju. Gw bisa ngeliat NDepend ini berguna buat overall picture nya itu yah. Ga mungkin seorang architect masuk ke satu project dan ngeliat ratusan ribu lines of code, iyah ga sih? Dan NDepend bisa jadi tool yang berguna untuk itu.

HL: Betul banget, soalnya code itu skill, berkembang seiring waktu. Architect itu ga bisa berkembang, cuman ada satu atau dua. Tapi intinya architect itu ga bisa scalable, ga bisa lo clone. Misalnya lo mesti ngecek satu per satu source code lo itu ngabisin waktu. Dan ada limitnya, sampai tahap tertentu architect ga bisa ngeliat semua source code. Jadi architect butuh visualization itu.

RW: Tapi mungkin juga sekarang gw mikir, kalau ngomongin architect orang yang sudah punya banyak pengalaman, sangat tinggi, sangat jago dan sebagainya. Tapi gw jadi mikir juga, ini tool yang sangat berguna, untuk developer, untuk any developer yang baru masuk ke project yang baru, iyah ga siy. Kalau lo masuk ke project yang baru, pasti kan lo time nya yang sangat lama, lo pengen navigate codenya secara cepat buat ngeliat overall picture nya, interaksi satu component dan component lainnya kaya gimana. Apa lagi dengan, sangat nge trend methodology methodology seperti ejal dan sebagainya yang lebih take priority buat documentasi lebih rendah, kita approach nya dari pada documentasi mending write good code. Code itu menjadi living document, dan gw ngerasa tool tool seperti ini untuk orang baru masuk ke dalam tim, apa lagi dalam situasi dimana ga banyak document around code base itu tersebut. Gw juga pengen nyambungin ke salah satu tool yang gw denger di Citcon Melbourne tahun lalu, which is Team City yah. Lo pernah denger ga?

HL: Iyah, gw pake Team City juga.

RW: Itu similar sama NDepend yah?

HL: Oh bukan, Team City itu similiar sama cruise control.

RW: Itu continuous integration ajah?

HL: Iyah.

RW: Gw kayanya waktu pas tahun lalu, gw ngeliat salah satu visualisasi nya adalah dia bisa ngeliat code tapi code nya di visualisasi secara gambar kota. Dan kalau misalnya ada satu module yang sangat complex, dia dikasih liat sebagai gedung yang sangat complex dan sebagainya. dan setiap area nya juga, sangat distinct satu sama lain dan lumayan ngegambarin gimana perbedaan landscape satu code dengan code yang lain, dan menurut gw analogy nya sangat hebat. city kan seperti itu, maksudnya yang salah satu sisinya banyak yang, style nya berbeda dengan style yang lain. Apakah itu ga mirip dengan NDepend?

HL: Gw ga yakin kita ngomongin Team City yang sama ni. Soalnya Team City yang gw tau itu ada beberapa plagin dan salah satu plagin adalah effect scope,mirip banget dengan NDepend. Ini salah satu persamaan Team City dan NDepend, cuman sebatas itu, yaitu dia punya pluggin effect scope. Sebenernya Team City bisa di extend ke NDepend. Jadi kalau lo commit sesuatu ke dalam Team City, Team City bisa bikin analyze data datanya, kaya satu yang paling sering di pake adalah coverage. Jadi test coverage bakal muncul dan lo bisa liat trend nya dimana  . Jadi lo bisa liat berapa percent dari code lo, dan di highlight di code code yang ga punya adequate, dibikin unit test nya. Dia bakal tunjukin dengan warna merah. Jadi kalau lo dibawah 80 percent bakal di kasih warna merah, bakal muncul warning di Team City nya. Jadi Team City maksa developer untuk nulis Unit Test. Ada lagi effect yaitu guideline, jadi lo bisa set apa lo melanggar compliance apa lo declare satu static variable atau lo exception generally tanpa lo declare secara specific, effect bakal nangkep itu dan bakal bikin warning di Team City. Cuman gw ga pernah liat kota segala macem. Itu Team City yakin?

RW: Jadi ga yakin setelah ngomong sama lo, haha. Gw lumayan mikir kayanya Team City, cuman namanya Team City jadi gw mikir itu team city kali yah, Gw akan google. Gw pengen nanya, gara gara ngomongin Team City yah, lo TDD juga, lo sangat resharper orientated juga?

HL: Oh banget, gw ga bisa bayangin gimana nge code tanpa visual studio.

RW: Tadi nge tied in sama effect scope kalau misalnya lo, bukan effect scope in general siy, kalau di visual studio 2008 dalam default nya kalau lo misalnya nyalain code static analysis nya, rules nya suka banyak yang bertentangan sama rules nya resharper yah. Misalnya yang classic banget, naming convention. Resharper sukanya kalau ga salah by default private variable itu boleh pakai nama sama public variable nya cuman beda satu camel casing yang satu di awalin dengan huruf kecil. Sedangkan kalau misalnya code setting visual studio, variable sama skali ga boleh ada nama yang sama, which is a fair comment karena mereka lebih mikir VB dengan C sharp VB ga support case sensitive jadi lebih baik jangan dipakai sama sekali. Lo suka nemuiin masalah yang sama ga, lo pake dua tool yang standard nya berbeda, kalau lo ngerasa gitu juga, biasanya apa yang lo lakukin?

HL: Kalau gw sebenernya, gw ngeliat rule rule yang dikasih itu adalah pilihan, mana yang lo enforce.Lo bisa nambahin rule sendiri kan dengan specific coding convention sendiri di company lo. Itu sebenernya kita make effect scope buat ngerapiin coding convensation di company kita ke dalam source code. Tapi bukan berarti effect scope nentuin coding code di company kita, jadi sebenernya effect scope itu bukan sesuatu yang harus kita ikutin.

RW: On that note, kayanya kita mesti akhirin podcast ini. Tadi lo ngomong bahwa jangan sampai tooling meng dictate apa yang lo lakukin, tapi malah kebalikannya lo menggunain tooling untuk mencapai tujuan yang lo pengen dapet dari team lo. Thank you banget Hendry sudah melukangan waktu nya buat ngobrol di teman macet.


#20 Ngebahas Apa tujuan memadankan istilah Teknik Informatika dengan Ivan Lanin dan Romy Hardiyanto – transkrip

Posted: October 12th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

RW: Hari ini saya bersama Ivan Lanin dan Romi Hardiyanto. Ivan Lanin itu S1 nya berawal dari teknik kimia sekarang lagi ngambil S2 technology informasi dan jatuh cinta sama wikipedia dan bahasa Indonesia pada tahun 2006, programmer by heart, risk management consultant by profession. Sedangkan Romi Hardiyanto background nya geo deci, ambil master jurusan hydrography, anggota pelokalan mozilla Indonesia secara dadakan sampai sekarang dari waktu itu Linux Blangkon belon pake pramban bahasa Indonesia. Apa nih maksudnya, Romi coba jelasin introduction nya kayanya rada rada ribet. Dari jurusan lo yang lumayan unik sampe anggota pelokalan mozilla Indonesia juga.

RM: Oke deh. nama saya Romi Hardiyanto. Sebenernya saya ngambil geo deci di Bandung. Kebetulan 2007 aku ngambil master di hydrography, itu geo deci cuman di laut gitu lah kira kira. Suatu saat aku lagi bengong bengong gitu, terus aku mau coba Linux paling baru nih, oh katanya ada project Linux Blangkon, bener bener dari Indonesia. Jadi kemudian aku coba nih, semua program hampir sebagian besar sudah dengan bahasa Indonesia kecuali yang program utamanya. Nah gimana caranya, supaya ini bahasa Indonesia, ternyata sudah ada effort effort sebelomnya itu cuman masih Firefox versi 2. Padahal saat itu Firefox versi 3, sudah hampir release. Yah sudah akhirnya aku kerjaan yang lama, tambah tambahin baru, kemudian aku submit ke Mozilla, diterima.

RW: Ivan baru di kasih tau juga sama Romi ternyata ini sosok di balik id.wikipedia.org yah?

IL: Iyah, yang seperti aku bilang tadi, Yang tahun 2006 itu saya mulai nulis di wikipedia dan sejak itulah, mulai, pertanyaannya kan sejak kapan yah. Sejak itulah sebelon nya sama sekali ga peduli.

RW: Sori banget kalau gw mesti pake bahasa English, merasa agak agak ga level sama kalian berdua, kayanya pakar bahasa Indonesia, sampai pramban pun aku ga tau itu apaan. Jadi garis merah yang mengikat kalian berdua adalah kalian berdua sangat gemar bahasa Indonesia yah. Jelas kita bangsa Indonesia nya yah. Tapi kenapa kamu berdua in particular ingin memajukan bahasa Indonesia terutama di bidang informatika.

IL: Sebenernya awal awal gw ga terlalu peduli masalah bahasa, yang penting itu, mau nyampur bahasa indo, bahasa english, bahasa jawa ga peduli. Cuman sejak mulai wikipedia bahasa Indonesia, tahun 2006 itu, gw melihat bahwa yang paling penting itu jadi kalau lo nulis dengan satu bahasa, lo harus menulis dengan bahasa tersebut yang baik. Nah jadinya karena sehari hari gw sampai 10 jem di wikipedia bahasa Indonesia, yah mau ga mau gw terpaksa untuk mempelajari bahasa Indonesia. Itu awal nya kenapa kemudian gw suka banget sama topik yang membawa bahasa Indonesia, kurang lebih begitu lah,

RW: Obsesi nya kenapa tuh van, sampai spend 10 jem di depan wikipedia.

IL: Mungkin pasaran, kalau menurut gw salah satu tipe yang bagus dari media itu adalah dia membuat article yang belon, ada articlenya berwarna merah. jadi sangat eye catching, ya karena itu setiap kali gw membuat article loh article ini belon ada, nambah lagi bikin article yang itu terus kemudian ada lagi, jadi ngambung terus, ga berenti.

RW: Ibaratnya kaya Alice in Wonderland, rabbit hole yah?

IL: Iyah, begitu lah.

RW: Sedangkan lo gimana Rom?

RH: Kalau di bilang alesan yang muluk muluk, sebenernya ga juga yah. Kebetulan di rumah aku ada laptop, kebetulan ibu aku lagi mampir di rumah di Jerman, gimana si caranya buka halaman berita jawa post. Itu salah satunya, Yang kedua, gw cuman sedih ajah kalau melihat pas waktu itu Linux Blangkon sudah hampir sebagian besar pakai bahasa Indonesia kenapa yang program pramban yang paling populer sedunia Linux itu kenapa masih pake bahasa English, gitu ajah. Emang pada saat itu, oke ada beberapa usaha cuman berenti di versi tertentu. Ya udah, dari situ kemudian kita mencoba menterjemahkan antar muka, pada saat itu kesulitan.

IL: Coba tanya Ronald, antar muka dia tau ga apaan itu

RW: Pramban tadi itu belon tau, haha

RH: Ya apa pandanannya ada history, ada view, ada window, cut copy paste, find gitu kan, ga semua orang ngerti, Kalau pertama kali pake komputer windows, pake program office mungkin, mereka bisa belajar. Kalau pertama kali pakai, kan tetep ajah mereka harus belajar bahasa English dulu, Kenapa belajar bahasa English dulu hanya untuk make komputer kan.

RW: Dan ini masuk ke topic kita selanjutnya yah, yaitu penting atau tidak penting kah istilah teknik informatika untuk di bakukan, cari pandanan katanya. Ini salah satu topic yang Ivan bicarakan di mailing list id indonesia.php, dia ngomong soal kenapa sulit istilah itu untuk di bakukan dan kenapa para programmer mulai make istilah yang benar.

IL: Yaitu tadi motivasi nya bahwa kita ini yang ngerti bahasa English, yang cukup beruntung untuk mengerti 2 bahasa itu cuman puncuk dari huruf S. Kita tuh cuman segelintir dari masyarakat bangsa Indonesia. Bokap lo, nyokap lo, ya mungkin kalau lo orang berpendidikan mungkin nyokap bokap lo cukup ngerti. Kaya bokap gw gitu misalnya, dia itu cuman pegawai TKI, dia itu senang sekali begitu tau nokia nya dia itu bisa ada antarmuka berbahasa Indonesia. Dia seneng banget. Dan itu banyak orang yang kaya gitu, Kira kira kita sih ga masalah. Gw ketemu guru smp, mreka itu sering sekali perlu cari bahan untuk di ceritakan ke murid nya tapi mereka itu ga berjaya karena sebagian besar materi dari internet itu bahasa English dan di Jakarta emang kualitas guru kita belon sampai ke taraf harus mengerti bahasa English, itu belon. Kebayang dong orang yang mesti ngajar, yang mesti mencitpakan, yang ngajarin ke penerus bangsa kita itu, ga bisa ngajarin sesuatu yang advance, kan sayang banget. Jadi tujuan gw adalah kenapa kita harus menciptakan terminology bahasa Indonesia untuk semua bidang ilmu adalah penyerapkan kita ke orang Indonesia.

RW: Dari sisi teknology, kosa kata di IT particular. Kayanya banyak banget kosa kata yang berawal dari bahasa English, dan mungkin itu ada salah satu hubungannya dengan inovasi terjadi kebanyakan di negara barat yang memakai bahasa English akhirnya penamaan penamaan yang memakai terminology tersebut berawal dari bahasa English. dan cukup sulit mungkin bahasa Indonesia untuk mencari pandanan katanya semua terminology yang cenderung lumayan cepet datangnya, iyah ga sih. Karena technology pada dasarnya selalu berubah dan selalu ada inovasi baru, Cara seperti apa?

IL: Bentar bentar, lo mesti ati ati lo mau mengucapkan bahasa English, bahasa Indonesia, bahasa Jakarta.

RW: Habis dari tadi kalian berdua yang memakai pilihin katanya tepat banget. Jadi gw ga mau kalah juga, haha. Jadi gw pengen memastikan kata kata gw juga pristine. Jadi menurut kalian berdua gimana caranya supaya kita bisa keep up sama semua terminology yang keluar secara cepet gitu

IL: Menurut gw gini, gw sudah cukup di wikipedia, yang kita lakukan adalah kita berusaha membuat terminology, padanan padanan untuk kata kata yang belon ada. Tapi yang gw temukan yang sangat gw percaya adalah sulit untuk menemukan pandanan kalau kita ga ngerti apa yang kita ngomongin. Kalau lo ga tau apa yang lo sedang ngomongin, otomatis lo ga bisa membuat sesuatu dari sana dong. Contohnya begini, sekarang gw lagi mencoba menterjemahkan gadget dan widget, kalau lo berusaha menerjemahkan itu apa sih bendanya. Kita sempet mau menerjemahkan itu menjadi gawai dan gawit. Gawai, iu kan sebenernya sangat cocok dengan pengertian gadget sendiri kan. Gawit itu diambil dari gawai rawit, jadi gawai yang kecil. Widget itu emang definisinya kalau lo liat dari definisinya, itu asal katanya dari Gadget, cuman di tambahin depannya wi, cuman dia itu cuman punya sifat yang kecil. Itu salah satu contoh pembentukan kata mesti ngerti bener apa yang lo ngomongin.

RW: Apakah menurut kamu dengan terminology terminology seperti ini bisa memudahkan purpose kamu tadi yah, guru guru dan dengan yang tidak familiar dengan bahasa English dan sebagainya. Karena mungkin ada orang yang punya pendapat juga, toh kita mesti blajar terminology baru, mau ngomong wizzard atau wisaya atau gadget atau gawai, toh kalau kita sudah tau gimana mengasosiasikan sebuah kata dengan concept nya, akhirnya kata itu cuman sekedar jadi kata, cuman sebagai nama.

RH: Kalau kita mau memadankan sebuah kata dengan kelompok istilah technology. kita liat sebenernya, kata ini sudah popular ga sih. Gw cuman ngambil kasus, misalnya bookmark. Bookmark itu ya kalau lo liat kadang kadang bisa dianggap sudah sangat sangat umum, akan susah sekali kalau bookmark ini aku cari padanan di istilah indonesia, misalnya penanda buku gitu. Dan itu kalau menurut aku ga terlalu penting semua untuk dicari padanannya, server misalnya, itu kan istilah yang sudah sangat unik. Mungkin kalau kita mencari padanannya jadi peladen atau pelayan. Kalau orang, misalkan gw sebagai user ni, ngomong ke customer support, peladen nya sekarang mati yah, si customer support ngerti ga. kan ga juga. Coba kalau ngomong server email nya mati ga? Sebenernya kan jadi ngerti satu sama lain. Sebenernya inti kalau menurut aku si, orang ngerti apa ga, populer apa ga. Kalau kita berusaha ingin mempopulerkan, sebnernya itu bisa dengan cara gradume, sebagai contoh, kebetulan firefox ini adalah satu program yang paling disukai, Kalau kita pengen mempopulerkan sebuah kata, ini bisa jadi media. Orang dulu mungkin ga tau, tempel hapus itu apa, cuman bakal undo, ulangi jadi redue, potong jadi cut, salin jadi copy, itu bisa jadi, sepertnya mediumnya itu aja.

IL: Kalau menurut gw pentingnya itu dari itu dari sisi, process pada saat waktu membuat padanan, Itu menjadi suatu discusi, discusi tersebut akan membuat pemahaman. Pemahaman kita makin mendalam. Untuk kita bisa menekankan kepada orang bahwa ini terjemahan gw mengenai gadget dan widget ini bener loh, berarti gw kan mesti membuat argumentasi kan. Karena itu pemahaman semua orang yang terlibat di discusi itu semakin dalam. Itu salah satu yang menurut aku bisa dijadikan alesan kenapa kita harus memadankan semua. Kedua sebenernya bener ya, bahwa ada kebanggaan disana, kita punya loh suatu istilah unik untuk sebuah infomasi, kebanggaan bahwa bangsa Indonesia ga kalah

RW: Melanjutkan logika yang sama, hopefully masyarakat yang bakal memakai kata tersebut akhirnya bakal jadi mengerti concept yang dibicarakan. Akhirnya bukan sekedar nama, tapi mereka mengerti ada akhirnya untuk mereka yah

IL: Latar belakang gw karena medium gw wikipedia, gw mendiscusikan suatu kata, yang gw lakukan di wikipedia itu mendiscusikan satu kata. Jadi gw ga pernah takut untuk menciptakan satu kata baru yang kemudian gw harus bertanggung jawab untuk mendiscusikannya karena itu kerjaan gw hari hari.

RW: Gw lumayan penasaran, siapa sih yang mengurusin kosa kata di Indonesia, apakah ada suatu pusat pemerintahan yang bilang oke kata itu kita terima ataukan ini purely soal peer acceptance dan public acceptance?

RH: Kalau yang ngurusin kosa kata siapa, itu sebenernya dulu sudah ada aturan pemerintahnya. Nah, cuman masalahnya kan cuman dari pemerintah saja kan pasti ga terlalu jalan. Di pusat kalau badan pemerintah ada website pusat bahasa, itu yang mengelolahkan kamus KBBI. KBBI itu apa sih Van?

IL: Kamus Besar Bahasa Indonesia

RH: Gw ingetnya yang KUBI, Kamus Umus Bahasa Indonesia, Nah dari sebenernya dari pusat bahasa itu, mereka punya ahli ahli yang mencari padanannya atau mencari arti nya, kata ini di gunakan untuk apa, kemudian bagaimana penulisannya, mereka punya ahli ahlinya untuk itu. Nah kita kalau mau meresmikan mereka sebagai sumber resmi yah bisa bisa ajah, toh mereka dari sumber pemerintah, Cuman masalahnya kebanyakan istilah istilah yang gw inget dari aturan pemerintah itu ga terlalu terkenal, karena jarang yang pake itu ajah

IL: Kalau kita melihat dari pusat bahasa, cuman siapa yang membuat satu kata itu juga sama dengan bahasa English, terminology nya itu bisa di perkenalan oleh siapa pun. Itu yang terjadi di Indonesia, contoh paling populer adalah celebrities, timbul kata kata tersebut karena media dong. Nah masalah nya sekarang kalau menurut gw, misalnya orang orang, ahli musik, kenapa. Karena mau ga mau, kita tuh ga sejago mereka. Dalam penggunaan kata kata musik kita tuh ga sejago mereka. Nah yang bisa kita lakukan adalah mengerti makna artinya lah, itu yang belon kita bangun, itu yang pengen dibikin olek kateglo.

RW: Tapi itu way yang bagus banget buat ngomongin kateglo. Ada yang mau ceritain mungkin kateglo, conceptnya apa dan apakah itu kateglo.

IL: Awalnya gw sama Romi waktu itu bulan apa yah itu.

RH: Pokoknya pas gw balik, april mestinya

IL: Itu kita ketemuan disana, kita sempet ngobrol. Untuk kamus kita sudah punya, Nah kemudian, gw inget bulannya May apa Juni. gw lagi pergi ke Singapore, gw di rumah sendirian, tengah malem ga ada kerjaan, ya gw mulai bikin, siapa ya yang bisa gw rong rong, gw tanya tanyain. akhirnya sama Romi. sekitar 3 jeman kita mulai bikin concept dasarnya. tapi jadi ujung ujungnya kita ga jadi buat thesaurus, jadinya ujung ujungnya bikin sesuatu yang kamus, glorasium, dan thesaurus. Jadi pada satu website, kita bisa melihat semua informasi tersebut.

RW: Oke, kateglo ini yang belon tau bentuknya berupa website ya. Yang isinya adalah kamus, thesaurus, glosarium bahasa Indonesia.

IL: Iyah betul.

RH: Bisa di akses di kateglo.com

RW: Dan content nya itu di dapatkan dari mana ajah?

IL: … Problemnya dengan KBBI online itu adalah sulit untuk mendapatkan data dengan mudah, mereka pake system nya post link.

RW: Buat hyperlink dan sebaginya yah, bisa dengan mudah nya hyperlink ke kata kata tertentu.

IL: Betul, juga structurenya KBBI sejak awal mereka buat ada lema, sublema. Contoh coba lo cari kata blajar, pasti ga ketemu. Kenapa, karena kata blajar adalah kalau lo cari harus tau kata dasarnya apa. Jadi lo harus cari dari kata dasarnya, karena dia sublema dari lema dasar tersebut. Nah itu kan kaya lo skarang gw tanya, coba cari kata memerinci, lo tau ga harus masukin kata dasarnya apa. Kalau lo masukin rinci, ga ketemu. Karena kata dasarnya adalah perinci.

RW: Dan kateglo ini, engine nya sudah cukup pintar untuk mengenal imbuhan dan suplemanya itu.

RH: Kalau imbuhan belon, tapi kalau kata turuan sudah .

RW: Jadi satu step yang lebih canggih dari KBBI. Yang membuat kateglo itu lebih berguna lah yah

RH: Paling tidak itu lebih mudah.

IL: Lo bisa hyperlinking dengan mudah. Misalnya mau share itu gampang.

RW: Dan kembali ke point yang Ivan tadi bilang yah, salah satu cara untuk memperkenalan kata baru ke masyarakat adalah melalui kateglo. Kalau misalnya ada conflict sama pusat bahasa itu sendiri, apa yang akan di lakukan, gimana philisofi nya itu sendiri, apakah mengangkap pusat bahasa itu menjadi sebuah kitab yah ibaratnya. Oke, walaupun ada usualan kata dari peers, pusat bahasa itu source of truth akhirnya jadi pusat bahasa, atau gimana?

IL: Ini, gw pernah discusi sama Romi. Kalau gw melihatnya bahwa bahasa itu adalah jadi jangan sampai ada satu pihak yang ditinggalkan…

RH: Kalau menurut gw kan sebenernya gini, arah ke depan kateglo kan gimana cara melibatkan pengguna untuk mengisi atau kemudian menambah definisi baru atau menambah kata baru, gitu kan. Nah kalau misalkan pengin meng submit sesuatu ke KBBI pusat bahasa, kita sudah punya documentasinya, Ini loh orang memperdebatkan ini, banyak yang setuju pake itu, semua orang lebih suka kata ini. Oh yah sudah, Mungkin si authoritas sudah punya bahan untuk masukin ke KBBI, jadi kalau penerjemah tersumpah itu kalau ga salah itu harus menuju ke suber terjemahkan yang legal, kalau disini sumber terjemah legal kan yah KBBI, yang di angkat terjemahan resmi, begitu kira kira.

RW: Tadi lo sebenernya lumayan bisa membaca pikiran gw, tadi gw pengen nanya sebenenernya kateglo itu menerima submisi dari user user nya apa ga. Tedengerannya dari penjelasan lo Rom, belon tapi itu yang kalian pengen work towards yah.

RH: Iyah betul

RW: Dan lucunya begitu sudah sampai level itu akhirnya kateglo atau mungkin bisa disankutin dengan mailing list yang Ivan bilang. Kalian menjadi sebeuah kelompok leverage yah, leverage buat make sure pusat bahasa Indonesia melakukan effort yang cukup untuk develop bahasa Indonesia yang lebih lanjut yah.

IL: Iyah betul

RW: Tapi gimana find balance antara submisi yang sekedar popular trend sama submisi yang berkualitas tinggi.

IL: Yah itulah, sampai sekarang kita belon menemukan, modelnya kaya gimana kita belon nemu terus terang

RH: Sebenernya kalau ga salah dulu rencananya mau bikin model facebook gitu yah, jadi setuju atau ga setuju kalau ada kata baru yang mau di terjemahkan. Tinggal register, claim setuju atau tidak setuju, kalau misalkan mau mengirimkan kata baru, yang silahkan.

RW: Oke, dan yang mungkin perlu di balance juga antara branding antara categlo sebagai sumber kebenaran sama kateglo sebagai social group yang punya interest dalam kata kata yah. Karena misi bisa jadi ngerubah dictionary gitu ga siy.

IL: Iyah betul

RW: Yang malah akhirnya jalurnya kan beda banget dari sepertinya asensi kateglo yang saat ini kan.

IL: Itu trade off nya kan. Kita berusaha jangan sampai, itu yang lo bilang tadi. Orang jadi pakai kateglo sebagai sumber yang cukup di percaya. Gw sudah cukup pengalamanan dengan wikipedia, akedemi itu belon menganggap wikipedia sebagai salah satu sumbernya. Gw ga mau itu terjadi lagi di kateglo.

RW: Gimana caranya nge submisi sebuah kata karena kata itu kan penggambaran sebuah concept, yang mungkin abstract, mungkin fisical, iyah ga sih. Dengan mudah kalau kata itu sudah di ciptakan di bahasa asing, misalnya dalam terminology, mouse itu padaan katanya munkin orang ada bilang a, ada yang b, ada yang bilang c, ada yang bilang d, dan seterusnya. Tapi gimana kalau concept ini sesuatu yang abstract, belon tergambarkan oleh bahasa lain. Kembali ke point yang gw bilang ke lo van, eskimo punya 9 kata buat es, sementara korea punya 6 kata buat bilang kamu. Semua lebih ke culture, nilai nilai kuat apa yang mereka pegang sehari hari. Kembali ke nge tied in, concept itu dengan concept submisi kata, gimana caranya untuk menggambarkan sebuah concept kalau katanya belon ada.

IL: Dengan definisi lah, berapa panjang lo mau menjelaskan kamus itu lo harus membatasi definisi itu. Intinya harus banyak, Ada 2 hal, yang pertama adalah kata kata yang berbeda untuk suatu makna, nah itu dilakukan dengan definisi. Sebenernya sangat banyak yah di bahasa Jawa. Kata makan untuk bahasa Jawa itu banyak banget. gimana cara membedakan satu sama lainnya. Misalnya ada bahasa Jawa a, makan dengan tangan…

RW: I guess kalau misalnya kita mau turun yang lo bilang tadi yah, rabbit hole lagi yah. Kalau ngomongin soal penemuan, akhirnya berubah branding, iyah ga sih. Karena kita punya satu ide, satu ide kita namanya a karena sifatnya, apa sangat dekat dengan abcdefg dan seterusnya, Akhirnya berubah dari tadi kita ngomongin soal bahasa berubah jadi concept dan penamaan branding bahkan yah.

IL: Kateglo ajah, pertama kali kita ngumpulin kata kata itu, kita pikir itu, kateglo itu nama dari mana ini, aneh banget, tapi kita tetep ajah buat

RW: Cuman salah satu point yang aku pengen bikin juga dari pembicaraan kita barusan adalah aku takutnya karena bahasa itu adalah sangat refleksi dan cerminan sebuah culture yah kalau misalnya kita sangat konsentrasi penuh untuk kita sekedar menterjemahkan bahasa asing ke bahasa indonesia kayanya lumayan sedih Dan akhirnya cuman jadi pembuntut lah, jadi pengikut orang.

IL: By the way gw baru inget ada 1 yang kita punya.. yang secara di puter.. Yang dia lakukan adalah gini, di Indonesia itu jalanan ga boleh terlalu lama itu ditutup. Kenapa, karena kalau ga macetnya parah banget kan. Jadi yang dia lakukan adalah bikin itu dalam kondisi yang sejajar dengan jalan. Begitu sudah jadi, di puter sama dia jadi melingtang. Itu bener bener Indonesia. dan orang bule make nya nama itu. Keren kan kalau kateglo ntar dijadikan kata yang merupakan antara satu penggabungan antara dictionary, thesaurus, dan glosarium.

RW: Semoga semoga. Oke, sekarang pertanyaan terakhir sebelon kita nutupin episode kali ini. Status adopsi kata kata informasi technology di Indonesia itu sudah sampai mana menurut kalian?

RH: Sebentar sebelonnya menurut aku ada 2 sisi di informasi technology, yaitu sisi yang programmer kemudian sisi end user yang make, gitu kan. Nah kalau di sisi end user si menurut aku yah sekarang sih sudah jauh lebih bagus dari 3-4 tahun yang lalu gitu kan. Tapi kalau si sisi programmer, sebenernya menurut aku lebih baik kalau di pertahankan dengan bahasa English, karena apa, karena ya terlalu banyak documentasi dalam bahasa English dan mungkin sudah baca semua kalau lo mau ngelamar ke luar negeri dengan kemampuan bahasa Indonesia ajah, yah dibebankan, gitu ajah, Jadi kalau menurut aku pemanfaaat technology end user, saya kira jauh sudah sangat berkembang.


#19 Membuat web berskala besar bersama Wenas Agusetiawan – transkrip

Posted: October 4th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

Contents

[ hide ]

    ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

    RW: Wenas mungkin tidak asing lagi di kuping para netters Indonesia. Wenas dulunya adalah salah satu hacker atau cracker ternama yang ikut membentuk landscape net di awal tahun 2000. Saya skarang bersama Wenas Agusetiawan, sosok di balik Lintasberita.com dan juga katanya mo masuk ke tim kaskus.com

    WA: Okay, soalnya jadi kaskus itu ada masalah dengan back end nya kan sekarang

    RW: Oh gitu.

    WA: Databasenya mereka sering down, terutama orang orang yang berjualan di FJB (forum jual beli)-nya saya sangat kasian sekali. Mereka bermasalah sekali dengan databasenya. Databasenya mereka selalu down itu gitu. Akibatnya dari VBuletin.jadi harus diubah itu.

    RW: Jadi kaskus itu sekarang statenya kayak apa si? Soalnya dulu kan dia forum yang sangat besar banget yah, kayanya semua orang pasti tau kakus lah, terus sempet pergantian nama domain dari kaskus.com ke kaskus.us dan kayanya aku personally udah ga pernah ngecek kaskus lagi. Sekarang state nya masih sama yah, by the end of the day masih forum dan focus ke banyak hal yah, general yah, kaya komputer dan ngobrol ngobrol biasa dan sebagainya yah?

    WA: Betul skali, kayanya itu mereka emang punya ambisi yang sangat besar contohnya berhubung, sebenernya traffic mereka bertambah setiap harinya. Bertambah besar setiap harinya. Cuman kendala mereka lama lama yaitu back endnya mereka yang menggunakan VB itu yang merupakan software kan ga kuat jadinya harus membikin satu framework sendiri dimana itu akan memecahakan persoalan yang sekarang ini. Soalnya sekarang ini mungkin database mereka bakal menjadi tied box. Sampai suatu saat data base kaskus yang bertambah setiap harinya, bertambah giga itu kan bakalan menjadi pasaran juga di kemudian hari. Nah saya mau memecahkan masalah itu dengan beberapa technology yang akan saya gunakan gitu.

    RW: Mau coba share sedikit Wenas?

    WA: Mereka kan setiap kali ada posting atau setiap ada enquiry mereka kan bakal meng equiry database yah, tapi tetep ajah mereka ga bakalan kuat untuk menghendel kaskus. Jadi dengan cara yang terbaik adalah pertama itu kan kalau VB database partision itu kan ga bisa yah, istilahnya kalau indexsi misalnya table ini dipisah dengan table yang lain, kan itu VB itu ga bisa yah, jadi memisahkan table tablenya itu di beberapa mesin yah. Jadinya pertama methodnya sih gampang, terus di bagian memory nya saya mau menggunakan technology yang mestinya sudah lama ga catching yah, tapi juga menggunakan yang keuntungan buat memory soalnya memory itu sebenernya sangat cepat sekali untuk dibaca seperti flash disk kan. Flash disk itu kan kenceng skali kan, bahkan lebih kenceng dari hard disk  Ya itu yang akan saya sangat menfaatin.

    RW: Jadi sepertinya kedengerannya kaskus bottle heck nya ada di database yah dan karena menggunakan vBulletin itu, databasenya ga bisa di scale out lagi jadi lo pengen bilang bahwa kayanya cara yang paling gampang buat benerin ini adalah bikin suatu custom solution sendiri dimana lo punya full control sama database nya dan lo rencana mau dipecah secara vertical, beda table dan dibeda mesin dan ngegunain caching yang sangat agresif juga, kedengeran gitu yah.

    WA: Ini yang menbuat tantangan adalah kaskus itu kan rush update yah, setip saat user bakal reply, membaca, dan juga menulis kan. juga membuat advertising buat kaskus. Software advertising ini juga saya liat satu detiknya kaskus menghandle 60ribu hit per second

    RW: Gila banget, infrastucture di blakangnya kaya apaan Nas?

    WA: Saya kmaren sempat ke data center mereka, mereka kan punya satu dibisnet kan, ada buka kaskus,us, itu kan mereka berdasarkan coneksinya bisnet yah. Nah itu didalamnya mereka kalau ga salah ada 15 mesin, mungkin kalau ga salah database mereka cuman ada 1, web server mereka ada 5. Nah itu saya liat dari permasalahan utama itu ga tau memo yang dibutuhkan berapa soalnya banyak sekali modu modu di vBulletin yang sangat tidak berfungsi, sangat tidak digunakan soalnya itu bukan custom software sendiri kan. Nah itu juga bisa di trim untuk menjadi solusi problem ini.

    RW: Terus nanti lo rencananya untuk framework yang baru ini bakal di built pake flatform apa? vBulletion itu php kan yah?

    WA: Ini php tapi saya juga menggunakan python atau C++, saya masih mikir. Tapi jadi saya mau membikin phython atau C++ untuk caching nya saya mau membuat sendiri jadi technologynya bakal di focuskan untuk kaskus saja gitu.

    RW: oh wow, keren sekali. Ini bakal ada challenge yang besar mungkin di hal migration kali yah karena kaskus dengan 60ribu request per detik tentunya mereka ga bisa afford buat ada down time sama skali kan. Udah mulai mikir strategy gimana buat transisi pelan pelan dari sisi vBulletin untuk pindah ke framework yang baru ini atau mungkin malah nanti bakal langsung pindah?

    WA: Saya mau mencoba dimana section yang paling sibuk yaitu launch. Saya akan nge test itu software disana. Jadi saya pengen tau kemampuan software saya sejauh apa, jadi di uji cuman 1 section itu ajah. Sekarang ini yang saya rencanakan itu yah, itu ga bakal memakan database sama sekali, bahkan saya sudah meng test kemampuan punya saya memory caching itu. Kenapa kaskus mau menggunakan saya karena sudah ada bukti di advertising system saya kan. Advertising system saya itu hanya menggunakan satu mesin dimana udah di test di kaskus yang 40-50ribu per detik dengan hanya menggunakan satu mesin.

    RW: Ini yang namanya memory caching itu?

    WA: Iyah, memory caching technology, semacem in cache. Saya juga lagi membikin advertising system, yah seperti google essence lah ya. Saya menggunakan memory technology saya disitu untuk caching dan juga untuk display advertising dan juga untuk picture cachingnya, ada photo lah ya, terus ada juga untuk perhitungan cpm dan cpc advertising advertising itu loh Pak. Saya test di kaskus dengan hanya menggunakan 1 mesin jadi kaya istilahnya mesin ini lawan dengan 30 mesin yang dengan hit gitu Oak. Dan itu berbahan bagus sekali, makanya saya bangga sekali dengan momory caching ini.

    RW: Itu ada tips trick apa yang lo pake Nas, bisa sampai dari 30 mesin lo cuman butuh 1 mesin untuk nyamain performance 30 mesin?

    WA: Ini caching sangat pengaruh.

    RW: Jadi intinya lo ga mau hit database sama skali yah, semuanya in memory ajah?

    WA: Iyah di memory, jadi istilahnya kita menggunakan. misalnya saya sering membicarakan kenapa youtube bisa bertahan dan lain lain itu saya coba brainstorm untuk kaskus. Sebebernya ada tips untuk kaskus yang bisa saya bocorkan, skarang kita melihat forum itu. Bapak bisa baca forum itu halaman brapa ajah pak?

    RW: Paling awal dari satu, kedua, kalau kebanyakan langsung lompat ke terakhir ajah kan

    WA: Iyah anggap ajah kaya gitu, ga mungkin orang baca tengah tengah itu. Yang di tengah tengah itu istilahnya data yang non aktif ya Pak. Data non aktif itu harusnya ditaro dimana, mungkin di xml dimana yang tidak pakai, mungkin di database itu ga masalah soalnya itu jarang di qeuiry sama orang. Sedangkan yang depan itu sendiri yang sering di qeuiry sama orang, itu seharusnya dibuat caching,

    RW: Jadi lo sebenernya intinya kekuatan performance framework lo itu dari sisi lo bisa menentuin dari sisi secara mendetail apa yang bisa di cache apa yang usah di cache dengan tujuan lo meninggikan hits yah supaya ga banyak miscache nya yah.

    WA: Ya, supaya efficient lah istilahanya, Dan juga kita melihat prilaku user juga. Saya juga lagi membikin istilahnya data mining. Sebenernya itu juga ga dibutuhkan yah, cuman istilahnya dan juga advertising system saya juga bisa mirip data punya user, jadi istilahnya user ini serving as gimana, anggap saja di kaskus juga bisa di gunakan dalam context ini Pak. Kalau misalnya orang ini tendency nya membuka bagian jual beli nya atau bagian olah raga, kita kan tau orang bakal buka ini terus di jem gini. Itu bakal jadi, istilahnya memory yang banyak bisa di assign di category tertentu, Misalnya anggapnya bapak dari Australia, Australia kan pagi, disini mungkin di Indo malem. Jadi Australia malam, indo pagi, Oke contohnya kan perbedaan waktu, itu digunakan untuk efficiency Pak. tapi kaya youtube juga menggunakan itu, misalnya dari orang user Indonesia tendency nya menbuka video dangdut iyah kan. dibagian mesin sini dikasih ke video dangdut ajah. Kita collect data juga gitu.

    RW: Jadi pake trend analysis buat nentuin caching strategy yang tepat untuk setiap regional yah. Kembali jadi lo kayanya dapet data dari sisi strategy nya ngambil granular banget antara vertical businessnya, which is launch dan sebagainya atau dari usernya atau dari regional dan lo nentuin apa yang paling tepat untuk di caching untuk situasi seperti itu yah. Aku cuman penasaran ga ada solusi third party yang sudah tersedia dipasar soalnya kalau dalam .net sudah ada banyak caching solution yang ada dipasaran. Tapi untuk dalam dunia Linux, open source dan sebagainya, ga ada third party yang bisa dipake?

    WA: Ini ada, name cache kan. Name cache ini juga fungsinya sama, basicly mereka menggunakan   itu istilahnya IMPU emang itu kaya pipe yang paling cepat untuk memo management itu. namanya IMPU pak. Cuman IMPU itu sering membikin computer jadi hang gitu soalnya kadang dia ga bisa kalau capasitas memo mesin ini over flow. Ya kalau punya saya ini, bisa ada controlnya. dikhususnya buat web development gitu, kalau lintasberita masih belon.

    RW: Mumpung lagi menyebut lintasberita ni, kita bahas tentang lintasberita. Cerita sedikit lintasberita itu apa,

    WA: Sebenernya kejadiannya tuh seperti ini, dulu tuh lintasberita tuh memakai open source yah, yang kaya open source book social marking gitu lah. Terus saya tuh sangat tidak puas, dan mereka tuh kebetulan temen saya. Dan saya mau dikasi saham, okay lah, maksudnya saya juga sekarang juga sekalian pengalaman yah. Saya kepikiran kalau harusnya saya bikin dari nol gitu, akhirnya saya bener bener bikin dari 0 code. Saya bikin semuanya sendiri, makanya skarang jadi lintasberita gitu.

    RW: Dan lintasberita belon make teknik caching caching yang keren seperti sekarang ini yah

    WA: Oh itu mereka masih memakai caching yang biasa, cuman name cache. Sebetulnya name cache saya sudah mengerti, makanya saya bisa bikin software yang lebih bagus dari itu. Memang lintasberita memakai name cache gitu, sangat tidak efficient sekali itu, terutama commentingnya yah masih belon efficient.

    RW: Tadi kan kita sempet ngobrol sebelon mulai wawancara yah bahwa Wenas pernah kerja di Electronic Art yah. Gimana tuh pengalamannya?

    WA: Tidak ada yang special, berhubung saya cuman junior developer yah Pak

    RW: Oh gitu, seperti kerja kantor biasa ajah?

    WA: Yah istilahanya, mereka kan pake C sharp yah, dan saya ngerti C sharp sedikit sedikit,

    RW: Electronic Art pake C sharp buat bikin game nya?

    WA: Iya.

    RW: Tapi tetep di compile ke .net dan sebagainya, apa mereka punya compiler sendiri?

    WA: Mereka punya compiler sendiri yang khusus.

    RW: Jadi bener bener compilernya semua propriety tapi bahasanya ajah pake C sharp gitu yah.

    WA: Iyah betul.

    RW: Berarti semua framework nya juga propriery bukan pake .Net sama sekali?

    WA: Ga ga, engine nya itu kan digabungin dengan team engine mereka. Sebenernya sama semua ga ada system. Memang mereka bikin semuanya sendiri dari awal, jadi ga terlalu rumit Pak.

    RW: Wenas, dulu ngerjain project apa pas di IE?

    WA:

    RW: wow, dan ngerjain bagian apanya?

    WA: Cuman bagian sedikit Pak.

    RW: Jadi ada bagian sama physic engine nya gitu dong?

    WA: Istilahnya saya kan problem solver yah, istilahnya saya suka mecahin problem yang belon pernah dipecahin sama orang, saya paling suka itu.

    RW: Terus Wenas ada apa lagi yang mau dibahas bisa di share sama teman teman yang lain?

    WA: Saya pernah mencoba Ruby on Rail yah. Itu kan mereka menggunakan, sebenernya tuh cuman over hype. Skarang anggapnya coder nya sendiri mengaku, mereka sering nge restart mereka punya web server. Saya emang pernah coba Ruby on Rail, emang itu berat skali Pak. Saya ga tertarik dengan Ruby on Rail, saya tertariknya dengan python dan caching dan infrastructure dasarnya lah, tertarik dengan ke efficiency. Saya melihat sendiri dengan good software design dan kemauan tinggi untuk mengembangkan itu system, ga ada yang ga mungkin

    RW: Design design apa yang lo harus pikirin supaya dapet performance yang sangat efficient?

    WA: Jangan selalu menggunakan software yang sudah ada. Tendency orang itu menggunakan emang sesuatu yang sudah ada, Orang itu selalu brepangsaka kalau Ruby on Rail itu bisa digunakan untuk website yang emang sangat serius dengan ebusiness. Jadi kita harus melihat dari sisi business juga, kalau tuh business anda emang berhubungan dengan internet,dengan seach engine. Kalau dikasih dengan framework, itu sangat tidak cocok sekali kan. Nah kalau misalnya website company yang biasa, misalnya company besi atau company tambang kalau punya website, kalau pake Ruby on Rail sangat cocok. Jadi designnya tergantung dengan kebutuhannya gitu Pak.

    RW: Oke, on that note, makasi banget sudah ngobrol dengan temanmacet.com

    This page is wiki editable click here to edit this page.

    #13 dari TDD sampai BDD – transkrip

    Posted: September 28th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

    Contents

    [ hide ]

      ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

      RW: kali ini gue pengen ngomong sama Hendry lagi soal lebih ke Test Driven Development karena gw tau Hendry sangat aktif. Lo mau ngejelasin sedikit ga kenapa lo suka Test Driven Development.

      HL:boleh. Test driven development gw demen karena bisa dibilang ini natural way of working. Jadi gimana cara lo nulis codenya itu. Jadi sebenernya awal awalnya gw dengan Test Driven Develop ga make sense. Kalau lo pikir pikir the fact, jadi pertama tama lo mesti nulis test ini sebelon code. Sebenernya ga make sense kalau lo pikir pikir apa yang mesti lo test kalau misalnya lo ga punya code nya. Cuman belakangan lo bakalan nyadar kenapa mesti begini makanya mengapa lo mesti nulis code kalau misalnya ga requirementnya. Jadi sebenernya lo ga bakal nulis code yang ga ada di requirement.

      RW: Okay, jadi lo melihat Test Driven Development ini sebagai do as little as possible buat nge satisfy specification nya yah. Jadi lebih Specification Driven Development sebenernya yah.

      HL: Salah satu manfaatnya yah itu. Walaupun manfaat kedua adalah buat design.

      RW: Nah ini interesting juga bahwa lo ngomong Test Driven Development pertama adalah yaitu buat specifikasi, yang kedua adalah buat design. Tapi lo ga  sama skali ga ngomong bahwa the fact pentingnya buat ngetest code lo.

      HL: Karena sebenernya Test Driven Development ini satu hal yang paling misleading dari Test Driven Development atau Unit karena penggunaan kata test. Sebenernya Test Driven Development itu doesn’t have anything to do with test, in fact Test Driven Developmentnya tahunnya sebagai development bukan buat test. Jadi Test Driven Development itu ga ada hubungannya sama test. Ini adalah bagaimana development itu adalah development practice bukan test practice. Jadi kalau gw ngomong unit test, kadang kadang ada beberapa team yang misalnya ga familiar dengan unit uest, yang ada di bayangan mereka adalah quality. Sebenernya unit test itu bukan nyari bug, sama skali bukan buat nyari bug. Makanya belakangan ini unit test mulai di ganti. Misalnya x unit, diganti kata test di x unit kata baru diganti dengan kata fact. Karena itu adalah fact requirement. Dan Test Driven Development mulai berkembang juga menjadi design by example atau bisa juga yang mulai baru mulai di ganti dengan Behaviour Driven Design.

      RW: Coba bentar bentar, kayanya mulai overload ni. Gw belon pernah denger design by example sama Behaviour Driven Design. Ini semua bedanya apa ni, dari Test Driven ke design by example and so forth. Coba lo bisa jelasin sedikit.

      HL: Design by eample itu sebenernya memperbaiki kata Test Driven Development. Jadi design by example itu kita punya example, examplenya itu adalah test. Jadi kita mengungkapkan fact. Sebenernya yang paling penting dalam satu application itu adalah unit test nya. Sedangkan code sendiri itu adalah . Code itu cuman membuat unit test jadi hijau.

      RW: Wah ini kayanya satu fakta yang sangat penting banget karena gw di kerjaan gw sehari hari project saat ini gw ga melakukan Test Driven Development. Di pet project gw di luar waktu kerja, gw melakukan Test Driven Development dan yang gw nemuin adalah code test gw lebih panjang dan lebih banyak dari code yang gw bikin. Ini salah satu kenapa gw tertarik banget ngobrol sama lo tentang Test Driven Development karena gw mikir apakah gw salah nulis test nya menghasilkan spaghetti code di test side atau apakah ini expected?

      HL: Sebenernya diskusinya kita mesti lebih rinci apakah ini Test Driven Development versus test after development atau Test Driven Development versus sama skali ga ada unit test. Jadi kalau misalnya lo test Driven Development atau Test After Development, sebenernya jumlat unit test yang lo tulis kan sama ajah jumlah banyaknya. Cuman bedanya lo tulis after development bakalan lebih susah

      RW: lo harus refactor code lo supaya akhirnya jadi testable yah.

      HL: betul, jadi lebih banyak effort sebenernya. Tapi kalau misalnya kita lagi ngomongin sama skali ga ada nulis unit test, itu sebenernya sudah hal yang sangat sangat salah karena ga ada unit test. Unit test itu bisa di bilang kalau mau pake code atau mau unit test menggunakan mouse sama keyboard. Mouse sama keybouard itu ga scaleable jadi lo ngulangin itu terus tiap kali lo ganti code. Jadi sebenernya buat jangka panjang itu lebih banyak effort. Test Driven Development itu sebenernya, ada yang bilang itu adalah evolution dari ,  sebenernya menurut gw itu ga accurate. Menurut gw itu Test Driven Development itu adalah hal yang sama tapi di lakukan dengan hal yang benar. Jadi Test Driven Development misalnya lo bikin test yang terlalu banyak accertention nya, terlalu banyak ga jelas, ga bisa dibaca. Tapi Test Driven Development itu bikin grammer yang baku buat nulis ini test, dengan kata kata when. When gw kirim duit dari account A to account B behave like account transfer A money, jadi itu adalah grammer buat nulis Test Driven Development.

      RW: Jadi rules buat make sure kalau lo ngelakuin Test Driven Development lo ngelakuinnya the right way dengan testing the right stuff di level yang tepat juga yah.

      HL: Benar, Sebenernya beberapa introduce symantic yang bikin lo berpikir dengan cara yang benar. Misalnya symantic yang biasa dipake  jadi dalam Test Driven Development ada yang namanya context. Jadi kalau lo nulis test lo mesti dipanggil contextnya apa dan context itu specific. Jadi contextnya lo bisa nulis jika a adalah apa dan b adalah apa maka action nya apa. Maka ada context ada action dan ada associate. Jadi tiga context itu define lo punya unit test. Jadi lebih gampang dibaca. Salah satu framework yang lo bisa liat kalau lo mau coba coba Behaviour Driven Development dot Net itu ada MBA itu lumayan . Itu adalah extention dari N unit.

      RW: Wow, very cool. Terus skarang ada banyak discussion soal kalau unit test lo pake mocking framework atau ga. Dan kebanyakan kalau Test Driven Development people pasti make mocking kan karena bagi mereka tanpa mocking ngelakuin Test Driven Development lumayan sulit ya karena harus buat stubs nya satu per satu dan sebagainya. Menurut lo gimana? Posisi lo terharap mocking framework kaya apa?

      HL: Mocking framework tuh bener bener membantu. Jadi bisa gw bilang itu hal yang bagus. Gw ga bisa argument tentang hal yang jelek tentang mocking framework.

      RW: Tapi satu post yang g baca di blog lo, lo membahas tentang specification pattern yah. Lo argue bahwa ga setiap saat lo butuh mocking framework.

      HL: Betul, nah ini sebenernya lo juga mesti aware bahwa ada 4 macam test isolation. Jadi ada stub, mock, fake, ada spy. Jadi lo mesti pake, Jadi mock itu bukan satu satu nya hal yang lo bisa pakai sebegai senjata lo. Jadi lo mesti bisa pake hal yang tepat supaya lo bisa nulis test yang lebih bagus,

      RW: Lo bisa run through dikit bedanya antara mock, stub, fake sama spy itu apaan?

      HL: Jadi kalau bedanya stub sama mock itu sebenernya itu paling penting. Sebenernya bedanya mock sama stub itu adalah state verification dengan behaviour verification. Jadi kalau misalnya lo tulis dengan Stubs misalnya let say lo beli barang bikin sell order 20 pieces Nokia. Jadi lo kalau misalnya lo menjual 20 pieces Nokia, lo mau make sure bahwa barang di inventory lo itu berkurang lebih sebanyak 20. Nah ada 2 cara buat ngetest ini jadi cara yang pertama menggunakan Stubs. Misalnya lo bikin frame repository. Jadi isinya ada 100 nokia melakukan sales jadi sisanya tinggal 80 barang. Jadi ini adalah technique stub. Jadi lo stub 100 barang di dalam situ. Nah satu lagi itu techique Mock. Mock ini lo tuh ga peduli lo punya data base atau lo punya repository, dia cuman peduli lo sebagai part of sales operation lo panggil method buat mulangin barang sebanyak barang 20 biji ke repository dan lo ga peduli state nya bahwa state dari repository kaya apa. Jadi lo cuman butuh interaction, interaction antara satu object dengan object lain. Nah itu adalah mock.

      RW: Kalau fake dan spy?

      HL: Kalau fake itu cuman . Sorry yang satu lagi bukan spy, tapi dummy. Fake itu jadi kaya yang tadi gw sebutin itu repository sendirinya itu adalah fake bahwa repository itu bisa bekerja dengan baik, full finctional, tetapi lo ga bisa taro di production.

      RW: Ini kaya ibaratnya kaya lo nulis stubs secara manual yah. Itu sebenernya lo bikin fake object yah.

      HL: Benar. Untuk 2 hal yang gw sering pake itu yang tadi repository itu product nya sendiri adalah stub karena misalanya lo get Nokia lo balikin Nokia sebanyak 100 biji, yang lo balikin itu adalah stub. Repository sendirinya adalah fake. Jadi repository itu sering gw dengan menggunakan inner memory, misalnya pake siculate. Jadi kalau pake siculate itu ga mungkin pakai siculate di production, tapi cuman ada disitu sebagai fake. Dan satu lagi yang sering gw pakai misalnya buat station as requested sering pakai fake fully functional kalau lo tulis disitu requst.set lo bisa pakai dengan baik, cuman itu ga bener bener web beneran, itu cuman boongan.

      RW: Sekedar history juga itu salah satu yang paling sulit buat Test Driven Development people dalam menghadapi web form adalah htp context itu yah karena life cycle nya kita ga control dan tiba tiba ada dan gunanya sangat banyak. Dan ini salah satu yang cukup sulit untuk di fake. Iya ga sih?

      HL: Benar. Ini sebenernya gw ga mau Fake, sebenernya menurut gw hal yang ga bagus. Menurut gw sebaiknya ga di test karena kita mau web people ga mengandung logic ga mengandung requirement apa pun, web itu cuman buat presentation doang sebenarnya.

      RW: Dan ini kembali ke arah kenapa sekarang ASP. Net punya webform juga punya visi framework yah which is membiarkan view nya sangat pasif, sangat dump dan ga membagi semua kepintarannya ke controller dan module itu yah. Skarang gw pengen balik ngomong soal mocking lagi bahwa tadi lo ngomong mocking itu test bukan state tapi interaction. Jadi kalau misalnya gw nulis Unit Test biasanya gw ngomong function ini misalnya lo should ngambil semua barang dari repository dan misalnya gw nge test controller. Jadi system under test nya adalah sebuah controller dan gw pengen ngetest kalau gw manggil lo, di object controller ini dia akan ngambil semua barang dari repository. Kalau gw ngegunain mocking framework yang akan gw lakuin adalah gw set repository boongan, gw bilang repository ini akan dipanggil, method nya find all dan should return a couple of stubs. Abis itu gw panggil controller nya dan gw bakal asersi apakah find nya dipanggil beneran apa ga. Biasanya tapi system ga simple itu kan biasanya lo pengen nge asersi bahwa, okay, repository bakal ngembaliin semua object dan untuk setiap object ini gw bakal ngelakuin operasi ini yah. Jadi gw punya dua expektasi satu repository bakal di panggil dan ngebalikin beberapa object dan expektasi yang kedua adalah setiap object yang dipanggil harus dilakukan operasi tertentu, Dari sisi lo seorang Test Driven Development guy itu seharusnya gw lakukin itu di dua test scenario yang berbeda atau di satu scenario ajah? Karena sangat mudah untuk melakukan ini di satu test iyah ga sih. Gw tinggal bikin expect expect jalanin tapi secara bersamaan gw bisa take into extreme iya ga sih. Gw bisa bilang expect expect expect ini banyak banget expectasi nya karena gw bisa melihat berbagai macam interaksi dan secara code gw ngerasa less repetition on the testing side. Gw ga usah bikin mocking nya berkali kali, stub gw berkali kali. Gw set up once, gw set up expectation nya semua dan gw test all in one go. Lo ada opini ga tentang kedua approach tersebut?

      HL: Sebenernya lo baru point out tentang perbedaan Test Driven Development biasa dengan Behaviour Driven Development. Jadi kalau lo main di Behaviour Driven Development lo mesti bikin expektasinya itu, lo mesti bikin context dan mesti bikin expektasi satu per satu, jadi lo ga bikin satu biji expektasi yang isinya segala sesuatunya. Lo bikin expektasinya pendek dan bagian yang panjang biasanya bagian yang paling penting kenapa Behaviour Driven Development  gampang dibaca adalah karena biasanya isinya cuman 2,3, atau 4 baris doang, jadi ga lebih dari itu. Maksudnya isi metod lo cuman palingan 4 baris. Yang paling panjang biasanya context, set up context nya itu yang paling panjang. Jadi kalau misalnya lo pake cara semua langsung ke method biasanya  bakalan panjang banget isinya dan susah dibaca. Jadi built in context ini penting. Perbedaan yang paling penting ini sebenernya kalau perbedaan antara Test Driven Development biasa dengan Behaviour Driven Development biasanya itu paling kelihatan, satu test harus context dalam TDD. Jadi 1 test itu lo set up context nya disana, set up segalanya disana. Emang ga ada set up method, cuman set up method itu akhirnya ga lo pake buat set up context setiap test cases. Tapi kalau Behaviour Design set up method itu dipakai buat set up context nya jadi isi dari test method itu strictly isinya cuman execute dan exertion doang

      RW: Kembali ke soal Behaviour Driven Development itu tadi, ini sebenernya nge apply good practices principals yang sama yang biasa kita lakuin di code tapi dilakuin di unit test. Jadi satu method ya harus punya satu single purpose, dan juga dengan naro semua expektasi nge set context nya itu di set up method kita juga ga melanggar principal don’t repeat youself. Kita cuman punya single point of control, set up semua context nya di set up method dan setiap methodnya harus punya 1 single purpose which is nge verify scenario yang sesuai dengan behaviour specification nya yah.

      HL: Dan sebenernya rule of thumb nya adalah 1 text picture atau 1 scenario, jadi ini beda banget sama Test Driven Development. Kalau TDD kan 1 test method per scenario. Jadi kalau di tarik keluar satu test picture itu meng describe satu scenario itu, 1 scenario doang. Jadi dia ga meng describe scenario lain. Jadi scenario lain itu di define sebagai text picture baru.

      RW: Okay. Maksud lo scenario itu misalnya gimana?

      HL: Jadi scenario itu misalnya di kasus lo ini, kasus lo ini misalnya adalah jika barang inventory available maka harus melakukan ini. Itu adalah satu test picture. Itu bukan satu test method.

      RW: Tapi apakah bukan dalam hal itu lo cuman punya satu test method dalam satu test picture itu.

      HL: Nah jadi lo ga selalu bisa di karena barang lo available maka. Setelah kata maka itu bisa kenapa pakai test method.

      RW: Dan ini buat memastiin bahwa lo sudah nge cover berbagai macam outcome nya yah. Jadi walaupun lo nge cover scenario yang sama tapi mungkin lo bisa menanyakan oh postive nya gimana, negative case nya gimana, neutral case nya gimana.

      HL: Benar, dan ending nya sendiri punya tool, jadi kalau lo run dia bisa generate report yang lo bisa baca sebagai document biasa. Dia bisa ngubah camel casing di document lo menjadi kata kata yang bahasa inggris.

      RW: Kayanya kita nge jump satu fakta yang paling penting. Semoga podcast pendengarnya ga pada bingung which is kita nulis grammer behaviour nya lebih sering sebagai nama methodnya yah. Kita menggunakan camel casing atau bahkan dipisahin dengan underscore dan sebagainya yah. Jika bla bla maka bla bla. dan ini nama methodnya. Dan yang lo bilang barusan adalah beberapa Behaviour Driven Development akan mengubah nama tersebut menjadi sebuah document yang mudah di baca.

      HL: Iyah, benar banget, kurang lebih begitu.

      RW: Okay, very cool. Terus ada hal lain yang mungkin lo pengen ngomongin soal Test Driven Development. mungkin ada kesulitan kesulitan atau tips tips tertentu yang lo biasa pake dalam melakukan Test Driven Development.

      HL: Sebenernya yang paling susah dalam Test Driven Development adalah meyakinan tim lo. Jadi management lebih susah dari computer, dari pada technical stuff. Yang paling susah adalah banyak orang yang complain bahwa lo setelah pakai TDD masih ada bugs juga, jadi buat apa lo pakai TDD. Atau juga gw sudah punya tester dari vendor lain. Jadi tester itu khusus kerjaannya tester jadi buat apa kita mesti nulis test panjang panjang. Ini sebenernya sama presepsinya karena kata kata test ini. Jadi ini sebenernya yang paling penting buat highlight bahwa sebiasa mungkin gw menghindari kata kata test.

      RW: Okay. Dan ini gw juga pengen tied in sama beberapa discusi yang gw punya yah, which is sama persis sama scenario lo dimana timnya lebih cendurang ejay in sense of timnya ngelakuin scrum, nge keep track velocity nya dan sebagainya tapi pada saat yang bersamaan karena projectnya cukup besar akhirnya butuh testing team dan karena kata kata Test Driven Development itu sendiri menjadi blur siapa yang melakukan testing, siapa yang responsibility nya apa dan sebagainya. Kalau kata test itu berubah jadi mungkin Behaviour Driven Development atau apa pun kata kata yang lain mungkin bisa mengatasi salah kaprah itu yah bahwa ini all about coming up with good design and less about quality. Walaupun akhirnya nge impact quality juga gitu kan.

      HL:Jadi jangan sampai orang, makanya yang paling berbahaya itu kan orang sudah nulis ini test, ga nge test lagi applicationnya, Karena unit test itu sebenernya bukan nge test. Jadi kalau misalnya lo ngeliat bug setelah Test Driven Development sebenernya ga berhubungan. sebenernya itu sudah beda discusi,

      RW: Okay terima sudah ngobrol sama temanmacet.com. Mungkin lain kita bisa ngobrol tentang topic yang berbeda.

      This page is wiki editable click here to edit this page.

      #14 Ariya baru balik dari LinuxTag 2009 dan Gran Canaria – transkrip

      Posted: September 28th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

      Contents

      [ hide ]

        ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

        RW: Halo saya Ronald Widha.

        A: Dan saya Ariya

        RW: Kita sudah lama ga ngobrol gini ni ya, sudah hampir 3 minggu kali yah. Kamu cuti dari temanmacet. Cerita dong ni ngapain ajah.

        A: Betul jadi 3 minggu kmaren ada 2 events penting, yaitu LinuxTag di Berlin dan Grand Canaria Desktop Summit. Kita mulai LinuxTag dulu yah. LinuxTag adalah acara tahuan untuk para fans open source dan free software di Jerman. Acaranya di Berlin. Beberapa tahun lalu pernah di kota lain, tapi mulai tahun berapa tuh, skrang diadakan di Berlin. Nah disini ada exibisi, dan ada presentasi dan conferensi.

        RW: Ini eventnya gratis apa mesti bayar? Gratis lah yah mestinya

        A: Bayar bayar

        RW: Oh bayar, oke.

        A: Tapi murah kok dan ada discount untuk mahasiswa dan students. Terus beberapa hari dan ada beberapa ratus stands, jadi banyak, mulai dari stand jual buku, hampir semua distro Linux.

        RW: Audiencenya buat siapa ajah, LinuxTag ini?

        A: Audiencenya tadi, untuk para professional dan fans yang di seputar open source dan free software. Jadi ada stand dari open source yang terkenal, misalnya dari open office kemudian KDE, GNOME, dan masih banyak lagi. Tapi yang menariknya itu adalah presentasi,karena ada bisa nge track khusus track KDE. Hari sabtu kalau ga salah, saya juga ada satu presentasi tentang programming graphic Qt, tapi ada juga membahas mengenai Qt 4, semantic desktop, terus ada social desktop. Presentasinya campur yah ada yang bahasa english ada yang bahasa Jerman kan memang target marketnya kan orang orang di Jerman.

        RW: Highlights nya apa nih di LinuxTag?

        A: Sulit ngeliatnya karena ntah sudah LinuxTag yang kebrapa ni yang sudah saya datangin. Kalau pertama tama liat masi penasaran, tapi kalau sudah 5 6 kali liat, sudah tau gitu, di standnya pasti ini.

        RW: Ada trend tertentu ga yang muncul di LinuxTag tahun ini?

        A: Ada yang menarik itu distro untuk netbook. Skarang kan netbook seperti kacang goreng laris dan semua ada satu pola yang sama dari semua distro yaitu menciptakan semua versi netbook nya. Perlu sedikit effort karena layarnya lebih kecil, feature juga terbatas. Harus dirancang supaya hemat baterai dan sebagainya.

        RW: Jujur aku juga sempat lumayan excited sama salah satu Linux distro namanya Jolly cloud kalau kamu udah pernah denger apa ga

        A: belon pernah

        RW: Itu aku ga tau siy apakah akan bagus apa ga, cuma dia sama targetnya lebih ke netbook dan karena target audiencenya para pengguna netbook jadi di bikinnya lebih konsen ke social networking, lebih ke semuanya web application dan terutama yang menuju arah yang serupa adalah yang big player adalah google. Google baru kan minggu lalu announce Chrome OS.

        A: Jadi ini pasar yang menarik di tahun kedepan, dipastikan semua pemain besar akan mencomplok pasarnya. Yang menariknya karena rata rata yang harus didukung social feature, harus dipastian seperti facebook dan social network lainnya harus berfungsi dengan baik. Dan ada satu saat netbook dilengkapi dengan bukan hanya dengan wifi tapi misalnya GPRS, 3G dan sebangsanya.

        RW: Kamu pengguna netbook ga?

        A: Ga

        RW: Nah, aku bingung deh maksudnya siapa kira kira pengguna netbook karena orang orang yang lebih programming seperti kita ini tentunya nganggep netbook itu terlalu kecil dan terlalu underpowered, iyah ga si buat programming. Tapi buat orang orang yang ga terlalu computer minded, mereka mungkin lebih prefer iphones lah, yang lebih kecil bisa masuk kantong. Kayanya netbook menurut aku nanggung, iyah ga?

        A: Waktu di Italy ada satu kegunaan besar yang ga bisa ganti, yaitu waktu kita menghadiri konferensi terus kita mau mencatat, netbook itu ga terkalahan karena baterenya tahan sama lamanya dan kita lebih mudah kan kerja dari pada pakai laptop lebih besar. Nah itu penting, jadi untuk developer sebenernya bukan masalah untuk computing power karena kalau menggunakan software. Yang masalah itu layar. Kalau buat programming power kan tinggal remote desktop, bisa tersambung. Dan saya juga rencana mau beli netbook, sedang mencari cari yang mana. Dan itu kalau di rumah lebih practice, apa lagi kalau duduk di sofa buka netbook, remote desktop ke desktop yang dual quad core, selesaikan. Sementara itu bisa sambil social feature.

        RW: Terus ada apa lagi ni LinuxTag yang pantas di share sama teman teman?

        A: Di LinuxTag, rasanya itu yang menarik, yang seru di Grand Canaria. Nah ini baru ni, rajanya conference. Grand Canaria Desktop Submit adalah untuk pertama kalinya KDE contributor dan GNOME contributor conference disatu tempat. Akademy dan GUADEC. Sebelonnya selalu pisah pisah dan tempatnya lain lain, dan waktu nya selalu ga bersamaan. Nah ini untuk pertama kalinya bersamaan. Dan keynote nya lumayan menarik ada dari Rpbert Lefkowitz, ada dari Walter Bender , ada Richard Stoneman. Yang Richard Stoneman yang kontroversi karena dia seperti biasa dia selalu priercing pree softwarenya,kemudian yah yang standard lah, siapa yang pernah mendengar presentasinya RSM pasti tau modelnya gimana.

        RW: Aku ga tau, jadi coba mono di bashingnya kenapa ni?

        A: Karena masalah ada persoalan. Kan opini dari software Indonesia, mono itu berbahaya mengandung hak pattern dan semacamnya kan. Untuk Novel ga masalah, karena Novel punya perjanjian khusus dengan Microsoft. Tapi itu kalau dibahas bisa 2 3 jem sendiri, dan tiap orang kayanya punya opini opini sendiri.

        RW: Lucunya aku lately baru denger tentang permasalahan yang serupa, aku ga tau ini permasalahan yang sudah lama yah di dunia open source. Aku dengar bahwa salah satu alasan kenapa mono menjadi bahan kunjingan karena itu mengandung bahan compiler, oh bukan compiler, tapi CLI nya common language run time nya buat C sharp dan yang dilakukan oleh Microsoft adalah memberikan janji jadi bahwa community agreement atau gimana bahwa walaupun itu property masih dimiliki Microsoft tapi mereka menjanjikan bahwa kita ga bakal nge sue communitas yang mau make, mungkin ini buat mengatasi masalah ini kali yah

        A: Betul, secara teknis keynote dari tahun ini kurang maksudnya, hanya untung memancing kontraversi, ajdi muatan teknisnya ga ada lah. Menurut saya salah satu keynote yang menarik adalah tentang Sugar. Sugar adalah desktop yang untuk education. Jadi dibuat dengan python. Masih ingat Logo?

        RW: ga.

        A: Yang brapa puluh tahun lah di gunakan anak anak untuk blajar programming. Tapi skarang targetnya dengan phyton jadi kelebihan sugar desktop karena ditulis dengan python jadi mahasiswa atau sisaw yang blajar bisa buka source code nya, dia bisa ganti, hackable desktop lah untuk anak anak. Tujuan untuk mengajarkan lebih baik programming bukan seperti hal yang skarang, hal yang rumit di sembunyikan tapi semuany di tunjukan. Kalau mau buat presentasi, kalau mau buat program pada vidual programming, seperti blog blog yang di gabungkan, seperti membuat flow chart tapi nantinya dia jalan programnya, ada branching featurenya, ada macem macenya. Tapi nanti bisa keliatan dengan python seperti apa hasilnya.

        RW: Ni barusan pas kamu ngomong turtle aku ga kepikiran apa apa kan, begitu kamu ngomong logo. Kok namanya agak agak familiar. Dan aku barusan masuk ke Wikipedia dan melihat, ternyata aku pernah belajar pas aku jaman sd, pertama kali banget belajar computer dan aku juga inget ini apaan sih, programming apaan. Ternyata lumayan bring back memory.

        A: Dan itu bagus buat mengajar pemograman, untuk pengajaran bukan untuk buat program serius. Kelebihan sugar dan turtle art adalah kita bisa membuat program dengan multiple turtle, jadi ngajarin para programming kan. Bayangin para programming for dummies, para programming untuk anak tk, canggih kan.

        RW: Iyah betul betul. Apa lagi sepertinya banyak ada focus ke user interface juga yah, bahwa anak anak kecil lebih tertarik kalau ada yang ada di liat, ga cumin tulis tulisan doang.

        A: Bukan masalah tertarik, tapi memancing kreatifitas. Anak anak kan kreatif, bebas jadi dia tidak ada batasan membuat semua program. Para program yang bisa mengubah masa depan. Bayangin kalau dari kecil sudah familiar dengan concept programming, suatu saat nanti kalau jadi programmer professional pasti dasyat.

        RW: menyeramkan. Terus ada apa lagi yang menarik di Grand Canaria.

        A: Grand Canaria ada presentasi dari orang Nokia untuk memo. Memo adalah platform berbahasa Linux untuk Nokia Internet Tablet. Jadi ini free software semua, software stag nya tuh di opne source, kurang lebih mirip dengan inisiatif moblim yang kerja sama dengan Nokia dan Intel. Di release ke depan, Memo akan menggunakan Qt sebagai standardnya. Jadi sesuai dengan misi Qt everywhere ada desktop, ada windows mobile, dan kemudian sebentar lagi memo.

        RW: Ngomong ngomong soal Nokia Ya, kamu punya pendapat ga. Denger denger nokia juga mau ngeluarin mobile phone yang berbasis Google endroit.

        A: ooh, itu cuman rumor kok. Sudah di sangkau. Tapi presentasi yang paling top di Grand Canaria dari Glyn Moody judulnya why hacker will save the world. Glyn Moody adalah penulis buku judulnya Rebel Code, cukup terkenal. Dia mempresentation 1 kasus bahwa dunia kita sekarang berbeda kalau seadainya free software itu ga pernah ada, seperti misalnya lalu apa yah istilahnya di dunia biologi, menganalisa DNA, human gene, dan itu semua dibantu oleh free software, dan masih banyak lagi kasus kasus perkembangan dunia secara tidak langsung didasarin oleh technology yang berkembang dari free software. Sekurang kurangnya spiritnya, semangatnya. Di Grand Canaria Desktop Summit dibagi 2, Academy dan GUADEC , tapi ada track yang istilahnya Cross Desktop.

        RW: Apa tuh?

        A: Cross Desktop kita membahas technology yang dipakai di dua dua, contohnya adalah semantic desktop.

        RW: Nah ini topic yang menarik ni, benerapa minggu lalu kita sempet ngomongin symantic application yah dan kita belon sempet terbitin dan kita berharap bahwa kamu bisa ngomong langsung ke beberapa orang tentang semantic desktop di Grand Canaria dan kita masukin cuplikan cuplikan interviewnya di episode yang sama tapi sayangnya ga sempat. Cuman mungkin kita bisa tayangin episodenya minggu depan. Coba di bahas dikit ada highlight apa nih.

        A: Kesimpulan akhir mengenai semantic desktop adalah bahwa KDE and GNOME akan menggunakan infrastructure yang sama untuk sebagai back end dari semantic desktop nya, yaitu nepomuk.

        RW: oh nepomuk yang jadi basis dua duanya yah.

        A: Betul, karena nepomuk relative netral dari segi technology, dari project EU, European Union. Baik dua dua nya misalnya dari tracker dan kemudian dari KDE. Semantic feature akan terintegrasi dengan file manager nya, dolphin. Jadi kita bisa, misalnya ada file ntar kita taging dengan menggunakan seperti spark QL kalau ga salah namanya. Di sequel tapi untuk query dari search storm.

        RW: Keuntungannya apa nih buat KDE and GNOME menggunakan nepomuk?

        A: Karena kalau indexing nya 1, kita menggunakan desktop apapun kita ga masalah kan. Kan kadang kadang kita menggunakan GNOME tapi masih menggunakan applikasi KDE. Dan itu wajar karena ga mesti GNOME dengan applikasi GNOME atau KDE dengan applikasi KDE yang murni ya. Kalau semantic nya sharing disana kan indah, ketika kita tagging di misalnya di satu file manager nya GNOME kemudian kita search di image nya KDE, sama hasilnya.

        RW: Oh, lebih buat compatibility yah.

        A: Yang pernah web developer mungkin tau permasalahan seperti ini misalnya kalau kita design satu web page, kemudian kita liat hasilnya di brochure yang berbeda. Tapi brochure itu kan ga sharing cookies atau password dan sebagainya, atau bookmark lah jangankan cookies. Dengan semantic back end yang sama antara berbagai macam desktop environment jadi mudah karena bookmark otomatis kita akan sama karena bookmark salah satu bentuk primitive dari sebuah ontology untuk web. Untuk pindah browser atau publikasi ga akan masalah lagi.

        RW: Terus ada topic lagi ga Ya?

        A: Di Academy yang session untuk KDE ada 2, dibagi 2 bagian besar, pertama adalah persentasi yang kedua adalah BoF, Bird of a Feather. Untuk presentasiseperti biasa , ada persentasi 30 menit, tanya jawab dan sebagainya. Bird of a Feather ini yang menarik. Discusi yang relative spontan. Kita mencari berapa orang, ini kan conferensi besar sampai 800 orang, semua pakar ada. Kita kumpulan ajah, dan kita tinggal cari satu ruangan dan kita hacking disana. Fasilitasnya disediakan oleh Universitas sama sama Universitas Las Palmas. Disana ada labnya, dengan wireless connection, kemudian ada power plug dimana mana pokoknya mantap lah.

        RW: Kenapa dinamain Bird of a Feather?

        A: Apa yah ga tau.

        RW: Soalnya ini ada format yang serupa namanya open space kalau ga salah. Dan dia gunain, intinya adalah semua participant harus come up with topic sendiri, ngebahas sendiri dan intinya adalah kalau sampe kalau kamu keluar dari konferensi itu dan ngerasa konferensi itu ga berguna itu berarti itu berarti salah kamu karena kamu ga nge direct konferensinya untuk mendapatkan yang kamu pengenin

        A: Open space itu typical dari google hanya untuk , kmaren saya pernah ikut mentor summit. Jadi semua datang kesana dan mereka semua harus merancang satu topic. Nanti ada satu white board besar, kita letakan post it kita. White board nya untuk schedule dan ruangan, jadi ntar semua orang bisa liat ada presentasi ini di ruangan ini jem segini.

        RW: Dan mereka boleh organize topic nya sendiri yah. Kalau ada 2 topic yang serupa boleh self organizing.

        A: Iyah, di awal conference di beri 30 menit, disediakan spidol, post it, dan white board tersebut silahkan tempel and silahkan cari. Seperti diusahakan orang yang ketertarikan yang sama berkumpul juga. Jadi mereka ga merasa buang buang waktu, kita menghadiri presentasi yang kita ga tertarik.

        RW: Cerita sedikit Ya, Google Summer of Code itu apaan, aku sering denger tapi ga tau itu apaan.

        A: Google Summer of Code adalah project dari google, project bagi bagi uang dari google. Intinya seorang student diberi kesempatan saat musim panas, selama summer untuk berpartisi di salah satu project open souce. Ada daftar open source yang bisa dipilih. Tentu saja yang besar seperti KDE, Mozilla, GNOME, open office semua ada disana. Nanti mahasiswanya dapet grant dari google, dan organizer nya bukan organize, tapi organisasi open source nya juga di berikan uang juga dari google.

        RW: Oh, bagi bagi uang disitu yah. Aku pikir bagi bagi uang literally, lumayan

        A: Artinya harus menghasilkan sesuatu, dan di harapkan dia akan menjadi contributor di project tersebut.

        RW: Dan Qt ikut berpartisipasi juga makanya kamu ikut mentoring?

        A: Bukan, untuk KDE bukan Qt. Saya juga pernah jadi student.

        RW: menarik, terus kita bahas topic terakhir yuk. Yang kamu bilang KDE general assembly. Ini apa ni?

        A: KDE general assembly ini adalah apa yah rapat akbar dari anggota KDE. Organisasi legal yang mengauni para anggotanya, anggotanya rodif mudah dan terbuka. Jadi setahun sekali dimana ada Akademy selalu di selenggaralan KDE. Kita membahas masalah masalah memilih board of director, lalu laporan keuangan, laporan aktifitas.

        RW: housekeeping lah yah?

        A: Betul betul, seperti ini lah kegiatan organisasi biasanya, tapi ada acara voting juga.

        RW: Ada yang menarik yang dari keputusan keputusan yang effectnya KDE gimana, apa lagi di jaman resesi seperti ini.

        A: Secara organisasi ini adalah organisasi yang menguntungkan. Menguntungakan dalam arti punya uang, karena organisasi sendiri itu non profit jadi tidak boleh mengambil untung. Semua donasi, semua sumbangan, dan sponsorship itu harus di belanjakan karena itu kita bisa mengsponsorin misalnya ada yang mau datang dari America ke Grand Camaria, contributor yang aktif, kita bisa sponsorin semua biayanya. Bagus sih ada organisasi yang menaungi open source.

        RW: Iyah betul betul, kita tinggal tunggu ajah ni ada activitas dan organisasi yang serupa di Indonesia. Apa mungkin sudah ada juga, tau ga?

        A: Kalau ga salah ada seperti open source Indonesia, lumayan aktif tiap bulan. Cuma mungkin untuk level yang sampai mendunia dan mendapatkan donasi yang cukup banyak dari para fans perlu sedikit waktu.

        RW: Yah, kita akan kesana lah. Oke, LinuxTag, Grand Canaria ada yang mau dibahas lagi Ariya?

        A: Ya buat jatah minggu depan ajah lah

        RW: Okay, yang penting pokoknya sudah senang bisa mendengar suara kamu lagi, untuk memastikan para pendengar teman macet yang udah menanti nantikan, ini Ariya kemana? Sudah 3 minggu terakhir ga pernah keluar paling ga sekarang bisa dengar Ariya masih ada di temanmacet dan kita bakal lanjut lagi diminggu depan. Saya Ronald Widha

        A: Saya Ariya

        RW: Kita akan bertemu lagi.

        This page is wiki editable click here to edit this page.

        #15 Diskusi Semantik App bersama Akhmad Fathonih – transkrip

        Posted: September 28th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

        Contents

        [ hide ]

          ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

          RW: Saya Ronald Widha, kali ini saya ditemani oleh regular Ariya Hidayat dan Akhmad Fathonih dari navinot. Ton, welcome to the show.

          AF: Halo.

          RW: Apa kabar?

          AF: Oke, terima kasih

          RW: Mau cerita sedikit tentang diri lo, mungkin sekalian memperkenalan navinot.com

          AF: Kenalan yah, nama saya Toni. Saya nulis di navinot.com. Navinot ini blog tentang IT dan marketing, seperti itu.

          RW: Dan twist nya disitu yah, IT nya bukan cuman tentang technology tapi lebih concern nya ke marketing. Dan mulainya kapan tuh Ton?

          AF: Navinot ini mulainya dari september 2008, jadi sudah hampir 1 tahun jalan lah. Ada 2 orang yah di navinot, satu saya, satu nya lagi Ivan. Dulunya dia di San Diego tapi skarang sudah balik ke Indonesia. Di Surabaya sekarang.

          RW: Oh oke, aku pikir masih di Amerika.

          AF: Oh sudah ga, sudah balik.

          RW: Terus yang menarik dari navinot.com ini pembacanya yah. Pembacanya bener bener comment nya selalu panjang panjang, Ada rencana ga buat nge leverage itu buat di jadiin, di focusin gitu, karena setiap kali ada satu post, comment pembacanya ga kalah panjang sama post nya.

          AF: Iyah si, kita beruntung pembacanya lumayan kritis dan yang tersembunyi tersembunyi itu muncul semua. Akhirnya yah, sebetulnya yang punya bakat, bukan yang cuman nulis doang.

          RW: Jadi komunitas.

          AF: Iyah

          RW: Kita hari ini jadi mau ngomongin soal semantic application yah, jadi ga terbatas cuman semantic web tapi juga semantic desktop dan sebagainya. Mungkin ada yang mau mulai, membahas kira kira semantic application ini menurut definisi masing masing kaya apa karena ini salah satu yang belon terdefinisi dengan baik kan, semua orang masih meraba meraba pengen tau semantic itu kaya apa dan di anggap salah satu fenomena yang bakal cukup besar yah, jadi dulu wa web 2.0 ada colaborasi informasi, sekarang 3.0 semuanya berdasarkan semantic. Ada yang mau coba meng definisikan semantic itu kaya apa.

          AH: Dari pakarnya tuh

          AF: Oke, dalam definisi saya sih semantic web ini simple nya mesin processable. Intinya cuman ada disitu. Jadi nanti yah, kalau di compress di satu sentence siy saya menggunakan seperti itu, mesin bisa baca tapi mesin juga bisa mengerti. Mungkin sekarang mungkin masih belon bisa terolah dengan baik yah karena mungkin belon punya makna tertentu, cuman ada text dan angka dalam bayangan saya, saya akan sebut seperti itu. Gimana yang lain?

          AH: Text dan angka, itu maksudnya text tuh ga bisa di process yah? Atau gimana?

          AF: Mungkin kalau process kasarnya cuman bisa di cut. Kalau mesin kita kasih tau judul buku, nama orang, kecuali pake dictonary dan dibandingan seperti itu.

          AH: Sebenernya markup sendiri sudah cenderung ke arah semantic kan, cuman masih primitif lah, kan maksudnya di plain text masih ada informasi disitu.

          RW: Mungkin informasi yang ketinggalan disini kan, mungkin yang kamu mau sebutin juga kan. Bahwa sekarang markup nya masih berdasarkan structure sebuah informasi secara generic yah. Dan kita ga bisa ngebedain tentang jenis informasi satu dengan lain nya. Kita baru bisa bedain oh title, oh sub title, dan structure di dalam sebuah informasi ajah, tapi mungkin belon bisa nge describe informatsi ini dengan specific, ini nama orang, ini hubungan satu orang dan lainnya  dan aku rasa justru mungkin kembali ke trend yang lebih besar dengan adanya web 2.0, kita sudah bisa menghasilnya banyak informasinya banyak banget yah. dan tentunya search tuh jadi salah satu tool yang berguna karena itu menjadi jendela kita buat melihat internet. Karena dengan ga ada search, kita bakal terlalu di bombardir dengan informasi, iyah ga siy. Dan semantic ini salah satu effort buat nge categorasiin content itu juga, iyah ga buat ngebikin supaya accessible dan berguna buat kita semua. Terus kita coba bahas tentang bentuknya bakal kaya apa yah, atau ngebahas apa yang sudah ada. Dari 1 aplikasi yang bener bener, web application yang sangat bagus banget menurut aku. Menurut aku, dia sudah ngecross bukan cuman purely technology tapi cuman hampir ke sisi sociology nya antropology juga dan sampe nge cross ke barier seni juga, nama nya wefeelfine.org Mungkin dari beberapa kalian sudah tau yah websitenya kaya gimana. Jadi wefeelfine.org itu sebetulnya java base application dan dia nge representasi semua feeling orang di dunia ini sebagai visualisasi, ada titik, ada animasi dan sebagai nya gitu. Dan yang menariknya aplikasi ini berusaha nge crawl the web dan menjadi kata i feel, dan categoriin i feel fine, i feel angry, pokoknya semua macam perasaan di dunia, sampai yang cenderung dari website porno pun, i feel dirty itu masuk gitu. tapi yang menariknya disini adalah begitu kamu masuk satu titik gitu yah, dia bakal ngejelasin panjang kalimatnya, i feel apa apa apa. Dan kalau ada fotonya pun dia nge grab foto nya, dan akhirnya website ini jadi jendela perasaan di dunia pada saat ini. Yang lebih gila lagi, ada filter system nya, ibaratanya kaya business analytic gitu. Kamu bisa ngeliat aku pengen cari perempuan di negara ini, di weather seperti ini, di bulan ini, dan sebagainya. Jadi kita bisa nge drill down ngeliat feeling orang di dunia. Dan aku rasa ada sifat semantic nya biarpun cukup single yah, cuman ngebaca kata dan nge katagoriin. Tapi nge katagoriin nya ini kan harus yang fine, jadi happy, dan ada colour coding dan sebagainya. Ini aku rasa ini kayanya aplikasi ini sudah dari 2-3 tahun yang lalu dan mulai nempel nempel semantic juga. Twitter punya aplikasi yang serupa namanya twistory,com, lebih simple dari wefeelfine.orf tapi aku rasa sudah nempel nempel semantic juga. Kalian mungkin ada sample lain yang mungkin mau dibagi?

          AH: Untuk sample seperti itu, dia mungkin cenderung meng extract informasi dari text yang sudah ada kan, Ada ga yang misalnya sebenernya content nya sudah di siapkan, jadi misalnya ada inisiatif yang namanya nepomuk targetnya semantic desktop, concept nya disana kalau kita punya informasi, bisa nge set meta data, dan bisa di analysis atau diambil lagi oleh user nya. Misalnya contohnya kita bisa nge set meta data foto ini kita dimana, di foto ini ada siapa ajah dan sebagainya. Jadi cenderung satu yang exhibisit di set oleh user. kadang kan katakanlah foto dari digital camera sudah ada as if yang exhibit yang sudah bisa di extract kan. Tapi kita bisa nambahkan, ga menyebutkan siapa ajah dalam foto ini, itu kan ga tau

          RW: Ini yang mungkin kita bahas offline beberapa minggu lalu juga yah Ton yah, ada 2 approach buat membuat web atau informasi, dunia informasi semantic yaitu top down dan button up. Dan mungkin dari top down kita mungkin punya wefeelfind, twistory, atau contoh contoh yang bakal kamu sebut barusan. Dan yang Ariya yang barusan sebutin ini sebgai button up, kita sebagai penghasilnya berusaha ngasi informasi yang sudah lengkap dulu.

          AF: Masih dalam bentuk semantic

          RW: Iyah, dan aku pengen ngambil contoh satu yang bagus banget dalam nepomuk ini, kembali ke percakapan kita offline sama Tony, aku ngerasa bahwa sekarang di desktop kita, kita tuh kalau misalnya ada file atau apa, kita cendurung mengassocikasikan file tersebuh dengan sebuah aplikasi paling ga di windows gitu yah, mungkin di linux sedikit berbeda. Misalnya aku punya file .pdf, aku associate dengan adobe reader, jadi kalau aku double click, buka nya adobe reader. Itu sebenernya asosiasinya kan cukup simple kan, cuman maping ajah bahwa file nya pdf jadi adobe reader. Sementar sementara kalau ini ada kekurangan semantic pdf dengan document akhirnya semua hal, semua aplikasi yang menerima document, bisa berinteraksi dengan file itu tanpa maping lagi, tanpa asosiasi lagi, mungkin word bisa menawarkan edit pdf, pdf bisa menbacanya, ada converter apa bisa membaca pdf dan meng convert jadi audio. Semua ini jadi context sensitive kali yah, itu impiannya nepomuk kali yah, bener ga?

          AH: Betul betul, jadi cuman agak kadang kadang itu tadi dilemanya antara meta data sama yang kita set secara manual dan yang bisa di ekstract dari apa yang kita kerjakan, contohnya kalau kita punya email, kita save, sebenernya bisa dibuat kan hubungan antara email tersebut dan file tersebut, jadi kan relasinya ga hilang. Kadang kadang kita terima attachment, kita save kita bingung kan, ini file pdf dari siapa ni, sementara kalau penambahan meta data itu bergantung dari desktopnya sendiri kan bisa lebih integrated kan, bukan sekedar pdf adalah adobe reader.

          RW: Yang masalah disitu mungkin bakalan meta, structure meta datanya. Harus ada standard lagi tipe tipe lagi kaya w3 standard buat html dan sebagainya. Karena bayangin simple banget cuman simpennya di xml gitu, key property nya itu apa,misalnya nama itu name, tapi name itu name orang, nama file, apa gitu kan. Itu kira kira penjelasan, jawabannya bakal apa nih? Apa mungkin jangan jangan sudah ada kali format seperti ini.

          AH: Untuk web bukannya sudah ada, apa standard ontology language seperti itu.

          AF: Contoh contohnya ada si misalnya untuk publikasi, kita ada w core meta data.

          AH: Itu betul kan terkait dengan resource data framework. Bedanya semuanya markup language kan kalau ga salah, jadi di category, untuk web bisa di tag. disitu ada extra attribute atau potongan text tersebut. Masalahnya siapa yang membuat informasi seperti ini, apakah yang membuat content tersebut apa di analysis oleh sebuah katakanlah google atau gimana.

          RW: Itu yang memang selalu susah, iyah ga sih. Bayangin initiatif yang buat open social ini yah, kalau ga salah google, my space dan kawan kawan pengen bikin. Oh kalau kita bikin satu standard buat social media buat kalau nambah friends atau apa, ga sudah nambah berkali kali di website yang berbeda beda. Tapi akhirnya masalahnya adalah satu aplikasi dengan aplikasi yang lain punya fitur yang berbeda kan, sama kembali ke masalah semantic aplikasi nih. Satu aplikasi yang menyimpan meta data mungkin lebih lengkap dibandingan dengan aplikasi lain, atau bahkan lebih parah lagi dengan format yang berbeda, satu sebagai untuk value, satu sebagai untuk nemeric, satu sebagai string misalnya. Akhirnya ada format mismatch disitu kan, dan jawabannya mungkin susah kali yah harus ada initiatif dan converence dan standard dan sebagainya, apakah bakal begitu, apakah sudah begitu?

          AH: Asalkan kasusnya bukan sama dengan html yah, dimana terjadi fragmentasi dan setiap browser itu punya feature sendiri dan semua orang blajar dari kesalahan itu. Jadi semua orang munuju html 5. jadi semuanya standard featuernya. yang untung disini adalah user. Mungkin sama kasusnya dengan standard atau control language mana yang dipake. Mungkin namanya knowledge base

          AF: Yah tergantung implementasi siapa yang terfungsi yah

          AH: Itu kan pendekatan antara seleksi yang kuat akan bertahan atau mulai dari awal design by community dengan resiko ga akan bakal terjadi,

          RW: Terus kita mau nge bahas contoh berikutnya,

          AF: Contoh berikut nya apa yah. Tadi kan ngomongan set data yang sudah ada, kalau yang susah ada kan namanya bbpedia.org

          RW: Yah kamu ngirimin ke aku kemaren tapi aku kurang ngerti maksudnya apaan.

          AF: Kalau disana kan sudah di definisikan yah, relasinya antara satu resource dengan resource yang lain, misalnya kota ini founded by siapa misalnya. Nah bbpedia ini mengambil datanya wikipedia kemudian dibentuk jadi lebih berstructure dan lebih bermakna. Seperti tadi itu suhu brapa, founder siapa, lokasi dimana dan sebagainya adalah setting relasinya itu, jadi ontology

          AH: Ini otomatis yah?

          AF: Aku kurang tau yah bentuk nya kaya gimana.

          RW: Tau tau ada pasukan

          AF: Manual kayanya

          AH: Dan pasukannya bukan manusia lagi, simpanse semua.

          AF: Hahaha, makanya cepet yah

          AH: mengenai bentuk atau format yang standard di halaman wiki, lalu di extract, seperti tiap kota ada box nya kan gitu, lokasi nya ada dimana, bisa di cocokan dengan posisi gps kita yang sekarang

          RW: Ngomongin soal parcing text yah, aku pengen ngambungin sama phenomena twitter yang udah ga hot lagi siy, sudah jadi main stream, skarang jadi functional ajah. Jadi aku pengen sambungan ke twitter, dimana twitter itu kan terbatas dengan 140 character dan kita kalau dari blog dan menghasilkan memproduksi informasi dan informasi yang kita hasilnya ini cenderung ada unsur noice nya, dimana noice nya ini berguna untuk human reader dimana keep mereka attracted baca posting kita, mungkin dengan lelucon atau dengan bahasa bahas yang indah, tapi mungkin jadi lebih sulit untuk automated pacer mengerti meaning nya kan, ini salah satu contoh yang klasic adalah judul sebuah artikel di koran. Jadi contoh klasic yang untuk natural language processing lumayan susah karena biasanya multiple meaning gitu, artinya ga cuman satu. Sedangkan di twitter kita frame set of mind nya berubah, kita cuman punya 140 character, jadi mau ga mau harus di bikin se direct mungkin, iyah ga sih. Karena kita pengen ngomong a, kita ngomong a. Dan ini mungkin bisa jadi hal yang menarik buat semantic web iyah ga sih karena bener bener to the point, ada intinya, mungkin dikasi link juga disitu, berupa tiny url dan sebagainya, Dan mungkin bisa nge change permainan semantic juga, gimana menurut kalian?

          AH: Sulit yah, content yang lebih pendek bukan jaminan lebih sedikit. Kita liat ada beberapa blog yang relative, istilahnya kurang berguna yah. misalnya isinya hari ini pergi ke pasar, tadi pagi bolpen jatuh dari meja. Ada informasi lian kalau nge blog. Dia kan orang penting, kadang kadang kita baca, ni orang siapa, Yang seperti itu kan kadang kadang text nya pendek, kalau itu di twitter kan tetep cenderung karena kandungan noicenya lebih tinggi dari informasinya. Entah yah lebih pendek memungkinkan analysis terutama kalau bahasa indonesia, text nya semua huruf mati, di singkat singkat. itu malah lebih kacau

          RW: Tapi maksudnya kalau kita ngebandingin 2 informasi yang serupa, satu beruba blog post, satu berupa tweet yang akhirnya menuju ke blog post itu. Aku bisa argue bahwa versi twitter nya adalah summary dari blog post itu supaya untuk menarik orang pergi ke blog post itu karena selalu twitter itu sifatnya karena sangat concise yah kita mau ngasi informasi secepatnya untuk menarik orang buat ngeclick bog lost nya akhirnya jadi menjadi sebuah mekanismi abstraksi, artinya kaya nge summarized untuk advertising content tapi juga berguna untuk membuat satu link lebih bermakna, ini sama juga sama yang dilakukin oleh delious ga sih, kita nge bookmark tapi kita ngasih tag, jadi akhirnya by the end of the day, delicious mendapatkan arti dari url url ini. Url bukan sekedar ur tapi dengan tag, ada semantic nya lagi disini.

          AH: Kembali ke pertanyaan yang awal tadi itu, kalau kita ngerjain selama manual begitu effective ga. Contoh lainnya geo tagging. dulu sebelon ada feature geo tagging, bisa selalu kita meletakan misalnya foto ini kita ambil disana karena kita tau kan kita mengabil foto itu, tapi berapa orang yang mengerjakan gitu. tapi setelah ada feature geo tagging dan foto langsung ada coordinate dari gps, tiba tiba menarik sekali kan. Tiba tiba indah sekali dunia, kita ga perlu manual lagi meletakan dimana foto foto itu dan akhirnya lokasi foto tersebut kalau kita upload ke flikr

          RW: langsung keluar di peta?

          AH: Betul, sebelon ada geo tagging, brapa sih kecuali photographer yang niat yah dan dia perlu itu. Tapi sebagian besar user apa lagi dari hp camera. Kembali ke manual atau otomatic. tapi ada problem analysis nya. Untuk twitter sebagai summary, bahasa english kan sudah ada tuh summarizer. untuk some word ajah kalau ga salah sudah ada plugin . Jadi satu paragraph, dia bisa singkatkan jadi satu kalimat.

          RW: Wah, algorithm nya gimana itu? Karena kan dia mesti mikir apa yang penting di tulisan ini kan.

          AH: Betul betul.

          AF: Tapi menurut aku ada batasan antara memaknai dan mencari tau maksud dari si penulis content jadi mungkin dalam dunia semantic sekarang ini, kemungkinan besar yang bisa kita kerjakan, yang bisa dicapai manusia baru sampai, ke ini artinya apa, tapi tidak tau tujuan emang itu apa ga. Jadi mungkin dalam kasus dalam twitter tadi, kamu kan bilangnya ini summary tapi kan belon tentu itu summary, bisa jadi mungkin meng relfeksikan sesuatu dengan sesuatu tentang url nya, tapi belon tentu summary bisa jadi yang lain sih.

          RW: Iyah,

          AH: Itu namanya politik nih, bukan teknik lagi,

          RW: Paling ga kalau kita bandingin sama meta text, jadi html ada meta tex, meta description buat dulunya di pake buat search engine optimisation kan, maksusnya kita harus menjelaskan sama search engine, ini content maksudnya apa, tapi karena ga bisa di baca sama manusia, akhirnya di abuse kan. Semua orang masukin semua kata yang terkenal aja biar page nya naik akhirnya google search, major search yang lainnya sudah used to ignore meta description. Sedangkan yang menarik disini twitter, again asumpsi, biasanya di consumsi dengan manusia dan kita lebih pintar mana yang kita mau follow, mana yang kita ga follow, mungkin kalau bisa di ambil makna dari itu juga, mana orang yang asli, mana yang robot, mana yang post berharga, mana yang kurang berharga, tipe tipe social clider.net dan bahwa satu tweet ini sudah di past along to different group of people dan masih survive 2-3 bulan mungkin tandanya sesuatu yang menarik, again banyak asumsi disitu. Tapi aku rasa ada masa depannya juga. Aku juga pengen sambungan ke automatic parcer engine lainnya yah, mungkin kita sudah pakai sehari hari, misalnya search engine, google seach, yang baru bing, yang bilang kalau kita bukan search engine tapi decision engine, Ada yang punya pendapat ga soal bing, apakah dia bener bener decision engine? oke or bias?

          AH: Gw belon pernah coba bing, jadi ga bisa berkomentar.

          AF: Licik ni.

          AH: Bagaimana misalnya dengan Wolfram Alpha?

          RW: Boleh boleh, dengan Wolfram Alpha

          AH: Itu kan lebih ke menganalysis contentnya apa, meng analysis pertanyaan kita apa, mencoba menerjemahkan apa sih yang kita mau. Bukan cuman sekedar seperti google, classical search engine yah, cuman mencocokan apa yang ditanya dari hit nya.

          AF: Kaya Wolfram Apha apakah tidak mendahului keinginan masing masing, terasa smart ass.

          RW: Maksudnya gimana tuh, coba di jelaskan

          AF: Ga mungkin kita quiry nya apa dan apa gitu. I dont want it, gitu kan

          RW: Tapi kan justru kekuatannya Wolfram Alpha ga disitu kan, kekuatannya dimana kamu bisa ngasi pertanyaan yang mengantung 2 entity yang berbeda, dan dia berusaha nyari common denominator dari 2 entity itu. Kaya misalnya kita ngomong berapa penduduk orang Jakarta di saat Michael Jakson lahir? kaya begitu, aku ga tau sih Wolfram Alpha bisa menjawab pertanyaan itu specific apa ga, tapi sepertinya yang mereka mau melakukin begitu, bikin engine yang meng extract informasi yang kemudian bisa di bandingin dan kalkulasi

          AH: Jangan lupa, begitu kita search Wolfram Alpha, dari informasi yang keluar kan kita bisa minta informasi lebih lanjut. misalnya data tentang Indonesia, kita bisa click misalnya data lebih tentang jumlah penduduk dan sebagainya, ini kan bisa di link lagi dengan queiry kita yang pertama kan. Jadi logika simple nya kalau kita search tentang satu search, orang mau tau banyak tentang satu kata itu dengan kategori tertentu, itu yang relevant kan. Dengan membandingkan analysis yang sejenis, bisa keluar kesimpulan kan dari situ. Ternyata ga ada yang tertarik jumlah penduduk misalnya, semua mau tau siapa artis di Indonesia, gitu kan. Dimasa depan itu yang di tunjukan

          RW: Salah satu hal yang menarik buat aku juga adalah karena google search dan search search engine lainnya masih mengandalkan cuman sekedar pattern maching yah sedangkan kalau semantic search ini mengandalkan bener bener arti kayanya cenderung informasi yang di keluarin itu sangat sangat berbeda, satu lebih ke post, tutorial dan sebagainya, dan satu lebih kaya summary kan, nama apa, penduduk apa, lebih ke structure, Dan akhirnya mungkin ini bisa merubah gimana kita cara menggunakan informasi dari search juga yah, karena salah satu phenomena yang lumayan controversial pas google search keluar adalah plagging, semua orang bisa melihat pendapat orang lain atau kesimpulan yang diambil sama orang lain dan dianggap itu jadi miliknya sendiri, tinggal di ubah namanya, di submit ke universitas. Sedangkan dengan semantic engine ini, kita lebih di enpowered dengan fakta tapi tidak di bombardir dengan opini, setuju ga?

          AH: Bagaimana kalau kita mungkin google search setelah di abuse kan, dengan google optimization maksudnya baik, caranya kurang baik sehingga, kadang kadang maksudnya ga baik kan, menipulasi search engine supaya cenderung ke satu sisi, apakah potensi yang sama bisa terjadi untuk Wolfram Alpha atau bing. Karena kalau itu terjadi akhirnya sama sajah kan, tadinya informasi yang disajikan kategoriall tapi sudah tanda kutip di menipulasi akhirnya cenderung ga balance lagi.

          RW: Aku pengen sambungan point kamu yang bikin yah Ya, dengan something yang dibilang Jason sometimes in the past yah, dia ngomong bahwa SIO itu sebenernya bias, bullshit gitu. Dan aku ngerti banget maksudnya, untuk alasan the very exact reason yang kamu bilang bahwa kalau misalnya content nya bagus, akan secara natural organik akan naik sendiri, iyah ga sih. Ga perlu di ubah gimana gimana, akhirnya membuat noise ajah gitu, membuat content yang ga bermutu jadi naik tangga, naik ranking,

          AH: Jadi seperti maling dan polisi yah. Google harus meng counter dari SIO yang standard dan yang mau untuk mempeburuk keadaan menemukan trik trik baru 

          RW: Kita mau bahas sedikit tentang power set ga Ton. Itu cukup menarik juga tuh karena salah satu key player di semantic web

          AF: Yang seperti Ariya bilang tadi, tapi kalau dalam kasus power set aku ga tau yah, apakah lebih ke natural language processing atau emang semantic?

          AH: Gimana cara apa sempanse nya atau orang orang nulis, apa dia baca terus ditandai?

          AF: Nah itu sendiri process yang aku belon tau

          RW: Mungkin juga ini kali yah, masih proprietary, dia ga bakal ngasih tau. Salah satu kunci yang aku pengen kita ngomongin juga adalah, microsoft beli power set. Itu yang menurut aku lumayan menarik, mungkin bing akan digabung dengan power set karena aku sempet nyoba power set dan masukin beberapa search keluar, masukin nama band Beattles dan akhirnya keluar terus nyoba masukin nama sendiri, ga keluar apa apa dong karena kalau ga salah data source nya berdasarkan dari wikipedia doang.

          AH: Ga terkenal berarti

          RW: Mungkin masukin Ariya Hidayat, Terus yang ditawarin adalah kenapa ga use bing. Dia jadi sudah nawarin bing sekarang.

          AH: Kalau Jadi gini kan lebih murah generate berapa ratus server dan server itu auto generate sebuah content. Yang dibaca oleh orang yang ngenalin power set yah.

          AF: Jadi terkendala pada manusia?

          AH: Kita kan bisa  menghasilkan sampah yah, sampah yang akhirnya harus di analysis. dan menghasilkan sampah itu pekerjaan gamapng. Apakah itu manual atau otomatic itu sesuatu yang mudah lah dibandingkan meng analysis

          AF: Mungkin analysisnya bisa di offload ke community yah

          RW: Ke out sourcing yah?

          AF: Kalau kita ingat dulu kayanya pernah ada usaha dari google, nge tag gambar yang di

          AH: Coba sekarang masih ada kan search yang kita naikan sendiri atau turunkan dari google, ntah apakah feature susah apa ga. Karena orang pake google kan mencari informasi, bukan lalu misalnya mencari Ronald, oh ini kok turun hit nya terus dia naikin.

          AF: Kalau itu sih bergunanya buat diri sendiri yah. Kalau aku pernah make yang naik turunnya google itu karena aku pengen hal yang sudah aku temukan, aku taro paling atas.

          AH: Gantinya bookmark yah?

          AF: Iyah

          AH: Tapi itu seperti private power set, seperti kira kira power set diri sendiri kan?

          AF: Iyah kayanyag sih mirip mirip seperti itu lah

          RW: Tadi yang Toni bilang, contoh yang menarik adalah google yah. Kalau ga salah mereka at some point berusaha nge caterogiriin images atau apa, tapi sama dia dibikin sebuah permainan. Bener ga?

          AH: Iyah, dulu kayanya lomba antar 2 orang gitu.

          RW: Yang jelas juga dulu ada yang kaya tipe tipe yahoo answer, apa tuh yang kalau kamu jawab atau kamu categoriin, dapet contribusi uang juga. Mungkin itu salah satu contoh bentuk menambahkan motivasi orang, meng categorikan informasi di internet yah,

          AH: Incentive berupa uang itu berarti sesuatu yang gagal, karena pertama yang menjawab itu kan yang export, yang tau jawabannya. Yang contoh berhasil seperti stack overflow, karena stack overflow kan seperti wiki. Kan seperti wiki, kita contribusi karena sudah mendapat keuntungan dari situ. Kita merasa bisa memberikan sebuah pertanyaan, kemudian dapet balik lagi. Informasi yang ada di stack overflow itu, ai analysis, jadinya mungkin bagus banget. Itu cukup mudah kan untuk di automatisiin parcing karena context nya lumayan sempit. dan namanya pertanyaan programming kan keyword nya sudah lumayan jelas.

          RW: Salah satu bentuk algoritmic lain yang bisa dipakai mengartikan web yang menarik adalah yang dipake google wave yah. Dia ga straight foward semantic, lebih buat spell checking tapi context sensitif di dalam defini tersebut ada semantic juga. Kamu mau ngetik apa, dia tau apa yang mau bisa ngetik, jadi nebak kata yang kamu maksud adalah ini, jadi bukan sekedar structure atau syntax tapi bagian semantic. Dan dia pake statistical model yang mereka punya dengan nge harvest web itu sendiri bahwa kalau kamu ngomong ini ini ini, percentase nya 90% kamu berusaha ngomong ini, 80% kamu berusaha ngomong ini, 70% berusaha ngomong ini. Itu mungkin menarik juga karena instead of ngambil kata dan berusaha bikin komputer mengerti kata itu apa tapi cuman pake modal probability doang, most likely kalimat ini may ngomong ini dan untuk sebuah google yang punya akses banyak di dunia, jadi mungkin lumayan akurat juga ga sih.

          AH: Seperti cloud analysis?

          RW: Iyah iyah

          AH: Mungkin mirip dengan product baru dari anti virus, yaitu cloud anti virus, jadi idenya sama atau serupa, ini free yah bukan promosi tapi, bahwa setiap orang kalau meng install product tersebut, dia bakal meng analysis komputer tersebut dan mencari file atau program secara behaviour berbahaya dan sample nya akan dikirim ke markas besar. Nanti akan di sebar ke semua pengguna anti virus tersebut, artinya informasinya diambil dari cloud kan, jadi semua yang menggunakan itu. Kalau satu kena, yang lain bakal cepet dapet virus signature nya.

          RW: Sangat menarik

          AF: Soal cloud ini, soalnya aku sempet kenal, disana aku juga tau, dia juga menfaatkan model cloud juga, jadi data dari satu pengguna akan di kirimin ke cloud terus yang lain juga akan jadi punya.

          RW: Kenapa kamu menduga itu Ps

          AF: Ga, maksud aku PSnya, Cloud nya juga cuman sekedar marketing. Sebenernya kan bentuk nya simple, cuman berbagi datanya. Tapi sekarang dilabel sama cloud, jadi dapat harga tambahan.

          RW: Ada yang nge tweet kayanya 1-2 bulan yang lalu, salah satu dikomunitas build in indonesia juga yah, twitter indonesia juga yah, dia ngomong kelaut computing, as in ke laut ajah lo. Anyway, sekalian mulai menutup kali yah, kita sudah diskusi lumayan lama. Aku pengen shout out juga buat salah satu pendengar teman macet yaitu di twitter @chikiahmani Dia ngeshare point of view yang lumyan menarik tentang semantic ap. Dia memberi contohnya semantic ap itu seharusnya web dan user copy and paste like mozila, dan kita bakal kasih linknya juga ke show notes tentang mozilla concept, lumayan menarik banget. Dia ini jadi plugin, pas mau nge copy paste, meng modifikasi sebuah text yang kamu baca di web, dia itu ngerti text itu apaan, kalau itu script, plugin atau apa, tiba tiba kamu tinggal copy, firefox nya tinggal bilang, oh ini plug in, mau di install ke saya ga, kamu bener bener percaya script ini ga. Kalau ini peta, kamu kirim ke user lain, atau mungkin ada informasi lain, oh kamu mau nge tweet ini, atau ada juga cuman alamat alamat ajah kamu select, click kanan tiba tiba semua point interestnya masuk ke google map. Contoh yang sangat menarik. Kayanya kuncinya disitu adalah kembali yang kita bicarain yah, ngurangin friksi antara satu informasi dengan informasi yang lain, akhirnya enable dan sebagainya

          AF: Ada yang menarik adalah saya ga tau kapan harus memakainya, sebenernya plugginnya sudah ter install di firefox sudah sangat lama, dari awal saya tertarik masang karena soal concet nya siy, emang bagus karena bisa nge tweet dan email dan sebagainya dalam natural language tapi pada akhirnya justru itu ga terpakai, ntah mengapa.

          RW: Mungkin itu kembali ke masalah Wolfram Alpha itu yah karena Wolfram Alpha kalau kita main main kayanya pinter banget tapi sekarang kalau di kehidupan sehari hari, kita susah menformulasi kan atau tujuan apa yang kita mau untuk ngedapetin, untuk mendayagunakan semantic itu. karena mayoritas yang kita butuhin sehari hari mungkin. Sori, gw ubah. Mungkin kita susah ngeliat apa yang kita mau tanpa melihat, tanpa nge browse tanpa melihat informasi informasi yang sudah ada. Karena dengan nge click nge clink, mencoba coba, dengan mencari informasi yang susah dicari, akhirnya kita meng formasikan dengan oh yang sebenernya kita mau tuh ini, jadi kaya cutting down all the stuff we don’t want, akhirnya kita tau apa yang sebenernya kita mau. Sedangkan dengan semantic engine kita cenderung kita harus tau dulu apa yang kita mau, kalau ga, ga ada dapet dapet.

          AF: Mungkin ini jadi kunci nya semantic yah, yang di barukan justru face implementasi, yang lain lain nya sudah tersedia

          AH: Maksudnya implementasi gimana? standard?

          AF: Bukan standard, yang seperti tadi misalnya user, misalnya kaya tadi kita masukin alamat akan keluar peta. tapi yang ga ada justru aksi nya seperti nya, action yang bisa di gunakan untuk memanfaatkan data yang sudah ada,

          RW: Oke, jadi ada hal hal lain yang mau di bahas sebelon kita mengakhiri diskusi kita.

          AF: Kayanya perlu episode lanjutan kali

          RW: Kayanya ini topic masih gede banget yah, dan kita sudah lumayan lewat 30 menit yang biasanya di sediakan. Oke, makasih Toni sudah menemin Ariya dan aya sendiri di temanmacet ini. Komen kritik bisa di kirim ke tanya@temanmacet.com. Kita juga punya twitter @temanmacet. Oke, terima kasih Toni, sampai jumpa minggu depan.

          This page is wiki editable click here to edit this page.

          #16 Diskusi tentang Microsoft Windows Presentation Foundation

          Posted: September 28th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

          Contents

          [ hide ]

            ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

            RW: Wely adalah developer advisor pada Microsoft Indonesia. Sehari hari Wely membantu komunitas technical, developer dan It pro melalui portal, event, article dan berbagi resource lainnya. Apa kabar Wely?

            W: Hi Ronald. Baik baik aja.

            RW: Jadi hari ini kita ingin bicara tentang salah satu library terbaru yang masuk dalam .NET framework yah sejak .NET 3.0. Aku rasa banyak orang yang sudah tau WPF itu apa tapi gw rasa gw pengen Wely jelasin sedikit, WPF itu apa, definisinya apa, buat apa frameworknya biar ga ada orang yang salah kaprah.

            W: Oke, jadi podcast yang pertama ini kita mungkin bakal ngomongin at very high level dulu. Awal2nya WPF atau Windows Presentation Foundation itu sebenarnya adalah ABI yang menggunkan Markup language nyang kita sebut sebagai zamel untuk menampilkan UI yang sangat rich gitu yah, jadi Windows Presentation Foundation itu sudah ada di .NET framework 3.0, jadi .NET 3.0 itu sudah ada pas pertama kali keluar. Dulu yang dari WPF adalah Avalon setelah itu .NET 3.5 WPF nya di enhance dari sisi performance dan library dengan .NET 3.5 as well upcoming .NET 4, itu termasuk salah satu product yang bakal dijaguhkan sama Microsoft. Bahkan nanti the next coming 2010, text editor kita, code editor kita akan menggunakan WPF. Jadi llebih rich featurenya.

            RW: Wah sangat keren.Tapi kenapa menurut lo kita butuh UI framework lagi, kan sudah ada windows form obviously untuk web sudah ada ASP .NET dan juga recently Silverlight dan sebagainya. Dan yang menarik itu kan WPF dan Silverlight kan lumayan saling apa yah subset, katanya Silverlight itu subset dari WPF. Kenapa menurut lo kita butuh WPF?

            W: Okay, kalau kita perhatikan trend di akhir tahun 2000an gitu yah, user sudah get bored dengan tampilan yang layar abu abu terus sudut kanan ada tombol x, gitu kan, diatas ada maximize minimize, terus ada button warna abu abu gitu kan. Kan getting bored. Apa lagi perusahaan yang lebih kearah multimedia atau kaya semacam, jadi kita pernah lakukan semacam POC atau technology technology customer yah. Waktu itu client kita salah satu vendor yang keluar di product, make up, untuk women make up dan segala macemnya. Sori saya ga bisa sebut namanya, dia show bahwa aplikasi dia. Teman kita bikin WPF dan kasih liat managernya, dan tanggapannya adalah bisa gitu yah ternyata? Jadi kebutuhan WPF adalah kita butuh user experience yang lebih wow gitu. Why we need user experience gitu, yang paling similar adalah website, website biasa itu ada visit gitu yah, tampilannya cuman biasa biasa doang, yah udah gitu. Kalau misalnya anda punya sesuatu yang bisa menajubkan orang, yang membuat anda wow gitu yah, next time dia bakal visit lagi atau bakal tell another people ada barang itu. Windows Presentation Foundation di design untuk bisa deliver next generation user experience.

            RW: Jadi target audience nya sendiri mungkin lebih ke public yah dari pada ke enterprise?

            W: Sebenernya targetnya ga hanya ke public atau ke enterprise, sebenernya multi channel. Kalau saya bilang kenapa karena Windows Presentation Foundation itu bisa untuk di gunakan untuk aplikasi LOB juga, visualisasi datanya yang sangat bagus. Kita ngomong di podcast yah jadi saya ga bisa tunjukan demo nya, kalau bisa saya tunjukan demo yang pada tau itu namanya Wood Group Financial, itu untuk LOB tapi keren banget. Wood Group Financial itu untuk kaya semacem finance application gitu, lalu kalau rekan rekan tau juga ada yang namanya yahoo messenger yang dibangun dengan WPF, itu ada itu. Nah visualisasinya juga luar biasa, beda banget yahoo messenger existence yang skarang gitu. Jadi berbagai channel lah yang saya bilang.

            RW: Salah satu yang Wely bilang adalah WPF pengen buat mengatasi kebosanan orang terhadap windows form biasa yang abu abu dengan silang yang di sebelah kanan atas yah.

            W: Salah satu doang itu.

            RW: Berarti WPF ini lebih mendukung semua yang kaya 3D, animasi dan sebagainya yah?

            W: Betul.

            RW: Jadi fair to say ga, kita misalnya mau bikin something, mau bikin game gitu yah. Kita ga perlu tau lagi tentang direct x, kita ga perlu tau lagi tentang native code, bisa ga dibuat pake WPF?

            W: Menurut saya ga bisa juga di bilang seperti itu yah, kalau mau buat game gitu yah, aplikasi nya bisa anda full gunakan Windows Presentation Foundation, WPF. Tapi it would be great kalau misalnya anda menggunakan lebih dari itu. Karena suatu technology somehow pasti punya batasan tertentu. Contohnya ini bener bener case salah satu project di Indonesia yang bakal dipakai di Education Department. Mereka itu bikin untuk education, gitu itu seru banget. Di project itu, base nya menggunakan Windows Presentation Foundation tapi dia juga butuh interog gitu.

            RW: Jadi nyambung ke sequel reporting services juga?

            W: Iyah itu bisa, Jadi one thing, satu technology itu good or not harus kita perhatikan adalah interog probabilities. Jadi kita bisa bikin control yang running win control di WPF dan WPF running di win control itu memungkinkan.

            RW: Itu alasannya kenapa tuh Wil? Kenapa ada situasi apa yang supaya lo pengen itu? Berarti menyatakan ada something yang ga bisa dilakukan di WPF tapi bisa dilakukan di winform?

            W: Yang sangat fundamental adalah dulu kita bikin aplikasi, library banyak banget yah pake aktif Xcom, ketika kita migrate ke .NET pusing kepala, garuk garuk kepala. Tapi gimana yah, apakah saya bisa gunakan dengan library yang lain gitu, Microsoft menjawab dengan interog gitu. IPI.net bisa di consume sama VB 6 dan VB 6 punya dll, itu bisa di consume sama .NET. Nah kasus serupa ternyata di Windows Persentation Foundation juga, gimana sekarang kalau misalnya saya sudah bikin sebuah windows form nih. Nah form nya itu sudah ada, form itu somehow saya ga mau migrate itu menjadi WPF karena itu repot yah. Bisa ga saya doing interog. Ya bisa ajah. Kita gunakan satu item yang namanya kalau Window itu namanya Windows host box, untuk nge host yang WPF.

            RW: Jadi lebih lebih legalacy support yah, jadi minimized risk buat satu perusahaan untuk nge adopt WPF. Kayanya WPF berarti di posisiin untuk menggusur winform, yang technology nya lumayan gusur kan sekarang. Tapi yang aku denger juga, masi banyak orang yang mempunyai kesulitan buat mempelajari WPF ini yah. Karena denger denger perbedaannya lumayan drastis dengan winform. Bisa ngomong sedikit kira kira perbedaannya apa dan kenapa itu sulit dan kalau misalnya mungkin ada juga tips oleh Wely gimana cara supaya memudahkan belajar WPF

            W: Oke, saya akan kaitan pertanyaan itu dengan application module WPF nya sendiri dan tools yang digunakan untuk aplikasi WPF. Application model WPF, WPF menfaatkan satu Markup language yang namanya XAML atau yang biasanya di sebut dengan zamel. Zamel itu just xml, yah sama seperti xml tapi dia punya panduran tertentu yang mengharuskan kita untuk comply ke dia gitu. Jadi untuk kita bisa buat contoh gitu, untuk bikin sebuah button kita bisa bikin dari Markup language atau kita bisa bikin dari impractive code dari atau C sharp code. Pertanyaannya why do we need zamel gitu yah? Itu untuk gini, kalau misalnya selama ini designer, apa yang designer design yah dia sudah bikin button cantik cantik, grid cantik cantik, ketika di serahin ke developer apa yang terjadi, potong potong jadi image. kalau misalnya saya mau sytle yang bagusan, ketika sampai ditangan developer juga jadi kurang bagus, diakalan paling juga misalnya imagenya jpg disusun gitu kan. Ya somehow ada keterbatasan yang membuat itu jadi kurang perfect gitu.

            RW: Terutama yang bikin CSS gitu kan, frustasi ga browser compatible

            W: Karena menggunakan zamel, designer bisa design menggunakan satu tools yang namanya Expression design, dia bisa design dan menggunakan untuk slicing atau membikin animation dan ketika apa yang dikeluarin dari itu adalah Markup language, sebuah zamel. Zamel itu di mengerti sama developmer dan sama designer. Mungkin designer ga ngerti zamel gapapa, dia gambar ajah yang bagus bagus, hasilnya toh zamel gitu. Begitu diserahin ke developer, developer tinggal meng enhance zamel dengan menambahkan code. Jadi application model itu at very high level itu, zamel gitu. Mungkin kita bisa ngomong artisektur

            RW: Coba boleh skarang dibahas sekarang dikit.

            W: Kalau kita masuk ke arsitektur, WPF sendiri, jadi WPF itu punya 3 dll yang penting. Kalau kita perhatikan Windows. Windows at the very fundamental itu adalah apa, adalah Kernel Windows. Dimana whatever program atau aplikasi yang kita run di atas Kernel,  Kernel yang manage sebuah activitas operational di sebuah OS gitu kan. Di atas Kernel ada a lot of dll, a lot of run time library, salah satu nya direct x, which is tugasnya untuk menampilan graphic ke UI. Nah di atas direct x, ada 1 component yang namanya milcor, which is salah satu component dll yang running diatas direct x sendiri. Nah milcor ini adalah native, artinya dia running tidak diatas CLR, tapi dibawah .NET. Jadi salah satu, ternyata salah satu library dari WPF itu running dibawah CLR, bukan diatas. Lalu diatasnya lagi, diatas milcor.

            RW: Jadi ini equivalent sama MSIL kalau C sharp, VB dan sebagainya atau totally different thing?

            W: Ga, dibawahnya. Itu akhirnya ga running diatas CLR. Saya kasih tau dulu, ada 3 dll, ada 3 component utama dari WPF, yang pertama yang running di bawah CLR yaitu milcor, lalu ketika di level CLR, yang tugasnya untuk menterjemahkan code kita yah dari MSIL ke native code. Nah diatas CLR ada 2 dll penting lagi, namanya presentation core. Presentation core itu dll nya WPF juga yang tugasnya untuk mengimelementnya element WPF.

            RW: Jadi form dan button nya itu sendiri yah?

            W: Sori, saya ketinggalan yah. Yang milcor itu tugasnya untuk rendering purpose, jadi running di direct x. Dia kan menghandle 2D 3D animation dengan bantuan direct x .

            RW: Jadi ini sudah pixel by pixel operationnya lah yah?

            W: Iyah, lalu setelah presentation core ada lagi yang namanya presentation framework. Presentation framework itulah yang kita familiar yang terdiri dari UI componentnya. Jadi arsitekturnya ada 3 component yang membuat WPF happens. Ketika kita running sebuah aplikasi web, ada kan sebuah presentation host yang akan jalan di service kita

            RW: Perbedaan yang mendasar winform sama WPF itu apa Wel?

            W: Jadi tergantung purposenya gitu lagi, yang pertama purpose dari winform sama WPF itu berbeda. Selain itu dari sisi technology, winform pure running diatas CLR tanpa ada barang barang seperti presentation host, presentation core, presentation framework dan segala macem. Winform itu running natively diatas CLR dan running dengan control yang kita sudah familiar, bahkan di VB 6 sudah ada control yang serupa. Basicly perbedaannya itu siy, sebetulnya masih banyak yang bisa kita drill down yah.

            RW: Jadi WPF lebih yang multimedia rich nya, tapi misalnya mungkin lebih satu perusahaan yang lebih peduli sama productivity dan team nya mereka sudah lancar sama winform ngapain pindah ke WPF langsung gitu yah.

            W: Dan kalau mereka ga care tentang UI, it’s fine gitu. Bahkan sometimes bahkan consule bakal jalan gitu kan. Kita kembali lagi ke customer gitu.

            RW: Salah satu topic yang sangat close to my heart salah testibility. Aku pernah punya pengalaman untuk nge produce winform yah, bagi aku sangat sangat susah banget buat nge test nya. Di WPF ada fungsi fungsi baru yang buat memudahkan untuk testibility ga?

            W: Testibility mungkin saya ga bisa share terlalu banyak. Yang pasti WPF itu punya beberapa pattern, yang biasa bikin itu dari pattern practice yang namanya application guidance atau disebut dengan prisom. Itu sangat cocok buat kita, gimana yah. Jadi kita ngikutin pattern pattern tersebut buat module module WPF yang lebih ter structure, Itu paling yang bisa saya share, tapi saya belon explore lebih jauh tentang prisom itu. Dan untuk testibility saya juga belon main terlalu jauh tentang itu.

            RW: Ada tips tips terakhir untung orang yang mau mulai WPF?

            W: Ohh, ada ada. Jadi gimana yah saya tulisnya gimana, saya sebutin satu per satu atau gimana ni?

            RW: Sebuatin ajah dulu, ntar kita bakal masukin ke record notesnya,

            W: Okay, anda masuk ke http://windowsclient.net. Jadi windowsclient.net itu contain winform dan WPF karena 2 technology itu berapa di sisi client, client side. Jadi beda dengan ASP .NET yang lain. Ini winform dan WPF. Anda bisa masuk ke sana website itu, itu sangat lengkap, Kalau misalnya bagi teman teman yang belon pernah coba WPF, anda bisa get started, itu ada tutorial dalam berbagai media siy, itu ada video, ada hands on lab, bahkan ada contoh contoh sample code. Itu sangat menarik, Itu yang pertama. Selain itu, anda bisa, saya pernah nulis beberapa blog tentang WPF itu alamatnya http://geeks.netindonesia.net/blogs/wely Itu blog saya. Anda cari yang tag Windows Presentation Foundation, tagnya itu. Saya pernah nulis post yang related dengan WPF.

            RW: Wely terima kasih sudah ngeluangin waktu nya buat ngobrol bersama kita. Ada pesan pesan terakhir?

            W: Pesan pesan terakhir, kalau teman teman mau blajar WPF, teman teman masuk ke search engine di internet, anda terserah mau pakai search engine apa. Cari aja Windows Presentation Foundation, enter itu resource nya sangat banyak gitu,

            This page is wiki editable click here to edit this page.

            #17 OSUM, OSUG dan Software Freedom Day – transkrip

            Posted: September 28th, 2009 | Author: Ronald Widha | Filed under: transkrip | Comments

            Contents

            [ hide ]

              ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

              RW: …

              AH: …

              AB: …

              This page is wiki editable click here to edit this page.

              #18 Belajar Sharepoint dengan MCA – transkrip

              Posted: September 27th, 2009 | Author: Teman Macet | Filed under: transkrip | Comments

              Contents

              [ hide ]

                ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio.

                RW: hari ini saya bersama Choirul Amri, Senior Consultant Trainer di Avantus Training Singapur, dulunya di Indonesia aktif di ilmukomputer.com dan dotnetindonesia. Choirul jg founder SQL Server user group Indonesia dan sekarang berstatus sebagai MVP SQL Server. Apa kabar Choirul?

                MCA: Baik.

                RW: Ini lebih dikenal di dunia cyber sebagai MCA ya?

                MCA: Tapi bukan Microsoft Certified Architect.

                RW: Haha, cuman MPV. Terus sekarang lebih main main sama Sharepoint yah di Singapore yah?

                MCA: Iyah, jadi kalau kondisinya di Singapore ini kebetulan Sharepoint lagi hot banget gitu dan permintaan industry untuk SDM yang ngerti Sharepoint ini tinggi kalau di Singapore terus developer yang bisa masih sedikit.

                RW: Di beberapa episode yang lalu, aku sempet ngobrol sama Zeddy Iskandar juga. Dan dia ngomong hal yang serupa, bahwa Sharepoint ini lagi lumayan high demand di Jakarta sendiri. Dan dari yang kamu liat trendnya Sharepoint ini project project apa ni yang dibikin pake technology Sharepoint?

                MCA: Oke, kalau di tempat lain saya kurang tau yah, tapi kalau disini yang paling banyak pertama untuk content management, public website terus nanti ada yang content devepernya siapa, approvalnya siapa, approvalnya kaya gimana. Jadi kaya content management. Kedua document management gitu, karena kalau disini companynya kan rata rata enterprise yah. Jadi kesadaran mereka untuk maintain document document electronic ini sudah tinggi sekali gitu. Auditing nya gimana, itu harus bisa di record semua. Terus workflow, mereka juga banyak pakai untuk work flow, jadi misalnya expense report, kaya begitu. Saya liat 3 itu kalau disini yang banyak, content management, document management, dan workflow. Terus akhir akhir ini mulai banyak trend untuk BI portal.

                RW: Sebagai dashboardnya yah?

                MCA: Iyah

                RW: Sekarang kita coba mundur sedikit satu langkah, apa sih sebenernya Sharepoint itu? karena aku salah satu orang yang lumayan aktif di technology Microsoft kan, ngerjain ASP .Net dan sebagainya tapi selalu penasaran sama yang namanya Sharepoint karena aku belon pernah ngerjain project Sharepoint sekalipun dan aku selalu bingung Sharepoint itu sebenernya apa dan kapan kita bisa pakai Sharepoint gitu. Apa project yang tepat buat makai Sharepoint sebagai platform andalan. Bisa cerita sedikit?

                MCA: Jadi gini, mungkin mundur dikit yah ceritanya yah. Dulu kan ada Sharepoint Portal 2003 yang versi 2003, nah pada saat itu Microsoft memposisikan Sharepoint sebagai Sharepoint Portal, sebagai Portal, content management karena waktu itu kan lagi booming web portal segala macemnya. Nah setelah Sharepoint nge relase, Sharepoint 2007 release, tahun 2007, itu di rebranding sama Microsoft. Kata portal nya di buang. Nama resminya skarang Microsoft Office Sharepoint Server. Jadi portal nya di buang, karena dia mau diposisikan bukan sekedar sebagai portal tapi sebagai office server. Begitu, jadi semua kegiatan yang kita lakukan di office pake word, excel, powerpoint, outlook, segala macem, dipulingnya ke Sharepoint semua gitu, kaya dijadikan BI dashboard boleh, dijadikan collaboration portal boleh, jadi content management boleh. Tapi intinya dia itu sebagai flatform untuk knowledge management.

                RW: Oke, ini buat orang orang yang ga terlalu Microsoft orientated pasti sudah mulai bingung, makin burem Sharepoint itu apa. karena aku sendiri ajah yang sudah tau product product Microsoft, lumayan masih ga kebayang sebenernya bentuknya kaya apa, Jadi initinya Sharepoint ini sepertinya web application, yah yang jelas yah.

                MCA: Web application dan dia itu build on top ASP .NET 2.0 kalau yang Sharepoint 2007 yah.

                RW: Dan tujuannya adalah buat mengintegrasikan semua component component dari office?

                MCA: Iyah, pertama itu. mengintegrasikan semua component component dari office, jadi mereka bisa connect each other, misalnya kita kan biasa kalau mau ngasi comment document kan forward fowardan email gitu, mereka kan bisa pakai Sharepoint. Jadi ntar bisa di trace auditnya gimana, siapa yang ngubah ini, siapa yang ngubah itu, version nya gimana gitu.

                RW: Ini integrasinya sebatas kita buka website Sharepoint nya terus browse, masukin document kita atau sampai bener bener terintegrasi sampai wordnya itu sendiri, sudah ada tombol untuk upload di Sharepoint?

                MCA: Kalau kita pakai office 2007, sudah sampai masuk ke Wordnya. Jadi kalau kita pakai Office 2007 karena sekarang kan branding dari Microsoft itu namanya Office System.

                RW: Sebuah eco system yah?

                MCA: Iyah, betul. Jadi Sharepoint sebagai jantungnya gitu. Nah terus kalau kita pakai Word misalnya, di Word bisa ngeliat,saya mau publish document saya ke document workspace namanya ke Sharepoint. Misalnya ada workflow yang di apply ke document itu, di Word juga keliatan tombol workflow nya gitu.

                RW: Kita sudah ngebahas awalnya Sharepoint berawal dari portal terus beralih ke office server yang lebih mirip document manage system. Nah sekarang kapan Sharepoint menjadi pilihan yang tepat untuk dipake di project itu? Saingannya tentu banyak dong, ASP.NET, yang bisa ngerjain ASP .NET itu sendiri, bikin dari awal atau bisa juga pakai product product di luar mungkin untuk content management system seperti yang tadi kita ngomongin juga yah sebelon discusinya yah, yaitu mulai dari Dot Net Nuke dari php sudah ada cms kaya WordPress atau sebagainya, dan ada juga terutama  kaya Ruby on Rail yang sudah punya technology, sangat cepat banget untuk bikin aplikasi anyway. Kapan Sharepoint menjadi kandidat yang tepat?

                MCA: Nah ini menarik ni, soalnya kalau disini saya lihat yah, terlepas dari masalah teknis yah. Kalau di Singapore Sharepoint sudah menjadi kaya brand gitu, karena saya liat orang Microsoft disini bagus banget dalam hal doing sales gitu. Jadi begitu mau bikin Portal, langsung Sharepoint gitu. Walaupun bentuknya cuman website kecil ajah, orang langsung top up Sharepoint gitu. Padahal kan ga semua project harus pakai Sharepoint, gitu yah ini terlepas dengan marketing dan sebagainya. Kalau dari pengalaman saya sendiri, setelah saya pake Sharepoint segala macem, Sharepoint itu sebenernya killing pointnya kalau kita mau integrasi dengan office. Nah misalnya di kantor kita eco system nya sudah ada excel, office, powerpoint, outlook, mungkin kita sudah punya OCS, terus itunes nya mungkin kita sudah pakai service. Nah itu Sharepoint sangat tepat buat masuk kesitu.

                RW: Jadi kuncinya adalah buat kaya meng integrasikan semua component yang sudah ada yah kalau kita di sebuah kantor yang sudah pakai semua product itu dan pengen cari integrated way buat ngeliat di satu titik Sharepoint bisa hidup disitu yah

                MCA: Iyah karena kalau kita liat dari sisi content management. Saya kan pernah pakai Dot Net Nuke. Kalau dari sisi content management, isi customized segala macem, terus terus terang Sharepoint ga bisa dibandingkan dengan Dot Net Nuke, misalnya itu yah karena mereka memang baik design adalah content management. Sedangkan Sharepoint itu content management cuman salah satu feature. Kita bisa pakai sebagai content management juga tapi itu sebagai feature. Jadi kalau kita pertimbangananya dari isi itu customize mungkin Dot Net Nuke lebih gampang dong di customize dalam hal content management tapi kadang kadang company mikirnya scalability nya juga gimana. Sekarang kita tanya Dot Net Nuke bisa ga di jalankan di web farm, jadi sudah siap apa belon? Gitu si, terus terang si saya ga ngikutin perkembangan Dot Net Nuke akhir akhir ini yang versi 5 gitu. Tapi kan Sharepoint itu secara arsitektur sudah siap gitu kita bisa jalankan di farm environment, jadi kita mau handle ratusan ribu users juga oke. Makanya banyak company yang sebenernya walaupun dia itu content management itu tetep lari ke Sharepoint karena mereka mengejar scalability nya.

                RW: Sekarang kita mulai bahas technical nya, Component component nya apa ajah, dan mungkin diliat dari sisi aku yah, orang yang baru pengen mulai, pengen main main Sharepoint. Gimana cara install nya, soalnya aku punya, aku sudah denger berbagai macam cerita buruk katanya Sharepoint install nya lumayan sulit.

                MCA: Oh, gampang banget tuh, next next next ajah.

                RW: Oh gitu yah, Bukankah sebenernya terdiri dari  berbagai macem services, mungkin ada hubungannya sama scalability nya juga itu kali yah. karena pengen scalable akhirnya ada componentnya ada banyak.

                MCA: Jadi tiap tiap service, di mesin yang berbeda. Jadi gini kalau kita sudut pandangnya sebagai developer, saya pengen belajar Sharepoint.Kalau developer kan biasanya ga peduli dengan berbagai macem scalability, yang penting dia jalan di mesin gw, gw bisa coding, gitu kan. Itu sebernernya ada yang namanya basic installation mode, gitu. Jadi kita tinggal download ajah, install Sharepoint dari Microsoft.com. Setelah download itu ada 2 pilihan, advance mode sama basic mode. Pilih ajah yang basic mode. Basic mode itu akan meng install semua prerequisite termasuk SQL express, dia akan install in juga, gitu, Jadi kita pilih basic mode, next next next, kalau kita belon punya SQL express, dia install in semua tau tau webistenya jadi ajah.

                RW: Begitu kita install Sharepoint, kita dapet apa nih?

                MCA: Dapet satu site connection namanya. Dapet 1 web application which is satu virtual directory, biasanya jalan di port 80. Di dalam satu public web application itu ada 1 side collection.

                RW: Dan secara feature apa yang kita dapet out of the box?

                MCA: Okay, out of the box. Kalau kita pake WSS kan ada 2 macem yah Sharepoint yah, Windows Sharepoint Service versi 3 itu free, ada satu lagi Microsoft Office Sharepoint Server which is itu perlu bayar. Kalau kita install yang WSS itu kita dapet base flat form untuk collaboration sama content management, termasuk workflow juga, Jadi untuk content management bisa, collaboration kaya discussion forum, task, calendar, document management juga sudah masuk gitu terus workflow base juga sudah ada.

                RW: Jadi kalau misalnya aku sebagai developer pengen main main Sharepoint, anggap simple nya aku pengen bikin blog lah yah, bener bener cuman basic CMS, aku install Sharepoint yang simple itu, basic install, dapet content management system langsung.

                MCA: Iyah, ada doc template juga di dalamnya, walaupun ga sekeren blog engine atau community server yah. Tapi sudah ada blog function nya didalamnya.

                RW: Oke, kalau sekarang sudah ngomongin, aku pengen bikin theme skin aku sendiri, Apa yang aku harus lakukin di sharepoint?

                MCA: Wah ini bisa panjang ceritanya.

                RW: Panjangin, gapapa.

                MCA: Sharepoint susah banget si di customize gitu, karene emang by design Sharepoint itu bukan content management nya by design. Basicly pertama kita harus punya knowledge ASP .NET, jelas dong yah. bisa nulis ASP.NET. Jadi semua yang kaya master page, CSS, ASP .NET semua applicable knowledge itu. tapi yang perlu kita tau adalah structure sidenya Sharepointnya ini, kita ga bisa main copy and paste ajah. Kalau di Sharepoint kita harus paham structure nya, jadi kalau di Sharepoint itu pertama ada master page, kedua ada page layout, ketiga ada CSS. Nah ini 3 hal yang berbeda, Jadi master page itu meng definiskan layout nya, jadi ada left menu.

                RW: Template ing lah yah?

                MCA: Iyah gitu, terus selain master page, itu ada yang namanya page layout. Kalau kita pake Sharepoint server yah, tapi kalau WSS ga ada page layoutnya. Kalau WSS page layoutnya itu, nempel di master page. Kalau Sharepoint server itu lebih flexible, jadi ada master page, ada page layout yang mengatur page nya, terus ada content page nya itu sendiri.

                RW: Jadi page layout ini control bagian apanya ni? Jadi misalnya aku mau punya 3 coloums, itu page layout?

                MCA: Iyah, page layout ngatur itu, jadi kalau pake yang Sharepoint server yang pake publishing template pakai itu. Kita ngatur page layout nya, ada di page layout nya, jadi lebih moduler gitu. Kalo dari WSS page layout nya di tanem di master page nya, gitu.

                RW: Rada rada menrangkum dikit ni. Jadi aku pengen blog, jadi di master page nya aku bikin header sama footer. Di page layout, kolom 3, yang ntar dikiri nya aku mau taro navigasi, mungkin yang tengah mau taro post nya, dan kanan taro calender misalnya. Terus kemudian tinggal obviously warna, styling dan sebaginya yah?

                MCA: Iyah, jadi kalau CSS, ada banyak juga CSS di Sharepoint. Ini yang kadang kadang orang orang bingung karena sekarang ada tools namanya Sharepoint designer, itu free sama Microsoft sudah dibikin free. Dulunya siy bayar, tapi sekarang sudah free. Sharepoint designer ini bisa connet ke Sharepoint side jadi kita browse Sharepointnya. Kalau orang yang datengnya dari background ASP .NET, begitu buka pake Sharepoint designer, buka langsung customized ajah, tinggal ganti colour nya ganti ini disitu. Karena ada aturan sebenernya, misalnya CSS saya mau rubah size of font, saya mau rubah background, saya mau rubah segala macem colour, itu kan semuanya ada di CSS yah. CSS itu ada 3 macem, pertama which is core CSS atau base CSS, master CSS nya yang boleh di rubah rubah. Kedua ada CSS yang specific punya nya master page jadi kan Sharepoint sudah ada beberapa master page. Nah setiap master page punya CSS. Nah CSS master page ini nge overwrite core CSS. Ketiga ada yang custom CSS, itu bikinan kita sendiri. Biasanya kalau kita mau ngerubah tampilan colour nya di CSS, kita harus buat custom nya CSS itu sendiri, yang meng overwrite CSS dari core atau dari master page. Jadi jangan sekali kali meng modifikasi build in CSS nya.

                RW: Ibaratanya kalau sudah ada file kalau di install ada disitu, jangan di sentuh lah yah, mendingan over write

                MCA: Iyah iyah, ini principal OP, close for modification, but open for extension.

                RW: Nice, aku pengen ngambil garis parallel di WordPress yah. di WordPress juga sesuatu yang mirip yah, kayanya kita punya ada beberapa file, setiap skin tuh selalu ada page.php, ada footer.php, dan itu selalu convention nya gitu mungkin, Dan mungkin ini hal yang mirip dalam arti ada structure tentunya, dan kita harus ngukutin structure itu. Dan begitu tapi ada flexibilitas untuk overwrite di point point tertentu kali yah. Terus sekarang kembali ke contoh yang tadi, aku sudah punya blog, define layout nya sudah define header, footer, dan sebagainya, aku pengen mulai nambahin functionality yang mungkin Sharepoint ga support, misalnya aku pengen bikin widget yang nunjukin foto flikr aku atau bikin widget buat nunjukin facebook status aku, atau twitter aku dan sebaginya. Itu ada ga concept dimana module aku tulis sendiri, hampir kaya drag and drop, taro di page layout aku itu?

                MCA: Iyah ada, namanya web part kalau di Sharepoint. Malah sekarang kan ISP web 2.0 web part itu sejarahnya dulu dari Sharepoint gitu yah. Wah tim Dot Net ngeliat punya Sharepoint, wah bagus nih, akhirnya mereka masukin ke Dot Net framework gitu.

                RW: Bagi yang sudah familiar sama ASP .NET, bedanya web part sama user control sama web control apa yah?

                MCA: Gini, kalau di ASP .NET 2.0, web part itu kan kita punya designer nya, udah enak skali gitu, jadi kita di designer. Setelah di designer, asalkan kita sudah register personalization personal data base nya, drag and drop jadilah dia web part. Cuman kalau di Sharepoint, web part nya agak agak classic gitu, jadi semua harus di declarasikan programmatically, kaya kita bikin custom control.  

                RW: Oh, jadi ga ada dari make up language sama sekali yah, semua harus programmatically yah?

                MCA: Iyah, jadi misalnya mau gambar button, mau gambar data grid, mau setting sizenya, yah sudah di declare ajah. Gedenye sebrapa itu. Basicly kita create new dll, create new project inherit dari web part class, habis itu yah udah di draw ajah canvasnya. Kalau mau ada access Sharepointnya, silahlan di akses. Mau connect ke twitter kamu, akses web service nya segala macem. Basicly, web part itu simple, basicly dia itu sebenernya custom control ajah.

                RW: Ga ada kelebihan lain? other than drag and drop itu yah, jadi support drag and drop

                MCA: Kelebihannya pertama drag dan drop. Jadi setiap user kalau dia punya permission, dia bisa tambahkan sendiri.

                RW: Jadi di layoutnya harus ada zone nya, selama ada zone nya web part nya bisa di taro dimana ajah yah

                MCA: Iyah, cuman akhir akhir ini banyak open source project, kalau kita liat di CodePlex, yang mereka bikin framework sehingga web part ini menjadi lebih gampang gitu. Jadi ga perlu coding sebanyak itu gitu. Ada project namanya smart part di CodePlex, dia itu bisa ngerender sebagai web part gitu

                RW: Oh. Kaya wrapper gitu yah?

                MCA: Iyah sebenernya dia itu cuman wrapper ajah karena di dalam web part itu ada yang namanya load control. Di dalam load control ini di inject ada ASC nya. Kita punya ASCX tapi behaviournya seperti web part, bisa drag dan drop di dalam Sharepoint. Liat ada di CodePlex namanya smart part gitu

                RW: Nanti dimasukin ke show note nya juga,

                MCA: Gini, keuntungan lain kalau, jadi web part ini ada 2 macem yah. Sebenernya Sharepoint ini support 2 macem web part, ASP .NET atau Sharepoint native web part gitu. Maksudnya ASP .NET web part itu, dia inherit dari ASP .NET semuanya, jadi dia ga nyentuh base class nya Sharepoint sama sekali. Nah kalau native Sharepoint web part, kelebihannya dia bisa bikin cross page connection, gitu. Misalnya di page 1, begitu sama click, bisa inject parameter ke web part yang lain, gitu baik dalam satu page atau page lain, jadi dia bisa bikin connection antara web part, gitu.

                RW: Tujuannya connection itu misalnya buat apa?

                MCA: Tujuannya gini misalnya saya mau bikin master detail report, nah di master dia nampilin summary order nya, nah di detail dia nampilin detail order nya berikut dengan edit delete, segala macem. Saya perlu bikin define connection dong antara si master dengan si detail. Tujuan lain untuk filtering juga.

                RW: Aku masih berusaha ngebayangin maksud connection nya yah. Jadi kalau misalnya aku punya 1 page, dan aku misalnya punya apa yah, statistic penjualan deh, per area. Terus aku pilih, dan itu dikerjain di web part, aku click salah satu areanya misalnya Singapore. Dan pas aku click, bakal drill down dan masukin ngasih liat penjualannya rinci di Singapore. Itu berarti master ke detail gitu yah. Dan ini yang menurut kamu bisa disambungin satu web part nya master kalau aku click bakal nyambung ke web part lain yang bakal nunjukin detail nya.

                MCA: Iyah, basicly antara web part itu bisa communicate selama dia ada channel provider dengan data type yang compatible gitu. Jadi misalnya web part 1 ada, kita sudah define providers nya meng expose customer ID misalnya, web part yang lain, kita bikin banyak web part, ada channel consumer dia expecting string. Kita bisa bikin connection, selama connectionnya make sense. Nanti dia akan inject customer ID ke web part yang lain sehingga dia bisa merender data gitu, sesuai dengan parameter yang di supply.

                RW: Aku lumayan jelas, kebayang Sharepoint itu kaya gimana. Ini seperti nya mau bikin satu layer di platform ASP .NET lagi biar abstraksinya makin abstract yah, makin ga deket sama HTML sama HTP, semua component sama component lain, kita bisa sekedar dari satu kabel di colok ke kabel lain dan tiba tiba component ini dua duanya bisa saling ngomong, gitu yah?

                MCA: Iyah, karena sebenernya di Sharepoint banyak bener build in web part yang kita bisa pakai ajah. Ada kali 60 lebih web part build in yang kita bisa langsung pakai, kaya calendar segala macem itu ada. Kalau kita mau customized pun kalau kita ngerti , camel queiry, camel language, kita bisa langsung customized disitu pake declarative language, ga pakai coding. Cuman gw ga begitu seneng, gw lebih seneng coding di C sharp nya ajah.

                RW: Oke, skarang kita ngomongin, sebelon kedengaran menjual Sharepoint yah. Kita pengen ngomongin soal gimana realita nya memakai Sharepoint? Ada pain point nya ga?

                MCA: Yah, kalau bicara masalah w3 compliant yang ga bisa 100 percent yah. Apa lagi kan setting coolnya dulunya kan Sharepoint ini kan sebenernya di posisikan untuk intra net gitu. Compliant w3 kan sudah banyak untuk public website gitu. Baru akhir akhir ini ajah setelah Sharepoint sebagai content management nge trend, nah orang mulai concern dengan w3c standard itu. Itu saya liat ada di Sharepoint team blocks dimana dia membahas masalah governance dimana Sharepoint ini comply sama w3c guidance, apa ajah yang harus di ikutin terutama kalau kita bikin internet facing website base on Sharepoint.

                RW: Jadi memungkinan, tetep yah.

                MCA: Memungkinkan gitu walaupun harus dibilang tidak semudah kalau kita pake ASP .NET yah

                RW: Terus ada pain point apa lagi ga yang biasanya menjadi masalah banget kalau berhadapan dengan Sharepoint project?

                MCA: Oke, masalah utama yang paling sering gw liat disini. Karena Sharepoint ini kan masih baru yah, jadi banyak developer tuh instant itu, jadi dia developer ASP .NET langsung dia coding ajah, nemplung ajah di Sharepoint gitu. Ini sebenernya mereka kurang ngerti, kurang menguasai feature feature Sharepoint secara out of the box gitu. Padahal sebenernya ga perlu coding, tapi kalau ga tau, dia coding gitu berdarah darah terus nanti bilang wah Sharepoint ini susah. Jadi saya liat banyak disitunya. Dari diskusi diskusi di kelas, project juga. Saya juga kaget banyak basic basic yang sebenernya sudah ada, build in, library nya ada, web part nya ada, tapi mereka coding gitu. Yang tidak memberi nilai tambahan apa pun. Nah itu dari sisi knowledge, dari sisi lain, gw liat di bagian back end nya karena Sharepoint ini kan hosting, tidak didalam Visual Studio. Jadi kebayang sendiri dong, susahnya gimana.

                RW: waah, attach to process to IS langsung?

                MCA: Iyah, tapi abis itu crash. Sebenernya best practise nya kalau Sharepoint kita lebih suka pakai logging dari pada debugging. terserah mau pake syste, diagnostic. Jadi lebih enak pake logging dari pada debugging gitu

                RW: Interesting, ada yang mau di bahas lagi ga sebelon kita mengakhiri acara ini kayanya aku sudah lumayan blajar banyak tentang Sharepoint dan mempunyai bayangan yang lebih jelas untuk Sharepoint.

                MCA: Oke, saya mungkin perlu tambah lagi yah, tadi kan kita sudah ngomongin masalah web part, ngomongin content management, mungkin saya pengen nambah masalah ini. Jadi Sharepoint itu, feature feature yang di Sharepoint pertama bisa untuk content management, kedua untuk document management, biar kita bisa taro retaintion, auditing, segala macem. Ketiga dia bisa untuk BI portal, kaya business intelligence, terus yang lain dia juga punya service service seperti misalnya Excel services. Jadi misalnya kita bisa host Excel document, terus Excel document nya bisa langsung di render di web browser termasuk formula formula nya keliatan semua. Itu lagi hot disini, jadi mereka upload excel document, nge render, charting nya langsung keliatan segala macem gitu. Terus yang belon banyak di discuss juga, salah satu feature Sharepoint itu bisa search, enterprise search, jadi kita bisa pointing ke data source, segala macem terus di index. Jadi Sharepoint bisa jadi portal nya di dalam intra net.

                RW: Dan ini nge index semua document yang disimpen di dalam Sharepoint yah?

                MCA: Iyah.

                RW: Wah, powerful juga yah.

                MCA: Bahkan bisa index file server kalau lo mau. Kita bisa buat content server point ke legacy point server gitu. Jadi biar file file nya bisa di seach, termasuk juga index website gitu. Jadi www.net Indonesia.net masukin content nya ke Sharepoint.

                RW: oh yah?

                MCA: Public website itu kita bisa bikin content seach nya di index gitu. Cuman gw ga terlalu tau dalam, cuman tau setting setting basic nya, cuman konsen di BI dan workflow. Oke, mungkin saya pikir untuk perkenalan oke yah.

                RW: Betul betul. Aku pengen blajar ajah dari para programmer programmer jago diluar sana kan.

                MCA: Waduh, itu mesti bayar itu.

                RW: Kalau tertarik buat tranning lebih lanjut, bisa hubungi Choirul langsung yah. Jadi mungkin kita bakal ngobrol ngobrol lagi mungkin tentang Sharepoint, Sequel server, performance, reporting dan sebagainya di episode episode mendatang terutama karena banyak juga teman teman enterprise programmer dan tertarik yang berguna buat kerjaan bukan cuman semua yang hottest, coolest dan sebagainya. Thank you banget yah Choirul. Mau promosi url blog nya mungkin

                MCA: Udah jarang di update, tapi silahkan datang ke choirulamri.org

                RW: Terima kasih Choirul.

                This page is wiki editable click here to edit this page.
                Get Adobe Flash playerPlugin by wpburn.com wordpress themes