Full time iOS dev / mobile security engineer
Part time hacker / tinker
%hook Engineer // Ask me what language this is! - (id)init { self = %orig; self.name = @"Tanner"; // I dabble in a lot more than this, but these are my big 3 π self.languages = @[@"Swift", @"Objective-C", @"TypeScript"]; // Writing jailbreak tweaks is what got me into making iOS apps; // these are all skills I picked up along the way π§ self.skills = @[@"Debugging", @"Performance Profiling", @"Reverse Engineering"]; // Again, I dabble in more than these :) self.frameworks = @[@"UIKit", @"SwiftUI", @"Node", @"React"]; return self; } %end
- Yet another VS Code extensino to make my job easier at work
- Wrote an iOS app 100% with Claude Code that will use Ffmpeg+libx265 to convert videos on-device to H265
- Something you cannot do natively on iOS without using a software encoder, which produces large file sizes
- Very slow on iPhones, so turning this into a Catalyst app too so I can leverage the extra horsepower there
- Useful for reducing video file sizes by up to 90% or more with no perceptible quality difference
- iOS screen recordings are dozens of MBs, this cuts them down to 1-2 MB
- Hopefully I will use Claude Code to finish all my other side projects, like a receipt tracking app, and maybe start more
- Replacing my personal bash scripts with TypeScript Deno scripts
- Had fun writing a script to parse MP4 file headers to check whether a video has the
hvc1tag
- Had fun writing a script to parse MP4 file headers to check whether a video has the
- Wrote a VS Code extension to wrap ourTinder's CLI build tools in a GUI
- Wrote some userscripts to automate common tasks when creating or reveiwing PRs at work (gist)
- My favorite is the one that generates a message like this with a keystroke, for pasting into Slack:
[My small PR](url) `+4 -19` @required-reviewer-1 @required-reviewer-2
- My favorite is the one that generates a message like this with a keystroke, for pasting into Slack:
- Writing jailbreak tweaks for my Mac to fix some minor annoyances with macOS
- Yes, you can write macOS tweaks!
A Swift Codable replacement that uses reflection to create types and map values.
No Codable, no Macrosβjust runtime magic πͺβ¨
let person: (name: String, age: Int) = try Jsum.decode( from: ['name': 'Bob', 'age': 25] )