There’s more to Jersey than the smells of the Turnpike

Why ex-Rutgers receiver Kenny Britt hates New Jersey really rubbed me the wrong way, so I compiled some photos I’ve taken on Rutgers property right down the road from his former stadium to illustrate the point that you can’t judge a place based on what it’s like to drive by it.

Rutgers

The Rutgers ecological preserve is 370 acres of mostly untouched wilderness (except for the areas that would already developed when Rutgers protected the rest and stuff like trail markers and bird houses). The ecological preserve doesn’t have a parking lot which probably helps keep it as untouched as it is.

DSC03263

DSC03271

DSC03490

DSC03504

DSC03508

DSC04397 copy

No use for Turbo Boost, bring on the Cores

Famous 2012 Mac Pro buyer Marco Arment has put together a list of probable Mac Pro CPU options. Marco ends his piece with recommending the 6 core as a probably sweet spot of cost, cores, and turbo. He’s probably right about that. But let’s pretend cost was no object (or Apple takes higher margins on the low end rather than the high end or some other crazy nonsense). If we’re just talking about getting the job done using only one processor, what kinds of tasks are likely to be hurt by having too many cores and a weaker turbo boost?

In my life: none. Even the most out of date things that render I still occasionally use (Final Cut Pro 7, other 32bit renderers) comfortably max out 4 threads when rendering. Everything else (Final Cut Pro X, Premiere CC, other 64bit renderers) all use at least 8 threads, which is all I can confirm on my dual quad 2.8Ghz 2008 Mac Pro and a Quad i7 retina MacBook Pro.

The most recent thing I did that took a while (20 minutes) that couldn’t’ve been improved by throwing more cores at it happened to also not be something that could have been made faster by a higher turbo, since it was only using about 10% of the CPU the whole time. It was a command line php script (that’s right) that took 2GBs of IIS log files and dumped them into a mysql table so I could get some analytics out of it. The bottlenecks were mainly disk IO (even though the logs were on my local SSD) and the minimum time for a SQL INSERT to execute (even with a persistent connection).

Another reason to prefer more cores, even if slower, is because there’s a lot of crappy software out there that you can’t get out of using. For whatever reason, Adobe updaters sometimes block and eat up 100% of a single [processor] thread. The more cores you have, the less collateral damage to processes that deserve the CPU. (If Adobe’s never going to get on the App Store train, they could at least use standard Installer.app .pkgs… that would be nice…).

On that note, giving virtual machines less than 100% of your physical cores to work with can help prevent them from locking up your entire system. Because I’m working on developing an Intranet right now, I have multiple Virtual Machines with various versions of Windows and IE constantly running, all quarantined to one or two cores and maybe a gig of RAM. The Intranet is also hosted by yet another local virtual machine. Although this causes my retina MacBook Pro to reach 160°F if I don’t use SMCfancontrol and/or a supplemental USB fan, performance never suffers except inside the virtual machines themselves as I only have so much RAM given to each of them. RAM is actually the lower ceiling on how many VMs I can run at a time.

When I’m not rendering anything, even with all those virtual machines sitting there serving and receiving http requests my CPUs are generally at least 90% idle. Whenever I do anything CPU intensive however, it likely is using as many cores as possible, so it’s only going to get a 133MHz Turbo per core, in which case, more is better. As I’m only used to maxing out 8 threads, I might be able to squeak by with the quad core model as long as I can affordably stuff enough RAM into it. Currently, Crucial is assuming this 16GBx2 kit will work and costs $439.99, making it $879.98 for the full 64GB, which IMO is a more worthwhile upgrade than going from 4 to 6 cores for the same price (though I’m sure it’ll be $2000 in Apple RAM prices).

Interestingly, going from 4 to 6 cores also gets you a GPU bump. If you dream of using the maximum of three 4K displays and still having enough VRAM available to do more than render the UI then going with the 6 core just for the presumably cost effective GPU boost is a no brainer.

This is a long way of saying it, but, as expected, Apple has provided a comparably “useless” entry level Mac Pro alongside one that’s much more cost effective, but probably still needs some BTO options. Now we wait to see how much those options actually cost piecemeal. I still want 8 cores because I like doubling things for updates, and my 2008 Mac Pro has 2 single threaded quad core cpus (8 threads), so an 8 core hyper threaded CPU would be 16 threads. And there’s no question I need ALL the RAM you can put in it, especially while I’m virtualizing my Sharepoint development servers on it.

Whatever the cost though, if you need the new Mac Pro to do your job, and you’re your own boss, don’t forget that development hardware is tax deductible, and maybe even eligible to be tax free in your state.

Flying Cryptids

v4vsq

Quetzalcoatlus had one of the largest wingspans in the entire fossil record, present animals included. Today’s estimates put its wingspan at 36 ft (we don’t have a complete skeleton) and estimates for its weight are between 120 lbs and 550 lbs. I had these numbers in mind as I watched countless documentaries on the paranormal and cryptids this Halloween week, which was a nice contrast from not having power due to Sandy last year at this time.

Using Quetzalcoatlus as a ruler, if something the alleged size of Jersey Devil or Mothman were to exist, they would require a similar 36 ft wingspan. For whatever reason, maybe comic books are to blame, people seem to think that a 6ft tall humanoid could fly with 6ft wingspan. New Jersey, West Virginia, and nearly every other part of the US and Canada with fresh water is home to a creature with such a wingspan: The Great Blue Heron, which at that size weighs less than 8 lbs. Virtually any owl explains sightings of forward-facing glowing red eyes.

Perceived iOS Device Thickness and Lightness

The biggest iOS device of all time was the iPad 3G at 13.4mm thick and 730 grams. The iPad Air LTE is 7.5mm thick and 478 grams. 7.5mm is only thicker than 4th and 5th generation iPod Touches (7.2 and 6.1mm) and the original mini (7.2). The iPhone 5/5S is 7.6mm thick. The retina iPad mini has “bloated” to the same 7.5mm as the Air, adding to their similarity.

Thickness isn’t the entire game of course. I found the iPad 2 to be “sharp” in my hands because of the shape. I actually felt it was a little uncomfortable compared to the iPad 1, which I always used caseless, but the iPad 2 I usually had smart-cover propped. Despite the iPad 3/4 being significantly lighter than the iPad 1, I found the 1 was more comfortable to hold too.

I have a spreadsheet of iOS dimensions and weight, and a calculated column of their “density” – their weight per volume. The original iPad with and without 3G are the least dense iOS devices Apple ever made at 1.10 g/cm3 and 1.18g/cm3. There’s a huge jump to the iPad 2 at 1.5. 1.5X is where all of the iPads are now, except the minis which tip 1.6X for retina and LTE models.

Density has a weird way of playing with our perceptions. A 10 lb weight is not much useful for a workout, and feels light and insignificant. A stack of 2 retina MacBook Pros at 9 lbs that you pick up with BOTH hands feels like it weighs a ton. (Tip: don’t stack laptops).

iOS Sizes.numbers

The New Old iPad

We were all pretty sure that this year Apple would offer the iPad mini at some price lower than the retina iPad mini 2. Then Apple deleted Slate (black) from all their products in exchange for Space Gray (for some reason my fingers want to type grey, like my tea). With the iPods, Apple didn’t update a single spec (not even storage) and just changed the pallet around. We were also caught off guard by the 5C replacing the year-old 5 at its price point instead of being cheaper. Then rumors started showing up that the iPad Mini 2 would need the A7. If that’s the case, is Apple really going to skip the A6 generation for iPads?

What if there’s an iPad Mini C

Scenario: Apple introduces the retina A7 Mini in Space Gray, Silver, and Gold, perhaps at a price bump up to $349 or $399; Touch ID, 64bit, less awful smart cover. Then, at $100 cheaper, or $299, Apple also introduces the iPad Mini C. The C is for comparison, not necessarily colors because I’m sure we would’ve seen the parts come out of China by now. This mini replaces last year’s mini. It might not have a retina screen, but it will have an A6 to help with the higher demand of iOS 7. No Touch ID, but it will gain the expanded LTE capabilities the iPhone 5C has over the original 5.

Going retina could lower the mini’s already low margins without a price increase, so a new low end product with better margins than the top-end product could help keep Wall Street happy. Surely the several years old tech in the A5 mini would be even more cost effective, but pushing it down to $229 seems like it would be difficult. I’m sure Apple would rather have their iPad minis at $299 and $399.

The Nexus 7 2 and Kindle Fire HDX make guessing price difficult. They may only get 7 hours vs 10 hours for a mini, but their 1080p screens are just so much better, even with Android’s very shitty stock typography on the Nexus. When this all started, Apple was so far ahead of the curve that no one could believe the original 10″ iPad was only $499 – a price point the Surface still has trouble chasing (since Microsoft intends to make a profit off the hardware). But Google and Amazon are willing to make their money indirectly through ads and ecosystems. Then again, I’ve never seen a tablet in the wild that wasn’t an iPad or an e-ink Kindle, ever, and I live in a University town.

Big iPads

With the iPad 2 and iPad 3/4 available at the same time, consumers had an interesting choice. They could spend more on the retina screen, but also had to accept more weight. The iPad 5 is supposed to be smaller and lighter than the iPad 3/4 and even the 2. So which old iPad do they keep around? The fat 4 because at least it has a lightning port?

I think the big iPad could be solved easier than the mini. No old iPad. 16GB now starts at $399. Simply shift the line.

iPods?

The iPod touch looks like it’s stuck on an every other year cycle now, which is a shame because the A5 doesn’t run iOS 7 as easily as A6s do.

The Surface Mini is already screwed

*** The Surface 2 announcements have been made since this post was written with no Surface Mini… but Fall isn’t over yet…

When Apple launches the retina iPad mini alongside 1080p Android tablets this Christmas season, Microsoft is going to launch a smaller 1024×768 Surface. It will have an otherwise good panel except for this resolution.

Unfortunately for Microsoft, Windows’ scaling only goes up to 1.5X. To serve the minimum point size of 1024×768, the Surface mini would be a mere 1536 by 1152, not quite the mini’s expected 2048 and the Nexus 7’s 1920.

Windows 8 does support scaling by 2x and even 3x, although if you turn these features on you quickly see they were meant for accessibility reasons only (the pointer uses low resolution graphics). If OS X is designed for 2X, Windows 8 is designed for 1.5X.

Rather than order a custom panel for a product that might not sell well, Microsoft could go with taller cuts of the Nexus 7 screen. 1920×1440@1.5X would be 1280×960. More logical room than any iPad, the ideal 4:3 shape for more content, more pixels than a Nexus 7.

Luckily for Microsoft, rumors are that they’re spending most of their R&D on keyboard cover and kickstand improvements instead of making a device that can stand alone, so the screen they pick might have little to do with why it fails again.

AT&T vs Verizon vs I 81

route81

If you vacation in the Thousand Islands region of New York State or visited Syracuse University then you’ve probably driven along the mostly straight highway hypnosis inducing Interstate 81. While there are a few somewhat urban areas along the drive, most of the time it’s small mountains or fields of grass. When you’re not in one of those urban areas that happen to have Verizon LTE, Verizon has practically no service. At best, its 3G operated at less than one mbps down. AT&T on the other hand had its often mocked “Pho G” HSPA+ (where it says 4G on the iPhone but not LTE) and was getting between 5 and 7 mbps down.

Areas around Rutgers get both AT&T and Verizon LTE with Verizon usually being faster and penetrating buildings better, but when I’m in the middle of nowhere NY or PA I’m happy my iPhones are on AT&T.

In praise of e ink

paperwhiteoutside

In the past, I have voiced my opinion that a daylight readable e ink iPod classic would make more sense than killing it or letting it stagnate with spinning HDDs. Last week, I’ve been using a Kindle Paperwhite while camping near the NY/Canadian border, and I have many good things to say about this limited use device, including its “Experimental Browser”.

I’ll start with my conclusions. If e ink’s refresh rate can reach anything close to the passive matrix displays of the first PowerBook, then I think we could have some seriously useful devices.

Aside from the frustratingly low refresh rate (and the heavy ghosting that comes with it) the browser actually renders quite well, even without using mobile websites (although they do make things easier). It does well with non-animated CSS3 too. Scrolling is understandably awful and I really think a tap-to-pagedown would have been much more useful. It’s not the digitizer’s fault, it’s just that e ink doesn’t do well scrolling content. Still, it was much easier to catch up on stuff using the e-ink browser than trying to use my iPhone in broad daylight, especially at the waterfront with no trees.

I used the 3G model, which uses AT&T GSM to access only the Kindle Store. I’m guessing Amazon pays for this with some sort of revenue sharing. It’s a shame they couldn’t also let a weather widget or something use it though. In the future, I’d like to see Amazon’s Silk browser technology enable use of the browser over 3G. I say Silk because it would let Amazon preprocess the pages, remove or greyscale images on their end, consolidate included CSS and Javascript, and send a single HTTP request over the 3G that’s as small as possible.

My point is this, e ink’s limitations can be designed around in software, and I would love to try.

Microsoft’s Secret Weapons

*** I can’t believe as I was posting this, Microsoft got sued by shareholders over Surface RT sales. ***

My love-hate relationship with Windows 8 is no secret. I admire the novelness and gutsiness of Metro, while I don’t find it personally useful or pretty. The desktop features (like better multiple display support) and more polished UI scaling are nice successors to Windows 7. They also added a simplified task manager that is literally Apple’s force-quit. Windows 8 minus Metro would be awesome.

But Metro doesn’t suck on phones, and I bet it won’t suck on small tablets. If Microsoft doesn’t can WindowsRT, I feel like they could be a lot more successful with a Nexus 7 sized SurfaceRT with pen. They would have to price pretty aggressively to achieve any traction. Which is not something they’re new to…

Behold, the Lumia 520

This is a $99 Windows Phone 8 phone. Not “$99 on contract”. $99 for the AT&T version and a SIM card with pre-paid plans advertised on it. I think the carrier unlocked one is $199. Since I never planned on activating it (and my iPhones are on AT&T if I ever wanted to try a SIM swap) I got the $99 AT&T one.

Getting start with the phone was a slight pain in the ass. First of all, it comes in wrap-rage packaging. I had a “hinge” at the bottom but for the life of my I couldn’t get it to open how it was “supposed” to so I just used a box cutter on it. Second, since I didn’t insert the SIM, it nagged me 3 times during the initial setup and asked if I wanted to make an emergency call. Then, it did something really stupid. It told me it needed to connect to the internet, and only gave me the option of adding a data plan. I had to finish the setup disconnected (including manually setting the date and time… what an archaic feeling) before I could give it my WiFi password. I then had to turn cellular data on (despite not having a SIM inserted) to get some (but not all) location based apps to work.

Spec-wise, the 520 isn’t much to get excited about. It’s a dual core 1Ghz processor with 512MB of RAM and only 8GB of internal storage. The 480×800 4-inch screen isn’t as dense as an iPhone 5 but pixels aren’t noticeable. Windows 8 performs extremely smooth despite these “low end” specs. I’ve never seen an animation or scrolling stutter, and my Xbox avatar dances quite fluidly as well. I can’t get Halo: Spartan Assault on it yet because they’re rolling it out to Verizon first (really?) but when I do I’ll be able to give a better graphics review of this thing. There’s a ton of AT&T and Nokia apps preloaded but they do not take over Windows 8 in any way, unlike OEM Android phones.

The handset itself is full of telltale signs of cheapness.

Although the screen is IPS and has great colors, brightness, and viewing angles, it’s not the “pixels on glass” IPS of iPhones. There’s clear depth between the digitizer and the pixels. I also didn’t see the words “LED” in marketing anywhere so I think this has the old kinda of backlight as well. You can see it if you view the phone at about 89° from the bottom.

The capacitive buttons on the front don’t light up.

The rear case is silicone rubber, which although is probably cheap, actually feels much better in my hand than an iPhone. Where they messed up is that if you don’t put it on perfectly the dedicated camera button doesn’t work. You should only ever need to take the back off to pull the battery, which I haven’t had to do yet, but it comes detached so you have to get it right at least once.

Despite using the cheapest hardware available, I can still give Windows Phone 8 a glowingly positive review. Unlike Android, which is only giving me an 80% success rate on installing apps the first time on an out-of-the-box Nexus 7 2013 with 4.3, Windows Phone apps install on the first try. They also don’t hang nearly as often.

Windows Phone’s old campaign about “a phone to save us from our phone” was pretty spot on with a dedicated camera button and being able to scroll through your live tiles to get your most important at-a-glance information. I know there are a lot of Android widgets you can use to get the same experience but there’s something to be said about out of the box features. Windows Phone 8 on $99 hardware doesn’t suck. I’m just as surprised as you are.

The reason this post is titled Secret Weapon is because I believe not only Windows Phone but this $99 Windows Phone are being held back artificially by carrier stores’ salespeople who sell whatever gives them the biggest kickback (Samsung). The other giant weight on Windows Phone is Windows branding. A friend of mine suggested the name Skylight (get it?) for the Metro OSes and I really think this would help Windows Phone and the Surface RT break free of that “Windows is only for work” stigma that non nerds have. Users don’t want to think about U: drives, shared outlook calendars, viruses, and Excel files used as an attempted database replacement. With all the 180’s Microsoft is pulling with the Xbox One, they could still turn this around.

The Myth of the Checkbox

deployment settings

Anyone who’s ever opened up Xcode has probably seen this in the project settings and probably thinks it’s all you have to do to support older/newer versions of iOS/OS X and multiple architectures (Universal binaries during the PPC Intel switch). But it isn’t long before you’re writing

iOSv=[[[UIDevice currentDevice] systemVersion] floatValue];
//globally declared float because you're going to be using this a lot
if (iOSv<7.0) { [[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackTranslucent]; }

And it gets worse and worse depending on what we're talking about. UIAppearance customizations, which SEGFAULT if they're called from the wrong part of code or reference incorrectly (which the compiler gives no warnings about) have different quirks under each version of iOS that supports them, which doesn't include iOS 4 so that whole appearance customization block has to be wrapped in an iOSv>=5.0.

It's not just "frivolous" color customizations. Translucent elements like the Status Bar introduce complexity based on wether or not they start at y=0 or y=-20 as far as layout code is concern. "What's so hard about adjust all your y-coordinates by 20?" the fact that it's not always the same. In older versions of iOS, if you programmatically change status bar styles from opaque to transparent or invisible, the top of the screen is at y=-20, but if you change view controllers (or rotate) the top becomes y=0 as you'd expect. The inverse happens when you change the status bar back to opaque. iOS 7 has finally solved this once and for all with the always clear status bar. The top of the screen is always y=0. The "safe area" under the status bar starts at y=20. Setting the status bar to hidden programmatically doesn't change any of this. This means, that when updating iOS 6 code to iOS 7, you either have to throw out all your check for status bar code or wrap an iOSv<7.0 around the whole thing. And let's not forget all the different ways Apple has gone about declaring supported screen auto rotations. A few iOSv<7.0 in your code here and there seems like nothing at first, but when your app has been around as long as some of mine have been, you start to realize you still have some iOS 3.1.3 code in there to support people that somehow have a functioning original iPod touch? Frameworks are where "progressively supporting" iOS versions gets particularly messy. dyld: Library not loaded:
IOS 6 deprecates the Twitter framework in favor of the social framework that also includes Facebook. If you want an app that can share to social networks using the iOS 6+ share sheet but still still tweet and email under iOS 5, you have to weakly link to all of those frameworks, then write a bunch of custom code for iOS 5 because back then to use a mail composer you had to implement all sorts of delegate methods. Oh, and you had to write an interface for presenting all the different share options. The only humane option (besides cutting off support) is what I call “regressively supporting” older versions. No social sharing if you’re not on at least iOS 6. Either that or use some third party sharing library and pray to Atheismo they’ll be ready for your app to be submitted for GM release of the next version of iOS (good luck). In an older version of Auto Adjust, when I added the backlight brightness slider, in iOS 3 I had it present a dialog to use the settings app and that got approved by Apple several times.

By far the worst thing about supporting “legacy” versions of iOS is that you have to keep some old devices around, perhaps intentionally un-updated, for testing, and awkward conversations with visitors who happen to see the pile of them.

And this is just what I encountered while adding iOS 5.1 support to Auto Adjust 4.1. Expect it during the iOS 7 launch day Appvalanche.