Code-free
Code-free

On Rediscovering the Classic Coordinated Transaction Problem

Everything old is new again

Russ Bishop
March 28, 2014

While working on the new immutable engine of chaos today, I wrote myself into a corner and in the process re-discovered the classic coordinated transaction problem:

If you have two separate transactions that both need to commit together or roll back together, how can you ensure that happens as an atomic operation?

If I . . .

Read More

ContextLocal

the best thing you'll never use

Russ Bishop
March 28, 2014

If you are doing parallel operations on immutable data you may run into a problem. A lot of us are used to using [ThreadStatic] static fields to hold ambient state that exceeds the built-in ThreadPrincipal or CurrentCulture settings. If you are running in a web context you certainly have access to HttpContext, but otherwise you appear to be . . .

Read More

Github Renamed Me

We will change your SSH keys and you will like it

Russ Bishop
March 28, 2014

In preparation for a new post, I logged in to GitHub recently. I created my account two years ago in anticipation of being able to open-source more code and I wanted to reserve my name; I had a couple of forked repos but that's it. A new baby and a wife with major back surgery will do that to you.

Imagine my surprise when I . . .

Read More

Provisioning Profiles for Dummies

I hope you like public key cryptography

Russ Bishop
March 26, 2014

Let's break down a .mobileprovision file piece-by-piece:

1 - The app ID prefix

 <key>ApplicationIdentifierPrefix</key>
 <array>
 <string>X00X0X000XX</string>
 </array>

2 - When the profile was created and when it expires

 <key>CreationDate</key>
  . . .

Read More

UIPopoverController: the odd duck

the post in which I swear a lot

Russ Bishop
March 24, 2014

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 . . .

Read More

Immutability Part 2

wherein we make a compiler do the work

Russ Bishop
March 23, 2014

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 . . .

Read More

Russell's Rules for Highly Concurrent Software

mutable state is the devil's handiwork

Russ Bishop
March 23, 2014

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 . . .

Read More

Archive
   Subscribe by email and never miss a post.