Logical task combinators

When I had to use Erlang for the very first time it was a brand new language and I was in collage. Back then Erlang did not have a logical not function so we had to define our own in order to make our code readable. At least given the knowledge me and my lab…

0

What is technical debt really about?

When you think about the reasons for reducing technical debt; what do your think about? Read more here.

0

Asynchronous enumerations - summary

So what did we end up to do after the discussion two months ago? Well we ended up using option #1 mostly because it simplified things to have all items available during processing. technically not needed, but it simplified things. My generic advice would be to use option #1 or #2 and to favor option…

0

Asynchronous enumerations - Part 5: MyEnumerationAsync

For background, read the introduction. If you have no need for filtering using LINQ (or Rx) and you do not want to expose an IEnumerable you can create tour own “IEnumeratorAsync” that asynchronously fetches the next item. Again this is something I would advice against. First of all you are loosing the option to use…

0

Asynchronous enumerations - Part 4: IEnumerable<Task<IEnumerable<T>>>

For background, read the introduction. This is really just a variant of option #2 using the fact that you use azure tables and know that you will get several items at a time. In my opinion you shouldn’t even consider this option since it uses a feature of the underlying storage layer and compared to…

0

Asynchronous enumerations - Part 3: IObservable<T>

For background, read the introduction. In part 2 I briefly mentioned that if you have simple filtering needs then you might implement your own LINQ-like methods. Well if you have more advanced filtering needs there is already something out there to help you; Reactive Extensions (Rx). The only thing you have to do is to…

0

Asynchronous enumerations - Part 2: IEnumerable<Task<T>>

For background, read the introduction. This is essentially the opposite of option #1. With this approach you are optimized for processing one item at a time. Or even process all items in parallel! So this is a very good option if you do not need all your data at once and you also have a…

2

Asynchronous enumerations - Part 1: Task<IEnumerable<T>>

For background, read the introduction. If you need all data before you start processing it or if you expect just a few records each time, then this is probably your simplest way to get an “asynchronous enumeration”. Technically the enumeration is not asynchronous since you retrieve all data asynchronously first and then process it. You…

2

Asynchronous enumerations - Introduction

A couple of weeks ago I had a discussion with a co-worker about what would be the proper way to asynchronously iterate over some data in azure tables. Exploring different options was very interesting and let us understand different pros and cons for each asynchronous strategy. So over the next few weeks I’ll go over…

0

"Mocks: the code smell"

So I stole the title from this talk: [View:https://www.youtube.com/watch?v=Giqewl1zT_A] I have seen Arlo argue for his tests with simulators and I’ve always felt I shared his view on mocks. Or at least I share what I think is his view; that they should be avoided and only used under special circumstances. Kind of like nuclear…

0