Game “Human Resource Machine” dan “7 Billion Humans”

Dari dulu, yang suka main game di rumah kami itu Joe, walaupun dia bukan pemain game serius yang tidak bisa berhenti main game. Saya pernah suka main game The Sims, tapi sudah lama pensiun main game karena kalau sudah mulai main saya susah berhenti.

Game yang sering dipilih Joe seringnya tipe puzzle. Salah satu game yang paling jadi favoritnya Seri Game Professor Layton. Game Professor Layton ini tipenya ada cerita misterinya dan juga memecahkan persoalan dengan berpikir komputasi.

Salah satu game yang juga pernah dimainkan Joe namanya Human Resource Machine. Game ini menggunakan konsep pemrograman sederhana dan menggunakan animasi yang lucu.

Contoh Puzzle Human Resource Machine
Continue reading “Game “Human Resource Machine” dan “7 Billion Humans””

KidBright32 dan KBX

Karena Jonathan tertarik dengan Micro:Bit, sebagai tambahan untuk materi homeschoolnya, saya ajak dia untuk pergi ke pelatihan KidBright32, board sejenis Micro:Bit dari Thailand.

Kalau United Kingdom punya Micro bit, maka Thailand punya KidBright32. KidBright32 dikembangkan oleh NECTEC (National Electronics and Computer Technology Center) organisasi pemerintah Thailand dan diproduksi oleh perusahaan lokal Thailand Gravitech). Usaha ini didukung perusahaan lain, misalnya perusahaan Maker Asia membuat extension berupa case dan peripheral tambahan yang diberi nama KBX (KidBright32 Extension).

Di posting sebelumnya saya sudah membahas Micro bit, di sini saya membahas KidBright32 dan ditutup dengan apakah mungkin Indonesia membuat board serupa.

KidBright32

KidBright32 menggunakan ESP32 sebagai prosessornya. ESP32 ini merupakan chip dari China yang pernah saya bahas di posting lain. Sedangkan Microbit memakai chip NRF52 dari Nordic Semiconductor (perusahaan Norwegia). NRF52 hanya memiliki fitur Bluetooth dan komunikasi radio proprietary, sedangkan ESP32 memiliki fitur Bluetooth dan WIFI. Harga KidBright32 sekitar 600 baht (19 USD), tidak beda dengan harga Micro Bit .

Continue reading “KidBright32 dan KBX”

BBC micro:bit

BBC Micro Bit (kadang ditulis “micro:bit”) adalah hardware open source yang dibuat oleh BBC (British Broadcasting Corporation) untuk mengajarkan pelajaran komputer di United Kingdom. Board ini sudah dirilis tahun 2016 dan sudah saya beli tidak lama setelah diluncurkan. Baru sekarangsaya tulis karena Jonathan baru mulai tertarik belajar ini. Sebagai homeschooler kami bisa memperkenalkan pelajaran apa saja ketika minat anak sudah ada.

Case kittenbot dan micro:bit

Micro bit ini ditargetkan untuk umur 11 tahun ke atas (walau lebih muda juga bisa), jadi sebenarnya memang baru cocok untuk usia Jonathan yang sekarang 9 tahun. Micro bit ini ukurannya sekitar setengah kartu kredit, ada dua tombol (plus satu tombol reset), konektor micro USB, dan 25 LED. Ada accelerometer (bisa jadi input dengan gerakan) dan juga magnetometer (bisa menjadi kompas), ada juga sensor temperatur (tapi kurang akurat karena built in).

img
Sumber gambar: https://tech.microbit.org/hardware/

Micro bit juga bisa dihubungkan ke handphone dengan Bluetooth Low Energy (BLE). Dua micro bit juga bisa berkomunikasi dengan radio (yang ini protokolnya proprietary, berdasarkan Gazell dari Nordic). Micro bit bisa dihubungkan ke banyak hardware, tapi sebelumnya saya jelaskan dulu tentang sisi softwarenya.

Continue reading “BBC micro:bit”

Internet Cepat Untuk Programmer

Satu hal yang sangat membuang waktu sebagai programmer adalah: mengupdate software untuk development. Untuk programmer, biasanya ini berkaitan dengan SDK dan IDE yang baru. Biasa kita punya dua pilihan: mengupdate sekarang atau nanti.

Mengupdate sekarang berarti membuang waktu sekarang, dan artinya bisa menunda pekerjaan. Sementara menunda update juga kadang menimbulkan masalah: beberapa hal tidak berjalan lancar, dan kadang jika kita melompati update terlalu banyak, tiba-tiba jumlah masalah jadi meningkat atau bahkan project tidak lagi bisa berjalan.

Kebanyakan IDE hanya akan update jika kita buka. Ini sering mengesalkan buat saya: saya tidak sering memprogram satu topik untuk waktu yang cukup lama. Ketika ingin mulai membuat program: harus update dulu. Kadang hal seperti ini menghilangkan mood untuk membuat program kecil.

“Hanya” 422 Mb

Jika ingat, saya akan menjalankan IDE yang saya pakai hanya sekedar untuk mengupdate saja. Nanti kalau saya benar-benar butuh, setidaknya jumlah updatenya tidak terlalu banyak.

Continue reading “Internet Cepat Untuk Programmer”

Buku Baru: Seri Secret Coders

Masih cerita soal buku yang di beli di Big Bad Wolf Desember lalu. Jonathan gak sengaja memilih 1 buku Secret Coders. Sebenarnya beli buku ini awalnya tertarik karena judulnya saja, dan saya malah gak tau isinya berupa komik. Ceritanya mengenai seorang anak usia 12 tahun yang pindah sekolah dan menemukan beberapa misteri yang ternyata bisa dipecahkan dengan pemrograman. Buku ini sejenis pengenalan pemrograman juga buat Jonathan.

Buku yang kami beli di BBW itu hanya buku nomor 2. Waktu kami kembali ke BBW lagi untuk mencari nomor lainnya, kami gak berhasil menemukannya. Akhirnya karena Jonathan sudah baca buku ke-2 itu berkali-kali, kami memutuskan untuk memnbeli buku lainnya dari Amazon.

Continue reading “Buku Baru: Seri Secret Coders”

GPU Raspberry Pi

Salah satu kelebihan Raspberry Pi (RPI) dibandingkan Single Board Computer (SBC) lain adalah: harganya relatif murah dan memiliki GPU yang terdokumentasi resmi dan bisa dimanfaatkan dengan berbagai API low level. Beberapa SBC lain ada yang harganya lebih murah (misalnya Orange Pi) tapi dokumentasinya kurang, dan beberapa yang lain lebih powerful (misalnya NVidia Jetson) dengan dokumentasi yang cukup baik dari produsen (tapi masih kurang dari komunitas) tapi harganya 10x lipat dari RPi 3.

GPU Raspberry Pi cukup powerful, dan bisa melakukan beberapa hal menarik misalnya: tunelling dari kamera (dengan konektor CSI) langsung ke layar, colorspace conversion, video/image encoding and decoding,  resizing, dan overlay. Kita juga bisa meminta agar data dari kamera langsung dijadikan texture untuk OpenGL ES.

Secara praktis tunnelling artinya satu komponen ke komponen lain bisa bekerja langsung tanpa buffer. Contoh nyatanya begini: kita bisa membuat aplikasi yang kelihatan smooth karena data dari kamera tampil langsung di layar dengan kecepatan tinggi (30 fps) tanpa memakai CPU sama sekali. Sementara di latar belakang kita bisa mengambil gambar, memproses (misalnya face detection) dan menampilkan hasilnya.

Proses ini membypass windowing system, jadi bisa jalan bahkan tanpa X Window (mode teks sekalipun).

Video dari kamera bisa ditampilkan di mode teks

Fitur texture OpenGL ES artinya kita bisa menampilkan gambar kamera atau video (dari file atau jaringan) langsung di permukaan  misalnya kubus atau teko. Selain itu kita bisa menggunakan pixel shader untuk memproses data tanpa memakai CPU, contohnya membuat filter kamera secara real time, atau bahkan melakukan preprocessing untuk algoritma machine learning. Data yang sudah diproses bisa dibaca dan diproses lebih lanjut di CPU dengan glReadPixels. Continue reading “GPU Raspberry Pi”

Membedah e-KTP

Posting ini sekedar membahas tentang kartu tanda penduduk elektronik (e-KTP). Sampai saat ini saya belum pulang ke Indonesia untuk mengurus e-KTP karena KTP lama masih berlaku. Waktu orang tua saya datang ke sini tahun lalu saya sudah sempat ngoprek e-KTP mereka sedikit, dan sekarang selagi mereka berkunjung saya teruskan dan tuliskan hasil eksplorasi saya.

Sebagian isi tulisan ini didapat dari reverse engineering, dan sebagian lagi dari berbagai informasi yang tersebar di Internet. Ada juga bagian yang merupakan spekulasi saya dari informasi yang ada.

Security sebuah smart card

Sebuah smart card adalah sebuah komputer kecil, di dalamnya ada CPU, RAM, dan juga storage. Smart card diakses menggunakan reader, secara umum ada dua jenis: contact (menggunakan konektor fisik seperti SIM card) dan contactless (tanpa konektor fisik seperti kartu e-Money berbagai bank saat ini). Dari sisi programming keduanya sama saja. Kartu smart card yang baru umumnya juga sudah tahan (immune) terhadap side channel attack (DPA/SPA/FI dsb). Continue reading “Membedah e-KTP”