There is a perverse inversion in many Senior Level engineering job postings; they rigidly dictate a particular stack of technology, which the company has typically invested considerable time in implementing and tailoring to the needs of their application. While this makes some sense for a mid-level or junior developer its he opposite of what you should be looking for in a Senior engineer:

“It doesn’t make sense to hire smart people and then tell them what to do; we hire smart people so they can tell us what to do.”

— Steve Jobs

I suspect that these postings are the…

Developing Apps for macOS, iOS and tvOS using KitBridge

Behold, OrangeCard running on macOS, tvOS and iOS!

So, you want to write an app for iOS, macOS and maybe even tvOS? There’s been a lot of talk lately about the UXKit.framework inside of or possibly another replacement framework to bridge the AppKit/UIKit divide. While this may yet come to pass, there’s nothing stopping us from improving the portability of code across macOS, iOS and tvOS right now.

So, What’s All This About, Then?

While UIKit is clearly derived from the experience of developing AppKit it was a sort of green-field for the developers to create a more modern framework with none of the baggage of AppKit. This lack of baggage makes for…

Facebook is trialing a revenge porn suppression system which threatens user privacy and could be implemented in a way which does not require sharing compromising photos.

Reading the article, here are the steps required by the proposed system to prevent publication of a revenge porn image:

  • Take a compromising photo
  • Distribute said photo to 2nd party
  • Develop distrust in 2nd party
  • Send compromising photo to 3rd party
  • 3rd party sends compromising photo to FB
  • FB Employeee views comprimising photo
  • Photo is hashed and included in a database
  • Existing instance of the photo are removed
  • Any future posts of the photo…

MacRumors Mac Buying Guide May 2017

The Osborne effect is a term referring to the unintended consequences of a company announcing a future product, unaware of the risks involved or when the timing is misjudged, which ends up having a negative impact on the sales of the current product. This is often the case when a product is announced too long before its actual availability. This has the immediate effect of customers canceling or deferring orders for the current product, knowing that it will soon be obsolete, and any unexpected delays often means the new product comes to be perceived as vaporware, damaging the company’s credibility…

It’s WWDC prediction season again. Spring break for Nerds will soon descend on San Jose with it’s sessions all day, parties all night schedule. Rumors and speculation fly along with wish lists for new features that might be announced in the big keynote. Legions of fans sit huddled over glowing screens watching the video and refreshing news sites to see what other people watching the video are saying about the video.

My Wishlist is Short

I only ever have one wish for WWDC: a single, comprehensive Wi-Fi API on all Apple platforms which can be used for apps released in the App Stores.


Apple’s iPhone 7 and Watch Series 2 announcements today included an interesting new piece of hardware, the Apple W1 wireless chip. The AirPod promotional video is long on benefits and short on details but here’s what we know from the introduction.

It’s not Bluetooth™

Which is to say, it’s not an interoperable product based on the Bluetooth SIG’s specifications and testing processes. Notorious for being “great next year” and for vendors ignoring standard profiles in order to lock users of their hardware into their software, poor audio quality, flakey connections and an inability to synchronize with AirPlay due to a lack of timing…

Static vs. Dynamic? Strong vs. Weak? Functional vs. Objective? Duck vs. Strict? Tabs vs. Spaces? vi vs. emacs! Code Review, Code Style, Source Control, Build Systems, Compilers and Stacks; oh, my.

If you read the technology press, particularly those sites targeted towards developers and the myriad blogs produced by developers, you would think that the above questions and areas of concern are the most important things to consider when designing and developing an application. They aren’t.

The choice of tools is not the biggest factor in determining the quality or speed with which your products ship. The more time you…

Picture yourself in a conference room; you are a visitor here, sitting in front of a laptop looking at a document that you need to send to your host, who works here. You host needs to review the document before sending it on for approvals. There is a lot of money hanging on these approvals and you are anxious to get the document reviewed.

It’s not a huge file, but it’s not small either, too big for email, let’s say a whopping 100 Mb. And it just so happens that the internet connection in this conference room is slow, very…

Originally published: Dec 2, 2014

The rumors were true, the leaked components at least plausibly functional, it finally happened: bigger iPhones.


There is no denying the impetus for this change, the competition went big and sold a lot of phones. The iPhone was designed to fit in your hand, not land small aircraft, which makes sense but sometimes the market is all feels and no reals. So here we are, adjusting our pocket sizes and queuing up for new devices.


The original iPhone set the standard for smart phone sizing. It also set the standard button, port and audio grill…

iStumbler Labs

Handcrafted Blog Posts for Better Reading

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store