Douglas Hill @douglashill.co · 29/09/2026Next week, I’ll be hosting a Rust for Mobile Developers round table discussion at next.app devCon. I hope we can learn from each other! It would be great to hear from people coming from Android, Flutter or other backgrounds. Last minute tickets are available until 4 October. 030
Douglas Hill @douglashill.co · 24/07/2026Great evening at NSLondon yesterday. Thank you to Flo for hosting us, and to our speakers Harry, Anastasia and James. I really liked the range of talks. 010
Douglas Hill @douglashill.co · 24/06/2026Looking forward to being back in Wales in September to talk about Rust at iOSDevUK. Early bird conference tickets are available until the end of this month. It’s my favourite and best-value iOS conference. Also let me know if you’re interested in hiking in Eryri/Snowdonia the weekend before. 130
Douglas Hill @douglashill.co · 14/04/2026TIL about the ContactProvider framework on iOS (not Mac). Sounds like a way to build an end-to-end encrypted replacement for iCloud/CalDAV contacts sync if you can get your head around the difference between ContactItemEnumerating and ContactItemEnumerator. 010
Douglas Hill @douglashill.co · 11/03/2026One day I assume there will be a Mac with Internal Headphones to explain the need for this precise copy writing. 050
Douglas Hill @douglashill.co · 05/01/2026Vivaldi tip: The setting to disable autofilling previously entered text in any form field is mislabeled as “Save and Fill Addresses”. Also note that disabling then enabling this setting will suggest text from before you disabled it. 010
Douglas Hill @douglashill.co · 04/12/2025Is there any way to hack Xcode to skip the “The file “whatever.xcodeproj” has been modified by another application” alerts? Xcode writes project changes to disk immediately, so obviously after changing branch I always want the version on disk. 000
Douglas Hill @douglashill.co · 27/11/2025I was impressed by all three talks at NSLondon yesterday evening. I learned a lot from each one. It was a proper mini-conference. Thank you Google/Firebase for hosting us. 030
Douglas Hill @douglashill.co · 22/10/2025That’s some long overdue cleanup. Ask your parents about Default-568h@2x.png. 030
Douglas Hill @douglashill.co · 05/10/2025I was lucky to be in Tirol for the ski season opening on Friday! 040
Douglas Hill @douglashill.co · 22/08/2025Excited about this new book. The sequel to my favourite book of last year. 010
Douglas Hill @douglashill.co · 22/07/2025Interesting email in my inbox. I’m thinking about purchasing Greenland next. 040
Douglas Hill @douglashill.co · 01/04/2025Reminder that calendrical calculations are hard, so you should always use Foundation’s Calendar and DateComponents APIs. 041
Douglas Hill @douglashill.co · 02/03/2025Is there a trick to getting iPad app screenshots to not show rotated on Apple’s anticompetitive store? Looks fine on App Store Connect. I guess maybe because one screenshot is portrait it breaks the others, but the only way to know is to release a new app version and see. 010
Douglas Hill @douglashill.co · 28/02/2025At first, I thought it was a Zoom programming error that this popup appears every time I start a video call on my Mac, but it looks like this is a system feature that boring Zoom users like me should be constantly nagged about. Clicking the × doesn’t do anything. 250
Douglas Hill @douglashill.co · 19/12/2024Acorn is a pretty great Mac app. If I had a time machine, I’d go back and buy version 1 to complete my collection of licence keys. 010
Douglas Hill @douglashill.co · 18/12/2024In the iOS 18.2 SDK, there are 41 header files that escaped Apple’s standard legal preamble and instead show the Xcode default template with the original filename, module name, author and creation date. 1100
Douglas Hill @douglashill.co · 14/12/2024Well this fixed one issue but introduced another. One day I’ll learn to read comments from my previous self. (Line below the added part.) 🙈 020
Douglas Hill @douglashill.co · 12/12/2024We had a nice, relaxed last NSLondon of the year yesterday with a talk from Abizer followed by a quiz. Thanks to Vonage for hosting us and running the quiz. 020
Douglas Hill @douglashill.co · 11/11/2024I tried many things and concluded there’s nothing I can do to sign into my newly-created Instagram account. People using Threads will have to wait until Threads rolls out bidirectional ActivityPub support to be able to follow me. 000
Douglas Hill @douglashill.co · 01/11/2024The Nintendo Music app is here to solve all our problems. It’s pretty good! Sadly they blocked it from download on Mac, but at least it runs on iPad. 010
Douglas Hill @douglashill.co · 10/10/2024In all the discussion about macOS 15’s screen recording permission alerts, I haven’t seen anyone mention that when the alert is shown, the app already has access to the screen. This is an unusual approach to consent. E.g. here’s the excellent Claquette recording its own alert. 3102
Douglas Hill @douglashill.co · 10/09/2024Xcode now has a Hide Listed option for filename extensions. I want to hide .swift but show everything else, so this is much nicer than before where I had six rows of extensions listed. 000
Douglas Hill @douglashill.co · 10/09/2024Which iOS 18 do I want? (If I tap through, the one at the bottom is actually 18.1.) 000
Douglas Hill @douglashill.co · 10/09/2024⚠️ The Shortcuts Save File action doesn’t work for me on macOS 15 Sequoia in a trivial example. It asks for permission, then fails anyway. Giving Shortcuts Full Disk Access didn’t make any difference. Happens with folders other than Desktop too. 000
Douglas Hill @douglashill.co · 04/09/2024Done with my lightning talk on zoom transitions at iOSDevUK 2024. (Not recorded.) Here’s the sample code. Thanks to Vicente Garcia for the photo. 011
Douglas Hill @douglashill.co · 07/08/2024Big day! Automated upload of App Store release notes for all languages now for visionOS with fastlane 2.222.0. This will save so much tedious pasting. 010
Douglas Hill @douglashill.co · 16/07/2024Scotland was beautiful but cold (14ºC in the day). We went swimming, but also booked a sauna on the beach so it sort of balanced out. 000
Douglas Hill @douglashill.co · 14/05/2024Maybe a bug, but I’m no longer able to browse purchased movies in one list in the TV app. Have to browse by genre, which is a game of hide-and-seek given how fuzzy the boundaries are. Worst genre is ‘foreign’, which is a concept I reject and associate with xenophobia. 000
Douglas Hill @douglashill.co · 27/04/2024Trying to write self-documenting ‘code’ in Shortcuts by using clear variable names. This is just to disable a thing, which I think is very common in programming, but it’s so cumbersome. Hoping we get a Swift environment for Shortcuts at some point. 000
Douglas Hill @douglashill.co · 11/04/2024Apparently PDF Viewer made us a nice round TEN MILLION DOLLARS overnight. 🤨 100
Douglas Hill @douglashill.co · 18/02/2024Sölden today. Decent snow at glacier level only. Overcrowded (not pictured). I was amused by the announcement about the “zero zero seven elements” experience. 010
Douglas Hill @douglashill.co · 02/02/2024And… PDF Viewer for Apple Vision Pro is out. The highlights are in the announcement post. 000
Douglas Hill @douglashill.co · 24/01/2024Just in case anyone happens to have an Apple Vision Pro, you can now download PDF Viewer from TestFlight! 000
Douglas Hill @douglashill.co · 22/01/2024Submitted PDF Viewer for Apple Vision Pro for app review, complete with upscaled and cropped screenshots. Hopefully it works! 020
Douglas Hill @douglashill.co · 18/01/2024Speaking of Trainline, Google are scamming them here selling ads for their own service doing what I’m already doing. 🇮🇹 000
Douglas Hill @douglashill.co · 11/01/2024Pro tip: to follow Apple’s style guide about not splitting Apple Vision Pro onto multiple lines, create a text replacement that already includes non-breaking spaces. 000
Douglas Hill @douglashill.co · 10/01/2024Some of my Christmas baking. Not-quite Linzer Augen: Panettone and biscotti: Cheese-stuffed bread balls with sweet peppers: 030
Douglas Hill @douglashill.co · 08/01/2024Style guides are hard (source) They’ve done this using CSS white-space: nowrap: Apple Vision Pro — but missed it in some places. An alternative is to use non-breaking spaces (option + space): Apple Vision Pro — this will work if CSS is removed, such as in my reading app. 031
Douglas Hill @douglashill.co · 31/12/2023With instructions for party tonight of “most surprising party snack”, I made miso-walnut onigiri. 010
Douglas Hill @douglashill.co · 17/12/2023Christmas baking commences! Made these for the local “mince pie run” this weekend. 010
Douglas Hill @douglashill.co · 01/12/2023Second day off work. Almost all the day was taken up with some errands in town, a misty and frosty run in the woods, and putting yesterday’s course into practice making ramen and gyoza at home. 010
Douglas Hill @douglashill.co · 30/11/2023Started a long weekend with a day at cookery school making ramen and gyoza. Learned a lot, and it was very tasty. Went as not vegetarian for the day. 000
Douglas Hill @douglashill.co · 25/11/2023Link to Bluesky profile in Bluesky app => Potentially Misleading Link. You couldn’t make this up. 110