Category archives: Technical

Mobile Apps Kulineran

Pengalaman Pertama Kalinya Bikin Mobile Apps

Share pengalaman pertama kalinya coba bikin mobile apps.

Untuk bikin mobile apps, banyak pilihannya, bisa bikin pusing sendiri menentukannya.
Bisa mrogram menggunakan native language, repotnya karena ada banyak OS, jadinya harus mrogram ke masing2 OS, ios android windows.
Bisa jg menggunakan cross platform, yg mrogram nya sekali, nanti bisa dipakai di banyak OS.

Dgn pertimbangan kepraktisan dan kemampuan, dipilihlah yg cross platform.

Nhah cross platform ini jg ada banyak banget, ada yg berbasis HTML5, ada yg make bahasa java, ada C#, ada yg lebih ke bikin games, dll.

Singkat cerita dipilihlah teknologi sbb: Continue reading “Pengalaman Pertama Kalinya Bikin Mobile Apps” »

Cronjob To Auto Restart PHP Daemon

I wrote about how to create php daemon a few months ago. The php daemon works well, except sometimes somehow the php execution stopped, and the daemon failed to restart the php execution.

That’s why i create a bash script, that will restart the php daemon when the php daemon died. I put this bash script in cronjob to be executed each minute.

Firstly, make sure the php daemon always write the output to a log file. This bash script will check when the log file last mofified, if the log was not modified for a few minutes, then the bash script will restart the php daemon.

Continue reading “Cronjob To Auto Restart PHP Daemon” »

Member Area GrowingMail

4 Bulan Untuk GrowingMail Beta

Setelah versi alpha growingmail diluncurkan April kemarin, hari ini versi beta resmi diluncurkan, eaaa.

Versi alpha yg dicoba untuk digunakan internal ternyata ga banyak bugs yg ditemukan, jadinya dengan sedikit utak – atik versi beta bisa diluncurkan. Bedanya versi beta dan alpha kemarin dikit banget, ini nih:

  • sudah bisa menerima pembayaran via paypal/cc untuk upgrade
  • template newsletter sudah digenapin jadi 10
  • fitur yg lain masih bener-bener sama, cuman bugs aja yg sudah banyak di eliminir

Continue reading “4 Bulan Untuk GrowingMail Beta” »

Tips Mengamankan Nginx

Kadang programmer emang ada-ada aja (ngacaaa), senengnya folder di set permission-nya 777.
Tapi itu kadang susah dihindari, dan diluar kontrol, paling enak ya folder writable di set supaya file .php ga bisa diakses.
Kurang lebihnya gini caranya:

 

  1. cari dulu, folder mana aja yang writable

    find ./ -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print

  2. buka file konfigurasi nginx nya, misalnya:

    vim /etc/nginx/conf.d/xxx.conf

  3. tambahi baris semacam beginian:

    location ~ ^/(image|images|danlainlain)/.*\.php {
    deny all;
    }

    dengan image|images|danlainlain ==> di isi nama-nama folder yg ketemu di step 1 tadi.

    Oh ya, pastikan taruh kode tersebut di atas kode beginian:

    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    Karena kalo ditaruh dibawahnya, sama jg bo ong. Kenapa? ya entar tau sendiri lah :D

  4.  

    Oh ya bonus, kebanyakan nama file yg diawali dengan titik itu tidak ditujukan untuk public, so biar lebih aman bisa dibuat semua file/folder berawalan dengan titik ga bisa diakses public, caranya tambahin baris sbb:

    location ~ /\. { deny all; access_log off; log_not_found off; }

sexy technology

Cara Perbesar Size Volume EBS di Amazon EC2

## STOP service yang berhubungan dengan volume nya dulu

contoh:

/etc/init.d/nginx stop
/etc/init.d/php-fpm stop
/etc/init.d/mysqld stop

## cek yg di mount, trus di unmount in, dan dicatet yah

cat /proc/mounts ==> cari yg dari ebs ybs, trus di umount

umount /xxxx
umount /home/xxxx/public_html/xxxx

## kalau ada yg ga bisa dimount:
lsof | grep ‘nama-mountnya’
trus di kill proses yg masih berjalan
## trus di detach volumenya, buat snapshotnya, trus create volume baru dari snapshot tersebut dg size lebih gede

detach /dev/sdx
create snapshop dari sdi
create volume dari hasil snapshot dengan size lebih gede

## trus di attach volume barunya, cek disk, di mount, trus di grow kan

attach to /dev/sdx
xfs_check /dev/sdx ==> bisa lama (diskip bisa)
mount /storeprod
mount /home/xxxx/public_html/xxxx
xfs_growfs -d /dev/xvdx

## start semua servicenya, dan viola, jadi!

/etc/init.d/nginx start
/etc/init.d/php-fpm start
/etc/init.d/mysqld start

Dropbox hosting gratis

Hosting Gratis dengan Dropbox Public Folder

Beberapa waktu lalu, salah satu situsku rata-rata dikunjungi almost 3 juta pengunjung perbulan, gilleee…
Sayangnya, traffic tidak berbanding lurus dengan kekayaan, coba kalau traffic gedhe otomatis kaya, semua yg baca ini udah kutraktir es teh angkringan depan rumah deh:p

Kembali ke topik, beberapa image / file di website tersebut aku taruh di public folder-nya dropbox ku supaya bisa irit bandwidth.
Dan beneran, emang bisa jadi irit banget, heheh karena bandwidth yg keluar dr web ku cuman html aja, image di taruh di dropbox semua.

Itu kisah suksesnya, kisah mengenaskannya, barusan dapet email sbb:

Hi Ogi,

This email is an automated notification from Dropbox that your Public links have been temporarily suspended for generating excessive traffic. Your Dropbox will continue to function normally with the exception of Public links.

This suspension is temporary (3 days for the first time).

Please visit Dropbox support if you have any questions.

- The Dropbox Team

 

Nhah, baru teu, ternyata dropbox batesin bandwidth public foldernya.
So, bagi yg mau jadiin dropbox sbg hosting gratisan, perlu dipertimbangkan batasan tersebut,
kalau cuman untuk blog kutukupret semacam blog ini yg seminggu belum mesti ada satu pengunjung sih ga masalah.
Tapi kalau untuk website yg trafficnya berlebih, ya harus siap-siap di suspend.

Akhir kata, mari mohon doanya agar dropbox public folder ku segera di unsuspend :D

huawei modem e220

Cara kirim SMS dari Mac dgn Modem Huawei E220

Ceritanya aku butuh mengirimkan SMS ke 40 ribu nomor (bukan spam), tampaknya ga mungkin make handphone diketik satu persatu, nanti bisa dipecat dari status suami dan ayah karena mentelengin hape berbulan-bulan, hihi.

huawei modem e220

Nhah, diputuskan merobotisasi kebutuhan mengirim sms tersebut, begini caranya:

Alat yg dibutuhkan

1. satu buah simcard operator apa saja
2. modem GSM 3G, kebetulan yg aku pake Merk Huawei E220
3. seekor komputer, kebetulan yg aku pake iMac
4. sebuah keberuntungan

Langkah-langkah memasaknya

  1. Download software SMS Server Tools 3 disini
  2. Baca cara installnya disini
  3. File yg didownload di extract, kalau di mac tinggal di double click aja udah extract otomatis.
  4. Buka aplikasi terminal di Mac
  5. Login sebagai root
    > sudo su -
  6. Pindah ke direktori tempat tadi file sudah di extract
    > cd /Applications/MAMP/htdocs/smstools
  7. Compile
    > make
    > make install
  8. Install driver Huawei E220
    Kalau belum punya drivernya download disini
  9. Colokkan modem 3G nya ke port USB di mac
  10. Cari lokasi modem tersebut di mac, caranya masuk terminal ketik sbb:
    > ls -al /dev/* | grep HUAWEIakan ada/dev/tty.HUAWEIMobile-Modemnah berarti itu lah lokasinya, catet! :P
  11. Edit file /etc/smsd.conf, masukkan lokasi modemnya tadi. Hasilnya kira-kira seperti ini:
    devices = GSM1logfile = /var/log/smsd.logloglevel = 7 

    [GSM1]

    device = /dev/tty.HUAWEIMobile-Modem

    incoming = yes

    #pin = 1111

  12. ambil script sms3 dari sini
    http://smstools3.kekekasvi.com/topic.php?post=3412#post3412simpan di komputer, misalnya disimpan di folder/usr/local/bin/sms3
  13. set permission dari file diatas
    > chmod 777 /usr/local/bin/sms3
  14. coba start software sms nya
    > /usr/local/bin/sms3 start
  15. untuk stop softwarenya gini caranya, inget kalau dah di stop, harus di start lagi ya! :p
    > /usr/local/bin/sms3 stop
  16. coba kirim sms
    > /usr/local/bin/sendsms 0817411xxxx
  17. Kalau ada sesuatu yg ga beres, bisa lihat log sms nya
    > tail -f /var/log/smsd.log
  18. Voilla!!! Berhasil

 

Apapun yang terjadi, jangan menyerah, tampak sulit tapi sebenernya gampang kok.
Bagi yg ga begitu ngerti maksudnya tulisan ini apa, yaudah abaikan aja, mending baca-baca post blog ku yang lain, hihi.

salam!

Idwebhost-domain

Tips Memilih Nama Domain

 Kalau mau bikin usaha online, salah satu yang pasti harus dipikirkan bahkan sebelum mulai adalah nama domain. Ya, nama domain akan menjadi identitas utama dari bisnis online kita.

 

 Trus, gimana cara milih nama domain? Ada beberapa aturan klasik panduan memilih nama domain, tidak baku, tidak mengikat, tapi harus dipahami. Tapi hanya ada satu prinsip sederhana untuk nama domain, “cari yang termudah untuk diingat”.

 Jumlah Kata

 Cari nama domain dengan jumlah kata sependek mungkin. Semakin pendek, semakin mudah diingat. Misalnya, makan.com tentu lebih menarik dibanding akusukamakan.com

 Ekstensi

 Ekstensi domain menentukan tingkat gengsi dari suatu nama domain. Jelas dan pasti, domain paling yahud adalah .com , coba inget-inget website populer internasional dengan ekstensi selain .com ! Pasti sangat sedikit.

 .COM seperti menenggelamkan ekstensi-ekstensi domain yang lain. Karena semua orang maunya make .com, tentunya domain dengan ekstensi .com semakin habis, salah satu alternatifnya adalah memilih nama domain selain .com ,

 Diurutan selanjutnya setelah .com adalah .net dan .org. Kemudian, bisa juga menggunakan alternatif domain .co.id jika target pasarnya untuk masyarakat Indonesia saja.

 Yah intinya, usahakan sebisa mungkin cari nama domain .com, jika sudah menyerah, barulah dicoba alternatif dengan ekstensi yang lain.

 Minus & Angka

 Dianjurkan dengan sangat, hindari menggunakan minus atau angka didalam nama domain. makanroti.com akan jauh lebih mudah diingat dari pada makan-roti.com , begitu juga makan.com akan jauh lebih enak didengar daripada makan19.com

 Tepat Makna

 Cari nama domain yg sedekat mungkin dengan content website-nya. Misalkan jika mau jualan roti, akan lebih pas menggunakan domain roti.com , dibandingkan dengan domain makanan.com . Semakin dekat makna kata dalam domain dengan content websitenya, otomatis akan membantu pengunjung web untuk mengingat nama domain kita.

 Nama domain sudah pada ada yang punya, trus gimana?

 Jangan khawatir, itu pertanyaan dari hampir semua orang yang sedang mencari nama domain. Jawabannya mudah, berani bayar mahal atau tidak.

 Jika tidak berani bayar mahal, ya terus aja coba cari nama domain, dengan harapan suatu saat bisa menemukan nama domain yang bagus dan cocok dengan keinginan. Tak mudah memang, perlu ketekunan dan kreatifitas.

 Salah satu contoh, karena saya mencoba mencari domain yang berhubungan dengan kata “cara” tetapi sebagian besar sudah dimiliki orang lain, dapatlah ide untuk menambahkan kata pedia dibelakangnya, jadilah carapedia.com

 Domainnya masih mengandung kata cara, tapi masih mudah diingat, enak didengar, plus masih sangat berhubungan dengan content website yang ingin saya buat.

 Jika berani bayar mahal, mudah saja, silahkan cari di sedo.com . Sedo adalah website tempat lelang domain, disitu banyak terdapat domain-domain yang sangat bagus, tapi tentu saja dengan harga yang sangat bagus. Harganya bisa dari ratusan dolar, hinggal puluhan atau ratusan ribu dolar. (bukan iklan)

 Masih penasaran juga nama domain untuk website Anda? Yuk segera cari mesin pencari domain di IDwebhost, klik disini!

Free Blog Provider

Beberapa hari ini “sedikit” disibukkan dengan pembuatan OGGIX.org. Mmmm… ini merupakan layanan free blogging for anyone, just like wordpress, blogspot, or else. Aku menggunakan engine dan template wordpress, biar cepet jadi.

Hari ini akan aku mulai publikasikan dari website oggix.com dan footer shoutbox nya.

Free Blog Provider oggix.org

Trus apa bedanya dengan wordpress.com ato yang lainnya?

Untuk saat ini sama saja sih, karena tujuannya sekarang untuk beta tester dulu. Tapi kedepannya, aku pingin utak-atik lagi web ini, sehingga mempunyai fitur-fitur yang membedakan dengan free blog yang lainnya. Antara lain, aku ingin mengintegrasikan oggix.org ini dengan oggix.com, sehingga setiap orang yang punya blog, otomatis terinstall shoutbox, atau webcounter, pagerank checker serta social bookmark submitter.

Trus, juga di integrasikan dengan ensiklonesia, ini khusus kl pendaftar dari IP Indonesia, sehingga orang-orang indonesia juga secara otomatis ikut mempromosikan tentang Indonesia nya sendiri. Trus juga, mungkinnn, kl sempet aku integrasikan dengan mailogi (gmail inbox status), so disetiap blog bisa keliatan status dari inbox gmailnya.

Apa lagi yahhh, banyak sigh angan-angan, tapi terealisasi dan enggak nya kita tunggu aja tanggal mainnya.

Resize Photo secara masal

Sekarang, aku mau bagi-bagi pengetahuan simpel, tapi biasanya bikin jengkelin kalau pas butuh. Yaitu, cara untuk me-resize gambar secara massal. Biasanya nih, kalau kita make kamera digital, trus mau di upload di web kita, atau di flickr, atau juga friendster, kita kadang mengalami “please wait” yang lumayan, karena file yang kita upload terlalu besar.
Apalagi kamera digital jaman sekarang, satu jepretan foto kadang besarnya sekitar 3 MB. Nhah, kalau kita mau upload 100 foto, itu dah sekitar 300 MB, ampun dehhh…
Nhah, solusinya.. kita harus memperkecil dulu size image foto kita, atau bisa juga mengoptimasinya.

Tapi… kalau harus satu persatu meresize nya, kan repot juga, nhah ini aku berikan tips mudah untuk melakukannya hanya dalam hitungan menit.
BTW, karena aku biasanya menggunakan macromedia fireworks, maka bagi yang ga punya bisa pinjem aja di rental bajakan software :D

1. Buka macromedia fireworks, klik menu File -> Batch Process …
Maka akan muncul window seperti dibawah ini.

batch image processing - 1

2. Klik Tombol Next pada window diatas, sehingga akan muncul window dibawah ini:

batch image processing - 2

Double click menu Scale pada window diatas. Kemudian akan muncul dropdown pada bagian bawah,
untuk memilih apakah akan di scale fix, atau persentase.
Aku anjurkan untuk mengunakan scam percentage aja, trus ketik mau di resize ke berapa persen dari ukuran asli.
Misalnya mau di resize ke ukuran 40% dari aslinya.

3. Klik next pada window di atas, dan akan muncul window dibawah. Dan langsung aja click next daripada bingung :D

batch image processing - 3

4. Akan muncul window seperti gambar dibawah ini untuk menentukan file mana aja yang akan kita resize.
Pada dropdown tersebut, pilih Custom, dan browse dimana letak file-file yang akan kita resize.

Kemudian klik OK, jadi deh…… Semua foto kita akan ter resize dengan sendirinya, ga perlu satu persatu :P

batch image processing - 4

Selamat mencoba !!!

Aplikasi Pengoptimal SQL Query

Apaan sih?
Aplikasi pengoptimal sql query adalah aplikasi yang digunakan untuk mengoptimalkan sql query. Optimal disini dibatasi pada peningkatan kecepatan waktu eksekusi sql query. Jadi misalnya kita mempunyai SQL query, kemudian dimasukkan ke dalam aplikasi ini, maka diharapkan kita akan mendapatkan output berupa SQL query yang waktu eksekusinya lebih singkat.

Masih bingung?
Kalau masih bingung, mungkin dikarenakan masih kurang tau mengenai apa itu SQL query. SQL query itu adalah suatu bahasa (seperti bahasa pemrograman), yang digunakan untuk mengambil atau memanipulasi data dari suatu database.

Kalau berdasarkan wikipedia, artinya sbb:
SQL, commonly expanded as Structured Query Language, is a computer language designed for the retrieval and management of data in relational database management systems, database schema creation and modification, and database object access control management. SQL has been standardized by both ANSI and ISO.

Kalau malah tambah bingung, ya nasibbb….

So What ?
Mengapa membahas ini? ya kebetulan tesis ku di MTI kemaren membuat aplikasi ini. Awalnya cukup idealis, karena selama aku cari-cari di internet belum menemukan penelitian yang membuat aplikasi yang semacam. Dan kebetulan aku memang seneng utak atik database, jadi ya akhirnya aku memilih tema ini.

Cara Kerja
Aplikasi ini mengambil input berupa SQL query yang dimasukkan, kemudian memberikan output berupa SQL query yang sudah teroptimasi, beserta beberapa hasil test yang telah dilakukan aplikasi. Aplikasi dibuat menggunakan bahasa pemrograman PHP dan diujicoba pada database MySQL dan Postgre.
Secara garis besar carakerjanya adalah sbb:
Input -> Parsing -> Dioptimasi dg bbrp method -> beberapa sql teroptimasi -> eksekusi tiap sql teroptimasi -> dicari yang tercepat -> tampilkan sebagai output
Input SQL yang dimasukkan diparsing oleh aplikasi menggunakan class SQL Parser yang diambil dari pear.php.net (yang telah dimodifikasi untuk keperluan penelitian ini). Kemudian hasil parsing tersebut dimasukkan ke engine pengoptimasi, dimana tiap sql input akan dioptimasi dengan beberapa metode optimasi SQL query. Metode-metode optimasi SQL query sebenernya sudah banyak yang meneliti, hanya pada penelitian ini diterapkan metode optimasi dari Peter Gulutzan. Engine pengoptimasi akan menghasilkan beberapa SQL query yang telah teroptimasi, namun aplikasi hanya akan mengoutputkan satu SQL query yang paling optimum aja untuk database bersangkutan, sehingga aplikasi ini kemudian mengeksekusi tiap SQL query masing-masing sebanyak 3 kali, untuk mengetahui query mana yang membutuhkan waktu paling sedikit. Setelah ditemukan SQL paling cepat waktu eksekusinya, kemudian aplikasi akan menampilkan SQL tersebut dan memberikan tabel waktu eksekusinya tadi.

Download
Intisari singkatnya kira-kira seperti itu, untuk mengetahui lebih detail mengenai hasil penelitiannya bisa download naskah publikasinya di sini.
Kalau butuh naskah tesis lengkapnya, bisa kontak japri aja :)

Semoga bermanfaat.

Oggix.com found a new home

Since about a year ago, oggix.com has a serious problem that need much time to find the solution. The problem is the lack of server resource. Because oggix.com become bigger and bigger (now oggix.com has more than 36.000 members), so oggix.com couldnt placed in a shared hosting, or even a single dedicated server. The site was down for a several times, and the site was very very slow. Thus some of oggix.com’s members became frustation and migrate to another shoutbox provider.

I had moved it to better server, but the result was not significant. Then i also had tried to optimize the scripts, the table structure, the image etc, and also i couldnt get the good result.

Then a few weeks ago i tried to move the site to a new shared hosting, which the hosting company claim that they can handle a very very big site. And amazingly, the site is going well till now. The speed is very good, and the server performance is extremely stabil.

I still dont understand how they set the server and the OS or control panel so they can have these such server performance. hufff.. époustouflant!!

And you know what? the hosting price is not expensive :D (this is one of the reason why i choose this hosting company).

Oggh, thanks God for giving me this way.

Google Email for Your Domain

Google had officially launched “Google Apps for Your Domain”. Google Apps for Your Domain lets you offer private-labeled email, instant messaging and calendar accounts to all of your users, so they can share ideas and work more effectively. It’s all free* and everything is hosted by Google. No hardware or software required.

For example, if you have a domain name called “blogdiansastro.com”, then you may host the email at google. You may create some email accounts, for example ogi@blogdiansastro.com (for free ofcourse).

Is it good for you ?

I dont know, but please consider this advantages when you use google mail for your domain:

  • 2 GB Storage
    Each email account will has 2 gigabytes of storage, with search tool to find information fast
  • High technology user interface with ajax, and ofcourse very user friendly
  • Text Ad
    yes, you’ll only see text ad (not big flash banner like on yahoomail)
  • No email footer Ad
  • Hidden service
    No one will know that you use this free service, except you tell someone
  • Unlimited email filtering
    yahoomail limit it to 15 filter
  • Domain alias
    Associate another domain with this account to let your users share the same mailbox with multiple email addresses (Example pat@example.com, pat@examplecorp.org).
  • Catch all email feature.
    You may set the default address of all your email.
  • Free email forwarding
  • Free POP 3 access
  • No downtime.
    Google is trusted company, and has best hardware and software in the world, so you can count on google. You dont need to worry about downtime.
  • You get all feature in gmail

Sound interesting?

OK, let me guide you to register to “google email for your domain”

  1. Open http://www.google.com/a/cpanel/domain
  2. Sign in with your Google or Gmail Account
  3. You’ll redirected to http://www.google.com/a/cpanel/domain/new
    Please enter your domain name (e.g: blogdiansastro.com), and click “Use my domain” button.
  4. Complete the form about your domain, then click submit button.
  5. Complete administrator form info, then click submit button.
  6. Click “Add selected services” button.
  7. Click “Activate Email”
  8. Ask your hosting provider to set the mx record to this:
    MX Server address Priority
    ASPMX.L.GOOGLE.COM. 1
    ALT1.ASPMX.L.GOOGLE.COM. 5
    ALT2.ASPMX.L.GOOGLE.COM. 5
    ASPMX2.GOOGLEMAIL.COM. 10
    ASPMX3.GOOGLEMAIL.COM. 10
    ASPMX4.GOOGLEMAIL.COM. 10
    ASPMX5.GOOGLEMAIL.COM. 10I’m sure that your hosting provider will understand about this. So, you just need to tell them that you want to set the mx address to the address above.
  9. Click “I’ve completed theese steps”
  10. Done
    just wait for one or two days, and then you may create email account, set domain settings and so on.