Saturday Morning Coffee

My first cup of coffee is poured and cooling a bit, our old kitty — Khloe — is in my lap, and I’m sat in my writing spot at the end of the couch nearest the front window. It’s cloudy and raining and the wind is blowing. I’m not sure if it’s remnants of Ian yet or just a regular storm. Guess we’ll find out. 🌧️

CNN: “Ian slammed into southwest Florida as a severe Category 4 hurricane Wednesday, packing sustained winds of 150 mph. Officials believe the death toll of at least 45 people is likely to climb in the coming days as searchers access areas that had been blocked by debris and floodwaters.”

What a tragic week for Floridians. So many folks displaced and damage beyond belief. Homes and businesses wiped completely off the map, land reclaimed by sand. And the there is the human toll. 😢

Take care my Florida friends. ❤️

Travel Radar: “There have been multiple reports of strange noises coming from American Airlines in recent weeks that neither the passengers nor crew members could explain. Some passengers have been airing their confusion across social media.”

It’s the perfect time of the year to have mysterious moaning sounds coming out of the speaker system on a flight.

It doesn’t sound like an equipment failure to me. I’m going with ghosts. 👻

When the big players figure out they can automate a money making machine they have to get involved and screw everything up.

Luckily we still have great Indie Podcasts to listen to.

TechCrunch: “Now, a Spanish startup called Penpot — which is taking a new approach to design collaboration through an open source platform that brings designers and developers into the mix simultaneously — says that it’s been seeing a huge amount of adoption since the Figma deal.”

I happened across Penpot a month or so before the Adobe purchase of Figma. It’s really nice and if you’re looking for a Figma alternative you might want to give it a look.

Bleacher Report: “Odell Beckham Jr. questioned why all NFL stadiums don’t feature grass fields after former New York Giants teammate Sterling Shepard suffered a non-contact knee injury on the MetLife Stadium turf on Monday night.”

This is not the first time turf has become controversial. I remember back in the 70’s or 80’s this being a topic of conversation. That was before this new wave of turf became a thing.

I’ve always been a fan of grass fields. Bring them back to every stadium you possibly can. I want to see some filthy uniforms.

Apple Newsroom: “Amid the tools used by archaeologists for centuries — trowels, buckets, brushes, and pickaxes — there’s a new piece of equipment: iPad Pro.”

I am so here for this. Seeing tools used in ways you never expected is always such a joy for the developer.

Congratulations to Top Hatch, the makers of Concepts, and my friend Marc Palmer who is a developer on the engineering team! 👍🏼

Politico: “A federal judge delivered a blistering rebuke of Republican Party leaders Tuesday for what she said was a cynical attempt to stoke false claims of election fraud of the kind that fueled the Jan. 6 attack on the Capitol.”

I really wish Republican leaders weren’t so power hungry and had the guts to all come out against TFG.

Here’s hoping one of the many troubles TFG has leads to conviction and elimination from running for public office. 🤞🏼

9to5Mac: “This week, a new Instagram client called “OG App” caught the attention of the internet as it promised a better Instagram experience without advertisements or content suggestions from people you don’t know. The app seemed too good to be true, but it has now been taken down – not by Meta, but by Apple.”

If you’re surprised by this, don’t be. Instagram cut off developers long ago. At one time there were plenty of great Instagram clients, even for iPad!

It’s a closed platform. The best we can hope for is alternate services — like Glass — to catch on and take a big share of Instagrams user base.

Of course the United States, Britain, and Ukraine aren’t the only countries in complete disarray. Iran is having another revolution. Women are coming out in force to demand equal rights and an end to its totalitarian regime.

Yahoo Sports: “Again, if you don’t like the “White Bengal” look with the black stripes — which included the debut of the white helmet with black stripes on Thursday night — then it’ll be a while before you find an NFL uniform you like.”

I loved the white out uniforms worn by the Bengals Thursday night. Being a Bears fan I’m really looking forward to seeing the new orange helmets the Bears will be wearing on special occasions this year.

I kind of wish they’d go orange helmets with their navy blue color rush uniform but they’re not going that direction

Hayseed Blog: “I’m happy to announce a new Stream release. Version 1.3 is a minor release with one new feature and two bug fixes.”

I wish I could turn this little project into my full time gig. Heck, I’d be super happy with a few hundred bucks a month! 🤣

That aside I am proud of my little labor of love and hope you’ll give it a look.

Getting this version out the door has allowed me to get back to the Mac version. It’s slow going since this is my first real Mac app but I do hope to ship it at some point. 😄

Time for my third cup. ☕️

Tiny Apple Core

Saturday Morning Coffee

I got a nice little treat with my coffee this morning. Kim made some pumpkin spice cinnamon rolls. 🤤

Pastries and coffee are perfect together.

Frap

Robin Rendle, hat tip Om 🎩: ”There are no rules to blogging except this one: always self-host your website because your URL, your own private domain, is the most valuable thing you can own. Your career will thank you for it later and no-one can take it away. But don’t wait up for success to come, it’s going to be a slog—there will be years before you see any benefit.”

If you’re reading this you have to know by now I love blogging. I don’t see giving it up. Sure, I’ve gone through extremely dry spells over the years but I still enjoy it.

In the early 2000’s I’d do little one line posts and it was fine. When Twitter became a thing I felt like my blog posts needed a title for some strange reason. When I switched back to this domain for my blog I started posting stand-alone short posts without a title and pictures.

I like the way it’s going. I post more frequently.

The Daily Beast: ”Dearie, a semi-retired federal judge in Brooklyn who’s playing the role of temporary referee, wants to speed up the process and get federal agents back on track. And while Trump has been alleging on social media that he already declassified the records he swiped from the White House, Dearie is demanding that Trump put up or shut up.”

The judge that setup this whole mess by allowing for a Special Master was just passing the buck. It’s nice to see Judge Dearie call B.S.

It’s amazing how big a grifter, gangster, bully, TFG is. He really does deserve some jail time, of course he won’t get any, but he deserves some.

The Iconfactory : ”Introducing Wallaroo - the quickest and easiest way to browse and set wallpapers on your iOS devices. The Iconfactory has been crafting custom wallpapers for the Mac and iOS community for over 25 years, and now we’ve packaged them up in a fun, handy app that’s available today on the iOS App Store.”

I’m a huge fan of The Iconfactory. I’ve been a Twitterrific user for years and years and years and I’m composing this post using Tot, their simple note taking app.

When I saw the post for Wallaroo I installed it straight away and subscribed. I love seeing a subscription that is going to provide me with high quality iPhone wallpapers for the length of my subscription, one year.

I’m currently rocking the Jack-O-Lantern from the Spectral Selfies collection. It’s a beautiful piece of work.

Highly recommended.

I was also surprised to see Apple relax the rules around the Dynamic Island (Do you say Dynamic Island in a big booming voice in your head or is it just me?)

Regardless. It’s nice to see Apple allow for this whimsical treatment of the island.

Who know, next week they may reject it? 🤷🏻‍♂️

The Washington Post: ”The issue Wednesday went far beyond a single statue. Residents — neighbors, families — plunged into an emotional discussion about identity and who gets to define it, provoking a heated defense of local heritage. Much of it was couched in an unreconstructed view of history in which the Lost Cause is noble, the Confederacy was a bastion of states’ rights and Gen. William Tecumseh Sherman was an unprincipled butcher.”

This is something I really hate about the South. There is a reality distortion field around this so called heritage. Yeah, it’s a heritage of slavery. The imprisonment and mistreatment of human beings to serve your needs. It’s pathetic.

Every one of these Jim Crowe era statues and monuments need to be destroyed. Melt them down and make them something beautiful or put them in a museum to shame them. It would be a museum similar to the Holocaust Museum. We can’t forget the Civil War and we need to tell it for what it was. It was all about slavery.

The Confederacy was a disgusting attempt to overthrow the government. It’s a stain on our history.

Gotta give this asshole props for being honest enough to say what these right wing extremists believe. Most of the MAGA’s dance around the subject. Not this dude. He comes right out and says “I’m a racist bastard.”

Disgusting.

ESPN: ”CLEVELAND – Nobody, at least still living, knows for sure how Brownie the Elf came to be the first official mascot of the Cleveland Browns some 76 years ago.”

Let’s end on a happy note, shall we?

I know Brownie the Elf is controversial in Cleveland and around the country but gosh darnit I’m here for it! Not every NFL team needs some macho mascot.

I hope the dress him up for the holidays. A Christmas elf would be nice.

Oh, I also really love that he covers a gigantor part of the field. Nicely done Cleveland.

Now, let’s get him on the helmets. 😁

Tiny Apple Core

I should get my act together and get a TestFlight build of Stream put together. 😂

Stream Update

I managed to work on Stream a bit over the weekend and once again I have that ”I wish I could do this full time” desire.

I have a list of things to do a mile long. I checked my checkins — say that five times fast — and I haven’t worked on the Mac version in well over a year. Pathetic.

I did manage to get very close to finishing off a new little feature over the weekend. This feature will allow you to set the number of days Stream will keep posts. It’s a sliding scale from one to 31 that defaults to 30, because 30 is the hard coded value in the version in the wild.

I like the way it’s come together and need to fix an annoying bug that cropped up on iOS 15.5 — possibly other versions — then I’ll get a beta out the door.

A cute little monkey.For the technically minded. This bug is clearly my fault. I have a layout issue my table view cells, there are two types. It would seem that iOS 15.5 has tightened up, or changed, the auto layout engine in UIKit that exposed my bug. I say it’s iOS 15.5 but it could be all 15.x. 🐞

I’m still digging. Hopefully I don’t wait another eight months to work on it again. 😳

I bet getting an M1 MacBook Air would feel blazing fast given I’m still using a 2019 15in MacBook Pro.

Yes, it has the butterfly keyboard and my fingers don’t work on it. 😆

And, honestly, the old MacBook Pro is plenty fast for me.

Saturday Morning Coffee

FrapThe United States Supreme Court continues to be a complete mess whose only job appears to be dismantling prior rulings and dialing our nation back a century.

Golden Hill Software: “I am excited to announce that Unread 3.0 is available now from the App Store. Unread 3.0 adds Unread Cloud, a new syncing and article retrieval system for Unread.”

John Brayton, the person behind Golden Hill, is a friend and competitor. Unread is a beautiful, highly functional, and very stable application. With the addition of Unread Cloud, John has taken Unread to the next level.

Checkout the Golden Hill Blog for more details on Unread Cloud. There’s some great content up there.

Of course I’d encourage you to use Stream as well as Unread.😃

The New Yorker: “Regardless of this detail, Hutchinson’s testimony appeared to strengthen the criminal case against Trump. One of her revelations was that, a few days before January 6th, Pat Cipollone, the White House counsel, had explicitly warned that if Trump did go to Capitol Hill on January 6th he could potentially be implicated in the crimes of obstructing justice and obstructing the electoral count.”

Trump is a criminal. A poo spouting, lying, criminal, who’s a real threat to our democracy.

Swift.Org Developer Spotlight: “I learned Swift by porting Graphing Calculator’s core computer algebra system. It started as a learning exercise, then became a feasibility study. The pandemic played a role in that decision, as this became my pandemic shelter-in-place project. The refactoring could have been done in C++ and Objective-C++, but it would not have been as effective, nor as much fun.”

This is a really great read. The developer of Graphing Calculator walks us through his effort to port his old code base to a modern Swift/SwiftUI application, complete with AR features!

He also relays his SwiftUI experience.

“When SwiftUI works it is a nigh-magical delight, but when it behaves unexpectedly or when behavior outside the prescribed path is desired, it can be difficult to understand and work around its limitations.”

If you’re a developer take the time to read the post. I think you’ll enjoy it.

Some states in our Beautiful Union have become Gilead. It’s pathetic, dangerous, and extremely cruel.

Also, whoever impregnated a 10-year old should be put down like a rabid dog. Rape and incest are one of those things that makes me angry enough to commit murder because it robs the victim of their soul. It’s worse than murder in my opinion. They’re alive and dead at the same time.

The Podcast Index: “The Podcast Index is here to preserve, protect and extend the open, independent podcasting ecosystem.”

This is something I believe the podcast ecosystem needs. An open podcast directory. I’ve even written about such a thing

The big question for me is, will indie podcast apps make use of it? I’m thinking of Castro and Overcast in particular. Both run their own directories, as well as other backend services, but The Podcast Index makes me wonder if they could replace their directories with this?

I’m sure it comes down to a matter of trust and control. I know it would be really difficult to make such a bold decision.

SFist: “California is pushing for green energy and wants to avoid blackouts, but giving PG&E $75 million to handle radioactive waste at Diablo Canyon may sound like a deal with the devil.”

I love California but she has her problems. It’s crazy expensive to live in the Golden State and continued drought coupled with fire creates monstrous problems to cope with.

PG&E doesn’t have the best reputation. Their lack of line maintenance has caused numerous fires in California, including the massive Camp Fire that killed 84 people in 2018.

Apple announced and displayed a new version of CarPlay at WWDC 2022. Can they compete?

I also wonder if car manufacturers will have to pay Apple 30% of each car sale? 🥴

Tiny Apple Core

Stream + Twitter

Something I’ve considered adding to Stream is the ability to follow Twitter lists.

The reason I’d like to have it is I have a Twitter list called Politics I’d like to follow.

I thought this could be an interesting, differentiating, feature.

Of course there are many features on my list. So many it’s honestly overwhelming when I think about them all.

Some others include; iCloud syncing, Feedbin, Feedly, Labels, Filtering, and many, many more.

So much time, so few features. Scratch that, reverse them. So many features, so little time.

Panic’s Nova Parser and Grammars

PanicPanic’s Nova Developer Forum: “Now, in my opinion and after laying all to bare in this way, Tree Sitter stands as the best path forward for both Nova’s team as well as our extension developers. Keep in mind, I know little about the actual performance of Tree Sitter against our current parser (both of which are marketed as very fast), and likely won’t until time is taken to actually try. There are more things to consider beyond the raw speed of its C source, as Nova’s features need to sit atop it and bridge to Swift, which may take time to get right. So, that’s all within a grain of salt.”

Panic is full of talented people and I love how transparent they are.

This would, obviously, be a huge change to the guts of Nova and I can see why they’re approaching it so cautiously.

In the end I’m looking forward to final decision and which direction they decide to go with.

Tree Sitter seems like a solid choice, even if it’s not created by Panic and being written in C should make for fast, small, code.

Hopefully the Tree Sitter folks will welcome Panic input and PR’s with open arms so Nova and all other developers benefit.

Becky’s WWDC Wishlist

Becky Hansmeyer: “New and/or third-party watch faces. When I think of all the amazing designers I follow on Twitter, it makes me sad to imagine the gorgeous, fun watch faces they could come up with that will probably never see the light of day.”

It’s been quite a while since I’ve seen a blog post from Becky and it’s always fun to read her wish list.

My wish list is simple: Custom Apple Watch faces.

Of course most developers want SwiftUI improvements. I’m fine with that but not in a real hurry. I’ve contributed to a couple SwiftUI projects and I found it very confusing — it’s yet another brain shift — but I get the idea.

It’s really nice when “it just works™️.”

This is how you work on the front porch.

It never fails. When I get to the end of a project I get a little down and start thinking of my own little software projects. 🌾

Which makes me wish I could do those full time. 🕛

Every time.

My brain is weird. 🧠

Y’all ready to see the bump Stream got when Musk announced he was buying Twitter!

Drumroll please. 🥁

Yep, I got that nice day of three downloads!

I am greateful folks do take the time to consider Stream. 🙏🏼

Code Bomb 💣

AHHHHHH!Daring Fireball: ”The way the Node community works, just blindly slurping in other people’s package updates without knowing what’s in them, continues to boggle my mind.”

In one of yesterdays posts I referred to the React Native community as loosey goosey.

The node.js community is one of the reasons why.

Always pin your dependencies.

Heck, I’ve worked on projects where we’ve committed binaries, after doing a ‘pod install’, to the repo so we wouldn’t get an accidental update. Folks understood not to install stuff in their local build so we wouldn’t get random crap.

Another thing I’ve done is just include the code right in my project, no dependency manager. Especially if the code is really small.

Anywho, enough of the Development World According to Rob. 😄

More React Native

Microsoft Cash Cow.

Microsoft: “React Native isn’t just for mobile! Check out how the Windows 11 Settings app is leveraging React Native for Windows to deliver new features and capabilities to users faster and with the same great visual fidelity as Windows 11.”

I find it so strange Microsoft would choose to use React Native for features in the OS. They have C#/.NET which is a wonderful choice and highly optimized for Windows development. It also works with Windows UI 3.0.

The only reasons I can come up with are: 1) they’d like to demonstrate it can be done. 2) they don’t have developers working on this “feature” with the skill set required to do it in C++ or C#?

Brain in a jarThat second one is a real stretch but I just can’t resolve in my own brain why you’d choose this over your own tools?

Red Shift: “So let’s cause some drama and ruffle some feathers, and talk about why Flutter is better than React Native… in all the ways that don’t matter.”

One glaring downside to Flutter is it doesn’t do native UI. It’s all rendered by them. That is a pretty crummy thing to do.

I could see giving this a go for RxCalc if it used native controls. It has decent support for using C++ libraries and RxCalc’s calculations are C++.

Ward Abbas: ”After 3.5 years of working at Wix, mobile R&D, infrastructure team and as an ex-owner of react-native-navigation, i can shed the light on many issues directly related to the RN architecture (new and old) and indirect stuff that the framework can easily cause bad stuff more than good.”

More negative feedback about React Native.

Part of my consternation regarding React Native is the ecosystem seems “loosey-goosey.”

Lots of node dependencies dragged along for the ride and node has its own issues.

However, to make things better you have to get involved.

Free and Opinionated

NetNewsWire Blog: “Our mission is to make the best RSS reader that we like making. We value stability, high performance, clarity, and lots of figurative air and space rather than a mélange of features.”

I love how Brent and the NNW team hold true to what they believe – and what they want – a feed reader to be.

If you haven’t checked out NNW you really should, it’s a great product.

Stream by the Numbers

A week in the life of Stream, my feed reader.

My favorite bit to look at is what Territories folks are in. I love that my app is being used – at least downloaded – all over the world.

I think about localization often. What languages would I start with? German seems like a good start, but based on the numbers Chinese would be a better bet.

Stream Update

I feel like I’ve been working on this app forever. 😀

But, I haven’t. It’s been a couple years of fits-and-starts. The last TestFlight build I sent out was, I believe, back in late February.

I only have a few new items to add then it’s all about bug fixes.

What’s left?

Import and Export OPML

I have the core of importing and exporting working fine. It’s what I worked on today.

The one stumbling block I have is where it fits in the UI, like it’s a little thing. I have some ideas, of course, but I’m not thrilled about any of them. I’ll probably pick the least icky idea and do that.

Once that’s done I’d imagine the Export feature will live next to it.

Sharing

This goes two ways. I’d like to add an extension that will allow someone to Add to Stream from a web browser and I’d like to allow folks to share out of the article view. This should allow folks to start a blog post of their own or post to their favorite social media site.

Nice to haves

Extra Icons

I have some beautiful icons to share with everyone and I really hope you all enjoy them as much as I do.

Tip Jar

I’ve struggled with this one a bit. Stream is going to be free. It’s not going to be something folks just gotta have. I did this for me. I wanted an app that was simple and felt more like a Twitter feed. I think it hits both marks.

The reason I’ve struggled with the idea of having a tip jar is I don’t want folks to feel like they have to pay anything for it. I would appreciate it but it’s not necessary.

Wrapping up

I have a few bugs I’m aware of, mostly around stripping of HTML tags.

Thanks for following along.