Minggu lalu karena kombinasi beberapa hal, saya memutuskan ingin membeli Thinkpad bekas dan ngoprek FreeBSD di laptop itu. Laptopnya dipesan hari Minggu dan sampai hari Rabu siang lalu. Saat ini laptop ini sudah berhasil: diganti SSD-nya, ditambah RAM-nya, diinstall Coreboot (software open source pengganti BIOS), dan sudah diinstall FreeBSD 12 dengan segala setting yang membuat semuanya berjalan normal.
Kalau dipikir-pikir sebenarnya nggak ada alasan yang kuat untuk harus beli laptop dan install FreeBSD, cuma seneng aja ngoprek di hardware langsung. Sekitar 10 tahun yang lalu saya pernah ngoprek FreeBSD, di Virtual Machine. Porting kernel ARM untuk NAS yang dulu saya miliki. Dibandingkan virtual machine, ngoprek langsung di hardware punya tantangan sendiri.
Pulang ke Indonesia kali ini cukup lama dari tanggal 12 Desember 2018 dan baru masuk kerja besok, tanggal 7 Januari. Sebenarnya nggak banyak yang dioprek selama liburan ini, tapi ini sekedar jadi catatan, plus ada beberapa barang yang baru sampai ketika kami sedang di Depok yang siap dioprek bulan ini.
Liburan kali ini saya berusaha meminimasi bawaan, tapi tetap ingin bisa ngoprek hardware. Kali ini saya coba membawa Pi Zero W yang sudah diberi case USB, sehingga bisa langsung dicolok ke komputer untuk powernya. Saya juga sudah setup agar Pi Zero W-nya mengemulasikan USB Ethernet, jadi bisa langsung diakses dari komputer/laptop.
Ini saya pakai untuk iseng-iseng membaca data dari beberapa kartu NFC yang saya temui. Saat ini tidak ada temuan baru yang menarik.
Sudah lama saya tidak menuliskan tentang oprekan elektronik. Salah satu alasannya adalah karena tahun ini saya berusaha mengurangi pembelian berbagai benda dari AliExpress. Tahun lalu saya membeli terlalu banyak benda yang akhirnya kurang sempat dioprek.
Capture HDMI kualitas rendah
Ketika mengerjakan salah satu proyek Raspberry Pi, saya perlu berada di depan komputer karena menyangkut akses GPU untuk menampilkan video secara langsung dari kamera ke layar (pernah saya tuliskan di sini). Ada beberapa alternatif cara menangkap output HDMI, tapi harganya masih relatif mahal. Alternatif saat ini: PCI card USB 3 capture card, dan device independen. Dari berbagai review yang saling bertentangan saya masih ragu harus membeli hardware yang mana, sedangkan harga hardwarenya tidak murah (puluhan hingga ratusan USD).
Dalam kasus kali ini, saya tidak benar-benar butuh capture kualitas tinggi, saya hanya ingin memastikan bahwa di layar tampil sesuatu yang seperti harapan saya. Jadi saya mengambil pendekatan paling murah: saya membeli HDMI2AV (kurang dari 7 USD). Signal HDMI diubah menjadi AV (dan resolusinya diresize), lalu saya tangkap signal AV ini dengan USB capture card yang sudah saya miliki (dulu harganya 4.5 USD).
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).
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. Lanjutkan membaca “GPU Raspberry Pi”
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). Lanjutkan membaca “Membedah e-KTP”
AlphaSmart Dana adalah device Palm OS lama dengan form factor keyboard yang sudah tidak diproduksi lagi. Device ini dulu cukup populer di banyak sekolah di Amerika, terutama digunakan untuk anak-anak yang kesulitan menulis dengan pulpen/pensil. Device ini saat ini masih populer di kalangan penulis karena beberapa hal: keyboardnya enak dipakai untuk mengetik, minim gangguan (karena tidak bisa mengakses internet), relatif ringan (sekitar 1 kg), memakai 3 Batere AA biasa (atau yang rechargable) dan tahan beberapa puluh jam sebelum perlu mengganti batere lagi. Ada dua versi Dana, Wireless dan non wireless, yang akan dibahas di sini adalah versi wireless yang kami punya.
Untuk mentransfer data ke komputer, ada beberapa opsi. Opsi pertama adalah menggunakan mode keyboard, dengan ini seolah-olah Alphasmart akan “mengetik ulang” isi file ke editor apapun yang terbuka di layar komputer. Dengan cara ini AlphaSmart Dana bisa terkoneksi ke device apa saja yang menerima input dari USB keyboard (termasuk juga tablet atau ponsel, asalkan bisa memberikan cukup daya). Kabel yang digunakan adalah kabel USB printer standar. Opsi kedua adalah dengan menggunakan jaringan WIFI (sayangnya yang disupport hanya WEP). Opsi terakhir adalah dengan menggunakan SD Card Lanjutkan membaca “AlphaSmart Dana”
Bulan November merupakan bulan penuh diskon, karena ada 11/11 (singles day) dan ada banyak diskon dari berbagai situs di China, lalu diikuti dengan Black Friday dan Cyber Monday yang penuh dengan diskon global.
Dibandingkan tahun lalu, tidak terlalu banyak diskon yang diberikan oleh AliExpress, benda mahal yang saya beli hanya Proxmark3 versi paling sederhana (tidak memiliki konektor batere) dengan harga 66 USD (termasuk ongkos kirim). Proxmark3 ini adalah tool untuk eksplorasi RFID/NFC.
Sebenarnya dalam banyak kasus berbagai penstest dan hacking NFC bisa dilakukan dengan reader sederhana yang harganya kurang dari 5 USD, tapi proxmark ini diperlukan untuk sniffing dan juga untuk mengakses berbagai kartu yang tidak standar.
Texas Instruments baru saja meluncurkan board MSP43 baru (Launchpad dengan FRAM), dengan harganya 9.9 USD belum termasuk ongkos kirim, tapi saat ini diskon menjadi 4.30 USD (sudah termasuk ongkos kirim). Diskonnya masih ada sampai Desember 2017. Development board dari TI ini bisa dipakai juga memprogram chip MSP430 lain. Lanjutkan membaca “Bulan Penuh Diskon”