Storm Sim Requires 180 Screenshots

or how not to cry yourself to sleep

March 23, 2014

Storm Sim has a free and paid version. It supports six languages. Two devices at three resolutions. If the UI changes in any significant way, it needs 180 screenshots. Uploading them in iTunes Connect is bad enough, but navigating through the app in each language is just killer. I find myself not wanting to make a change because I know it . . .

Why Android Security is Broken

hint: it isn't technical

March 23, 2014

A recent slashdot post was discussing a privilege escalation hole in Android and by looking at the comments, it was obvious to me that most geeks just don't get it when it comes to security.

Android has a huge, gaping security hole but it isn't a technical one, it's the design. The flaw is the same one that afflicted . . .

What is LINQ

and why it matters

March 23, 2014

I've been listening to some excellent podcasts recently where the subject of C# and LINQ came up:

I've been meaning to start blogging recently and this was a good excuse. I want to cover what LINQ is and . . .

ARM64 and You

or how I rue NSInteger

March 22, 2014

NSInteger is now 64-bit on ARM64; that means a bunch of useless warnings everywhere about precision loss right? WRONG.

Here's a hint: "Comparison of constant 'NSNotFound' with expression of type 'int' is always true". Uh-oh. Fix your integer warnings and kick yourself for not using NSInteger because . . .

Associated Objects in C#

objc_setAssociatedObject makes a friend

March 22, 2014

Many people think there is no equivalent of objc_setAssociatedObject in C#, but those people are wrong.

As a quick refresher, Objective-C allows you to add methods to objects via categories (roughly equivalent to extension methods in C#), but there's no way to add new property values directly. Instead, you can use  . . .