Your source of geek knowledge

Y

Latest stories

.NET Usergroup Zentralschweiz

Urs Enzler and I are building up the .NET Usergroup in central switzerland. .NET interested people, software engineers or administrators with a strong flair towards technology and methodologies from central switzerland meet together to listen to interesting talks, presentations and workshops. The user group offers a knowledge and practice exchange platform in the heart of switzerland. We work closely together with the .NET Usergroup Bern. The main focus is to spread interesting knowledge about...

Clean Code: Nesting

C

This is the start of a series of posts about Clean Code. I’m going to pick some topics from my cheat sheets about Clean Code and Clean Test Driven Development and explain them in more details.
Today’s topic is
Nested code should be more specific or handle less probable scenarios than unnested code.

.NET Open Source Projects and Coding Guidelines

In my projects, we use a lot of open source libraries like Ninject, xUnit, Machine.Specifications, FluentAssertions, StyleCop, Moq, statLight, AgUnit and of course the project I lead myself: bbv.Common. These projects are really cool. But sometimes of course, we need something that they do not (yet) provide. Like adding Machine.Specification support in FluentAssertions or a faster runner for xUnit unit tests under silverlight with AgUnit and statLight. Therfore, we download the source code and...

Presentation: Agile Code Design – how to keep your code flexible

P

These are the slides along with some comments from a presentation I gave lately in the bbv .Net System boot camp – the yearly education week of my division in my company. Once upon a time, Agile Software development came to our software development country. Like a monster, Agile software methodologies scared the hell out of us. Suddenly, we had to find ways how to build software so that we could keep up with the high rate of change, just-in-time requirements and a sacrificial offering – a...

16 ideas about what a Scrum Master can do to improve team performance

1

I started blogging about ideas for agile teams at 101 ideas for agile teams, check it out. cross-post from bbv Blog This is a list of actions that Scrum Masters at bbv Software Services AG have applied successfully in their teams to improve performance (= how much gets done in an amount of time). Please note that these actions were created to respond to specific problems found in real world projects. They may not be applicable in general in any situation. I’d be happy to read your...

Dynamic Proxy for WCF with Castle DynamicProxy Reloaded

D

This is a follow up post from the post Dynamic Proxy for WCF with Castle DynamicProxy. I updated the code in the last post. I just want to share here a better implementation without much words. The new implemenation uses only the ICommunicationObject interface. The service is correctly closed when not needed anymore. For instantiating and binding the WCF client proxies on the ninject kernel a ToMethod binding is used which calls into the proxyGenerator. But see for yourself.

Threadsafe ObservableCollection

T

When you are developing applications for WPF, Silverlight or WindowsPhone you often use ObservableCollection<T> to bind your data to the user interface. The limitation of ObservableCollection<T> is that it will only allow updates from the dispatcher thread. So if you want to insert data into the observable collection from another thread you need to write boiler plate code to marshal the changes back on the UI thread via the dispatcher. I wrote an observable collection which solves...

How to Unit Test Finite State Machines

H

We use a lot of state machines in our projects. We use them for abstracting instruments that we control, controlling when user input controls have to be enabled or disabled and for other things. State machines are great for these kind of tasks (much easier that nested switch statements anyway) but they provide a big challenge when developing software test driven. This is due to the fact that they are of course very state full and often active (running on their own worker thread). Here are some...

Recent Posts