• PSA: Never, ever eat sunchokes.

  • For UIKit to become an app framework for Macs that makes great Mac apps, it will have to become AppKit. That is, it will have to adopt so much (perhaps with revision, of course) that it does pretty much everything AppKit does.

  • Code question: is there a way on iOS to set the default handler for a URL scheme? I’d like to give people a way to make NetNewsWire for iOS their default RSS reader by claiming the feed: and feeds: schemes.

    Bug: github.com/brentsimm…

  • Wouldn’t you want to read what an undead de Tocqueville has to say about America of 2019? I sure would.

  • With my first novel I’ve gotten as far as a title: “Alexis de Tocqueville, Vampire.”

  • It’s time for Democrats to put country ahead of party. We asked Republicans to do so, and they failed completely. Democrats need to impeach — regardless of the political risk — because it’s the right thing to do.

    The future needs to know that this corruption is unacceptable.

  • Lunch is among the most elusive of mid-day meals. Where’s lunch.

  • I love everything about this video, including the sounds of the bugs and the wind in the background.


  • Core structuring tip: your under-the-hood code should import Foundation and not AppKit or UIKit. Even if you never plan to go cross-platform, this should be the rule, because any app benefits from this separation.

    (There are exceptions: image-handling code, for one.)

  • Any time someone writes that they “still use an RSS reader,” I think to myself: I still use a web browser. I still use email and still send text messages. I still make sentences out of words. I still wear shoes.

    No need for the “still” word.

  • Once, when I was about 10 years old, at my great-grandfather’s urging, I hand-fed a squirrel that lived in a tree in his yard.

    He had been feeding it caramel corn, and the squirrel was friendly and liked it.

    So I tried it: I held one between thumb and forefinger, and I crouched down and offered it to the squirrel.

    The squirrel bit my thumb and I screamed.

    Then we went on with our day, my great-grandparents and my grandmom and my little sister and me. We were driving around looking at old towns in south Jersey. At some point an hour or so later — I think as we were about to pull into a cemetery where some ancestors rested — I thought to ask if I could have gotten rabies.

    The adults said, “Maybe?”

    We went back to going about our day on the road, stylin’ in a green Ford Gran Torino. In the summer.

    This was in the ’70s. I would not trade growing up in the ’70s for anything.

    PS My little sister still teases me about the screaming. I was bitten by a wild animal! But, still, a squirrel. I had two teeth marks at the end of my thumb for days.

  • When I was a kid me and my friends would always go through all of our change carefully in hopes of landing a 1955 double-die.

  • If Twitter becomes a place to follow topics rather than people, then the only thing good about it will be gone.


  • Shouldn’t the past tense of gaslight be gaslit, or am I crazy.

  • I’ve often wished for a mechanism — a kind of mental service — that would allow me to keep things in my head for a few minutes. Oh well.

  • I wish Apple News links were the original links to the website instead of into Apple News.

    I don’t do in-app links with my news app, and for good reason — everybody uses a browser, but not everybody uses Apple News (or my app). This feels like a capturing move instead of an open web move.

  • With the Swift proposal on property behaviors, would it be possible to create a Core-Data-work-alike, with faults and database backing? If not, what would still be needed?


  • In case you missed it yesterday: go read Tim Ekl’s Swift Generics proposal explainer. So good.

  • Rejiggered the NetNewsWire workspace tree to make it easier to work on a cross-platform Mac and iOS app. Two screenshots:

    Screenshot of NetNewsWire workspace tree, mostly collapsed.

    Screenshot of NetNewsWire workspace tree, with Mac, iOS, and Shared folders expanded.

  • Whenever I see GoT, I read it as Game of Things, because of IoT.

    “Game of Things” is, I assume, some epic tale where Marie Kondo gets dragons to finally clean out their lairs.

  • Just finished mowing. It was awesome. Will follow up with margaritas in celebration.

  • Lawnmowers

    I hate shopping. Truly. In person or online. (The one exception is for books, which is why I have dozens of unread books in the house.)

    It’s not an aversion to spending money. It’s just that shopping is boring.

    Which explains my history with lawnmowers.

    * * *

    I no longer recall how I got my first lawnmower. It was manual — very old, completely unpowered. Muscle power only.

    It was used, of course, and by then the blades were completely dull. Instead of cutting, it pretty much just smooshed-down the dandelions. I never got the blades sharpened.

    Then, one day, my sister was moving cross-country and she gave me her lawnmower. It was old, too, though not as old — and it was electric. Blades were less dull — they did manage to cut some of the dandelions, after a pass or two or three.

    I used it for about 15 years. One of the wheels kept coming off mid-mow. Eventually I lost that wheel and just used it as a three-wheeled thing.

    The thing in the back, where the mulched grass comes out, broke apart eventually. The protector thing. So what it did was just spit grass — and small rocks and twigs — at high velocity directly at my face. I started wearing safety glasses that I had inherited.

    Even with the glasses, mowing the lawn became an experience in pain tolerance as pebbles hit me in the cheeks and forehead. And of course the glasses usually fogged up, so I couldn’t really see what I was doing.

    I did that for a few years. Because I really, really, really hate shopping. I would rather use this thoroughly dilapidated and dangerous thing than shop. Shopping is boring.

    * * *

    This is how I got to the age of 50 without having actually bought a lawnmower in my entire life.

    Until my recent birthday, that is. I managed to make myself do a little research online, and Sheila did too, and she bought me a new cordless lawnmower as a birthday present.

    And now, this day, right now, I’m charging the batteries, and after work I’m going to go outside and mow my lawn.

    Without safety glasses! With sharp blades! Without having to manage a cord!

    I’m so into this!

    But have I learned my lesson — that, sometimes, shopping is a good idea, and shouldn’t be put off so long?

    Probably not, no.

  • The blog (and/or RSS) search engines of the past, that I know of: Blogbridge, Blogdigger, Technorati, Yahoo. There may have been more.

  • I’m proud of myself because, without even reading the OmniGraffle manual yet, I was able to make a diagram I needed to make for NetNewsWire.

    I don’t claim it’s beautiful — just that it was easy, and that I was then able to share this exported PNG with other people who work on the app, which is cool.

    Diagram showing NetNewsWire frameworks

  • The “Developer Experience” Bait-and-Switch:

    A decent hedge-fund strategy would be to run a private WPT instance and track JS bloat and TTI for commercial-intent sites — and then short firms that regress because they just rewrote everything in The One True Framework.

    Via Amanda Rush.

subscribe via RSS