• I have been experimenting with the replication functionality in PostgreSQL in order to maintain warm backup database servers. I am pleasantly surprised at how straightforward it is to setup.

  • Irrationally excited to have KN95 respirators.


  • Anecdotally, in my area of Massachusetts I see about 50% of folks wearing masks inside stores.

    I spent some time in New York City early last week, and was heartened to see most individuals — maybe 95% — wearing masks when walking outside.

    My N95 should arrive tomorrow.

  • New Home Office

    My home office tends to get cluttered. I have an annual tradition of thoroughly cleaning it on New Years Day.

    I am a day late this year, but I went a step further. I moved my office to an entirely different room.

    I also setup a card table and chair as a place for video calls. When on video calls I do not use external displays or a laptop stand. I want to look straight into the MacBook Pro’s camera, so I use only the built-in display and put it directly in front of me. I now have a dedicated place to do so in my office where the room’s overhead light is in front of my face.

  • A start-of-year status update on Unread: Unread in 2021 and 2022

  • I’ve been quiet on micro.blog and on social media in general over the past few months. One of my resolutions for 2022 is to rectify that.

  • Wishing everyone a healthy and safe 2022.

    (I deleted an earlier post with a similar sentiment.)

  • I am working as a clerk for a voting location in my city today. We are electing a mayor, city councilors, and school committee members.

  • 4D3961B3-493B-45B7-A871-97535CD9B954.jpg

  • Seen while out walking:


  • Christian Selig:

    Amplosion ⚡️ is a simple app with a twist. On iOS 15 as a Safari extension it automagically redirects AMP links to their normal version, with powerful customizability and stats.

    This is brilliant.

  • I just released Unread 2.8 with support for extra large widgets, Quick Notes, and more.

  • There is a mayoral primary in my city today. I am working at the polls. If today is election day for you, please vote.

    This scene from The West Wing always inspires me on election days:


  • Yesterday I launched the Webpage Text API: a cloud service that lets an app or web service request the HTML content of a webpage without the junk (chrome, navigation, ads, and scripts) that clutters modern webpages.

  • I just released Unread 2.7, an update that improves the experience of reading linked list articles such as those from Daring Fireball, MacStories, and Hacker News.

  • I have a house guest. She does not like looking at the camera. 3B011185-391F-4D58-9809-15E21D985CCC.jpg

  • At the New Hampshire Fisher Cats game. D1FE9773-97E5-47FD-A0FD-6D71117CE150.jpg

  • Seen on my morning walk. DDDDC625-A14B-44FB-8003-E38D7772DA66.jpg

  • Google Maps has a low quality photo of me on my walking route. AD7A7293-8528-4C16-810F-2CF83D8DB57C.jpg

  • I filed FB9188387 describing a serious problem with App Store Connect accepting apps compiled by Xcode 13.

    If the app contains Objective-C code with an NSDictionary defined using @{ @"key": @"value" } notation, App Store Connect will reject it.

    This post has more details.

  • I just release Unread 2.6 with:

    • Full-text search capabilities
    • A compact article list option for iPhone
    • More flexible caching settings
    • A variety of additional improvements
  • WWDC Sessions

    These are the WWDC sessions I am most eager to watch:

    • Add intelligence to your widgets
    • Focus on iPad keyboard navigation
    • Get ready for iCloud Private Relay
    • Meet async/await in Swift
    • Ultimate application performance survival guide
    • Meet StoreKit 2
    • Customize and resize sheets in UIKit
    • Demystify SwiftUI
    • Explore WKWebView additions
    • Meet AsyncSequence
    • Meet TextKit 2
    • Move beyond passwords
    • SF Symbols in UIKit and AppKit
    • Secure login with iCloud Keychain verification codes
    • Send communication and Time Sensitive notifications
    • Use async/await with URLSession
    • Build Mail app extensions
    • Support Full Keyboard Access in your iOS app
    • Support customers and handle refunds
    • Accelerate networking with HTTP/3 and QUIC
    • Design for Safari 15
    • Write a DSL in Swift using result builders
  • At the New Hampshire Fisher Cats game. D18A85A5-A8BF-4AB6-8684-6BA6198CF8A5.jpg

  • As of today: fully vaccinated. 💉🎉

  • I spent the day fixing porch steps. In related news my muscles have announced that I am old.

subscribe via RSS