Tahun Ke-4, Harapan Baru!

Posted by Indra Gunawan | 5:32 PM | , | 0 comments »


Tidak terasa blog ini sudah berumur 4 tahun, tidak ada tanggal special kapan blog ini lahir, namun tandanya adalah tagihan registrant sudah mulai memenuhi inbox yang selalu mengingatkan saya untuk memperpanjang domain blog ini. ;-)

Hampir atau mungkin lebih dari setengah tahun blog ini tidak diupdate. Kesibukan saya akhir-akhir ini sangat sulit ditolerir, bahkan update status atau post ke situs microblogging lain pun tidak sempat.

Perubahan yang jelas dalam hidup saya adalah kembali ke pulau Jawa. Setelah merantau lebih dari 5 tahun di pulau Kalimantan. Ini berkaitan dengan profesi baru saya sebagai Java Developer di salah satu perusahaan swasta yang bergerak dalam pembuatan sistem untuk perbankan.

Setelah dibekali pelatihan selama satu bulan, saya langsung ditempatkan di project. Disinilah kesibukan itu bermula karena bekerja di Jakarta, tidak seperti di Samarinda. Sulit sekali mengatur waktu pada hari kerja karena sebagian waktu kita pun habis di jalan raya. Saya lebih baik mengambil extra jam kerja sekalian daripada pulang tepat waktu dan kena macet di jalan.

Untuk saat ini, sebagai programmer jalanan (pemulung ilmu), istilah saya untuk programmer autodidak yang tidak pernah mendapat pelatihan programming atau ikut kursus, ini merupakan pencapaian yang baik. Karena dengan terjun langsung ke dunia kerja, kita langsung berhadapan dengan kondisi real yang pada akhirnya memaksa kita untuk mampu dan secara tidak langsung mengasah kemampuan kita sendiri.

Banyak orang yang kurang berani mengambil resiko seperti ini. Kalo istilah pengusaha "modal dengkul", bagi saya mungkin istilah "modal nekad" lebih tepat. Dengan modal ilmu pas-pasan dari proses belajar autodidak, saya nekad melamar ke perusahaan ini. Dan menurut saya perusahaan ini juga cukup nekad menerima programmer otodidak seperti saya :-)

Tapi nyatanya begini, kalau kita pernah mengerjakan project software sendiri, bekerja di sebuah perusahaan software cenderung lebih mudah. Contohnya, dalam mengerjakan project sendiri, kita dituntut menjadi Business Analyst, System Analyst, Programmer, Quality Assurance, Sales dan bahkan ketika production kita juga berperan menjadi System Engineer dan Host Integrator. Sedangkan di perusahaan software, setiap peran ini sudah ada bagiannya masing-masing.

Ketika saya masih bekerja dimana Samarinda, perusahaan tempat saya bekerja mencari programmer tambahan. Satu pertanyaan yang saya berikan pada pelamar adalah "Sudah pernah membuat program yang bisa anda jual dan masih dimaintain hingga sekarang?". Jawaban dari pertanyaan tersebut sudah cukup bagi saya untuk melakukan seleksi. Tentu saja harus juga dibuktikan dengan demo program dan source codenya.

Perbedaan lainnya yang saya rasakan antara di daerah dan di Jakarta adalah disini saya akhirnya bisa menemukan komunitas. Di kantor, pada akhirnya saya memiliki rekan seprofesi yang bisa saling menyempurnakan ilmu yang kita peroleh dengan jalan memulung tadi ;-) Karena kalau kita tidak memiliki biaya untuk belajar, maka bergabunglah dengan komunitasnya. Sehingga kita bisa memperoleh ilmu itu secara cuma-cuma.
Read More →

lg-vortex-1_thumb12

Kali ini mungkin terbalik, biasanya saya buat review dulu sebelum saya rilis Custom ROM untuk handset saya Smile. Itu terjadi karena saya sangat interest dengan Android CDMA yang satu ini.

Awalnya berbekal keinginan saya untuk memiliki handset Android namun yang berbasis CDMA. Kenapa harus Android dan kenapa CDMA?

Menurut saya Android (atau iPhone) ini seperti mainan mahal Smile with tongue out. Mungkin lebih banyak dipake main-mainnya daripada dipake untuk menelepon atau SMS. Disisi lain, saya juga memiliki sebuah Fixed Wireless terminal untuk nomor CDMA yang saya gunakan disamping nomor GSM saya.

IMG00012-20110506-2143

Singkat ceritanya seperti pada gambar, saya perlu handset untuk menggantikan handset di sebelah kiri  Smile tetapi sekaligus bisa dipakai untuk entertainment diwaktu senggang (karena nomor CDMA saya tidak seaktif nomor GSM saya).

Terimakasih kepada huroncom di KASKUS akhirnya kebutuhan saya terpenuhi. Pada awalnya memang saya mencari LG Optimus S (Sprint) dengan alasan ketersediaan Custom ROM untuk handset tersebut sudah banyak. Tetapi karena yang tersedia pada saat itu hanya LG Vortex (Verizon) saya pikir tidak begitu masalah karena pada dasarnya dari sisi hardware, seri LG Optimus ini memiliki hardware yang mirip.

Untuk kelas Mid-End, seri LG Optimus baik untuk GSM maupun CDMA merupakan pilihan yang bijak. Dengan harga yang relatif dibawah pesaingnya, kita disuguhkan spesifikasi hardware yang memadai. Walaupun clock processor hanya 600 MHz, tapi dengan kekuatan Adreno 200 GPU, game-game 3D bisa dijalankan dengan mulus.

Bahkan processor ini “mampu” dioverclock dengan stabil menggunakan custom kernel. Dengan sedikit dioverclock ke 768 MHz saja, Quadrant Scorenya mampu melampaui Samsung Galaxy S.

254518_1913447109131_1030512125_2166244_5399074_n252313_1913445189083_1030512125_2166241_3980276_n

Hanya saja, handset CDMA khususnya yang sistem inject agak sedikit ribet untuk konfigurasinya. Apa lagi LG Vortex keluaran Verizon Wireless ini sebagian besar konfigurasinya dihardcoded ke firmware. Artinya beberapa konfigurasi tidak dapat kita ubah nilainya, seperti contohnya konfigurasi untuk konektifitas data dan nama operator.

Tapi dengan sedikit usaha, semuanya akhirnya bisa diakali Smile untuk nama operator, bisa dilakukan perubahan pada file eri.xml yang ada di dalam file framework-res.apk dan tidak lupa menyesuaikan nilai roaming indicatornya dengan PRL yang digunakan. Hasilnya bisa dilihat seperti pada gambar berikut:

251753_1913701235484_1030512125_2166508_3818745_n

Saya merekomendasikan menggunakan aplikasi LG PST (Lab Version) untuk melakukan NAM dan Service Programming untuk handset ini. Karena berdasarkan pengalaman, baik setting NAM, PRL dan Konektivitas Data lebih mudah dan sukses dengan menggunakan aplikasi ini.

Untuk penggunaan sehari-hari, saya menggunakan paket data unlimited dari Telkom Flexi (64 kbps Sad smile) namun hanya untuk email dan social network saja. Saya menggunakan hotspot di kantor untuk download/upgrade aplikasi dari market.

Daya tahan baterai untuk handset ini juga cukup baik, jika digunakan secara aktif, baterainya bertahan selama 1 hari, sedangkan jika stand by saja, daya tahan baterainya bisa mencapai 2 hari.

Akhir kata, saya pribadi sih cukup puas dengan handset ini. Walaupun sebelumnya sempat menyesal karena keterbatasan yang dimiliki handset ini untuk dimodifikasi lebih jauh, tidak seperti seri LG Optimus yang lainnya.

Untuk spesifikasi lengkap handset ini, bisa anda temukan disini.

Read More →

LG Vortex VS660 Custom ROM

Posted by Indra Gunawan | 11:22 PM | , , , | 6 comments »

lg-vortex-1

LG Vortex VS660 (Vortex) consider as CDMA version of LG Optimus One (O1) that bundled with Verizon Wireless. Vortex is not alone in LG’s CDMA line up, there are also Optimus S (Sprint) and Optimus M (Metro PCS).

You might guess that Vortex name could be Optimus V, but I like Vortex better Smile. This LG’s line-up series has similar hardware and Android version.

Since I’m not subscribed to Verizon service, I didn’t get any update on my device. Not even to Android 2.2.1 version. Lucky for me, bloodxxsyndicate provide nandroid backup of his ROM based on Android 2.2.1 update. That was a good start until then I found Custom Rom "Breakneck" for LG Vortex for further.

Having both ROM (version 2.2.1) as start, I’m working on my own version of 2.2.1 ROM. I want a clean version (without resource modification) of Custom ROM that result would be nearly similar to factory default version except this are already deodexed and optimized. We can all start developing our own customized ROM based on this, and the best part of it, it’s available to everybody, not just Verizon customers. And here I present:

Vorbrain ROM V1d for LG Vortex VS660
(Click to Download)

Download Patch (20110606) : AMR Playback Fix
(amr_playback_fix.zip – apply after update)

What did you get on this ROM:

  1. Latest Update (20110604)
  2. Clean ROM (Keeping APK’s Dependencies)
  3. ROM Base 2.2.1 (Rooted Already)
  4. Deodexed both for Application and Framework
  5. Optimized and zipaligned all APK’s
  6. JIT Enabled + Increase Heap Memory Size
  7. Remove All Bloatware
  8. Overclockable Kernel
  9. Bundled w/ Google Search & Maps
  10. More space on /data (Google Update is already bundled!)

How to Install:

  1. Your device has to be rooted first! If you’re came from stock 2.2 Android version, then you are lucky, just use z4root to do this.
  2. Because this are ZIP update packages, you must apply custom recovery menu to do ZIP flash update. I would recommend this link and please follow the instruction carefully. The custom recovery image for your Vortex is: recovery-RA-vortex-2.2.1-GNM.img
  3. I’m not writing about steps to apply above mod because it’s already well-documented on creator’s page. I also didn't include any of those requirements in this article on purpose to honor the creator’s request, not to hot-linked the download part in any means.
  4. If you already download the update package on above link, put downloaded ZIP package on the root of your SD Card and apply ZIP flash update from recovery menu.
  5. Enjoy the ROM!

I would like to thanked to all guys that provide me the ingredients to made this ROM, include great  tools they’re provide to help me with pack-repack, deodexing and optimizing process.

If you like my job, please consider to buy me a snack and coffee Open-mouthed smile If you give me a lot, I’ll share with those guys I’ve mention Smile

Read More →

Beberapa waktu lalu, saya sempat membuat proyek iseng dengan C# (sekalian pengen tahu bahasa ini :p) yaitu membuat sebuah Alarm Musik sederhana. Saya kira untuk mempelajari bahasa ini secara sepintas lebih baik langsung mencobanya dengan membuat proyek yang sederhana. Setidaknya lebih bermanfaat daripada hanya sekedar Hello World! :D


Proyek sederhana ini mengimplementasikan beberapa method berikut:
  • Penggunaan Tray Icon di OS Windows
  • Penyimpanan Konfigurasi ke File INI
  • Windows API Call Untuk Memutar File MP3
Mohon maaf kalo masih buggy :p maklum, masih pemula dan .NET bukan bahasa utama saya :) Source code dan binary download bisa diperoleh disini: http://code.google.com/p/alarmmusik/
Read More →

Hari ini ada artikel menarik di detikInet, mengenai pernyataan resmi Nokia menggandeng Microsoft untuk OS Windows Phone 7. Bahkan dalam official blog nya, peresmian kerjasama jangka panjang ini sengaja mengambil momen pada hari ini: Jumat, 11 Februari 2011 (11.2.11) untuk menciptakan ekosistem baru yang dapat menguatkan posisi kedua belah pihak di kancah platform untuk smartphone. Entah makna apa yang mereka pikirkan untuk mengambil tanggalan tersebut :p

Bagi saya, adanya berita ini merupakan hal menarik yang terjadi di dunia gadget khususnya smartphone. Ditengah rasa bosan dalam pemberitaan mengenai perperangan platform yang didominasi oleh OS Android saat ini, akhirnya kita disuguhkan satu platform lain yang cukup menarik.

Hingga tulisan ini dibuat, selain iOS, saya telah mencoba beberapa platform smartphone mulai dari Windows Phone, BlackBerry, Android dan Symbian. Dan selama saya menggunakan smartphone, justru OS Symbian inilah yang saya coba belakangan. Alasannya cukup sederhana, saya tidak pernah mampu membeli ponsel dengan OS Symbian ketika saya kuliah, jadi baru sekarang saya bisa memiliki kesempatan menggunakan OS Symbian di Nokia C6-00 yang saya peroleh dengan menukar BlackBerry Bold 9650 (Essex) saya.

Di masa jaya OS Symbian, anda tentu masih ingat berapa harga perangkat Symbian disaat pertama kali diluncurkan ke pasaran. Saya ingat harga Nokia 9500 Communicator yang harganya hampir mencapai sepuluh juta rupiah pada saat itu. Teman saya di kampus pada saat itu membeli sebuah Nokia 6670 dengan harga empat jutaan. Padahal dengan uang segitu, saat ini kita bisa memperoleh smartphone Android kelas menengah. Bagaimanapun juga, ini adalah pengaruh monopoli dalam perdagangan, karena tanpa adanya saingan, vendor bisa mematok harga seenaknya untuk menjual produknya.

Saat ini platform Android telah mendominasi seluruh vendor smartphone canggih. Dapat disimpulkan bahwa dengan memiliki OS yang sama, artinya seluruh kemampuan software smartphone tersebut hampir sama. Perbedaan yang signifikan dalam hal ini adalah hardware smartphone itu sendiri. Vendor saat ini bersaing dalam hal perangkatnya, bukan sistem operasinya. Entah ini merupakan suatu hal yang positif atau tidak, tetapi keseragaman membuat hal ini menjadi membosankan. Setidaknya bagi saya :p

Selain dari pada itu, platform yang terbuka seperti Android, tanpa adanya biaya lisensi, tidak menjamin harga perangkatnya menjadi lebih murah. Setidaknya itu yang terjadi di Indonesia karena tidak seperti operator besar di luar negeri yang menawarkan opsi pembelian perangkat dengan sistem kontrak berlangganan operator tersebut sehingga harga perangkatnya menjadi lebih murah, di Indonesia dengan harga berlangganan pun (seperti iPhone dengan salah satu operator di Indonesia), harga perangkatnya tetap mahal :(

Saya memperoleh Nokia C6-00 dengan harga yang sama dengan sebuah BlackBerry Curve 8520 (Gemini) atau Samsung GT-i5700 (Galaxy Spica) pada saat itu. Lantas pertimbangan apa yang menjadikan smartphone dengan platform kuno itu menjadi pilihan saya? Mungkin jika dijabarkan, beberapa alasan/pemikiran saya adalah seperti ini:
  1. Harga yang relatif murah dengan segudang fitur yang menarik seperti contohnya dukungan HSDPA (3.5G) dan kamera internal 5 Mega Pixels. Dari kubu Android ataupun BlackBerry dengan fitur serupa harga jualnya di Indonesia dipatok hampir dua kali dari harga Nokia C6-00.
  2. Daya tahan baterai, walaupun tidak terlalu spektakuler, namun setidaknya saya hanya melakukan charge satu kali sehari dibandingkan dengan ketika saya menggunakan BlackBerry Bold 9650 dan Samsung Galaxy Spica GT-i5700 yang rata-rata dengan pemakaian aktif baterainya hanya bertahan setengah hari.
  3. Bosan dengan Android dan BlackBerry :p Jujur, saya jenuh dengan "Trend Latah" baik vendor maupun end-user terhadap platform tersebut khususnya Android. Paling menjengkelkan lagi vendor berlomba-lomba mempersenjatai produknya dengan teknologi canggih (tentu berdampak ke harga jual yang tinggi) seperti misalnya dual core cpu dalam sebuah smartphone yang fungsi dasarnya sudah membias. Mau bikin Smartphone atau Tablet PC sih?! Apa kita perlu resource sebesar itu dalam aktifitas kita ber-mobile?! :D
  4. Saya tidak pernah menjadikan platform sebagai pertimbangan pilihan, saya berpatok pada kebutuhan dasar saya. Dan dalam hal ini, dengan perangkat yang tidak terlalu mahal pun sebenarnya kebutuhan saya sudah terpenuhi.
Selain dari empat alasan tersebut, tentunya saya masih memiliki banyak pertimbangan lainnya. Namun satu hal yang ingin saya soroti adalah bagaimanapun juga praktek monopoli dalam hal apapun akan berdampak tidak baik. Walaupun tanpa bermaksud memonopoli, platform Android telah mendominasi pasar smartphone dunia dan kita pada akhirnya dimonopoli oleh pasar tersebut.

Adanya keberagaman baik dari platform atau produk, tentunya akan berdampak positif untuk konsumen. Contohnya tarif operator telepon, dengan banyaknya operator yang beroperasi saat ini, konsumen diuntungkan dengan promo-promo tarif yang murah untuk komunikasi. Dengan banyaknya platform dan vendor smartphone, keuntungan yang bisa kita peroleh tentunya harga yang kompetitif.

Rekan-rekan saya dulu menganggap saya membenci Microsoft karena terlalu komersil, padahal alasan saya tidak suka pada saat itu adalah faktor monopoli raksasa software tersebut khususnya di Indonesia. Mulai dari sejak kita mengenal komputer di bangku sekolah, kita sudah dijejali produk tersebut hingga sekarang.

Setelah saya beralih ke GNU/Linux (Linux), saya menggunakan OS Ubuntu. Ketika merasakan keseragaman pengguna Linux di Indonesia yang kebanyakan menggunakan Ubuntu, saya mulai melirik Fedora dan yang lainnya. Keseragaman platform berdampak pada ketergantungan, karena ketika semua mengerucut menjadi satu, kita menjadi disudutkan terhadap satu pilihan, hal inilah yang saya tidak suka.

Kernel Android, merupakan modifikasi dari Kernel Linux. Jika Android bisa dianggap sebagai salah satu distribusi Linux untuk platform mobile, saya lebih berharap adanya platform lain atau turunan dari Android itu sendiri untuk alternatif pilihan kita.

Hadirnya Maemo dan MeeGo saya kira tadinya akan menjadi alternatif pilihan yang baik. Saya melihat Maemo lebih menarik karena platform ini lebih dekat dengan Linux yang biasa kita gunakan. Bahkan aplikasi dan game untuk platform ini, sama persis dengan yang kita mainkan di desktop Linux kita, salah satu contohnya adalah SuperTux.

Kesimpulan dari apa yang saya tuangkan kali ini adalah seperti pada judul, pada akhirnya saat ini saya tidak lagi mempermasalahkan masalah komersialisasi perangkat lunak atau platform. Semua kembali ke kebutuhan dasar dan tujuan kita dalam memilih produk-produk tersebut. Satu hal yang pasti saya tidak suka adalah keseragaman dan praktek monopoli dalam hal apapun termasuk platform dan produk itu tadi.
Read More →

As we already know, Android-x86 project is a project to port Android open source project to x86 platform. Basically it could runs on any x86 machine but many people use it on Netbook computer. That’s also what I did on my ASUS EeePC T101MT.


Asus EeePC T101MT comes with dual boot Windows 7 Starter and ASUS Express Gate (based on Splashtop). It's so risky to install Android-x86 or any other Linux based distribution to hard drive because it has hidden recovery partition that we doesn't want to mess with it.

In this case, I use 2 GB SD Card to store Android-x86 2.2 OS that I installed from bootable flash drive and modified it's GRUB configuration so even we setup Card Reader as primary boot device from BIOS, we still able to boot to another OS on hard drive from GRUB menu.

In fact, this is the safest way to install (not live session) Android-x86 without messing up your configuration.

How We Could Achieve This?!

Requirement:
  1. UNetbootin, Flash Drive, SD Card and Android-x86 2.2 ISO Image.
  2. BIOS that capable to boot from Flash Drive and Card Reader.
Installation:

The detail about installation process has perfectly described here. But in order to accomplish our purpose in this tutorial, please follow this steps:
  1. Follow the instruction about how to make Android-x86 bootable Flash Drive using UNetbootin on that link. The point is, you should make a bootable media (CD-ROM or Flash Drive) from Android-x86 ISO image.
  2. Before we start, put your SD Card into your Card Reader and keep your Android-x86 bootable Flash Drive plugged-in.
  3. Restart your Netbook and enter BIOS Configuration Setup and make sure HDD Boot Order similar to this: Flash Drive –> Card Reader –> HDD.
  4. Boot your Android-x86 Flash Drive and enter installation procedure.
  5. Caution: When you chose installation partition during the process, use Card Reader (your SD Card) as target partition. Please notice that Card Reader drive usually recognize as sdc1 FAT32 Card Reader.
  6. Format your SD Card as FAT32 (don’t chose another) and select “Yes” when you asked about GRUB installation.
  7. If asked, make 512 MB user data image and 1024 MB fake SD Card image. You may customize this value as you want.
  8. After reboot, re-enter BIOS Configuration Setup and make sure your Card Reader at the first boot order.
  9. If your Windows partition is not listed on GRUB menu, don’t worry! Just boot into Windows (don’t forget to change your boot order to HDD) and edit menu.lst  (GRUB’s Configuration) located on SDCardDrive\grub\menu.lst and add this line:
    title Windows 7 Starter EeePC
    rootnoverify (hd1,0)
    chainloader +1

    Change the title as you want but please note that I use rootnoverify (hd1,0) and not rootnoverify (hd0,0) as told by lot’s of example, because in my configuration, when we boot from Card Reader, my Card Reader drive became the first drive on system (hd0,0).  So it’s necessary to change those value to (hd1,0) which means, my Windows bootable partition located on second harddrive at the first partition. Here’s my complete menu.lst for example:
    default=0
    timeout=5
    root (hd0,0)
    splashimage=/grub/android-x86.xpm.gz
     
    title Windows 7 Starter EeePC
    rootnoverify (hd1,0)
    chainloader +1

    title Android-x86 2.2 (HDPI)
    kernel /android-2.2/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode DPI=240 SRC=/android-2.2 SDCARD=/sd/sdcard.img
    initrd /android-2.2/initrd.img

    title Android-x86 2.2 (MDPI)
    kernel /android-2.2/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode DPI=160 SRC=/android-2.2 SDCARD=/sd/sdcard.img
    initrd /android-2.2/initrd.img

    title Android-x86 2.2 (Debug mode)
    kernel /android-2.2/kernel root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode DEBUG=1 SRC=/android-2.2 SDCARD=/sd/sdcard.img
    initrd /android-2.2/initrd.img

  10. After all set, make your Card Reader as your first boot device and you can enter your Windows session by picking first list on GRUB menu.
Please remind that do this at your own risk, I’m not responsible for any data lost or hardware damage because of any failure. Just be careful and backup your data first if you’re not sure you can do it right! Winking smile
Read More →