Archive for the ‘Programming’ Category

Jam Fuzzy Pada Status Adium

Posted 03 Nov 2008 — by aryo
Category Programming

Dalam satu minggu ini banyak sekali yang protes, bertanya, salah paham atau kesal pada status Yahoo! Messengerku, yang selalu menampilkan jam saat ini. Bukan jam tepat sih, melainkan jam fuzzy.

Sebenarnya bukan cuma pada Yahoo! Messenger, karena status itu aku terapkan pada aplikasi Adium, sehingga semua account chat-ku yang lain juga terpengaruh dengan status tersebut.

Status menampilkan antara lain “jam sepuluh lebih seperempat”, atau “jam setengah dua belas lebih lima”, dan seterusnya.

Kebanyakan teman pada curiga aku mengetik status tersebut secara manual, mengganti status secara terus menerus. Lha kok nganggur banget sampai harus melakukan itu.

Faktanya, aku menggunakan script kecil yang aku tulis dalam AppleScript, yang dijalankan oleh crontab setiap 3 menit.

Script ini hanya berjalan pada Mac OS, dengan aplikasi Adium. Bagi yang tidak menggunakan 2 itu, maka tidak dapat menggunakan script ini :)

Berikut ini script jamfuzzy.sh:


#!/usr/bin/osascript
-- Menampilkan jam sekarang berupa kata-kata
-- pada isi status Adium
-- Aryo Sanjaya, 2008, aryo@aryosanjaya.net


on namaJam(jam)
if jam is greater than 12 then set jam to jam - 12
if jam is less than 1 then set jam to 12
set arrjam to {"satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas", "duabelas"}
return item jam of arrjam
end namaJam


set menit to minutes of (current date)
set jam to namaJam(hours of (current date))
set nextjam to namaJam((hours of (current date)) + 1)


if menit is less than 2 then
set sekarang to "jam " & jam & " pas"
else if menit is less than 4 then
set sekarang to "jam " & jam & " lebih sedikit"
else if menit is less than 6 then
set sekarang to "jam " & jam & " lebih lima"
else if menit is less than 8 then
set sekarang to "jam " & jam & " lebih delapan"
else if menit is less than 12 then
set sekarang to "jam " & jam & " lebih sepuluhan"
else if menit is less than 17 then
set sekarang to "jam " & jam & " lebih seperempat"
else if menit is less than 22 then
set sekarang to "jam " & jam & " lebih duapuluhan"
else if menit is less than 27 then
set sekarang to "jam " & jam & " lebih dualimaan"
else if menit is less than 32 then
set sekarang to "jam setengah " & nextjam & " pas"
else if menit is less than 37 then
set sekarang to "jam setengah " & nextjam & " lebih limaan"
else if menit is less than 41 then
set sekarang to "jam setengah " & nextjam & " lebih sepuluhan"
else if menit is less than 47 then
set sekarang to "jam " & nextjam & " kurang seperempat"
else if menit is less than 52 then
set sekarang to "jam " & nextjam & " kurang sepuluh"
else if menit is less than 58 then
set sekarang to "hampir jam " & nextjam
else
set sekarang to "jam " & nextjam & " pas"
end if


tell application "System Events"
if exists process "Adium" then tell application "Adium" to set status message of every account to sekarang
end tell

Atau download scriptnya dari sini: jamfuzzy.sh

Simpan script jamfuzzy.sh pada folder home (misalnya), lalu masuk ke Console:

Berikan attribute executable:
chmod +x jamfuzzy.sh

Masukkan ke dalam crontab:
crontab -e

tekan i (masuk ke mode insert), lalu paste baris seperti ini:
*/3 * * * * /Users/aryosanjaya/jamfuzzy.sh > /dev/null

Ubah lokasi script di atas sesuai lokasi script jamfuzzy.sh. Kalau sudah, tekan ESC, lalu :wq <enter>

Selesai.

Nanti setiap menjalankan Adium, statusnya akan berubah sesuai jam saat ini, namun dengan tampilan yang beda.

Scratch, Pemrograman Untuk Anak

Posted 14 May 2008 — by aryo
Category Bookmark, Info, Programming

Bagi yang sedang mempersiapkan anaknya menjadi programmer, patut mencoba Scratch, aplikasi dari MIT yang digunakan untuk menyusun alur program secara visual dan sederhana.

Dengan aplikasi ini anak-anak dapat berlatih pengaturan logika, alur program, method, dan kalau perlu: desain grafis. Semuanya sudah termasuk di dalamnya.

Saat pertama kali mencoba aplikasi ini, aku berusaha menyesuaikan diri dengan pola pikir anak-anak. Namun ternyata sulit, jadi kembali ke pola pikir dewasa. Toh hasilnya tetap seperti karya anak-anak.

Scratch dapat diunduh di sini. Tersedia hanya untuk Mac dan Windows. Katanya sih belum ada rencana untuk pengembangan ke Linux.

Dikeluarkan dengan lisensi free (bebas) di bawah lisensi MIT, tanpa perlu membeli. Cocok buat yang tidak punya kartu kredit :D

Salah satu kekurangan yang terasa adalah: hasil pembuatan tidak dapat dieksport ke format yang lain, SWF misalnya.

Namun mereka mengeluarkan Runner berupa Java Applet, agar aplikasi hasil pembuatan dapat dijalankan melalui web browser.

Berikut ini adalah karya pertamaku, Smurf!

Jika tertarik melihat ‘source code’-nya, silakan lihat ke sini: source code Smurf.

Salut buat tim pengembangnya.

Gaji Terlalu Kecil

Posted 03 Jul 2007 — by aryo
Category Curhat, Programming

Dapat info dari temen tentang situs yang memfasilitasi bertemunya webmaster dan programmer, yakni ScriptLance.com.

Di situs itu webmaster berperan sebagai klien, yang dapat memesan program sesuai yang mereka inginkan, kemudian dilelangkan (bid) kepada programmer. Selanjutnya programmer yang menawarkan bayaran paling rendah, atau waktu yang paling cepat, atau programmer pilihan dari si pemesan, dialah pemenangnya.

Setelah program selesai dikerjakan, maka programmernya menerima bayaran.

Secara teknis memang simple. Terutama bagi programmer yang punya kemampuan dan waktu yang lebih, sehingga bisa menjadikan ini sebagai sumber rejeki sampingan.

Aku kemudian tertarik untuk mencoba. Hanya mencoba, karena secara waktu aku bakal kesulitan kalau ikut-ikutan dalam proyek ini. *sok sibuk*

Saat mendaftar, di dalam formulirnya diminta menginputkan berapa rate gaji perjamku. Menurutku ini adalah gaji tetap di kantor.

Saat itu aku jawab aja $2, tapi saat disubmit system pendaftaran mengembalikan pesan error:

An hourly rate that low is unrealistic.
Go Back

Gile, padahal kalo dihitung: ($2 x Rp. 9.000) x 8 jam x 30 hari = Rp. 4.320.000 per bulan.

Itu adalah jumlah yang besar dalam ukuran programmer Indonesia, terutama di Malang. (paling tidak, gajiku masih di bawah itu).

Dan jumlah segitu masih dibilang ‘unrealistic’?

Suruh ke sini aja tuh yang mbikin systemnya biar lihat sendiri :p

Visual Basic di Linux

Posted 22 Feb 2007 — by aryo
Category Programming

Yeah Riteâ„¢, selain PHP dan shell, aku memang jarang programming di Linux. Dulu pernah sekali mencoba menggunakan Kylix dan Tcl, tapi kemudian tidak aku teruskan.

Mungkin penyebabnya adalah karena jarang menggunakan Linux. Senangnya cuma ketika install Linux, setting sampe optimal, lalu ditinggal begitu saja. Hanya sesekali saja mengunjungi partisi Linux.

Selain itu, penyebab jarangnya programming di Linux adalah masalah kebutuhan pasar. Kebanyakan pasar masih membutuhkan Windows platform.

Dengan adanya gerakan opensource, dan juga anti-pembajakan, diharapkan pasar mulai berani bergeser ke arah produk opensource. Siaya yang harus memulai? developer atau pasar?

Idealnya sih keduanya :)

Salah satu kesulitan developer untuk berpindah platform adalah mengenai ‘familiarsme’ pada pemrograman tertentu. Juga misalnya dia sudah memiliki banyak kumpulan fungsi dalam bahasa tertentu, akan sulit (baca: malas) berganti bahasa pemrograman.

Sudah ada beberapa bahasa pemrograman yang mirip dengan yang ada di Windows, misalnya Gambas. Tapi itu bukan berarti sama, hanya memiliki persamaan dialek.

Ada juga Klylix dari Borland, tapi tidak GPL. (lho, bukannya Delphi juga gak GPL?) Iya, tapi you-know-why.

Salah satu yang dapat digunakan adalah Moono-Project, yang mensupport beberapa bahasa pemrograman, di antaranya adalah Visual Basic, tapi VB.NET. Dan seperti yang mereka katakan, bisa berpindah ke Linux tanpa modifikasi apapun!

Paling tidak, itu bisa jadi alternatif, dan mengurangi alasan malasnya berpindah ke produk yang legal.

Catatan: saya pake Windows legal.

Perl, perl dan PERL

Posted 05 Feb 2007 — by aryo
Category Blog, Programming

Belakangan ini aku semakin sering kena kritik, mengenai penggunaan pengenal untuk bahasa pemrograman yang pake simbol onta.

PERL, ya, itu adalah tulisan yang pertama kali aku baca, saat diperkenalkan pada pemrograman ini sekitar tahun 2000-an, oleh kakak tingkatku, Dadang Beny.

Saat itu aku diberi installernya ActivePerl. Aku install, dan mulai belajar dari script demonya. Learn by doing, mungkin itu kebiasaanku dalam belajar pemrograman. Ditambah kemudian dengan studi kasus, yang biasanya disediakan oleh beberapa tutorial. Sedangkan referensi dan manual, apalagi FAQ, adalah langkah kesekian, setelah aku punya gambaran mengenai pemrograman tersebut.

Seiring waktu, beberapa situs sudah aku buat dengan PERL ini. Bahkan aku masuk ke perusahaan yang sekarang, adalah karena adanya lowongan programmer PERL.

Intinya, aku sudah menganggap PERL sebagai bagian dari koleksi senjataku dalam programming, baik itu yang web-based maupun yang desktop.

Tidak ada yang ajaib dari PERL, kecuali model sintaksnya yang ringkas, dan Ferdhie banget :p

Nah, saat berkecimpung dalam PERL inilah, beberapa kali masukan, sindiran, kritikan datang padaku, karena aku selalu menuliskan PERL. Sedangkan bagi ‘mereka’, hal itu adalah salah. Yang benar adalah Perl atau perl.

Perl merefer pada bahasa pemrogramannya, perl mengacu pada intepreternya. Sedangkan PERL sendiri itu TIDAK ADA.

Tapi karena aku masih ‘ngeyel’ pake PERL, kebanyakan dari mereka pergi dengan tidak puas :)

Aku merasa sudah terbiasa dengan PERL, dan tidak ada masalah dengan itu. Ketika aku bilang PERL, yang aku maksud ya PERL, bukan PHP atau ASP.
Yang mempermasalahkan pembedaan Perl dan perl adalah mereka para praktisi Perl, para member komunitas Perl, para hacker-hackernya, serta para fans dari pemrograman ini tentunya.

Mereka memang memerlukan pembedaan itu, salah satu gunanya adalah untuk membedakan referensi tadi, yaitu pemrogramannya atau intepreternya. Di Linux/Unix Perl dan perl memang berbeda, karena OS itu kan case-sensitive, sedangkan PERL lahir di Unix. Background of Perl.
Bagi yang tidak mengerti bedanya Perl dan perl, atau tidak mau tau bedanya, dianggap sebagai orang luar (outsider) dari komunitas itu. Lah, aku kan orang luar, jadi perbedaan itu tidak begitu berpengaruh bagi aku.

Aku gak dianggap sebagai orang Perl, ya memang tidak.

Aku dianggap tidak ngerti tentang Perl? lah, lalu apa gunanya anggapan itu buatku?

Selain itu, pengertian yang pertama kali aku dapatkan adalah ‘kepanjangan’ PERL yang terkenal: Practical Extraction and Report Language. Ya, sebenarnya itu memang bukan kepanjangan PERL (karena PERL bukan singkatan), melainkan backronym. Kalau mau lebih banyak lagi, lihat di PERL as shibboleth and the Perl community :)

Juga, buku tentang PERL, masih banyak yang menuliskan Perl dengan PERL.

Jadi, menurutku hal terpenting adalah konteksnya.

Kalo kita sedang bicara PERL sebagai ‘sesuatu’ dalam barisan pemrograman, misalnya dibandingkan dengan ASP atau PHP, maka penggunaan PERL bukanlah masalah. Cukup jelas.
Tapi jika ingin lebih spesifik, di situlah gunanya pembeda.

Beberapa contoh diskusi: http://www.mahesajenar.com/2006/11/fiuhh.html

Page 1 of 3123