My Westworld prediction

[code lang="csharp"]
var k = Convert.FromBase64String("vlqnRQo8YYXdqt3c7CahDninF6MgvRnqNEU+/tcbWdM=");
var iv = Convert.FromBase64String("gaXwv734Tu3+Jw1hgtNrzw==");
DecryptStringFromBytes(Convert.FromBase64String("Yr2XWzCxceStAF1BaUgaqmWcqFjzWskDDN4foaxfGEO5JHc/oKvgukkMHZuOiw+dK0JxnOhzC1ZA3QLqZZsQxFtjX+qvu0VRM0p6VEfcv18="), k, iv);[/code]

more ...

Keras is the Deep Learning Toolkit You Have Been Waiting For

I remember a time when "learning about computers" invariably started with the phrase "computers only operate on 0s and 1s…" Things could vary a little for a few minutes, but then you'd get to the meat of things: Boolean logic. "All computer programs are formed from these 'logic gates'…"

I …

more ...

Debugging provisioning profiles on the command line

Raise your hand if you've ever struggled with getting your app's bundle identifier, info.plist, and entitlements.plist to match up with your provisioning profile.

I tried to explain provisioning profiles using the ten-hundred most common words, but in slightly-less-common words, a development prov-pro associates: A team, a developer, an …

more ...

Mysterious crashes in your iOS 10 program? Check your info.plist

If you're developing for iOS 10 and your app "silently" crashes (especially if it's an older app), the culprit could well be the increased privacy requirements in iOS 10. Namepaces such as HomeKit now require specific privacy-related keys to be in your info.plist (for instance, NSHomeKitUsageDescription). If you don't …

more ...

Streaming a Web video to AppleTV with Xamarin

If you have the URL of a streaming video, it's easy to display on an AppleTV, even though tvOS does not have a UIWebView (which would make it really easy). You have to use some AVFoundation code, such as:

[code lang="csharp"]
var src = NSUrl.FromString("https://somevideo");
var asset …

more ...

The Half-Baked Neural Net APIs of iOS 10

iOS 10 contains 2 sets of APIs relating to Artificial Neural Nets and Deep Learning, aka The New New Thing. Unfortunately, both APIs are bizarrely incomplete: they allow you to specify the topology of the neural net, but have no facility for training.

I say this is "bizarre" for two …

more ...

Review: 11-Day Diving on the Galapagos Master

Trip Review: Galapagos Master, 11-Night Liveaboard Diving

My wife and I recently returned from 11 days on The Galapagos Master, a 16-passenger liveaboard vessel whose itinerary includes Wolf and Darwin Islands.

The first thing to say about Galapagos diving is… Well, okay, the first thing to say about Galapagos diving …

more ...

WWDC Remote Viewing Protips

I attended the 2015 WWDC and made these notes afterwards. Aside from the specifics re. the Apple Watch and AppleTV, they may be of value to those who are considering streaming sessions next week:

WWDC: Post-show Streaming is the Key to Value

From an editorial perspective, one thing that is …

more ...

Tracking Apple Pencil angles and pressure with Xamarin

Rumor has it that Apple will support the Apple Pencil in the forthcoming iPad. If so, more developers will want to use the new features of UITouch -- force, angle, and elevation -- supported by the incredibly-precise stylus.

Basically, it's trivial:

-- Force is UITouch.Force;
-- Angle is UITouch.GetAzimuthAngle(UIView); and
-- Angle …

more ...

Airport Time Capsule considered harmful

The premise of the Apple ecosystem is "It just works." It is a world of hardware and software in which you pay a premium for not having to worry about fiddling with configurations and command-line options and incompatibility.

The Airport Time Capsule is a wireless router that also contains a …

more ...