If a thing is worth doing, it is worth doing badly.
— G. K. Chesterton
This is a blog where I create - and document - new projects.
This site uses Google Analytics. No personally identifiable information is sent or stored. You can disable Google Analytics on this site using the Do Not Track mode of your browser.
- Jailbroken iOS can't run macOS apps. I spent a week to find out why.
- Disable Same Origin Policy in iOS WKWebView with private API
- Examining CVE-2020-27932 on macOS 10.15.7
- Booting a macOS Apple Silicon kernel in QEMU
- Build macOS ARM apps in Xcode without a real macOS ARM SDK
- I tricked m3.euagendas.org, the Twitter analysis website, with adversarial inputs
- Rendering SwiftUI views to HTML
- Use GPU passthrough with Intel integrated graphics to accelerate QEMU on Fedora
- Crash Chrome 70 with the SQLite Magellan bug
- Learn how iOS devices sync over USB by enabling usbmuxd's debug logs
- How a kids' novel inspired me to simulate a gene drive on 86 million genealogy profiles
- Comparing Qualcomm's XBL UEFI bootloaders on Snapdragon 820, 835, and 845
- It's impossible to port Animoji to iPad Air
- Tutorial - emulate AIX 7.2 in QEMU
- Compile Metal shader Bitcode to x86 and ARM assembly
- Create Memoji on iPad with Swift Playgrounds
- Changing macOS's uptime with a kernel extension
- Tutorial - emulate an iOS kernel in QEMU up to launchd and userspace
- Almost booting an iOS kernel in QEMU
- Fixing macOS native tabs for Visual Studio Code
- Extracting libraries from dyld_shared_cache
- Port an iOS app to macOS 10.14 in 5 minutes
- iOS Simulator's secret trick to enable case sensitivity
- Fixing two small bugs in Visual Studio Code
- These 299 macOS apps are so buggy, Apple had to fix them in AppKit
- Accessing screenshots from Android's Recent Apps screen