UIPopoverController: the odd duck
the post in which I swear a lot
UIPopoverController, why must you be such an odd duck?
I am finally trying to get Storm Sim updated for iOS 7 and since I need a dark theme the default behavior of "dim the background views" is useless. But you can't just turn that off... oh no sir! You have to subclass
UIPopoverBackgroundView and do the whole thing . . .
Immutability Part 2
wherein we make a compiler do the work
The very first question any programmer has when they hear about immutable data structures is "how the hell can that possibly work when I can't change my data?"
The answer is rather simple, at least in an object-oriented language like C#. Instead of setting properties and fields, you call a method that returns a new . . .
Russell's Rules for Highly Concurrent Software
mutable state is the devil's handiwork
This is the first in a series of posts I plan regarding immutability (edit: yay, follow-through!). In this post, I want to cover some of the reasoning around why you'd want to use immutability and some of the awesome things that just fall out of an immutable design naturally. Future posts will cover making the compiler create immutable . . .
Storm Sim Requires 180 Screenshots
or how not to cry yourself to sleep
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
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
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
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 . . .