Special Books
- Jonathan Livingston Seagull by Richard Bach
- Nothing by Chance by Richard Bach
- The Notebooks of Lazarus Long by Robert Heinlein
- Time Enough for Love by Robert Heinlein
- The Bestseller by Olivia Goldsmith
- Zen in the Art of Writing by Ray Bradbury
- Writing for Story by Jon Franklin
- The Right Stuff by Tom Wolfe
- The Soul of a New Machine by Tracy Kidder
- Where Wizards Stay Up Late by Katie Hafner
Finished reading: Beautiful Ruins by Jess Walter 📚
Finished reading: So Far Gone A Novel by Jess Walter 📚I met Jess a few weeks ago at the Santa Barbara Writers Conference, and found a new favorite author.
The more I get to know Instruments, the more I believe it should be introduced to coding students much earlier on. There is magic in measuring what’s happening inside your code beyond just matching inputs and expected outputs.
This is as close as any Apple developer video gets to “must see.” Matthew Massicotte presents a 20 minute tour of Swift Concurrency is new and hard, and you can do it.
Hard won lessons – Swift Type Checker
The root cause of a warning “Unable to type-check this expression” is not always inside the source file where it appears. I made a typo in computed property in a model object that caused the entire body to fail on the main screen.
After breaking it up into dozens of pieces trying to isolate the problem, it appeared as a different, still confusing error. But that error lead to the fix - changing a computed property from an optional into an Int.
In hindsight I should have just kept commenting out sections of the body until I’d isolated the culprit, rather than break it into sub-expressions.
I made a new thing! A simple way to add basic logging and Instrument tracking.
There are countless ways to get started with logging, and this one is my quick-start preference.
Add the file to any module, and it sets up a basic logger and signposts (visible in Instruments.) Instructions for each item’s call site are in the comments.
A general purpose global logging and signpost configuration file
An excellent video covering Xcode Terminology from Stewart Lynch.
Want to read: The Ten Thousand Doors of January by Alix E. Harrow 📚
Currently reading: The Demon of Unrest by Erik Larson 📚
Just finished re-reading: Bad Monkey by Carl Hiaasen 📚. Getting ready for the AppleTV+ show later this summer.
2024 WWDC Notebook
👀 The Xcode Essentials talk clocks in at 36m, and while some of the things in it apply to the Xcode beta, so many of the capabilities demoed are already in Xcode 15 and earlier. It is a must-see for anyone new to Xcode and a solid refresher for everyone else. Watch: Developer App and YouTube.
👀 Run, Break, Inspect: Explore effective debugging in LLDB is excellent. Developer App and YouTube
👀 What’s New in Swift. Developer App and YouTube
👀 Analyze Heap Memory is a dive into the sometimes esoteric but vital to understand topic of memory. Developer App and YouTube.
👀 Explore Swift Performance is a tour de force by the amazing John McCall. Keep re-watching and learning until it makes sense. Developer App and YouTube.
👀 Create a Custom Store with SwiftData. Don’t miss this if you want to store data in your app in a JSON file. Developer App and YouTube.
👀 SwiftUI Essentials. This video is incredible. I didn’t watch it until late June. It is perhaps the best overview of SwiftUI I have ever seen. Developer App and YouTube.
More to come…
Developer Toolkit
A mix of tools I use every day, and tools I’ve found useful. Many of these are in SetApp.
Primary
Xcode Apple’s IDE (don’t overlook Instruments!)
BBEdit Bulletproof Text Editor
DevUtils JSON validator and much more
JuxtaCode Diffs and Merge tool
Carbon Copy Cloner Local Backup
Tower My fav GitHub client, for nostalgic reasons mostly. Xcode 15 does what I need. Tower is expensive but useful for newbies because of its extensive help and support.
Secondary
Swift Playgrounds Experiment here!
Glance Quick Look Code Files in the Finder
Bakery Icons for Dev versions
GitHub Desktop Free! Excellent GUI. Does what you need.
RocketSim Add-on for Xcode iOS Simulator
Essential Editors JSON, Plist, and CSV editors
Networking
Proxyman Reveal HTTP Network Traffic
RapidAPI for Mac Formerly MacPaw. API tool
Special Projects
Nova Panic’s code editor
GitFinder GitHub in the Finder
EditKit Pro Xcode Extension
XCOrganizer Tag Xcode project files
Docs/Snippets
Dash Docs
A Companion for SwiftUI A menu of SwiftUI components
Libraried: UI Components iPad, although works on Mac
SnippetsLab Code Snippet Library
TeaCode Code Snippet Library
Design
DetailsPro macOS and iOS
Adaptivity macOS and iOS
Mock-up UI wireframe and prototyping design tool. macOS and iOS
And lastly, finished: Beyond the Blue Event Horizon by Frederik Pohl 📚
Still another vacation read: The Last Mile by David Baldacci 📚
Vacation Read Number 2: Finished Memory Man by David Baldacci 📚
Great walk down memory lane on the latest episode of ATP. I forgot I had a Netcom account!
It also made me think of my very first hard disk, circa 1985 or ‘86, amid tales of swapping disks between the system and the data.
Just finished another re-read in audio form: Native Tongue by Carl Hiaasen 📚
Almost made me miss the mess that is the keys. Almost.
Memory Lane
My early programming steps were taken on a Sharp EL5100 and not long after, an HP41CV.
Before the Sharp was my trusty (unprogrammable) TI-30.
Another memory, remember Dektol?