Sintaks Waktu Acara

Pernahkah anda merasakan datang ke suatu acara tepat waktu, tapi pas di ruangan, tidak ada siapa-siapa?
Atau acara ngaret parah sampai berjam?

Sebagaimanapun manusia berencana, Tuhan-lah yang menentukan

Namun apa salahnya kalau kita membuat presisi apa yang kita rencanakan sehingga jelas bagi semua orang.

Jadi kita bisa membuat representasi khusus untuk menyatakan waktu kedatangan persiapan, atau waktu toleransi keterlambatan. Misal:

  • Pesawat berangkat jam 14.00. Penumpang harus boarding 30 menit sebelum keberangkatan. Jadi representasi waktunya 14:00 C30
  • Kuliah umum dimulai pukul 9:00. Peserta diberi toleransi keterlambatan 15 menit, dan setelah itu pintu dikunci. Representasi waktunya 9:00 T15
  • Rapat dimulai pukul 13:00. Apapun yang terjadi, mau yang dateng masih sedikit, belum semua datang, atau udah komplit, rapat tetap dimulai. Representasi Waktunya 13:00 T0

Jika anda setuju, sebarkan! (dah berasa hoax aja 😂)

Indikator Kebangkitan Islam

Menurut salah satu hadis sahih, salah satu indikator kebangkitan islam adalah sholat subuh yang seperti sholat jum’at.

Perlu diakui bahwa gerakan subuh berjamaan nasional, follow up dari gerakan 212 memperlihatkan hasil yang remarkable. Masjid yang diadakan acara-nya penuh sekali sampai tumpah-tumpah..

Tapi, kalau kita lihat statistik. Misalkan dalam satu kota ada 4.000 masjid + mushola, dan 1.500 diantaranya adalah masjid jami (yang bisa dipenuhi minimal 40 orang). Kalau hari tertentu pada event tertentu, bisa ada 10 masjid yang penuh. Berarti baru 10 / 1.500 atau sekitar 0,67%. Kalau tidak ada event, ya jumlah saf di masjid besar pun tidaklah seberapa.

Bagaimana kalau tidak ada event tersebut? Sebenarnya, kurang lebih orang yang ikut event tersebut sebenarnya sehari-hari sholat subuh di masjid masing2 dekat rumahnya. Hal ini bisa jadi bagus kalau semangat subuh berjamaah ini ditularkan ke tetangga / orang sekitar dari masing-masing yang sudah sholat subuh di masjid berjamaah.

Itung-itungannya, supaya bisa 100% tercapai, masing-masing orang mengajak 150 tetangga sekitarnya untuk sholat subuh berjamaah di masjid. Dan kalau dipertimbangkan probabilitas overlap dengan rata-rata 1 orang diingatkan oleh 3 orang, berarti mengajak-nya perlu ke 450 orang.

Banyak juga dah 😅

Tapi coba kita itung-itungan real-nya gimana.

Rata-rata, orang di media sosial punya friend 300 orang. Kontak HP ada 500 orang. Dan reach grup whatsapp bisa sampai 1000 anggota. Kalaulah channel ini dimaksimalkan, ya apalah yang tidak mungkin.

Kalau mau geriliya nggedor pintu orang silaturahim, jika sehari bisa ngegedor 3 pintu, perlu 50 hari untuk menggedor 150 rumah, dengan perkiraan 1 rumah rata-rata berisi 3 orang. Tapi ya cara ini butuh keberanian, karisma, kelihaian, kemampuan memengaruhi, dan mental yang kuat.

Sesulit apapun kondisinya, apalah yang tidak mungkin. Yang penting kita sudah berusaha berada di pihak yang saling mengingatkan akan kebenaran dan kesabaran.

Zakat di Badan Amil Zakat Bandung

Pada suatu hari, saya hendak membayar zakat mal. Saya pun pergi ke BAZ Bandung yang ada di Masjid Al-Ukhuwah lantai 3.

Saya pun membayarkan Zakat dan Sedekah. Jumlahnya tidak sebeberapa sih, tapi buat anak SMA bayar zakat mal itu mungkin suatu pencilan tersendiri.

Saya pun diterima oleh Pak Didin Hafidhuddin, selaku Ketua BAZNAS pada saat itu.

Dan yang jadi pertanyaan adalah “Ini bukan dari jualan porno” kan?

Pada saat itu, saya sedikit merasa tersinggung, tapi pengen banyak ketawa juga :)) (cuman takut gak sopan, jadi senyum2 aja)

Setelah sekian lama, saya baru sadar. Pesan yang saya tangkap dari pertanyaan beliau adalah, harta yang diperoleh dengan cara haram tetap saja haram walaupun dizakatkan juga. Dan sudah pasti kalau zakat dari harta haram tidaklah sah.

Reality

X:
Childhood is idolizing Spongebob.
Teenagehood is realizing Squidward makes more sense.
Adulthood is finally knowing Plankton makes the most sense

Y:
Spending your life trying to steal another man’s success?

X:
More of having computer as a wife and having your hopes and dreams crushed every day
sqplankton

WordPress Hosting Optimization

Umumnya web wordpress itu kemooot banget. Hari ini saya mencoba membuat blog wordpress untuk Masjid Garuda (http://masjidgaruda.rajawali.web.id/) dengan teknik WordPress Hosting Optimization. Kayaknya kalau pakai turbolinks + html cache bakal kenceng webistenya. Setelah mencari-cari, konfigurasi dan plugin yang cocok, jalan, dan akhirnya dipakai adalah:

  • Host Virtual Machine di DigitalOcean yang $10 (Hosting udah pakai SSD)
  • NGINX web server
  • Ajaxify WordPress Site
  • WP Super Cache

Saya pun setup website-nya di server Digital Ocean yang $10 per bulan. Berikut ini komparasinya:

  1. Shared hosting biasa vs host VM: 3 request per second vs 65 request per second
  2. Shared hosting biasa vs host VM: 5 second page load vs 1 second page load
  3. Apache web server vs NGinx web server: 65 request per second vs 75 request per second
  4. Tanpa WP Super Cache vs Dengan WP Super Cache: 75 request per second vs 5500 request per second
  5. Tanpa WP Super Cache vs Dengan WP Super Cache: 1 second page load vs 65 milisecond page load
  6. Transisi halaman tanpa Ajaxify WordPress Site vs dengan Ajaxify WordPress Site: 3 second page render vs 300 milisecond page render

*Catatan: hasil diperoleh dari rata-rata ujicoba dan angka yang tertulis dibulatkan. Hasil mungkin berbeda dengan percobaan lain, tapi kurang lebih mirip lah.

Session Mis-Management Bug

Live Chat Support

Suatu hari, saya menggunakan aplikasi berbasis web yang memiliki fitur live chat. Awalnya saya login menggukan akun A. Lalu saya logout, dan mengganti jadi akun B. Setelah itu saya meminta live support untuk mengubah detail akun B. Namun, fitur chat support menganggap saya sedang login menggunakan akun A.

Hal ini mungkin saja terjadi, ketika user logout pada aplikasi tapi sesi live chat-nya tidak diganti karena kebanyakan live chat menggunakan 3rd party application yang di-embed pada web application, sehingga session management-nya berbeda.

Cara mengatasinya, ketika ada perubahan session di aplikasi, trigger suatu perintah untuk ganti / unset session di live chat-nya juga.

Account’s Form

Misalkan User membuka Form X yang harus ia isi dengan menggunakan akun A. Namun, karena dia agak bingung untuk mengisinya, ia logout lalu meminjam akun B dari temannya. Ia pun membuka Form X milik akun B di satu tab browser, lalu logout, dan login lagi menggunakan akun A. Ia pun melengkapi form X. Namun, setelah kira-kira setengah jam mengisi form X, ia mengirimkan form X pada kedua tab. Dan anehnya, form X yang tersave di akun B adalah yang diubah oleh akun A.

Cara mengatasinya, ketika submit form harus dibaca session siapa yang mengirim-nya. Cara lainnya, menggunakan CSRF token yang dinamis per user dan direset ketika logout.

Kesempatan Membuat Al-Qur’an Invalid

Tahukah anda, ada 2 orang yang pernah berkesempatan membuat informasi al-quran menjadi invalid, yaitu Abu Lahab dan Istrinya.

Kalaulah ketika surat Al-Lahab turun, mereka bertaubat. Otomatis pernyataan Al-Quran yang memvonis mereka ketika masih hidup akan menjadi ahli neraka, menjadi invalid. Dan 1 informasi invalid bisa membuat pernyataan “semua isi al-quran itu benar” menjadi invalid juga, dan menjadikan ketidakpastian pada informasi lainnya.

Tapi ya memang al-quran itu benar, jadi ya mereka ngga tobat juga sampe mati 😅

Semoga pada akhirnya kita termasuk orang yang beruntung, mumpung belum jelas divonis neraka-nya 😢

Istana

Umat islam tidak disuruh untuk membangun istana di dunia. Tapi di akhirat

jadi, harta bukan buat bikin istana (rumah) sebesar-besarnya. tapi untuk membangun istana di surga

Hacking Xiaomi XiaoYi CCTV

Tempo hari, saya membeli kamera CCTV yang relatif murah dan ada nightvision-nya, yaitu Xiaomi XiaoYi CCTV.

Overall, gambarnya cukup bagus untuk kamera CCTV. Namun, untuk mengakses kameranya, perlu menginstal aplikasi MiHome.

Di aplikasi MiHome ini, kamu bisa melihat rekaman, dan ada timeline untuk mencari kapan motion sensor-nya aktif. Dan yang kerennya adalah, ada push notification ketika ada gerakan yang terdeteksi oleh kamera.

Namun, hal itu tidak berlangsung lama sampai pada suatu hari, aplikasi MiHome-nya tidak bisa digunakan. Saya ngubek-ngubek google, ngga nemu APK yang jalan buat ngeliat kamera CCTV.

Lalu, saya-pun menemukan Yi-Hack untuk menjadikan kamera Xiaomi ini menjadi IPCam yang bisa stream RTSP >> https://github.com/fritz-smh/yi-hack/

Sayapun ngubek seharian kode-nya gak jalan-jalan. Berikut ini perjalanannya:

  • Pertama kali copy file ke sd, kamera tetap pada warna kuning. Padahal, harusnya jadi biru.
  • Saya-pun mencoba revert ke versi ini >>> https://github.com/fritz-smh/yi-hack/tree/81f5dbf3dd2117c87deb50f1b3df5498dc6da889 dan hasilnya, bisa nyala jadi biru. Tapi, HTTP dan RTSP tidak jalan
  • Saya pun mencoba telnet ke kamera Yi. Lalu mencoba nge-start service http dan rtsp-nya. Ternyata, ada masalah segmentation fault
  • Lalu saya cari-cari issue tentang segmentation fault di https://github.com/fritz-smh/yi-hack/issues . Ada 2 thread, yang satu bilang ‘gak ada file home’, yang satu lagi bahasa portugal gak jelas 😀 (pake translate pun masih gak jelas)
  • Lalu saya membuka satu link dari thread di sana >> http://xiaoyi.querex.be/ dan membaca, suruh coba image M
  • Tetap gak bisa…
  • Lalu saya coba image A. Dan ternyata bisa nyala
  • Tapi, beberapa kali saya jalankan, malah gak bisa di-ping. Seolah-olah TCP/IP nya gak jalan
  • Setelah diselidiki, ternyata HTTP server-nya error
  • Saya coba disable HTTP servernya di startup equip-test.sh. Lalu, jalanin manual via telnet, dan BISA
  • Akhirnya, script equip-test.sh saya utak-atik agar semua service nya menyala secara otomatis.

Ini file hasil ulikan saya. Barangkali bermanfaat >> http://kamil.web.id/files/yi-hack-2.rar

*BTW, katanya ada yang bilang camera xiaomi bisa di-crack (atau istilah limrah dihack. Sebenernya banyak orang yang salah kaprah antara arti ‘hack’ dan ‘crack’) Jadi, opsi menjadikan Xiaomi XiaoYi CCTV sebagai IPcam bisa mengindari risiko diatas.