Posts by Year

2019

Back to top ↑

2018

Back to top ↑

2017

Jqwik: An Alternative JUnit5 Test Engine

1 minute read

As one of the original designers and contributors of JUnit 5 I’ve always been intrigued by its basic idea to not only be a fresh start for a maintainable tes...

Back to top ↑

2016

Migrated my Blog

less than 1 minute read

I migrated my blog to Github and Jekyll. What’s more to say about that?

On Ordered Sets

3 minute read

General purpose OO languages - like Java or C# - come with a library for collection type objects like arrays, lists, and sets. If you throw in a static type ...

Goodbye, JUnit 5

less than 1 minute read

Sometimes, despite your best efforts, a conflict within the team cannot be overcome with goodwill or compromises. Something (or someone) has to give. This ti...

Back to top ↑

2014

On-site TDD

6 minute read

One of the recurring questions in TDD workshops is "How do I test private methods?“. My usual answer is worded along the following lines: "You don’t. Any pri...

Veterans of TDD: Lasse Koskela

5 minute read

I "recorded" episode 6 using email ping pong with Lasse. Since I knew that his company is involved in funding start-ups, the TDD vs learning-what-product-to-...

Veterans of TDD: Willem van den Ende

14 minute read

The interview of episode 5 is with Willem van den Ende. He's going into quite some detail about what function languages bring to the TDD table and where you ...

Veterans of TDD: J B Rainsberger

16 minute read

Episode 4 is the longest of all episode so far and it is based on an hour-long interview I did with J B Rainsberger a few weeks ago. The interview was very i...

Veterans of TDD: James Shore

14 minute read

Episode 3 is the  shortened transcript of an interview I did with James Shore via Skype; that's why it's a bit longer than the previous ones.

Veterans of TDD: Ron Jeffries

3 minute read

My readers already know that I'm in the midst of writing a book about TDD. One thing I deemed worthwhile when rethinking the test-driven state of the art is ...

Back to top ↑

2013

I’m Not Quitting, I’m Letting Go

9 minute read

Since the end of Netdosis I've been thinking about what to do now for a living. I've known for a while that I couldn't just go back to Agile coaching - but ...

Netdosis Afterthoughts

2 minute read

Almost 2 years ago I told you about why I was leaving the field of Agile coaching and that I'd be co-founding a start-up called Mydosis Netdosis. Ver...

Back to top ↑

2011

Say Goodbye, I won’t be Back

3 minute read

Yesterday was my first day in a new position. I'm now co-founder of a start-up called Mydosis. But this blog post is not about what's coming, it's about what...

Simplified Use of Locks in Groovy

1 minute read

I am currently writing an article about the challenges and pitfalls of concurrent programming for a German software magazine. Since the magazine's readers co...

Business Experiments

less than 1 minute read

I'm currently running a triple experiment: For the first time in my career I'm trying to organize a public workshop completely on my own. The topic is Advan...

Back to top ↑

2010

Teaching in Impatient Times

1 minute read

Recently I held an in-house, two-day-workshop on pair programming and test-driven development. After having done similar workshops for almost a decade now, r...

Back to top ↑

2009

Building Grammars (and Parsers) on the Fly

5 minute read

I've always felt that code generation is mostly a means to optimize performance of stuff (e.g. DSL execution) that could as well be done during runtime. I mi...

ClasspathSuite 1.2.1

less than 1 minute read

In order to prove that gaussian distribution does not hold for the time between releases I've made ClasspathSuite version 1.2.1 available as of now. Basicall...

ClasspathSuite 1.2.0 beta

less than 1 minute read

After more than a year of perfect stability I eventually adapted ClasspathSuite to JUnit 4.5's way of building test suites. I added a new feature, too.

And the Birds they Are Singing

2 minute read

I'm definitely not the first one to write about their twitter experiences. I especially like this presentation because it sort of reflects my past two months...

Back to top ↑

2008

Can You Touch Type?

less than 1 minute read

Well, I can't. That's why it struck a chord with me when I read Steve Yegge's rant about those developers who claim that typing is not really important for f...

AJAX Travelogue (Part 7): MockMe

1 minute read

In the previous episode you've learned why a mocking framework seems to be a reasonable idea even in a language that provides closures and duck typing. MockM...

Sleepless in Toronto

2 minute read

So, I'm here in Toronto at the Agile Conference. It is 4:31am now, which tells you that my body is still somewhat drawn between night and day. Never mind, th...

To Everyone Their Own Mock Framework

less than 1 minute read

Mine is called MockMe. It's for JavaScript only. I will explain everything and more after coming back from Toronto. See you there?

Agile 2008 in Toronto

less than 1 minute read

This year's Agile conference is looming quite large. I'm going to give a talk on "Test-Driven Ajax" on August, 5. That's the good news and I'm looking very m...

Deadline for XP Days extended

less than 1 minute read

Stefan Roock, program chair of this year's XP Days Germany, has just announced that the submission deadline has been extended till July, 27: Since the open r...

The New and Open XP Days Germany

less than 1 minute read

Last year I was program chair of XP Days Germany. Although it was quite a success I wasn't really content with the old-fashioned process any more: submit ses...

“We Don’t Have a TV Set”

less than 1 minute read

That sentence used to be one that I've let slip quite a few times during the last 8 years or so. Depending on who I was talking to it either trickered an awe...

TDD Workshop in Munich

less than 1 minute read

If you have been planning to get some TDD teaching you might consider to come to Munich on June 9 & 10 and attend my workshop on TDD with C#. The course ...

One Little Step for JetBrains…

less than 1 minute read

... but a giant leap for dotnetkind. Via Tim Goodwin I learned that ReSharper 4.0 will have the Inline Method refactoring built in. I've never really underst...

URL changed

less than 1 minute read

This blog's main URL has changed: https://blog.johanneslink.net The new feed URL is https://blog.johanneslink.net/feed/

Seven Years

less than 1 minute read

7 years ago the agile manifesto was published. Frank Westphal interviewed Henning Wolf, Jens Coldewey, Jutta Eckstein and myself about how we see, feel and l...

Refactoring FitNesse Tests

2 minute read

Have you ever had a Fit(Nesse) test suite of more than just a few pages? Have you ever tried to consistently change the names of test pages, fixtures, column...

Back to top ↑

2007

Is C++ Suited for Agile Development?

less than 1 minute read

My personal opinion on this is "only barely - if at all". If you can read German then Jens Coldewey's very good summary of the problems you run into if you t...

C# is not Java is not C# is not Java

3 minute read

Switching regularly between .NET and Java definitely does not facilitate remembering the details of one platform or the other. For me, however, it made me se...

Software Design Creationism

1 minute read

In case you have known me or this web log for a while you probably know that I am all into the evolutionary style of software development. In other words, I ...

Learning Groovy

1 minute read

There's a standard trick I use to force myself into learning new stuff: I agree to write an article or give a talk on a topic that I want to know more about....

How Cool is That?

less than 1 minute read

The latest version of Parallels Desktop for Mac comes with a feature called Coherence. It allows you to have MS Windows applications to be embedded in your s...

Coming of(f) Age

less than 1 minute read

It's a fact that we all are getting older, some of us are even getting old. Nevertheless, it came as a surprise to me that in my current consulting and coach...

Back to top ↑

2006

How to Regain Lost Passion - Maybe

1 minute read

XP Day Germany in Hamburg is over. I was quite nervous about it since it does not happen too often that I'm being invited to give a keynote on any topic I li...

ClasspathSuite for JUnit 4

1 minute read

Stefan Roock made me aware of the fact that Eclipse (3.2) does not have support for JUnit testing in a multi project setting. He points to some code by Björ...

Sharing Slides the 2.0 Way

less than 1 minute read

Today, I stumbled across Slideshare, a website for publishing and sharing your presentations. I'm still not sure if giving all of my material away is a good ...

Size Matters

less than 1 minute read

Achim, a friend of mine, tells a funny story about his experience with Deutsche Post and its standardized processes and procedures. Deutsch Post World Net cl...

The Tellerrand Series

less than 1 minute read

I finally managed to put all twelve articles from my infamous series "Jenseits des Tellerrands" in the German Java Magazin online (as PDF files). It's a coll...

The Janitor’s Configuration Dilemma

2 minute read

The right amount of configurability in software has always bothered me. Most of the time when using off-the-shelf software I've wished for LESS options to ch...

MVP revisited

1 minute read

In one of my early postings I introduced the model view presenter pattern as a feasible way to implement testable GUIs. Later I showed how you can easily ap...

Everything. Everyone. Everywhere. Ends.

1 minute read

I've stolen the title from one of the best TV shows ever: Six Feet Under. Although "Everything ... Ends" sounds like a truism, the way and speed at which thi...

What’s an Architect Anyway?

2 minute read

Evolutionary software architecture (ESA) has been one of my favourite topics for quite a while, despite the fact that I often look down my nose at people cal...

Farewell, My Lovely (*)

1 minute read

My not so private tech life has been rather quite during the last weeks. That's mainly due to the fact that I'm in the midst of changing my employer, i.e., I...

Rats

less than 1 minute read

You might think it's over, but it isn't All garbage has been collected. The remaining trash has been swiped away. But the rats, after having being crammed li...

AJAX Travelogue (Part 5): MVP in JayJax

3 minute read

I'll skip foreplay today and dive into the middle of things. Our goal is to realize   in such a way that the BookSearcher is implemented on the server ...

AJAX Travelogue (Part 4): JayJax

1 minute read

You probably couldn't help notice my very subtle hints to JayJax, the yet unknown little Ajax blah blah blah... JayJax is my most recent baby, and like any p...

Getting Used to It

less than 1 minute read

After 8 weeks of strike, the garbage collection service is supposed to pick up refuse today: I must confess that I sort of got used to stumble over garbage ...

AJAX Travelogue (Part 2): Communication

2 minute read

Are you looking for an online tutorial on Asynchronous JavaScript And XML? This is not the place for you then, but Max Kiesler's round up of Ajax online cou...

AJAX Travelogue (Part 1): The Pilot

3 minute read

There's hardly ever been a term in software development which has been picked up, digested and (ab)used as fast as AJAX (Asynchronous JavaScript and XML). T...

On broken windows, garbage and everything

2 minute read

You might have heard about the Theory of Broken Windows first formulated in an article by James Q. Wilson and George L. Kelling: "Consider a building with a...

Overcoming Tech Boredom

1 minute read

Actually, I thought it would be much easier to find a suitable provider for my first blogging attempts. Since my goal is to provide content and not to config...

Back to top ↑