Naked Came The Null Delegate:Chapter 1 - "I, Disposable !"

« Previous article:   Next article: »
Lambda Expressions as Properties Blog Home Running An Async Event Handler on the UI thread (with lambdas and extension methods!)

Slowly, as the rest of his coworkers drift off towards home, Seymour Sharpton, continued on in his cubical. He didn’t mind. He was trying to look busy, but was really just writing on his Facebook wall. As the hours ticked by, he knew you’d soon be able to update his “Relationship Status”. He knew the one other person working late that night. He had carefully arranged for the new intern - the exotic Vissa Basicova - (a pure virtual, he was certain) - to be swamped with work that just had to be done by tomorrow morning, and tonight he was going to make his move. He had carefully prepared a command entity with her as he enumerated the worker pool. And he was now the domain controller, and this process was about to leave debug mode. First he’d get her to yield for a break for a soda. Then, after helping her through her workload, a environment exit for dinner… and then, who knows

As he threaded the rows up to her cubical, he was shocked to find it empty - An unknown apartment state! - Had this application terminated before it started? But her jacket and purse were still at her desk —- she wouldn’t have gone far. Just then he heard a sound — oddly familiar but nevertheless out of place in the office. He followed the sound down the aisle to the mail room, and peering in, he saw Vissa — and Bob, the mail room guy - a nullable type if there ever was one - engaged in a double interlocked exchange that he had only ever read about. And, as he watched the perspiration glisten off her naked double value types, the cold reality dawned on Sey: that Bob’s bare pointer was implementing an interface the Sey would never get to extend.

And yet, only one thought clearly entered his head — “She probably didn’t lock her PC.” At quick call back to her cubical showed that the condition was true: In her mad lust for a deadly embrace, a simple Win-L had alluded her, leaving her machine open to a little tier interaction.. So, while she engaged in her own unsafe operation, he would seek a new execution plan. A indiscreet message “accidentally” emailed to the whole department from her account would be too obviously a set up — although it would be interesting to hear from her witness where she was at the time it was sent. A more subtle approach was needed. But, as Bob’s grunt signaled a premature thread termination, Sey know he must work fast ! Their binding context would soon finalize.

Deleting some of her completed work would be step one — she probably won’t notice the missing reports until it was time to present them tomorrow. And, locking her out of a needed network would drag the remaining unfinished work out a few extra hours. With a few deft strokes, his work was done, and he was about to leave the PC just as he found it, when she received an (unsigned) email:

Vissa, Darling,

Your schema is excellent.

We must meet soon, by the service port, to enumerate your assertions. We mustn’t name pipes.

Sey forwarded the strange message to his account and then deleted her copy. He then hid by his own desk for a few minutes until Vissa returned to hers. Sey then strolled up to her. “Vissa … How go the reports “ She looked a bit frazzled, and it was clear the her predicate was in a unsatisfied condition - It seemed Bob’s pipe stream had closed without a synchronization context. “er… um… coming … along,” she said. “Well, then, keep it up…. We need those first thing in the morning —- But don’t stay too late. You look tired. You should get to bed…….” And then, he left the office for his single threaded apartment, wondering if he had played this right. Perhaps he could have been the ternary operator….

(Continued: Chapter 2 : “Unhandled Exception” - By Charles Petzold @ )

For links to all the parts, and the story behind the story, visit: (Note that over time, some of the “Next Chapter” links at the end of some posts have broken. The links on the WordPress page have been updated)