All posts by Jeffrey J. Early

My Mac History

Which Macs have I owned?

Apple IIe—I was born in 1980, the computer was introduced in 1983; I’m not sure when my parents acquired the machine, but it was basically always around in my memory. I first cut my teeth on this machine playing Zork and programming in Basic—I was also quite proud the first time I won at Strip Poker.

Macintosh SE/30—Technically the SE/30 was a family machine as well, but it was also my first introduction to a Macintosh. I started using System 6, and remember hating multitasking when it was introduced in System 7. I learned to program with Hypercard and C, dial up with 1200 baud modems, connect to BBSs and the VAX at the university using Red Ryder and later White Knight.

Macintosh Plus—This would seem out of order, but we were given a hand-me-down Macintosh Plus which I put in my room and basically still able to do many of the same tasks. 

Centris 660AV—First computer I ever purchased with my own money. It was November or December 1993. The video capabilities were amazing, and took nearly a decade to be surpassed in many ways. I played Myst and Bungie’s Marathon on this machine.

Beige G3—Bought this before heading off to college in 1998. Man was it a PITA to get Mac OS X running on it, but hey, I did it. And we ran watrailblazers.org on it out of the basement I was living in 2001-2002.

PowerBook G3 (Pismo)—best laptop ever, purchased in 2000 before living in Germany for a year. Went up in flames on Christmas day 2005. Yes, it literally started smoking and then died. This was the first time I started programming with Carbon APIs on the classic Mac. I also ran some linux distro while I was working in a biophysics lab in 2000 so I could use AFNI for MRI scans.

PowerMac G5—purchased in 2003 while in graduate school, it died in 2009 when it started frying sticks of RAM one-by-one. More importantly, this is the machine that I logged 30 hours on the phone with Apple Support shortly after I got it due to a video issue. They replaced parts one by one (literally had a guy drive to my house to do this) but they eventually gave up and replaced the whole machine.

MacPro (Early 2009)—purchased in 2009 after my G5 went under. This computer actually stayed functioning until I moved on…

iMac 27” Retina—purchased in 2015 after I reorganized my storage situation (moving all my hard drives to a NAS).

So, if you don’t count the laptop in there, my time with each machine is 5-6 years. The computer I get in 2020 is going to be awesome.

Note on Core Data concurrency

After enabling the CoreData concurrency debug argument, -com.apple.CoreData.ConcurrencyDebug 1, I quickly learned that I was doing everything wrong with the new concurrency model. So here are my notes on what’s really going on with the new model.

So first, parent-child contexts. The basic idea is that a child context treats its parent context as the persistent store coordinator, albeit an in-memory one. So, a child context saves its data to the parent. That’s it. The parent is ignorant of the child, until the child hands it some updates.

The main queue and private queue concurrency types simply wrap around gcd queues of the same type. So, if you initialize a context with the main queue type, then you must either 1) give it operations with performBlock: or, 2) message it directly when are on the main thread. A private concurrency type has one choice: give it operations with performBlock:. The second option doesn’t exist because you’ll never (knowingly) be on the same thread as its queue.

The thread-confinment concurrency type is still useful, because its often the case that you will do a whole bunch of processing on one thread. In this case, you might create an NSManagedObjectContext for the purposes of importing.

Even creating a new object (inserting it into a managed object context) requires 1) doing it on the main thread with the main thread context, 2) doing it within a performBlock: or 3) doing it in thread confinement. The third option may be the most natural in some scenarios.

A nice usage scenario thus to tie a private context to a persistent store coordinator, and then make a main queue child context tied to that. Important some new objects can thus be done on a private context that is a child of the main queue context. Saving this new private import context will push changes straight to the main UI thread without hitting disk. This might be exactly what you want. Subsequently saving the main UI thread will push everything up to its parent, the top level private thread, which can then be saved without block the main queue.

iPad Air has the best screen size to weight ratio on the market

Early this year I gathered some statistics for the screen size to weight ratio of many of the tablets on the market at the time. The central idea with this metric is that you’d rather minimize the tablet weight, while maximizing its screen size, all else being equal. At the time, the iPad Mini bested the competition with a ratio of 10.4 grams per square inch, while the iPad 4 was one of these worst performers with a ratio of 14.7. However, today’s newly announced iPad Air now ties last year’s iPad Mini with ratio of 10.4 grams per square inch. The new iPad Mini Retina slips a bit to 11.2 grams per square inch by adding a mere 23 grams to its total weight.

The bottom line here is that the iPad Air almost certainly feels amazingly lightweight. I will update the my table from the previous post with some of the latest offerings later this week.

Superfluous fluidity

Via John Gruber, Rene Ritchie is taking a poll on whether or not iOS 7 causes motion sickness. I gotta say, that I totally agree and I think Apple missed the boat here by making too many things ‘fluid’. I generally think that iOS 7 is a fantastic upgrade, but that this is a UI regression. In particular, the bouncing around of the message bubbles in Messages drives me nuts. It looks quite unprofessional to me, and when combined with everything else wiggling about, it gets annoying quite quickly.

Vehicle miles driven per person is still declining

I really like the charts from Doug Short showing the total number of vehicle miles driven per person. The data starts in 1971 and shows a very steady increase in the number of miles driven per person for 36 years, until it peaks in 2005 and begins a decline. In terms of absolute miles driven in the country, a plateau is reached in 2007.

Both of these are interesting trends because it shows that we are undergoing a major shift in transportation in this country. That there had to be an upper bound on both trends is pretty clear, but a decline in miles driven per person? And why so sharp of a decline? Of note is that all of these peaks predate the recession.

Fake engine noises make people comfortable

I was just reading a NYTimes article about how the Jetta Hybrid goes to great pains not to feel like a hybrid, but instead ’embrace the internal combustion engine.’ Okay, fair enough. But then I read this little gem at the very end about the all electric Golf,

But then VW went a step too far. Instead of allowing the e-Golf’s inherently quiet cabin to be a desirable evolution of VW’s brand character in the electric car era, the company embedded a speaker in the e-Golf’s dash that emits an artificial engine sound that gets louder as the car accelerates at low speeds. At about 20 m.p.h., the speaker is silenced and the actual sound of the road takes over.

Oh boy. So, apparently the sound of a revving engine has become so emotionally intertwined with the thrill of driving for some people, that VW has to go so far as to fake it.

Screen size to weight ratio for tablets

After a friend and I were debating the merits of various tablets (iPad, Kindle, etc.) for reading and web browsing, I realized that there was a metric that I hadn’t seen compared between tablets: screen size to weight ratio. So, I took it upon myself to compile a list of a few of the major tablets just to get a sense of what this ratio looks like.

Before we get to the results, let’s be clear about what the goal here is. We are interested in finding a tablet specifically for reading and web browser, with a particular focus on the physical act of reading and hold it in your hand. So, for the purposes here, we don’t care about the details of the OS (which certainly matters!) and just focus on one or two physical attributes.

Imagine your ideally sized tablet to read on—maybe picture a piece of cardboard for the moment. How far away from your eyes would you hold it? What’s the ideal text size? How big is the piece of cardboard? How much can it weigh? The answers to these questions will vary between individuals, but we can deduce a few common answers.

First, most people will have a fixed font size at their ideal reading distance, assuming that the tablet is to be held or placed on the desk in front of them. This means that the size of the tablet is directly proportional to the amount of text that can be displayed on the tablet. Everyone will have a minimum tablet size they will tolerate because if the tablet is too small, it won’t display enough words, and a maximum tablet size because if the tablet is too large, it becomes cumbersome to hold (regardless of weight). If I gave you the exercise to cutout a piece of cardboard at the minimum tolerable size for reading at your ideal distance and font size, it would probably be larger than the iPhone 5’s 6.8 square inch screen. Now, this isn’t to say you can’t read a novel on the iPhone, it just says that it’s probably not ideal.

Second, we would all like that reading surface to be weightless. But, given that it’s not possible, we likely have a range of weight’s that we would tolerate. The current fourth generation iPad’s 662 grams may truly be too hefty for some people to comfortably hold and a read a book.

Finally, I think we can establish that people have a range of tolerances around their ideal reading surface size which include a minimum acceptable tablet size, maximum acceptable tablet size and a maximum acceptable weight. Given that, all else being equal, you’d like to maximum the screen size to weight ratio within those tolerances.

For this chart then I computed weight (in grams) to screen size (in square inches) of various tablets, and threw two phones into the mix just for comparison.

weight (g) size (sq. in.) weight/size density (ppi) width (pixels) height (pixels)
iPad Mini 308 29.6 10.4 163 1024 768
Galaxy Note 8 338 28.7 11.8 189 1280 800
Kindle Paperwhite 213 17.5 12.2 212 1024 768
Galaxy S4 130 10.7 12.2 441 1920 1080
Galaxy Note 10.1 590 46.1 12.8 149 1280 800
Nexus 10 603 45.5 13.2 300 2560 1600
iPad 662 45.1 14.7 264 2048 1536
Kindle Fire HD 8.9 567 35.7 15.9 254 1920 1200
iPhone 5 112 6.8 16.4 326 1136 640
Kindle Fire HD 7 394 21.9 18.0 216 1280 800
Kindle Fire 413 21.5 19.2 169 1024 600

A few observations:

  1. The most obvious take home from this chart is that the iPad Mini stands out as significantly better than the competition, while the Kindle tablets are significantly worse. Surprising, to me at least, is that the iPad Mini actually fairs better than the Kindle Paperwhite e-reader.
  2. I don’t think that the iPhone 5 or the Galaxy S4 would meet most people’s minimum screen size tolerance for a tablet reading device so I don’t think this metric is particularly relevant, but it is interesting to see how they both fall into the mix.
  3. The fourth generation iPad is really quite heavy for its screen size, not impressive at all.

A retina display is arguably the other most important physical attribute one would want from a tablet, yet none of the tablets that score the best weight/size ratio have retina displays. To me, this explains why tablets such as the iPad mini have faired so well—they excel at maximizing the size/weight ratio that tablets with a retina display can’t compete with yet.

Bike tax

The Washington State Legislature is has a descent new transportation bill in the works, but it includes a strange little $25 tax on bikes over $500. I wrote my legislator, who happens to be vice chair of the transportation committee, the following letter,

Rep. Luis Moscoso,

I would support the proposed taxation on bikes in the new transportation bill (currently proposed as a $25 flat tax on bikes over $500), but only if an equivalent tax is placed on cars. Given that vehicle weight is proportional to road wear, this suggests that a $25 tax on a 25 pound road bike would be equivalent to a $3500 tax on a small car weighing 3500 pounds. I suggest amending the proposal to taxing the purchase of *all* new road vehicles (cars, bikes, trucks) costing more than $500 at a rate of $1 per pound. That is the fair and equitable thing to do.

Despite an existing taxation on gasolines, this does not amount to dual taxation on car users, as the gasoline tax can be thought of as a carbon tax.

Thanks for your time,
Jeffrey J. Early, Ph.D.

Imagine the money we’d get if we taxed cars at the same rate as bikes in this proposal—it’d be fantastic!

John Broder followup

I had missed the NYTimes public editor’s followup to the Tesla battery saga I wrote about last week, but fortunately caught it via John Gruber. I’m going to quote the same piece of that article that he did,

My own findings are not dissimilar to the reader I quote above, although I do not believe Mr. Broder hoped the drive would end badly. I am convinced that he took on the test drive in good faith, and told the story as he experienced it.

I absolutely agree with everything in that quote, but the final point that “he told the story as he experienced it.”

A journalist attempting to accurately convey the story would have left me, the reader, with a very different impression than I had after reading the original article. The only reason I know this is because the followup information, including Broder’s own details in his followups, completely changed my understanding of the story. That pretty much proves that something was fundamentally wrong with the way Broder “told his story.”

Did John Broder lie?

John Broder’s recent account of driving a Tesla in the winter describes the monumental effort he went through to drive the all electric Tesla between charging stations, only to have the car’s battery die and have to be towed. The article prompted a damning response from Elon Musk, accusing Broder of largely faking the story, an accusation based on the GPS data and on board diagnostics. Broder’s rebuttal certainly diffuses some of Musk’s accusations, but not all.

The central question is whether or not John Broder’s account accurately represents his test drive. The answer for me is clearly no. When I read the original article, I summarized it to my wife by explaining that “electric cars just don’t do well in winter” and that this guy “turned off the A/C to the point of having cold feet, and slowed to 54 on the highway.” I also explained that the car “just wasn’t able to hold a charge in the winter, despite him trying to charge it.” Yet, none of my major summary points turn out to be true. Now that I know the whole story (and read the original article more carefully), it’s absolutely crystal clear that John Broder’s original article intentionally misled me.

The bottom line for me is that I felt duped. I read the original article and actually modified my opinion about the state of battery technology and the future of electric cars. I fully believed that the article was an accurate representation of the truth because I trusted the information source. Knowing the full story now makes me feel foolish for believing Broder.

The next part about this gets weird—there seems to be a divide between the mainstream media reports and bloggers/commenters/twitter users reflecting on those reports. Just look at the stories and the comments at NPR, the Atlantic and Slate, all of whom appear to circle the wagons around Broder, while simultaneously describing Musk as having ‘lost it’. Then go read the comments of those stories and a forum like slashdot. Completely different. Most frustrating is that even the editor the NYTimes goes so far as to set up a straw man,

I hope to post again Friday with some conclusions but for now, based on a day’s reporting, I will say this much: I reject Mr. Musk’s central contention that Mr. Broder’s Sunday piece was faked in order to sabotage the Model S or the electric-car industry.

Why is that a straw man you ask? The central issue is not Elon Musk’s conspiracy theory as to Broder’s underlying motivations. The central issue is whether or not John Broder’s account accurately represents his test drive. That is certainly the primary issue that reader of the NYTimes care about.

So did John Broder lie? Of course he did. His original article is a completely misleading account of the events, and even contains some outright lies to sensationalize the story. So is that a problem? Only for the NYTimes if they further entrench on this. They need to admit that the article was highly misleading and not up to the standards of the NYTimes, and then move on.

Update: CNN’s Peter Valdes-Dapena repeated Broder’s drive and didn’t encounter any problems, although without stopping overnight on the way.