{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - Ben Fox","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/fox","_microblog":{"about":"https://micro.blog/about/api","id":"1805","username":"fox","bio":"Just chillin hbu","pronouns":"","is_following":false,"is_you":false,"following_count":2,"discover_count":0},"author":{"name":"Ben Fox","url":"","avatar":"https://www.gravatar.com/avatar/52ffe5b908c877c35e4a0a7f8e41cd0e?s=96&d=https%3A%2F%2Fmicro.blog%2Fimages%2Fblank_avatar.png"},"items":[{"id":"82235321","content_html":"<p>Manage Substack publication without using its custom domain: <a href=\"https://ben.ffox.ca/2026/01/16/manage-substack-publication-without-using.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2026/01/16/manage-substack-publication-without-using.html","date_published":"2026-01-17T02:02:35+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2026-01-17 02:02","date_timestamp":1768615355,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"70421221","content_html":"<p>Get files from Xcode Simulator's Files app: <a href=\"https://ben.ffox.ca/2025/08/03/get-files-from-xcode-simulators.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2025/08/03/get-files-from-xcode-simulators.html","date_published":"2025-08-03T18:14:01+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2025-08-03 18:14","date_timestamp":1754244841,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"65540489","content_html":"<p>Expand all large diffs in a GitHub pull request: <a href=\"https://ben.ffox.ca/2025/05/29/expand-all-large-diffs-in.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2025/05/29/expand-all-large-diffs-in.html","date_published":"2025-05-29T18:59:57+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2025-05-29 18:59","date_timestamp":1748545197,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"61785285","content_html":"<p>UIImage orientation enum cases: <a href=\"https://ben.ffox.ca/2025/04/08/uiimageorientation-case-labels-and-integer.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2025/04/08/uiimageorientation-case-labels-and-integer.html","date_published":"2025-04-08T20:57:53+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2025-04-08 20:57","date_timestamp":1744145873,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"45379368","content_html":"<p>How do I checkout a PR from a fork? <a href=\"https://ben.ffox.ca/2024/09/12/you-dont-need.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2024/09/12/you-dont-need.html","date_published":"2024-09-12T21:55:48+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-09-12 21:55","date_timestamp":1726178148,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"41324262","content_html":"<p><a href=\"https://www.kairadiagne.com/2020/01/13/nssecurecoding-and-transformable-properties-in-core-data.html\">NSSecureCoding and transformable properties in Core Data</a></p>\n<p>Fixes:</p>\n<blockquote>\n<p>One or more models in this application are using transformable properties with transformer names that are either unset, or set to NSKeyedUnarchiveFromDataTransformerName.</p>\n</blockquote>\n","summary":"","url":"https://ben.ffox.ca/2024/07/11/nssecurecoding-and-transformable.html","date_published":"2024-07-11T18:55:10+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-07-11 18:55","date_timestamp":1720724110,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"40215545","content_html":"<p><a href=\"https://www.jessesquires.com/blog/2024/05/29/swiftpm-package-resolved-xcode/\">Workaround: Xcode deletes Package.resolved file and produces ‘missing package product’ errors</a></p>\n<p>I didn’t implement the suggested workaround, but this post did convince me to stop trying to fix this bug myself.</p>\n","summary":"","url":"https://ben.ffox.ca/2024/06/24/workaround-xcode-deletes.html","date_published":"2024-06-24T19:46:08+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-06-24 19:46","date_timestamp":1719258368,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"39913796","content_html":"<p>OpenAI API: image_url is only supported by certain models. <a href=\"https://ben.ffox.ca/2024/06/19/openai-api-imageurl.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2024/06/19/openai-api-imageurl.html","date_published":"2024-06-20T00:39:51+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-06-20 00:39","date_timestamp":1718843991,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"33659970","content_html":"<p>Command CompileAssetCatalog failed with a nonzero exit code: <a href=\"https://ben.ffox.ca/2024/03/16/command-compileassetcatalog-failed.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2024/03/16/command-compileassetcatalog-failed.html","date_published":"2024-03-17T04:59:13+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-03-17 04:59","date_timestamp":1710651553,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"32934074","content_html":"<a href=\"https://www.tumblr.com/kaaramel/649741651544244224/congratulations-to-my-new-favorite-minor-murderbot\">\n<img src=\"https://cdn.uploads.micro.blog/1029/2024/kaaramel-jollybaby.png\" width=\"600\" height=\"587\" alt=\"\" loading=\"lazy\">\n</a>\n","summary":"","url":"https://ben.ffox.ca/2024/03/05/123531.html","date_published":"2024-03-05T20:35:31+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-03-05 20:35","date_timestamp":1709670931,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"32492773","content_html":"<p><a href=\"https://www.hackingwithswift.com/quick-start/swiftui/how-to-detect-when-your-app-moves-to-the-background-or-foreground-with-scenephase\">How to detect when your app moves to the background or foreground with scenePhase</a></p>\n","summary":"","url":"https://ben.ffox.ca/2024/02/27/how-to-detect.html","date_published":"2024-02-28T02:05:26+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-02-28 02:05","date_timestamp":1709085926,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"32475686","content_html":"<p><a href=\"https://developer.apple.com/documentation/swiftui/view/persistentsystemoverlays%28_:%29\">Use persistentSystemOverlay to hide the Window Bar on visionOS apps</a></p>\n","summary":"","url":"https://ben.ffox.ca/2024/02/27/use-persistentsystemoverlay-to.html","date_published":"2024-02-27T19:48:47+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-02-27 19:48","date_timestamp":1709063327,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"32432933","content_html":"<p><a href=\"https://gist.github.com/marslin1220/6d4774b56a34dd9b32ced1b9d3d60a4f\">How to create an HTTP GET request in Swift Playground</a></p>\n","summary":"","url":"https://ben.ffox.ca/2024/02/26/how-to-create.html","date_published":"2024-02-27T01:42:45+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-02-27 01:42","date_timestamp":1708998165,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"30971889","content_html":"","summary":"","url":"https://visionboard.dev/2024/02/13/test-post-please.html","date_published":"2024-02-14T02:29:48+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2024-02-14 02:29","date_timestamp":1707877788,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"27027106","content_html":"<p><a href=\"http://photoshoptutorials.wizapps.org/apps/how-to-create-a-realistic-pressed-leather-effect-in-photoshop/\">How to Create a Realistic Pressed Leather Effect in Photoshop</a> (<a href=\"https://web.archive.org/web/20231128032010/http://photoshoptutorials.wizapps.org/apps/how-to-create-a-realistic-pressed-leather-effect-in-photoshop/\">archived</a>)</p>\n","summary":"","url":"https://ben.ffox.ca/2023/11/27/how-to-create.html","date_published":"2023-11-28T03:21:34+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-11-28 03:21","date_timestamp":1701141694,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"26932337","content_html":"<p><a href=\"https://github.com/domschl/WinSteamOnMac/\">How to install the Windows version of Steam on macOS Sonoma</a></p>\n<blockquote>\n<p>We will install the x86 version Homebrew in order to be able to use Apple’s modified version of Wine\nand to install the Windows version Steam.</p>\n<p>We will make sure that our existing environment (and the Apple silicon version of Homebrew we need for ‘serious’ work) remains undisturbed.</p>\n</blockquote>\n<p>works on my machine ¯\\_(ツ)_/¯</p>\n","summary":"","url":"https://ben.ffox.ca/2023/11/25/how-to-install.html","date_published":"2023-11-25T23:53:37+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-11-25 23:53","date_timestamp":1700956417,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"24736188","content_html":"<p>Keep tags when forking a GitHub repository: <a href=\"https://ben.ffox.ca/2023/10/10/keep-tags-when.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2023/10/10/keep-tags-when.html","date_published":"2023-10-10T18:39:46+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-10-10 18:39","date_timestamp":1696963186,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"24232351","content_html":"<p>Weval: synth GOAT</p>\n\n<div>\n  <p><a href=\"https://www.youtube.com/watch?v=GfvVcOCH26Q\">youtube.com/...</a></p>\n</div>\n\n","summary":"","url":"https://ben.ffox.ca/2023/09/29/weval-is-synth.html","date_published":"2023-09-29T17:30:41+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-09-29 17:30","date_timestamp":1696008641,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"24044462","content_html":"<p>Logging all UIAccessibility capabilities: <a href=\"https://ben.ffox.ca/2023/09/25/logging-all-uiaccessibility.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2023/09/25/logging-all-uiaccessibility.html","date_published":"2023-09-25T20:42:46+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-09-25 20:42","date_timestamp":1695674566,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"23769970","content_html":"<p>Adding Apple Universal Links to Webflow <img src=\"https://micro.blog/photos/50/https://cdn.uploads.micro.blog/1029/2023/lisa.jpg\" width=\"20\" height=\"20\" class=\"mini_thumbnail\" alt=\"\"> : <a href=\"https://ben.ffox.ca/2023/09/19/adding-apple-universal.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2023/09/19/adding-apple-universal.html","date_published":"2023-09-19T22:30:52+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-09-19 22:30","date_timestamp":1695162652,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"23767308","content_html":"<p>Testing iOS universal links: <a href=\"https://ben.ffox.ca/2023/09/19/testing-ios-universal.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2023/09/19/testing-ios-universal.html","date_published":"2023-09-19T21:10:50+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-09-19 21:10","date_timestamp":1695157850,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"23767114","content_html":"<p>Testing some deep links:</p>\n<p><a href=\"https://penbook.app/create/test\">Create notebook</a></p>\n","summary":"","url":"https://ben.ffox.ca/2023/09/19/testing-some-deep.html","date_published":"2023-09-19T21:05:07+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-09-19 21:05","date_timestamp":1695157507,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"23280536","content_html":"<p><a href=\"https://ryanashcraft.com/what-i-learned-writing-my-own-cloudkit-sync-library/\">What I Learned Writing My Own CloudKit Syncing Library</a></p>\n<blockquote>\n<p>CloudKit implements rate limiting. It has a special CKError code for this, requestRateLimited, but I’ve actually never seen an error with this code. In practice, rate limiting is indicated by serviceUnavailable (CKError 6, HTTP code 503).</p>\n</blockquote>\n<img src=\"https://cdn.uploads.micro.blog/1029/2023/scropio.jpg\" width=\"600\" height=\"337\" alt=\"\" loading=\"lazy\">\n","summary":"","url":"https://ben.ffox.ca/2023/09/08/what-i-learned.html","date_published":"2023-09-08T16:06:06+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-09-08 16:06","date_timestamp":1694189166,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"23251403","content_html":"<p>CloudKit CKErrors: Raw values and case names: <a href=\"https://ben.ffox.ca/2023/09/07/cloudkit-ckerrors-raw.html\">ben.ffox.ca</a></p>","summary":"","url":"https://ben.ffox.ca/2023/09/07/cloudkit-ckerrors-raw.html","date_published":"2023-09-08T00:58:38+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-09-08 00:58","date_timestamp":1694134718,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"30970935","content_html":"In between expanding Penbook’s PDF capabilities and preparing for iOS 17 release this fall, we have continued pushing our vision 😉 for Penbook inside Vision Pro. We’ve just attended our second visionOS lab in Cupertino which gave us some valuable time with the device.\n\n\nThis video is a weak facsimile of th... <a href=\"https://visionboard.dev/2023/08/17/in-between-expanding.html\">visionboard.dev</a>","summary":"","url":"https://visionboard.dev/2023/08/17/in-between-expanding.html","date_published":"2023-08-17T22:54:58+00:00","author":{"name":"Ben Fox","url":"","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F52ffe5b908c877c35e4a0a7f8e41cd0e%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"fox"}},"_microblog":{"date_relative":"2023-08-17 22:54","date_timestamp":1692312898,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}}]}