Posted: October 4th, 2009 | 2 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: 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
Posted: September 28th, 2009 | 1 Comment »
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.
Posted: September 28th, 2009 | 1 Comment »
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.