Insert the url of the feed you want to read here (e.g. https://news.google.com/news/rss/):
Or try one of the following: Ajaxian, BBC News, BBC China, Brent Simmons, CNN, Digg, Digital Point Forums, Flickr, Forex Events, Blog About Libraries, Google News, Harvard Law, Killer Startups, Movie Trailers, Poker Blog, Swimming, Yahoo! News
inessential.com
Brent Simmons's weblog.I Tried to Explain What I Do 3 Mar 2026, 12:15 pm
I’ve known for decades that most of family and friends (except for family and friends in tech) have no idea what I do — they just think it’s math-heavy and mysterious.
Well. It’s definitely not math-heavy and it shouldn’t be mysterious. So I figured I’d write up What I Do.
Even if I never actually send this page around to everybody — because that would actually be kind of weird, like giving them homework to understand me, me who suddenly (suddenly?) seems like a complete narcissist — it was a good exercise for me to do anyway. Especially the part about explaining why I write NetNewsWire.
Seattle Xcoders Talks This Week Considered Unmissable 2 Mar 2026, 2:09 pm
The title is a little over the top, but barely — we have two fantastic talks this Thursday (March 5) that you should go to. (I’ll be there!)
Laura Savino will present “Learn Out Loud”:
As devs today, we’re supposed to demonstrate immediate skills in tools whose configs change once a fortnight, while shipping cutting-edge features in long-standing apps (that may still have a legacy bug or two). Laura is a trained teacher and Photoshop engineer who brings humor and solidarity to today’s dev environment with concrete advice on the mechanics of real learning and change, including encouraging without proselytizing, being vulnerable about what you don’t know, and staying curious amidst existential dread.
If you’ve seen Laura talk before, then you know how good she is, and you know how you come away with insights and ways to be a better engineer and better human-who-works-with-people. Every single time.
This is one of those very rare chances to see Laura in a small setting before she does this talk at a conference keynote. Like seeing the Beatles in a small bar in Liverpool, only it’s Laura in Seattle. 🎸
Jake Savin will present a talk on using Claude to do a really big ambitious job — rebuilding UserLand Frontier as a modern app:
It’s a huge job and Jake’s made a ton of progress — and he’s learned a lot about how to use Claude to make these kinds of projects work. As we learn to use LLMs to do more and more ambitious things, we’ll be walking in Jake’s footsteps. Jake will provide a map of this new territory.
I’m not the only one to have a try — more than one try, actually, as recently as last year — at rebuilding Frontier. It took Jake and Claude together to make this work (and it’s not done yet, but far advanced from any previous try).
I’m so ready to have Frontier back in my toolbox — and ready to learn from Jake on how he’s making this happen.
What’s Frontier?
UserLand Frontier is Dave Winer’s app from the ’90s, and it was with that app that Dave invented and/or fleshed-out and popularized much of the open web that we take for granted today: blogs, RSS, podcasts, and web services, for starters. This is a historically important piece of software, and Jake is bringing it to the modern age.
Anyway — here’s the scoop on where and when to be:
Where
North Seattle College
9600 College Way N
Room LB 1106 in the library
When
Thursday, March 5, 2026
6:30 pm — gather and mingle
7:00 pm — watch Jake’s and Laura’s talks
For anyone who wants to hang out after — we go to the nearby Watershed Pub and Kitchen (all ages friendly).
Why Objective-C 27 Feb 2026, 8:21 pm
In my previous post I talk about how I got rid of hundreds of thousands of lines of Objective-C code while at Audible and I explain why keeping Objective-C code around is a terrible idea. And I explain that…
I’m not stuck in the old ways; I’m not the guy insisting on the supremacy of Objective-C despite the obvious evidence against. I’m the guy who got rid of Objective-C — with glee and (oops, sorry Audible marketing team for the screwup) wild abandon!
Then of course I wrote some Objective-C code recently and really, really loved it.
Command line app
I wanted to replace my homegrown static website/blog generator because I no longer wanted to use the language it was written in, for reasons.
I took it as an opportunity to learn Python — but it turned out that my heart wasn’t in it (not Python’s fault; great language) and I ended up screwing it up. (See Blog Fuckup).
I thought about some alternatives: Swift, which I know well; Rust and Go, which would have the advantage of helping me branch out from the Apple ecosystem; and good old C, my happy-go-lucky friend who still sprints faster than every brash new language.
Of those I was leaning toward C because speed is an issue. I wanted to make rendering this blog, over 25 years old and with thousands of posts, to happen in under one second. The system I was replacing took a few seconds. But I wanted more speed (personality flaw).
And then I thought, I swear just for a split second, about how great it would be if C had something a little nicer than C structs for modeling my app’s data — and oh well too bad there’s nothing like that.
And then I remembered Objective-C, which is C plus some things a little nicer than C structs. 🎩🦖
Objective-C looks insane
Anyone new to Objective-C thinks it’s difficult and maybe a bit harsh because [[those squareBrackets] lookInsane:YES].
Once you get past that, which takes a day or two given a good-faith effort, you’ll realize how small a language it is, how easy to hold in your palm and turn around and understand all sides of it. And you’ll appreciate how easy it is to make good decisions when you don’t have a surplus of language features to choose from.
And you’d be reassured to know that Objective-C is probably never going to change, which means tech debt will accumulate much more slowly than with newer languages. (Unless, of course, you count Objective-C itself as tech debt. You don’t have to, though.)
It’s a cliché to call Objective-C a more elegant weapon for a more civilized age. It’s better thought of, these days, as a loaded footgun.
But I did absolutely love writing this code! So much fun. And now I’ve got another little thing brewing, also in Objective-C, coming soon-ish.
PS The website/blog generator app is called SalmonBay. I really don’t expect anyone else in the world to use it, and I expect no contributions, but it is available as open source. (I put it on Codeberg, for reasons.)
PPS SalmonBay does a clean build of this blog in under a second. 🎸
Why Not Objective-C 18 Feb 2026, 6:00 pm
At my last job, at Audible (hi Audible folks, if you’re reading this!), I led the effort to port our remaining Objective-C to Swift. When I started that project, Objective-C was about 25% of the code; when I retired it was in the low single digits (and has gone even lower since, I’ve heard).
Why do this? It was working code! Don’t we all know not to rewrite working code?
Why get rid of Objective-C
Well, we knew a few things: one was that our Objective-C code was where a lot of our crashing bugs and future crashing bugs (and bugs of all kinds) lived.
So it was working code, yes, but we knew there were crashes hidden in there, and that some of those crashes were ambush hunters, playing the long game, waiting for years before pouncing. Best just to rewrite it all in Swift, the safer language.
A second thing we knew was that having to interoperate between Swift and Objective-C is a huge pain. It often means dumbing-down the Swift code and not using modern features, which limited our options for good Swift code.
And a third thing we knew was that very few of our engineers had a background writing Objective-C. Maintaining that code — fixing bugs, adding features — was more expensive than it was for Swift code. (Duh, right? When you have many engineers working on a project, it’s best if the language you use is one everybody knows well.)
Not that this went perfectly
This is still risky, by the way. Rewriting code is always risky.
At one point I was responsible for a bug where we sent an integer to some API and it should have been a boolean — because the original code was using NSNumber and it wasn’t obvious which it should be. This caused a partial outage of push notifications, which I estimated (very roughly) to have cost the company a few hundred thousand dollars.
(Really? A little bug like this? NS-fucking-Number cost all this money? Yes. Audible scale may not be Facebook scale, but it’s far beyond the scale of indie apps. Before Audible I always worked for smaller companies with smaller audiences — working on something with many millions of users was enlightening and terrifying.)
But here’s the thing: this proved my point. Someone trying to maintain that code as Objective-C might have easily made the same mistake and caused the same outage. The Swift code we replaced it with is type-safe: it’s unmistakably and clearly a boolean and not an integer (once we fixed it; other way around at first). Replacing Objective-C code with Swift is clearly a win.
Goodbye to all those square brackets
I didn’t count how many hundreds of thousands of lines of Objective-C my project was responsible for rewriting (and sometimes just deleting). It was a lot. Multiple entire apps could fit in those lines-of-code counts.
And if you look at NetNewsWire’s code, you see that it’s almost entirely Swift, with just a little Objective-C for the various parsers and FMDB. It’s not just a Swift app but a modern Swift app that uses async await and structured concurrency. (Mostly modern — there’s still some code to update to async await. Work continues.)
I say all of the above to show that I’m not stuck in the old ways; I’m not the guy insisting on the supremacy of Objective-C despite the obvious evidence against. I’m the guy who got rid of Objective-C — with glee and (oops, sorry Audible marketing team for the screwup) wild abandon!
I want you to know all the above in advance because in my next post I’m going to talk about how I wrote some new code in Objective-C and loved it.
Blog Fuckup 1 Feb 2026, 8:00 pm
I’ve been working on my blog software (a static site generator) and I managed to screw things up enough that random old posts got published on the site and in the RSS feed.
As soon as I saw the issue I fixed it, but I’ve been getting email from folks about some of the posts, so I know they got picked up by some RSS readers.
Those posts are ancient! Sorry for the confusion.
Email from Family in Minnesota 21 Jan 2026, 4:24 pm
Our family in Minnesota knows we worry about them, and so yesterday they sent a family-wide email.
This is surely one of many thousands like it. Maybe you’ve written one of these. Maybe you will write one of these.
Below is the email from Jen (with permission and with original formatting):
Update from MN
Hello family and friends outside of Minnesota,
Many of you have reached out to see how we are doing and Pete and I both thank you for that. We appreciate it. As middle-class White people, Pete and I are largely ok. Technically, speaking. And I cannot believe that is a sentence I just typed in the year 2026. But here we are. Our neighborhood is relatively quiet. For now. We are doing what we can to support those that we can. We are speaking out and calling our representatives. So far 20,000 people in this state have taken conscientious bystander training. As actors, Pete and I have created/rehearsed monologues or responses if we find ourselves witnessing the illegal doings of these "agents". The people here are subdued, but not hopeless. Defiant, but not violent. We are doing our best to protest peacefully as this is what our constitution allows.
Why do I write to you of these things?
For a few reasons: 1. Depending on what media you are seeing you may be getting no coverage on this or varying degrees of truth to outright propaganda. I thought it best you hear it from someone who is actually living in MN right now. 2. No matter where you fall on the political spectrum I believe we can all agree that we have rights in this country: free speech, the right to peacefully protest, the right to due process to name a few. 3. Any support we can get, even if it is simply trying to combat disinformation with truth, from within our country or around the world is helpful and important. 4. If you wish to do other things, this is a good website which compiles many places/groups that are trying to help combat this situation. https://www.standwithminnesota.com/.
Now to some things that are happening here:
In addition to Jonathon Ross murdering Renee Good, the very same day they went to a high school and attempted to arrest students and staff. One day after this, 6 men with guns kicked in the door of someone's home without a legal warrant and dragged the husband out in cuffs. He is an American citizen. Today local law enforcement in and around the Twin Cities held a press conference calling out these "agents" in breaking the law. They are now targeting and attempting to detain off-duty officers. Every single one of the officers they targeted are people of color. It is straight up racial profiling. They are smashing car windows and tear-gassing people including toddlers. People are carrying their passports and birth certificates around with them and often they are not even allowed to show these "agents" their paperwork before they are beaten and/or abducted.
I have a dear friend who passed her citizenship test 6 years ago and is now carrying her documentation with her wherever she goes. She did everything "the right way" yet she is worried. Frankly, because she doesn't look Hispanic or African she will probably be ok. Again, I can't believe I just typed this sentence. Our nephew's elementary school (in a very affluent, predominantly White suburb) canceled their school's International Night for fear it would draw Immigrant Enforcement to the school. Pete and I are witnessing field trips to the Science Museum cancel left and right because schools are afraid they will target the children.
These people are not targeting the "worst of the worst" as they claimed they would do. They are not following the law or allowing due process. Minnesota is under siege. They are now telling observers who are giving witness and recording these crimes that "they should learn a lesson or they will be next." Currently, these "agents" outnumber our local law enforcement 4 to 1. Donald Trump and Noem have particularly targeted Minnesota even though our state falls far behind other states in the amount of undocumented workers. Everyone is on edge. No one is untouched by this chaos.
I don't know what is going to happen. I don't know what has happened to empathy and humanity. I do know that I wouldn't be here if it weren't for my ancestors who immigrated here from Sweden, England, Ireland, and the Netherlands. But they did. So for their legacy and for the little kids who deserve to live without fear I will continue to show up and help where I can.
Thanks for taking the time to read this and feel free to share this with those who may be curious to what is actually happening in Minnesota.
Love to all of you. Take care of each other.
Jen and Pete
NetNewsWire 6.2: RSS Plus Markdown 5 Nov 2025, 4:24 pm
On the NetNewsWire blog I’ve just announced NetNewsWire 6.2 for Mac and iOS.
This release is almost entirely bug fixes — but it does add a couple small features and one potentially interesting one: it now supports Markdown in RSS (via the source:markdown element). Read all about it on the NetNewsWire blog.
(And now we’re working on NetNewsWire 7, which will adopt the new Liquid Glass UI.)
Page processed in 0.386 seconds.
Powered by supersurge.com. © 2004–2026. In cooperation with Fresh Content. Based on SimplePie by Ryan Parman and Geoffrey Sneddon, and licensed under the BSD License.
