Archive for April 2017

Tuesday, April 18, 2017 [Tweets] [Favorites]

In Praise of Flickr

Matt Haughey:

Flickr represents one of the very best of things in the history of the internet. It was the first popular way to share photos in a social way instead of photos lingering in private accounts online and in the real world in shoeboxes under beds. It brought millions together and helped kick off first the digital SLR revolution, then it was eclipsed by the mobile photography revolution. Flickr—despite being a big corporate entity—embraced open licensing and took on the ambitious goal of being a mirror and gallery for oodles of museums around the globe.

Countless waves of social apps have eclipsed Flickr itself, and even though I don’t really post there much anymore or browse my friend lists (mostly because they’ve all gone inactive, like me), about once or twice a month I drop into the Flickr Explore page to gaze at what I would describe as an entire year’s worth of epic shots from National Geographic, generated each day, automatically by algorithms.

Via Tim Carmody:

It is bizarre to think now that Flickr was only active for about a year before it was acquired by Yahoo. For those of us who were on the site then, that year felt like everything.

Syntactic Diabetes

Vincent Esche:

Swift makes use of this so-called syntactic sugar to make working with it more convenient and to allow for progressive disclosure[…]

[…]

While syntactic sugar aims to make it easier to write good code, syntactic salt aims to make it harder to write bad code.

[…]

Syntactic saccharin refers to syntactic sugar that, while having good intentions, fails to do its thing, possibly making things even worse than without it.

The Great iPhone Naming Opportunity of 2017

Ken Segall:

I’ve never understood Apple’s motivation for sticking to the S path, year after every-other-year. The most positive spin I can put on it is that it feels compelled to tell the “truth” about the phone’s form factor.

[…]

Since phone buyers today have distinctly different likes and needs, I have no problem with multiple models. Four models of phones isn’t complexity, it’s simple choice.

[…]

If different style iPhones are destined to co-exist, wouldn’t it be nice if the family felt like a family? Wouldn’t it be great if each name indicated the phone’s reason for being, and reassured buyers that it contained Apple’s latest technology?

Previously: Switching to an iPhone SE.

Avoiding Objective-C Class Name Collisions

Pen & Paper Software (Hacker News):

But checking every name could get tedious. How about we just look at every prefix-less class name that Apple has used?

[…]

If we were to use any of those classes, the compiler and linker would not complain. But if you used AppleSpell in a video game to represent the spell an apple casts on your player, and you override some important methods like init to do something relevant to your own game, you might start seeing very strange behavior!

[…]

Apple may roll out updates to frameworks between OS updates, which I believe has happened before. Ultimately the best solution is to test your app regularly and pay attention to your logs.

I wonder why Apple doesn’t have an internal tool to prevent shipping unprefixed classes.

Charge Your iPhone Without the Chime or Buzz

Keir Thomas:

The quick and simple solution if you want silent charging? Swipe left on the lock screen to activate the camera and then plug in the Lighting cable. No chime. No buzz. Then press the Home button to return back to the lock screen.

Monday, April 17, 2017 [Tweets] [Favorites]

Flume Leaves the Mac App Store

Rafif Yalda (tweet, via Jeff Johnson):

Just minutes before submitting the update to Apple, we received notification from Apple that after re-reviewing our app by seemingly random selection, we had one week to make significant changes or be removed from the App Store.

[…]

Flume’s operation is indeed not explicitly authorized by Instagram (said third-party). We make that clear in our Terms of Use. The reference to “third-party social media alterations” is a vague statement however, and the only issue they chose to highlight was Flume’s uploading capabilities.

[…]

Unfortunately, as mentioned above, Apple chose to not reply, leaving us with very little recourse.

[…]

The inconsistency of the decision strikes us the most however - 39 Instagram related apps still remain live on the App Store, 13 of which provide upload features[…]

Update (2017-04-17): Flume:

Just a quick update - we decided to try once more to get an answer about the inconsistencies and this time, they did reply (<24h ago).

Didn’t really answer our questions entirely, though this was a follow up to the new update which was rejected.

Classic Mac Emulation in the Browser

Internet Archive (via Jason Scott, Hacker News):

After offering in-browser emulation of console games, arcade machines, and a range of other home computers, the Internet Archive can now emulate the early models of the Apple Macintosh, the black-and-white, mouse driven computer that radically shifted the future of home computing in 1984.

[…]

The first set of emulated Macintosh software is located in this collection. This is a curated presentation of applications, games, and operating systems from 1984-1989.

James Friend:

This is great because it provides the same level of accessibility and convenience to emulation as you’d expect of playing a media file or viewing a document.

When you start up the emulated computer on these pages of the Internet Archive, you’re running the PCE emulator, originally a piece of software intended to run natively on desktop operating systems, which has been adapted and recompiled to run in your web browser. As the person who did the initial work of porting this emulator, I thought it would be worthwhile to provide a run-down of the tools and gross hacks which made this possible.

[…]

I realised that in classic Mac OS, the mouse position is stored in a few fixed absolute locations in the computer’s memory, called ‘low memory globals’. Basically, I directly write the mouse position value into the emulated computer’s memory.

TillE:

It’s pretty strange to see archive.org adding more and more stuff that’s under copyright without explicit permission.

Swift ABI Stability Dashboard

Apple (via Slava Pestov):

One of the top priorities for Swift right now is compatibility across future Swift versions. One major component of this is ABI stability, which enables binary compatibility between applications and libraries compiled with different versions of Swift. The Swift ABI Manifesto describes the engineering and design tasks that need to be complete before declaring the ABI stable. The following dashboard tracks the progress of these tasks.

Previously: Deferring ABI Stability From Swift 4, Swift ABI Stability Manifesto.

Robbing a Bank by DNS

Andy Greenberg (via Nick Heer):

Kaspersky believes the attackers compromised the bank’s account at Registro.br. That’s the domain registration service of NIC.br, the registrar for sites ending in the Brazilian .br top-level domain, which they say also managed the DNS for the bank. With that access, the researchers believe, the attackers were able to change the registration simultaneously for all of the bank’s domains, redirecting them to servers the attackers had set up on Google’s Cloud Platform.

With that domain hijacking in place, anyone visiting the bank’s website URLs were redirected to lookalike sites. And those sites even had valid HTTPS certificates issued in the name of the bank, so that visitors’ browsers would show a green lock and the bank’s name, just as they would with the real sites. Kaspersky found that the certificates had been issued six months earlier by Let’s Encrypt, the non-profit certificate authority that’s made obtaining an HTTPS certificate easier in the hopes of increasing HTTPS adoption.

Ad-Blocker Using Computer Vision

Jason Koebler (via Hacker News):

A team of Princeton and Stanford University researchers has fundamentally reinvented how ad-blocking works, in an attempt to put an end to the advertising versus ad-blocking arms race. The ad blocker they’ve created is lightweight, evaded anti ad-blocking scripts on 50 out of the 50 websites it was tested on, and can block Facebook ads that were previously unblockable.

[…]

First, it looks at the struggle between advertising and ad blockers as fundamentally a security problem that can be fought in much the same way antivirus programs attempt to block malware, using techniques borrowed from rootkits and built-in web browser customizability to stealthily block ads without being detected. Second, the team notes that there are regulations and laws on the books that give a fundamental advantage to consumers that cannot be easily changed, opening the door to a long-term ad-blocking solution.

downandout:

The article puts a significant emphasis on the idea that bulletproof ad-blocking technology, assuming that’s what this turns out to be in practice, will work long-term because of legal restrictions imposed by the FTC. If Google, Facebook, or other multi-billion dollar entities detect an existential threat arising from this or any other technology, rest assured that the laws will change as quickly as is necessary to keep them happy.

IIIIIIIIIIII:

Right now all that people on both sides have to know is human psychology. In that future they’ll have to understand the potentially far more varied world of possible AIs - and if that isn’t enough the complex interactions between them and also between the AIs and the humans.

Switching to an iPhone SE

The volume and power buttons on my iPhone 6s stopped working, so for various reasons I decided to try replacing it with an iPhone SE. It’s been great.

The iPhone SE is much more comfortable in the hand, and especially in the pocket. Sometimes when walking or sitting I find myself checking with my finger to make sure that it’s actually in my pocket—that I didn’t leave it somewhere. Whereas, I would always feel the need to remove the iPhone 6s before sitting for an extended time.

Part of the improvement is because it’s smaller and lighter itself. But the SE’s less slippery and sharp shape means that I can use it without a case. This brings the weight down from 6.6 oz. to 4.0 oz., which feels like a big difference. The iPhone 6s’s weight never bothered me, but now that it’s gone I prefer it that way. Plus, there’s no dust stuck between the edges of the screen and the case.

The other big difference is that it’s much easier to reach the upper corners of the 4-inch screen one-handed. Again, I got used to the iPhone 6s, but I didn’t realize how much shimmying I was doing until I no longer needed to. I thought I would miss the larger screen, but I don’t. Perhaps this is because a few months ago I started using a Kindle again, so I’m no longer doing extended reading on my phone. At first, I noticed a big drop in typing accuracy with the smaller screen, but now that I’m used to it again I’m not sure there’s any difference.

The final area where the iPhone SE feels better is the buttons. The layout with the power button on the top just seems more natural and less confusing, and the volume buttons feel better and are easier to find by touch. There’s also no camera bump, although that’s less relevant since my iPhone 6s would lie flat in its case.

What I thought I would miss the most from the iPhone 6s were the better Touch ID sensor (which seems both faster and more accurate) and 3D Touch (for text editing). In fact, I miss these but am getting used to their absence. The main regression seems to be that (like my other iPhones prior to the iPhone 6s), the screen can be hard to see with polarized sunglasses on. I mostly notice this when taking photos. Depending on the position of the sun, sometimes it seems like all I can do is frame the shot, whereas with the iPhone 6s I could more easily see the exposure and facial expressions on the screen. With more high-contrast images, such as when driving with Google Maps, sunglasses don’t cause any trouble, though they do seem to shift the colors more than with the iPhone 6s.

The iPhone SE’s front camera is much worse, and the display quality and speaker volume seem slightly worse, but these don’t bother me greatly. I rarely use the front camera. Also, the older shape makes me think of it as an iPhone 5s with much a improved processor, camera, and storage, rather than as a downgraded member of the iPhone 6 family. The final difference that I notice is that, like the iPhone 5s, the iPhone SE sounds like there’s something loose inside when you shake it.

There seems to be plenty of demand for the iPhone SE, so my hope is that in the future Apple will treat it as more than a budget model. I’d like to see it updated yearly with the latest processor and camera. There’s no need for a new case design. The current shape and finish still look and feel great.

Update (2017-04-18): See also: Kirk McElhearn.

Friday, April 14, 2017 [Tweets] [Favorites]

Theft and Loss Recovery for iOS Users

Fraser Speirs:

Fortunately, the bag was stolen on the final day of the trip and not the first, otherwise we would have had serious problems throughout the holiday. This is another post for another time, but it’s kind of shocking how crippling the loss of a phone is.

[…]

I recently changed my Apple ID password to an unmemorable password (a mistake, as we shall see later), so the only password I have memorised is the one to unlock 1Password.

[…]

So, second task in this security audit: register a few other Trusted Numbers with Apple, and make sure that at least one of them is someone that you’re not travelling with. Additionally, make sure you know how to get in touch with that person without access to any devices or iMessage or any social media.

[…]

So, third to-do item in this process: print and carry a copy of my 1Password Recovery Kit [with your Secret Key but not your password]. It’s probably also wise to create a second copy and leave it with someone you trust and can contact, just in case you are stripped of literally everything.

I would be wary of accessing 1Password from a public computer that might be logging your keystrokes.

I don’t understand why his top priority was disabling Apple Pay. How would the thief use it without Touch ID?

Update (2017-04-14): McCloud:

ApplePay has a “Pay With Password” option you can use. Hidden until you try to use TouchID and fail at least once.

macOS 10.12.4 Locks Console Log Away From Normal Users

Howard Oakley:

Apple has not apparently documented this anywhere, but it has changed access to Sierra’s new log with the 10.12.4 update. When logged in as a normal – as opposed to admin – user, the entire contents of the logs are now inaccessible.

[…]

Log entries are still made while running with a normal user account logged in, but log show, Console, and Consolation are simply unable to find them. Consequently the only way to examine the log for a period logged in as a normal user is to log in as an admin user again and then examine previous log entries, something which Console cannot do unaided, making it even more unfit for purpose.

[…]

Although not common, apps and macOS can have bugs which only appear when running in normal user mode. This change therefore makes it much harder to use Console to examine such bugs, and much harder to investigate problems which are confined to normal user mode.

Update (2017-04-15): Joseph Chilcote:

Even more strange, log stream still works on standard accounts.

Using Named iOS Font Styles With Custom Fonts

Curt Clifton:

Trying to change the family on the font descriptor gets us a descriptor that includes both the new family and the old named font style […] Creating a font from the confused descriptor takes us right back where we started […] Our Helvetica is nowhere to be found.

[…]

What if we had a way to maintain the style information even when switching to a custom font? With that available, we could look up the correct font size even when the user changes their preferred content size.

Here’s an extension on UIFont that does just that. The key trick is using associated objects to piggyback style information on the font.

[…]

In awakeFromNib the fonts will start as those set in the nib or storyboard but will end as our custom fonts. In traitCollectionDidChange the fonts will start as our custom ones and will end as our custom ones at the new preferred content size.

Sip Leaves the Mac App Store

Olá Brothers Team (via Dan Counsell):

The App Store is a great platform for distributing software, but right now we need more control and freedom to build what we think is best for our users. Also, there are restrictions imposed by Mac App Store guidelines such as sandboxing that limit some of the features we want to bring to Sip.

In general, we believe that independently distributing Sip will allow us to deliver a better application and support to our users.

Debugging Swift Code in an Embedded Framework

Daniel Jalkut:

After hours of trying to unravel this mystery, I discovered the root cause: the framework that is embedded in my app does not, in fact, contain any headers. They were stripped by Xcode when it copied the framework into the app.

[…]

In the mean time, you can work around the problem by setting the REMOVE_HEADERS_FROM_EMBEDDED_BUNDLES build setting to NO in the app that embeds the framework[…]

Previously: Xcode, Frameworks, and Embedded Frameworks.

Wednesday, April 12, 2017 [Tweets] [Favorites]

Apple Icons and Hardware Avoid Tangency

Mark Stanton:

If you haven’t been immersed in iOS interface design, you might look at Apple’s icons and think that they’re just a rounded square or a ‘roundrect’. If you’ve been designing icons, you know that they’re something different and may have heard the word squircle used (mathematical intermediate of a square and a circle). And if you’re an Industrial Designer, you recognize this as a core signature of their hardware products.

[…]

A ‘secret’ of Apple’s physical products is that they avoid tangency (where a radius meets a line at a single point) and craft their surfaces with what’s called curvature continuity.

[…]

On the right you see what curvature continuity looks like. The curvature comb transition is a curve itself, starting from zero curvature. There’s no sudden break in curvature and, as a result, the highlight is smoother. This difference in curvature is harder to spot in an icon, but the important thing is that now the icons and the hardware are part of the same design language.

Automatic Memory Leak Detection on iOS

Facebook:

Automating this process would allow us to find memory leaks faster without much developer involvement. To address that issue, we have built a suite of tools that allow us to automate the process and fix a number of problems in our own codebase. Today, we are excited to announce that we are releasing these tools: FBRetainCycleDetector, FBAllocationTracker, and FBMemoryProfiler.

[…]

Fortunately, Objective-C offers a powerful, introspective, runtime library that can give us enough data to dig into the graph.

[…]

If we know that the reference we are dealing with is a block, we can cast it on a fake structure that imitates a block. After casting the block to a C-struct we know where objects retained by the block are kept. We don’t know, unfortunately, if those references are strong or weak.

To do that we are using a blackbox technique. We create an object that pretends to be a block we want to investigate. Because we know the block’s interface, we know where to look for references this block holds. In place of those references our fake object will have “release detectors.” Release detectors are small objects that are observing release messages sent to them.

Analysis of the Facebook iOS App Bundle

Alexandre Colucci:

The version 87.0 is now available: 253 MB on the same iPad Air 2 with only 64-bit code. In just 6 months, the Facebook.app size grew by 88 MB!

[…]

One of the reason the app size grew is due to multiple copies of the same resources inside the app.

[…]

When analyzing the version 66.0 I completely missed some amusing Objective-C interfaces, protocols and methods:

@protocol FBDeprecatedAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@protocol FBLoginFacilitatingAppModule <fbdeprecatedappmodule_do_not_use_or_you_will_be_fired>
@interface FBTimelineModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBNotificationsModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBProductionLockoutModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBSearchModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED

John Gruber:

It’s the most popular third-party app in the world, and it’s structured like a pile of garbage.

Previously: The Facebook App’s 18,000 Classes.

Update (2017-04-15): Lawrence Velázquez:

Happened across an old Facebook .ipa on a SuperDuper clone. The years have not been kind.

Update (2017-04-16): Alexandre Colucci:

The version 88.0 of the Facebook.app has now been released[…] As you can see from the smaller download size, the duplicated resources have been removed.

Verizon to Drop E-mail Service

Verizon:

We have decided to close down our email business. We will let you know when it’s time to choose how to handle your email account going forward via email. In addition, you’ll see a message from us when you log into your email from webmail.verizon.com indicating “Email service notice”. Click on “Keep verizon.net email address” or “Use any other email provider” to complete the setup.

[…]

For customers choosing to keep their verizon.net email address, we are teaming up with AOL to provide our customers with AOL Mail, an enhanced email experience.

Via Josh Centers:

Verizon purchased AOL in 2015 in what was thought to be strictly a content play, but now it looks as though Verizon had some other ideas in mind as well (see “Verizon to Buy AOL,” 12 May 2015). The upside if this approach is that Verizon will transfer your email messages, contacts, and calendars automatically.

[…]

I recommend transferring your existing verizon.net email address to AOL Mail, even if you don’t plan to use it. That way, even if you switch providers, you can still have AOL Mail forward any stray messages to your new address.

Scott Hoenig:

It seems like if you use the Mac Mail program for your mail client, or any other mail client, the SMTP/POP settings will continue to work. You have to tell them you want to keep your Verizon.net address, but that’s it. The only change would be if you want web mail access. So Verizon is keeping its mail servers--they’re just dropping support for their web mail application.

Google’s Search Quality Crisis

Danny Sullivan:

What’s happened to Google search is on par with the Apple Maps fiasco or Samsung’s exploding Galaxy Note7 phones.

[…]

Google’s results might be as good as ever. They might even be better than ever. But if the public perception is that Google has a search quality problem, that wins, because we don’t have any hard figures about relevancy.

[…]

If you want to go further with me examining the issues in this particular search, see some of my commentary in this Twitter moment. But the facts don’t matter, in terms of Google’s search quality reputation. The Google outrage machine is stoked.

[…]

We should continue to hold Google and search engines to a high standard and highlight where things clearly go wrong. But we should also understand that perfection isn’t going to be possible. That with imperfect search engines, we need to employ more human critical thinking skills alongside the searches we do — and that we teach those to generations to come.

Nick Heer:

I agree; I think users should have always been viewing search results with much more scrutiny than they do. But many people are lulled into believing that Google’s representation of the truth is the correct one. Their rich snippet answer box made this already-pervasive belief far worse by highlighting a single piece of a webpage as, seemingly, The Answer, even for questions where The Answer doesn’t exist.

Previously: Google’s Algorithm Is Lying to You About Onions and Blaming Me for It.

Tuesday, April 11, 2017 [Tweets] [Favorites]

What I Want in the New Mac Pro

Justin Williams:

Make it look like the Cheese Grater if you want, or spend time designing something more modern and attractive. If I get a say in size, I’d like something along the size of the Power Mac G4. The Cheese Grater design was nice, but it was also a chore to lug around the few times I needed to move or rearrange my desk.

[…]

What I need more than faster CPUs is more cores. The trash can Mac Pro got this right. My iMac maxes out at 4-cores. I’m going to want at least 8 for a Mac Pro.

[…]

I don’t need multiple GPUs personally. I’m just a software developer who doesn’t do any game work. I just want to ensure that I have the best GPU I can get when I buy this so that I can ensure that macOS performs as well as it can for a few years. No stuttering when I toggle Mission Control!

Stephen Hackett:

Even if a new Mac Pro had everything I’ve listed and more, I still bet the machine could be smaller than the Cheese Graters. A modern Mac Pro should be able to live on or under a desk. The Cheese Graters were too big and heavy to go anywhere but the floor, while the 2013 Mac Pro begged to be behind a display somewhere. Flexibility here is key. If the new Apple display has a built-in cable, it should be long enough to reach the floor.

Lloyd Chambers:

Dual CPU support still matters for many tasks, particularly server loads. Given the stalled-all performance of single CPU cores today and the continuing instability of GPU-based software, dual CPUs would be a welcome, and are needed for server type workloads.

[…]

Support for GPU of choice, and more than one GPU.

[…]

At least eight Thunderbolt 3 ports, on 4 busses. And not crammed tightly together.

Support for maximum speed PCIe cards, with at least two available slots.

[…]

Don’t make me dangle dongles: 4 USB 3.1 high speed ports and SD card reader slot.

I would like:

Previously: The Mac Pro Lives.

Update (2017-04-15): Jordan Kahn (Hacker News):

To find out what Hackintoshers want in the new machine, and maybe what would help bring back some pros that Apple has lost in recent years, we’ve talked to the moderators at one of our favourite Hacktinosh communities, tonymacx86.com.

We also got some input from our own resident Hackintosh enthusiast (and YouTuber) Jeff Benjamin, and some other pros and gamers that have made the jump from Apple’s pro machines to a Hackintosh.

Update (2017-04-16): Marco Arment (tweet, Hacker News):

A lot went wrong with the 2013 Mac Pro. […] It was designed to accommodate exactly two GPUs with relatively low heat output each, but CPU-heavy users didn’t need the second GPU, and GPU-heavy users needed hotter-running GPUs (and often just one really hot one). So the only configuration it was offered in was either overspecced (and overpriced) or underpowered for most Mac Pro customers.

[…]

Overly aggressive minimalism fails most spectacularly when there’s no clear consensus among customers on what can be removed. And if you ask Mac Pro customers what they need and want, there’s very little overlap[…]

[…]

The Mac Pro must be the catch-all at the high end: anytime someone says the iMac or MacBook Pro isn’t something enough for them, the solution should be the Mac Pro.

Update (2017-04-17): Daniel Pasco:

I realized that the corner that Apple has painted us into is just another “sweet solution” (similar to Jobs proposal that we develop web apps for iPhone instead of native apps).

[…]

This eight year old machine is a beast. It is everything that I have been missing. It embodies the zenith of industrial hardware design. It is literally bristling with ports, has four internal drive bays, and can support TWO of the most cutting edge graphics cards available on the market today.

[…]

Realize that the dream that professionals will just accept an iMac or the trash can Mac Pro is your dream, not theirs.

Lightroom 6.10

Adobe:

The goal of this release is to provide additional camera raw support, lens profile support and address bugs that were introduced in previous releases of Lightroom.

The direct download link is here.

This version seems to finally fix the auto-import bug that was introduced in 6.8.

Update (2017-04-18): This version seems to be much faster at bulk-moving photos, updating the display after a batch rather than after moving each photo.

Twitter Allegedly Deleting Negative Tweets Criticizing United Airlines

Mix (Hacker News):

Numerous users are reporting their negative tweets criticizing United Airlines’ abusive behavior have been vanishing into of thin air – and nobody seems to know why.

[…]

While Twitter has previously hidden tweets containing offensive messages from showing up in other people’s timelines as part of its efforts to curb abuse on its platform, deleting tweets against users’ wills goes firmly against the company’s rules.

This sort of moderation is more commonly known as ‘ghost-deleting.’ The term is a little misleading since such tweets are technically not deleted, but merely prevented from appearing in users’ feeds. This measure, however, is usually reserved strictly for offensive tweets – and this is hardly the case here.

There have been many stories about Twitter doing things like this, but it’s hard for those of us outside the company to know what’s really going on. We can’t see Twitter’s databases, only guess as what they might contain by viewing them through different accounts and clients and by watching those views change over time.

Some reported incidents may be misunderstandings or attention-seeking, but there seems to be enough smoke that there’s some sort of fire. Is Twitter censoring for business or political reasons? Are people or bots falsely reporting the tweets as abusive? Are there bugs in Twitter’s anti-harassment algorithms? What kind of evidence could one gather to even investigate this? At the most basic level, if one of my tweets really were censored, I don’t there’s a way I could prove that to you.

It’s all complicated by the fact that the alleged manipulations are more subtle than outright deletions. First, there’s the ghosting and shadow-banning. I have also seen certain hashtags that were trending excluded from auto-completion, which I guess is a way of stopping them from trending without actually manipulating the trending list. It has been alleged that Twitter does that, too, though. When the United story was blowing up, it sure seemed like #United and #UnitedAirlines were popular, but they didn’t show up in the Trends list for me, while the seemingly less popular #NewUnitedAirlinesMottos did. But who’s to say which one was actually more popular or whether some algorithm thought one was more tailored to my interests?

The Walt Mossberg Brand

Walt Mossberg:

I stepped into the Detroit Bureau of the Wall Street Journal and started on what would be a long, varied, rewarding career. I was 23 years old, and the year was 1970. That’s not a typo.

So it seems fitting to me that I’ll be retiring this coming June, almost exactly 47 years later.

[…]

And, in the best professional decision of my life, I converted myself into a tech columnist in 1991. As a result, I got to bear witness to a historic parade of exciting, revolutionary innovation — from slow, clumsy ancient PCs to sleek, speedy smartphones; from CompuServe and early AOL to the mobile web, apps and social media.

Ben Thompson:

Mossberg undersells himself: a necessary prerequisite to “convert[ing him]self into a tech columnist” was inventing the very concept. That I had to make such an observation — was there really a time in recent history in which major publications did not have someone focused on technology? — is itself a testament to Mossberg’s vision.

[…]

Mossberg was Steve Jobs’ favorite columnist — and Mossberg a frequent admirer of Apple’s products — because both had the same vision: bringing these geeky, impenetrable, and rather ugly boxes of wires and chips and disks called personal computers to normal people, convinced said computers could, if only made accessible, fundamentally transform a user’s life.

John Gruber:

Before Mossberg, tech writing was for tech enthusiasts. Mossberg is a tech enthusiast, but what he did at The Wall Street Journal is bring enthusiasm for tech — particularly the personal computer industry — to a truly mainstream audience. His influence — especially during his years at the Journal — is impossible to overstate.

Friday, April 7, 2017 [Tweets] [Favorites]

curl Is C

Daniel Stenberg (via Peter Steinberger, Hacker News):

No other programming language is as widespread and easily available for everything. This has made curl one of the most portable projects out there and is part of the explanation for curl’s success.

[…]

Does writing safe code in C require more carefulness and more “tricks” than writing the same code in a more modern language better designed to be “safe” ? Yes it does. But we’ve done most of that job already and maintaining that level isn’t as hard or troublesome.

[…]

The simple fact is that most of our past vulnerabilities happened because of logical mistakes in the code. Logical mistakes that aren’t really language bound and they would not be fixed simply by changing language.

simias:

So I looked at https://curl.haxx.se/docs/security.html

[…]

And I’ll stop here, so far 7 out of 11 vulnerabilities would probably have been avoided with a safer language. Looks like the vast majority of these issues wouldn’t have been possible in safe Rust.

Update (2017-04-10): The Changelog (via Jim Rea):

Daniel Stenberg joined the show to talk about curl and libcurl and how he has spent at least 2 hours every day for the past 17 years working on and maintaining curl. That’s over 13k hours! We covered the origins of curl, how he chooses projects to work on, why he has remained so dedicated to curl all these years, the various version control systems curl has used, licensing, and more.

Use macOS VMs in VMware Fusion in Retina Mode

Rob Griffiths:

Here’s what you need to do to use your VMware Fusion OS X/macOS virtual machines in retina mode:

  1. Enable full resolution mode, as shown in the image above.
  2. Open Terminal (in the macOS virtual machine), paste this command, then press Return:
    sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
  3. Logout and login from the virtual machine.
  4. Resize the macOS virtual machine (by resizing the window) to your desired dimensions.
  5. Open System Preferences > Displays, click on Scaled, then click on the one shown HiDPI mode.

TextExpander by Subscription One Year Later

Michael E. Cohen:

According to Smile, about a third of the TextExpander customer base has moved to the subscription service, which gives Smile the income to pay for continued app updates and to keep the lights on in the server room. And the promised frequent app updates have come: Smile delivered 17 updates to the macOS app last year compared to only 7 the year before.

[…]

More interesting, and boding well for TextExpander’s future, is that the TextExpander service provides the management capabilities to build snippet-sharing teams in businesses and organizations. Such teams share common snippet libraries, turning the TextExpander service into something of a low-rent content management system through which, for example, all the members of a customer support team can have access to textexpander.com-hosted support documents and links literally at their fingertips. Smile reports that a typical team is about 12 people, but it hosts teams that have nearly 1000 members. The enterprise attractiveness of Smile’s TextExpander service was further enhanced by the successful introduction of TextExpander for Windows.

The version history is here. Last year, I wrote:

The decision to keep selling TextExpander 5 strikes me as strange. On the surface, it sounds like what people wanted: the old product, with the old syncing, at the old price. But what is the future of the standalone version? There’s no announced commitment to add features, and it has the same name and a lower version number than the flagship product. I think the logical assumption has to be that TextExpander 5 is going to be stuck in maintenance mode.

In fact, there have been no updates at all to TextExpander 5.

I ended up switching to LaunchBar and Dash, which I was already using for other purposes, and this has worked out well. They are definitely less powerful, but I was only using the basic features, and I’ve gained easier snippet editing via BBEdit, version control and syncing via Git, and I’ve removed a Dropbox dependency (in addition to needing one fewer app).

I’m still using the old TextExpander on iOS, mostly to enter timestamps in OmniFocus.

Previously: TextExpander 6 and TextExpander.com, TextExpander Adjustments.

Clips 1.0

Apple’s Clips app for iOS is now available:

Clips is a new app for making fun videos to share with friends, family, and the world. With a few taps you can create and send a video message or tell a quick story with animated text, graphics and emoji, music, and more.

John Gruber:

Got to play with Clips yesterday. Love it. It’s like iMovie and Keynote had a baby and the kid got all the best genes.

Nick Heer:

It’s not that the app isn’t good at making short, fun videos; in fact, it’s great at doing that. But it seems like it’s trying to shoehorn an Instagram or Snapchat style of app into Apple’s typical UI conventions. As Ulanoff says, it seems less like a competitor to those apps than it does a trimmed-down version of iMovie. Maybe the market for something like that is large, but I’m not sold on it yet.

[…]

It’s a small thing, but the icon is also disappointing. It’s supposed to be a fun, creative, silly app, so why does the icon make it look like it will be for corporate videoconferencing?

Michael Rockwell:

I haven’t spent too much time using the application, but I’m very impressed with what I’ve seen so far.

Update (2017-04-07): Manton Reece:

Apple’s Clips is great. One of the best iOS apps they’ve made in years. It’s a useful quick video editor even if you ignore the fun effects.

Update (2017-04-11): See also: The Talk Show.

Update (2017-04-16): Eddie Smith:

Renie Ritchie apparently wrote a treatise on Apple’s new Clips app, but don’t let that intimidate you. Clips is ridiculously easy to use, and most of its features are discoverable by just playing with it.

The real brilliance of Clips is that you don’t even feel like you’re doing movie editing, but that’s exactly what you’re doing.

Thursday, April 6, 2017 [Tweets] [Favorites]

Putting Core Data on the Map

Tim Ekl:

The Core Data setup was fairly straightforward: I wanted Point to store latitude, longitude, and title, so I added two numeric and one string attribute to the Point entity. […] Right off the bat, it seemed like the easiest thing to do was to make the Point instances themselves conform to MKAnnotation. They already had latitude, longitude, and title; all that was left was to merge the former into a coordinate property.

[…]

In testing, though, this soured quickly: a critical operation in everyday use was deleting a Point from the database. However, telling the map view to remove a Point annotation wasn’t quite as prompt as it should have been. Annotations would remain on the map for a few seconds, or in rare cases much longer.

[…]

In the “Discussion” section of the docs for MKAnnotation.coordinate, there exists this critical qualifier […] As soon as I noticed this, everything clicked: the map was likely using KVO to watch for changes in an annotation’s coordinate, in order to update its location.

OmniOutliner 5

The Omni Group:

Add a password to your documents to secure them with AES-256 encryption.

Keyboard Shortcuts — Easily customize keyboard shortcuts to your own liking within the app.

[…]

Smarter Paste — To avoid bringing in extra styles when copying data from outside sources, Paste now removes styles but retain links and images. Use the new Paste with Original Style to retain the styles from your source content.

While .ooutline files are zipped by default, package files are still available for scenarios where that makes more sense, like for version control. Note— The previous .oo3 format can still be opened and edited but features requiring the new format will be disabled.

Inspector Sidebar — The inspectors are now contained in a sidebar, allowing you to show or hide them on a per-document basis.

OmniOutliner is one of my favorite apps, and this looks like a great update. I once used it for even more things: task management, bug tracking, time tracking, project planning, recipes, journals, miscellaneous flat lists, etc. Over time, these have migrated to OmniFocus, FogBugz, and RTF/text files in EagleFiler/BBEdit. OmniOutliner is still my first choice for hierarchical or tabular work/notes and checklists. It also works great when preparing my taxes as a middle layer between MoneyWell and TurboTax.

See also: John Gruber, Brent Simmons.

Previously: OmniOutliner Essentials.

Excluding Files From Spotlight and Time Machine

user495470 (via Rich Trouton):

  • Create a file named .metadata_never_index inside a folder.
  • Rename folders or files so that they end with .noindex.
  • If you only want to hide files from the GUI, move them to a system folder like ~/Library/.
  • Move the files to a folder that starts with a period like ~/.fontconfig/. It doesn't remove them from mdfind queries like mdfind 'kMDItemFSName=*' -onlyin ~/.fontconfig/ though.

The .metadata_never_index trick was new to me. Excluding temporary files, or other files that you know you won’t need to search, from Spotlight can really speed things up.

As for Time Machine, I could not find it documented, but it seems to exclude folders with the .nobackup extension. There are also APIs such as CSBackupSetItemExcluded() and NSURLIsExcludedFromBackupKey for excluding items, and you can use tmutil isexcluded to check whether a particular item is excluded.

Update (2017-04-06): Thomas:

I have another one: disable fsevents by creating a “.fseventsd/no_log” file at the root of the volume. Haven’t tested this in a while though.

Thoughts on Swift Access Control

Jesse Squires (tweet):

The proposal SE-0025: Scoped Access Level was reviewed, revised, and finally accepted for Swift 3. This proposal changed the meaning of private to restrict access to an entity to within the current scope or declaration, and preserved the former meaning with a new keyword, fileprivate. The hypothesis at the time was that the new (and somewhat intentionally ugly) fileprivate keyword would rarely be used, thus abiding by Swift’s design philosophy of progressive disclosure. Little did we know that this would not be true in practice.

[…]

After three controversial review periods and revisions, proposal SE-0117: Allow distinguishing between public access and public overridability was accepted for Swift 3. The proposal introduced a new access level called open and changed the definition of public in some contexts.

[…]

Most recently, proposal SE-0159: Fix Private Access Levels was put forward to simply revert the changes of SE-0025. That is, remove fileprivate and restore the original (Swift 1 and 2) semantics of private. […] The new private essentially broke Swift’s extension-oriented style, as private members of a type were no longer accessible from an extension on that type, even if the extension was declared in the same file. The proposal was reviewed with as much controversy and ferver as SE-0025 itself. […] SE-0159 was rejected, leaving the state of access control unaltered.

[…]

The Core Team’s proposal that Doug outlines above is a good compromise. Before I could publish this post, David Hart opened a pull request with a draft proposal titled Type-based Private Access Level for this. I hope it gets accepted and implemented. […] The benefits of a “partly lexical and partly type-based” access control that Doug explains are clear, and I think the outweigh the drawbacks.

Wednesday, April 5, 2017 [Tweets] [Favorites]

Stop the weak-strong Swift Dance

Krzysztof Zabłocki (tweet):

The usual way of dealing with that is using either unowned or weak capture, wheres unowned requires almost no boilerplate, using weak usually requires this annoying dancing pattern:

obj.closure = { [weak self, weak other] some, arguments in 
    guard let strongSelf = self else { return }
    /// ... code
}

I find this ugly, lets instead create strongify function and turn all those calls into something like:

obj.closure = strongify(self, other) { instance, other, some, arguments in
    /// ... code
}

[…]

Basically we generate a variant that takes N context arguments and N original function arguments and strongify them. A little boilerplate to remove a lot of boilerplate from your call-sites.

Some are suggesting that a name like withWeak() would make more sense.

Previously: @weakify and @strongify Macros.

The 2016 Panic Report

Cable Sasser:

2016 was clearly the Year of Firewatch for us. Thanks to Campo Santo’s heroic efforts, Firewatch shipped right on time on Mac, PC, and PlayStation 4. We later added an Xbox One port.

[…]

We shipped 34 software releases over the course of 52 weeks in 2016, and three of them were significant new-feature updates. Each one of them was fully tested and qualified by our expanded and improved QA team.

[…]

Trying to do macOS quality work on iOS cost us a lot of time for sadly not much payoff. We love iOS, we love our iPhones, and we love our iPads. But we remain convinced that it’s not — yet? — possible to make a living selling pro software on those platforms.

Congratulations on 20 years!

For 2017, I’m looking forward to Transmit 5 and its support for a lot more cloud storage services. And hopefully Apple will remove the Firewatch rip-off from the App Store.

Update (2017-04-07): Nick Heer:

There are probably plenty more pricing models than what I’ve written here, but none I’ve seen yet seem capable of addressing the financial viability of this specific software niche. It’s a tricky problem. Without a solution, though, I question the long-term viability of independently-made professional-grade software on iOS.

Frontier Diary #1

Brent Simmons:

Maybe you’ve never heard of it. But here’s the thing: it was in Frontier that the following were either invented or popularized and fleshed-out: scripted and templated websites, weblogs, hosted weblogs, web services over http, RSS, RSS readers, and OPML. (And things I’m forgetting.)

Those innovations were due to the person — Dave Winer — and to the times, the relatively early web days. But they were also in part due to the tool: Frontier was a fantastic tool for implementing and iterating quickly.

[…]

The high-level goal is to make that tool available again, because I think we need it.

After learning how to really use it, I became a huge fan of Frontier. But the monolithic database was a problem in the 90s and would be an even bigger one now.

Apple to Phase Out Usage of Imagination Technologies GPU

Pierre Lebeaupin:

If you need a refresher, Apple has been using PowerVR GPUs from Imagination ever since the original iPhone. More than that, though, it is the only outside technology (and a significant one, at that) that is and has always been an explicit dependency for iOS apps: readers of this blog don’t need to be reminded of Apple’s insistence to own every single aspect of the iOS platform (if you missed the previous episodes, most of it is in my iPhone shenanigans category) so as not to let anyone (Microsoft, Adobe, whoever) get leverage over them, but graphical technologies have been a notable exception, being more than mere software. For instance, while Apple uses OpenGL ES, and now Metal, to abstract away the GPU, a number of PowerVR-specific extensions have always been available and Apple encouraged their use.

[…]

Besides the extensions developers explicitly use, there are all the performance aspects and tradeoffs specific to PowerVR that iOS games have unwittingly become dependent upon (e.g. whether to use complex geometry or compensate with shaders, how to best obtain some effects, etc.), which Apple would have to best reproduce, or at least not regress on, in a new GPU.

Twitter Only Mutes 100 Keywords

Jeff Johnson:

To see why it’s not enough, you need to know exactly how keyword muting works. To start, ask yourself why @username muting even exists. The ability to mute or block an account was already a Twitter feature. You might think that if you had blocked an account, Twitter would automatically mute any tweets containing mentions of the blocked account. That would be the sane implementation. Yet that is not the actual implementation. Twitter does not automatically mute tweets that mention accounts you’ve blocked, so you have to waste keyword mutes on those accounts.

The other major problem with Twitter keyword muting is that it only matches full words or phrases. It doesn’t match prefixes at all. In other words, Twitter does not automatically mute plural or possessive forms of your keywords.

Tuesday, April 4, 2017 [Tweets] [Favorites]

The Mac Pro Lives

John Gruber (tweet):

Apple is currently hard at work on a “completely rethought” Mac Pro, with a modular design that can accommodate high-end CPUs and big honking hot-running GPUs, and which should make it easier for Apple to update with new components on a regular basis. They’re also working on Apple-branded pro displays to go with them. […] These next-gen Mac Pros and pro displays “will not ship this year”. (I hope that means “next year”, but all Apple said was “not this year”.) In the meantime, Apple is today releasing meager speed-bump updates to the existing Mac Pros.

[…]

Regarding iMacs, Schiller also said that new iMacs are in the works, slated for release some time this year (no specifics other than “this year”), including “configurations of iMac specifically with the pro customer in mind and acknowledging that our most popular desktop with pros is an iMac.”

[…]

The word “mistake” was not uttered, but this is about as close as we’re going to get to Apple admitting they miscalculated with the current Mac Pro’s concept. One word that was uttered, however, was “sorry”.

[…]

Schiller: “On that I’ll say the Mac Mini is an important product in our lineup and we weren’t bringing it up because it’s more of a mix of consumer with some pro use. … The Mac Mini remains a product in our lineup, but nothing more to say about it today.”

At this point, anything other than an actual announcement of shipping product was bound to be disappointing. The current Mac Pro is an embarrassment, and it’s unthinkable that Apple would continue selling it much longer in the same form. That it was kept around as a placeholder was a sign that something would be coming eventually. The worst news would be if it were quietly killed off. This vapor announcement of a product that’s more than a year away is one step better.

Unexplained is how Apple got into this situation. It has been common knowledge that the 2013 Mac Pro was a thermal mess. Apple must have known at least two years ago that a new design would be needed. Why does it take three years to design a new Mac? I keep thinking of the anecdote where there was a problem with the supply chain in China:

Thirty-minutes in the meeting [Tim Cook] chided Sabih Khan, the then operations executive, saying “Why are you still here?”.

It doesn’t seem like there was that sense of urgency about the Mac Pro. Maybe there was a second radical design that also didn’t pan out, but my guess is that Cook thought the future was iMacs or simply didn’t give it much thought. If the plight of Apple’s Pro customers kept him up at night, they wouldn’t be in the situation they’re in.

Words aside, the way to show that Apple cares about Pro customers would have been to release some sort of stopgap Mac Pro now (or last year). It might not be beautiful or innovative, but with relatively little effort they could have put together a basic system to rival a Hackintosh tower. Instead, we get classic 2010s Apple pride. They’re working on something really great, and you’ll have to be patient because they would rather prove to you that they can still innovate than have the courage to ship a boring product that nonetheless would meet the needs of their customers today.

My other thought is that if 80% of Mac sales are notebooks, and Apple thinks there’s room for a Mac Pro in the 20% of desktops, there’s got to be room in the 80% for a true MacBook Pro: a large display, lots of RAM and storage, a real keyboard and trackpad, and physical escape and function keys.

For me, I want some kind of a Mac Pro, but I don’t have the patience to keep waiting. The speed-bump1 updates are welcome but not enticing. The new Mac Pro could be shipping in late 2018 or even 2019. It might be late or supply constrained or have design flaws, especially if it is to be a radical design. And there’s no telling whether it would even be what I’m looking for. The word “modular” hints to me that it’s not going to be a tower that I can put drives in, anyway. So I will likely get an iMac whenever they’re updated and hope that a better MacBook Pro is announced before my 2012 one stops working.

See also: Matthew Panzarino, Dr. Drang, Ryan Jones, Frank Reiff, Jeff Johnson, SwiftOnSecurity.

Update (2017-04-04): See also: Michael Love, Chris Johnson, Jeff Johnson, Marco Arment, Hacker News, Eric Florenzano, Garrett Murray, Michael Yacavone, Ted Landau, Stephen Hackett, Michael Rockwell, Kirk McElhearn, Josh Centers, Adam C. Engst, Dan Moren, Nick Heer, Ina Fried, John Gruber, Andrew Cunningham, Joe Rossignol, Juli Clover, David Sparks, Benjamin Mayo, Colin Cornaby, Todd Ditchendorf, Daniel Jalkut, Brian Webster.

Chuq Von Rospach (tweet):

From the timing of when we’ll see these products — the iMacs later this year and the Mac Pro next year — I’m inferring that the iMacs have been under design for a while, but may have been taken back for component tweaking and upgrades, while this new Mac Pro has been under internal argument and the group that feels the product needs to exist has finally won, so design is now starting in earnest. These two assumptions match what I’ve been hearing in my occasional chat with people who know people who know people’s barbers. I think it’s fair to say that whether there should be a next ten Mac Pro has been an ongoing and rather enthusiastically discussed topic inside Apple’s walls.

Update (2017-04-05): See also: Colin Cornaby, Dr. Drang, Nick Lockwood, Ilja A. Iwas, Dan Masters, Chris Adamson, Mark Sullivan, Accidental Tech Podcast, Andrew Pontious, MacDailyNews.

Oluseyi Sonaiya:

Given the range of constraints that define professional workstations, the Late 2013 Mac Pro is what you might arrive at if you first determine that your must-have is compact form factor.

[…]

My theory is that Jony Ive’s design aesthetic is fundamentally sculptural, not ergonomic: that he makes objects to be beheld, not to be held.

Kirk McElhearn:

The whole thing seemed improvised, from the various articles I’ve read. It’s almost as if Apple recently realized that their desktop Mac line-up is an embarrassment and decided to start planning to fix it. Nothing in the transcript of the meeting suggests that they’ve been working on this for any length of time.

Jason Snell:

Schiller suggested that the new Mac Pro will be more capable of receiving hardware updates, but on what schedule?

Thomas Brand:

As a past Power Mac customer I am excited about Apple's future “modular Mac,” but I have questions about what modular means to Apple and its customers.

Update (2017-04-06): Thom Holwerda (via Marco Arment, MacRumors):

The Mac Pro was in limbo inside Apple. The decision to go ahead and develop a modular Mac Pro replacement seems to have been made only in recent months, with development starting only a few weeks ago, which makes it clear why Apple said it won’t ship this year.

[…]

What made Apple do a 180? Well, after the announcement of the new MacBook Pro with Touch Bar, orders for refurbished “old” MacBook Pros supposedly went through the roof, and after the initial batch of reviews came out, they shot up even higher. This response to the new MacBook Pro with Touch Bar took Apple completely by surprise. Combined with the problems surrounding the LG UltraFine 5K display and the constant negativity from professional Apple users, the company decided to double down on professional users.

Sebastiaan de With:

Before this week’s announcement, it was looking like the future would simply pass Apple by.

And I was convinced — me, an ex-Apple designer with the greatest passion for Macs — that I had bought my last Mac, and would finally be forced to switch back to PCs.

I’m incredibly relieved I won’t be.

Matthew Panzarino:

But we thought we would also use this opportunity to share a transcript of the interview with Phil Schiller, Senior Vice President of Worldwide Marketing; Craig Federighi, Senior Vice President of Software Engineering; John Ternus, Vice President of Hardware Engineering.

Update (2017-04-07): See also: Hacker News.

Update (2017-04-11): Lloyd Chambers:

I give Apple kudos for finally acknowledging that the 2013 Mac Pro was in some ways a failure, albeit with first class ‘spin’: taking 3+ years to figure out that a waffle cone with chocolate ice cream isn’t the only flavor people like is simply not a credible cover story.

[…]

I would feel a lot more comfortable were I reading past tense instead of present participle (“rethinking”, team “told to take its time”). Should not the thinking part should be just about all done by now, the staff having been hard at work for the past two years or so?

Update (2017-04-12): See also: Accidental Tech Podcast.

Update (2017-04-14): See also: The Talk Show.

Monday, April 3, 2017 [Tweets] [Favorites]

Logs Unite: Forensic Analysis of Apple Unified Logs

Sarah Edwards (PDF via Howard Oakley). Of particular note, regarding Console:

If reviewing on live system

  • Will only show new new events since Console.app opened.
  • Will show messages on disk & in memory (‘Volatile’ column).

Previously: Sierra Logging Spew, Sierra Log Littering.

Beware Default QoS

Apple:

A quality of service (QoS) class allows you to categorize work to be performed by NSOperation, NSOperationQueue, NSThread objects, dispatch queues, and pthreads (POSIX threads). By assigning a QoS to work, you indicate its importance, and the system prioritizes it and schedules it accordingly. For example, the system performs work initiated by a user sooner than background work that can be deferred until a more optimal time. In some cases, system resources may be reallocated away from the lower priority work and given to the higher priority work.

[…]

On iPhones, discretionary and background operations, including networking, are paused when Low Power Mode is enabled.

Drew McCormack:

Defaults for QoS can lead to nasty bugs. A lot of my ‘sync not working’ issues were due to ops not executing in low power mode.

If you have tasks using NSOperation or dispatch, and they seem to stop working in low power mode, that could be it.

Making QoS default to no-ops for low resources seems crazy to me. Apps just break. That should never be a default. Should have been opt in.

The iPad Turnaround Is Coming

Jean-Louis Gassée (tweet):

At the time, it sounded like a stream-of-consciousness ventilation that belied a hesitant inner monologue. Seven years later, we see how prophetic it was. We all know what a PC is for, and we “get” smartphones…but we’re still debating what an iPad wants to be. Is it a PC replacement or just a media consumption device? Is it for knowledge workers, or couch surfers, or artists, or students… That we ask these questions points to an abundance of riches, but our culture needs certainty, it demands sharp taxonomies.

[…]

This leads us to an easy guess for future iPad Pros. We’re likely to see linear hardware and software improvements (keyboard, screen, stylus, more independent windows…), plus others we can’t think of immersed, as we often are, in derivative thought.

[…]

Perhaps I ought to stick to predicting the past, but there too many signs pointing to more muscular iPads taking business away from conventional PCs.

To an extent, perhaps, but I think more than linear improvements would be needed for the iPad to become what Tim Cook thinks of it as.

Chris Adamson:

So where is the software of consequence for iPad? And who, given App Store economic realities, can afford to write it?

Apple TV Penetration Hits 5%

Ben Lovejoy:

New data from comScore shows that 5% of all U.S. households with a WiFi connection now use Apple TV. Apple’s streaming TV box is the fourth most popular platform after Roku, Amazon’s fireTV and Google’s Chromecast.

I’m still having regular problems simply playing video via Apple TV 3. It will take 45 minutes before a TV show is ready to play and sometimes stop loading entirely. This is exactly what I don’t want to deal with when relaxing for a few minutes before bed.

An iPhone in the same room can play instantly. It can also AirPlay, albeit with an increasingly awkward interface, to the Apple TV.

I always expected that it would be lack of content that might draw me away from Apple TV. As it happens, my content needs are pretty basic, I don’t want a streaming subscription, and I’m tempted to switch to something else because it simply doesn’t work reliably. Of course, I’ve now purchased lots of content and am locked in.

Jason Seifer, RIP

Casey Liss:

I got news this morning that my friend Jason Seifer had passed away suddenly.

I’m shocked, and really sad.

Jason was like nobody I’ve ever met. Which is an odd thing to say, since we had never actually met in person. Nevertheless, I immediately started to cry upon hearing the news; an odd thing to do for someone who, on paper, was just a voice in my head.

John Siracusa:

I knew @jseifer as kind, funny podcaster. Many others knew him as a developer and mentor. He was a shining horse-head mask in the darkness.

David Heinemeier Hansson:

Sad loss for the Ruby community. Thoughts with his family and friends. 😢

No podcaster has made me laugh as much as Jason Seifer did.

See also: his blog, The Dev Show, Geek Friday, IRL Talk.

Update (2017-04-03): Faith Korpi:

I hope Jason would be proud to know that my first thought after utter heartbreak was worrying his ghost is going to haunt the shit out of me.