Diari

setiap orang mempunyai kisah hidupnya tersendiri, seperti saya juga yang akan mencoret setiap peristiwa yang menarik dalam hidup ini di sini.

Classic animation in Facebook with CSS3 make it look fantastic

Have you ever notice that Facebook has a temporary nice shimmer animation before the real status fully appear? Did you know that Facebook do not use flash or GIF image for this animation? What's going on actually they only use CSS3 to make it.


CSS3 render much more faster, even faster compare to download and play any animated GIF. This design will to put all the processing and rendering part to user browser instead consuming time for downloading the images.



The idea is really easy. But in this post I just show the CSS part only. The full concept are using both Javascript and CSS. The temporary shimmer box will load as default. After a background query done and trigger by JavaScript, it will replace the whole box with actual status content.


CSS box design with gradient


First of all, we design a box with gradient shading. I put this box shading inside another box with 12px padding. The CSS code would be written like these:



<style type="text/css">
.box {
    background: #fff;
    border-color: #e5e6e9 #dfe0e4 #d0d1d5;
    border-radius: 3px;
    border-style: solid;
    border-width: 1px;
    padding: 12px;
}
.box-inside  {
    background: -webkit-linear-gradient(left center , #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%) no-repeat scroll 0 0 / 800px 104px #f6f7f8;
    background: -moz-linear-gradient(left center , #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%) no-repeat scroll 0 0 / 800px 104px #f6f7f8;
    background: linear-gradient(left center , #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%) no-repeat scroll 0 0 / 800px 104px #f6f7f8;
    height: 104px;
    position: relative;
}
</style>


While below are the HTML code that will render the CSS code above. Take note for extra line which define for -webkit- and -moz- each of them specifically for Safari and Firefox browser compatibility.



<div class="box"><div class="box-inside"></div></div>


And the result would display like this:


 


Define CSS animation


Now we define the animation for .box-inside. We need a keyframe which define the path of animation to be guided. This keyframe action will make the gradient colour to move from current position at 0% to new the position at 100%.


If you look again at gradient position in first CSS definition, the background size were set at size of 800px x 104px which is overflow the .box-inside size. When keyframe took over, the gradient will flow from 0px to 468px from left to right to glide more nicer.



@-moz-keyframes placeHolderShimmer {
  0% {background-position:-468px 0}
  100% {background-position:468px 0}
}
@-webkit-keyframes placeHolderShimmer {
  0% {background-position:-468px 0}
  100% {background-position:468px 0}
}
@keyframes placeHolderShimmer {
  0% {background-position:-468px 0}
  100% {background-position:468px 0}
}


As usual, in CSS3 we need to specify additional attributes for Safari and Mozilla prefix. Lastly we create .animation class which include the keyframe name with additional attributes for animation to loop infinite.



.animation  {
  -webkit-animation: placeHolderShimmer 1s linear infinite forwards;
  -moz-animation: placeHolderShimmer 1s linear infinite forwards;
  animation: placeHolderShimmer 1s linear infinite forwards;
}


Blending all CSS with HTML


Next, we put additional class in .box-inside with .animation class to make it animate as you seen in Facebook site. We will get the result as below:


 


Masking with white overlay


Here is the complicated part. We must define at least 12 div items with unique attribute each of them. This to make a masking layer over the .box-inside with animation as the background.


Before that, we need to make sure that all div inside .box-inside applied default CSS attributes of positioning as absolute, start rendering from right and background of white via these definition:



.box-inside div {
  background: #fff;
  position: absolute;
  right: 0
}


For ease to recall, I will use class name using this pattern: mask01 until mask12. Let's try with first three div definition first.



.mask01 { height: 40px; width: 8px; right: auto; top: 0; left: 40px }
.mask02 { height: 8px; left: 48px; top: 0 }
.mask03 { height: 6px; left: 136px; top: 8px }


Later on, we put all this HTML code for rendering masking overlay layer with CSS class.



<div class="box">
  <div class="box-inside animation">
    <div class="mask01"></div>
    <div class="mask02"></div>
    <div class="mask03"></div>
  </div>
</div>


So, how it would be look like to be? Well you need to observe it by yourself.


 


 


 


Continue to define the rest of div tag until finish. Or you can just copy the code I already wrote:



.mask04 { height: 12px; left: 48px;  top: 14px }
.mask05 { height: 6px;  left: 100px; top: 26px }
.mask06 { height: 10px; left: 48px;  top: 32px }
.mask07 { height: 20px; left: 0;     top: 40px }
.mask08 { height: 6px;  left: 410px; top: 60px }
.mask09 { height: 13px; left: 0;     top: 66px }
.mask10 { height: 6px;  left: 440px; top: 79px }
.mask11 { height: 13px; left: 0;     top: 85px }
.mask12 { height: 6px;  left: 178px; top: 98px }


What actually overlay do?


Overlaying div tags inside .box-inside will end up with the shape of "draft layout" look-a-like before actual status content fully load and pull from database. I put a temporary borders to all masking div tag to be campare with actual display without borders.


 


 


 


 


 


 


 


 


 


 


 


 


If I pull out the border, the result will totally look exactly you see in Facebook. Classic animation without any gif animation, just CSS3.


 


 


 


 


 


 


 


 


 


 


 


 


Have fun!

Code review sessions: ATK

Hari ini, bersama dengan pegawai Teknologi Maklumat daripada Sarawak, berkongsi pengalaman berkenaan dengan satu sistem PHP Framework iaitu ATK. Secara ringkasnya sistem ini mudah, ringan dan bekerja terus dengan struktur pangkalan data.

Perkongsian pengalaman ini bagi mencari dan menerbitkan sebuah sistem yang boleh diguna pakai untuk kegunaan kerja seharian. ATK sangat mudah dan "simple". Walau bagaimanapun, saya melihat agak banyak had atau kengkangan yang diberikan oleh ATK. Mungkin asas pembinaan framework ini adalah untuk fokus kepada memaparkan data daripada pangkalan data serta sedikit pemprosesan data sebelum diserahkan sepenuhnya kepada paparan pengguna.

Tetapi sekiranya untuk "grabbing data" atau "mining data" semata-mata, ATK ini sangat sesuai memandangkan proses pembangunannya adalah sangat mudah berbanding menggunakan Drupal. Drupal lebih kepada complete set library data system yang digunakan fokus untuk web based application atau web based portal. Sungguh pun begitu, pembangunan dengan Drupal adalah jauh lebih lama berbanding ATK.

Saya nampak ATK ini sangat berguna untuk mengendali data-data dan tatacara kerja yang tidak kompleks, segera dan tidak memerlukan paparan yang menarik.

Beralih ke Cyanogenmod untuk pengguna Android

Kepada pengguna dan penggemar tegar Android di luar sana, entri kali ini saya hendak berkongsi mengenai Cyanogenmod atau singkatannya CM. Kebanyakan pengguna Android rata-rata bakal mengalami masalah prestasi setelah ianya digunakan untuk sekian tempoh masa. Masalah ini bukan disebabkan oleh pelantar Android. Sebaliknya jenama telefon pintar yang digunakan.


cyanogenmod


Seperti semua sedia maklum, Android merupakan perisian sumber terbuka yang dikeluarkan oleh pihak Google. Banyak artikel yang ditulis di internet melibatkan perbandingan antara Android dan iOS (keluaran Apple). Walaupun pelbagai faktor yang digunakan, rata-rata mengagumi kehebatan iOS yang mampu untuk berfungsi secara stabil, pantas dan tidak membebankan. Komen daripada pengguna Android pula, kebanyakan mereka mengalami masalah prestasi semakin lama semakin perlahan walaupun mempunyai spesifikasi telefon pintar yang jauh lebih tinggi. Masalah tambahan adalah seperti penggunaan tenaga bateri yang tinggi.


Sebenarnya, pelantar Android yang digunakan pada telefon pintar seperti Samsung bukanlah Android sebenarnya (pure Android). Setiap syarikat yang menggunakan Android telah melakukan proses ubah suai dengan memasukkan program dan aplikasi sebagai tanda penjenamaan mereka. Akibatnya sistem Android telah dibebani dengan aplikasi yang tidak sepatutnya. Ianya semakin teruk apabila Android menerima penambahbaikan menerusi fungsi "Update software" daripada syarikat pengeluar.


Cyanogenmod adalah satu kumpulan pembangun perisian telefon pintar yang meningkatkan fungsi asal Android untuk fokus hanya kepada prestasi. Terdapat beberapa penambahbaikkan yang dihasilkan oleh kumpulan ini diambil dan diterima pakai oleh tim Google. Seterusnya idea tersebut dimuatkan dalam versi-versi Android yang terbaru. Oleh itu, bagi mendapatkan perisian Cyanogenmod ini dipasang pada telefon anda, ianya perlu melalui proses pembersihan sepenuhnya (format)


** Nota: pemasangan Cyanogenmod akan memadamkan ke semua data dan maklumat dalam telefon anda seperti aplikasi, SMS, gambar dan video. Data yang disimpan di dalam SD Card atau external drive tidak terusik. Jika telefon anda masih mempunyai tempoh waranti, pemasangan CM akan mengakibatkan waranti tersebut TERBATAL.


Pemasangan CyanogenMod


Keperluan:


  • Telefon bimbit yang dicaj penuh baterinya
  • Komputer/laptop (sebolehnya OS Win 7 dan ke bawah. Windows 8 mempunyai masalah hubungan antara telefon dan komputer)
  • Kabel USB original
  • Capaian internet untuk komputer (sebaiknya 1Mbps)

Pertama sekali, anda pergi ke laman web: http://www.cyanogenmod.org/


Seterusnya klik butang "Get Started".



Kemudian, ikut arahan yang diberikan pada halaman tersebut. Bermula dengan melakukan tetapan pada telefon bimbit terlebih dahulu. Diikuti dengan memuat turun aplikasi CyanogenMod pada telefon bimbit. Gunakan pautan yang diberikan kerana perisian ini tidak terdapat pada Google Play. Kita harus memuat turunnya secara terus.


cyanogenmod installer android


Setelah itu, memuat turun perisian CyanogenMod pada komputer anda. Paparan sedia untuk pemasangan akan ditunjukkan. Ikuti sahaja arahan yang ditunjukkan pada perisian tersebut sehingga selesai. Pastikan proses ini tidak terganggu pada mana-mana peringkat. Kegagalan yang berlaku boleh mengakibatkan kerosakan secara total pada telefon pintar anda.


Skrin seterusnya memerlukan telefon bimbit dihubungkan kepada komputer. Di sini mungkin akan berlaku masalah. Ralat telefon tidak dapat dikesan kemungkinan akan dipaparkan. Sila semak semula kabel yang digunakan haruslah kabel original. Pastikan pelantar operasi komputer bukanlah Windows 8. Saya telah mencubanya tetapi hasilnya gagal. Setelah menggunakan komputer lain dengan Windows 7 baru sambungan dapat dibuat dengan sempurna.


connect your device


CyanogenMod Installer akan mula memuat turun perisian sistem aplikasi yang baru berdasarkan kepada model telefon pintar anda. Versi yang akan dimuat turun adalah yang paling stabil. Tempoh muat turun ini bergantung kepada kelajuan internet yang digunakan.


download application system


Setelah selesai memuat turun, skrin butang "Install" akan dipaparkan. Klik butang tersebut.


cyanogen ready to install


Pada peringkat ini proses "flashing" atau penyalinan aplikasi sistem yang baru pada telefon pintar berjalan.



Anda perlu tunggu sehingga semua proses ini selesai. Telefon akan dimulakan secara automatik (reboot) bagi meneruskan proses pemasangan CyanogenMod. Di akhir proses ini, telefon pintar anda telah dikemas kini dengan pelantar sistem Android sebenar. Secara kasarnya, berikut merupakan anggaran masa yang diperuntukkan:






Proses Masa
Updating the installer 15 minit
Downloading the requirement data 60 minit
Installing into device 5 minit

 

Tiada Perkara Penting Yang Perlu Dicatit

Sejak kali terakhir menulis di blog sehinggalah pada hari ini, tiada sebarang perkara menarik yang hendak dikongsikan. Saya hanya akan berkongsi perkara-perkara yang difikirkan penting sahaja. Sesetengah penulis mungkin mahu berkongsi semua tentang kisah hidup mereka setiap hari dan setiap masa. Namun bagi saya ada sesetengah perkara yang mungkin difikirkan tidak perlu dan menjadi rahsia kehidupan kami sekeluarga sahaja.

Sekarang adalah waktu rehat. Hujan lebat diluar sana. Jadi lebih baik melepak sahaja di dalam pejabat. Sekarang ini penghantaran artikel terbaru agak mengambil masa memandangkan saya lebih fokus kepada penulisan dalam bentuk ebook berbanding artikel di laman web. Ada sedikit perbezaan menulis di blog dengan buku.

Selain itu, saya sekarang lebih memberi tumpuan menyiapkan beberapa projek pelanggan yang sedang dalam proses pembangunan. Terdapat dalam tiga sistem yang masih dalam perancangan untuk dibangunkan dengan menggunakan perisian Drupal. Setakat ini hanya satu projek yang telah disiapkan sepenuhnya tetapi sedang menunggu maklum balas terakhir daripada pelanggan.

Berkenaan dengan kehidupan seharian, setakat ini tiada perkara menarik yang hendak dikongsikan. Tetapi dalam proses untuk mendapatkan sesuatu yang menjadi idaman selama ini. Mungkin menjadi idaman ramai pembaca diluar. Mohon dipermudahkan segala urusan ini dan mencapai apa yang dikehendaki.

Rasanya sampai di sini sahaja coretan pada hari ini.

Adilkah Hukum Hudud?

Saya bukanlah seorang ustaz hendak bercerita mengenai keadilan hukum Allah sebaliknya hanya seorang manusia yang dianugerahkan akal dan fikiran untuk memikir secara logik dan melihat dari sudut yang berlainan. Pemikiran logik sudah semestinya akan selaras dengan hukum Allah. Jadi saya termenung dan memikirkan bagaimanakah keadilan dalam hukum Hudud ini sebenarnya berlaku?

#1 Pertama, hukum Hudud ini hanya dikenakan kepada umat Islam dan bukan umat Islam. Jadi mana logiknya dan adilnya?

Pemikiran singkat akan melihat orang bukan Islam senang-senang buat kesalahan dan tidak dikenakan hukuman. Cuba lihat dari sudut yang berlainan. Kita bertandang ke rumah orang yang sedang minum arak kemudian dia menceritakan tentang perkara-perkara kebaikan yang harus dilakukan. Kemudian dihadangkan pula dengan makanan. Adakah kita akan memakan makanan tersebut? Adakah kita akan mendengar nasihat dia?

Samalah konsep yang diterapkan dalam hukum Hudud. Sebelum hukuman dijatuhkan kepada orang lain, agama Islam mahu memperbetulkan umatnya terlebih dahulu. Bagaimana kita mahu menghukum orang lain sedangkan kita sendiri banyak membuat kesalahan. Apabila umat Islam kembali mengamalkan perkara yang menjurus kepada kebaikan, secara tidak langsung ia akan memberi impak kepada orang lain. Di situlah keadilan yang pertama.

#2 Kedua, pelaksanaan hukum Hudud hanya boleh dilakukan apabila mendapat saksi yang tidak pernah menipu, meninggalkan solat, amanah dan tidak fasik.

Dalam zaman sekarang mana hendak cari manusia sebegini. Mungkin ada seorang atau dua orang, tapi kalu hukuman berzina perlukan 4 orang dan 4 orang itu menyaksikan perbuatan tersebut dibuat? Maka dengan mudah terlepaslah orang yang mungkin bersalah.

Secara logiknya, hukum Hudud mengajar kita untuk mencari kebenaran yang sebenar. Berbeza dengan sistem kehakiman yang sedia ada. Jika anda berjaya mengupah peguam yang hebat berbicara dan memutar belit fakta dan kebenaran, mana keadilan berbanding Hudud? Secara tidak langsung kita telah merasuah "keadilan" agar terlepas dari hukuman.

#3 Ketiga, mengapa hukuman Hudud dilihat sangat kejam dan berat seperti "rejam sampai mati", "sebat 100 kali"?

Bukankah Islam itu agama yang tenang dan penuh dengan kelembutan? Hal ini mudah sahaja untuk dijawab. Hudud dilaksanakan kepada pembunuh, pencuri, penzina dan perogol. Jika kita lihat kepada prinsip Pareto 80/20 iaitu 80% kesan dan akibat datangnya daripada 20% tindakan. Bermakna hukum Hudud hanya dilaksanakan kepada 20% kesalahan berat yang akhirnya akan memberi kesan kepada 80% kebaikan yang bakal diperolehi.

Cuba kita lihat kepada sistem dan undang-undang sivil yang sedia ada dan terpakai. Setiap satu kesalahan dinyatakan dengan jelas dari sekecil-kecil kesalahan sehingga sebesar-besar kesalahan siap dengan hukumannya. Tetapi berapa banyak/peratus pengurangan indeks jenayah yang kita dapat. Hakikatnya prinsip Pareto terhadap undang-undang sivil menjadi terbalik iaitu 80% hukuman hanya memberi 20% kesan kebaikan.

Kesimpulan

Islam dan pemikiran logik akal sememangnya tidak akan bercanggah. Lihat prinsip yang dicipta pada zaman dahulu, bukanlah ianya sudah ditulis dan termaktub dalam hukum Allah. Terpulang kepada kita untuk mencari di mana keadilan sekiranya kita mahu ianya ADIL.

Ratio atau Perkadaran dalam Reka Bentuk Web

Ratio atau perkadaran sememangnya paling banyak digunakan dalam mereka bentuk satu laman web terutama pemprosesan imej dan gambar secara automatik. Perkadaran walaupun dilihat sebagai satu skop yang kecil tapi sebenarnya ia akan memberi impak secara keseluruhan terhadap satu-satu halaman. Pemilihan atau penggunaan dimensi yang salah pada setiap elemen imej akan menyebabkan paparan gambar menjadi tidak natural atau semula jadi.


Mengapa? Setiap gambar mampu bercerita jauh lebih banyak berbanding teks. Oleh itu, sekiranya perkadaran dimensi yang silap akan menyebabkan kebanyakan elemen penting pada satu-satu gambar hilang daripada pandangan pengguna. Lebih-lebih lagi laman web dinamik yang menggunakan pemprosesan imej secara automatik. Selama hampir 10 tahun dalam bidang mereka bentuk laman web, saya telah mengumpul dan melakukan analisis untuk setiap perkadaran dimensi yang digunakan dan impaknya terhadap pengalaman penggunaan.


most ratio being use in designing website


Gambar di atas adalah ratio yang sering saya gunakan dalam setiap reka bentuk laman web pelanggan. Ratio ini tidak semestinya untuk imej sahaja tetapi boleh digunakan untuk dimensi video.


Drupal mempunyai keupayaan untuk melakukan pemprosesan imej secara automatik berdasarkan kepada perkadaran yang kita tetapkan. Sebagai contoh, ratio 4:3 akan menghasilkan imej yang mempunyai saiz asal 120px x 90px kepada 80px x 60px selepas diproses. Sememangnya kita boleh mengambil mana-mana perkadaran secara rambang tetapi untuk mencipta satu perkadaran yang "natural" atau seimbang sememangnya sukar.


Walau bagaimanapun, Golden ratio (1.6:1) merupakan perkadaran yang paling kerap digunakan oleh pereka laman web sehingga hari ini. Golden ratio apabila dicipta menerusi teori matematik yang akan memberi keseimbangan secara semula jadi pada pandangan mata. Ianya dicipta oleh Fibonacci yang seterusnya menerbitkan satu unjuran penomboran yang terkenal di panggil Fibonacci Sequence.


fibonacci spiral


Bagi yang tidak mengetahui apakah yang dimasukkan dengan Golden Ratio atau Fibonacci ini, boleh membuat sedikit bacaan tambahan di internet. Sehingga kini, saya masih belum mampu untuk menggunakan Golden Ratio sepenuhnya dalam mana-mana karya kerana ianya sangat kompleks. Bukanlah satu perkara yang mudah untuk mengaplikasikan Golden Ratio dengan sempurna dalam karya kerana ianya melibatkan pengiraan logik dan matematik yang sangat tepat dan jitu.


Tidak hairan jika kita melihat satu-satu karya yang dihasilkan menerusi penggunaan Golden Ratio, setiap sudut, bucu, perkadaran dan susunannya sangat sensitif dan seimbang. Perbezaan 1px pada setiap reka bentuk akan memberi impak kepada keseluruhan susunan.

Budaya Membaca Kurang Dipraktikkan Masyarakat Kita

Semenjak berpuluh tahun yang lepas, sering kita dihiburkan dengan iklan pendek berkenaan dengan aktiviti budaya membaca. Masih teringat iklan kanak-kanak, orang dewasa membaca buku dan surat khabar di perpustakaan, sedang menunggu bus dan sedang berjalan-jalan. Tapi hakikatnya budaya ini sangat sukar untuk diterapkan dalam masyarakat kita.

Cuba kita lihat budaya ini pada masyarakat barat. Mereka menganggap budaya membaca itu satu keseronokan bagi mereka. Dan bukan setakat itu sahaja. Ianya dipraktiskan secara meluas. Perhatikan laman web dan blog-blog yang ditulis oleh golongan mereka, mereka gemar untuk menulis? Mengapa? Kerana budaya gemar untuk membaca hasil tulisan seseorang.

Berbeza dengan budaya kita yang lebih gemar untuk melihat gambar, cerita gosip artis dan politik. Kalau di media sosial pula, mereka lebih gemar menggunakan Twitter berbanding Facebook. Apakah yang membezakan Twitter dan Facebook?

Twitter dengan sengaja mencipta dan menghadkan 140 aksara sahaja dimuatkan dalam satu hantaran untuk memastikan pengguna hanya menulis perkara-perkara yang penting sahaja. Sekiranya penulisan mereka panjang, Twitter mencadangkan agar pautan kepada blog atau penulisan asal dikongsi. Apa yang kelihatan di sini adalah mereka mencari maklumat dan membaca hanya informasi yang tepat dengan ulasan tersendiri oleh penulis.

Facebook lebih kepada interaksi sosial tetapi kebanyakkannya digunakan oleh masyarakat kita sebagai tempat untuk berborak, berkongsi maklumat tanpa melihat kepada kerelevanan maklumat asal. Mana-mana blog yang hanya teks seperti blog ini, kurang mendapat sambutan sebaliknya jika dipenuhi dengan gambar artis atau gosip terkini, secebis maklumat pun boleh menjadi viral.

Walaupun begitu, setelah kebangkitan semangat berblog oleh golongan masyarakat kita yang mahu melihat kelebihan bahasa Melayu sama hebatnya dengan bahasa asing, dapat dilihat kualiti kandungan dan penulisan blog pada hari ni semakin matang. Sudah semakin jarang melihat blog-blog yang menggunakan bahasa pasar sebaliknya mereka lebih professional dari segi tatabahasa, ejaan dan keindahan bahasa Melayu dalam penulisan masing-masing.

Diharapkan budaya membaca ini dapat diterapkan sepenuhnya dalam diri kita semua dibantu dengan kemajuan teknologi dan pembangunan ketamadunan masyarakat kita ke satu peringkat yang lebih tinggi daripada sekarang.

Kesabaran Itu Ada Nikmatnya

Dalam entri sebelum ini (Kemik), di mana kereta saya telah dilanggar dari belakang oleh seseorang di Lebuhraya Persekutuan. Kejadian berlaku semasa pulang daripada kerja pada hari Jumaat. Sememangnya pada hari Jumaat lebuhraya tersebut akan sesak dengan jumlah kenderaan yang berganda. Ditambah dengan bulan puasa, anak-anak yang tinggal di Kuala Lumpur mungkin pulang ke kampung halaman di Klang, Shah Alam dan Pelabuhan Klang.


Pada hari kejadian, wanita lewat 30an sebenarnya tertidur semasa terperangkap dalam kesesakan mengakibatkan kereta yang dipandu telah melanggar belakang kereta. Pelanggaran tersebut sebenarnya cukup kuat seolah-olah minyak ditekan walaupun keretanya telah mencium kereta saya. Hentakan yang terlalu kuat mengakibatkan leher saya sakit. Pada masa yang sama, demi untuk mengelak pelanggaran tambahan pada kereta hadapan, saya terpaksa menekan brek dan menarik brek tangan secara serentak. Mungkin tindakan ini mengakibatkan remuk yang teruk pada belakang kereta. Nasib baik kereta hadapan saya selamat daripada dilanggar.


Setelah kedua-dua kereta berjaya dihentikan dengan selamat, saya keluar daripada kereta menuju ke kereta wanita tersebut. Melihat keadaan perempuan tersebut yang panik, takut dan tergamam, saya bertanya "Kenapa boleh langgar kereta saya?". Dia menjawab dengan terketar-ketar "Sorry encik.. sorry encik..." Melihat keadaan wanita terlalu panik, saya beritahu dia "You taukan stesen minyak sebelum tol Batu Tiga, you berhenti di sanalah. Saya tunggu kat sana, di sini jalan tengah jemm teruk". Saya membetulkan bumper belakang kerana telah terpelusuk masuk sehingga terkena tayar kereta dan memandu perlahan menuju ke stesen minyak tersebut.


Wanita tersebut mengikut saya daripada belakang. Dari pandangan cermin pantulan, saya melihat dia menelefon seseorang di sepanjang jalan tersebut. Setelah sampai di stesen minyak, saya keluar dan bertanya dengan baik (walaupun dalam hati ini dah sakit sebab kena langgar satu hal, kereta kena masuk bengkel nanti susah hendak pergi kerja satu hal). "Aunty, macam mana you boleh langgar kereta saya?" Dia menjawab, "Sorry encik, tadi saya makan ubat demam, selsema dengan pening. Hari panas, kereta pun panas kemudian saya pun tertidur. Sorry encik.." Akibat mulutnya tidak lepas meminta maaf, hati saya sedikit lembut daripada hendak marahnya.


Setelah ditanya mengenai pekerjaan, sudah memaklumkan suami, rasanya tidak perlu untuk kes ini dipanjangkan. Perkara sudah terjadi, jadi tidak perlu untuk jadi seperti orang gila. Wanita tersebut dengan rela hati menawarkan kereta saya untuk dibaiki dibengkel pilihannya, saya membuat keputusan agar kes ini diselesaikan di situ sahaja. Wanita itu kemudiannya memandu pergi kerana perlu menjemput anak di nurseri.


Dipendekkan cerita, kereta saya dihantar ke bengkel tersebut keesokannya dan selesai dibaiki dalam masa 5 hari. Kos ditanggung oleh wanita tersebut. Sungguhpun begitu, proses baik pulih hanya melibatkan luaran sahaja. Saya masih perlu menghantar ke bengkel elektrik untuk menggantikan reverse sensor yang baru dan membentulkan kedudukan ekzos. Saya sekadar memaklumkan kepada wanita tersebut bahawa terdapat bahagian yang masih perlu dibaiki.


Pada hari Ahad yang lepas, tiba-tiba saya mendapat panggilan daripada seseorang yang tidak dikenali menanyakan lokasi rumah saya. Dia mengatakan bahawa terdapat hamper yang perlu dihantar oleh wanita yang telah melanggar kereta tempoh hari. Pada ketika ini, terdetik dihati sungguh baik wanita tersebut. Inilah yang dikatakan hidup bermasyarakat. Walau pun bagi saya sudah cukup kereta itu dibaiki, tetapi bagi pihaknya mungkin masih berasa bersalah terhadap kejadian tersebut.


Bersama hamper tersebut dilampirkan kad hari raya dengan coretan: "Selamat Hari Raya dan Maaf". Agak terharu dan terkedu menerima hamper tersebut. Saya pasti akan menjemputnya datang ke rumah pada hari raya nanti sebagai tanda membalas budi wanita tersebut berbahasa dengan kita. Untuk makluman, wanita tersebut berbangsa Cina.


hamper hari raya dan maaf

Subscribe to Diari