56,966 blogs · [ { "id": "01a087e3-0791-7065-acbb-25af8cae656f", "title": "2025", "url": "https://soff.es/blog/2025", "published_at": "2025-12-31T00:00:00+00:00" }, { "id": "01a087e3-0791-7065-acbb-25af8cb897ee", "title": "2024", "url": "https://soff.es/blog/2024", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a087e3-0791-7065-acbb-25af8d2b09a1", "title": "2023", "url": "https://soff.es/blog/2023", "published_at": "2023-12-31T00:00:00+00:00" }, { "id": "01a087e3-0791-7065-acbb-25af8d57008b", "title": "2022", "url": "https://soff.es/blog/2022", "published_at": "2022-12-31T00:00:00+00:00" }, { "id": "01a087e3-0791-7065-acbb-25af8e38da27", "title": "Cozumel 2022", "url": "https://soff.es/blog/cozumel-2022", "published_at": "2022-07-27T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9ae83ae198", "title": "Thirty-Three", "url": "https://soff.es/blog/thirty-three", "published_at": "2022-03-14T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9ae9005d93", "title": "Impact", "url": "https://soff.es/blog/impact", "published_at": "2021-11-07T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9ae901600e", "title": "Diving in The Philippines", "url": "https://soff.es/blog/diving-in-the-philippines", "published_at": "2021-08-15T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9ae9a5904e", "title": "Deep Hobbies", "url": "https://soff.es/blog/deep-hobbies", "published_at": "2021-05-10T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aea3e3260", "title": "Thirty-Two", "url": "https://soff.es/blog/thirty-two", "published_at": "2021-03-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aea6239d9", "title": "Ruby on Apple Silicon", "url": "https://soff.es/blog/ruby-on-apple-silicon", "published_at": "2020-12-31T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aeb1aa8b3", "title": "2020", "url": "https://soff.es/blog/2020", "published_at": "2020-12-30T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aeb4be0d6", "title": "Homebrew on Apple Silicon", "url": "https://soff.es/blog/homebrew-on-apple-silicon", "published_at": "2020-11-17T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aec053eb0", "title": "Debugging JSON Data in LLDB", "url": "https://soff.es/blog/debugging-json-data-in-lldb", "published_at": "2020-11-09T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aecab4cf9", "title": "Thirty-One", "url": "https://soff.es/blog/thirty-one", "published_at": "2020-03-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aecc0af38", "title": "Home Assistant, Sonos, and Siri", "url": "https://soff.es/blog/home-assistant-sonos-and-siri", "published_at": "2020-03-08T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aece5caf4", "title": "Quickly Opening Projects in Xcode", "url": "https://soff.es/blog/quickly-opening-projects-in-xcode", "published_at": "2020-02-23T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aed328b58", "title": "Diving in Cozumel", "url": "https://soff.es/blog/diving-in-cozumel", "published_at": "2019-11-03T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aee285794", "title": "Taking a Break", "url": "https://soff.es/blog/taking-a-break", "published_at": "2019-10-22T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aef23724c", "title": "California Riding and Hiking Trail", "url": "https://soff.es/blog/california-riding-and-hiking-trail", "published_at": "2019-09-27T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aeffce12b", "title": "Tahoe Rim Trail", "url": "https://soff.es/blog/tahoe-rim-trail", "published_at": "2019-09-20T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af00dd104", "title": "Dark Mode Stylesheet", "url": "https://soff.es/blog/dark-mode-stylesheet", "published_at": "2019-09-20T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af0238fcf", "title": "Lost Coast", "url": "https://soff.es/blog/lost-coast", "published_at": "2019-08-24T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af0fd3c0c", "title": "I Don’t Care", "url": "https://soff.es/blog/i-dont-care", "published_at": "2019-06-18T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af1e3bc68", "title": "Walking to Work", "url": "https://soff.es/blog/walking-to-work", "published_at": "2019-06-08T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af20d9394", "title": "Great", "url": "https://soff.es/blog/great", "published_at": "2019-06-08T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af210ecad", "title": "Thirty", "url": "https://soff.es/blog/thirty", "published_at": "2019-03-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af272b93d", "title": "Work-Life Balance", "url": "https://soff.es/blog/work-life-balance", "published_at": "2019-02-12T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af2d22429", "title": "Static Blog", "url": "https://soff.es/blog/static-blog", "published_at": "2019-02-03T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af34b71d2", "title": "Staying Positive", "url": "https://soff.es/blog/staying-positive", "published_at": "2018-12-21T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af3ce4b3d", "title": "Maximum Effort", "url": "https://soff.es/blog/maximum-effort", "published_at": "2018-12-09T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af451e833", "title": "Custom Mechanical Keyboard", "url": "https://soff.es/blog/custom-mechanical-keyboard", "published_at": "2018-01-08T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af4f8dc67", "title": "Bundle Command Line Tool in macOS App", "url": "https://soff.es/blog/bundle-command-line-tool-in-macos-app", "published_at": "2017-07-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af5bb4ae5", "title": "Aggressively Hiding the Cursor", "url": "https://soff.es/blog/aggressively-hiding-the-cursor", "published_at": "2017-07-05T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af5cfc564", "title": "Automating Simple Things", "url": "https://soff.es/blog/automating-simple-things", "published_at": "2017-06-29T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af612635b", "title": "Cancel Borderless Window", "url": "https://soff.es/blog/cancel-borderless-window", "published_at": "2017-06-28T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af631d57a", "title": "Share Confirmation", "url": "https://soff.es/blog/share-confirmation", "published_at": "2017-06-25T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af72a98ab", "title": "Mic Setup", "url": "https://soff.es/blog/mic-setup", "published_at": "2017-02-28T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af823ae9f", "title": "Widest Roman Prime", "url": "https://soff.es/blog/widest-roman-prime", "published_at": "2016-02-05T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af8f1bdf4", "title": "Automated Bundle Version", "url": "https://soff.es/blog/automated-bundle-version", "published_at": "2015-12-07T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af90af684", "title": "What Color Is It", "url": "https://soff.es/blog/what-color-is-it", "published_at": "2015-07-10T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af92311ca", "title": "Static", "url": "https://soff.es/blog/static", "published_at": "2015-07-10T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9af9dad041", "title": "Git + Redis Backed Blog", "url": "https://soff.es/blog/nerd-blog", "published_at": "2015-07-05T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afa326505", "title": "String Homogeneousness Algorithms", "url": "https://soff.es/blog/string-homogeneousness", "published_at": "2015-06-27T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afab45a9b", "title": "Network Testing in Swift with DVR", "url": "https://soff.es/blog/network-testing-in-swift-with-dvr", "published_at": "2015-06-22T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afb0e9e38", "title": "SyntaxKit", "url": "https://soff.es/blog/syntaxkit", "published_at": "2015-06-15T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afb137fe7", "title": "Automatic UI Updates with Value Types in Swift", "url": "https://soff.es/blog/automatic-ui-updates-with-value-types", "published_at": "2015-06-15T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afb9fd78f", "title": "Redacted for Mac Launch", "url": "https://soff.es/blog/redacted-for-mac-launch", "published_at": "2015-05-06T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afc0e4b68", "title": "Desk Headphones", "url": "https://soff.es/blog/desk-headphones", "published_at": "2015-02-07T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afc2a881e", "title": "NSRegularExpression Notes", "url": "https://soff.es/blog/nsregularexpression-notes", "published_at": "2014-12-23T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afcf9aae1", "title": "Personal Sam", "url": "https://soff.es/blog/personal-sam", "published_at": "2014-12-05T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afd5003cd", "title": "Questions — Part 2", "url": "https://soff.es/blog/questions-part-2", "published_at": "2014-11-10T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afd7c31fd", "title": "Value of Beta", "url": "https://soff.es/blog/value-of-beta", "published_at": "2014-11-04T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afdb2e531", "title": "Four Questions", "url": "https://soff.es/blog/four-questions", "published_at": "2014-09-28T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9afe738dc1", "title": "Swift", "url": "https://soff.es/blog/swift", "published_at": "2014-06-04T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9aff72b9c0", "title": "Quantum Data Teleportation", "url": "https://soff.es/blog/quantum-data-teleportation", "published_at": "2014-05-31T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0013fe41", "title": "The Mother Futon News", "url": "https://soff.es/blog/the-mother-futon-news", "published_at": "2014-05-11T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b00f5b112", "title": "Litely", "url": "https://soff.es/blog/litely", "published_at": "2014-05-08T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b01acf591", "title": "Apple Developer Tools", "url": "https://soff.es/blog/apple-developer-tools", "published_at": "2014-04-22T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0251651e", "title": "Coins for Android", "url": "https://soff.es/blog/coins-for-android", "published_at": "2014-04-10T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b02a16f22", "title": "Coit Tower Walk", "url": "https://soff.es/blog/coit-tower", "published_at": "2014-03-27T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b02ab5b9c", "title": "Twenty-five", "url": "https://soff.es/blog/twenty-five", "published_at": "2014-03-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0327d99d", "title": "SSToolkit 2.0", "url": "https://soff.es/blog/sstoolkit-2-0", "published_at": "2014-03-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b036bc156", "title": "iOS Resources", "url": "https://soff.es/blog/ios-resources", "published_at": "2014-02-02T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b043e65ac", "title": "Parting Ways with Execute iOS", "url": "https://soff.es/blog/parting-ways-with-execute-ios", "published_at": "2014-02-01T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b04d353fc", "title": "How to Hold a Pencil", "url": "https://soff.es/blog/how-to-hold-a-pencil", "published_at": "2014-01-29T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0535cb7a", "title": "The East Wing — Part 3", "url": "https://soff.es/blog/the-east-wing-part-3", "published_at": "2014-01-22T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b057b16d6", "title": "Happy Monday", "url": "https://soff.es/blog/happy-monday", "published_at": "2014-01-14T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b059c443f", "title": "Coins", "url": "https://soff.es/blog/coins", "published_at": "2014-01-03T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b05f178f3", "title": "Valio Con 2013", "url": "https://soff.es/blog/valio-con-2013", "published_at": "2014-01-02T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b065f7395", "title": "Does Free Diminish Value?", "url": "https://soff.es/blog/does-free-diminish-value", "published_at": "2013-12-17T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b071dd5fb", "title": "Raising Your Profile", "url": "https://soff.es/blog/raising-your-profile", "published_at": "2013-12-14T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b080ace8b", "title": "Custom Controls in Footage", "url": "https://soff.es/blog/custom-controls-in-footage", "published_at": "2013-12-04T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b081a8852", "title": "Tin Can", "url": "https://soff.es/blog/tin-can", "published_at": "2013-11-16T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b08d09901", "title": "Snapchat", "url": "https://soff.es/blog/snapchat", "published_at": "2013-11-14T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b09b50637", "title": "Picking Good Clients", "url": "https://soff.es/blog/picking-good-clients", "published_at": "2013-11-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0a47f533", "title": "Motivation", "url": "https://soff.es/blog/motivation", "published_at": "2013-11-08T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0adb7360", "title": "Shares 2", "url": "https://soff.es/blog/shares-2", "published_at": "2013-10-02T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0bd69d11", "title": "Founders Talk - Part 4", "url": "https://soff.es/blog/founders-talk-part-4", "published_at": "2013-09-11T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0c0730e9", "title": "Onward", "url": "https://soff.es/blog/onward", "published_at": "2013-08-15T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0c7b60c0", "title": "Fat", "url": "https://soff.es/blog/fat", "published_at": "2013-07-22T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0c82ecc7", "title": "Everlapse", "url": "https://soff.es/blog/everlapse", "published_at": "2013-07-11T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0c9028d1", "title": "Setting Up Open Source and Live Coding — Part 2", "url": "https://soff.es/blog/setting-up-open-source-and-live-coding-part-2", "published_at": "2013-07-09T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0d78e8fb", "title": "Setting Up Open Source and Live Coding — Part 1", "url": "https://soff.es/blog/setting-up-open-source-and-live-coding-part-1", "published_at": "2013-07-01T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0da0033f", "title": "Sleep Schedule", "url": "https://soff.es/blog/sleep-schedule", "published_at": "2013-06-29T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0e219ae8", "title": "Making Roon Faster", "url": "https://soff.es/blog/making-roon-faster", "published_at": "2013-06-24T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0f1dcad9", "title": "Tearing Up the Carpet", "url": "https://soff.es/blog/tearing-up-the-carpet", "published_at": "2013-06-22T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0f64a120", "title": "Parting Ways With Cheddar", "url": "https://soff.es/blog/parting-ways-with-cheddar", "published_at": "2013-06-22T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b0fddf722", "title": "Let’s Hope", "url": "https://soff.es/blog/polish", "published_at": "2013-06-21T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b1008d5f8", "title": "New Homepage", "url": "https://soff.es/blog/new-homepage", "published_at": "2013-06-20T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b10933d06", "title": "Space", "url": "https://soff.es/blog/space", "published_at": "2013-06-10T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b10a1e1ce", "title": "WWDC 2013 Predictions", "url": "https://soff.es/blog/wwdc-2013-predictions", "published_at": "2013-06-09T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b10d4922c", "title": "My DNA", "url": "https://soff.es/blog/my-dna", "published_at": "2013-05-23T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b11ae3ee0", "title": "Why I Don’t Use Interface Builder", "url": "https://soff.es/blog/why-i-dont-use-interface-builder", "published_at": "2013-05-13T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b129a9d6d", "title": "How I Design for iOS", "url": "https://soff.es/blog/how-i-design-for-ios", "published_at": "2013-05-06T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b12a83c03", "title": "How to Build a Ruby Gem", "url": "https://soff.es/blog/how-to-build-a-ruby-gem", "published_at": "2013-04-16T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b1331bd17", "title": "Springboard Episode 3", "url": "https://soff.es/blog/springboard-episode-3", "published_at": "2013-04-10T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b13de412c", "title": "Sublime Text 2 Configuration", "url": "https://soff.es/blog/sublime-text-configuration", "published_at": "2013-04-08T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b1499d2bc", "title": "iPad Stylus Review", "url": "https://soff.es/blog/ipad-stylus-review", "published_at": "2013-04-01T00:00:00+00:00" }, { "id": "01a087e3-0792-72c3-9e73-5e9b150d51ce", "title": "New Blog", "url": "https://soff.es/blog/new-blog", "published_at": "2013-03-21T00:00:00+00:00" } ] posts Claim your blog
Back to soff.es
Blog · corpus.blog/blogs/soff.es/posts

soff.es

soff.es

2025

31 Dec 2025

2024

31 Dec 2024

2023

31 Dec 2023

2022

31 Dec 2022

2021

2020

30 Dec 2020

2019

2018

2017

2016

2015

2014

2013

22 Jul 2013