Archive for July 2018

Tuesday, July 17, 2018 [Tweets] [Favorites]

Why Content Should Be Published in HTML and Not PDF

Neil Williams (via Alistair Duggin):

The default should be to create all content in HTML. If you can’t avoid publishing a PDF, ideally it should be in addition to an HTML version and the PDF must meet accessibility standards and archiving standards. We hope this post will help publishers explain the problems with PDFs to their colleagues and support moving towards an HTML-first culture.

[…]

PDFs may seem to be the fastest option because they can be easily created from popular applications that people are already using to author and share documents.

Converting content into HTML takes a bit of time. However, as explained earlier, creating a fully usable and accessible PDF from a source document requires specialist knowledge and can actually take longer than creating the content in HTML.

Unfortunately, there is no standard way to download an HTML document and save it in a self-contained format. Also, the tools for reading, searching, and marking up PDF documents are better.

Memoji Apple Leadership

Juli Clover:

In celebration of World Emoji Day, which takes place tomorrow, Apple today updated its Apple Leadership site to introduce Memoji avatars for all of the key executives listed on the page.

Tim Cook, Angela Ahrendts, Jony Ive, Eddy Cue, Craig Federighi, Luca Maestri, Phil Schiller, and the rest of the leadership team are now represented by Memojis.

Jeremy Burge:

Apple has today offered a first look at the iOS emojis for 2018. We spoke to Apple VP of User Interface Design Alan Dye about the new emoji updates and when we can expect them.

Popular additions coming soon to iOS include redheads, a mango, kangaroo and lobster. Billing the update as over 70 new emojis, the total number should total closer to 150 additions when gender and skin tones are taken into account.

App Store Revenue Nearly Double That of Google Play

Sarah Perez:

Apple’s iOS store has consistently generated more revenue than its Android counterpart for years due to a number of factors – including the fact that Android users historically have spent less on apps than iOS users, as well as the fact that there are other Android app stores consumer can shop – like the Amazon Appstore or Samsung Store, for example. In addition, Google Play is not available in China, but Apple’s App Store is.

[…]

Google Play app downloads were up a bit more (13.1 percent vs iOS’s 10.6 percent) year-over-year due to Android’s reach in developing markets, reaching 36 billion. That’s around 2.4 times the App Store’s 15 billion.

Despite this, Apple’s platform still earned more than double the revenue with fewer than half the downloads, which is remarkable. And it can’t all be chalked up to China.

Nearly double the revenue from less than half as many downloads.

Open Offices Result in Less Collaboration Among Employees

Ethan S. Bernstein and Stephen Turban (via Dan Luu):

Contrary to common belief, the volume of face-to-face interaction decreased significantly (approx. 70%) in both cases, with an associated increase in electronic interaction. In short, rather than prompting increasingly vibrant face-to-face collaboration, open architecture appeared to trigger a natural human response to socially withdraw from officemates and interact instead over email and IM. This is the first study to empirically measure both face-to-face and electronic interaction before and after the adoption of open office architecture. The results inform our understanding of the impact on human behaviour of workspaces that trend towards fewer spatial boundaries.

Drew Harry:

The social norms in any open plan office I’ve been in is to not talk in person because you’ll distract the 20 people in earshot. But good luck finding a nearby open room, so Slack is now worth $5B.

Jason Kottke:

This jibes with my experience working in open offices. For almost 10 years, I worked in an open office plan at Buzzfeed. In the beginning, when there were just a few of us, the level of IRL interaction was high. But as the number of people in the office increased past a certain point, people spent more and more time at their desks, headphones on, ignoring everything but their screens.

Previously: Apple Park’s Open Work Spaces.

Update (2018-07-17): Bad Uncle Leo:

Open offices ONLY WORK in cultures where they’ve been used for decades. I’ve worked in Japan and Germany where smaller groups or product team groups were sequestered. From each other.

“Open but only” offices work.

“Open w everyone” (Engineering + QA + Marketing) are chaos.

Swift GYB

Mattt Thompson:

GYB is a lightweight templating system that allows you to use Python code for variable substitution and flow control:

  • The sequence %{ <#code#> } evaluates a block of Python code
  • The sequence % <#code#>: … % end manages control flow
  • The sequence ${ <#code#> } substitutes the result of an expression

All other text is passed through unchanged.

A good example of GYB can be found in Codable.swift.gyb.

iOS Devices Can Be Blocked From Entering USB Restricted Mode

Oleg Afonin (via John Gruber):

On unmanaged devices, the new default behavior is to disable data connectivity of the Lightning connector after one hour since the device was last unlocked, or one hour since the device has been disconnected from a trusted USB accessory.

[…]

What we discovered is that iOS will reset the USB Restrictive Mode countdown timer even if one connects the iPhone to an untrusted USB accessory, one that has never been paired to the iPhone before (well, in fact the accessories do not require pairing at all).

[…]

Can Apple change it in future versions of iOS? To us, it seems highly unlikely simply because of the humongous amount of MFi devices that aren’t designed to support such a change.

Previously: Cellebrite Can Now Unlock Recent iPhones, GrayKey iPhone Unlocker.

Monday, July 16, 2018 [Tweets] [Favorites]

Instapaper Is Going Independent

Instapaper (Hacker News):

Today, we’re announcing that Pinterest has entered into an agreement to transfer ownership of Instapaper to Instant Paper, Inc., a new company owned and operated by the same people who’ve been working on Instapaper since it was sold to betaworks by Marco Arment in 2013.

Marco Arment:

I bet this is very good news for the future of Instapaper.

Kenneth Verburg:

No mention of GDPR support and EU users still blocked :(

Previously: Pinterest Acquires Instapaper.

Update (2018-07-17): Alex Heath:

The two employees Pinterest brought on from the Instapaper acquisition will continue working at Pinterest and run Instapaper independently on the side.

Nick Heer:

I don’t think it’s a great sign when a product is transferred from an official offering to something akin to a hobby.

Mitigating Spectre With Site Isolation in Chrome

Charlie Reis (via Justin Schuh):

Speculative execution side-channel attacks like Spectre are a newly discovered security risk for web browsers. A website could use such attacks to steal data or login information from other websites that are open in the browser. To better mitigate these attacks, we’re excited to announce that Chrome 67 has enabled a security feature called Site Isolation on Windows, Mac, Linux, and Chrome OS.

[…]

Site Isolation is a large change to Chrome’s architecture that limits each renderer process to documents from a single site. As a result, Chrome can rely on the operating system to prevent attacks between processes, and thus, between sites. Note that Chrome uses a specific definition of "site" that includes just the scheme and registered domain. Thus, https://google.co.uk would be a site, and subdomains like https://maps.google.co.uk would stay in the same process.

[…]

This means that even if a Spectre attack were to occur in a malicious web page, data from other websites would generally not be loaded into the same process, and so there would be much less data available to the attacker.

See also: Spectre Mitigations in Microsoft’s C/C++ Compiler (via Hacker News).

Previously: Intel CPU Design Flaw Necessitates Kernel Page Table Isolation, Firefox’s Facebook Container, Intelligent Tracking Prevention 2.0.

Reporting Bugs as External Developers

Mattt Thompson:

In Apple’s bug triage workflow, each problem is (ideally) tracked by a single Radar. If multiple Radars seem to report the same underlying problem, the oldest or most specific one is kept around while the others are closed as duplicates. This resolution can be frustrating for external developers, as this is often the last word they hear about a problem they’re having — particularly if the original Radar isn’t visible to them.

That said, having your bug closed as a duplicate isn’t always a bad thing. You can knowingly file a duplicate of an existing Radar as a way to say “I have this problem, too” and “Please fix this first”.

[…]

Due to the chilling nature of Apple’s social media policies, you’re unlikely ever to hear anything back. But rest assured that your Tweets are showing up on a saved Twitter search somewhere in Cupertino.

[…]

Speaking from my personal experience working at Apple, Radar is far and away the best bug tracking systems I’ve ever used. So it can be frustrating to be back on the outside looking in, knowing full well what we’re missing out on as external developers.

Previously: File Radars Early and Often.

App Preservation: Saving the App Store’s History

Federico Viticci:

You’d think that Unify would make for the perfect case study in app development and mobile creativity, if only for historic purposes. Except that Unify is gone from the App Store, as if it never existed in the first place.

If you were to look at the App Store’s developer page for Zach Gage – who worked on the award-winning Ridiculous Fishing, released indie breakthroughs such as Really Bad Chess and Flipflop Solitaire, and was even profiled in an App Store story by Apple – you’d see 2016’s Sage Solitaire as his App Store debut. Unless you still have an old iPhone that was never updated to iOS 11, Gage’s early work isn’t playable anymore. All that remains are old reviews on gaming blogs, awkward gameplay videos recorded before YouTube Let’s Plays, and our memories.

[…]

Very few people would be sad that their favorite fart app from 2008 was never updated for 64-bit and got nuked by iOS 11, but the same isn’t true for pioneering titles that were essential in writing the history of the App Store. And while the topic of software preservation has been addressed by other industries, Apple has largely ignored this conversation, treating all apps as equal commodities in spite of the fundamental role that some of them played in the history of the App Store, the art of gameplay design, and, ultimately, our culture.

On the tenth anniversary of the App Store, and looking ahead to the App Store’s next 10 years, this feels like a discussion worth having.

Previously: The Problem With Abandoned Apps, iOS to Drop Support for 32-bit Apps.

How Far Does 20MHz of Macintosh IIsi Power Go Today?

Chris Wilkinson:

As I pressed on with using the IIsi, I found the experience to be an overall pleasant devolution: no wizards, no updates, very simple user interfaces, no essential updating required. After just a couple of CPU cycles, you land on a blank page to begin your masterpiece. Typing on Apple’s renowned Extended Keyboard II also certainly helped.

[…]

On top of that, Photoshop uses 6MB of RAM, meaning that IIsi owners that haven’t upgraded from their original 5MB total (or less) may need to use virtual memory. But just to prove that I could, I was able to place my new logo in-line with my ongoing word processing document. It’s about as clunky as it is adding pictures in a modern word processor, but it works.

With some surprise, I was able to create PDFs using the Acrobat PDFWriter and view them using Acrobat Reader 3. Similarly I was able to view most modern PDFs, although larger files would fail to open.

[…]

I hadn’t expected to be able to access my Gmail account using the IIsi, and this turned out to be the case with all of the email clients tested. As with the Web browsers, the main problem was modern security methods.

Supporting This Site

Thank you for reading my blog. After all these years, it’s still a bit of a surprise that people are paying attention to what I write, with some even asking whether I’m OK if I don’t post anything for a while. I really appreciate that you spend time here and that I receive such thoughtful comments, e-mails, and Twitter replies.

I’ve been told this is overdue, but I’d like to ask you to help support this site financially. This is optional. I’m not creating a paywall, and I don’t want you to feel guilty if you aren’t able to help. But if you enjoy what I’m doing here, please consider joining via Patreon.

To be clear, I see this site as a labor of love. I’m not interested in making it more commercial or in giving up software development. I would like to keep it going more or less as it’s been: a personal site with a regular posting schedule. However, the writing does consume a substantial amount of my time, and I’m hoping that patronage will help me to justify that.

Update (2018-07-16): Thanks to Mike Zornek, Aaron Vegh, Bob Warwick, Andrew Abernathy, Chris Adamson, Daniel Jalkut, and others who have already signed up.

Update (2018-07-17): Thanks also to Brian Ganninger, John Gruber, Josh Centers, and Steve Troughton-Smith.

Friday, July 13, 2018 [Tweets] [Favorites]

Changing Rules for App Store Screenshots and Videos

Greg Pierce:

When did Apple decide you can put a flat-out TV ad in an app preview video? Used to be really strict only allowing the app in use.

Max Seelemann:

Can someone explain to me how Affinity got through with a cinematic app preview that essentially violates all the rules there are for app previews?

- humans

- devices

- plenty non-screen content

Etc

Can we all do this now?

Dan Counsell:

Apple appear to have relaxed the rules on App Store screenshots… they never used to allow such gratuitous use of devices like this afaik. Also that MacBook is sitting screen down with its keyboard in the air, wtf!

Previously: Affinity Designer and Adobe Photoshop for iPad.

Affinity Designer and Adobe Photoshop for iPad

Jeff Benjamin:

With the resounding success and universal praise heaped upon last year’s launch of Affinity Photo for the iPad, it was only a matter of time before its companion app, the popular vector illustration tool, Affinity Designer, was brought to the platform.

After publishing a teaser almost a year ago to the day, Affinity Designer is making its iOS App Store debut. To celebrate, developer Serif is launching the app at a special $13.99 introductory price, a 30% discount off the full price.

Like Affinity Photo, Affinity Designer brings desktop-class high-level capabilities to iPad users. After using it, I can say that it is unequivocally one of the most impressive iOS apps I’ve ever used. Serif has taken full advantage of the iPad’s multi touch gestures in a way that allows users to pull off all sorts of quick shortcuts without delving deep into the app’s deep menu set.

Michael Love:

I expect @affinitybyserif will have to switch to a subscription model eventually, but until they do, even a full-featured Photoshop for iPad is going to have a tough time competing.

Serif:

No plans for subscription here!

Damien Petrilli:

Affinity Designer on iPad might be a life changer for my design process. I usually only did sketching and research, now I can consider doing the mockups too.

Pretty neat.

Mark Gurman and Nico Grant (via Steve Troughton-Smith, Hacker News, MacRumors):

The software developer is planning to unveil the new app at its annual MAX creative conference in October, according to people with knowledge of the plan. The app is slated to hit the market in 2019, said the people, who asked not to be identified discussing private product plans.

[…]

The new versions of the apps will allow users to run full versions of the programs on Apple’s iPad and continue edits on different devices, the people said. The moves are similar to ones Microsoft Corp. has made as part of its software and services-focused turnaround in recent years.

Adobe’s customers, particularly in media and entertainment, are increasingly working on tablets rather than desktop computers, and have asked the company for the capability to make “edits on the fly” to their creative projects, Belsky said.

John Nack:

It remains unclear that anyone wants full Photoshop or similar on iPad, and I’d expect more of a Lightroom CC/Rush play (stripped down, rethought). We’ll see.

Guido van Rossum Steps Down as Python BDFL

Guido van Rossum (via Brian Gesiak):

Now that PEP 572 is done, I don’t ever want to have to fight so hard for a PEP and find that so many people despise my decisions.

I would like to remove myself entirely from the decision process. I’ll still be there for a while as an ordinary core dev, and I’ll still be available to mentor people -- possibly more available. But I’m basically giving myself a permanent vacation from being BDFL, and you all will be on your own.

I can’t thank him enough for all he’s done.

PEP 572:

This is a proposal for creating a way to assign to variables within an expression using the notation NAME := expr. A new exception, TargetScopeError is added, and there is one change to evaluation order.

I’ve written a lot of Python code that would have benefited from that.

Update (2018-07-15): See also: Hacker News.

Apple’s 4-Pronged Media Strategy

Unco:

Eric Young works in research and strategy for NBCUniversal. His understanding of Hollywood and the media landscape along with his strongly-held views on Apple made for a great conversation about Apple’s media strategy across music, video, news, podcasts and more.

macOS 10.14 Mojave Removes Subpixel Anti-aliasing

seelus (Hacker News, Reddit):

For anyone who wants to see whats coming when Mojave gets released without subpixel AA, I made a few comparison screenshots on a non-Retina display[…]

Peter Ammon:

Subpixel antialiasing is obnoxious to implement. It requires threading physical pixel geometry up through multiple graphics layers, geometry which is screen-dependent (think multi-monitor). It multiplies your glyph caches: glyph * subpixel offset. It requires knowing your foreground and background colors at render time, which is an unnatural requirement when you want to do GPU-accelerated compositing. There’s tons of ways to fall off of the subpixel antialiased quality path, and there’s weird graphical artifacts when switching from static to animated text, or the other way. What a pain!

This seems like a good engineering trade-off: simplify the code and testing, since the future is Retina. I say this as someone using an external 1x display. However, I’ve never liked seeing the colored pixels. I think text looks better with “Use LCD font smoothing when available” off and “Increase contrast” on. The worst part was that, no matter whether LCD font smoothing was enabled, there were always inconsistencies between different windows (even within the same app). That should no longer be a problem now.

Previously: Removed in macOS 10.14 Mojave, Mavericks Font Smoothing, Layer-backed Text Rendering, Anti-Aliasing in Leopard’s Menu Bar.

Update (2018-07-16): Colin Cornaby:

No idea what they did, but text does seem improved on Mojave B4. I can’t tell if it’s as good as subpixel AA, but it’s no longer offensive to my eyes.

Thursday, July 12, 2018 [Tweets] [Favorites]

Apple Discontinues Its Own Photo Printing Service

Benjamin Mayo (via Steve Troughton-Smith, MacRumors):

Apple is discontinuing its Photo Print Products service, which has been integrated into iPhoto since its launch in 2002. The service expanded from simple prints, to albums, photo books, and calendars. It stayed around on the Mac when iPhoto was replaced with the Photos app a couple of years ago, but the service never made the leap to iOS.

[…]

Apple’s recommendation is that customers download a third-party app that includes a Photos Projects extension. This API was introduced in High Sierra, and allows photo services to integrate photo printing UI inside the Apple Photos app. Payment processing and printing is all handled by the third-party.

This is sad news. Even though I use Lightroom, I would import my photos into Photos in order to make prints and books. Though not as easy to use as iPhoto, in my opinion, it still provided a much better interface than the Web-based services, and I found Apple’s print products to be consistently high quality and more reliable. With Shutterfly, we had to get one book redone three times because the printer kept messing up. This, combined with the poor Mac App Store reviews for the third-party projects extensions, does not make me optimistic.

Update (2018-07-12): Cory Birdsong:

This is a major bummer. Look at what the Wirecutter had to say about it less than a year ago[…]

If you have a Mac, don’t bother with Shutterfly. Apple’s own Photo Books service makes a better photo book with brighter images and more handsome layouts. If you’ve ever used the Photos app before, you’ll find the software familiar and easy to use—Apple also offers a detailed tutorial if you need help. Plus, unlike any of the other services, the colors will print on the page how they looked on your screen, including the cover. A master printer and Wirecutter’s photo and design editors all fawned over the Apple photo book for its spot-on colors, gorgeous layouts, and small design elements, such as page numbers, panoramic spreads, and a dust jacket that matches the cover.

Our Apple book was delivered in immaculate condition in an elegant, plastic-wrapped white cardboard box that was neatly shipped inside another sturdy cardboard box. We also appreciate that Apple doesn’t make you play the coupon game to get a good price. A full-price Apple photo book will cost the same as, or less than, a Shutterfly book with a good coupon. We can’t recommend it as the best service for most people because you can only use the software on Apple computers. But for anyone who does use a Mac, it’s the best and cheapest photo book service available.

MacBook Pro 2018

Apple (Hacker News, MacRumors, 9to5Mac):

The new MacBook Pro models with Touch Bar feature 8th-generation Intel Core processors, with 6-core on the 15-inch model for up to 70 percent faster performance and quad-core on the 13-inch model for up to two times faster performance — ideal for manipulating large data sets, performing complex simulations, creating multi-track audio projects or doing advanced image processing or film editing.

Already the most popular notebook for developers around the world, the new MacBook Pro can compile code faster and run multiple virtual machines and test environments easier than before. Additional updates include support for up to 32GB of memory, a True Tone display and an improved third-generation keyboard for quieter typing.

If this is what Apple had announced in 2016, I would have immediately upgraded my MacBook Pro, even though I’m not happy about the Touch Bar, the ports, or some other details. However, now that I’ve switched to an iMac for my main Mac, I don’t see much reason to get one of these, especially given the continued uncertainty about the keyboard. If I had to get a new one today, it would be tempting to get the 13-inch without the Touch Bar, but it doesn’t support 32 GB of RAM and was not even updated this time.

In any case, it’s great to see Apple bump the specs at the high end and add features like the T2 and True Tone, rather than holding those back for the next physical redesign.

Dieter Bohn:

In both cases, the battery capacity has been increased to compensate for the extra power draw from the new processors and RAM. Apparently, the bigger batteries and the thirstier chips will end up canceling each other out. Apple says that it’s not changing its battery life estimates for these machines.

[…]

We got only minutes (and no more) to interact with the new hardware. So at best, I can tell you that the keyboard does seem quite a bit less clacky than current MacBooks, though key travel is the same.

That’s all for the good, but it’s not what people are worried about. Instead, it’s just hard to trust a keyboard after so many reports that it can be rendered inoperable by a grain of sand and that is incredibly difficult and expensive to repair or replace. This new third-generation keyboard wasn’t designed to solve those issues, Apple says. In fact, company representatives strenuously insisted that the keyboard issues have only affected a tiny, tiny fraction of its user base.

Benjamin Mayo:

In writing the 2018 MacBBok Pro story, my butterfly keys decided to bbreak and repeat the letter ‘b’ twice every time I hit it. You can imagine how annoying that is for a story about Macbbbooks.

Shane Vitarana:

100% of MBP owners I know have. this issue. Either Apple is lying, has false data, or the. issue is usage based.

Rene Ritchie:

The 15-inch, by contrast, is all about power. So, it has Radeon Pro discrete graphics with 4GB of video memory (on all configurations) and a hexa (6) core processor, with options for i7 and Core i9 processors up to 2.9 GHz with Turbo Boost up to 4.8 GHz.

That makes it up to 70% faster, something environmental photographer Daniel Beltra said was notable to him.

[…]

Apple T2 replaces the T1 chip from the previous generation models. In addition to taking over the Touch ID, Apple Pay, and other Secure Enclave tasks, they also handle realtime encryption, secure boot, and a lot of the controller functions, just like on iMac Pro.

Juli Clover:

Base prices for the 13 and 15-inch MacBook Pro models are unchanged from last year, with pricing on new 13-inch models starting at $1,799 and pricing on new 15-inch models starting at $2,399, but build-to-order customizations can tack on thousands of dollars.

The maximum stock $2,799 15-inch MacBook Pro ships with 16GB RAM, a 512GB SSD, a Radeon Pro 560X graphics card, and a 6-core 2.6GHz Core i7 processor, but with upgrades, an ultimate machine with top-of-the-line components costs $6,699.

[…]

If you skip out on the SSD upgrades in the new machines, you can get a 15-inch MacBook Pro with maximum RAM and the best processor for $3,499, or a 13-inch model for $2,499, which is just a few hundred dollars more expensive than similar upgrades cost last year rather than a few thousand.

Leah Culver:

I was lucky enough to get to try out a new MacBook Pro for the past week (thanks !). I used it as my primary development computer. AMA.

Joe Rossignol:

Apple has confirmed that its new 2018 MacBook Pro with Touch Bar models feature support for hands-free “Hey Siri.”

Jason Snell:

It took Apple 13 months between updates this time, but it seems clear now that Apple is committed to an annual update cycle for the MacBook Pro that takes into account the latest high-performance laptop chips from Intel.

Previously: New MacBook Pros and the State of the Mac, Unreliable MacBook Pro Keyboards, Apple Launches Keyboard Repair Program for MacBook and MacBook Pro.

Joe Rossignol:

Apple has stopped selling the sole 2015 MacBook Pro that remained available for purchase on its online store, marking the end of an era for the notebook.

Ryan Jones:

Here’s the strange thing…this is peak “back to school” season, yet the MacBook Airs, MacBook, and low end Pros remain the same. And the cheaper old 15” was removed.

Previously: The Best Laptop Ever Made.

Jeff Johnson:

Unfortunately, Apple no longer makes 17-inch screens for laptops. Worse, Apple no longer makes matte screens for any Mac! Four years after buying my current MacBook Pro, the glossy screen still bothers me all the time. The reflections are very distracting. I want to see what’s in front of me on my screen, not what’s behind me. You can’t magically avoid light and reflections just because you have a laptop.

Update (2018-07-13): John Gruber:

Maybe, as Apple says, the only problem they sought out to solve was the noise. But, if they also sought out to improve the reliability of the keyboards — to fix the problem where keys get stuck, among other problems — I think they would only admit to fixing the noise problem. Marketing-wise, I don’t think they would admit to a reliability problem in the existing butterfly keyboards (especially since they’re still selling second-generation keyboards in all non-TouchBar models), and legal-wise (given the fact that they’re facing multiple lawsuits regarding keyboard reliability) I don’t think they should admit to it. So whether they’ve attempted to address reliability problems along with the noise or not, I think they’d say the exact same thing today: only that they’ve made the keyboards quieter.

Lloyd Chambers:

For the first time ever, the MacBook Pro really looks like a pro machine. The key factors are the 6-core CPU, the 32GB memory option, P3 gamut display, and 4 Thunderbolt 3 ports. I wish I could pay to remove the touchbar, but we cannot have everything.

Joe Rossignol:

As with any new product launch, there is a wealth of information to sift through, so we’ve created a list of key takeaways about the 2018 MacBook Pro lineup, particularly as it compares to the 2017 MacBook Pro lineup.

Update (2018-07-14): Paul Haddad:

Fun fact: The high end 13” 2018 MBP is faster than the high end 2017 15”.

Colin Cornaby:

In a lot of ways (except for the GPU), the new MacBook Pro is a better system than the iMac non-Pro, which is shocking. Six cores vs four on the iMac. Much faster storage.

The MacBook Pro has a lot more in common with the iMac Pro than the iMac.

Mark Spoonauer (tweet, MacRumors, Steve Troughton-Smith):

I had to do a double take when I saw how quickly the new 13-inch MacBook Pro duplicated 4.9GB worth of data. It took 2 seconds, which comes out to a rate of 2,519 megabytes per second. That’s insane.

So we also ran the BlackMagic Disk Speed test for macOS, and the system returned an average write speed of 2,682 MBps.

I’m seeing conflicting reports about whether one or both of these results is invalid due to APFS cloning preventing the file data from actually being copied.

Juli Clover:

The keys of the new 2018 MacBook Pro, which uses a third-generation butterfly keyboard, appear to be cocooned in a “thin, silicone barrier” according to a teardown that’s underway over at iFixit.

According to iFixit, the quieter typing Apple has been advertising in the 2018 MacBook Pro models is a side effect of the new membrane, which the site believes is actually an “ingress-proofing measure” to prevent the butterfly keys from seizing up when exposed to dust and other small particulates.

See also: Stephen Hackett.

Update (2018-07-16): Wojtek Pietrusiewicz (tweet):

The late 2016 MacBook Pro models introduced flash storage capable of reaching 3.2 GB/s read speeds. For some odd reason, Laptop Mag discovered this fact only after testing the mid 2018 models[…]

[…]

I really tried to get used to the Touch Bar, having experienced it on the late 2016 Touch Bar MacBook Pros for a month before I gave up on it.

Steven Frank:

i9 MBP Geekbench: 5324/22589 ($3099 base, $3899 with 32/1TB); iMac Pro 10-core: 5263/35205 ($5799 with 32/1TB) Kinda wild? (of course you also have to figure GPU, screen size, and keyboard (lol))

But I guess if I have to buy an un-upgradeable computer, I’ll take the one that’s almost as good for $2,000+ less and not throw out my back taking it to the store when it breaks.

tipoo:

Even more wild when you compare it to the iMac. Should get a bump soon, otherwise 6 cores on their laptop are faster than the 4 on their desktop.

Joe Rossignol:

When asked if Apple Stores and Apple Authorized Service Providers will be permitted to replace second-generation keyboards on 2016 and 2017 MacBook Pro models with the new third-generation keyboards, if necessary, Apple said, no, the third-generation keyboards are exclusive to the 2018 MacBook Pro.

Update (2018-07-17): See also: Accidental Tech Podcast.

Michael Margolis:

Looking closer at 2018 MBPs.

CPU: Mobile 6-core i9 is impressive. It’s 80% as fast as a desktop class 6-core i7 8700k.

GPU, however, is another story. GeekBench OpenCL score is 1/4 the speed of a desktop GTX 1080 Ti.

GeekBench OpenCL scores

2018 MacBook Pro 15": 56,361
Desktop GTX 1050: 72,702
2017 Surface Book Pro 2 15": 102,248
Blackmagic eGPU (radeon pro 580): 107,901
2018 Razer Blade 15": 145,782
GTX 1060: 126,977
Desktop GTX 1080 Ti: 222,808
Desktop Titan V: 362,782

Tom Nelson:

Sharp-eyed readers may notice that the 2017 models of the 15-inch MacBook Pro had slightly faster base processor speeds, clocking in at 2.8 GHz and 2.9 GHz. But the earlier generation i7 Kaby Lake processors had smaller level 3 caches, two fewer cores, and slower memory architecture than what is present in the new Coffee Lake models.

With the processor and memory architecture upgrades in the new 2018 MacBook Pro, Apple claims a 70 percent increase in performance.

iFixit (Hacker News):

Grab your best tinkering tools and let’s dig in—we’re tearing down the 13” MacBook Pro with Touch Bar, 2018 edition.

Joe Rossignol:

2018 MacBook Pro models feature the biggest yearly CPU performance gains since 2011, according to Geekbench founder John Poole.

Stefan Constantine (MacRumors):

Someone bought the expensive Core i9 MacBook Pro and found out that when put under load, it underclocks itself due to poor cooling.

scott:

It’s slower than the 2017 i7 under load.

Wednesday, July 11, 2018 [Tweets] [Favorites]

The App Store Turns 10

Apple (via Phil Schiller):

When Apple introduced the App Store on July 10, 2008 with 500 apps, it ignited a cultural, social and economic phenomenon that changed how people work, play, meet, travel and so much more. Over the past decade, the App Store has created a safe place for users of all ages to get the very best apps and a vibrant app economy for developers of all sizes, from all over the world, to thrive. Today, customers in 155 countries are visiting the App Store more often, staying longer and downloading and using more apps than ever before.

While there have been many notable moments since apps first came to iPhone and later iPad, the milestones and testimonials below reflect some of the most significant over the past 10 years — defining how the App Store democratized software distribution and transformed how we live every day.

Michael Steeber:

For the purpose of this piece, I’ve focused exclusively on notable visual changes to apps that were available to download on day one and are still receiving updates today.

dan seifert:

this image from @9to5mac is a fascinating study in the changes of app design over the past decade. there’s more information density in the 2008 Facebook app than in any one after it. And it shows FOUR TIMES as many posts in a 3.5" screen than the current app does on 5.8".

Stephen Hackett:

A Timeline of Changes

Steven Aquino:

Just as the App Store made existence possible for Twitter clients to text editors to games to fart apps and more, so too did it promise life for accessibility-centric apps designed to help the disabled.

John Voorhees:

The dramatic growth of the Store has had equally dramatic effects on developers trying to build businesses, requiring rapid evolution for their companies to survive. A short-term ‘gold rush,’ where it seemed like anyone could create an app and make money, gave way to fierce competition almost immediately, which led to questions of the sustainability of solo and small-team independent development businesses. Over time, however, the number of business models that are possible on the App Store has expanded, which holds the promise of opening new avenues for developers to build businesses.

Adam C. Engst:

So yes, the App Store has been successful. But it’s a just a store, and one that suffers from poor app discovery and high developer transaction fees. And how much of its success is due purely to the popularity of the iPhone and iPad? (It’s also fair to ask how much of the popularity of the iPhone was driven by the App Store.) Any hardware platform that sells hundreds of millions of devices and has a software development kit will end up with lots of apps. […] The only way to sell an iOS app outside the App Store or to distribute an app that doesn’t abide by Apple’s guidelines is through Cydia, which requires a jailbroken device.

[…]

Apple goes on to claim that “Before 2008, the software industry was dominated by a few large companies.” Obviously, before 2007, there was no iPhone, so this claim must be about desktop computers like the Mac, but it’s still patently untrue. Sure, Microsoft and Adobe were juggernauts back then (and still are), but there were lots of small developers, many of whom created innovative Mac software that we’ve covered in TidBITS for years.

[…]

Even more philosophically discomfiting has been watching how the App Store drove the prices—and thus perceived value—of software to essentially zero.

John Gruber:

My first App Store downloads

Lauren Goode:

Which app has changed your life the most in the past ten years?

James Thomson:

Ten Years of the App Store Developer

See also: Art Authority, Edovia, The Icon Factory, The Omni Group.

Update (2018-07-12): Ryan Christoffel:

After 10 years, Apple’s general approach to the App Store hasn’t changed. It’s still a walled garden, faithfully guarded by the company’s review team and guidelines. However, what’s allowed on the App Store has certainly grown and shifted as time has gone by. Some of that has been brought about by new technologies Apple introduced, while some of it has been won through hard-earned fights for functionality that benefits users and strengthens the platform we all love.

Update (2018-07-12): See also: AppStories.

Apple Fixed Bug That Crashed Devices When Typing ”Taiwan”

Tim Hardwick:

The glitch appears to be the unintended result of some lines of code that Apple added to iOS to hide the Taiwanese flag emoji on devices set to the China region. Apparently, the code worked for iOS devices set to China, but caused crashes on devices that had somehow ended up in an “unsupported region-less state.” It’s unclear, however, exactly how a device could end up in that state.

Previously: “Black Dot” Unicode Bug.

The Best Third-party Camera App for iPhone

Nick Heer:

After all our testing, we believe there are three top-end contenders for the best third-party camera app for iPhone:

  • Halide is for most people who want an extension of Apple’s default camera app.
  • ProCam 5 is for any iPhone photographer who wants the most granular control of their camera app.
  • Obscura 2 is for most people as well and falls just short of Halide due to what we believe is a bug.

Halide is great, but I find myself not reaching for it because it doesn’t support HDR.

Say Goodbye to Netflix User Reviews

Ben Pearson:

CNET reports that as of July 30, users will no longer be able to use the desktop-only function that allows them to write reviews of TV shows and movies on the site. And by mid-August, Netflix will be deleting every user review from the site forever.

[…]

“This feature is only offered on the website and has seen declining usage over time,” said Netflix spokesperson Smita Saran said.

Previously: Netflix to Replace Star Ratings With Thumbs Up/Down.

Friday, July 6, 2018 [Tweets] [Favorites]

Shortcuts Beta

Michael Rockwell:

Shortcuts may feature some new actions and tweaks to the interface, but it’s every bit the Workflow we’ve grown to love.

[…]

The app does offer the ability to share shortcuts, but it looks like the option to generate a unique URL is gone. I hope this returns in a future release.

[…]

IFTTT, Evernote, Slack, Instapaper, Pocket, and GIPHY actions are no longer available. Hopefully we’ll see them return. Especially IFTTT — it opened up an entire world of web services and applications that would otherwise be difficult to integrate with.

There are a number of new actions available in Shortcuts. Run JavaScript on Safari Web Page, Markup, Send and Request Payments, and Share with iCloud Photo Sharing are the most interesting to me. And with their newfound access to private APIs, there are now actions for toggling Bluetooth, Airplane Mode, Cellular Data, Do Not Disturb, Low Power Mode, and Wi-Fi.

Jordan Merrick:

Siri Suggestions is an interesting feature. Based on your behavior, it offers a selection of actions that you’ve done before, such as view an article in Apple News or open an email you’ve recently read. These are actions you can’t replicate in Shortcuts, but they’re a bit limited in scope for the time being.

[…]

Some of my workflows no longer work, though exactly why is a bit of a mystery. Granted, these are really complex workflows, but they run fine in Workflow. I need to dig deeper into Shortcuts to see what might be causing it.

Federico Viticci:

More highlights from Shortcuts beta:

- Scriptable Do Not Disturb (!!) and other device settings

- Third-party URL schemes fully supported

- Show Result for Siri with Magic Variables

- New payment actions based on SiriKit

Previously: Apple Acquires Workflow.

Update (2018-07-06): CGP Grey:

I’ve only been able to play with the new shortcuts app for a bit but I’m going to double down on what I said on Cortex: this may be one of the best software acquisitions ever. Apple is lucky to have the workflow team on board and smart to have given them such free rein.

Twitterrific Braces for API Shutdown

Ged Maheux (tweet, MacRumors):

If you purchased the Push Notifications Advanced Features on iOS at any point in the past, you will continue to receive notifications until Twitter deactivates their API. Sometime after August 16th, 2018, Twitterrific won’t be able to receive and display notifications natively.

When this happens, you won’t be notified when someone likes one of your tweets, quotes you, replies to you, retweets, sends a direct message, or follows you. Since these notifications also power the Today view and Twitterrific’s Apple Watch app, we will be retiring both.

[…]

Twitter will also be removing the live-streaming service for third-party apps. This means that after the API is shut down, tweets and direct messages will be delayed by a minute or two, instead of displaying in real time.

Previously: Twitter Shutting Down APIs.

Panel Discussion on Moving to Subscriptions

AltConf (tweet):

Major software products have moved to a subscription business model in the last couple of years - some successfully, some attracting considerable customer backlash.

We’ve seen many indie Mac developers considering it but unsure how to do it, from figuring out and testing the best pricing and billing models to avoiding backlash to managing the technical aspects of running both one-off customers and recurring subscriptions in parallel.

To help developers considering that approach, I propose a fireside chat where I would moderate a discussion with several leaders of awesome Mac products who have both strong opinions, and real life experience in that tricky move. […] The fireside chat will be moderated by Christian Owens (CEO at Paddle) and joined by Pieter Omvlee (Founder & CEO at Sketch), Max Seelemann (Founder & Head of Development at Ulysses), Oleksandr Kosovan (Founder & CEO at Setapp), Mark Pavlidis (Founder & CTO at Flixel) and Denys Zhadanov (Founder & VP Marketing at Readdle).

Previously: Productivity Apps and Subscription Pricing.

Be File System Retrospective

Andrew Hudson (Hacker News):

The Be operating system file system, known simply as BFS, is the file system for the Haiku, BeOS, and SkyOS operating systems. When it was created in the late ’90s as part of the ill-fated BeOS project, BFS’s ahead-of-its-time feature set immediately struck the fancy OS geeks. That feature set includes:

  • A 64-bit address space
  • Use of journaling
  • Highly multithreaded reading
  • Support of database-like extended file attributes
  • Optimization for streaming file access

A dozen years later, the legendary BFS still merits exploration—so we’re diving in today, starting with some filesystem basics and moving on to a discussion of the above features. We also chatted with two people intimately familiar with the OS: the person who developed BFS for Be and the developer behind the open-source version of BFS.

tialaramex:

Beyond that BFS has lots of annoying problems, which are very understandable in the context of it being rushed into use over such a short period of time and with really only one key person doing much of the work, but they don’t vanish just because they have an excuse:

The metadata indices are clearly aimed at end user operations like “Where’s that file with the client’s name in it?” or “What songs do I have by Michael Jackson?” but they’re designed in a way that wastes a lot of space and yet also has poor performance for such queries - because they’re case sensitive for no good reason. They also incur a LOT of extra I/O so if you don’t need that feature you’d really want to switch it off, but you can only really do that at filesystem creation time.

Fragmentation is a really nasty problem. This is an extent-based filesystem, so that’s somewhat inevitable, but BeFS almost seems to go out of its way to make it worse, and provides no tools whatsoever to help you fix it. It’s actually possible to get a “disk full” type error when trying to append to a file which is badly fragmented, even though there is plenty of disk space.

Unix files often have an existence that transcends the mere name on the disk, but BeFS takes that a step further, allowing application software to identify a file without knowing its name at all. There are a few scenarios where this is quite clever, but if you ever want to retro-fit actual privilege separation to the OS (which has been a long term ambition for Haiku for more than a decade) this produces a Gordian knot - permissions are associated with names, but software can simply obtain (or guess!) the anonymous number for the file and sidestep such permissions altogether.

Previously: Practical File System Design.

Thursday, July 5, 2018 [Tweets] [Favorites]

Dark Side of the Mac: Appearance & Materials

Kuba Suder:

One of the most exciting announcements at this WWDC was the introduction of a long-awaited “dark mode” in macOS 10.14 Mojave, which lets you use a whole desktop with all the apps on it in a dark theme, instead of just the dock and the menu bar as before.

While I’m not nearly as excited about it from the user’s perspective as some others are 🙂 – I’m totally a “light side” Mac user, I’ve always used a light theme in TextMate, light theme in Xcode, white background in iTerm, and I sometimes have to use reader mode on websites with a dark background – I’m actually very curious about it as a developer. The reason is that it seems to require a lot of changes across apps to adapt them to the new appearance, or at least a lot of checking and testing, but it does so in a way that feels like “making things right” – not so much introducing complexity just for this reason, but rather enforcing some order and good practices that were earlier easy to forget about.

Supporting Dark Mode is proving to be an unexpectedly large amount of work, but it’s also brought improvements and greater consistency to the frameworks that should be good long-term. I’m finding places where I can now use the proper API and get the right result (visual consistency with Apple’s apps), rather than having to find hacks to match what everyone expects to see.

Update (2018-07-11): Kuba Suder:

This is the second part of that article – now that we have the theory behind us, let’s see how you can make your own app work with dark mode.

Update (2018-07-16): Ricky Mondello:

We’re considering adding a web-exposed media query, but it requires some more thought. Standardization is a thing, and API is forever. :)

See also: Craig Hockenberry.

Will Cosgrove:

Having worked with macOS Dark Mode for a while now it suffers the same problems as vibrant views before it. Blending random colors from the desktop into your user interface doesn’t look good. Designers can’t design for it and the end result looks messy and inconsistent.

Patrick Metcalfe:

I think it looks great when it’s used consistently. If you have a sidebar then using it looks great bc I’m used to that from other apps. Using it in other places suffers from the points you have

Update (2018-07-17): See also: the updated Human Interface Guidelines.

Swift 4.2’s New Calling Convention

Jesse Squires:

It is no longer the callee’s responsibility to release the object. So, all of the superfluous retains and releases go away. Ted notes in the talk that this significant reduction in retain and release traffic results in a code size reduction as well as a runtime performance improvement, because all those calls have been removed.

[…]

What’s more interesting with this change is the case of calling non-inlinable functions across module boundaries. Michael Gottesman shared this gist on Twitter to explain. I doubt many people saw that Tweet, so I wanted to highlight it.

The new convention seems more like Objective-C.

Update (2018-07-05): Joe Groff:

Still an important diff between Swift and ObjC—in Swift, the caller guarantees the validity of references, so callee never needs to retain. […]

Swift also still uses the +1 convention by default in situations where it’s most likely to be profitable, such as for the newValue in property setters or the arguments to inits, since these arguments are likely to be stored in the receiving object

15 Years of Ulysses

Max Seelemann (tweet):

I also never set out to build a text editor. I was not even aware that creative writing is a thing — I did not come to like literature in school. I just happened to be on a mailing list for Mac users, where one day one random guy would come around and look for someone to make an app for him. I was the only one getting back, just answering “well, maybe I could do it”. This random guy happened to be Marcus, my partner and friend ever since. We started making this menu bar note-taking app called “NoteX” … nobody will remember. One day he came around again, asking if I wanted to do another app with him, a tool for creative writers. It was more a “why not”, than a deliberate decision.

[…]

Starting with this moment, Ulysses has been the most exciting project I could imagine. That’s probably due to its unique challenges and facets… The freedom of working on an independent project, the thrill of always aiming for the best possible solution, the direct impact we can have on people’s lives, the insane amount of feedback we’d get, paired with the technical and cultural challenges we had to deal with every day. Also, no app is ever done — especially not Ulysses. Someone just had to keep working on it…

[…]

We took our good old Ulysses side-project, polished it up just a little and put it on [the Mac App Store]. To our complete surprise, we sold more copies within the first week than half the year before that! That was crazy. What used to be a side project for many years was suddenly making real money. We figured it might be just enough to get both of us new Macs, and to sustain our living for three or so months. Enough time to get started, finally in full-time, and to see where it would take us.

Max Seelemann:

During the first years, I would make sure nobody would see my age.

I was 16. What sane would base her/his professional writing life on a tool hacked together by a kid? Maybe that doesn’t make sense, but it was a real concern for me.

I first encountered Seelemann when he was working on Localization Suite. Having once been a kid in tech myself, I thought I recognized him as such. But what mattered was that it was the best tool of its kind, and he was very responsive to feedback.

Previously: Congratulations, Ulysses Switches to Subscription.

Update (2018-07-06): Marco Arment:

Fun fact: When I went to work for @davidkarp at age 24, he was 19, but I didn’t learn that for years. (When we’d go out, I just thought he didn’t drink.)

[…]

It’s hard for young people to be taken seriously without everyone always just focusing on how young they are.

Who Will Steal Android From Google?

Steve Yegge (Hacker News):

Why does everyone need mobile devs? Because the web is slowly dying. I have friends — well, probably ex-friends now — in just about every org at Google, who used to point me at their gloomy graphs, and it doesn’t matter how you slice it, the web’s in a steady decline as the whole world moves to mobile.

[…]

And don’t even get me started about device compatibility. I have a bunch of angry 1-star reviews in the Google Play Store because my Wyvern game app randomly didn’t work on LG devices, so I had to go on eBay and buy a crummy $60 LG device (as opposed to a crummy $600 LG device) to repro the bug and discover that hey, there are two Android APIs for getting mouse-click events on a scrolling list, but one of those APIs doesn’t work on LG.

[…]

So here’s what has happened: A bunch of competitors, big and small, have come out with their own replacement Android frameworks. I’m not just talking about support libraries for missing functionality, though those exist aplenty. No. I am talking about full-scale replacements for Google’s entire Android development stack. Microsoft has Xamarin, Adobe has Cordova, Facebook has React Native, I mean it’s crazy town.

[…]

The thing about these dev frameworks is that they make Google vulnerable. Most of them are cross-platform, which means you write a single app and it runs on both iOS and Android.

[…]

But consider: If all mobile developers were to start using a particular cross-platform framework X, then literally any other hardware/OS manufacturer or consortium could come along with their own competing hardware/OS platform (like, say, Windows) that supports that framework X directly, and all the apps would run on it (probably faster, to boot), which would cut Google out entirely.

Via Michael Love:

This is a more realistic approach to how Microsoft or whoever might break the Google/Apple app duopoly, but still requires a lot of stuff to be rewritten that it no longer makes financial sense to rewrite.

Apple have correctly recognized cross-platform frameworks as an existential threat, which not only explains Marzipan but also why iOS 12 tries so hard to make native apps buttery-smooth / clearly-superior-to-React-et-al again.

Previously: Airbnb Switching Away From React Native.

Wednesday, July 4, 2018 [Tweets] [Favorites]

Facebook’s Political False Positives

Christian Britschgi (via Clark Goble):

America’s founding document might be too politically incorrect for Facebook, which flagged and removed a post consisting almost entirely of text from the Declaration of Independence. The excerpt, posted by a small community newspaper in Texas, apparently violated the social media site’s policies against hate speech.

[…]

Of course, Facebook’s actions here are silly. They demonstrate a problem with automated enforcement of hate speech policies, which is that a robot trained to spot politically incorrect language isn’t smart enough to detect when that language is part of a historically significant document.

Sarah Frier (via Nick Heer):

The three ads have in common the use of the word “bush.” Facebook Inc.’s system automatically associated the word with the former presidents of that family name, flagging them as political and blocking them, pending verification of the advertiser’s identity. They now appear in Facebook’s searchable archive of political advertising – the company’s newly launched initiative to increase transparency around who is paying to promote certain political ideas. The archive is home to dozens of ads that don’t belong there, from various schools, towns, brands and people that happen to share names with presidents.

[…]

“Clinton” is one of the most popular names for cities in the U.S., not just the surname of the political family. In Clinton, Indiana, a vacation bible school was blocked from advertising a free lunch event for kids aged 3 to 12. “Come learn how COOL Jesus’s love is!” it said, including a picture of a flier featuring animated penguins.

[…]

The mislabeling indicates how far Facebook has to go in applying artificial intelligence to policing its platform. Despite some progress, the company’s ads system still uses crude keyword cues, without understanding the broader context of what is said. That affects not just what Facebook takes down, but what it fails to find. Earlier this year, some companies easily circumvented Facebook’s temporary ban on bitcoin ads by misspelling bitcoin, putting a zero where the “o” should be.

Tuesday, July 3, 2018 [Tweets] [Favorites]

The App Developers Sifting Through Your Gmail

Juli Clover (Hacker News):

Some third-party email providers that work with services like Gmail are letting their employees read customer emails to create new and optimized software tools, according to an article warning about third-party email apps and services published today by The Wall Street Journal.

[…]

Google no longer scans the inboxes of Gmail users itself as of last year for privacy reasons, but it continues to allow third-party software developers to do so. Other email services, like Yahoo and Microsoft, are similarly impacted, providing access with user consent.

Return Path, Edison, and other developers of apps that work with Gmail and similar email services don’t appear to have misused customer information, but many customers are likely to be concerned about the fact that employees at some email companies are reading their emails. Many customers are also likely unaware they’re consenting to such practices when signing up for a third-party email app.

[…]

Customers concerned with how their emails are handled by third-party apps should stick with first-party apps such as Gmail or Inbox by Gmail for Gmail users and/or take a close look at the app’s privacy policies and ask further questions about data usage.

Previously: Google Will Stop Reading Your E-mails for Gmail Ads.

Update (2018-07-05): Matt Birchler:

This is what Google displays when you ask to use another app (Microsoft Outlook in this case) to sign into your Google account. Google tells you as the first line item that Microsoft will be able to see your email.

Debugging With C-Reduce

Mike Ash (Hacker News):

Debugging a complex problem is tough, and it can be especially difficult when it’s not obvious which chunk of code is responsible. It’s common to attempt to produce a reduced test case in order to narrow it down. It’s tedious to do this manually, but it’s also the sort of thing computers are really good at. C-Reduce is a program which automatically takes programs and pares them down to produce a reduced test case.

[…]

When you use C-Reduce, you provide not only a program to reduce but also a small script which tests whether a reduced program is “interesting.” Exactly what “interesting” means is up to you. If you’re trying to isolate a bug, then “interesting” would mean that the bug still occurs in the program. You can define it to mean whatever you want, as long as you can script it. Whatever test you provide, C-Reduce will try to provide a reduced version of the program that still passes the test.

[…]

Blind reduction of a test case is not a very sophisticated debugging technique, but the ability to automate it can make it extremely useful. C-Reduce can be a fantastic addition to your debugging toolbox.

A Brief History of Unreal Mode

Michal Necasek (via Joe Groff):

For the purposes of this discussion, unreal mode is a variant of the x86 real mode with non-standard segment limits and/or attributes, different from the processor state at reset. To recap, real mode on the 286 and later CPUs has much more in common with protected mode than with the real (and only) mode of the 8086. Notably, undefined opcodes raise exceptions, segment limit overruns cause general protection or stack faults, and (on the 386 and later) 32-bit registers and 32-bit addressing can be used—subject to limit checks.

[…]

As a general-purpose programming technique it is unusable, because it absolutely cannot function in V86 mode. Transitions to V86 mode always force real-mode compatible segment limits and attributes. That means unreal mode cannot be used together with EMM386 or other DOS memory managers utilizing V86 mode. Unreal mode also cannot be used in the DOS boxes of 386 Enhanced Mode Windows 3.x, in the DOS boxes of OS/2 2.x, Windows NT, or Windows 9x. That is an extremely serious drawback.

[…]

On the other hand, when unreal mode can be used, it is very useful. HIMEM.SYS uses unreal mode to speed up extended memory access, and perhaps more importantly, preserve normal interrupt latency. Firmware can and does use unreal mode for accessing memory beyond 1 MB during initialization; it avoids switching between real and protected mode, and in firmware there is no danger of segment limits being reset.

[…]

Unreal mode is almost certainly an accident of history, a side effect of the fact that the initial 386 design had no architected way of switching from protected mode back to real mode. Once the technique started being used, instead of clearly documenting how it works, Intel in its typical fashion documented only certain aspects of it, such that only programmers who already know about unreal mode find traces of it in the official documentation.

Facebook Confirms That It Tracks Mouse Movements

Shweta Ganjoo (via Hacker News):

The social media giant in a 225-page document responding to a set of 2,000 questions by the US Senate Committee on Judiciary admitted that it collects information from and about computers, phones, and connected devices, including mouse, that users use with its various services and that it combines this information to give users a personalised content.

Facebook said that it tracks mouse movements to help its algorithm distinguish between humans and bots. Tracking mouse movements also helps the social media giant, which has been under fire for its data privacy practices, to also determine if the window is foregrounded or backgrounded.

code_duck:

I have always assumed that Facebook uses heat maps to track what is under your pointer. Doesn’t every serious site do that to gauge user behavior, interest and interface utilization? I guess the difference is FB is putting it in an available data set along with everything else about consumers’ individual lives.

More interesting is “a patent held by the company states that the Facebook app uses voice recognition algorithm, which uses audio recorded by the microphones, to modify the ranking scores of stories in users News Feed.” and their speculation that Facebook could soon reveal details about their use of surreptitiously recorded user audio.

Facebook makes a curiously specific denial about audio, which is that it is not used for advertising. Considering their entire business is basically advertising, what does that leave? But all they mean is ad selection. When they were found to be recording audio during the posting of statuses, I believe they claimed it it was so they could recognize the music you were listening to, and know something about your mood. So for a long time, I have thought that they use audio to select other content, like friend suggestions, or to inform the selection of stories that appear on your newsfeed.

Monday, July 2, 2018 [Tweets] [Favorites]

Time Synchronized to the Nanosecond

John Markoff (via Matt Levine):

System engineers at Nasdaq, the New York-based stock exchange, recently began testing an algorithm and software that they hope can synchronize a giant network of computers with that nanosecond precision. They say they have built a prototype, and are in the process of deploying a bigger version.

[…]

Because the orders are placed from locations around the world, they frequently arrive at the exchange’s computers out of sequence. The new system allows each computer to time stamp an order when it takes place.

As a result, the trades can be sorted and executed in correct sequence. In a networked marketplace, this precision is necessary not only to prevent illicit trading on advance information known as “front-running,” but also to ensure the fair placement of orders.

[…]

Because software and data are no longer in the same place, correctly calculating the order of the events that may be separated by feet or miles has become the dominant factor in the speed with which data can be processed.

Netflix of Podcasts

Scott Porch:

The podcast business has been wringing its hands for years about when a “Netflix for podcasts” would emerge to generate subscription revenue for contact creators–either in place of or in addition to advertising revenue. Now CastBox is introducing a paid-podcast platform similar to Stitcher’s Stitcher Premium–though, technically speaking, both resemble Hulu—allowing subscribers to pay a little bit extra to ditch the ads—more than Netflix.

[…]

Currently, Apple is the closest thing the podcast business has to a Netflix–albeit one which doesn’t charge–but dominant players don’t dominate forever. Apple Podcasts and iTunes’ share of the U.S. podcast player market slipped from 69.3% in May 2017 to 63.3% in May 2018, according to data provided to Fast Company by podcast hosting company Libsyn. That six-point slide was largely Spotify’s gain, and Google’s new Google Podcasts app for Android is entering the market at a time when smart speakers like Google Home are just beginning to show up in the listening metrics.

Matt Birchler:

I believe the “Netflix of podcasts” nomenclature is misleading. Netflix disrupted the video market by making it cheaper and easier to watch the movies and TV shows that you love, and to do it all form a unified interface. It’s already cheap to listen to the shows you love in the unified interface of your choice, and it’s pretty darn easy to find the shows you want. The types of services suggested by Stitcher and CastBox would make listening to podcasts less unified, cost more, and Mayne, just maybe be a little easier to subscribe to. You know, how Google Meet only works in Chrome for some stupid reason, or how many sites only worked in IE6 years ago.

Update (2018-07-03): Marco Arment:

Nobody wants a “Netflix of podcasts”.

Producers already control their own distribution and monetization, and have no reason to add middlemen.

And listeners don’t want to use (or pay for) many separate apps and services to get all of their podcasts.

NSOnState Is Deprecated

Jeff Johnson (tweet):

I’m going to discuss one change in the Objective-C API, because it is both illustrative and egregious. In the 10.14 SDK, the Objective-C constants NSOnState, NSOffState, and NSMixedState have been deprecated:

typedef NSControlStateValue NSCellStateValue NS_DEPRECATED_WITH_REPLACEMENT_MAC("NSControlStateValue", 10_0, 10_14);
static const NSControlStateValue NSMixedState NS_DEPRECATED_WITH_REPLACEMENT_MAC("NSControlStateValueMixed", 10_0, 10_14) = NSControlStateValueMixed;
static const NSControlStateValue NSOffState NS_DEPRECATED_WITH_REPLACEMENT_MAC("NSControlStateValueOff", 10_0, 10_14) = NSControlStateValueOff;
static const NSControlStateValue NSOnState NS_DEPRECATED_WITH_REPLACEMENT_MAC("NSControlStateValueOn", 10_0, 10_14) = NSControlStateValueOn;

Notice that these Objective-C constants were introduced in the 10.0 SDK. They’ve been around for the entire history of Mac OS X.

Kevin Ballard:

This change is good even ignoring Swift because it makes the constant consistent with the vast majority of other SDK constants. This makes it more discoverable, easier to remember, and is much better and less confusing for people new to AppKit.

Jeff Johnson:

It seems pretty clear to me that the original Cocoa API designers made the conscious choice to put the most important and informative part of a symbol name first rather than last.

This is a legit philosophy. You may agree or disagree, but in any case it’s consistent.

It was, but they’ve been gradually reversing the order in the names since before Swift existed. In most cases I think this is for the better, although in the interim it means that Cocoa has been internally inconsistent for a long time.

The two points I would add are:

Jeff Johnson:

Seriously, though, imagine a newcomer, how do they learn? A good way is to download sample code. Except the sample code doesn’t get updated frequently, so their first experience with AppKit and Objective-C is deprecation build warnings. How would you feel about that as a learner?

Reclaiming RSS

Aral Balkan (via Matt Birchler):

Before Twitter, before algorithmic timelines filtered our reality for us, before surveillance capitalism, there was RSS: Really Simple Syndication.

[…]

Time was, you couldn’t browse the web without seeing RSS icons of all persuasions gracing the façades of Web 1.0’s finest. This was before they were mercilessly devoured by the tracking devices … ahem … “social sharing buttons” of people farmers like Google and Facebook.

There was also once a push for browsers to auto-detect and expose RSS feeds. Currently, none of the major browsers appears to do so.

Andy Baio:

Google ostensibly killed Reader because of declining usage, but it was a self-inflicted wound. A 2011 redesign removed all its social features, replaced with Google+ integration, destroying an amazing community in the process.

The audience for Google Reader would never be as large or as active as modern social networks, but it was a critical and useful tool for independent writers and journalists, and for the dedicated readers who subscribed to their work.

There are great feedreaders out there — I use Feedly myself, but people love Newsblur, Feedbin, Inoreader, The Old Reader, etc. But Google Reader was a community and not easily replaced. Google fragmented an entire ecosystem, for no good reason, and it never recovered.

Previously: Google’s Lost Social Network, Google Reader Over and Out, Google Reader Apocalypse.

Update (2018-07-05): Nick Heer:

Badges, buttons, and links to RSS feeds used to be all over the web; now, they’re almost like a nerd calling card — it’s an indication that a website is cool with an audience reading new material on their terms. I’d like to think there’s a certain confidence in a website indicating to its readers that it doesn’t need a precise count of how many people visited the website, nor does it need all the tracking and surveillance nonsense that comes with that.

Surface Book 2

Owen Williams (tweet):

I’m back to say I was wrong, and I’ve found a machine that not only matches Apple’s standard of hardware quality, but goes far beyond it to demonstrate how a laptop of the future should work.

That machine is the 15-inch Surface Book 2 and somehow Microsoft has made the 2-in-1 that Apple should’ve been building all along, to the same level of quality I’d expect from anyone other than Microsoft.

I’ve used the Surface Book 2 as my daily computer for three months now and it’s consistently blown me away with how well considered it is across the board, how great the software works and has completely converted me into the touchscreen laptop camp.

Update (2018-07-04): Marco Arment:

The Huawei Matebook X (the one with the pop-up camera in the function keys) looks and feels like it’s an entire generation ahead of Apple.

13.9” 3000x2000 screen, almost no bezel, in the same size and weight as the 13” MBP. A nice-feeling low-travel keyboard. 2 USB-C, 1 USB-A.

If this ran macOS, I’d buy it in a second.

The Surface Book 2 is also the real deal. Massive 15” 3:2 screen, detachable to a great-feeling tablet with a great pen that stows easily.

Touch/tablet-hybrid laptops aren’t just the future — they’re the present. Apple’s either being coy about future products or is in denial.