Reverse Engineering Model Handwritten Digits Recognition Aplikasi Mobile SIREKAP

Di tulisan ini saya akan melakukan reverse engineering aplikasi SIREKAP 2024, mengekstrak model TensorFlow Lite untuk inference, lalu membuat aplikasi Android untuk mengetes model tersebut. Saya bandingkan juga dengan model sederhana yang jadi contoh tutorial tensorflow lite.

Handwritten Digits Recognition

Persoalan pengenalan digit tulisan tangan merupakan hal paling dasar (semacam Hello World) di pelajaran AI modern. Ini merupakan subset dari OCR (optical character recognition), di mana scopenya hanya digit saja.

Ada data contoh standard yang jadi acuan yang dari database MNIST (Modified National Institute of Standards and Technology database) yang disebut MNIST dataset. Data ini terdiri dari puluhan ribu gambar digit, tiap gambar dibeli label apa digit yang ada di gambar itu, ukuran gambarnya 28×28 piksel monokrom.

Meski jadi acuan, menurut saya MNIST ini tidak 100% mencerminkan cara penulisan digit di dunia nyata, ada banyak cara penulisan digit yang tidak tercantum di dalam contoh datanya. Contoh: digit bisa dituliskan seperti display digital. Jika ingin melihat sendiri datanya, silakan klik di sini.

Sebagian Dataset MNIST
Lanjutkan membaca “Reverse Engineering Model Handwritten Digits Recognition Aplikasi Mobile SIREKAP”

Pengalaman Sertifikasi OSED

Setelah mendapatkan OSCP, OSWE, dan OSEP, berikutnya saya ingin mendapatkan OSED, karena akan sekalian mendapatkan OSCE3. Sebenarnya tidak ada pekerjaan yang menurut saya membutuhkan OSED saat ini, tapi karena ada waktu luang, ya kenapa nggak dicoba.

https://www.credential.net/4b346953-184f-49b4-9713-ccbe6ac91006#gs.43ryam

Dulu saya pernah sharing tentang Security Certification Roadmap. Ini adalah berbagai sertifikasi security yang bisa dipilih.

Lanjutkan membaca “Pengalaman Sertifikasi OSED”

Pengenalan dasar memakai Ghidra dan IDA

Tutorial ini sekedar memperkenalkan cara memakai Ghidra dan IDA (baik pro maupun free). Tadinya saya hanya ingin membahas Ghidra saja, tapi karena saya juga belum pernah menulis tutorial IDA, jadi sekalian saja, sekaligus bisa dibandingkan langsung.

Perlu dicatat bahwa mengajari orang memakai Microsoft Word atau Libre Office berbeda dengan mengajari orang menulis novel atau cerita pendek. Baik Ghidra maupun IDA hanya salah satu dari banyak tool reverse engineering. Sekedar bisa memakai Ghidra/IDA tidak bisa membuat Anda menjadi seorang reverse engineer, sama seperti bisa mengetik di Microsoft Word tidak akan menjadikan Anda tiba-tiba jadi penulis novel.

Versi IDA dan Ghidra dalam tulisan ini

Jika ingin belajar reverse engineering, maka pelajarilah dasar-dasarnya, saya memiliki FAQ mengenai reverse engineering yang bisa Anda baca.

Lanjutkan membaca “Pengenalan dasar memakai Ghidra dan IDA”

Kilas Balik Katekisasi Pranikah

Sebelum menikah saya sudah pernah menuliskan tentang katekisasi pranikah yang kami ambil bersama. Ketika ikut katekisasi pranikah dulu, sebagian topik baru bagi saya, tapi di banyak topik, saya mikir: ah itu kan jelas, logis, masuk akal, kenapa harus diajarkan di kelas?

Kebersamaan

Sekarang, 17 tahun setelah kami menikah, saya sekarang bisa lebih jelas melihat bahwa apa yang logis buat kami, ternyata tidak logis bagi banyak orang. Sudah ada beberapa orang yang kami kenal yang bercerai, dan juga sudah menikah lagi.

Sesuai dengan materi katekisasi yang mencakup banyak hal (konsep pernikahan, kesehatan, keuangan, dsb), masalah keluarga yang kami lihat dialami oleh orang-orang juga beraneka ragam.

Lanjutkan membaca “Kilas Balik Katekisasi Pranikah”

Review Mini PC N100

Saya sudah banyak memiliki beberapa Mini PC berbasis ARM (atau tepatnya ARM 64 bit/aarch64) dengan RAM 16 GB (misalnya sudah saya bahas tentang Rock 5B dan Orange Pi 5). Sekarang saya ingin membahas alternatif dari Intel: berbagai Mini PC yang memakai Prosessor N100. Harganya tidak jauh berbeda, dengan pemakaian daya yang cuma sedikit lebih tinggi dari ARM64.

Masalah dengan Linux di arsitektur ARM64 adalah: tidak semua tool/software/SDK berjalan di platform tersebut. Contohnya: SDK flutter tidak berjalan dengan baik di Linux ARM64, NDK Android resmi juga belum ada untuk host Linux ARM64. Situasi di macOS ARM64 lebih baik: lebih banyak software untuk ARM64 yang jalan dengan baik di macOS dibanding Linux ARM64. Jadi saat ini kelebihan Intel adalah masalah support softwarenya.

Mini PC N100. Stiker bulat di atasnya adalah NFC tag supaya mudah ditap pake HP untuk mengakses servernya

Tulisan ini hanya bukan review mendalam, saya cukup malas untuk menuliskan segala macam angka benchmark yang saya lakukan. Tulisan ini lebih untuk pengingat ke diri sendiri, seperti ketika saya menulis Mini PC Qotom 7 tahun yang lalu yang masih saya pakai sebagai router hingga sekarang.

Fokus reviewnya adalah: apakah mini PC ini cocok dipakai untuk development atau digunakan sebagai home server. Untuk Anda yang butuh single board computer (SBC) seperti Raspberry Pi/Orange Pi untuk General Purpose I/O-nya, maka jelas SBC jadi pilihan.

Review ini dilakukan setelah sekitar 3 bulan memakai mini PC-nya. Saya masih belum tahu apakah mini PC ini akan awet atau tidak. Misalnya: saya tidak tahu apakah SSD-nya akan bertahan lama atau tidak (jadi saya rajin membackup data penting dari mini PCnya).

Lanjutkan membaca “Review Mini PC N100”

Handheld Retrogaming

Saya suka memainkan game lawas (retro) dengan berbagai device handheld dan ngoprek berbagai device lama. Tadinya hanya satu device yang sama miliki, kini sudah jadi banyak. Di sini saya ingin menjelaskan tentang hobi saya ini.

Sebagian dari berbagai retro handheld yang saat ini saya miliki

Retro Gaming

Retro Gaming adalah memainkan atau mengoleksi game-game lama baik dengan hardware aslinya, maupun dengan emulator. Definisi kapan tepatnya “game lama” bervariasi tergantung orangnya.

Sebagian device asli dari Nintendo yang saya miliki
Lanjutkan membaca “Handheld Retrogaming”

Mengenal Transformer, LLM, dan ChatGPT

Tulisan ini ingin memperkenalkan cara kerja ChatGPT. Tidak terlalu teknis, tapi juga tidak terlalu awam. Untuk yang ingin mempelajari lebih dalam lagi sampai detailnya, akan saya berikan link-link yang bisa dipelajari di akhir. Tulisan ini juga bukan tulisan praktis sekedar bagaimana memakai ChatGPT dengan prompt tertentu.

Memahami sedikit dasar teori bisa membuat kita paham batasan dan keanehan ChatGPT, misalnya: kenapa ChatGPT selalu menyatakan bahwa ada 3 huruf “n” dalam kata “banana”, kenapa bingung jika percakapannya panjang, kenapa hasilnya tidak selalu sama, kenapa jawabannya kadang ngawur.

Selain itu semoga dengan membaca tulisan ini jadi bisa lebih memahami berbagai informasi yang sering disebutkan ketika ada yang merilis saingan baru (atau versi baru ChatGPT), misalnya apa itu jumlah parameter dan panjang konteks.

Dihasilkan ChatGPT dengan prompt “Generate simple disney like illustration for this topic “Transformer, LLM, and ChatGPT”


Lanjutkan membaca “Mengenal Transformer, LLM, dan ChatGPT”