Archive for May 7, 2020

Thursday, May 7, 2020

Facebook SDK Causes Crashes

Juli Clover (Hacker News):

Multiple iPhone and iPad users are seeing their apps crashing at launch as of this afternoon, and the issue appears to be caused by a faulty Facebook SDK that the apps are using.


Multiple developers on GitHub have attributed the problem to a Facebook software development kit used by the apps for sign-in purposes. Apps are failing to open even when users do not use the Facebook login options included.


Due to a major increase in crashes across the iOS ecosystem caused by an issue with a popular iOS SDK, iOS crash processing in Crashlytics was disabled at 11:00 PM UTC.

So many crashes that it brought down the crash reporter.

Ben Sandofsky:

To stop crashes from the Facebook SDK, some devs tried commenting out any code that calls Facebook. Nothing worked.

It turns out that by just including the SDK with your app, Facebook runs hidden code on launch. (FBSDKApplicationDelegate.m)

Guilherme Rambo (tweet):

The issue was caused by some bad data being sent by Facebook’s server to their SDK, which caused code in the SDK to crash, which in turn brought down the app that was running the SDK. Since this happened during the initialization of the SDK — something that occurs right after launching the app — the apps simply became unusable. You can read more about it here.

I did find a workaround that allowed me to order dinner though. Since the crash was caused by data sent by Facebook’s servers, I blocked the domain (and all of its subdomains) on my network using Pi-Hole.


The other solution would be some form of sandboxing that isolates this type of SDK from the main app code. Apple’s operating systems already have and use XPC extensively — and iOS supports extensions — but it still doesn’t expose such functionality to developers.

Anil Dash:

The flagship mobile apps from Google, Spotify, Apple, NYT, Venmo, Walmart and many other huge companies all broke for about 30 minutes.


Done right, open source is magic. It gives coders super powers to build things they could never do alone. But it can also be a strategy that makes huge parts of our online experience dependent on a few companies, and vulnerable to their choices. The failure that millions of people experience today was just (“just”) some apps crashing for a little while. A few weeks ago, it was Zoom using a Facebook library that sent data in ways they didn’t disclose. We don’t have a cultural fluency in how to talk about the interconnectedness of all the tech around us.

Apple and Google use the Facebook SDK?

John Gruber:

Facebook themselves are no dummies. None of their iOS apps ever break because of a bug from Google or Adobe, because they’re not foolish enough to bake in a dependency they don’t control.


Update (2020-05-14): ethanhuang13:

FacebookAuth is for iOS app developers who need to support Facebook login but don't want to use the official SDK.😒

Single closure API. ~100 loc of implementation.

Steve Jobs, Photographer

Chris Hynes:

It shouldn’t surprise anyone that Steve Jobs liked to take pictures. He was even taking a picture the last time I saw him. However, many people might not know that some of his photos shipped as Desktop Pictures in Mac OS X 10.5 Leopard.

Nick Heer:

But, when Steve Jobs showed it for the first time, the audience did not break into applause. After a couple of seconds of silence, they started laughing — not a typical reaction to a new feature shown at an Apple keynote presentation. One reason for that could be because, at that time, some builds of Microsoft’s glassy-looking Vista had a photo of grass set as the default wallpaper. Apple chose to introduce Leopard — which featured a translucent menu bar and reflective glass dock — with a similar photo of blades of grass.

Wink Abruptly Switches to Subscription

Wink (Hacker News):

Wink has taken many steps in an effort to keep your Hub’s blue light on, however, long term costs and recent economic events have caused additional strain on our business. Unlike companies that sell user data to offset costs associated with offering free services, we do not. Data privacy is one of Wink’s core values, and we believe that user data should never be sold for marketing or any purpose.

We have a lot of great ideas on how to expand on Wink’s capabilities and satisfy the many requests from our user base. In order to provide for development and continued growth, we are transitioning to a $4.99 monthly subscription, starting on May 13, 2020.


Should you choose not to sign up for a subscription you will no longer be able to access your Wink devices from the app, with voice control or through the API, and your automations will be disabled on May 13.

Via Jason Snell:

It’s the deadline of a single week that I find incredible. That’s either a sign of desperation or malevolence; either one would make me hesitant to pay them a dime.


Zapping the PRAM for Catalina Permissions

Erica Sadun:

Ran into trouble this weekend where I was unable to add permissions for a number of apps to allow access to my microphone and camera.


With some help from Bas Broek and this article, which specifically addressed the inability to grant access in Catalina, I discovered that rebooting with a NVRAM/PRAM reset might help. It sounded like sacrificing chicken entrails but it worked. While a regular reboot didn’t help, the Cmd+Option+PR reboot did.


Zoom Security Improvements

Zoom (via David Heinemeier Hansson):

Zoom 5.0 is here!

With robust security enhancements and to prepare you for the upcoming transition to GCM encryption.

Bruce Schneier:

There is nothing in Zoom’s latest announcement about key management. So: while the company has done a really good job improving the security and privacy of their platform, there seems to be just one step remaining to fully encrypt the sessions.

The other thing I want Zoom to do is to make the security options necessary to prevent Zoombombing to be made available to users of the free version of that platform. Forcing users to pay for security isn’t a viable option right now.

Eric S. Yuan (Hacker News):

We are proud to announce the acquisition of Keybase, another milestone in Zoom’s 90-day plan to further strengthen the security of our video communications platform. Since its launch in 2014, Keybase’s team of exceptional engineers has built a secure messaging and file-sharing service leveraging their deep encryption and security expertise. We are excited to integrate Keybase’s team into the Zoom family to help us build end-to-end encryption that can reach current Zoom scalability.

Dan Moren:

There are, as Yuan points out, drawbacks to implementing that end-to-end encryption, which will be an option for paid accounts, but not mandatory. Namely, certain features won’t be compatible, such as phone bridges and cloud recording (because Zoom can’t decrypt the content).


Update (2020-05-25): Alex Stamos:

Zoom has published an initial design and roadmap for deploying end-to-end encryption for hundreds of millions of meeting participants.

Update (2020-06-03): Gennie Gebhart:

I have been pleasantly surprised with Zoom’s quick and decisive responses to security criticism recently, but after a feedback call they hosted this morning about their end-to-end encryption plan I am back to being disappointed.

The plan that I heard is to build out end-to-end encryption, but as a premium feature offered only to paid accounts.

Microsoft Word Now Flags Double Spaces As Errors

Tom Warren (Hacker News):

Microsoft has settled the great space debate, and sided with everyone who believes one space after a period is correct, not two. The software giant has started to update Microsoft Word to highlight two spaces after a period (a full stop for you Brits) as an error, and to offer a correction to one space. Microsoft recently started testing this change with the desktop version of Word, offering suggestions through the Editor capabilities of the app.

Much of the debate around one space or two has been fueled by the halcyon days of the typewriter. Typewriters used monospaced fonts to allocate the same amount of horizontal spacing to every character. Narrow characters like “i” got the same amount of space as “m,” so the extra space after the “.” was needed to make it more apparent that sentences had ended. Word and many other similar apps make fonts proportional, so two spaces is no longer necessary.

I’ve never understood the explanation that the recommendation has changed because of proportional fonts. Why would the widths of the letters matter? A space is still a space. It’s not as if the font knows to make sentence-ending spaces wider. If anything, there is by default more perceived space with a typewriter because the period character is wider, yet mostly empty, so the last letter of one sentence and the first letter of the next are farther apart.

As far as I can tell, what changed is the preference of designers for how much space there should be.


Historical style guides before the 20th century typically indicated that wider spaces were to be used between sentences. Standard word spaces were about one-third of an em space, but sentences were to be divided by a full em-space. With the arrival of the typewriter in the late 19th century, style guides for writers began diverging from printer’s manuals, indicating that writers should double-space between sentences. This held for most of the 20th century until the computer began replacing the typewriter as the primary means of creating text. In the 1990s, style guides reverted to recommending a single-space between sentences. However, instead of a slightly larger sentence space, style guides simply indicated a standard word space. This is now the convention for publishers.

John Gruber:

Go look at a few professionally-typeset books — every single sentence on every page in every book has one space after the period.

I have shelves full of books typeset with LaTeX, which by default puts more than a single space at the end of each sentence. It think this looks much better. But, crucially, LaTeX only makes the space fractionally larger. There’s no easy way to do that with most software, and if it’s a choice between one and two spaces, I think two looks odd.

Single spaces introduce a technical problem, which is that the software can’t tell whether a period is at the end of a sentence or merely following an abbreviation. LaTeX’s solution is that you have to manually mark periods that are not sentence ending. People often forget to do this. It also treats runs of multiple spaces as a single space, like Web browsers do.

Daniel Kehoe:

I was active on the www-talk mailing list in 1993. In July, in the thread “Space after Periods,” Terry Allen (an editor at O’Reilly) wanted rendered HTML documents to follow Tex conventions with extra space after a period.


Terry Allen and I engaged in some snarky backbiting, then Ken Chang of NCSA Publications said he preferred “‘one space fits all’ as writers of HTML really shouldn’t need to know the fineries of typography.” Marc Andreessen (still at NCSA in 1993) pointed out browser developers couldn’t be expected to implement the syntactic analysis required to distinguish the end of sentences from inter-sentence periods. Finally Guido van Rossum (the developer of the Python programming language) complained that, “extra space after a sentence… is mostly propaganda by Knuth and Kernighan (TeX and troff)” and implored, “Let’s keep HTML simple!” You may know that Python is unique among programming languages in treating whitespace as significant. At the time, I hadn’t yet learned to use Python (it was still pre 1.0) and didn’t know that Guido van Rossum had strong feelings about the significance of whitespace.

In the end, we ended up with browsers putting a single uniform space between sentences (as you can see on this page).

Martin Wierschin:

I recently came across a copy of the COVID-19 economic relief explanation letter being sent out by the White House here in the United States[…] What was interesting to me was not the contents of this letter, but rather the spacing after each period.

Update (2020-05-14): Simone Manganelli:

Another reason to prefer more than one space after a period: it is FAR easier to scan long pieces of text and understand some of it, because my eyes can more easily pick out the beginning and ends of sentences.

This is literally the same reason why we have paragraphs.