Sunday, July 31, 2011

Day one Prestashop

Dalam beberapa hari atau bahkan bulan kedepan tampaknya akan lebih banyak berhadapan dengan code Prestashop. Yang mana template engine nya menggunakan Smarty. Beberapa bulan yang lalu sudah berkutat dengan ecommerce yang padahal commercial tapi code nya awut2an. ahahaha. ga usah disebut deh apaan ecommerce nya.

Ok masalah pertama dari prestashop yang ditanya di thread http://www.prestashop.com/forums/topic/19816-change-the-urlbase-dir-when-moving-to-new-website/ (ga dpt link untuk aktivasi, entah kenapa, ga dikirim2 email nya :(, jadi ga bisa reply thread nya )

Masalah pertama adalah andaikata kita melakukan deployment di lokal, kemudian memindahkannya ke production server pasti menemui masalah seperti gimana yah caranya merubah url dari deployment lokal ke production server.

Solusi : di table [PREFIX]configuration ini ada key yaitu PS_SHOP_DOMAIN dan PS_SHOP_DOMAIN_SSL, rubah dengan url production server. Simple bukan :p.

Monday, July 25, 2011

CSS Mastery

Ternyata sangat sangat susah untuk mencari seorang master (senior) CSS. Beberapa kali menginterview calon pegawai (yang katanya sering buat website), tapi ketika ditanya basic basic dari css mereka semua pada mencoba menghindar. Alasannya sangat classic "Biasanya saya sih pake program ini itu untuk buat css nya". atau ga "saya belajar css buat styling bukan teori". Jadi sebetulnya bisa ga sih CSS, kok ngeles mulu ditanya basic?

Memang untuk berkarir di dunia CSS diindonesia memang suatu hal yang tidak begitu menguntungkan. Apresiasi nya pun kecil. Para recruiter biasanya mencari seorang backend programmer dan designer. Dan biasanya mereka menyerahkan kemampuan css kepada programmer / designer tersebut. Padahal sebetulnya memilki seorang yang mengerti lebih dalam tentang user experience, CSS, ataupun JS itu sangat lah penting.

Ok lah, buat siapa saja yang ingin menjadi master di CSS, ada beberapa materi yang memang harus dimengerti secara mendalam :
  1. CSS Selector : Untuk mencari element pada HTML yang akan dikenakan Style
    • contoh ; id, class, mencari input sesuai type, anak dari suatu element, first child, last child, etc etc.
  2. CSS Positioning : http://www.barelyfitz.com/screencast/html-training/css/positioning/
    • tipe tipe positioning pada CSS; fixed, absolute, static, relative dan kombinasi dari posisi tersebut 
    • Pembagian region menggunakan Div , layout dan penggunaan floating element (float right, left, clear right, left, both)
  3. Typography
    • Font size (beda antara pt, px, em, %,)
    • Penggunaan line-height
    • Font stack (font family)
    • Font embed technology (sifr, cufon, font face, etc)
  4. CSS Image Sprite (untuk buat button / background)
  5. Penggunaan css tool (firebug di firefox, developer tool di ie, inspect element di chrome)
  6. Sudah mulai merambah CSS 3
    • Border, image shadow, gradient, etc etc.
  7. Compatibility disetiap browser. 
CSS memang susah, tetapi bagi sebuah agency atau perusahaan yang bergerak bnyk dibidang website, memiliki seorang master CSS menurut saya adalah suatu keharusan. Sungguh sayang beberapa menganggap kemampuan CSS ini adalah kemampuan tambahan. Alias pelengkap saja.

Ada yang tambahan lagi tentang Skill CSS yang diperlukan untuk menjadi seorang master CSS?

Saturday, July 23, 2011

IE 6 CSS Quick Fix

Absolute overflow hidden bug di IE 6, overflow region masih kelihatan. Solusi dengan menambahkan Height : 100% pada element relative parent nya.
z-index ga berfungsi di IE 6. Solusi dengan memberikan z-index lebih tinggi pada parent element nya.
PNG fix di IE 6 : dari http://www.komodomedia.com/blog/2007/11/css-png-image-fix-for-ie/. Sangat handy, tanpa perlu processing dengan JS. css ini dapat merubah background image & filter pada saat runtime.
* html img,
* html .png{
behavior: expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "none",
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')",
this.src = "transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='crop')",
this.runtimeStyle.backgroundImage = "none")),this.pngSet=true)
);
}

Monday, July 18, 2011

I'm so lucky to have you

Once in my life time. I discover someone.
Who touches, not only my heart, but also my soul.
Who stand beside me, not over me.
Who find me a way out when i lost.
Who keep me sane through my hardest time.
Who want to build future together with me.
And who always understand me.

The words will never enough to tell how lucky i have you in my live.

To: My Ratna
P.S I Love You

Sunday, July 17, 2011

Javascript error pada IE 6 (Expected identifier)

Ada yang pernah mendapatkan error seperti ini (“Expected identifier, string, or number”)? Hal ini dapat disebabkan oleh koma dibelakang Last Item array.

Pada beberapa browser terkini error tidak terjadi. Tetapi pada IE 6 ini menyebabkan keseluruhan proses javascript menjadi terhenti.

Oleh karena itu kita musti hati2 kalau menambahkan array. agar JS bisa compatible juga pada IE 6.

Income Management

Pernah saya membaca, "Gaji berapa juga ga bakal cukup kalo gaya hidup naik terus". Hal tersebut sangat sangat tepat sasaran. Gaji besar bukan jaminan anda "punya". Tapi cara hidup yang benar adalah jaminan anda selalu "punya".

Setelah bekerja beberapa tahun, tentu saja pendapatan juga akan meningkat. Dan hal yang sangat wajar terjadi juga adalah pengeluaran yang semakin meningkat. Nah untuk bisa lepas dari lingkaran maut yang nama nya peningkatan pengeluaran itu lah yang harus selalu di cermati.

Sukur sekali, walaupun pendapat yang meningkat hampir empat kali dari pendapatan pertama kali didapat sewaktu bekerja tiga tahun lalu, pengeluaran tetap dapat terkontrol. Kemarin setelah dihitung, ternyata pengeluaran saya hanya naik setengah kali lipat dari pengeluaran tiga tahun lalu.

Seneng? tentu iya. Sudah ngerasa "punya"? sampai saat ini belum. Beberapa kali hasil nabung digunakan untuk mencoba investasi dan coba membuat usaha, tapi belum mencapai target yang sesuai yang diinginkan. Kapan merasa "punya"? Saat saya bisa membiayai hidup saya sendiri tanpa harus bekerja dibawah orang lain. Hahahaha.

Semangat kawan!

Saturday, July 16, 2011

Indonesian Ecommerce

Dua tahun yang lalu, saya sempat melakukan suatu research tentang ecommerce di Indonesia untuk tempat bekerja saya dahulu. Walaupun saya adalah seorang engineer, tapi saya sangat suka meresearch sesuatu. Menurut saya research adalah tempat yang sangat menarik dan membuat pemikiran tambah terbuka luas.

Waktu itu saya meresearch tentang Ecommerce di Indonesia. Dan saat itu saya mendapatkan bahwa saya mengkambing hitamkan perasaan keamanan dalam transaksi internet sebagai salah satu faktor yang menyebabkan terhambat nya indonesia mencapai peak point untuk ecommerce.

Sewaktu itu saya memberikan saran untuk perusahaan saya yang lama (karena memang diminta untuk mencari ide baru untuk menggantikan product lama yang sudah diterminate pihak tidak bertanggung jawab :p). Yaitu melakukan integrasi antara pembayaran & pengiriman barang. Sehingga paling tidak terdapat service yang dapat diandalkan untuk mendapatkan perasaan aman tersebut.

Selain itu ada juga faktor - faktor lain seperti prilaku masyarakat yang belum merasa yakin jika belum mencoba / memegang barang yang akan dibeli nya.

Lain dulu, lain juga sekarang. Setelah merantau kemana - mana haha. Keluar masuk perusahaan dan institusi. Saya pun mendapatkan pengetahuan tentang bagaimana kenyataan dilapangan dan yang terjadi sebenarnya.

Sebetulnya pasar indonesia tidak terlalu unik (menurut saya) seperti yang dianalisis oleh beberapa orang lainnya. Malahan pasar di Indonesia sudah menuju seperti pasar di negara - negara yang memang ecommerce sudah mencapai peak point.

Sebagai pembanding, sebuah perusahaan retail baju di prancis, mereka menjual rata - rata 20 potong baju sehari nya lewat internet. Di Indonesia juga ada sebuah perusahaan yang dapat menjual 20 - 30 potong baju setiap hari nya dari 10 - 15 transaksi dengan gross revenue hampir sekitar 5 juta sehari nya, walaupun mereka baru buka.

Tidak terlalu berbeda bukan? Jika transaksi seperti itu mungkin dibilang masih sedikit, ya wajar saja. Toko online tersebut baru buka belum ada setahun. Begitu juga yang diprancis, karena waktu bukanya hampir bersamaan.

Iya memang website tersebut memberikan kemudahan untuk pembayaran, seperti contoh nya memberikan 3 opsi pembayaran seperti bank transfer, paypal, dan juga kartu kredit (karena memang sudah ada payment gateway untuk kartu kredit di indonesia). Tampilan website yang baik dan mudah untuk dimengerti (fitting yang tepat), sehingga memberikan feel bahwa website itu adalah website serius. bukan website abal - abal yang setelah bayar kabur haha, selain itu juga barang yang dijual juga menarik.

Sehingga asumsi saya 2 tahun lalu, terpatahkan oleh pengalaman setelah menjadi bajing loncat di perusahaan orang. Potensi ecommerce di Indonesia sangat lah besar, dan saat ini masih jauh dari peak point tersebut. Selain itu juga prilaku masyarakat semakin lama, sudah semakin familiar dengan internet dan tentu nya memberikan implikasi positif pada ecommerce sendiri.

Jadi pesan saya jika ingin buat ecommerce, invest lah seperti anda membuat toko yang real. your investment will worth the same as real store!

Monday, July 11, 2011

Servlet 3 Example

Untuk perkenalan dengan Servlet 3, saya mencoba membuat sebuah web app kecil dimana user yang pertama kali datang diharuskan untuk login terlebih dahulu (url  / yang dirouting ke Servlet itu sendiri dengan menggunakan annotation @WebServlet tanpa harus susah2 mendeklarasikan pada web.xml)

User divalidasi dari list username yang diload kememory saat container hidup dengan menggunakan event listener ServletContextListener (Dengan menggunakan @WebListener lagi lagi tanpa perlu mendeklarasikan pada web.xml)

Saat User telah login credential mereka akan di simpan dimemory. Jika nanti ada orang yang berusaha login dengan credential tersebut maka akan di tolak. Tapi jika user telah logout maka user tersebut diperbolehkan untuk login kembali (menggunakan SessionListener lagi lagi dengan bantuan @WebListener dan tanpa harus mendeklarasikan pada web.xml)

Kemudian saat request dikembalikan menjadi response, response tersebut terlebih dahulu di filter untuk menghilangkan white space. Kita coba untuk memfilter semua page yang ada pada app (dengan menggunakan @WebFilter("/*")  notice regex? , lagi lagi tanpa harus mendeklarasikan pada web.xml)

Ah kebanyakan teori, langsung saja praktek. Cekidot :
http://example-code.googlecode.com/files/servlet3example.zip

Sunday, July 10, 2011

Life is just about choice

Menu makan siang hari ini adalah bakso, walaupun bukan makanan favorite, tp lumayan lah buat variasi biar ga bosen. Saat saya datang ternyata dagangan nya masih sepi. Mungkin karena belum waktunya makan siang. Sambil menunggu dia membuatkan saya bakso saya pun ngobrol dengan beliau. Bertanya - tanya berapa lama sudah buat bakso ini, kemudian punya dagang dimana aja. dan berbagai pertanyaan lain.

Dia pun bertanya kepada saya tentang pekerjaan saya. Kita ngobrol cukup lama. Kemudian tersirat keinginan saya untuk bertanya penghasilannya. Walaupun tampaknya dia sedikit menyembunyikan tapi dia tetap memberikan clue. Kata dia satu gerobak nya dapat menghasilkan 50 piring tiap hari. Anggap saja kalau harga 1 piring nya 8 ribu maka sehari dia membawa uang pulang sekitar 400 ribu. Kemudian dia juga memberikan info jika sebetulnya gerobak itu bukan lah milik nya. Tapi dia memiliki seorang bos yang memiliki sekitar 10 buah gerobak bakso. Jadi anggapan nya sehari mereka rata - rata dapat menjual 50 porsi tiap hari. Maka omset 4 juta sehari akan masuk ke kantong bos nya. sebulan? jadi 120 juta???!! Anggap saja jika untung bersih makan tersebut 50% maka setiap bulan bos nya mendapatkan 60 jt. Mungkin gaji sebegitu besar setara dengan pendapatan Direktur sebuah perusahaan di Jakarta dan tentunya perusahaan yang sudah cukup besar.

Jadi apakah yang anda pilih? kerjaan yang bergengsi atau cuman kerja serabutan?

Hidup ini memang pilihan. Sekolah tinggi, otak brilian, atau berbagai kelebihan yang diberikan oleh Tuhan akan percuma jika dalam hidup kita tidak bisa memilih jalan terbaik. Tetaplah semangat kawan. Jalan mu masih panjang.