This week i attended the european version of Laracon. It was a lot of fun and i talked to a lot of friends. There where a lot of great talks, but i had one favorite talk: the one about Monads by Christopher Pitt.

Monads?

Yes, Monads. The Monads design pattern comes from functional programming. It is basically a way to write code like this:

$store->address->city

What happens if a store has no address? This would throw an error. Monads are a way to work around this while leaving this code intact. Christopher used PHPs magic methods to reach this result.

The unconference

Laracon also offered an unconference track. The concept is simple: Anybody can give an talk on any subject. In the weeks before the conference i decided that i wanted to give an talk, but i did not really know a good subject.

While i was at Laracon on one of the subjects, there where questions asked about testing. And then it hit me: Testing is something i like, it makes met program faster and makes me easily refactor existing code. But it took me some time to get at a level where i did this comfortable. So i decided what the title had to be: The introduction to testing i wish i had.

So the evening after day 1 i opened Google Slides and started working. I had about an hour to spare so it was a very quick presentation. Luckily i only had to talk for 20 minutes, which is something i can do easily. So i created some code, took a screenshot of it and put it in the slides. But then i had a better idea: I created some extra tests and decided to show them live.

I did not receive much feedback, but some people where mind blown by the use of dataproviders. With this you can run the same test but with other input.

Reflection

What could go better? Well, for starters, i don’t talk english very often. I need to improve this. A second thing is that i didn’t had time for a test run. So while i was presenting i realized that some choices where odd. I noted them for a next time.