Archive for March 23, 2016

Wednesday, March 23, 2016

How to Use the 10.9 SDK With Xcode 7.3

Felix Schwarz (via Jeff Johnson):

When Apple shipped Xcode 7, it decided to ship it only with the OS X 10.11 SDK. Unfortunately, this has since put developers of USB kernel extensions between a rock and a hard place.


In essence, that means you can still write a USB kernel extension targeting older OS X releases and it will continue to just work™ under OS X 10.11, too.

The OS X 10.11 SDK, however, lacks the needed header files for the old USB stack. And that’s why the OS X 10.9 SDK is still needed if you want to build these.

Rich Siegel:

It no longer recognizes older SDKs placed in Developer/Platforms/…/SDKs/. Working around it now by copy/link to $SRCROOT.

I had hoped that the rewritten USB stack in El Capitan would solve the problem I’ve been having with USB 3 drives spontaneously unmounting. However, that is not the case. One of my drives unmounted in the middle of a backup literally while I was reading Schwarz’s post.

Adventures in Troubleshooting AirDrop

Dan Moren:

Just now, as I was writing out this list, I realized I hadn’t tried to force-quit and restart the Photos app, so I did that. And weirdly enough, that seemed to make AirDrop work again—at least for now.

Yet I still can’t be entirely sure that that’s what actually fixed it, and I think this is one reason that we’ve been having, of late, this discussion about the declining quality of Apple’s software.


All three of those factors taken together make the technology, which can feel magical at the best of times, instead seem downright capricious.

AirDrop is a total mystery to me. Half the time it works great. But half the time it doesn’t work at all, seemingly without me having changed anything, and no troubleshooting checklist ever seems to fix it. Then a few days or weeks later it mysteriously starts working again.

Adobe Jumps the Shark

Glenn Reid:

I have never had such miserable experiences with installers, updaters, subscriptions forced upon me, crashing applications, and overall lack of awesomeness. If Adobe is in decline, it’s Adobe’s own fault. You don’t have to sit back and be old and pointless.


You have all seen Adobe Air update messages -- two a week for a while there -- without any idea of what Adobe Air is, or why you want it, or why it needs to be upgraded. But this is the one that sent me over the edge today, as I was concentrating on some work that I was doing. Up pops the most useless dialog box ever, to interrupt my concentration. You launch an updater to tell me that I don’t need to update? Really?


Here’s a little secret: if people start to hate your products and your business practices, you won’t have recurring revenue for long. The recurring part is based on trust and value. At this point, you are losing both.

Update (2016-03-23): See also: Record Adobe Revenue, Oluseyi Sonaiya.

How One Developer Broke Node, Babel, and Thousands of Projects

Chris Williams:

A couple of hours ago, Azer Koçulu unpublished more than 250 of his modules from NPM, which is a popular package manager used by JavaScript projects to install dependencies.

Koçulu yanked his source code because, we’re told, one of the modules was called Kik and that apparently attracted the attention of lawyers representing the instant-messaging app of the same name.


Unfortunately, one of those dependencies was left-pad. The code is below. It pads out the lefthand-side of strings with zeroes or spaces. And thousands of projects including Node and Babel relied on it.

Azer Koçulu (via Erik Aybar):

When I started coding Kik, didn’t know there is a company with same name. And I didn’t want to let a company force me to change the name of it. After I refused them, they reached NPM’s support emphasizing their lawyer power in every single e-mail CC’ing me.


I’m apologize from you if your stuff just got broken due to this. You can either point your dependency to repo directly (azer/dependency) or if you volunteer to take ownership of any module in my Github, I’ll happily transfer the ownership.

Update (2016-03-24): Mike Roberts:

We don’t mean to be a dick about it, but it’s a registered Trademark in most countries around the world and if you actually release an open source project called kik, our trademark lawyers are going to be banging on your door and taking down your accounts and stuff like that — and we’d have no choice but to do all that because you have to enforce trademarks or you lose them.


The wording we used here was not perfect. We’re sorry for creating any impression that this was anything more than a polite request to use the Kik package name on NPM for an open source project we have been working on that fits the name.

David Haney (comments):

I get the impression that the NPM ecosystem participants have created a fetish for micro-packages. Rather than write any functions or code, it seems that they prefer to depend on something that someone else has written. It feels to me as if the entire job of an NPM-participating developer is writing the smallest amount of code possible to string existing library calls together in order to create something new that functions uniquely for their personal or business need.

Dave Winer:

Recently the Node community had a fairly big outage that can be traced to the fact that NPM, the code distribution system, has been taken over by VCs. When NPM became VC-backed, it was obvious that at some point this would cause problems. And it certainly doesn’t stop there. I worry about GitHub. It plays such a central role. But eventually the VCs are going to want an exit. Then what happens?