Masih dalam proses.
192.168.2.2:/data 6.4T 9.9G 6.4T 1% /data
yuk mari..
Beberapa catatan:
vtkGraph itu data tentang graf. Bisa sudah pengandung informasi layout (posisi).vtkGraphLayoutView itu membaca data berupa vtkGraph atau langsung dari generator seperti vtkRandomGraphSourcevtkGraphLayoutView itu akan menggambar grafvtkRandomGraphSource memiliki output berupa vtkGraphvtkGraphLayout jg merupakan algoritma yg dapat mengeluarkan vtkGraph dg memanggil GetOutput()vtkGraphLayout dapat menerima input berupa vtkGraph melalui SetInput()vtkGraphLayoutView untuk menggambar graf yang sudah memiliki layout, jangan lupa panggil SetLayoutStrategyToPassThrough() agar layout tidak dibuat ulang.okay.. i know.. talk is cheap. so, here is the code.. http://github.com/fajran/vtk-graph-experiment/tree/master
Repositori dan arsip CD ada di http://old-releases.ubuntu.com/
*biar gak lupa*
Pas lagi baca2 dokumentasi kelas2 yang ada di VTK, nemuin hal-hal menarik, misalnya:
Thanks:
Thanks to Godzilla for not eating my computer so that this class could be written.
*ngakak*
Sekedar catatan.. soalnya lupa terus. Daripada nyomot mulu dari blognya imtheface, mending ditulis di sini jg sekalian..
$ sudo debootstrap --variant=buildd hardy chroot http://nl.archive.ubuntu.com/ubuntu/
Perintah di atas digunakan untuk membuat lingkungan instalasi Ubuntu versi sangat minimalis di dalam direktori bernama chroot.
Setelah itu, instal paket language-pack-en dan gnupg di dalamnya supaya siap di-apt-get tanpa banyak pesan peringatan.
Siang ini saya (tanpa alasan yang jelas) mengupgrade instalasi Ubuntu Hardy Heron saya ke Intrepid Ibex. Berhubung lagi pengen sekalian beberes sistem yg entah udah diinstalin apa aja itu, saya memutuskan tuk instal ulang dari awal.
Saat ada di halaman pengaturan partisi, saya memilih tuk mengatur secara manual. Saya pilih partisi tujuan, atur agar dijadikan partisi root, pilih sistem berkas, dan.. format.. humm.. saya pilih agar partisi tersebut tidak diformat. Sekalian ngetes apa yang akan terjadi.
Ternyata, si installer akan menghapus direktori2 sistem yang ada. Namun direktori data seperti /home
Setelah instalasi selesai dan masuk ke sistem yang baru, meja kerja saya sudah siap dipakai seperti sedia kala. Tidak perlu mengatur apa2 lagi karena memang konfigurasi sebelumnya tidak diapa-apakan.
dan sekarang.. saya memutuskan tuk downgrade lagi ke Ubuntu Hardy Heron.. hahaha.. ternyata aplikasi yang sempat menjadi alasan saya tuk upgrade perlu pustaka-pustaka yang ada di ubuntu hardy heron juga *mumet*
Cara downgrade-nya tentu saja sama dengan cara saya meng-upgrade. Langsung saja timpa partisi yang ada. Berkas-berkas sistem sebelumnya akan dihapus otomatis oleh si installer.
Oya, tentu saja saya tetap membuat salinan (backup) data-data saya.
Enaknya apa ya? Erlang sepertinya menarik. Pengen beli bukunya.. namun belum ada yang pengen dibuat, bakal susah deh belajarnya.
JavaFX? ActionScript 3 (pake Flex)? mungkin lagi ada yg pengen dibuat.. namun, kurang bgitu menarik.
kalau C++.. humm.. ngga bener2 baru sih tuk saya. tp perlu membiasakan diri. kebetulan lg ada yg pengen dibuat..
apa lagi ya bahasa yg lagi hot n trendy di masa kini? hihihi..
Salah satu hal yang menurut saya bisa mempercepat belajar bahasa pemrograman baru adalah ada yang pengen dibuat! Jadi ada alasan mengapa harus jatuh bangun belajar, ada alasan harus browsing/baca referensi macem2, ada target yang bisa dikejar, ada deadline yang harus dipenuhi, dsb.
Kalau belum nemuin hal yang pengen dibuat, kok rasanya jadi kaya "cuma pengen" doang dan, bagi saya, akhirnya muncul gangguan lain yg lebih menarik perhatian.
sux tu de max xD hari gini masih java 5 =))
~masih pake tiger.. tak mampu tuk upgrade =P mending beli lensa. hahaha
~butuh javax.script yg ada di java 6
Menindaklanjuti tulisan bos ali tentang GTK Engine Murrine yang dukung RGBA sehingga bisa membuat widget transparan, saya iseng2 nyoba ngoprek sebuah aplikasi yg ada sehingga bisa ikutan transparan. Aplikasi yang jadi korban kali ini adalah Gnome Panel.
Niat awalnya adalah cuma tuk membuat transparan window menu yg muncul saat mengklik menu Applications, Places, dan System. Sehingga penelusuran kode dimulai dari situ. Akhirnya nemuin fungsi pembuat menu, trus ubah2 dikit menurut petunjuk yg ada di website murrine (err.. websitenya lagi tewas jadi blom bisa ngasih linknya), dan recompile aplikasi. Hasilnya, hore bisa!
Namun.. ternyata ada masalah dan/atau fitur yang ditimbulkan. Pertama, icon2 yang harusnya nempel di notification applet, jadi aburadul ke layar. Kedua, window-window lain bawaan gnome-panel jadi ikutan transparan! Padahal cuma pengen bikin transparan si menunya aja.
Mengapa menunya aja? Karena pengen ngebuat menu bersudut bundar! Coba liat gambar pertama.
Oya, kalo pengen nyoba2 dan sedang make Ubuntu Hardy, silakan donlod Murrine terbaru dan Gnome Panel hasil modifikasi di
Modifikasi yang saya lakukan pada gnome-panel bisa dilihat di http://arsip.fajran.web.id/gtk-rgba-app/patches/gnome-panel/2.22.2/99_rgba_colormap.patch
Oya, jangan lupa nyalain compositing window manager sperti compiz kalo mo nyoba bikin widget jadi transparan kaya gini. Tuk cara bikin tema yang bisa transparan, baca aja tulisan bos ali tadi.
Sekian dulu.. dag!
Dari http://www.opengroup.org/onlinepubs/007908775/xbd/locale.html:
The LC_COLLATE category provides a collation sequence definition for numerous utilities in the XCU specification (sort, uniq, and so forth), regular expression matching (see Regular Expressions ) and the strcoll(), strxfrm(), wcscoll() and wcsxfrm() functions in the XSH specification.
Ceritanya saya membuat skrip dimana di dalamnya ada operasi pengurutan dengan menggunakan sort yang akan saya jalankan juga melalui crontab. Entah mengapa kok hasil pengurutan skrip yang dijalankan melalui crontab dan yang dijalankan langsung dari shell itu berbeda.
Penelusuran berlanjut dengan pengecek environment variables yang ada pada shell dan crontab. Ngeceknya ya tinggal dibandingkan saja =D
shell$ export > env.shell
Bikin skrip serupa lalu jalankan melalui crontab. Setelah itu bandingkan hasilnya.
Salah satu variabel yang berbeda adalah LC_COLLATE. Pada shell yang saya gunakan, LC_COLLATE bernilai C. Sedangkan pada environment variable crontab, variabel ini tidak ada alias tidak didefinisikan.
Setelah saya mencoba tuk menambahkan LC_COLLATE="C" pada crontab dan juga sebaliknya dg menghapus nilai LC_COLLATE pada shell, akhirnya saya mendapat hasil pengurutan yang sama.
Berakhir sudah misteri dua hari belakangan ini. Artinya juga harus membuang dua hari T_T
English version of this post can be read at http://ngoprek.fajran.web.id/2009/07/using-prefuse-through-jython.html
Setelah semalem nyobain Jython, jadi kepikiran tuk make Prefuse dari Jython. Ternyata bisa! Utak-atik dikit lagi, dan jadilah sesuatu yg lebih menarik. Silakan lihat di screencast berikut =P
Kodingan bisa dilihat di http://gist.github.com/32288
Kalau mau nyoba:
Download dan install Jython 2.5b0
$ wget http://downloads.sourceforge.net/jython/jython_installer-2.5b0.jar
$ java -jar jython_installer-2.5b0.jar
Silakan atur sendiri lokasi instalasi.
Download library prefuse.
$ wget http://labs.fajran.web.id/p/ubuntu-pkg-vis/lib/prefuse.jar
Atur environment variable
$ export PATH=$PATH:/path/ke/lokasi/instalasi/jython
$ export JYTHONPATH=$JYTHONPATH:prefuse.jar
Pastikan kalo jalanin jython, muncul interactive shell-nya. Dan bisa ngejalanin yang berikut
>>> import prefuse
Download kodingan yg saya buat.
$ wget -O igv.py http://gist.github.com/raw/32288/503d011d94c564ffbdca91296b3fc204cf7b5186
Jalanin deh..
$ jython
>>> from igv import InteractiveGraphVisualization
>>> ig = InteractiveGraphVisualization()
Tambahin node dan edge
>>> n1 = ig.add_node("satu")
>>> n2 = ig.add_node("dua")
>>> n3 = ig.add_node("tiga")
>>> ig.add_edge(n1, n2)
>>> ig.add_edge(n1, n3)
>>> ig.add_edge(n2, n3)
Selamat menikmati =D
Tanpa basa-basi, langsung aja buka http://github.com/fajran/graph-experiment/tree/master =D
Yang sudah ada itu struktur data sangat sederhana untuk graph, node, dan edge. Selain itu, ada juga fungsi layouting dengan teknik force-directed layout dg algoritma Fruchterman Reingold yg di-port dari Prefuse.
Berhubung dibuat pakai Python dan lagi teringat pengen nyoba Jython, maka saya jg sekalian nyoba ngebandingin Python dan Jython. Jython yang dipake adalah Jython 2.5b0. Ujicoba dilakukan di atas Ubuntu 8.04 32bit, Intel Core Duo 1.83GHz, RAM 2GB, aplikasi lain yg nyala yg mungkin mempengaruhi hasil adalah Eclipse (gak dipake, lupa ditutup aja =P), Banshee, dan Firefox. Inilah hasilnya..
| Edge | Node | Python | Jython |
|---|---|---|---|
| 100 | 93 | 5.348 | 6.421 |
| 200 | 171 | 17.403 | 13.945 |
| 300 | 234 | 33.011 | 22.798 |
| 400 | 294 | 53.674 | 35.107 |
| 500 | 358 | 77.672 | 50.576 |
Waahh.. pake Jython hasilnya lebih cepet euy!
Oprek2 dikit, jadilah graph plotter yg dibuat pake Python Imaging Library. Source code udah ada di repo git yg disebut di atas. Berikut ini 5 gambar dari 5 graf yg dipake di uji coba di atas.
Iseng2 nyoba bikin puluhan ribu kubus pake OpenGL. Eh taunya cuma dapet 4 fps pas bikin 30ribu kubus :(
Dijalanin di atas Ubuntu 8.10 di mesin MacBook generasi paling awal: Core Duo 1.83 GHz, 2GB RAM, Intel 945GM. Compiz dimatikan.
Cobain dong..
$ sudo apt-get install mesa-common-dev libglu1-mesa-dev libsdl1.2-dev
$ wget -O kubus.c http://gist.github.com/raw/31070/7d9fa6f768d1e17a5b5c3a4fac0513c968aed191
$ wget -O Makefile http://gist.github.com/raw/31070/b33b6de85207141642433b26b294c2ce9885d5b2
$ make
$ ./kubus 30000
Pindahin pointer mouse ke tengah2 window dan tunggu sekitar 10 detik sampe keterangan fps-nya muncul.
Bikin sesuatu yg bernama LevelLayout. Terpaksa dibikin berhubung NodeLinkTreeLayout yang diharapkan tuk bekerja ternyata tidak bekerja. Yaa.. sekalian lah.
Pake data versi lengkap tetep aja lemotubbies. Jadi bikin data versi rada kecil namun komplit. Uh, ini apa emang musti dioptimasi atau emang prefusenya aja yang dodolz?
Oya, sekarang kodingan udah ditaro juga di github. Coba diintip di http://github.com/fajran/ubuntu-pkg-vis-prefuse/tree/master
Dibuat pake InterViewer3 dg data orig/edges.txt yang ada di ubuntu-pkg-vis-0.1.
Total ada 24922 nodes (paket) dengan 114183 edges (dependensi paket).
Kecuali disebutkan lagi secara terpisah, isi blog ini berada di bawah lisensi Creative Commons - Attribution 3.0 Unported