Wednesday, June 29, 2016

AutoIt script to prevent from autolocking Windows

At my previous workplace we had this autolocking policy for Windows machine. Sometimes it became irritating that while I was looking at an active log (on a pc) while sending some information from a laptop, the pc would autolock after a certain minutes.

So I resorted to this AutoIt script:

While True
   Local $pos = MouseGetPos()
   MouseMove($pos[0]-1, $pos[1]-1, 0)
   MouseMove($pos[0], $pos[1], 0)
   Sleep(540000)
WEnd

Sunday, June 19, 2016

Tragedi di D'Tandoor Ayer@8 Putrajaya

Kurang daripada 7 jam lalu, saya berbuka puasa dengan bekas teman-teman sepejabat di restoran D'Tandoor Ayer@8 Putrajaya. Apa yang diharapkan berjalan lancar dan gembira berakhir dengan tanda tanya dan sakit hati.

Sememangnya saya sangat teruja ingin berjumpa dengan mereka semua kerana sudah lama tidak berjumpa sejak bulan Mac 2016. Saya kira masing-masing mesti ingin berkongsi pengalaman terbaru berkenaan kerja baru dan keluarga. Mereka pula datang bersama keluarga, lagi lah saya semakin teruja! Saya suka melihat anak-anak mereka ni sebenarnya. Sangat comel dan petah, boleh dikatakan macam-macam jenis karakter pun ada. Saya pula suka observe!

Jadi perancangan untuk perjumpaan buka puasa pun dimulakan melalui Watsapp pada 7 Jun. Saya invite aje rakan-rakan muslim yang tinggal Putrajaya sebab asalnya plan nak jumpa selepas kerja. Tapi selepas ada cadangan untuk buat pada hari Sabtu 18 Jun, rakan-rakan dalam Watsapp mula sebarkan mengenai perjumpaan ni kepada rakan-rakan muslim yang lain yang tinggal agak jauh dari Putrajaya. Ye lah, kalau hari Sabtu, kemungkinan besar mereka boleh datang berbanding selepas kerja. Tempat yang dipersetujui adalah D'Tandoor Ayer@8 Putrajaya. Pakej buffet Ramadhan mereka nampak menarik.

Iklan ini tiada lagi di FB mereka

Promosi Ramadhan

Pertama kalinya pada hari yang sama jam 11.30 pagi, saya reserve untuk 19 orang (10 dewasa + 9 kanak-kanak). Saya agak-agak saja kalau dalam 4 - 5 orang setuju, dan bawa bersama pasangan dan anak-anak, cukup lah agaknya 19 orang tu. Sebenarnya dalam kenyataan promosi restoran tidak ada pun tercatat harga untuk kanak-kanak. Dan saya pun bukannya selalu buat reservation, cuma saya terfikir la jugak - tak logik kalau kanak-kanak bayar harga yang sama seperti dewasa kan? Jadi bila saya tanya, pengurus restoran cuma maklumkan harga kanak-kanak separuh daripada harga dewasa. Saya pun kata ok lah, terima kasih dan letak gagang. Saya sebarkan maklumat kepada rakan-rakan supaya mereka boleh kira bugdet masing-masing.

Keesokan harinya, berdasarkan mesej rakan-rakan dalam Watsapp group, saya merasakan seperti tak cukup pulak bilangan seat yang saya dah reserve tu. Jadi pada 8 Jun jam 1.15 tengah hari saya call restoran D’Tandoor dan membuat penambahan kepada 24 orang (15 dewasa + 9 kanak-kanak). Maklum saja lah bulan puasa kebanyakan tempat makan penuh, jadi kena maklumkan restoran awal-awal. Tambah-tambah lagi saya dengar makanannya sedap, mesti menjadi tumpuan. Saya tak mahu ambil risiko pertemuan ni dibatalkan sebab tak cukup tempat. Tak lama selepas tu, saya lihat sekali lagi bilangan seat seperti tak cukup lagi. Pada masa ni, ada 7 rakan yang sudah berkeluarga. Jadi pada hari yang sama jam 2 petang, saya minta rakan call restoran untuk maklumkan bilangan seat yang terkini. Kali ini 34 orang (19 dewasa + 15 kanak-kanak). Saya lebihkan bilangan dewasa sebagai buffer.

Pada 10 Jun, ada 10 rakan yang sudah bekeluarga di dalam senarai yang mungkin hadir. Saya putuskan untuk tunggu sehingga saya dapat bilangan yang memang pasti akan hadir dalam beberapa hari lagi sebelum saya call restoran untuk maklumkan bilangan terkini.

Memang ambil masa juga lah nak putuskan sebab masin-masing ada komitmen masing-masing. Jadi pada 17 Jun, saya tengok bilangan yang pasti hadir ada 5 orang dengan keluarga, 3 orang single. Saya call restoran pada jam 11.45 pagi untuk maklumkan bilangan kepada 25 orang. Saya tak perincikan berapa dewasa dan kanak-kanak sebab saya rasa macam tak penting. Saya diberitahu bayaran hanya dibuat selepas makan menurut pengurus. Yang pentingnya bilangan seat yang disediakan kan? Pengurus pun tak bertanya padahal dia ada rekod reservation saya (saya tahu sebab bila saya beri nama, dia yang sebutkan bilangan terdahulu). Jadi saya anggap tiada masalah.

Dan tibalah hari yang dinanti-nanti 18 Jun.

Restoran ni terletak di kawasan premium (saya agak-agak saja, sebab sepanjang perjalanan ke destinasi, banyak rumah banglo di sekitar Ayer@8). Terletak di tepi sepanjang sebahagian tasik Putrajaya, memang cantik. Angin sepoi-sepoi bahasa. Nak jalan-jalan bawa keluarga memang idea yang menarik. Dari situ saya boleh nampak masjid besi. Cantik!



Memang seronok la dapat bertemu rakan-rakan semula. Tapi ada juga yang terpaksa batalkan di saat akhir sebab komitmen. Jadi akan ada lah seat yang kosong. Tentang makanan, memang sedap. Lagipun saya memang suka Indian food. Tidak banyak variasi, tetapi cukup lah untuk kenyang. Saya tidak berkira sangat. Paling penting, dapat berborak dengan rakan. Terasa seperti waktu dahulu di social hub!

Tak semua lauk ada. Ada yang diganti dengan lauk lain. Kami minum air sirap sahaja.

Lama juga lah kami di situ. Dalam pukul 10 malam kalau tak silap saya, sebahagian lampu ditutup. Eh? Di kaca depan tulis operasi hingga 11 malam pada malam minggu? Tapi takpe lah, masing-masing pun dah habis cerita, sekarang nak bergambar kenangan pula. On the way keluar, saya maklumkan kepada pengurus, kami nak ambil gambar dulu. Sedang sibuk mencari lokasi sesuai di luar, saya tengok masing-masing masuk ke dalam restoran. Saya pun masuk semula ke restoran. Rupa-rupanya rakan-rakan nak bayar dulu sebelum keluar. Saya pun ok saja. Selesaikan dulu pun elok juga.

Dalam sedang menunggu bil, saya menyeluk poket seluar. Tiba-tiba muka rakan di depan berubah. Dia terkejut tengok bil RM1440++. Hah???

Pengurus kata bayaran perlu mengikut bilangan 25 orang dewasa. Hah???!!

Masing-masing terkejut! Bila dikira berapa yang hadir, 9 dewasa dan 9 kanak-kanak. Kami gunakan 18 seat tapi yang perlu bayar hanya 3 kanak-kanak (kategori 6 - 12 tahun RM25 seorang). Sepatutnya jumlah termasuk 10% caj perkhidmatan dan 6% GST adalah cuma RM600++. Siapa pula nak bayar sampai RM1400??

Pengurus restoran mencadangkan kami bayar untuk 17 dewasa dan tidak perlu bayar untuk kanak-kanak. Bila saya dengar ni, saya menjadi marah. Itu hampir 2 kali ganda bilangan dewasa. Saya hairan bagaimana pengurus ni berfikir?

Saya menjadi marah atas sebab-sebab ini:
  • Tidak sekali pun semasa call dibuat untuk reservation, saya dimaklumkan bayaran akan dikira mengikut bilangan reservation.
  • Tidak ada juga dicatat di atas brochure promosi restoran mengenai perkara ini.
  • Tidak ada pertanyaan daripada pengurus kepada kami mengenai seat yang kosong untuk memenuhi permintaan walk-in. Sudah tentu kami tiada masalah untuk beri kan seat kepada mereka!
  • Saya rasa seperti diperangkap, dipaksa untuk membuat bayaran kerana pengurus sentiasa ada di restoran sepanjang kami berada di situ tapi tidak sekali pun dia ada courtesy untuk maklumkan kepada kami.
  • Pengurus asyik mengulangi sejarah bilangan reservation dari 34 kepada 25 padahal tidak sedikit pun ia ada kaitan dengan bil.
  • Cara penjelasan pengurus yang menjurus kepada keuntungan restoran tetapi tidak mempedulikan langsung dompet kami sebagai pelanggan.
  • Pengurus menyatakan hanya pelanggan walk-in saja yang boleh dikenakan bayaran mengikut bilangan sebenar. Pelanggan yang membuat reservation tidak boleh. Jika tidak ada seorang pun yang datang, restoran akan minta pelanggan tersebut bayar penuh juga kah?
  • Saya tidak puas hati kenapa pelanggan masih dikenakan caj perkhidmatan. Bukankah sudah termasuk di dalam GST?
Saya lantas keluar daripada restoran untuk menenangkan fikiran. Biar saja rakan-rakan jantan yang lain uruskan. Kami bukan tidak mahu bayar, kami hanya mahu bayar apa yang kami makan. Lebih sedikit pun saya rasa tidak mengapa sebab ada rakan-rakan yang menarik diri tapi bayaran untuk 17 dewasa memang menjengkelkan (RM980++).

Lama juga saya di luar menunggu sehingga rakan-rakan keluar dari restoran. Saya dapati bil kami belum di bayar kerana saya kira pengurus masih berkeras (saya tidak pasti apa yang berlaku). Apabila pelanggan dianiaya begini, hati mana yang tidak panas? Kami berlegar-legar di depan tasik Putrajaya sambil mencari semula mood untuk bergambar. Selepas bergambar, saya ingin pulang sahaja. Untuk apa saya bayar perkhidmatan begini? Saya rasa tertipu!

Tiba-tiba ada pula yang bersuara kita bayar saja lah apa yang kita sudah makan. Untuk apa? Saya masih berdegil walaupun tangan sudah pun menghulurkan sekeping RM50. Kemudian datang pula cadangan untuk bayar separuh. Rakan-rakan jantan saja yang masuk semula ke dalam restoran untuk membuat bayaran. Bila mereka keluar, rupanya bil dibayar habis RM600++.



Adakah kami dikira mencuri jika tidak membayar bil?
Tidak. Kami meluangkan waktu untuk menyatakan sebab-sebab kami tidak mahu membayar lebih daripada apa yang sepatutnya. Kami tidak lari. Ketika restoran tidak memaklumkan kami situasi sebenar sehinggalah sudah terlambat, ketika itulah transaksi tidak lagi sah.

Saya merasakan restoran D’Tandoor telah mempergunakan kepercayaan pelangan. Restoran telah melakukan kesalahan, dan dengan sebab itu lah restoran perlu menaja sepenuhnya bil kami.

Restoran D’Tandoor Putrajaya, sila lah berikan perhatian kepada cadangan-cadangan berikut untuk memperbaiki mutu perkhidmatan anda:
  • Minta pelanggan untuk membuat bayaran sebelum makan untuk sesi buffet
  • Pengurus untuk lebih berhemah apabila berinteraksi dengan dengan pelanggan supaya mereka rasa dihargai
  • Anggaplah setiap pelanggan yang membuat reservation tidak tahu maklumat apa yang restoran perlukan. Tanya mereka untuk kepastian.
  • Letakkan maklumat bayaran sepenuhnya di brochure promosi.
Memalukan sekiranya restoran yang besar begini tidak peka kepada isu pelanggan.

Percubaan untuk mengambil gambar kenangan selepas selesai

Website D'Tandoor: http://dtandoor.com
FB D'Tandoor Putrajaya: https://www.facebook.com/pages/Dtandoor-Ayer-8/627001037418556

Tuesday, May 17, 2016

Learning basic PySpark concepts with S3


I'm learning Apache Spark with Python and S3. I tried them out following an example here https://www.codementor.io/spark/tutorial/spark-python-rdd-basics.

import boto

AWS_ACCESS_KEY_ID="myAccessKeyId"
AWS_SECRET_ACCESS_KEY="mySecretAccessKey"

conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket('nuhaa')

# view list
for file_key in bucket.list():
    print(file_key.name)

key_name = "kddcup-data_10_percent.csv"

# load data
data_rdd = sc.textFile("s3n://nuhaa/%s" % key_name)
    
from time import time
t0 = time()
data_count = data_rdd.count()
tt = time() - t0
print "total number of records: %d" % data_count
print "size %s" % hbytes(key.size)
print "count completed in {} seconds".format(round(tt,3))
key.close()

# using filter
normal_data_rdd = data_rdd.filter(lambda x: 'normal.' in x)
t0 = time()
normal_count = normal_data_rdd.count()
tt = time() - t0

print "there are {} 'normal' interactions".format(normal_count)
print "count completed in {} seconds".format(round(tt,3))

# using map
csv_data = data_rdd.map(lambda x: x.split(","))
t0 = time()
head_rows = csv_data.take(5)
tt = time() - t0

print "parse completed in {} seconds".format(round(tt,3))

# using collect
t0 = time()
all_data = data_rdd.collect()
tt = time() - t0

print "data collected in {} seconds".format(round(tt,3))



Thursday, November 5, 2015

Innisfree No Sebum Mineral Powder - LOVE!

As a start, I have never ever posted anything makeup related here. Just because I'm more comfortable posting about tech and programming and food and Mimi than beauty stuff. I do take care of myself and I love makeup! It is soooooo fun!!

So I went out and about updating my makeup bag last month. My makeup bag needed an update so bad. The last time I paid attention to it was 6 months ago. And that is a pretty long time, sister!

I've been loving everything that I bought, except for one - which we shall not discuss further. The most recent addition is this cute Innisfree No Sebum Mineral Powder 5g. I bought it for RM22, from Qoo10. I was looking for a goodsetting powder and I had heard about Laura Mercier's translucent powder. So I didn't know which one is better. Because of my combination skin, I went for Innisfree's instead. Apparently I made a good choice. I'm impressed. So so impressed! Wow.

My skin would feel and look oily by noon and I hate it what that happens. But ever since I use No Sebum Mineral Powder, my face generally stays matte until 5.30pm, which is what I want. My skin feels smooth all day too. And the best is it's paraben-free, talc-free, mineral oil free and animal ingredient free.

Innisfree oficial page: http://www.innisfreeworld.com/product/productView.do?prdSeq=10304&eventSeq=0&catCd01=UB

Monday, August 10, 2015

One of Mimi's playtime

I consider myself very lucky to be able to live with a cat. Everyday i get to witness how magnificent the creature is. Her agility and her stealth have never failed to amaze me - subhanallah!

Anyone who's living with a cat or used to live with one, you should know that it's an equal partnership going on between you and the cat. If you treat them well, they'll love you for it. They know no loyalty, because they're not like dogs. But they're as honest and as fun. They can be intelligent too depending on how well you train them, and the best part for me is that they're more mysterious. So i always enjoy figuring them out.