Sunday, September 25, 2011

Ich bin ein Asperger...

Looking back, I've always thought of myself as an outsider. Always had the feeling something was wrong with me. Or maybe all those other people around me were different than I was; like they had a little secret that nobody had ever told me, because they possibly though that I "just knew" like everybody else. Because it was normal for them.

This until recently undefinable feeling has always had a great impact on my life. I was that calm, forward, studious child. That child that could perfectly entertain itself. With a book for instance; in my mind I've always been able to read. That child that never bothered anyone.

In school I usually found the lessons to be fun and interesting. I did regret the fact that all these other students, who in general didn't seem to care for it all one bit, had to be there as well. I didn't live that far away from school, so when there was a gap in the curriculum of the day - even if it was just one hour - I got on my bike and went home. What else could I do, with all those other kids, when there was nothing to do at school? I was then better off riding home to drop off some of the school books I would no longer need that day, for instance.

After studying computer science at Utrecht University, a period I basically allowed to happen to me like it was "just another school", meaning that the traditional college student life all but completely passed me by, I moved out on my own and started working as a computer programmer. I was perfectly work focused. Alone and deeply unhappy. Without knowing why.

Just as in the previous years when interacting with other people, interacting with colleages and clients at work sometimes resulted in problems. Often these small or even large conflicts with people came as a complete surprise to me. Looking back they were almost always caused by breakdowns in non-verbal communication. I had for instance said something that I thought to be factually true, but I had done this in such a way that the other person felt attacked or even insulted to the bone.

Anyway, I won't be including any more personal details. I might do so later, when both my readers and me are interested in me writing down more. At the moment I do not feel like it, and want to get back to the title of this text and how I came to write it. What I do want to add is that one of the best things that ever happened to me is my wife Rona. I would not know what to do without her..

Asperger


Quite a number of years ago I first heard or read about Asperger Syndrome, a development disorder that's part of the so-called autisme spectrum. This means it is in fact a light form of autism. I never thought it would be relevant to myself in any way. Also, the many coaches I have spent time with over the years (often through work) to help with myself and my problems at work, my melancholic moods or my unrest have apparently never thought about this possibility. Or if they did, they never let me know.

Recently Asperger has maybe gotten a bit more attention because the (not only with me) very popular Sheldon Cooper from The Bing Bang Theory exhibits many of the typical symptoms. Also, a short Twitter discussion with a group of programmers I know mentioned an online Asperger test, that startled me a bit with the high resulting score when I answered the questions in gest.

All this resulted in me buying the book Asperger Marriage a couple of weeks ago. On the 19th of september I eventually read it completely in one go; I just could not put it down. Even though the individual detailed differences between myself and the main character in this book describing the marriage between Asperger Chris and his wife Gisela are enormous - every person is different - for most of the book I had the distinct feeling the book was about me. I recognized so many of it that literally seemed to be about me. A strange and not at all pleasant experience...

Now what?


Therefore I am now convinced that I suffer of Asperger Syndrome. Although suffer is by no means the right word: it also brings me great advantages and makes me who I am. Thus I do not believe that I would want it gone even if that were possible.

For now I am therefore not inclined to have my auto-diagnosis checked by a professional in the field. After all: based on what I now know about Asperger and about myself an actual medical diagnosis would change nothing: there is no cure (even if I would want one) and no real practically useful help that would mean anything to me. The only thing I can do is to continue to adapt and develop, and learn to cope with the handicap that I apparently have. Subconsciously I have been at this for decades, and in certain areas I have become quite good at it, even if this is or perhaps always will be a conscious effort.

I am glad that my problems and feeling of "being different" at least for myself have a name now. This is also the reason I wrote this text: Asperger is part of me, and I would like people to know that. Not to gain any positive advantages or use it as an excuse, but to give it a place, for me.

Well, to be honest I might want to use it as a reference. As part of an apology for instance, in a situation where my social handicap again unwittingly cause a conflict because the tricks I picked up to deal with people in a way they consciously or unconsciously expect of me have failed. Believe me: I can only get better at this.

The coming weeks I will have enough to read: lots of books have been written on this subject and also weblogs like Life with Aspergers, which I instantly added to Google Reader. I think the book "Pretending to be normal" is now on the top of my reading list, because just the title alone seems so very much to fit the feeling I've been having for years.

Everyone who knows me and have found me to act strangely or even rude in certain situations: I hope you now have an idea of the potential reason why and also why I cannot always help myself, even if I wanted. Everyone who knows me and is now thinking "But I never once noticed anything like that!" I would like to thank very much for the enormous compliment. All other readers I want to thank for taking the trouble to read this.

Thank you.

(This is an English translation of the original Dutch blogpost. I wanted to have this introductory information in English too. Any possible future posts on this subject will likely be Dutch only.)

Sunday, September 18, 2011

Fire-and-forget background code execution

Finally, time for some code again.

In the course of writing some Windows Phone 7 apps for the Apps for Noord-Holland competition I've just hacked together a tiny class that wraps the BackgroundWorker class for one simpe case: you want a bit of code to execute in the background, fire-and-forget style:

var loadData = new peSHIr.BackgroundHelper(() =>
{
    // load something
    // load something else
    // and that's it, basically
});

So you're not really interested in giving the BackgroundWorker an argument, getting progress information, supporting cancellation, receiving a result or even when exactly the code is done running (by getting an event). You just want it to start now and eventually have it be done.

If you want/need this, here's a simple utility class you can use:

using System;
using System.ComponentModel;

namespace peSHIr
{
    public class BackgroundHelper
    {
        private Action work;
        private DoWorkEventHandler start;
        private RunWorkerCompletedEventHandler finish;
        private BackgroundWorker worker;

        public BackgroundHelper(Action executeInBackground)
        {
            work = executeInBackground;
            start = new DoWorkEventHandler(DoWork);
            finish = new RunWorkerCompletedEventHandler(WorkCompleted);
            worker = new BackgroundWorker();
            worker.DoWork += start;
            worker.RunWorkerCompleted += finish;
            worker.RunWorkerAsync();
        }

        private void DoWork(object sender, DoWorkEventArgs e)
        {
            if (work != null) work();
        }

        private void WorkCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            worker.DoWork -= start;
            worker.RunWorkerCompleted -= finish;
            worker = null;
            start = null;
            finish = null;
        }

        public bool IsBusy
        {
            get {
                return work != null && worker != null ? worker.IsBusy : false;
            }
        }
    }
}

Be sure to keep your multi-threading in order, though. So if the code stores something, use appropriate locking. Or if you access GUI elements, go through the proper Dispatcher. But that almost goes without saying, right? Also, error handling for the code you give this class is obviously left as an excercise for the reader. ;-)

Enjoy!

Friday, September 9, 2011

"Hey, what's up with the daily tweet to @twitter @support...?"

My Twitter followers are bound to know I have some bones to pick with Twitter lately. For one, I really don't like the treacle like performance of #NewTwitter compared to #OldTwitter (even in Chrome, not just in IE8 and IE9). But this post is not about that.
Recently I have been starting to post (almost) daily tweets asking Twitter to support Mobypicture. As some people are bound to frown on this, I thought I'd write this blog post to explain why I do this, and when I plan to stop doing it.

My problem

Around the time I started these daily tweets, Twitter started rolling out their new "Recent Images" media gallery. This shows the most recent images a user tweeted (includes old style retweets, or course) on their profile and includes a link to a complete grid of such images.
While I think this is cool feature, I really did not like that only a couple of image publish websites are included in this view, like: TwitPic, PhotoBucket and yfrog, while the service that I use (the Dutch Mobypicture) is not included.
This means, that what Twitter calls "Recent Images by @peSHIr" on my profile, does not include any of my recent images, but only images by others that I happened to tweet a link to at one time. This is not what I want, obviously. I would like my Moby images to show up in this view. Or, if that is (currently) not possible, I want to disable the new image gallery so it does not show up on my profile.

So, ask the parties involved

To that end, I started tweeting my request. I also DM'ed Twitter Support and MobyPicture with more background information on my request. I have received a number of replies to this. For one thing, Moby replied they cannot help me put their images into the Twitter gallery (obviously).
Twitter seems to have misinterpreted my original request for "Moby support", and quite stoically referred me to the Moby support page. Nice one, Twitter; show us you care about your users... ;-) So I changed my daily request a bit, based on this responses.
Then, after more clarification by DM, I received the following DM response from Twitter:
You can turn off media here: https://support.twitter.com/articles/20169200-media-settings-and-best-practices
After asking around by DM some more, Twitter admitted this is not a response my question on how to disable the media gallery so it doesn't show up on my profile any more. Their eventual response to that (in two DMs) was this:
We appreciate your request and feedback and will share it with the rest of the team. Unfortunately the recent imaged gallery won't be removed from your profile unless you don't have any images posted in your Tweets. Sorry! https://support.twitter.com/articles/20169409

So, that's it?

So, in the meantime, even though I thanked Twitter support for they rather promptly responses, I feel screwed. Unless I go back and delete all tweets that include a supported image link in them, I'm "stuck" with the image gallery on my profile, a feature I would really like when it would include my Moby images. And I am not going to hunt down those tweets and delete them.
Also, even though as far as I can remember the inline media display in #NewTwitter at one time showed images posted on Mobypicture, with the (again originally 2 part DM) reply from Twitter support, it seems clear my Moby images are not expected to show up in my media gallery any time soon (or ever):
You're welcome. And again, as moby is not an official media partner of ours, we don't show their images in the details pane it's possible that we will consider a partnership in the future, but for now we are not affiliated. Thanks!

So, the world is stuck with my daily tweet

I feel I have no other course of action left, than continue my daily tweet asking for Mobypicture support in the current Twitter webinterface...
So, unless my images show up in my Twitter media gallery (or possibly until I get a way to turn it off so it does not show up on my profile any more) I will be repeating that daily tweet, reminding Twitter that I have not given up asking for this support.
If you use Mobypicture and Twitter as well, I want to ask you to do the same or RT my daily reminder. If enough people do so, it might be a reason for Twitter to start including these images.
Hopefully this blogpost clarifies the reason for that annoying daily tweet. And thank you for reading this far! ;-)