Archive for October 4, 2019

Friday, October 4, 2019

BBEdit 13

Bare Bones Software (tweet):

The “Pattern Playground” window provides an interactive interface for experimenting with the behavior of Grep patterns (regular expressions). This makes the process of creating complicated patterns much less trial-and-error, since you can see exactly what will match, and how, before committing to any irreversible actions.

A complete description of the pattern playground is in the Pattern Playground Notes.

This is really great.

Added the Grep Cheat Sheet. […] The button pops up a menu which provides some common Grep pattern idioms and brief descriptions; choosing one will insert it literally into the pattern and select it (replacing anything that has been selected).

As is this.

BBEdit allows you to make rectangular selections in documents for which “Soft Wrap Text” is turned on.

A longstanding limitation addressed.

When editing the search string in the Find window, any matches for it will highlight in the “target” document window[…] This allows basic previewing of the effects of a Find All or Replace All operation.

What did I ever do without this?

There are two new commands on the “Select” submenu of the Edit menu[…]

Live Search Results: selects matches found while searching using the Live Search feature.

The trick to using this is that before you can do anything with the multiple selection you need to click the Done button or press Esc to go back to editing mode. I haven’t quite figured out yet when working with the selection is better than using the Find window (since it’s also live now).

The Python language module gets a built-in set of tags, for the core Python symbols.

This is kind of a regression for me because it highlights a bunch of commonly used words when I’m only using them as argument names or local variables. However, it was easy to turn it off by creating a language-specific color scheme that colors the “ctags symbols” the same as regular text.

Added a new command to the Text menu: “Apply Transform”. This command provides an “express” way to apply a single text transformation to specific files or folders, without requiring the explicit creation of a Text Factory.

I like this because, in recent versions, the “Convert to ASCII” command has only been available via a text factory.

The Text Colors preferences are now easier to use for selecting and editing color schemes. A central concept is that there is now always a color scheme in effect. It can be a factory color scheme, one you’ve downloaded, or one you’ve created. The previous “Custom Settings” indication no longer appears.


If you have a color scheme selected, any changes you make to settings in the Text Colors preferences will change the color scheme file on disk.

This was kind of confusing before and is much more intuitive now.

Andrew Madsen:

BareBones continues to set the standard for detailed change logs.

Jeff Johnson:

Has @siegel ever considered trolling everyone with a “Bug fixes and performance improvements” update? Maybe on April 1.

Rich Siegel:

That’s kinda what we have to do in the app store, because there’s not enough space or formatting support to render the full change notes. ¯\_(ツ)_/¯

Jason Snell:

BBEdit 13.0’s paid version costs $50, and users from previous paid versions can upgrade for $30 (from the previous version) or $40 (from older versions). The last paid update to BBEdit was two years ago, and the previous one to that was five years ago. Users of BBEdit on the Mac App Store won’t have to pay to get the update; on the Mac App Store, BBEdit’s premium features are a subscription for $40/year or $4/month and get access to all updates forever.

Ryan Dotson:

It’s been my companion for over twenty years. I’ve never seriously considered any alternative – BBEdit doesn’t let me down, and is never anything short of helpful.


My favourite enhancement is to the editor’s status bars – a large text option. My eyes are still good enough to see the normal size but the large version is just a bit more comfortable to read. Importantly, though the widgets are larger, they don’t feel it.

Peter Hosey:

It says a lot about my trust in @BBEdit —and my lack of it in almost all other software—to not move my cheese or otherwise fuck things up that I saw this and was immediately excited to update.

It really doesn’t suck. And I trust its developers to keep it that way.


Update (2019-10-17): Adam Engst:

Even for someone like me who has been writing regular expressions for years, building a grep search usually requires trial and error. That’s not because I’m lousy at grep, but because it’s easy to assume a source file is more regular than it actually is.

Ryan Dotson:

BBStylish is a stylesheet for BBEdit’s Preview window that offers attractive defaults, but which can be customised with little to no knowledge of CSS.

Weather Line 2

Ryan Jones (9to5Mac):

+ All-new design
+ All-new weather data solution
+ 21 new features
+ 17 themes (4 dark modes)
+ Super Forecast
+ Travel Assist
+ 10-day forecasts
+ HD radar
+ Hyperlocal rain


Initially we had Dark Sky, The Weather Channel, and WDT, a meterorlogist PhD we consulted said those were the best.

We directed users how to pick… but wait… why pick one, just give me THE BEST OF THEM ALL!

Sounds really good. I haven’t tried it yet, because it requires iOS 13, and I plan to stay away from that for a while longer. Weather Line 1 was one of my favorite iOS apps, but I can no longer use it either its weather data was turned off. So, for now, I’m using Apple Weather. I’ll miss the old Weather Line icon, and I’m slightly worried about the two-level design and lower information density, but I’m reserving judgement until I’ve used it for a while.

Off Coast LLC:

There is a Free plan for those who wish to continue using our core features with limited ads, plus some of the new 2.0 features.

Our Pro plan is called “Supercharge” and includes a 7-day free trial, all the new features, and no Ads. It will be $1.99 per month, $0.83 per month ($9.99 billed annually), or $44.99 for a lifetime unlock.

Anyone who ever bought Weather Line 1 will get their first year of Supercharge at 50% off - just $4.99 (less than 50 cents per month).

Ryan Jones:

If you HATE subscriptions, there is an expensive Lifetime Unlock that goes for the lifetime of Weather Line.

Some people are upset because features that were formerly included in the purchase price are now accompanied by ads if you haven’t subscribed. I guess this is a gray area of the App Store guidelines.

Marco Arment:

Do the math. If you bought it for $4.99, they got 70% of that: $3.49. If you use it for 4 years, that’s 87 cents a year in revenue.

The Dark Sky API costs $0.0001 per call. If data refreshes once an hour, it’s about 88 cents per year, per weather location.

See the problem?

Ryan Jones:

Times 3 for The Weather Channel and radar

Mike Piontek:

For me it went something like:

• A few years of “eventually Apple will support upgrades”
• OK, subscriptions are clearly the only option
• Wow people are mad about subscriptions
• Wow it takes a long time to try to create something people won’t be mad about paying a sub for

Ryan Jones:

Bingo. Exactly why we worked for 2 years with no income, while the app lost money for 4 years.

To make WL2 worthy of a $10/yr subscription.


Update (2019-10-04): Isaac Halvorson:

FYI, the old Weather Line icon is one of the options in Weather Line 2!

At the top, I linked to two tweets, since deleted, saying that Weather Line 1 “would be shutting down today no matter what” and that “shutting down” meant “turning off the data.” This has now been clarified:

We are not shutting off WL1 data! We would have to if we did not do this (WL2)

I updated a spare iPhone to iOS 13 and installed Weather Line 2. What was not clear from the blog post is that the Free plan is a regression from Weather Line 1. Even with the ads, it includes different (less accurate) weather data, and it does not include the Dark Sky precipitation information. (As of this writing, Weather Line 2 predicts tonight’s low to be 10 degrees warmer than either Weather Line 1 or Apple Weather, and the current temperature is already below its predicted low.)

At least on the iPhone SE, I’m not a fan of the new card-based design, as I can no longer see all the important information without scrolling.

Keyboards as Competitive Advantage

John Gruber:

Microsoft started yesterday’s event by banging the drum that they never have and never will compromise on the quality of their laptop keyboards — a clear and completely fair competitive dig at Apple. That’s the message they should have left the world with — that they, not Apple — now make the best laptop hardware in the world. Instead, they left everyone talking about two products that won’t be out for another year.

In less than six months, my wife’s Retina MacBook Air developed some keys that sometimes don’t type anything. This Mac has the third-generation butterfly keyboard. It’s never been used outside the home, isn’t used near food or sources of dust, and isn’t left open when not in use.

David Heinemeier Hansson:

“Went in for a keyboard replacement, they decided it needed a logic board. Got back home, it didn’t turn on, so back to the store. Apple replaced the entire machine because it’s had 3 major repairs in 12 months.”, employee just trying to get work done on a MacBook Pro. Disgrace.

This is just normal course of business at Basecamp. Every single month we have employees taking their machines back to Apple for the second, third, fourth, or fifth repairs of their broken MacBook Pro keyboards. Apple keeps claiming “small minority”. Bullshit.

Seriously, nothing has eroded my trust in Apple’s capacity as a computer maker as their inability to come clean on the utter catastrophe that is the butterfly keyboard design. If ever there was a worthy cause for a class-action lawsuit to take them to the cleaners.

Matt Anderson:

We are dealing with this at TaxJar weekly. We spend too much time shipping machines and buying loaners for those in remote areas far from Apple stores.

Per Henrik Lausten:

Picked up my MBP 2018 this morning from the 3rd repair in 3 months. Logic board replaced twice and battery replaced once. With each repair I’m without my primary work laptop for a week (oh, and replacing the logic board means all data on the SSD is lost)

Michael Hartl:

I’ve had mine fixed twice and completely replaced on a third occasion.

Mike Wilkerson:

As an Apple fanboy who’s all-in on the ecosystem, I used to dismiss this as overblown. After a keyboard replacement for my 2017 MBP last week, and the space bar on my 2018 MBP now acting up, confidence is shaken enough to look at alternatives. Definitely not a premium experience.

See also: Joanna Stern’s keyboard broke while she was writing her iPhone 11 reviews.


Update (2019-10-04): Daniel Jalkut:

Had my late-2016 MacBook Pro keyboard replaced again. It’s really impressive how fast Apple turns around mail-in repairs. I sure am glad I keep a spare (previous gen) MBP around as a backup. Maybe the 2016 will serve that purpose soon...

NSDistributedNotificationCenter No Longer Supports nil Names

merlinme (via Jeff Johnson):

I’m not sure if this is a bug or an API change, but we have an app which relies on distributed notifications which didn’t work on Catalina. After debugging I think the problem is that specifying a name: nil in addObserver fails silently.


Apple have now replied to my Feedback submission to confirm that the API has changed. Specifying a nil name in addObserver is now a privileged operation, so for practical purposes all applications currently using a nil name will stop receiving notifications when they move to Catalina, and will need to be updated to use a specified name.

Another breaking change to an API that’s been around since Mac OS X 10.10, without updating the documentation or mentioning the change in a release note:

notificationName The name of the notification for which to register the observer; that is, only notifications with this name are delivered to the observer. When nil, the notification center doesn’t use a notification’s name to decide whether to deliver it to the observer.

I guess maybe there are privacy reasons to prevent an app from seeing notifications from other apps or the system. However:

Stop Saying, “We Take Your Privacy and Security Seriously”

Zack Whittaker (Hacker News):

[DoorDash] said in a blog post Thursday that 4.9 million customers, delivery workers and merchants had their information stolen by hackers.


The news comes almost exactly a year after DoorDash customers complained that their accounts had been hacked. The company at the time denied a data breach and claimed attackers were running credential stuffing attacks, in which hackers take lists of stolen usernames and passwords and try them on other sites that use the same passwords. But many of the customers we spoke to said their passwords were unique to DoorDash, ruling out such an attack.

Zack Whittaker:

Companies can start off small: tell people how to reach contact them with security flaws, roll out a bug bounty to encourage bug submissions and grant good-faith researchers safe harbor by promising not to sue. Startup founders can also fill their executive suite with a chief security officer from the very beginning. They’d be better off than 95 percent of the world’s richest companies that haven’t even bothered.

But this isn’t what happens. Instead, companies would rather just pay the fines.

It does seem like breaches have been normalized. I doubt they cause many people to close their accounts, both because the business or service may not have a good replacement and because you have no way of knowing whether the alternatives are any safer.