Welcome to tewha.net, where I put my writings. Some of these are very old and no longer represnt my thinking.
Latest Posts
- macOS Tahoe Impressions
- Desktop database viruses
- How not to write shitty code: Intentional Conditions
- Don’t install Zoom
- Encryption Back Doors
- No, it’s not worse
- Multithreaded Core Data
- 15 months with my Apple Watch
- We need better
- Info.plist for command line tools
- How to fix UITableView rows changing size
- Defending Facebook
- Learn Swift
- Debugging app upload
- Built-in categories
- On Frameworks
- Change back button title
- Empathy in pricing
- Check your thread
- Presenting BlockAssert
- Against GCC_WARN_SHADOW
- C99 initializers
- Why you should use instancetype instead of id
- When is id promoted to instancetype?
- A primer on @property and dot syntax
- Trimming a level of indent with @synchronized and @autoreleasepool
- Reachability
- View Controller Lifecycle in iOS 6
- Make your library enforce ARC
- How to avoid starting view controllers in the wrong orientation on startup
- You don’t have to have 16:9 on day 1
- Objective-C Feature Availability Index
- Do not release ARMv7s code until you have tested it
- ADC incidents
- Don’t write viewDidUnload
- Modern Objective-C with iOS 5
- Restart Xcode now
- Keyboard type is not a validator
- Make a symbolic link from Finder
- How to sync Xcode 4’s key bindings and code snippets
- Wireless proxies may re-compress your files
- AFNetworking: a well managed open source project
- Using blocks to handle errors
- Networking using NSURLConnection
- Don’t write new apps that target iOS 4
- Automatic Reference Counting
- Handling 302/303 redirects
- Use a Build Phase to validate XML
- Creativity is not a product of thinking
- I’ve changed my mind about Xcode snapshots
- How the iPhone GPS differs from a standalone navigation GPS
- Dennis Ritchie
- Steve Jobs shaped my life
- An imaginary conversation with Xcode 4 regarding snapshots
- Objective-C memory management
- How to reset Wii to lower resolution
- Blocks to remove redundancy
- Xcode tip: Renaming files shared by projects
- Flux adjusts your monitor’s color temperature
- Better Xcode warnings through .xcconfig files
- Changing UINavigationBar’s title text color
- New iPods and free ponies for all
- A one day project
- Learning a new programming language
- The secret to enjoying Xcode
- iTunes zoom behavior
- On skins and plugins
- Xcode and iPhone OS 3.0.1
- Coding tips for new iPhone developers from a new iPhone developer
- Macworld Keynote
- Loving Xcode + iPhone SDK
- Mac OS X interface flaws
- Microsoft doesn’t get it
- WarpedVisions on Objective-C, square 1
- The sad case of Palm
- LaCie Quadra d2
- Hot hardware
- Props to Simply Computing
- One App At a Time… Always?
- .Mac thoughts
- Apple claims fix to Time Machine security bug
- Hierarchical menus suck
- HTML search fields
- Your app has a job, and it isn’t updating itself.
- New in Leopard: Global Login Items?
- Mac OS X runs deleted applications
- Leopard: First impressions
- Completely impossible isn’t.
- First impressions of Final Cut Pro
- A brief conversation on web standards
- ↩ in URLs
- I want my ↩!
- How not to do a 30 day trial
- Windows Installers made… less painful
- Q-XPACK 2
- Domain names
- Qt part 1: Project configuration
- Comparing Mac Minis to PowerBooks