I regularly write about software, hardware, and security. After work, I like playing around with all sorts of stuff – this is what you will find here.

howtoMethods of extracting firmware from IoT devices – Part TwoExplore Device Trees, utilize binwalk, customize OpenWrt, and dive into the analysis/unpacking of vendor IoT device firmware. Venture into the realm of static binary analysis, ultimately unveiling the path to gaining root access.November 16, 2023
howtoMethods of extracting firmware from IoT devices – Part OneThe multiple ways to extract firmware from generic IoT devices and their (lack of) compliance with the GPL.November 10, 2023
howtoFlashing Libreboot, blob free booting and why hardware security is hard – Part twoFlashing Libreboot to the Dell E6400. Finally, a fully blob free and open source booting system.September 19, 2023
howtoLibreboot, why and how – Part oneUsing Libreboot to create a secure operating environment, free from binary blobs and back-doors.September 11, 2023
howtoBasic intro to GNU Radio -- Tune a FM stationRTL, GNU Radio and a FM radio stationFebruary 24, 2023
howtoHow to setup IPFS on DebianSetting up IPFS on Debian in a secure mannerNovember 28, 2022
codeBasic Rust code to read CanBus FramesReading CanBus data with rust, a basic exampleOctober 19, 2022
codeRescued an Australian made CRT oscilloscopeRescued a BWD 506 Australian made CRT oscilloscopeOctober 24, 2021
codeEarthly templates with a focus on MicroPython firmware buildingCustom repository of earthly templatesSeptember 24, 2021
howtoU2F setup for lightdm login/screensaverHow to set up U2F for lightdmSeptember 19, 2020
howtoU2F setup for sudoHow to set up U2F for sudoAugust 27, 2020
howtoYubiKey GPG setup updatedUpdated guide to setting up GPG on the YubikeyJuly 25, 2020
12 of 112 seen