Share ilmu yuk!,

November 13, 2009

Fertile now available on App Store

Diarsipkan di bawah: iPhoneSDK — ugifractal @ 7:43 am
Tags: , , ,

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 7, 2009

Masalah instalasi gem mysql di CentOS

Diarsipkan di bawah: Ruby Programming — ugifractal @ 1:31 pm
Tags: , , ,

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 :D

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

Diarsipkan di bawah: Ruby Programming — ugifractal @ 9:17 pm
Tags: , ,

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

Diarsipkan di bawah: iPhoneSDK — ugifractal @ 7:15 am
Tags: , , , ,

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

Diarsipkan di bawah: Ruby Programming — ugifractal @ 10:42 pm
Tags: , , , ,

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

Diarsipkan di bawah: Ruby Programming — ugifractal @ 1:40 pm
Tags: , , ,

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

Diarsipkan di bawah: iPhoneSDK — ugifractal @ 6:58 am

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 :D ).

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

Diarsipkan di bawah: iPhoneSDK — ugifractal @ 11:33 am
Tags: , , , ,

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

Diarsipkan di bawah: Other — ugifractal @ 11:14 am

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

Diarsipkan di bawah: Ruby Programming — ugifractal @ 4:21 pm

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.:)

Halaman Berikutnya »

Blog pada WordPress.com.