programming

Ikutlah INAICTA 2008

Indonesia ICT Award, atau INAICTA, adalah bentuk penghargaan terhadap inovasi-inovasi yang dilakukan oleh bangsa Indonesia dalam bidang teknologi informasi dan komunikasi (TIK). Saya adalah salah satu pemenang dari INAICTA 2007 (tahun lalu) kategori Student Project.

Lomba Apaan Sih?

Lomba-lomba yang berhubungan dengan komputer, mulai dari OSP, OSN, sampai olimpiade internasional (IOI) semuanya mengadu kecerdasan dalam bidang problem solving dengan implementasinya menggunakan pemrograman. Tentu saja hal ini tidak salah sama sekali, bahkan sangat baik karena dengan mempelajari algoritma kita mempelajari cara berpikir sistematis dan logis.

Tetapi, dalam bidang informatika, algoritma hanyalah salah satu dari sekian banyak faktor yang diperlukan. Ada teknik pembuatan software, penguasaan API, design pattern, dan lain-lain. Nah, dengan faktor-faktor yang lain itulah baru kita dapat membangun sebuah program yang benar-benar digunakan oleh masyarakat. Mau maju sampai mana Indonesia kalau generasi mudanya cuma bisa membuat program dalam Pascal, command line pula? (Jangan pakai VB ya, berbahaya.) Read more »

I Wish Every Employer Is Like Google

Stolen from The Cherry Avenue!

Google has been known for a long time as the best place in the world to work. They offer free massages, gourmet meals, and professional haircuts at their beautiful campus in California. That right there puts them above 99.99% of the other companies in the world. At any rate, you already knew all that so lets move on.

Have you ever wondered how much a Google employee makes? Well this data isn’t extremely easy to find, if you don’t believe me just search Google. However, here is some interesting statistics.
Google Programmer in Phoenix – $174,000/year
Google Programmer in California – $197,000/year
Google Programmer in Chicago – $222,000/year
Google Programmer in New York – $242,000/year
(according to Indeed.com)

...and thats just in salary. What other financial benefits does Google offer it’s employees? Read more »

Making Games with Python: Which Library To Use, pygame or pyglet?

Python is a simple yet powerful programming language, and it is one of my favorite. Add to the fact that it has the powerful modules that focuses on providing the necessary utility functions to make a game!

I want to make exciting playable games, but I don’t think a one-person development can live with C/C++ 3D framework especially if the person is me, so I seek to make 2D games. In Python, at least there are two modules that can be used: pygame and pyglet (can’t they have any name not starting with ‘py’!?!?).

Python is a simple yet powerful programming language, and it is one of my favorite. Add to the fact that it has the powerful modules that focuses on providing the necessary utility functions to make a game!

I want to make exciting playable games, but I don’t think a one-person development can live with C/C++ 3D framework especially if the person is me, so I seek to make 2D games. In Python, at least there are two modules that can be used: pygame and pyglet (can’t they have any name not starting with ‘py’!?!?). Read more »

Tutorial Kilat Menggunakan Version Control System dengan TortoiseSVN

  • Untuk pekerjaan kantor/sekolah/organisasi, saya sering terpaksa membuat file-file yang “serupa tapi tak sama”, seperti “Data Penjualan 2008.xls”, “Data Penjualan 2008 revisi.xls”, “Data Penjualan 2008 dengan revisi dari Anton.xls”, “Data Penjualan 2008 FINAL.xls”, “Data Penjualan 2008 FINAL 2.xls”, dan seterusnya. Saya pusing sekali dengan penamaan yang amburadul seperti ini, tidak adakah cara lain untuk mengatur versi-versi dari dokumen ini?
  • Bagaimana puluhan atau ratusan developer untuk sebuah proyek open source (yang kebanyakan tidak pernah bertemu muka di dunia nyata) bisa berkolaborasi untuk mengerjakan satu program komputer tanpa ada konflik satu sama lain?
  • Saya pernah mengepalai pembuatan sebuah proyek seperti booklet perusahaan atau yearbook sekolah yang melibatkan banyak orang. Karena saya kurang cakap dalam mengatur pekerjaan (banyak orang seperti ini lho) atau bawahan saya bodoh (lebih banyak lagi orang seperti ini), beberapa orang melakukan modifikasi pada satu file yang sama. Akhirnya banyak waktu terbuang karena modifikasi harus disatukan kembali. Bagaimana saya bisa menghalangi hal ini agar tidak terjadi lagi?

Jawaban dari pertanyaan-pertanyaan di atas adalah: Version Control System, atau biasa disingkat VCS (ada juga yang menyebutnya Source Code Management (SCM) sih). Read more »

Double Burst Selection Sort

Gw ketemu satu algoritma sorting yang baru, Double Burst Selection Sort. Memang kompleksitasnya O(n2), tetapi katanya lebih cepat dari insertion sort lho!

Intinya sih sama saja dengan selection sort, tetapi yang dipilih bukan hanya satu elemen dengan nilai terkecil, tetapi semua elemen yang nilainya terkecil. Jadi makin banyak elemen yang ekuivalen, sorting akan semakin cepat. Tetapi itu baru Burst Selection Sort, untuk Double Selection Sort, pemilihan dilakukan sekaligus dari depan dan belakang (jadi semua elemen terkecil sekaligus semua elemen terbesar).

Untuk lebih lengkapnya bisa baca sendiri penjelasan algoritma Double Burst Selection Sort.

Buat Programming Contest Environment, Susah!

Proyek gw sekarang membuat programming contest environment (kayaknya sih namanya itu) – aplikasi yang digunakan untuk lomba-lomba pemrograman seperti ACM, IOI dll. Sebenarnya sudah ada sih aplikasi yang sudah jadi (dan open source) yaitu Mooshak.

Tetapi sayangnya, karena gw nggak punya server sendiri (yang bisa benar-benar diutak-atik sendiri dan install apa saja semaunya), program-program yang disubmit harus dijalanin di komputer lain (bukan di server). Nah, membuat fitur itu yang sulit (gak ada di Mooshak). Selain itu Mooshak juga butuh TCL dan shell access untuk jalan. Sekaligus harus buat client yang bertugas untuk koneksi ke server, compile, dan mengirim hasilnya. Belum lagi masalah security (gak mungkin kan siapa saja boleh grading, nanti testcasenya bisa bocor dong?) Read more »

Recent comments