41554 blogs · [ { "id": "01a0d82e-f8e7-7060-975d-fa2b0c4c792a", "title": "Swift Libraries and the Pico SDK", "url": "https://emorydunn.com/blog/2026/09/pico-spm", "published_at": "2026-09-22T19:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1676965748", "title": "Swift Stream Deck Update", "url": "https://emorydunn.com/blog/2026/09/stream-deck", "published_at": "2026-09-05T01:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16777d7ff7", "title": "Profoto Acute Speaker", "url": "https://emorydunn.com/blog/2026/08/profoto-speaker", "published_at": "2026-08-20T22:15:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167836a254", "title": "Take Stock 2026.1", "url": "https://emorydunn.com/blog/2026/05/take-stock", "published_at": "2026-05-12T01:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167858fc27", "title": "Prototyping a Custom GameBoy Cart", "url": "https://emorydunn.com/blog/2026/02/c1-cart", "published_at": "2026-02-02T01:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1678868974", "title": "Forrest in Fog", "url": "https://emorydunn.com/blog/2026/01/forrest-in-fog", "published_at": "2026-02-01T03:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16797d702b", "title": "Cold Lights", "url": "https://emorydunn.com/blog/2025/12/cold-light", "published_at": "2025-12-03T02:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16798345ef", "title": "Building a TIFF by Hand", "url": "https://emorydunn.com/blog/2025/11/tiff", "published_at": "2025-11-15T01:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167993e2d5", "title": "Capturebot 2 Updates", "url": "https://emorydunn.com/blog/2025/09/capturebot", "published_at": "2025-09-02T20:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1679df0d7c", "title": "Athens & the Acropolis", "url": "https://emorydunn.com/blog/2025/06/athens", "published_at": "2025-06-28T00:40:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167aac9819", "title": "Building a Swift Button", "url": "https://emorydunn.com/blog/2025/03/swift-button", "published_at": "2025-03-29T23:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167b89f272", "title": "Capturebot 2", "url": "https://emorydunn.com/blog/2025/03/capturebot", "published_at": "2025-03-03T21:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167c15962e", "title": "Update: First Contact", "url": "https://emorydunn.com/blog/2025/01/first-contact-20251", "published_at": "2025-01-28T18:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167cda8f67", "title": "First Contact — Reengineered", "url": "https://emorydunn.com/blog/2024/10/first-contact", "published_at": "2024-10-16T20:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167d4be261", "title": "Capture One Stream Deck Plugin Update", "url": "https://emorydunn.com/blog/2024/09/c1-plugin", "published_at": "2024-09-25T20:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167db036a3", "title": "Printing a Point & Shoot", "url": "https://emorydunn.com/blog/2024/09/point-and-shoot", "published_at": "2024-09-18T00:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167df0a95b", "title": "XOXO", "url": "https://emorydunn.com/blog/2024/09/xoxo", "published_at": "2024-09-02T17:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167eb58e89", "title": "Capture One: GameBoy Edition", "url": "https://emorydunn.com/blog/2024/08/c1gb", "published_at": "2024-08-18T22:45:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167ed4100d", "title": "ScreeningRoom Revisited", "url": "https://emorydunn.com/blog/2024/04/ScreeningRoom-Revisited", "published_at": "2024-04-12T22:45:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167f3d3535", "title": "Planarity", "url": "https://emorydunn.com/blog/2024/03/Planarity", "published_at": "2024-04-02T16:45:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba167ff13813", "title": "Capture One Stream Deck Plugin Update", "url": "https://emorydunn.com/blog/2024/01/c1-plugin", "published_at": "2024-01-10T01:45:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1680b4d71e", "title": "Adding Proper Metadata to Film Scans", "url": "https://emorydunn.com/blog/2023/12/film-metadata", "published_at": "2023-12-07T02:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1681a81e96", "title": "A Future of Capture One for iPhone", "url": "https://emorydunn.com/blog/2023/10/c1-mobile", "published_at": "2023-10-29T16:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16822e60d0", "title": "False Color in Capture One", "url": "https://emorydunn.com/blog/2023/09/c1-false-color", "published_at": "2023-09-29T00:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1682c39069", "title": "FSI GPI Controller", "url": "https://emorydunn.com/blog/2023/06/fsi-gpi", "published_at": "2023-06-06T23:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1683341ca3", "title": "Sorted Trash in Capture One", "url": "https://emorydunn.com/blog/2023/04/sorted-trash", "published_at": "2023-04-13T17:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1683f7fccd", "title": "Guidelines 2023.1", "url": "https://emorydunn.com/blog/2023/03/guidelines", "published_at": "2023-03-11T03:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168452b6fe", "title": "Capture Naming as Metadata", "url": "https://emorydunn.com/blog/2023/01/tethered-capture", "published_at": "2023-01-08T01:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1684e98934", "title": "New York City", "url": "https://emorydunn.com/gallery/photography/nyc-2022", "published_at": "2022-12-22T03:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1685064150", "title": "Screening the Next Version of ScreeningRoom", "url": "https://emorydunn.com/blog/2022/11/ScreeningRoom", "published_at": "2022-11-14T01:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1685286710", "title": "Capture One Plugin Update", "url": "https://emorydunn.com/blog/2022/10/c1-plugin-20226", "published_at": "2022-11-01T00:50:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1685f2a252", "title": "Capture One 9 Up", "url": "https://emorydunn.com/blog/2022/09/capture-one-9-up", "published_at": "2022-09-28T03:20:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16866d3683", "title": "Building a Finder Extension for Capture One", "url": "https://emorydunn.com/blog/2022/06/capture-finder", "published_at": "2022-06-30T02:20:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1686e352e4", "title": "Introducing First Contact", "url": "https://emorydunn.com/blog/2022/06/introducing-first-contact", "published_at": "2022-06-18T21:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168703852b", "title": "Building a Network Rack", "url": "https://emorydunn.com/blog/2022/06/network-rack", "published_at": "2022-06-18T00:45:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1687ac877c", "title": "ScreeningRoom 2022.3", "url": "https://emorydunn.com/blog/2022/03/screeningroom-20223", "published_at": "2022-03-17T21:42:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1687d903c9", "title": "Capturebot Lite 2022.2", "url": "https://emorydunn.com/blog/2022/02/capturebot-lite-20222", "published_at": "2022-02-27T02:50:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1688d5743c", "title": "Hexadecimal LED Display", "url": "https://emorydunn.com/blog/2022/02/hex-led-display", "published_at": "2022-02-09T06:26:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1688ee59a5", "title": "ScriptSetter 2022.1", "url": "https://emorydunn.com/blog/2022/01/ScriptSetter", "published_at": "2022-01-19T00:48:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1689e172a8", "title": "SwiftOccupancy", "url": "https://emorydunn.com/blog/2022/01/SwiftOccupancy", "published_at": "2022-01-10T00:15:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168a8b1c7c", "title": "Camera Setting Monitor Script", "url": "https://emorydunn.com/blog/2022/01/camera-setting-monitor", "published_at": "2022-01-09T02:48:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168a8d3cc2", "title": "Introducing ScreeningRoom", "url": "https://emorydunn.com/blog/2022/01/introducing-screeningroom", "published_at": "2022-01-04T02:48:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168b324349", "title": "Plotting Polynomials", "url": "https://emorydunn.com/blog/2021/10/plotting-polynomials", "published_at": "2021-10-16T23:20:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168b7b1319", "title": "ISO Cube Plots", "url": "https://emorydunn.com/blog/2021/05/iso-cubes", "published_at": "2021-06-08T22:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168c25aaff", "title": "Capturebot 2021.1", "url": "https://emorydunn.com/blog/2021/05/capturebot-20211", "published_at": "2021-06-01T00:04:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168c468c07", "title": "Voigtländer Brillant", "url": "https://emorydunn.com/blog/2021/05/voigtlander-brillant", "published_at": "2021-05-20T23:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168c55cd2e", "title": "Spirals", "url": "https://emorydunn.com/blog/2021/04/spirals", "published_at": "2021-04-27T20:15:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168cfecbab", "title": "Ray Tracing Redux", "url": "https://emorydunn.com/blog/2021/01/19/ray-tracing-redux", "published_at": "2021-01-19T17:24:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168d0b4c38", "title": "Air Quality Monitors", "url": "https://emorydunn.com/blog/2020/12/20/air-quality-monitors", "published_at": "2020-12-20T22:17:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168dcd16b7", "title": "Forgotten Plots", "url": "https://emorydunn.com/blog/2020/11/09/forgotten-plots", "published_at": "2020-11-09T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168e4d687e", "title": "Placeholder Art", "url": "https://emorydunn.com/blog/2020/09/28/placeholder-art", "published_at": "2020-09-28T16:30:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168e7c9642", "title": "Sonoff L1 & Home Assistant", "url": "https://emorydunn.com/blog/2020/08/10/sonoff-l1-&-home-assistant", "published_at": "2020-08-11T01:10:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168ee744af", "title": "SwiftGraphics", "url": "https://emorydunn.com/blog/2020/07/28/swiftgraphics", "published_at": "2020-07-28T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168f29c66b", "title": "Capturebot 2020.2", "url": "https://emorydunn.com/blog/2020/06/28/capturebot-20202", "published_at": "2020-06-29T00:27:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba168f606fc1", "title": "Generative Art in Swift", "url": "https://emorydunn.com/blog/2020/05/23/swiftgraphics", "published_at": "2020-05-23T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16901c8360", "title": "Processing & Generative Art", "url": "https://emorydunn.com/blog/2020/04/01/processing-&-generative-art", "published_at": "2020-04-01T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1690e851e2", "title": "A Useless Picture Frame", "url": "https://emorydunn.com/blog/2020/03/27/a-useless-picture-frame", "published_at": "2020-03-28T01:00:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1691c04432", "title": "CaptureCursor", "url": "https://emorydunn.com/blog/2020/02/18/capture-cursor", "published_at": "2020-02-18T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1691c53a20", "title": "Capturebot: Take 3", "url": "https://emorydunn.com/blog/2020/02/07/capturebot-take-3", "published_at": "2020-02-07T18:07:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169239cdb3", "title": "GeoVisualizer", "url": "https://emorydunn.com/blog/2020/01/29/geovisualizer", "published_at": "2020-01-29T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1692c66a9a", "title": "Capture One Background Scripts", "url": "https://emorydunn.com/blog/2020/01/07/capture-one-background-scripts", "published_at": "2020-01-07T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1692d147f4", "title": "More Constructed Paper", "url": "https://emorydunn.com/blog/2019/10/20/more-constructed-paper", "published_at": "2019-10-20T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1692e2951e", "title": "Update: Background Scripts Plugin", "url": "https://emorydunn.com/blog/2019/08/22/background-scripts-update", "published_at": "2019-08-22T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16930a3ea5", "title": "Landscapes and Glitches", "url": "https://emorydunn.com/blog/2019/07/13/landscapes-and-glitches", "published_at": "2019-07-13T16:35:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16937bbe5f", "title": "Background Scripts Plugin", "url": "https://emorydunn.com/blog/2019/06/12/background-scripts-plugin", "published_at": "2019-06-12T21:11:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1693b14ad8", "title": "Constructed Paper", "url": "https://emorydunn.com/blog/2019/06/02/constructed-paper", "published_at": "2019-06-02T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169471fc33", "title": "Capturebot Beta Updates", "url": "https://emorydunn.com/blog/2019/05/20/capturebot-beta-updates", "published_at": "2019-05-20T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16949e6eb1", "title": "Removing JavaScript", "url": "https://emorydunn.com/blog/2019/05/14/removing-javascript", "published_at": "2019-05-14T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1695469ef6", "title": "Adapting a Digital Back to a 6x9 Field Camera", "url": "https://emorydunn.com/blog/2019/04/29/adapting-a-field-camera", "published_at": "2019-04-29T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1695b8f7c3", "title": "Adding a Counter to URL in Swift", "url": "https://emorydunn.com/blog/2019/04/01/url-counter", "published_at": "2019-04-02T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1696077d75", "title": "Laydown Test with Victoria Lau", "url": "https://emorydunn.com/blog/2019/02/10/new-work-with-victoria-lau", "published_at": "2019-02-10T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16966c1a2f", "title": "Scripting Collections in Capture One 12", "url": "https://emorydunn.com/blog/2018/12/21/capture-one-12-scripts", "published_at": "2018-12-21T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16971c51d8", "title": "Impractical Practical Photography", "url": "https://emorydunn.com/blog/2018/09/20/impractical-practical-photography", "published_at": "2018-09-20T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16974b6748", "title": "Church in the Rain", "url": "https://emorydunn.com/blog/2018/09/18/church-in-the-rain", "published_at": "2018-09-18T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1698378f5c", "title": "Friends from XOXO 2018", "url": "https://emorydunn.com/blog/2018/09/11/friends-from-xoxo-2018", "published_at": "2018-09-11T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba1698dd7984", "title": "1534 Stockton", "url": "https://emorydunn.com/blog/2018/08/19/1534-stockton", "published_at": "2018-08-19T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16996e4baa", "title": "Synching Capture One Catalogues", "url": "https://emorydunn.com/blog/2018/08/09/synching-capture-one-catalogues", "published_at": "2018-08-09T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169a4566d4", "title": "DT Capture One Scripts", "url": "https://emorydunn.com/blog/2018/08/08/dt-capture-one-scripts", "published_at": "2018-08-08T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169b1fab08", "title": "GitLab SSH", "url": "https://emorydunn.com/blog/2018/07/16/gitlab-ssh", "published_at": "2018-07-16T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169be1e57d", "title": "Seattle", "url": "https://emorydunn.com/blog/2018/07/07/seattle", "published_at": "2018-07-07T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169c69adc8", "title": "Introducing Capturebot", "url": "https://emorydunn.com/blog/2018/06/01/introducing-capturebot", "published_at": "2018-06-01T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169cc95d0b", "title": "Code Signing Woes", "url": "https://emorydunn.com/blog/2018/05/25/code-signing-woes", "published_at": "2018-05-25T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169d0d5d75", "title": "HomePod", "url": "https://emorydunn.com/blog/2018/02/28/homepod", "published_at": "2018-02-28T19:52:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169d8e1864", "title": "Capture One Collections & AppleScript", "url": "https://emorydunn.com/blog/2018/02/27/capture-one-collections-and-applescript", "published_at": "2018-02-27T19:52:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169e4ba25b", "title": "Bowls", "url": "https://emorydunn.com/blog/2018/01/14/bowls", "published_at": "2018-01-14T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169e788a1b", "title": "Photo Fodder", "url": "https://emorydunn.com/blog/2018/01/14/photo-fodder", "published_at": "2018-01-14T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169f4ece1d", "title": "Armstrong Forest", "url": "https://emorydunn.com/blog/2018/01/12/armstrong-forest", "published_at": "2018-01-12T20:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba169fe07a2c", "title": "Shipping & Receiving", "url": "https://emorydunn.com/blog/2017/07/04/shipping-&-receiving", "published_at": "2017-07-04T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a040cadc", "title": "Swift Network Shares", "url": "https://emorydunn.com/blog/2017/05/20/swift-network-shares", "published_at": "2017-05-20T18:52:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a0634118", "title": "London", "url": "https://emorydunn.com/blog/2016/10/20/london", "published_at": "2016-10-20T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a0a39f44", "title": "The Oculus", "url": "https://emorydunn.com/blog/2016/07/09/the-oculus", "published_at": "2016-07-09T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a1237aed", "title": "100 Van Ness", "url": "https://emorydunn.com/blog/2016/07/08/100-van-ness", "published_at": "2016-07-08T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a19c7a82", "title": "Caution", "url": "https://emorydunn.com/blog/2016/05/22/caution", "published_at": "2016-05-22T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a1a9ba0d", "title": "Pacific Whale", "url": "https://emorydunn.com/blog/2016/05/21/pacific-whale", "published_at": "2016-05-21T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a1bde128", "title": "Seaside", "url": "https://emorydunn.com/blog/2016/05/06/seaside", "published_at": "2016-05-06T19:12:00+00:00" }, { "id": "01a08773-3df5-733d-ad1f-ba16a1ca1ee2", "title": "Mount Tam", "url": "https://emorydunn.com/blog/2016/05/04/mount-tam", "published_at": "2016-05-04T19:12:00+00:00" } ] posts Claim your blog
Back to emorydunn.com
Blog · corpus.blog/blogs/emorydunn.com/posts

emorydunn.com

emorydunn.com

2026

2025

2024

2 Sept 2024

2023

2022

2021

2020

2019

2018

2017

2016