Setelah beberapa hari menunggu, akhirnya aplikasi simple saya untuk menghitung masa subur diapprove oleh apple. Untuk yang berminat dapat dicek lebih lanjut di http://wewchat.com/fertile

November 13, 2009
Fertile now available on App Store
November 7, 2009
Masalah instalasi gem mysql di CentOS
Kemaren saya mencoba untuk menginstall gem ‘mysql’. Ternyata banya sekali error yang saya dapatkan. Saya biasanya menginstall gem mysql dengan perintah
sudo gem install mysql
Dan jika terjadi error saya biasanya menambahkan opsi mysql_config
sugo gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
Dimana lokasi mysql_config biasanya dapat dicari dengan perintah
which mysql_config
Dan jika belum ketemu dapat disearch dengan
sudo find / -name 'mysql_config'
Namun cara-cara diatas tidak berhasil, dan setelah googling bbrp kali, saya mendapatkan clue untuk menginstall mysql-devel Untuk proses kompilasi.
sudo yum install 'mysql-devel'
Tapi entah kenapa perintah tersebut selalu berakhir dengan “Nothing To do”. Akhirnya saya coba menginstall ulang mysql dari source yang memakan waktu cukup lama. Ternyata hasilnya sama saja, saya harus menginstall mysql-devel untuk menginstall mysql gem.
Berikutnya saya coba menguninstall mysql yang da pada sistem:
$ rpm -qa | grep -i mysql mysql-5.0.67-2eapps perl-DBD-MySQL-4.006-1.1eapps mysql_passwd-0.9-2eapps mysql-libs-5.0.67-2eapps php-mysql-5.2.6-2eapps mysql-server-5.0.67-2eapps $ sudo rpm -e mysql-5.0.67-2eapps mysql_passwd-0.9-2eapps mysql-libs-5.0.67-2eapps php-mysql-5.2.6-2eapps mysql-server-5.0.67-2eapps phpmyadmin-2.11.9.2-1eapps.noarch
Setelah uninstall beberapa module mysql, saya coba install mysql dari rpm yang berbeda
$ sudo rpm -hUv http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-5.0.77-3.el5.i386.rpm http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-bench-5.0.77-3.el5.i386.rpm http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-connector-odbc-3.51.26r1127-1.el5.i386.rpm http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-devel-5.0.77-3.el5.i386.rpm http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-server-5.0.77-3.el5.i386.rpm http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-test-5.0.77-3.el5.i386.rpm Retrieving http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-5.0.77-3.el5.i386.rpm Retrieving http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-bench-5.0.77-3.el5.i386.rpm Retrieving http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-connector-odbc-3.51.26r1127-1.el5.i386.rpm Retrieving http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-devel-5.0.77-3.el5.i386.rpm Retrieving http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-server-5.0.77-3.el5.i386.rpm Retrieving http://mirrors.usc.edu/pub/linux/distributions/centos/5/os/i386/CentOS/mysql-test-5.0.77-3.el5.i386.rpm Preparing... ########################################### [100%] 1:mysql ########################################### [ 17%] 2:mysql-server ########################################### [ 33%] 3:mysql-bench ########################################### [ 50%] 4:mysql-connector-odbc ########################################### [ 67%] 5:mysql-devel ########################################### [ 83%] 6:mysql-test ########################################### [100%]
Akhirnya Mysql server berhasil di install ulang.
Berikutnya saya coba install mysql gem, dah alhamdulillah berhasil
sudo gem install mysql
Eh masalah timbul lagi, karena saya tidak bisa mengakses database, intinya password nya harus di reset. Dan googling lagi deh untuk masalah itu. Dan dapat diresolve dengan menjalankan mysql di safe mode dengan bantuan link berikut : http://www.trap17.com/index.php/what-mysqls-default-root-password_t31717.html.
Semoga membantu yang memiliki kasus sama seperti saya
Oktober 31, 2009
Menggunakan image magick untuk resize gambar
Berikut ini, snippet dari script kecil yang saya gunakan untuk resize gambar
task :gen_medium_image => :environment do |t|
Product.all.each do |product|
ori_path = product.photo.path(:original)
med_path = product.photo.path(:medium)
if ori_path and File.exist?(ori_path)
if med_path.blank? or !File.exist?(med_path)
puts "ori => #{product.photo.path(:original)}"
puts "med => #{product.photo.path(:medium)}"
dira = med_path.split("/")
dira.delete_at(dira.size - 1)
dir = dira.join("/")
FileUtils.mkpath(dir)
`convert #{ori_path} -resize 352x352 #{med_path}`
puts ""
end
end
end
end
Oktober 30, 2009
Herbals plant available at App Store
Setelah beberapa minggu di dalam development, approval app store, setting bank account. Akhirnya “herbals plant” tersedia untuk diunduh di app store. Informasi lebih detail mengenai applikasi dapat dilihat di http://wewchat.com/herbals.
September 15, 2009
Testing cucumber multiple session
Saya pernah mengerjakan proyek ruby, dan waktu itu terpikir, bagaimana caranya supaya saya dapat mengetest lebih dari 1 session. Contoh kasusnya begini:
1.User A login sebagai admin, dan membuat sebuah post dengan nama “Programming”
2.User B login sebagai user biasa, dan harus melihat post dengan nama “Programming”
Dengan asumsi user admin, tidak harus logout dulu. Dari keinginan seperti itu, yang terpikir adalah bagaimana caranya membuat session baru. Akhirnya saya mencoba googling bbrp code integration test, dan ketemulah code “open_session”, langkah kedua adalah mencari cara supaya session yang baru saja dibuat memiliki method-method yang biasa dipakai oleh webrat, seperti visit,click_button,fill_in dan lain-lain. Dan setelah membaca beberapa potong code webrat, ternyata saya bisa menggunakan class RailsSession.
Sehingga yang perlu saya kerjakan adalah menambah kode berikut di features/support/env.rb
def new_session
user = nil
open_session do |ses|
user = Webrat::RailsSession.new(ses)
end
yield user if block_given?
return user
end
Berikut contoh scenarionya
Scenario: when Data entry mark wip with rude or foreign, the wip should not go to QA Given system has wip records with values "phone=11111;status_id=1;vm_file=abc.mp3" And system has account called "jim" And system has role "processor" for "jim" account And system has account called "joko" And system has role "processor" for "joko" account When "jim" login to system And he process current wip with values "first_name=sugi;last_name=arto;address1=cmh;city=cmh;zip=30531;phone=11115;opt_rude=1" And "joko" should see "No more messages" at different session Given system has wip records with values "phone=11112;status_id=1;vm_file=abc.mp3" And he visit "/process_wips" And he process current wip with values "first_name=sugi;last_name=arto;address1=cmh;zip=30531;phone=11115;opt_foreign_address=1" And "joko" should see "No more messages" at different session
Dan berikut ini contoh step definitionnya
Then /^"([^\"]*)" should see "([^\"]*)" at different session$/ do |login, text| user = new_session user.extend(LoginHelpers) resp = user.login(login) resp.body.should contain(text) end
Semoga membantu
September 14, 2009
Membuat Object Time dengan timezone yang sedang aktif
Setelah berjam-jam mencoba googling, dan akhirnya bisa juga membuat object time dengan timezone yang aktif. Begini ceritanya, saya mendapatkan string, nah program saya menggunakan timezone CST(GMT-6), saya ingin membuat class time dgn timezone tsb. Dan triknya adalah menggunakan Time.zone. Kodenya saya share di http://wewchat.com/ruby.
Time.zone.parse(2009,3,2)
Mengganti Keyboard label [Search] menjadi [Done] pada UISearchBar
Saya sedang mencari-cari cara untuk mengganti label keyboard “Search” menjadi “Done”. Tapi untuk apa? Ya sebenarnya ada 2 mode pencarian yang saya ketahui, pertama user menginput keyword pencarian, kemudian menekan key “Search” barulah pencarian dimulai. Dan yang kedua adalah “live search” mirip autocomplete gitu deh. Jadi saat user mengetikkan keyboard, hasilnya langsung ditampilkan di layar. Nah saat ini saya menggunakan metode live search, dan kelihatan aneh klo hasil pencarian sudah tampil tapi user masih bisa menekan tombol search (ga ada fungsinya
).
Beruntungnya saya menemukan post ini http://seanmurph.com/weblog/designing-the-most-elegant-iphone-table-view-search/ dan tak lupa mencatatnya di http://wewchat.com/iphonesdk
Berikut ini codenya
for (UIView *searchBarSubview in [searchBar subviews]) {
if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {
@try {
[(UITextField *)searchBarSubview setReturnKeyType:UIReturnKeyDone];
}
@catch (NSException * e) {
// ignore exception
}
}
}
September 10, 2009
Cerita Belajar iPhone/iPod Touch programming 1
Saya bukanlah iphone programmer, tapi saya sedang memulai mempelajarinya. Saya merasa tertarik saja dan tertantang. Saya baru juga dengan Objective-C untuk iPhone/iThouch programming. Namun saya merasa memiliki dasar-dasar yang cukup untuk mempelajarinya. Saya memiliki pengalaman java programming sekitar 3 tahunan dan sekarang aktif sbg ruby on rails programmer.
Setelah membaca beberapa article di google, yang memang perlu disipakan adalah Mac intel yang alhamdulillah saya sudah memilikinya. Iphone SDK, yang bisa didownload dari website apple, namun berhubung file nya hampir 2 giga, saya meminta bantuan teman saya yang bekerja di indosat. Saat itu saya minta didownloadkan iPhoneSDK versi 3. Sambil menunggu CD dari jakarta, saya silaturahmi ke teman saya aditya, dan alhamdulillah bisa copy iPhoneSDK 2.1. Sehingga bisa memulai belajar.
Setelah berpusing-pusing dengan SDK, saya ingin mencobanya di iPhone/iPod touch. Namun mengingat anggaran yang terbatas, saya memutuskan membeli iPod touch secong gen dulu.
Versi ipod touch saya masih 2.1 dan saya membutuhkan versi 3 nya, katanya sih bisa dibeli di itunes. Langsung saja saya coba setup account itunes dengan payoneer card saya. Sekarang saya masih dalam proses pembelian dan download ke OS3. Semoga aja lancar.
Saya mencoba menulis bbrp code program, supaya lebih gampang kalau saya lupa di http://wewchat.com/iphonesdk
Layanan internet flexi unlimited via SMS
Beberapa minggu yang lalu, saya menerima SMS dari operator flexi, bahwa flexi menawarkan internet unlimited yang murah dan sederhana prosesnya. Akhirnya saya penasaran mencoba fitur tersebut. Awalnya saya menyangka fitur ini untuk akses WAP via ponsel aja, namun ternyata saya salah, fitur ini cocok untuk komputer. Untuk memulai mendapatkan layanan tersebut kita perlu mendaftar lewat SMS, berikut ini formatnya:
REG HARIAN
kirim ke no 2255
Tidak lama kemudian,saya mendapat balasan bahwa proses aktivasi sedang dilakukan, berikutnya saya mendapat SMS lagi tentang informasi no dial, user dan password untuk koneksi internet. Langsung saja saya coba karena waktu itu telkom flash sedang ada gangguan. Saya menggunakan modem venus VT-12 di komputer Mac. Alhamdulillah bisa tuh browsing2, wkt itu saya menggunakannya untuk upload file karena memang urgent.
Perlu diingat bahwa layanan ini berlaku untuk 24jam dengan tarif 2500, dan otomatis akan diperpanjang hari berikutnya. Jadi bila memang sudah tidak digunakan, saya stop saja dengan:
STOP
kirim ke 2255
Jadi buat yang berminat,silahkan mencoba
Juni 18, 2009
Ruby background process
Tadi saya membuat sebuah ruby script, yang pada intinya saya ingin ruby script tersebut berjalan terus sebagai daemon. Saya sudah mencoba menggunakan perintah linux seperti ini
ruby myprogram.rb &
Namun ternyata setelah saya signout dari ssh session, program saya berhenti berjalan. Dan alhandulillah saya menemukan sebuah gem, yang dapat membuat program ruby berjalan sebagai daemon. Nama gem nya adalah “daemons”.
Langsung saja, untuk instalasinya cukup:
gem install daemons
Setelah berhasil dalam proses instalasi. Berikut ini contoh script untuk membuat program daemon:
#run.rb
require 'rubygems'
require 'daemons'
Daemons.run('myprogram.rb')
Nah itu diasumsikan, klo nama program yang ingin dibuat daemon adalah myprogram.rb. Untuk mulai menjalankannya, cukup :
ruby run.rb start
Semoga bermanfaat.:)




