Sebetulnya sedang asik mengembangkan framework Web yang terinspirasi dari berbagai CMS (Django, WordPress, dan Drupal) lalu membaca e-mail dari milis HMIF yang mencantumkan tautan ke situs kampanye pilpres 2009 yang akhirnya penasaran ingin tahu apa engine/web framework/cms yang digunakan.
situs SBY-Boediono ternyata menggunakan drupal, Megawati-Prabowo menggunakan Joomla, dan JK-Wiranto menggunakan wordpress. tidak sulit sebetulnya untuk mengetahui apa engine yang digunakan apalagi untuk engine yang bersifat kode terbuka (open-source). kesimpulannya, tidak ada yang menggunakan cms buatan sendiri.
mengapa menyebut ‘tidak ada yang menggunakan cms buatan sendiri’?
jawabannya sederhana saja, pada saat tulisan ini dibuat pada situs megawati prabowo dan SBY-Boediono tercantum penanda Hak Cipta, atau Copyright ( © ) dan tentu saja pada situs yang mencantumkan tanda copyright tersebut jejak-jejak penanda bahwa situs tersebut dibuat menggunakan framework yang sudah ada tidak dimunculkan (coba saja cari kata ‘drupal’ di halaman situs SBY-Boediono atau cari kemunculan kata ‘joomla’ di situs Mega-Prabowo).
Memang ternyata walaupun hanya situs JK-Wiranto yang penampilannya kacau waktu dibuka, tetapi tidak menyatakan tanda copyright pengembang situs bahkan tetap mencantumkan atribut copyright milik wordpress serta tautan ke situs WordPress.
Catatan:
1: What is the license for Drupal?
Drupal and all contributed files hosted on Drupal.org are licensed under the GNU General Public License, version 2 or later. That means you are free to download, reuse, modify, and distribute any files hosted on Drupal.org’s CVS repository under the terms of either the GPL version 2 or version 3, and to run Drupal in combination with any code with any license that is compatible with either versions 2 or 3, such as the Affero General Public License (AGPL) version 3.
Joomla is free, open, and available to anyone under the GPL license.
now who’s conform to these licenses?
Filed under: opini | 13 Comments
Tags: drupal, joomla, pilpres, pilpres2009, situs kampanye, wordpress
Prosesor multicore sudah tidak asing tetapi aplikasi yang umumnya dikembangkan biasanya hanya terdiri dari satu thread. Sejak dahulu ternyata sudah ada Win32 API untuk menentukan afinitas proses/thread ke prosesor tertentu. Kode di bawah menggunakan delphi 7.
Mendapatkan Jumlah core/Prosesor
var
sinfo : TSystemInfo;
begin
GetSystemInfo(sinfo);
{ jumlah prosesor ada di field dwNumberOfProcessors }
showmessage(inttostr(sinfo.dwNumberOfProcessors));
Menentukan Afinitas ke core tertentu
Afinitas ke core menggunakan bit vector. Tiap 1 bit diasosiasikan ke core tertentu mulai dari LSB. karena tipe data yang dilemparkan ke fungsi tsb adalah 32 bit unsigned integer maka mungkin maksimum prosesor yang bisa diakses sejumlah 32.
berikut ini contoh kode agar aplikasi yang sedang berjalan hanya menggunakan core pertama (cpu0) saja.
SetProcessAffinityMask(GetCurrentProcess, 1);
berikut ini contoh kode agar aplikasi yang sedang berjalan hanya menggunakan core pertama (cpu0) dan kedua (cpu1).
SetProcessAffinityMask(GetCurrentProcess, 3);
sedangkan berikut ini contoh kode agar aplikasi yang sedang berjalan hanya menggunakan core kedua (cpu0) saja.
SetProcessAffinityMask(GetCurrentProcess, 2);
Filed under: delphi, programming | 1 Comment
Tags: core affinity, delphi, multicore, win32
Hukum Moore menjanjikan kapasitas komputasi yang semakin lama semakin besar. Tetapi kemajuan terhadap state-of-the-art dan dampak terhadap kehidupan end-user belum tentu meningkat dengan laju yang sama. Beberapa penyebab terjadinya hal ini antara lain faktor ekonomi yang tidak dapat dipisahkan dari industri teknologi yang menjanjikan agar setiap perubahan kemajuan dapat berjalan perlahan tetapi berkesinambungan. Ekonomi menjadi keran pengontrol terhadap teknologi yang dapat dinikmati oleh setiap orang. Hal yang sebetulnya diinginkan bukanlah teknologi melainkan manfaat dan dampaknya terhadap kehidupan dan kemanusiaan. Pada titik tertentu, fungsi keran pengontrol yang secara abstrak menjadi model antrian M/M/1 tentu akan mencapai kejenuhan yang menjadi bottleneck yang memisahkan antara manusia yang semakin lapar akan manfaat dan eksplorasi ilmiah yang menanti untuk diwujudkan.
Bloat, yang dalam bahasa indonesia mirip dengan istilah kembung (pada perut) yang maknanya adalah penumpukan zat-zat yang mengantri untuk dicerna. Dalam konteks teknologi khususnya komputasi istilah bloat lebih tepat dimaknakan sebagai fenomena tambal-sulam yang selama ini terjadi sejak awal industri komputasi tetapi sengaja ditutup-tutupi atau didogmakan untuk dimaklumi sebagai bagian dari perkembangan ke arah yang lebih baik.
Bayangkan sebuah teknologi yang memungkinkan orang untuk bertukar kata di tempat yang berbeda jika dilihat sebagai rangkaian teknologi di bawahnya menjadi sebuah koleksi benda-benda yang saling terhubung dalam suatu kekacauan yang dilihat dari luar sebagai keteraturan (bahkan mungkin kenyamanan jika kedua orang yang terlibat memiliki hubungan emosional). Jika disederhanakan, maka teknologi yang terlibat dapat dikelompokkan menjadi Perangkat keras, Perangkat lunak, dan mekanisme dan media telekomunikasi (hal ini tidak akan dibahas mengingat telekomunikasi pun dapat dideskripsikan menggunakan HW dan SW).
Contoh produk yang termasuk perangkat keras adalah Prosesor. Kalau kita merefleksikan perkembangan arsitektur prosesor dan implementasinya, kita akan mendapatkan salah satu babak mengenai dua buah arsitektur yang menonjol yaitu CISC dan RISC. Arsitektur RISC dimunculkan akibat arsitektur CISC yang semakin lama semakin mengganggu (bloated, if i may say so) akibat kompleksitasnya. Salah satu alasan penentang CISC adalah pihak produsen CPU yang berbasis arsitektur CISC disinyalir melakukan praktek semi-monopoli yang lebih tepatnya membuat tuas untuk mengendalikan pasar CPU dan industri di atasnya. Walaupun pada akhirnya konsensus menyetujui bahwa arsitektur RISC lebih baik dari CISC dari beberapa parameter yang dianggap signifikan, saat ini kita masih menjumpai prosesor yang menggunakan arsitektur CISC (walaupun implementasi di dalamnya menggunakan RISC).
Dalam dunia perangkat lunak kejadian bloat bisa lebih radikal dibanding pada perangkat keras. Kunci penyebabnya terletak pada awal sejarahnya yaitu mesin turing yang dalam sebuah konjekturnya menyatakan bahwa hampir semua jenis ‘komputer’ dapat disimulasikan atau diemulasikan menggunakan mesin turing universal. Fenomena ini secara nyata sudah dijelaskan dalam dunia perangkat keras pada contoh prosesor di atas. Fenomena yang dijelaskan menggunakan mesin turing tersebut secara sederhana adalah memungkinkan kita untuk membuat infrastruktur komputasi sebagai kumpulan teknologi yang bertumpuk berlapis-lapis.
“so what? bukankah cara tersebut (tumpukan berlapis) bertujuan untuk mempermudah?”. Well, menjadi ignorant memang seringkali ‘menyenangkan’. Analogi dari tumpukan berlapis tersebut adalah birokrasi, agar dapat berjalan seperti yang diharapkan maka pada masing-masing lapisan dibuat batasan-batasan. Meskipun pembatasan tidak selamanya buruk, pembatasan pun tidak selamanya baik. Pertanyaannya adalah, sudah setinggi apakah tumpukan lapisan tersebut dan seberapa luas ruang ekspresi manusia dibanding ruang-ruang yang digunakan untuk membatasinya? kaitkan dengan jargon-jargon komputasi seperti cloud computing dan virtualisasi.
sebagai penutup, mari lihat salah satu contoh interpretasi dari jargon cloud computing yang memanfaatkan virtualisasi. The interpretation itself has nothing wrong with it, the problem is the implication related to computing in rural areas. Do we really gonna charge rural people for the bloated technology that we bring just for something that actually can have much leaner and cheaper implementation? if there’s no one to answer therefore i would be the first person to say NO. if we really would like to help them (not conversely, help ourself with burden sharing) then we should use our head to skim the technology first before we give to people in rural areas.
Filed under: opini | Leave a Comment
simple chat server in python
Bosan!
Lagi pengen cari hiburan. Akhirnya ngoprek python yang mrogramnya headache-free. Biar seru pygame dipilih sebagai mainan. Hasil akhirnya game pesawat-pesawatan SHMUP-defense yang dipublish di sini yang dibuat dalam waktu 1 hari (gambarnya udah dibikin di project lain yang platformnya j2me).
Biar belajar sesuatu yang baru tapi masih berkaitan sama tugas kuliah (distributed shared memory bwt wireless embedded network sama simulasi berbasis agen) akhirnya diputuskan pengen bikin MMO yang as-simple-as-possible pake python. Lagi penasaran aja pake socket di python. ternyata cukup sederhana, mungkin bisa dibilang lebih sederhana dari socket di JAVA. habis baca tutorialnya langsung bikin echo server, dengan tambahan. di client, untuk nerima message dari client yang lain nggak harus nunggu input seperti yang ada di sini.
Continue reading ’simple chat server in python’
Filed under: akademik, distributed system, gamedev, hacking, programming | 4 Comments
Tags: mmog, pygame, pymmo, python, socket, threading
Sudah lewat waktu pelaksanaan tabulasi suara nasional (real count) yang tadinya direncanakan selama 10 hari setelah pemilu. Berbagai polemik muncul di berbagai media baik televisi maupun di internet. Persoalan yang dijadikan topik polemik diantaranya pemilihan ICR sebagai teknologi ujung tombak penghitungan suara di KPUD, dan adanya pihak (yang mengaku sebagai hacker) yang berusaha masuk tanpa izin ke server tabulasi suara dan sempat berusaha mengubah data perolehan suara.
Sebelum menjustifikasi apakah pemilu legislatif ini gagal atau tidak dan menjustifikasi siapa dan apa yang salah ada baiknya kita memilah dulu masalah-masalah yang ada. Polemik pemilu kali ini membahas aspek organisasi dan aspek teknologi. Sebagai blog yang membahas teknologi maka saya tidak akan ikut-ikutan mengurusi aspek organisasi walaupun sebagaimana kita ketahui bahwa keputusan atas pemilihan teknologi memang adalah kewenangan organisasi yang dalam hal ini adalah KPU. Adapun peran pihak lain (BPPT dan vendor produk teknologi baik ICR, sistem tabulasi, maupun aspek teknis IT lainnya) yang terlibat dalam teknologi yang digunakan pada pemilu kali ini tidak lain hanyalah sebagai perealisasi atas keputusan yang dibuat oleh KPU.
Continue reading ‘Betulkah Pemilu Legislatif 2009 Gagal?’
Filed under: opini | 2 Comments
Tags: hacker, icr, it kpu, pemilu, pileg2009, tabulasi


