Skip to main content

Posts

Blog update

This blog have been more or less abandoned for the past few years. Im gonna be a bit more active in 2026 (hopefully). Banyak benda my mind that I can write and share. I dont care if no one read this. I just want to pour my thoughts somewhere. Plus, this is a better place than my private notes.  New changes: Custom domain (finally bought 'firdausbsafari.my' ๐ŸŽ‰) New theme centered around tech and programming Added favicon (idk why its square lol) Added google analytics cuz im a nerd New banner (sadly this theme doesnt display the banner) Oh, and by the way, I'm now open for sidegigs. Just hit me up with a DM if you want something done. I can do both Web & App.
Recent posts

SQL Tuning

Pengenalan Page korang load slow? Rekod berjuta-juta?  Client bising kena tunggu lebih 10 saat untuk page load?  Say no more. Perkongsian ilmu kali ni pasal query tuning. Bukan ecu kenderaan je boleh tune untuk bagi laju, database & query pun boleh. Even 1 saat tunggu pun dah boleh masuk kategori slow. Jadi, jom belajar cara lajukan query. Optimize select Jangan guna select * Aku berani bet, kau tak guna pun semua rekod. Max pun lah, maybe 90% field guna. 10% off masih berbaloi untuk buat select panjang2. Pastikan tak select benda sama dua kali   Optimize penggunaan functions Certain functions create temporary table untuk process data sebelum return value. High cost, better buat cara lain. DISTINCT ➡️ lagi laju guna GROUP BY GROUP_CONCAT ➡️ boleh buat satu query lain yg simple, then process, merge both array of object ORDER BY ➡️ sort dkt frontend shj, backend tak perlu Optimize subquery Masa join table, dia akan select all field. Better select terus field apa yg kita...

Vulnerabilities in dependencies used in projects

  Vulnerabilities in dependencies used in projects The case of 4Chan never updated any dependencies since 2009 one dependency used was publicly-known to have multiple critical vuln Ghostscript - https://security.snyk.io/vuln?search=ghostscript Local File Inclusion - process pdf files but never checked if the pdf is actually pdf Remote code execution - after injecting. can run scripts on the server The modern wake up call - this event reminded everyone to stay up to date with dependencies updates Dependencies we’re using: mPDF - fixed vuln for versions lower than 7.1.8 deserialization of untrusted data - similar with how 4chan got hacked aws/aws-sdk-php - fixed path traversal vuln for versions lower than 3.288.1 can go back and open directories that are not public arbitrary code execution vuln for versions lower than 3.2.1 Best practices: stay up to date with the tech world join forums like reddit and stackoverflow check websites that publish security reports snyk security - https:/...

Komunikasi Berkesan

As leader, jangan assume orang lain faham communication kita Ciri-ciri komunikasi efektif: Kejelasan make sure objective tercapai kinda like MRT - Measurable, realistic, timebound Kelengkapan 5W1H. why when where who what how Contoh: Tolong buat report tentang umur pengguna sistem A dari tarikh B ke C, dalam bentuk excel, submit by isnin pukul 4. Data ni nk guna utk marketing ke pengguna. Keringkasan Jangan panjang sangat, elakkan ayat berbunga. Straight to the point Kukuh/Konkrit Kena cakap based on bukti/data. Data tak boleh terlalu general, kena specific. Contoh teruk: Ramai kata sistem slow Contoh baik: 17 user dari semenanjung dah comment yg sistem slow pada pukul 8-9 pagi Kesopanan Most of the time kena sopan. Kalau nk push dari comfort zone kena kurang sopan, tapi jangan biadap pulak Ikut scenario Konsistensi Pastikan kalau nk tukar fikiran/arahan, mesti ada justifikasi. Tak semestinya tak boleh kalah, ikut scenario. Feedback Buka ruang persoalan/maklum balas Kena quick to respo...

Random sajak thing about society

 I wrote this when i was extremely bored and productive. First time doing such thing, its not good but at least i tried lol. Aku malu dengan malaysia Walau jejak ke angkasa raya Walau digemari antarabangsa Walau indah rupa buminya Namun rakyat hidup sengsara Hak asasi dibiar asal ada Airnya kotor, ada yang tiada Cantik tanahnya, buruk tata kelolanya Makanan tempatan tinggi harga Dieksport luar murah pula Kadangku makan tidak sempurna Terusku berjalan, mencari akhirnya Harap sampai sebelum bersara Rumah tinggalku, impian sahaja Cita-cita ku abai, elak kecewa Ukur bajuku di dunia nyata Usah ditunggu bulan jatuh ke riba Dalam maluku, masihku usaha Aku malu dengan malaysia Kuropsi mendalam kerana harta Jenayah berleluasa Tak sampai ke berita Digadai bangsa asal kaya Pentingnya ringgit dari keluarga Ketua hampir semuanya alpa Hidup mewah dalam astana Suara rakyat tak dengar, betapa kedap biliknya Ditegur baran, maruahnya tiada Malas ku soal, malang menimpa Nikmat ditarik, hilang kerjaya...

๐Ÿ—‘️ Clear storage Mac OS

  ๐Ÿ—‘️ Clear storage Mac OS 1: Clear system cache: Go to Finder > Go > Go to Folder, then type in "~/Library/Caches" and hit enter. Select all the folders inside the Caches folder and delete them. 2: Clear system logs: Go to Finder > Go > Go to Folder, then type in "/var/log" and hit enter. Select all the files inside the Log folder and delete them. 3: Remove unused language files: Go to Finder > Go > Go to Folder, then type in "/Library/Languages" and hit enter. Delete all the language folders you don't need. 4: Uninstall unused apps: Go to the Applications folder and delete the apps you don't use. 5: Clean up system files: Use a system cleaning tool like CleanMyMac X to scan and remove unnecessary system files. 6: If you have npm installed, clear the caches once in a while with ‘sudo npm cache clean --force’ 7: If you have ionic projects, open the ‘.angular’ folder and delete the ‘cache’ folder inside it.

How to get solution when you’re stuck

  How to get solution when you’re stuck ask people when? people is available. always ask your tablemate first.   first question should always be ‘nak tanya boleh tak?’ if you’re stuck for more than 30mins, try to ask even when people are busy. simple (yes or no answer/where is this?) specific to the environment (ask about smap/urusbisnes) no data online (explain about one_model, one_helper) how? provide context - what task you are doing, what error you got, who you dont like in the office show proof of your findings/solution search online when? people visibly busy answer available online. eg: issues with CI3/PHP/MySQL how? copy paste the entire error message (not the whole text, just the message). usually this works for old systems like CI3 where there are lots of forums discussing the errors search based on keywords. y say many when few do tricks? eg: ’ios notch in app browser issue’ add forum names at the and of search text. eg: ios notch in app browser issue reddit/stackove...