Being Cellfish

Stuff I wished I've found in some blog (and sometimes did)

Task-based Asynchronous Pattern - PauseToken and common problems

I just wanted to make sure you did not miss this article describing a mechanism to pause...

Author: Emil Gustafsson Date: 01/31/2013

Reactive Extensions Reminder

It's been a while since I last looked at Rx and I must confess that my first impression was that the...

Author: Emil Gustafsson Date: 01/24/2013

TestInitialize execution order

This was brought to my attention and I was blown away by the fact that somebody would mark classes...

Author: Emil Gustafsson Date: 01/14/2013

Task-based Asynchronous Pattern - WaitAsync

Recently I was asked about a specific scenario when some code was being converted into using TAP and...

Author: Emil Gustafsson Date: 01/07/2013

2012 statistics

Time for my 2012 according to this blog's statistics. As last year we'll start of with the five most...

Author: Emil Gustafsson Date: 01/01/2013

Type casting with extension methods

Once in a while I need to convert one object from one type to another because they represent...

Author: Emil Gustafsson Date: 12/17/2012

How Spotify Works

While I wish I could write a long article on how Spotify works technically this is not what I want...

Author: Emil Gustafsson Date: 11/22/2012

HTTP Keep-Alive is not always your friend - but math is!

In HTTP 1.1 connections are reused by default. This means that if you make two HTTP requests after...

Author: Emil Gustafsson Date: 11/08/2012

The tale of an UnobservedTaskException

Last week I helped a colleague who was experiencing UnobservedTaskExceptions I his code. The problem...

Author: Emil Gustafsson Date: 10/18/2012

Lean processes explained with LEGO

I read this interesting article that illustrated the difference between processes optimized for flow...

Author: Emil Gustafsson Date: 10/15/2012

How Do Software Engineers Understand Code Changes?

Some researchers from MSR have published a paper on how do software engineers understand code...

Author: Emil Gustafsson Date: 10/11/2012

Task-based Asynchronous Pattern - WithCancellation again!

Last week Stephen Toub covered WithCancellation in a more thorough way than I did. You should read...

Author: Emil Gustafsson Date: 10/08/2012

XCOM interactive trailer

I loved the original XCOM game (and terror from the deep was OK). Will definitely play this new game...

Author: Emil Gustafsson Date: 10/04/2012

Task-based Asynchronous Pattern - WhenAllOrErrorBatched

This is a variant of WhenAllorError that a colleague asked me about. His scenario was that he had a...

Author: Emil Gustafsson Date: 10/01/2012

One way to make management understand development

I spent the weekend catching up on my RSS feeds and read this interesting story on how to explain...

Author: Emil Gustafsson Date: 09/24/2012

Writing legacy code on purpose

Earlier this week I was working on a feature where I was using a specific framework and I got...

Author: Emil Gustafsson Date: 09/20/2012

Task-based Asynchronous Pattern - WhenSome

I don't think this is the most common case, but sometimes you have a large number of tasks and...

Author: Emil Gustafsson Date: 09/17/2012

Task-based Asynchronous Pattern - WhenAllOrError

A very common scenario when you scatter and gather, i.e. start a number or parallell tasks and then...

Author: Emil Gustafsson Date: 09/13/2012

Task-based Asynchronous Pattern - WithCancellation

if you're working with a Task based API that does not follow the TAP rules and hence does not expose...

Author: Emil Gustafsson Date: 09/10/2012

Task-based Asynchronous Pattern - WithTimeout

The same way we in CCR sometimes wanted to add a timeout to an existing "task" you probably want to...

Author: Emil Gustafsson Date: 09/06/2012

Task-based Asynchronous Pattern - Introduction

With .Net 4.5 and async/await we have yet another pattern for asynchronous programming and it's time...

Author: Emil Gustafsson Date: 09/03/2012

Adopt a chaos monkey

Remember the Netflix Chaos Monkey? Last week they released the source code for it. maybe we'll see a...

Author: Emil Gustafsson Date: 08/09/2012

ShimNotSupportedException when using ReSharper unit test runner

I recently did some work using the VS 2012 RC together with R# 7. I needed to use the shim...

Author: Emil Gustafsson Date: 08/06/2012

The smart trash can

When I think of robots I think about autonomous robots. Robots that move around on their own and...

Author: Emil Gustafsson Date: 08/02/2012

Working with threads

I co-worker of mine stumbled over a nice collection of helpful information when working with threads...

Author: Emil Gustafsson Date: 07/26/2012

Ten Commandments of Egoless Programming

I recently saw this post with ten tips on how to be a better developer. It made me think of the...

Author: Emil Gustafsson Date: 07/23/2012

Listening to port 80 without being admin

If you're writing integration or so called end-to-end tests for web services you typically need to...

Author: Emil Gustafsson Date: 07/19/2012

Stress testing with Fiddler

If you're developing REST based services, Fiddler should not be news to you. But there might be a...

Author: Emil Gustafsson Date: 07/16/2012

Netflix's new take on APi design

The Netflix blog recently had an interesting post on how they are transitioning into a new approach...

Author: Emil Gustafsson Date: 07/12/2012

Evolution of a hand rolled fake - part 4

Another hard problem when it comes to creating fakes is when the interface contain overloads (i.e....

Author: Emil Gustafsson Date: 07/09/2012

Evolution of a hand rolled fake - part 3

So how do I fake an interface with properties? 1: interface IAnotherInterface 2: { 3: int...

Author: Emil Gustafsson Date: 07/05/2012

Evolution of a hand rolled fake - part 2B

While the last version I showed is very flexible I have experimented a little more. Why would you...

Author: Emil Gustafsson Date: 07/02/2012

Evolution of a hand rolled fake - part 2

In a recent discussion at work I realized that the main reason I started with the constructor based...

Author: Emil Gustafsson Date: 06/29/2012

Adding a timout to a task

Remember how I added a timeout to an existing Choice in CCR? Well with the new Task based world in...

Author: Emil Gustafsson Date: 06/27/2012

Identifying IIS worker processes

The other day I had to debug a running IIS process. There was a nifty little command to figure out...

Author: Emil Gustafsson Date: 06/15/2012

Federated login relies on target site to be secure

I attended an interesting talk in the last week that was based on a paper from MSR. It was...

Author: Emil Gustafsson Date: 05/14/2012

Office pranks

One thing that happens more or less often when somebody is on vacation at Microsoft is that their...

Author: Emil Gustafsson Date: 05/03/2012

Lego Robots revisited

About a year ago (when I was still on the robotics team) I got a good work assignment; build and...

Author: Emil Gustafsson Date: 05/01/2012

Should idempotency be extended to include return codes?

A couple of weeks ago we had in interesting discussion at work. The topic was what a delete on a...

Author: Emil Gustafsson Date: 04/02/2012

Configuration in code

For quite some time I've used a pattern when it comes to configuration to hide it behind some...

Author: Emil Gustafsson Date: 03/10/2012

Object pooling vs creating lots of them

If you, like me, have a background in C programming it's a spine reaction to avoid lots of memory...

Author: Emil Gustafsson Date: 02/22/2012

Deployment specific azure config

I've earlier described a simple way to deal with development specific config but the larger your...

Author: Emil Gustafsson Date: 01/30/2012

Repetitive Lazy to the rescue

The other day I was doing my usual double check locking when a co-worker pointed out that without a...

Author: Emil Gustafsson Date: 01/25/2012

Visual studio achievements

I guess this plugin for Visual Studio should be mandatory from now on...

Author: Emil Gustafsson Date: 01/21/2012

Avoid timeout when uploading large blobs to Azure

If you're uploading (and I guess downloading) large blobs to Azure you might hit a timeout...

Author: Emil Gustafsson Date: 01/18/2012

Evolution of a hand rolled fake

I usually hand roll my own fake objects for my tests. They have always looked a lot like what Stubs...

Author: Emil Gustafsson Date: 01/16/2012

<Previous Next>