GraphQL Meetup (London, Berlin, Munich)

I am in a lucky situation: I can experience how my company is using GraphQL, started as an experiment in 2015 until supporting it a public API. I was invited at a GraphQL Meetup to speak about this experience. If you are interested, you can have a look at…

1 minute read 06 November 2020

Open source and sole maintainers

Open source and sole maintainers Last year I was in the very sad situation of losing one colleague and friend, Oleg. He was the creator and the maintainer of some open source libraries. Among them the famous Sangria, a scala implementation of GraphQL. Thi…

4 minute read 11 February 2020

Supporting heterogeneous types in Scala

The objective We want to create a function that takes a list of scala classes as input, and outputs a list of all elements, each element being encoded as json. For encoding in json, we use circe. This function should be generic and works for any type we c…

5 minute read 18 October 2019

Rust in 2018

This is my contribution to the #Rust2018 blog posts. Why I started with Rust My daily job is to implement scalable backends in Scala. I very like Functional Programming and async IO. But I have some pain point in Scala/JVM and I was very interested to see…

2 minute read 14 January 2018

Rust closures as input parameters

Edit: Update (May 25) I am learning Rust and, as a beginner, I have sometimes problems achieving some little tasks that would be so easy in other programming languages I know better. But when I met some Rust developers and they ask me about my difficultie…

5 minute read 23 May 2016

GraphQL Meetup in Berlin

Honeypot organized the first meetup about GraphQL in Berlin and I had the pleasure to be invited to talk about my experience. My topic was Performance optimisation with GraphQL. You can find the slides for the other talks here.

1 minute read 19 May 2016

migrate a playframework app from 2.3 to 2.5

Recently I migrated several play applications from the version 2.3 to the version 2.5. As this experience may interest other people, I decided to write about it. So let's start! Migration from 2.3 to 2.4 First, we will migrate the application from the ver…

4 minute read 26 April 2016

trampoline execution context with scala Futures

Disclaimer: I am continually learning, and this post reflects my current understanding of the topic. I may be wrong. Do not believe directly what I write. Test what you need. If you want to provide some precisions or corrections, please contact me on twit…

5 minute read 10 February 2016

review of Essential Slick (for Slick 3.0)

I had the pleasure to review the book "Essential Slick" about Slick 3. I really enjoyed reading it. For anyone starting a project with Slick, I highly recommend this book, in particular to learn about: how to build queries that can be composed …

2 minute read 07 December 2015

play framework meetup in Berlin in November 2015

During the play framework meetup in Berlin in November 2015: for a better workflow between designers and developers Laura made a very good talk about how to better organize the work between front-end designers and developers. For that, her team build some…

2 minute read 17 November 2015

DI with play 2.4

During the play framework meetup in Mai 2015, there were 3 talks about Dependency Injection (DI) in Play 2.4: from Micheal: runtime DI in Java with Guice, the default framework introduced in play 2.4: https://github.com/schleichardt/play-2-4-di-talk f…

1 minute read 20 May 2015

goto conference 2014

My notes from the goto conference Berlin 2014: Thursday Opening Keynote: Software Design in the 21st Century - Martin Fowler We, developers, take responsibility in the code we write. We cannot simply say: "I implemented that because I was told so&quo…

4 minute read 10 November 2014

asynchronous IO for Play! applications in servlet 3.1 containers with the play2-war plugin

A Play application does not need any container and runs directly in production. However some organizations prefer to run play applications within a servlet container and can use for this the WAR Plugin. I am very pleased to share that this plugin is now c…

6 minute read 10 August 2014

enlarge your test scope

At the beginning at the year, I had the chance to present how to organize a play application with the Cake pattern at Ping Conf. I showed how this pattern enable designing the application as components, how to reduce visibility of specific gateway's model…

7 minute read 30 May 2014

SLF4J Mapped Diagnostic Context (MDC) with play framework

I'd like the share with this post one solution I found to use a Mapped Diagnostic Context (MDC) in an asynchronous environment like the play framework. Edit (September 2014) Based on one implementation from James Roper, I added one solution based on Akka …

6 minute read 04 May 2014

Server side rendering for JavaScript ReactJS framework

Flicker effect with JavaScript applications A lot of web applications are nowadays build with a JavaScript framework, rendering the HTML in the browser (client side). There are a few reasons for this, like: avoiding server-browser round-trips to modify o…

8 minute read 15 March 2014

ping conf 2014

In January, I had the pleasure to participate and give a talk at the ping conf. Ping conf was the first world wide community conference about the Play Framework!. This conference was very well organized. I'd like to thank all the organizers one more time …

5 minute read 17 February 2014

DevOpsDays Berlin 2013

direct from DevOpsDay Berlin 2013, my notices: Program Videos Day #1 From the presentation from Immobilienscout - Marcel Wolf, Felix Sperling Dev AM rotation: exchange between Dev and Ops Self service VM unique configuration server, accessible to anyo…

5 minute read 08 May 2013

Handling data streams with Play2 and Server-Send Events

Handling data streams As the version 2 of Play! Framework was published, I was very interested in its new capabilities to handle data streams reactively. As a technical proof of concept, I wrote a parser that works with chunks of data instead of loading t…

6 minute read 12 August 2012