Ubuntu 9.10 + Gnome-Shell = Waw
Ubuntu 9.10 baru saja dirilis. Sebenarnya saya tidak mau mencoba karena menurut yang saya baca dari internet tidak ada apapun yang menurut saya cukup keren untuk membuat saya menghapus 9.04 yang saya sukai. Namun akhirnya saya memutuskan untuk tetap mendownloadnya. Dan setelah di download... biasa lah. Ada dorongan alami untuk menginstallnya. Jadi deh diinstall.
Begitu menginstall, yang nampak jelas adalah layar loading yang berbeda. Kesannya lebih misterius gitu. Pertama booting butuh waktu 1 menit lebih dikit. Lebih lambat ketimbang 9.04 yang cuma sekitar 40 detik. Tapi kalo kecepatannya segitu sih masih ga ngefek. Kenceng.
Begitu selesai login, saya dapat kejutan.System Monitor menunjukkan kalau processor terpakai 100%. Padahal belum buka program apapun. Penasaran saya tekan kombinasi Ctrl+Alt+F1 untuk masuk ke mode cli. Ternyata penuh dengan pesan error yang intinya prosesor saya overheat. Dengan agak panik saya booting ulang dan masuk ke bios untuk mengecek suhu processor. 40 derajat celcius. What the....
Setelah puter2 di bios, saya melihat kalau settingan shut down ketika suhu melebihi ambang batas ternyata pada kondisi disable. Saya ganti menjadi 60 derajat celcius, kemudian booting ulang dan masuk lagi ke Linux. Viola. Sekarang processor saya terpakai 0%.
Di lihat-lihat, kecuali panel jam di sudut kanan atas, tidak banyak perubahan berarti. Panel jam di kanan atas semakin fungsional, kayaknya. Theme default berubah semakin keren. Icon2 juga berubah, terlihat bagus, clean dan modern. Overall, penampakannya bagus deh.
Begitu digunakan, praktis tidak ada perubahan berarti selain add / remove software yang tambah keren dan synaptic yang kini solid rock. Tidak lagi ditemukan layar terminal synaptic yang hitam kosong tidak menampilkan pesan apapun.
Rada bosan, saya memutuskan menginstall gnome-shell. Sebuah preview bagaimana gnome versi 3.x nantinya bekerja. Hasilnya... waw. Keren.
Panel bawah menghilang. Panel atas berubah menjadi tombol start, program yang sedang aktif, jam, tray dan nama user yang bisa di klik untuk menu tambahan.
Start menu keren banget. Begitu tekan tombol Super_L (tombol windows), workspace mengecil dengan semua window yang terbuka disusun agar kita dapat memilih dengan mouse. Di sisi kiri ada side panel. Tinggal ketik nama program yang ingin dipanggil, nantinya akan dimunculkan daftar2 program yang sesuai dengan ketikan kita. Mirip gnome-do atau launcher gitu. Kalo lupa, ada tombol more untuk menampilkan menu yang mirip dengan start menu yang lama. Lalu dibawahnya ada tempat yang kita bookmark seperti Home, Documents dll. Dibawahnya lagi ada recently open document.
Kalau workspace kurang, di bagian bawah kanan ada tombol + untuk menambah jumlah workspace.
Akhirnya saya memutuskan untuk mencoba memakai gnome-shell ini sebagai desktop default dengan mengesetnya di startup application. Hingga sekarang saya menulis artikel ini saya masih menggunakan gnome-shell. Walaupun beberapa bug sudah mulai muncul, tapi saya senang menggunakannya.
Mungkin anda juga berniat mencoba?
6:04 PM | Labels: Ubuntu | 0 Comments
Best browser on Ubuntu (for me)
Entah mengapa, Firefox menjadi sangat lambat di Ubuntu 9.04. Saya mencoba mengupdatenya menjadi FF 3.5, tapi hasilnya makin parah. Akhirnya saya memutuskan mencoba Google Chrome versi Linux.
Saya mendownloadnya di http://www.google.com/chrome/intl/en/linux.html dan menginstallnya. Kesan pertama? Google chrome versi Linux ini cukup stabil dan cepat. Lebih cepat daripada FF. Namun ada beberapa hal yang masih kurang.
Maka saya memutuskan untuk mengatasi kekurangan tersebut
1. Menginstall Flash Plugin
Saya mengikuti tutorialnya disini : http://www.ghacks.net/2009/09/02/enable-flash-and-use-themes-in-google-chrome-linux/
Pada dasarnya, yang dilakukan hanyalah membuat directory bernama plugins di /opt/google/chrome dan copy file libflashplayer.so
2. Menambahkan plugin2 lainnya
Di Firefox, saya punya beberapa plugin andalan yang kalau tidak ada rasanya kurang afdol, yaitu Adblock, Flash Block, dan Flash Got
Hasil searching di internet saya mendapati website http://www.chromeextensions.org/.
Disana ada Adblock dan Flash Block. Bahkan Flash Block-nya punya feature yang selama ini tidak saya ketahui, yaitu mendownload file flash yang di block dengan ctrl+click kiri.
Hanya Flash Got yang belum saya dapatkan. Pada dasarnya saya menggunakan Flash Got untuk memindahkan proses download file dari browser ke download manager lain seperti D4X atau wget. Namun dari hasil percobaan sementara ini, download manager bawaan Chrome berfungsi cukup baik.
Saat ini Chrome saya berjalan dengan lancar. Walaupun masih versi beta, saya tidak pernah mengalami crash ataupun hang. Menurut saya ini browser yang bagus sekali dan saya tidak ragu untuk menggunakannya sebagai browser andalah saya
7:46 PM | | 0 Comments
Ruby : Utility Numeric
Untuk membulatkan bilangan
x #bilangan yang akan dibulatkan
y #bilangan pembulat :p
pembulat = 1.to_f / y.to_f
hasil = (x * pembulat).round.to_f / pembulat
Untuk membuat pembulatan keatas / kebawah
ganti round dengan ceil atau floor
pembulatan keatas
pembulat = 1.to_f / y.to_f
hasil = (x * pembulat).ceil.to_f / pembulat
pembulatan kebawah
pembulat = 1.to_f / y.to_f
hasil = (x * pembulat).floor.to_f / pembulat
lebih lengkapnya, beginilah isi dari modul yang saya pakai
hasil copy paste dari internet dan edit sana sini
module Utils
def get_float(val)
begin
tmp = Float(val)
return tmp
rescue
return 0.to_f
end
end
def get_integer(val)
begin
tmp = Integer(val)
return tmp
rescue
return 0
end
end
def round_to(x)
(self * 10**x).round.to_f / 10**x
end
def ceil_to(x)
(self * 10**x).ceil.to_f / 10**x
end
def floor_to(x)
(self * 10**x).floor.to_f / 10**x
end
def round_by(number,rounder)
round = 1.to_f / get_float(rounder)
calc = (number.to_f * round).round.to_f / round
return calc
end
def ceil_by(number,rounder)
round = 1.to_f / get_float(rounder)
calc = (number.to_f * round).ceil.to_f / round
return calc
end
def floor_by(number,rounder)
round = 1.to_f / get_float(rounder)
calc = (number.to_f * round).floor.to_f / round
return calc
end
1:58 AM | Labels: Ruby | 0 Comments
Perintah sakti yang (mungkin) dipakai sekali pakai seumur hidup (kalau nggak sama sekali)
Kemarin, memenuhi rasa penasaran saya, mencoba untuk sekali lagi menantang diri sendiri. Yah, setelah sekian lama laptop kesayangan saya Acer Aspire 5002 tidak bisa berkoneksi ria via wifi (karena driver bawaan Ubuntu ga manjur), saya memutuskan untuk mencoba menginstall driver wifi-nya menggunakan ndiswrapper + driver windows. Perjuangannya memang lumayan, sekitar 4 jam. Tapi saya mendapatkan banyak ilmu baru yang... tidak berguna jika anda tidak mengalami masalah dengan hardware.
lspci
list pci (mungkin???)
jalankan perintah ini di terminal dan anda akan menyaksikan keajaiban. Yah, terminal akan menampilkan *mungkin semua hardware yang dideteksi di komputer. Dengan cara ini saya mengkonfirmasi kalau hardware wifi saya terdeteksi di Ubuntu. Kalau anda pusing melihat tampilannya, jangan khawatir. Saya punya obatnya
lspci -v
Nah, sekarang tampilannya lebih rapi kan
Selanjutnya...
lshw
listen hardware
Perintah ini, saya ga tau sih apa bedanya dengan yang diatas. Tapi yang jelas infonya lebih detail. Terutama saat kemarin menginstall wifi, saya menjalankan perintah ini untuk mengkonfirmasi jika wifi adapter saya telah menggunakan module ndiswrapper, dan bukan yang lain. Caranya...
lshw -C Broadcom
Ya, perintah2 ini memang sakti. Tapi kita tidak akan pernah digunakan jika tidak mengalami masalah dengan hardware. Dan kalaupun punya masalah dengan hardware (seperti kasus wifi adapter saya), biasanya sekali masalah teratasi, perintah ini sudah tidak akan digunakan lagi.
Yah... minimal tambah2 pengetahuan lah. Ga rugi bersusah payah 4 jam
6:43 PM | | 0 Comments
1 Lancard, 2 IP
Beberapa waktu lalu, saya sempat menanyakan hal ini kepada rekan-rekan di milis id-ubuntu. Sebenarnya semenjak saya mendapatkan jawabannya, saya ingin langsung mempostingkannya di sini untuk berbagi ilmu. Tapi ternyata saya malas dan lupa :p
Alkisah kantor saya memiliki jaringan komputer dengan konfigurasi yang rada nyeleneh. Untuk intranet, kantor saya perlu mengakses server LAMP (Linux Apache Mysql PHP) pada IP 192.168.0.99. Sementara untuk konek ke internet, komputer harus berada di IP 192.168.1.*
Hal ini sebenarnya dimaksudkan agar karyawan yang tidak berhak mengakses internet tidak bisa melakukannya sambil kerja (karena IP-nya beda). Sedangkan yang berhak mengakses internet kebetulan sekali tidak perlu bekerja dengan server LAMP. Sehingga konfigurasi ini menjadi ideal, kecuali bagi saya si administrator
Sebagai admin, saya harus bisa mengecek intranet sambil browsing2 internet. Pusing karena harus ganti2 IP terus, saya memutuskan untuk meng-google. Ternyata di Linux ada caranya. Semacam virtual Lancard gitu deh. Waktu di coba, gagal.
Akhirnya saya melempar pertanyaan ini ke milist id-ubuntu. Berbekal jawaban dari kawan2, saya coba2 menyesuaikan petunjuk mereka dengan kondisi di kantor saya.
Ternyata, yang perlu dilakukan hanyalah mengedit file /etc/network/interfaces dengan benar. Dan beginilah hasil editan saya
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.105
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
#kalo mau multi ip
auto eth0:1
iface eth0:1 inet static
address 192.168.0.105
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
Dengan cara ini, saya tidak perlu pusing2 pindah2 IP lagi. Kini komputer saya bisa langsung mengakses keduanya, baik jaringan intranet maupun internet. Senangnya :D
9:05 PM | | 0 Comments
Ruby Snippet : String, Angka, dan Tanggal
Berikut adalah code snippet ruby yang berguna untuk meringankan beban hidup kita para programmer :)
Mengecek apakah sebuah string berupa bilangan bulat (integer)
num = Integer( variable_yang_dicek ) rescue raise 'error' end
Mengecek apakah sebuah string berupa bilangan pecahan (float)
num = Float( variable_yang_dicek ) rescue raise 'error' end
Mengubah String menjadi Tanggal
time = Time.parse( string_tanggal )
8:47 PM | Labels: Ruby | 0 Comments
Ruby, Pembuka
Saya sudah banyak sekali mencicipi yang namanya bahasa programming. Ada Pascal, Foxpro Delphi, VB, VB.NET, PHP, Gambas, Python, Java, Ruby dan lainnya yang saya tidak ingat lagi. Berbagai bahasa program itu saya gunakan untuk keperluan yang berbeda pula. Ada yang sekedar untuk belajar, kuliah, sampai membuat aplikasi serius seperti Point of Sales dan Company Profile. Beberapa diantaranya sudah harus masuk museum, banyak lagi yang terabaikan karena kurang saya sukai sedangkan sedikit dari mereka benar2 masuk kategori bagus menurut saya. Dan diantara semuanya, Ruby benar2 berbeda.
Ruby adalah sebuah bahasa scripting. Mirip seperti PHP, hanya saja Ruby lebih general purpose. Mirip seperti Python, hanya saja Python lebih menyebalkan. Ruby mendukung Pemrograman Berorientasi Obyek dengan sangat baik, dengan syntax yang sangat bersih hingga sulit dipercaya, gaya programming yang fleksibel namun tertata baik, disertai modul2 dasar dengan fungsi2 yang bisa membuat programmer bahasa lain iri. Ruby praktis bisa digunakan untuk apa saja, membuat program CLI (Command line interface), Program Web, maupun Program Desktop. Dengan bantuan modul2 tambahan tentunya.
Untuk CLI, Ruby bisa langsung digunakan. Untuk web, belakangan ini di dunia gempar dengan kehadiran RubyOnRails, sebuah framework yang dapat membuat aplikasi web dalam waktu singkat. Konon janjinya apa yang bisa dikerjakan dengan Java Strut dalam waktu bulanan, dapat dikerjakan di Rails dalam hitungan minggu. Saya sendiri tidak mempelajari Ruby untuk web karena secara de facto PHP adalah penguasa daerah ini (baca : mencari hosting Ruby sulit sekali).
Sedangkan untuk Desktop, Ruby dapat memanfaatkan beberapa GUI Library ternama seperti GTK, QT, dan WxWidget. Hanya saja tidak mudah bagi programmer karena tidak tersedia Visual Editor seperti layaknya VB.NET atau Delphi. Namun saya sendiri menemukan cara untuk membuat program desktop dengan cara yang mudah dan cepat menggunakan Ruby dan WxWidget.
Saat ini saya sendiri sedang membuat program dengan menggunakan Ruby, WxWidget untuk GUI, dan Postgresql untuk database. Saya berharap saya akan punya waktu untuk memposting artikel2 mengenai bahasan ini, sekaligus berjaga2 siapa tahu kalau saya membutuhkannya lagi saya bisa membuka blog ini dan melihatnya :)
11:32 PM | Labels: Ruby | 1 Comments