English Blog Posts

Parsing Strings with Haskell's Parsec Library

When I tried to walk my first steps with Haskell's Parsec library, I was unable to find a detailed tutorial aimed at non-experts in functional programming. So, after I got my code working, I decided to write that tutorial myself. (read more)


My Learnings from Working at TIM Group
When people in Germany think of offshoring, they might have a picture in mind where a company in Germany sends some developers’ work to the East: To Rumania, Bulgaria or even to India. The people in Germany often work in a different way from the teams in the East, and the German companies want the developers in the East to adopt the German culture. With a client of mine (a company called TIM Group), this works in the same way: They are based in London, and they send the developers’ work to the East as well, namely to me, as I am based in Germany. The teams in London also often work in a different way from what I am used to when working in Germany, and I would like to point out some differences and also show some problems that occur when working remotely. (read more)

Storing Passwords Safely

In order to store passwords on a computer, it is possible but not advisable to save them in cleartext. The problem with cleartext is that once the machine gets compromised, the attacker has access to the passwords of all users at once, and they can use them to gain more powers on the compromised system or to try to access other accounts if they can be linked to that user, in the hope that the same password was used there as well. (read more)

Craftsman Swap and Journeyman Tour

Sometimes people ask me what exactly a "Craftsman Swap" or a "Journeyman Tour" is. I'll try to shed some light on it in this article. (read more)

It's Shallow Rendering all the Way Down

Shallow Rendering was introduced to React in 0.13. Its promise is that one can write tests without requiring a DOM. Sounds great! This article takes a closer look at shallow rendering, how it works, what can be tested with it and what cannot. (read more)

Lightweight Stubbing of AJAX Requests in JavaScript

Fast Feedback As If You Meant It
AJAX requests are a standard way for a frontend application running in a browser to fetch information from a backend server. The interaction between frontend and backend is an important part of those applications, and as always, we want to test it. And, especially if the logic around the AJAX calls is a bit more involved, we want to test this in integration. (read more)

SoCraTes Germany

(read more)

The Eve of the SoCraTes Conference

The SoCraTes conference starts at 5 o'clock in the evening. I like this, for several reasons: (read more)

Setters Destroy Objects

... and I am not referring to dogs who are chewing on things ... (read more)

Software Development and Focus

When I read Andreas' article about developing without an IDE, I discovered that my point of view towards this topic is slightly different, so I'll try to explain it: (read more)

Story Point Estimation

I guess that most of the discussions around any part of Scrum that I participated in so far were related to estimating. Should we estimate in hours or in those ominous story points, and if we choose the latter, what does a story point describe? (read more)

Autoboxing is Evil

Since version 5, Java features autoboxing, which means that int and Integer are transformed into each other as needed, without cluttering the code with explicit conversions. (read more)

Deutschsprachige Blog-Artikel

Einführung in die Funktionale Programmierung

Erschienen als Gastbeitrag auf dem Blog von Digicomp: (weiterlesen)

Retrospective Prime Directive - Eine Alternative

Eine Retrospektive führt im Normalfall nur dann zu einem guten Ergebnis, wenn wir von gewissen positiven Grundannahmen darüber ausgehen, was die Motivation und die Handlungen jedes einzelnen in dem zu betrachtenden Zeitraum angeht. (weiterlesen)

Setter machen Objekte kaputt

... und damit meine ich nicht etwa Hunde, die auf Gegenständen herumkauen ... (weiterlesen)

NICOLE RAUCH 2014-2017 ©