What is a JSON feed? Learn more

JSON Feed Viewer

Browse through the showcased feeds, or enter a feed URL below.

Now supporting RSS and Atom feeds thanks to Andrew Chilton's feed2json.org service

CURRENT FEED

And now it’s all this

I just said what I said and it was wrong. Or was taken wrong.

JSON


Transparency

Permalink - Posted on 2019-02-12 02:27

Today I upgraded the OS on my work iMac to Mojave. The upgrade took maybe an hour and had no hiccups, which I was glad of. I haven’t used it enough to know whether any of my software is broken1, but I have used it enough to know that Apple is making visual changes to the user interface that certainly don’t enhance the user experience and probably detract from it.2

I’m not talking about Dark Mode. Personally, I think Dark Mode is a step back to the light-on-dark terminals I used back in the 70s and 80s, and I have no interest in working on a system that reminds me of those days. But that’s more a matter of taste than usability—done right, Dark Mode can be just as usable as the classic mode. I’m talking about Apple’s inexplicable embrace of transparency.

Here’s my Dock after the upgrade. My Desktop color for years has been Solid Aqua Dark Blue3, and now the Dock is just about the same color because of the transparency.

Mojave Dock

Why should the Dock appear as if it’s transparent? It’s not as if there’s anything interesting behind the Dock. That space can’t be used for icons, and I wouldn’t put any there even if it could be. So there’s no value is seeing through the Dock, but there is value in distinguishing the icons in the Dock from those that may be next to it on the Desktop. The distinction between the icons in the Dock and those on the Desktop is unnecessarily reduced by the excessive transparency of the Mojave Dock.

In case you’re wondering, I do have the “Reduce transparency” box checked in the Accessibility System Preference. That used to make the Dock more opaque than it does now.

Strangely, Apple keeps the Dock pretty distinct on the iPad.

iPad Dock

It’s not as distinct on the iPhone. Maybe there’s some setting difference I don’t know about, or maybe it has something to do with the OLED screen.

iPhone Dock

In any event, what’s weird about this is that the Dock doesn’t need to be as distinct on iOS as it does on the Mac, because tapping any icon on iOS, Dock or not, launches the app. That’s not the case on the Mac, where icons on the Desktop are just files, and the distinction between Dock and not is more important.

What bothers me most, though, is that transparency has no real meaning on the Mac. It’s just decoration, not tied to any spatial sense that we expect from our experience with the physical world. For example, if you start typing in the URL field in Safari, the menu of suggestions that extends down from the URL field takes on a lighter version of the Desktop color, basically the same “semi-transparent” color in the background of the Dock.

Safari suggestions

This is ludicrous. This menu isn’t directly in front of the Desktop, it’s in front of the browser window (which is white because I was on Google’s home page when I took the screenshot). There is no reason for it to look like you’re seeing through it to the Desktop. That it looks that way screws up the sense of layering, especially since it still has that shadow around its border.

This absurd fake transparency isn’t confined to Safari. The little popup boxes that appear in Maps have the same muted Desktop coloring even though their conceptual position is floating on top of the map, not on top of the Desktop.

Mojave Maps

I can get rid of the ersatz transparency by checking the “Increase contrast” box in the Accessibility System Preference, but that also adds thicker border lines around windows and buttons, which I’d rather not have.

To summarize, there are three things wrong with transparency in Mojave:

  1. It doesn’t help. Unlike other graphical flourishes in macOS, like the genie effect, it doesn’t do anything to help the understand the conceptual stacking of the UI elements.
  2. It gets things wrong. It always “shows through” the Desktop, no matter what is directly behind the supposed transparent element.
  3. It can’t be turned off without messing with other UI features. Unlike previous version of macOS, “Reduce transparency” doesn’t reduce all the transparence. As best I can tell, the only thing “Reduce transparency” still does is make the menu bar and its menus opaque.

It’s possible there are some settings I can change, through either System Preferences or defaults write, to get the user interface I want. I have, after all, been using Mojave for only a few hours. But it’s bothersome that Apple has chosen a default look that takes away from the experience of using a Mac.


  1. Several utilities walked me through upgrades after the final reboot of the system, an indication of how good most of the well-known Mac developers are at treating their customers. 

  2. And yes, I know Mojave was released months ago and this is all old hat. But it’s new hat to me, so I’m going to talk about it. 

  3. Apple removed this color from the standard list in Mojave, but I had the fortune of saving it (RGB values of 61, 101, and 156) in a couple of places. 


[If the formatting looks odd in your feed reader, visit the original article]


Sometimes it’s the small things

Permalink - Posted on 2019-02-08 05:01

Like many of you, I read Federico Viticci’s new article on controlling his Mac mini from his iPad. What struck me particularly about it was his choice of FileExplorer to access files on his Mac from his iPad. Just a couple of weeks ago, I wrote of how I was using the similarly named (and similar looking) FileBrowser to do the same thing. The differences between the two apps are small, but they’re critical to how Federico and I made our choices.

FileExplorer and FileBrowser are apps that connect to and transfer files from computers over a network. That network could be the local network in your home or it could be the internet. It would be easy to confuse the two apps—their connection configuration screens and file exploration screens look very similar. Federico, who had nice things to say about FileBrowser a year ago, has now chosen FileExplorer for a very specific reason:

What sets FileExplorer apart is its excellent integration with the Files app, which, unlike FileBrowser, is fully independent from the main app and doesn’t require a separate authentication step. Connections you create in FileExplorer (and I tested this with FTP, SFTP, and macOS servers) show up as folders in the FileExplorer location in the Files app; even if the main FileExplorer app has been force quit, selecting a server inside its Files extension will open a connection in the background and display the contents of the connected server, allowing you to browse its file structure.

Because of the way Federico wants to work on his iPad, consistently using Files to access external files, that single advantage of FileExplorer means the world to him.

I don’t care so much about Files integration, but I care a lot about previewing files as I browse the connected computer from my iPad. When I was looking for a convenient way to browse images and PDFs saved on my iMac at work, I chose FileBrowser over FileExplorer because it was better at handling those previews.

Here’s FileBrowser’s default icon (or grid) view, what you’d see right after making the connection to the remote computer. The navigation sidebar takes up space that I’d rather devote to the images.

FileBrowser with sidebar

But there’s a way to get rid of the sidebar. Just tap that button with the two outward-pointing arrows in the lower right corner and the sidebar disappears to give the icons the full width of the screen.

FileBrowser without sidebar

Even better, we can change the size of the icons by pinching inward or outward.

FileBrowser with large icons

This is how I want to preview files on the remote computer.

FileExplorer’s icon view looks almost identical to FileBrowser’s.

FileExplorer icon view

The difference is in the previewing. As far as I can tell, there’s no way to get rid of the sidebar and no way to adjust the size of the preview icons. These are as important to me as Files integration is to Federico.

These small but critical differences often can’t be found in the list of app features because they’re too fine-grained. FileExplorer’s description in the App Store says it can “[d]irectly view and manage documents, photos, files on your computer and cloud without downloading to your iPhone/iPad.” And that’s true, but the viewing isn’t the way I want it. Similarly, FileBrowser’s description says it “allows you to access all your connections from iOS11 Files and other apps.” Also true, but the access isn’t the way Federico wants. Fortunately, the App Store is broad enough that we both got what we want.


[If the formatting looks odd in your feed reader, visit the original article]


Apple SVPs

Permalink - Posted on 2019-02-06 02:55

At first glance, it seems a little odd that Angela Ahrendts’s replacement overseeing the Apple Stores, Deirdre O’Brien, will continue on in her position as chief of human resources. O’Brien, who is currently vice president of People, and is an Apple lifer, will move above the horizontal bar on Apple’s Leadership page and become senior vice president of Retail + People,1 a new title for an Apple SVP. What makes it odd is that Retail + People looks like an enormous portfolio for one person, especially given that those duties used to be split between an SVP and a VP.

But if you look at Apple’s most recent Equal Employment Opportunity filing, you’ll see that Sales Workers make up 31% of Apple’s employee base. Only Professionals, a hair higher at 32%, beats it out, and no other employee category is even close.2 So a lot of Apple HR is already devoted to Retail.

Apple 2017 EEO filing excerpt

The duties of Apple’s top people have often been broad and seemingly unfocused. Eddy Cue, for example, was put in charge of the App Store because he’d been running the iTunes Store. This no doubt seemed reasonable at the time, but it was a disaster. Running the App Store included handling app reviews and developer relations, and Cue’s tenure was one long continual complaint of app reviews taking too long and developers being treated unfairly. Putting the App Store under Phil Schiller, which on paper makes no sense for the SVP of marketing, was the solution, for which both Schiller and Tim Cook deserve credit.

I would argue that broadening Jony Ive’s design oversight to include software in addition to hardware was a mistake as big as putting Cue in charge of the App Store. The software side of Apple’s user interfaces—especially on iOS, which isn’t as hardened by long tradition as on the Mac—has become steadily more cryptic under Ive’s control. Some of this is due to Apple’s need to squeeze more functionality into the OS, but Ive hasn’t been up to the task of melding the new functions into the UI in a consistent and discoverable way.

To me, Ahrendts’s five years in charge of Retail has been similar to Ive’s time as Chief Design Officer. The Apple Stores look better than ever, but they don’t work as well as they used to. No one I know looks forward to going to an Apple Store, even when it’s for the fun task of buying a new toy. No doubt a lot of this is due to Apple’s success and the mobs of people milling about,3 but Ahrendts didn’t solve the problem of efficiently handling the increased customer load.

I hope O’Brien’s background in operations will lead to improvements in the flow of people through the Stores. If so, we’ll look back on her appointment the way we look at Schiller’s installation as head of the App Store, an example of Tim Cook’s slow but successful wrangling of a problem that arose out of Apple’s growth.


  1. It’s very Apple-like to call their HR division People. 

  2. Are all of those Sales Workers in Apple Stores? I don’t know, but I bet it’s close to all of them. And I suspect a fair number of the Technicians in that table are in Apple Stores, too. 

  3. No one goes there anymore, it’s too crowded. 


[If the formatting looks odd in your feed reader, visit the original article]


A Hard Day’s Night

Permalink - Posted on 2019-02-05 02:54

A few weeks ago, I was on a podcast with the folks at The Incomparable, talking about two very different musicals: Gold Diggers of 1933 and A Hard Day’s Night. If you’re an Incomparable member, you had a chance to listen to the raw version right away; if not, the edited version was released for the rest of the world yesterday.

Because the focus of the podcast was on the movies, we didn’t spend as much time on the songs as we could have. That’s probably for the best with Gold Diggers,1 but left me wanting to say more about Hard Day’s Night, the title track in particular.

The story of how it got written is pretty well known. Filming of the movie was going well, the songs that John and Paul had written were of their usual high quality, but the movie didn’t have a title. John suggested A Hard Day’s Night to the producer, Walter Shenson, and both he and director Richard Lester loved it.

The phrase was not original with John. It was something he’d heard Ringo say after an all-night recording session, and he’d tucked it away in his wordplay-loving brain, waiting for a chance to use it. In fact, he had used it in the “Sad Michael” story in In His Own Write, published shortly before filming started.

Sad Michael

The book is shown in the movie, and, famously, John isn’t in some of the cathartic “Can’t Buy Me Love” sequence (the sequence all of MTV was based on) because he was off promoting it. Lester covered this up by donning Beatle boots and filming with a hand-held camera from John’s point of view.

With the title of the movie chosen, Shenson wanted a new song to go with it, something to be played over the title sequence. John wrote it pretty much overnight, something that’s always presented as amazing, but it really isn’t. Music was simply pouring out both John and Paul during those early years.

To me, “A Hard Day’s Night” is just about the peak of this period of Beatle songs. The opening chord, and the mystery of exactly how they got it, has been the basis for hundreds of blog posts and YouTube videos, but I’ve always felt that what makes the song great is how well it uses the different strengths of John and Paul’s voices.

Paul’s part (chorus? middle eight? the Beatles were always playing around with structure) is so perfectly written for his voice that you’d think he wrote it himself, and yet I’ve never seen this listed as anything other than a fully John-written song. I guess it comes from the two of them living in each other’s pockets for the previous six years or so. Anyway, this part absolutely soars and is something John couldn’t have sung with anywhere near the same effect.

And it’s not just the notes, the words fit Paul’s persona, too. Unsurprising, I suppose, as some of them were a direct steal from the mostly Paul-written “Hold Me Tight,” recorded just four or five months earlier. But even the unstolen words—everything seems to be right—are just so Paul.

And John’s part is so John. His profession of love is not unalloyed as Paul’s is; it comes tinged with complaints. Working like a dog to get you money to buy you things. He takes advantage of the stringent, almost whiny quality he can get out of his voice to give the song an edge. I also love the way he uses “work” and “worth” to get an extra rhythm—an entirely verbal rhythm, no relationship to the beat of the song—in the second verse.

Where it all comes together is at the end of Paul’s second chorus. His voice rises up those eight bars to that intense tight… tight, yeah! ending, and on the yeah, John comes in underneath with that groaning cross between oh and uh, bringing the song back down to earth and kicking off a repeat of the first verse.

It’s just perfect.


  1. Apart from “We’re in the Money,” which is a truly great song, especially the seldom-remembered lyrics that put it squarely in the Depression. 


[If the formatting looks odd in your feed reader, visit the original article]


Shut it

Permalink - Posted on 2019-02-02 16:39

I got a Raspberry Pi 3 Model B for Christmas and finally started using it. If “finally” seems like the wrong word, I will clarify: I’m not talking about the Christmas a month ago, I’m talking about the Christmas 13 months ago.

I bought a power supply, case, and microSD card for the Pi right away, but I never got it up and running. I dithered so long because I couldn’t decide what to do with it. My first thought was to set it up to run the Wolfram Language, which can be installed and run for free (for non-commercial use) on the Pi. That’s still kind of appealing, but I’m more interested in learning R and ggplot (to that end, Kieran Healy’s Data Visualization was recent Christmas gift to myself).

Then I thought about using the Pi as a Homebridge server, but that would mean committing to a bunch of smart devices in my house, and although I’m kind of interested in hearing other people’s experiences in home automation, I’m not sure I want to do it myself. I’ve never felt it burdensome to flip a light switch.

I could always set up the Pi as a general-purpose server to do command-line things from my iPad via Prompt. I already have that, though, because both of my iMacs (home and office) run continuously and have the tools I like already installed. Rosemary Orchard has an interesting variation on this: a Pi she travels with as a portable server for times when she doesn’t have good internet access. But for that I’d need a Pi Zero W; mine doesn’t have WiFi.

Update Feb 2, 2019 4:01 PM  Apparently my Pi does have WiFi, even though most of the setup guides I’ve seen for it discuss Ethernet connections only. Even so, if I were going to travel with a Pi, it’d be the tiny Zero W.

A couple of weeks ago, Nathan Alderman was on a Slack channel I visit, talking about installing an internet ad-blocking service called Pi-hole on his Mac mini. He was having some trouble with its configuration because Pi-hole is more easily installed in its native environment, a Raspberry Pi. I’d never heard of Pi-hole before, but it seemed like a perfect fit for my dust-gathering Model B. Last weekend, I spent about an hour and a half setting it up on my home network, and it’s been successfully blocking crap from my devices ever since.

There is an ethical issue to using an ad blocker. People who want to make a living creating things on the internet should be paid for their work, and advertising is the most common way to get paid. And I’m not offended by the presence of advertising on other media. Newspapers, magazines, radio, and TV have always had ads, and I don’t go out of my way to block them. But when I’m looking at a newspaper while eating breakfast, the newspaper doesn’t look back at me, taking note of the cereal I’m eating, the clothes I’m wearing, and whether it looks like I’ve put on a few pounds recently. Internet ads do, and it’s that—along with the invisible trackers on so many sites—that offends me. So I’ve used ad blockers despite my qualms.

Pi-hole differs from browser-based ad blockers in that it works at the network level. It acts as a local DNS server that simply doesn’t serve content from sites on its block list. So the voluminous cruft associated with so many modern websites doesn’t even get to your browser to be sifted through. And a single configuration works for all the devices on your network.

I followed these instructions, which start at ground zero and take you through the entire configuration of both the Raspbian OS and Pi-hole itself. There are a few places in process where you’ll have to do a small bit of thinking on your own:

  • After using a desktop or notebook computer to flash the OS onto the microSD card, you’ll have to mount the SD card on your desktop OS and add an empty file name “ssh” to the root directory of the card. This will give you SSH access to the Pi from any computer on your network. On a Mac, the mounted card will be found in the /Volumes directory, and its name should be obvious. Open Terminal, cd into the card’s directory and run the command touch ssh.
  • To SSH into the Pi (after you’ve put the microSD card into it, connected it to your network, and powered it up), you’ll need to know its IP number. I found it by running the Eero app on my iPhone and scrolling through the connected devices list.
  • The Pi-hole configuration process has more questions than are listed in the instructions, but generally you should accept the defaults. I got the upstream DNS providers (what Pi-hole passes queries off to after it’s done its filtering) from the Advanced Settings section of the Eero app’s Network Settings. Also, I set my Pi’s IP address and gateway manually so it would have a permanent IP number instead of one that could be reassigned by the router through DHCP.
  • At the end of the Pi-hole configuration, you’ll be given a password for the admin web interface. Write it down and put it into whatever system you use to hold your passwords. The Pi-hole admin web interface can be reached at http://<ipnumber>/admin

After configuring Pi-hole, reboot the Pi; you should have a functioning ad blocker.

To test it, I changed the DNS settings on my iMac to point to the IP number of the Pi and tried out several pages. It worked for a while and then I did something I’m still not sure of that killed the WiFi connection. It wasn’t a problem with the Eero, as all my other devices were still connected. I rebooted the iMac, its WiFi connection came back, and I haven’t had any trouble with it since.

With a successful test under my belt, I took the big plunge: changing the DNS settings in my router to point to the IP address of the Pi. That required a reboot of the Eero. When it came back, ads were blocked from all of my devices. And my wife’s, too, which led to some difficulties.

First, she couldn’t follow links from Twitter on either her iPhone or iPad. I assumed this had something to do with the t.co domain that Twitter uses for links in tweets. That turned out to be correct, but what was weird was that I could follow those links from all of my devices. I looked in her settings and mine but couldn’t find any reason for this. Going to the Pi-hole admin page and adding t.co to its whitelist solved the problem.

But that got me thinking that other services she uses might be blocked. The people who set up blocklists for Pi-hole, I figured, are probably very militant and will block more than a normal person will want blocked. I was particularly concerned with Instagram and Facebook; Pi-hole could make them unusable.

So we started with Instagram. My wife went to her timeline and started clicking links to see what worked and what didn’t. Most links worked, but a couple didn’t. I looked at the ones that didn’t and they were definitely the kinds of quasi-advertisements that Pi-hole adherents would want to block. “Yeah,” said my wife, “but my friends post these and I like to see them.”

I realized right then that Pi-hole wasn’t going to work network-wide. We didn’t bother checking links in Facebook or, god forbid, Pinterest. I reset the Eero to go back to using my ISP’s DNS servers, and then set the DNS on all of my devices to point to the Pi. This isn’t what the Pi-hole folks intended, but it works perfectly for us. I get the blocking I want, and my wife doesn’t get the blocking she doesn’t want.

In the week since setting up Pi-hole, I’ve had to add only one other domain to the whitelist: bit.ly. I guess I understand why a service that hides what you’re clicking on could seem nefarious, but that’s too severe even for me.

Here’s what the Pi-hole admin dashboard looks like:

Pi-hole admin page

Early on, I added a recommended set of blocklists, thinking it would overwrite the defaults. Instead, it added to them, and I think there are a bunch of duplicates in that 1.6 million figure in the red box. Now that I understand the system a little better, I’ll probably delete all the blocklists and start over with a fresh set.

Overall, I’m pleased with Pi-hole. It was easy to get started and has given me no trouble since I finalized its setup. I’m not sure I’d buy a Pi specifically for it, but it’s a nice service to add if you already have one.


[If the formatting looks odd in your feed reader, visit the original article]


New Apple graphs

Permalink - Posted on 2019-01-31 05:46

It’s a month after the end of a fiscal quarter and time for another round of graphs showing Apple’s performance. As always, you can get a full meal of graphs from Six Colors and MacStories. Here, you’ll be served an amuse-bouche.

The big difference this quarter is that Apple’s report no longer contains unit sales for its devices. As it’s unit sales that I’ve been graphing for the past few years, I had to either give up or figure out a new set of graphs to produce. I chose the latter, but I’m not sure if I’ll keep doing this every quarter. Generally speaking, I don’t find the money Apple makes as interesting as the devices it has out in circulation. It’s the devices that change the world, not Apple’s bottom line. On the other hand, revenue is certainly related to device sales, and moving from unit sales to revenue allows me to talk about services, which are becoming a larger part of the Apple story.

Whatever I decide to do in the future, here’s how I looked at the data for Apple’s holiday quarter. The first thing to know is that Apple breaks down its revenue into five product categories:

  • iPhone
  • Mac
  • iPad
  • Wearables, Home, and Accessories (which I will call Other, as Apple used to)
  • Services

The first three are our old friends, the fourth is a lumping together of all the other hardware Apple sells—Watches, AirPods, HomePods, and so on—and the fourth is the category Tim Cook flogs every chance he gets.

It doesn’t take much analysis to realize that none of the latter four categories comes anywhere close to the iPhone as a revenue generator.1 The iPhone accounts for about 60% of Apple’s income, so I decided the best way to start the presentation of the quarterly results was to aggregate the latter four categories and display that alongside the iPhone.

Apple revenue

There’s a lot in here, so let’s go through it piece by piece.

First, Apple’s fiscal year starts at the end of September of the previous calendar year, and I think it’s easier—especially if you want to compare Apple’s performance with the release of products or the introduction of new services—to deal with dates in the regular calendar we all use. So I plot things by calendar year.

Second, I got into this Apple graphing business because I found it difficult to interpret graphs of raw quarterly data. Most of Apple’s sales are so strongly seasonal that it’s hard to see trends unless the data are smoothed. I chose a simple moving average smoother; the smoothed data are calculated by adding the current quarter’s revenue and those of the previous three quarters and dividing that sum by four. The thick solid lines shown in the graph are these moving averages.

Next, the raw revenue figures are plotted as points. In the graph, these are smaller and somewhat muted in color so they don’t detract from the moving averages. I’ve plotted them as dots at the middle of the quarter to which they apply and have connected the dots of the most recent quarter in previous years with a light dashed line. This gives a sense of the year-over-year change.

Finally, Apple just made a change to the way it assigns revenue to the five categories, and it’s published an explanation that also recalculates the revenue in those categories for the four previous quarters.2 Here’s what Apple says:

Starting in 2019, in connection with the adoption of the new revenue accounting standard, Apple will classify the amortization of the deferred value of Maps, Siri and free iCloud services, which are bundled in the sales price of iPhone, iPad, Mac and certain other products, in Services net sales. Historically, Apple classified the amortization of these amounts in Product net sales consistent with its management reporting framework. As a result, the 2018 net sales information has been reclassified to conform to the 2019 presentation.

In a nutshell, by reclassifying some portion of the sale price of its devices as going toward Maps, Siri, and iCloud, Apple has boosted its services revenue by about $640 million per quarter. As a consequence, it has reduced the quarterly revenues for the iPhone ($450 million), the Mac ($70 million), the iPad ($110 million), and the other devices ($10 million).

Thus, comparing revenue figures before the 2017 holiday quarter to figures after that quarter is not an apt3 comparison. The Six Colors crew have done their best to account for this change by estimating how Apple would have presented its revenue figures using the new system for all of the previous quarters, not just the most recent year’s. I decided to avoid the perils of estimation by using shading to partition the graph into two sections, one for the old accounting method and one for the new. The reader is alerted to the change and can make their own judgments about comparisons across the section boundary.

On the scale of the graph above, the adjustment from the old method to the new would be barely noticeable. $450 million is less than one-quarter of the distance between the minor tick marks on the vertical axis, or about the diameter of one of the raw revenue dots. No big deal.

What is a big deal is the downward kink in iPhone revenue caused by the most recent quarter. It’s not just that Apple missed the estimate it made three months ago; it’s not just that iPhone revenue is down from the year-ago holiday quarter; it’s that iPhone revenue is down from the holiday quarter of two years ago. Unsurprisingly, Apple has been focusing on its overall revenue, which although down, is buoyed by the continuing upward trend of the non-iPhone revenue.

And speaking of non-iPhone revenue, let’s split that out into its four components. This makes for a nice graph, because they are all of comparable scale.

Non-iPhone revenue

On this scale, the $640 million that Apple has robbed from Peter to pay Paul is not insignificant. The Services revenue in the unshaded area would be noticeably below what I’ve plotted if we were still using Apple’s old accounting method. Still, Services is rightly considered Apple’s biggest growth category, even though it is growing at a slower rate than it was a few quarters ago.

Down further on the graph, we see that the iPad is about to be overtaken by Other, an ignominious position for what used to be the top dog of the non-iPhones. In fact, if we were to look at the raw revenue figures instead of the moving averages, we’d see that the iPad has come in below Other for the past two quarters.

But we can’t look at the raw figures because I didn’t plot them. Why not? Because doing so makes a mess.

Non-iPhone revenue mess

It’s not impossible to interpret this graph, but who’d want to? Plotting two aspects of four data sets that intersect one another is just too much at once. If we want to look at the raw data of these, it’s best to plot no more than two on the same graph.

You certainly can’t explain Apple in two graphs, but I think these do a good job of presenting an overview of the company’s progressions and regressions from the product side. One unaddressed problem with them is that they don’t account for inflation—something I didn’t have to worry about when I was plotting unit sales. Apple doesn’t account for inflation either, of course, but that doesn’t mean I shouldn’t. If I’m going to keep doing this, I’ll have to decide on an inflation index and a basis year.


  1. The same was true with unit sales, which is why I typically broke out the Mac and iPad sales into their own graphs. 

  2. Big thanks to Jason Snell for pointing me to this document. I could see in the consolidated financial statement that the previous year’s revenue figures had changed from the values reported last year, but I didn’t understand the changes until I saw the recalculations. 

  3. I will not use the phrase “apples to apples.” Even I have some dignity. 


[If the formatting looks odd in your feed reader, visit the original article]


My FileBrowser setup

Permalink - Posted on 2019-01-25 16:26

At the end of my last post, I said that after giving up on trying to use a Luna Display to view local Mac files on my iPad, I hit upon a way to use FileBrowser instead. It wasn’t a particularly profound discovery, but it’s made my setup at work run much more smoothly.

To summarize the last post, I often find myself in the lab at work wanting to look at photos or drawings stored on the iMac in my office. I bought a Luna Display, thinking it would be a good way to do this, but I found running Mac programs on my iPad a frustrating experience. The Mac way of doing things doesn’t work well without a mouse/trackpad and keyboard, and the iPad way of doing things isn’t supported by Mac software.

Enter FileBrowser. Or I should say “Re-enter FileBrowser.” I tried to use FileBrowser a couple of years ago for a similar task—I wanted access to photos on my iMac while in our conference room so I could display them on a TV via my iPad—but didn’t like the long delays and occasional disconnections that kept occurring. So FileBrowser sat on my iPad unused for a long time.

Then about a year ago, I read Federico Viticci’s article about potential replacements for Transmit, the file transfer app. Panic had just announced that they were halting development of the iOS version of Transmit because of low sales, and Transmit users (like me) would have to prepare for a time when an update to iOS would cause Transmit to stop working.1 To my surprise, FileBrowser was Federico’s top choice.

So I found the folder where I had tucked FileBrowser and gave it another chance, this time connecting via SFTP to a couple of servers, including the one that runs this blog. And it worked… fine. It wasn’t nearly as easy to set up or as cleanly designed or as pleasant to use as Transmit, but it was serviceable. The disconnections and delays I’d seen earlier when connected to my iMac over a local network didn’t seem to happen when connected to a remote server. Good to know, I thought, and went back to using Transmit.

It was only after my disappointment with working through a Luna Display that I thought again about FileBrowser. Maybe I should give it another chance.

So I did, but this time I used a different network connection type. When you create a new connection in FileBrowser, you’re presented with a list of connection types to choose from:

FileBrowser choice of connection types

When I first tried FileBrowser, I had selected the Computer/Network Drive, which led to another set of choices:

FileBrowser choice of computer types

From here I chose Mac, and FileBrowser then searched the local network for Macs. I selected my office iMac, entered my user name and password, and then had a connection that I could turn on and off with a tap. A connection that turned out to be frustratingly unreliable.

This time, after my success with SFTP connections to outside servers, I decided to choose the FTP option from the second list. That led me to this setup screen:

FileBrowser SFTP configuration

As I had learned when making the server connections in FileBrowser last year, this configuration system is not much different from starting an SFTP connection at the command line. Fortunately, I have some experience at the command line, so I knew the address field had to include a colon and a port number2 after the IP number and then the path to my home directory after that.

The user name and password fields are straightforward unless you use SSH keys to connect. If that’s the case, the password field should be the passphrase for your SSH key. The file with your private key must then be saved to FileBrowser’s private file area with a special name of the form

username.server.port.sftp

So for this connection (which is fake), the filename is

drdrang.192.168.1.1.2222.sftp

If you’re a Transmit user, you’re probably looking at this with shock and dismay. Panic makes all of this so much easier. FileBrowser’s way of setting up an SFTP connection is very much like editing a Unix configuration file. Inevitably, you will make some small, hard-to-find mistake the first couple of times you try it. Luckily, once you have a connection configured properly, you never have to do it again.

With the connection to my local iMac made, scrolling through a folder of photos is not unlike scrolling through the Photos app.

FileBrowser with grid view of photos in folder

You can use pinching to make the thumbnails bigger or smaller. Tapping on an individual photo brings it up in full-screen mode.

FileBrowser viewing one photo

Pinching also works here to zoom in on a particular area.

FileBrowser after zooming via pinch

Although these examples are JPEG files, all of this works with PDFs, PNGs, Numbers spreadsheets, Word documents, etc. Whatever can be displayed in iOS’s QuickLook will be viewable in FileBrowser.

The obvious question is why is FileBrowser working so well for me now when it didn’t before? That’s easy: I don’t know. But I can think of two possibilities.

  1. Two years of development made FileBrowser better since I first used it.
  2. The SFTP connection I’m using now is simply more reliable than the SMB connection I was using before. SMB is a Microsoft protocol that isn’t always reliable even when connecting a Mac to a Windows computer.

These are not mutually exclusive.

I suppose I should try again with the connection I used two years ago to see if it still gives me problems. Don’t hold your breath. When I’m working in the lab, I need to concentrate on the hardware on the table in front of me, not the software in the air around me.


  1. So far, this hasn’t happened, and I’m still happily using Transmit. 

  2. The standard port for an SSH connection (which is what SFTP runs over) is 22, but many people, including me, configure their SSH server to use a different port number in hopes of cutting down slightly on the number of outside attacks. This is no substitute for real security, but it doesn’t hurt. 


[If the formatting looks odd in your feed reader, visit the original article]


A few days with the Luna Display

Permalink - Posted on 2019-01-20 15:57

A couple of weeks ago, I bought a Luna Display. It worked fine, but it didn’t feel comfortable doing what I’d bought it for, and I returned it after a few days. I learned in those few days that I don’t like running Mac software on an iPad, especially an iPad without a hardware keyboard.

If you know about Squarespace web hosting, Away luggage, and Casper mattresses, you’re familiar with the Luna Display. It’s been a ubiquitous sponsor of Apple-centric podcasts for months, so you know it’s a little plug that pops into the USB-C or Mini DisplayPort on your Mac and allows you to use your iPad as a sort of controllable monitor.

Luna Display dongles

If you want to supplement what you’ve heard on podcasts and what you can read on the Luna site, T.J. Luoma has an excellent writeup on his Luna Display configuration, including some practical tips he’s picked up as he’s gained more experience with it.

When I bought my Luna, I had a very particular use in mind, and it’s that use that informed my ultimate decision that the Luna wasn’t for me. I have an iMac in my office at work on which all my project-related files reside. Each project gets a folder (in Dropbox so I can also get them easily on my home iMac) and a bunch of subfolders for drawings, plans, specifications, and photographs of the machinery or building that the project is about. While I do most of my work in my office, inspections and testing of equipment are done in my company’s laboratory space, some 75–100 feet from my office. What I wanted from the Luna display was a quick and convenient way to refer to drawings and (especially) photographs from my iPad while I was looking at parts back in the lab.

With the photos on Dropbox, I could access them from the lab through either the Dropbox or Files apps, but latency was often a problem, as the iPad had to download each photo from the cloud before it could be displayed. I figured a local network solution, like the Luna Display, would solve the latency problem.

And it did. Photos viewed through the Luna software popped up on the iPad screen quickly because they were coming through a fast internal network instead of through a sometimes sluggish outside connection. Overall, I’d say the Luna Display worked exactly as advertised. But…

Because my iPad was acting as a Mac display, I was viewing the photos through Mac software, and none of the software I tried—while perfectly fine when run directly on the Mac itself—felt right when run indirectly on the iPad.

When I’m working on my Mac and I need to flip through a bunch of photos, I typically open up the folder in which the photos are stored and do one of two things:

  • Use Icon View in a full-screen Finder window with a large icon size so I can scroll through the photos in a Finder window. When I need to see more detail in a particular photo, I invoke QuickLook to get a bigger view of it.
  • Use a combination of List View and QuickLook, so I can see each image at a reasonable size while navigating from one to another with the ↑ and ↓ keys.

This system doesn’t work well on the iPad because its efficiency depends on keyboard shortcuts—the space bar to go in and out of QuickLook and the arrow keys to flip from photo to photo—and I don’t want to bring a keyboard with me into the lab. The value of the iPad in this situation is its compactness, the ability to set it up in a small space that doesn’t intrude on the inspection or test. You might think a keyboard wouldn’t take up enough space to get in the way, but it does.

There are other software options for viewing photos. Xee was the photo viewer I used to use a lot in the pre-QuickLook days. It’s a nice piece of software, and using it again during my Luna Display tryout has made me think I should go back to it (its ability to quickly show EXIF data very useful). But like the Finder/QuickLook system described above, it isn’t efficient without a keyboard and wasn’t a good fit with the Luna.

I also tried out Phiewer, which can give you both an overview of the photos in a folder like Icon View and a detailed view of an individual image like QuickLook. It has onscreen buttons for navigation—which is a waste of screen space for a Mac app, but a godsend if you’re running that Mac app on a keyboardless iPad—but it doesn’t allow zooming via pinching, and that just seems wrong when working on an iPad.

In fact, everything felt wrong when I was running Mac apps through my iPad. Buttons were too small, even when I tried tapping on them with the Pencil. Resizing windows was a chore; dragging felt off. I confess I didn’t spend time examining why the behavior just didn’t feel right, but it didn’t.

I use both my Macs and my iPad a lot, and while I don’t have any trouble switching between the two, I found it very annoying to be forced into using Mac-like actions on an iPad. This was surprising to me, as I have nearly 35 years of Mac use under my belt and only 2½ years of iPad use.1 But my immediate sense—a sense that didn’t change over the 4–5 days I used the Luna—was one of unease.

Would I have felt this unease had I been using the Luna Display in a more keyboard-centric manner? Maybe not. And I can see where people who are iPad-first users would find the Luna very convenient if they only occasionally need to be hands-on with their Mac mini server. But for my use, the neither-fish-nor-fowl behavior that the Luna forced me into was very inconvenient. It made me have to think about what I was doing instead of just doing it, and that got in the way of my real work.

The good thing that came out of my Luna Display tryout was that it made me think harder about a software-only solution to my problem. I finally learned of a way to use FileBrowser on my local network that was pleasant instead of teeth-grittingly frustrating, which was my previous FileBrowser experience. I’ll describe that in a later post.


  1. The 11 years of iPhone are probably a confounding factor in this comparison. 


[If the formatting looks odd in your feed reader, visit the original article]


Don’t fear the regex

Permalink - Posted on 2019-01-09 14:17

If you saw Jason Snell’s recent article on reviving an old podcast feed and skimmed past it because you don’t expect to ever need to revive an old podcast feed, you missed some excellent generally applicable advice within the specifics.

The real purpose of Jason’s article is to show you how to use simple software tools we all know—a text editor and a spreadsheet—to accomplish what would normally thought of as a “programming” task. Listeners of The Talk Show may remember an episode in which Jason and John Gruber discussed how both of them have done this many many times over the years.12

Although I do often write short programs for text munging, I typically resort to that only if the problem requires more than just large-scale text editing or if I expect to be repeating the process several times. And even then, I usually start out by playing around in BBEdit3 to see what searches, replacements, and rearrangements need to be done. It’s a convenient environment for getting immediate feedback on each transformation step.

(And if you expect to do a series of text transformations often and really don’t want to get into writing scripts in Perl or Python or Ruby or whatever, BBEdit’s Text Factories allow you to string together any number of individual munging steps.)

I will say, though, that one bit of “programming” you’ll find really helpful—and which Jason uses in his podcast feed example—is the building of regular expressions for searching and replacing. Simply put, regular expressions allow you to find patterns of text instead of specific text. For example, if you need to find all the US zip codes in a long chunk of text, you can’t go searching for a specific zip code, like “60606.” You have to look for a pattern: five digits, optionally followed by a hyphen and four more digits.

Regular expressions allow you to build these patterns by using placeholders for generic character types (like digits), repetitions, and options. Unfortunately, for historical reasons, these placeholders consist of normal ASCII character strings like \d, *, and ?. This has the unfortunate effect of terrifying newcomers when they see something like

^\d{5}(-\d{4})?$

described as a simple regex, something I have probably done dozens of times.

Even worse, people who are thinking they should start using regular expressions often hear about this great book on the topic and have a natural reaction when they see it: A 500+ page book to learn how to search for text? No thanks.

This is too bad, because while Friedl’s book is great, it’s called Mastering Regular Expressions for a reason, and that reason is not because it’s a tutorial. My recommendation for a tutorial is the one I learned from over 20 years ago: the “Searching with Grep” chapter4 in the BBEdit User Manual. I believe it was largely written by a young guy named John Gruber.

The nice thing about regular expression syntax is that it can be learned a little bit at a time. You can be productive right away knowing only a few regex constructs. Even people who have been using regexes for ages tend to use just a dozen or so patterns, bringing out the more obscure ones only when they have a particularly tricky problem to solve. A good way to pick up new regex knowledge in small portions is to follow John D. Cook’s @RegexTip Twitter feed.

You may have heard that there are regular expression “flavors,” different regex syntaxes used by different programs, and been put off by the potential for confusion. Don’t be. There are different flavors, but that won’t have any practical effect on your learning until you’re an expert. Every program you run into nowadays uses the “Perl-Compatible Regular Expression,” or PCRE, syntax. Only very old programs use different flavors, and by the time you find yourself using them—if ever—you will be well-equipped to handle the variation.

And before anyone on Twitter can do it, I’ll bring out the obligatory Jamie Zawinski bon mot:

Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.

Don’t be led astray by this, either. Only a person who’s used regexes a lot, and successfully, would make this kind of joke.


  1. I would link you to that episode, but the episode descriptions in the TTS archives aren’t detailed enough for me to find it. I know it isn’t the most recent episode, even though they talk about BBEdit in it, because I haven’t listened to that one yet. 

  2. But in looking at the links for the most recent episode, I see that they do talk about the Studio Neat and Fintie carrying cases for the Magic Keyboard, so I need to move it up in my overflowing podcast queue. 

  3. Whatever text editor you’re comfortable with will do. Ten years ago, I would have been using TextMate. 

  4. “Grep” is the name of a Unix command that uses regular expressions for searching through files. I have always believed—but never confimed—that Rich Siegel used the term “grep” instead of “regular expression” because the shorter word fit better in BBEdit’s Find dialog box. 


[If the formatting looks odd in your feed reader, visit the original article]


Dates with Siri

Permalink - Posted on 2019-01-08 05:25

This morning, Casey Liss tweeted out a complaint about a typical Siri stupidity:

Silver lining of Apple’s focus on services: maybe Siri will actually… work? 🤨



  — Casey Liss (@caseyliss) Mon Jan 7 2019 6:38 AM CST

This was a bit of a shock to me, not because I thought Siri was smarter than this, but because I had been collecting similar Siri screenshots concerning dates and times for a few days and was planning to write a post about it. This post.

Before I get any further, let me tell you that some of what I’m going to say here was already covered by David Sparks in this post from almost six years ago. This was just a year and a half after the “beta” introduction of Siri with the iPhone 4S, and David was pleased with what Siri could do. I like a lot of what Siri can do with dates, too, but there are still some frustrating blind spots and inconsistencies. In fact, with one of David’s examples, Siri isn’t as convenient as it was six years ago.

Context has always been one of Siri’s weaknesses, and that’s where it failed Casey. Any normal human being would understand immediately that a question asked in January about days since a day in December is talking about the December of the previous year. But Siri ignores (or doesn’t understand) the word “since” and calculates the days until the next December 18.

If you take care to give Siri the full date, it gives the right answer:1

Siri days since full date

You might think—which is to say, I originally thought—that Siri defaults to the current year when the year isn’t given in the question. You would be wrong. Take a look at this, a question I asked today:

Siri days since partial date this year

Apple would argue that Siri is forward-looking technology.

One bit of date math on which Siri has never failed me is getting the day of the week for a given date. I use this quite often at work, especially when the date in question is years in the past and flipping backward through a calendar app would take too long.

Siri day of week

For dates well in the past, I would never think of not including the date, but for dates later in the current year, I would. Siri handles them well:

Siri day of week partial Mar 5

What about a day earlier this year?

Siri day of week partial Jan 1

That’s good. But it’ll screw up a date last year, right? Wrong.

Siri day of week partial Dec 17

And what if I change the tense of the question?

Siri day of week partial upcoming Dec 1

Suddenly, Siri is a master of context. I am at a loss to explain why.

In my experience, Siri is good at figuring out dates some interval away from a given date:

Siri days after given date

Siri days before given date

I can’t really blame Siri for thinking I mean this year when I ask about a date after December 17:

Siri days after Dec 17

Here’s the question for which Siri has lost some of its intelligence:

Siri days between two dates

Six years ago, Siri answered this kind of question correctly for David Sparks. Interestingly, it gave its answer in the form of a Wolfram Alpha page:

MacSparky date answer

Steve Moser suggested using the “Wolfram Alpha trick” to answer Casey’s question:

@drdrang @caseyliss That is why you use the Wolfram Alpha trick (you’ve probably seen it but just in case).



  — Steve Moser (@SteveMoser) Mon Jan 7 2019 9:12 AM CST

Personally, I think it’s easier to just include the year for that type of question, but the Wolfram Alpha trick is the only way I know of to get the number of days between two dates.

Siri and Alpha days between two given dates

Similarly, Siri can’t give you elapsed time within a day by itself,

Siri minutes between times

but it can through the Wolfram Alpha trick:

Siri and Alpha minutes between two given times

Take care how you phrase this question, or you’ll get the dreaded “here’s what I found on the web” answer:

Siri and Alpha time between two given times

The upshot is that Siri can be good at date and time math, but it needs the right syntax. Not surprising for a computer program, but not how Siri has been promoted by Apple.


  1. My examples are for December 17 instead of Casey’s December 18 because that was the date I had already been using in my exploration of Siri’s date capabilities. It was the date of a client’s email that I wanted to refer to in later message, and it was my asking Siri a question very much like Casey’s that got me started on this exploration. 


[If the formatting looks odd in your feed reader, visit the original article]


Z key followup

Permalink - Posted on 2019-01-06 16:43

As long as I’m following up on the condition of Apple hardware I’ve broken, I should mention the broken Z key on my Magic Keyboard. This is the keyboard I use with my 9.7″ iPad Pro, and it travels, unprotected, in a narrow compartment of my backpack next to the iPad itself.

Back in the summer, I returned from a business trip and found this damage when I pulled the keyboard out of the backpack:

Well, crap. Anyone know the best way to pop this back on? It’s a recent Magic Keyboard.



  — Dr. Drang (@drdrang) Wed Aug 1 2018 7:25 PM CDT

I don’t know whether it broke as I slid it into the compartment or as I slid it out, but it obviously caught on something and got pried off.

I ordered a replacement key from LaptopKey.com. It cost about $7.50 with shipping and arrived a few days later. I popped it in place and it worked.

Replazement key zeemz to be working well. Not az zpringy than the original, maybe, but zertainly workable.



  — Dr. Drang (@drdrang) Mon Aug 6 2018 6:01 PM CDT

(Why did I use the illiterate construction “Not az zpringy than…” instead of “Not az zpringy az…”? Probably because the sentence started life as “Less springy than…”, and I didn’t read it carefully after the rewrite. It’s a fine line between clever and stupid.)

If this weren’t the Z key, I’d be more careful about saying it works. It doesn’t have nearly the snap as the original key and feels distinctly different (worse) than all the other keys. If it were a key I used a lot, I’d be disappointed in its behavior and would have gone hunting for another replacement. But being one of the least-used keys, it’s fine.

I’ve been more careful with the keyboard since then. Eventually, I’l get a Studio Neat Canopy or this less expensive Fintie Carrying Case that Federico Viticci mentioned in his magnum opus on the new iPad Pros.

The springiness of the Magic Keyboard keys, by the way, comes from a rubber dome that holds the key up at rest and undergoes snap-through buckling when you press down on it. Snap-through buckling—with diagrams, equations, and charts—is discussed in my favorite blog post.


[If the formatting looks odd in your feed reader, visit the original article]


AirPod update

Permalink - Posted on 2019-01-03 03:13

Back in November, I had a little problem with my AirPods:

AirPods (in their case) went through the wash yesterday. At first they worked, but after charging they just make a descending marimba sound when I put them in.

New pair now or wait to see if the rumors of an impending release are true?

  — Dr. Drang (@drdrang) Sat Nov 17 2018 7:19 PM

Because they worked before they needed to be charged, I had some hope that the problem was just with the case and that the earbuds themselves were OK. I made a Genius Bar appointment in early December, had them checked out, and my hopes were fulfilled. Instead of having to shell out $150 for a whole new setup, I walked out of the store with my old earbuds, a new case, and a charge of “only” $70 on my credit card. An expensive mistake on my part, but not as expensive as it could have been.

(A month later, I see that Apple’s lost chance for another $80 of my money has had dire consequences. Sorry, Tim.)

In other AirPod news, my daughter gave me a leather cover for Christmas.

AirPods case cover

You might not think a case needs a cover, but I do. I keep my AirPods in my right front pocket, along with my keys, a pen, and anything else I need to carry temporarily.1 My old case had picked up stains, and the cover is a good way to keep my new one clean.

The one problem with the cover was that the leather on the back side, which folds over when you flip the top of the case open, was too stiff and would close the top when I took my fingers off it to pull out the pods. The solution was a slight modification of the technique I learned as a kid to break in a new baseball glove: I folded the top of the cover back on itself and held it that way with a rubber band for a day. Worked like a charm.

Softening the hinge line with a rubber band


  1. My left front pocket is for my phone and nothing else. 


[If the formatting looks odd in your feed reader, visit the original article]