Installing Arch Linux on Dell XPS 15

My latest laptop, a Dell XPS 15 9550, is a charm. For nearly one year I’m using it now, it never failed. Its screen is gorgeous, its autonomy allows me to write software while commuting in the morning and in the evening and yet there is still plenty of juice to go on for a 2-3 hour duty during the night.

I had a previous setup with Windows 10 and WSL that was quite flexible. But even then, it never felt like the real thing. So I tried to install Ubuntu some months ago but I got disappointed. Taming the 4K display was a challenge that I was unprepared for so I switched back to Windows 10 for 6 months.

Recently, I thought it was worth giving it a new try. But this time, I wanted to test another Linux distrib I had heard of: Arch Linux. When I looked at the install manual, it reminded me of the old time when I was working with Gentoo. When every change you wanted to implement on a machine was going to take you a fair amount of time. But nevertheless, I gave it a try. And now, I’m very pleased with the achieved result. Which is why I’ll share with you how I set up my XPS 15 with dual boot windows 10 and Arch Linux.

Continue reading Installing Arch Linux on Dell XPS 15

Hadoop data-mining swiss army knife by @plopezFr and @BertrandDechoux at #devoxx #DV13-HadoopCode

Hadoop data-mining swiss army knife

The website sells half of the Thalys tickets in France and is one of the most visited websites in Europe. That high load triggered a huge amount of logs that, at first, were not used. After some time, they wanted to sek value in those logs and started investigating solutions for distributed computing. Continue reading Hadoop data-mining swiss army knife by @plopezFr and @BertrandDechoux at #devoxx #DV13-HadoopCode

Shaping the future of web development by Lars Bak at #devoxx

Shaping the future of web development

Conference given by Lars Bak at Devoxx 2013.

Nowadays, an ever growing part of the population don’t even bother to start any other application than a browser. More and more applications are web applications.

An obstacle to web applications is the development productivity.

Javascript is not a well structure language and lacks both complete and consistent libraries and tooling.

Continue reading Shaping the future of web development by Lars Bak at #devoxx

Practical RESTful persistence by @shaunmsmith at #devoxx

Practical RESTful persistence

EclipseLink provides a JPA-RS implementation. Let’s see what hides behind this.

The use case is a web application with the main logic inside the browser and a backend providing only persistency. We want to provide a REST API to that persistence. Continue reading Practical RESTful persistence by @shaunmsmith at #devoxx

Java 8 and beyond #devoxx #dv13 by @mreinold and @BrianGoetz

Java 8 and beyond

Keynote performed at Devoxx 2013 by Mark Reinhold and Brian Goetz

Java exists for 18 years. Nothing can stay so long in the field without evolving.

One of the latest evolution in computer science is multiplication of cores and pipelines in processor.

For that reason it is intersting to look at problems from a perspective where everything is splitted in parallel data flows which split and split and split until complex problems resolve themselves as a multitude of simple parallel calculation.

To support that perspective, closures were added.

Continue reading Java 8 and beyond #devoxx #dv13 by @mreinold and @BrianGoetz

Fault tolerance made easy by @ufried at #devoxx

Fault tolerance made easy

Given by Uwe Friedrichsen at Devoxx 2013.

It describes a series of patterns applicable to vast majority of applications in order to support a user-friendly degradation of functionalities when a resource becomes unavailable or that the load becomes too high to cope with every request in a satisfactory way.

Continue reading Fault tolerance made easy by @ufried at #devoxx

Environment-specific configuration in a maven-spring-mvc project


For once, this article is not about a conference but about some issues I thought about recently.

The context is a training session I give in my company. In that training session, I use a web app to illustrate some points and let the attendees perform some exercises. The web app project uses maven, spring-mvc and multiple databases (mysql and hsqldb) for different purposes (local playing, local integration tests, CI integration tests and “production”).

Those different purposes have different needs. Ideally, I would like to have something like:

  1. local playing –> local mysql database
  2. local integration tests –> hsqldb in-memory database
  3. CI integration tests –> dedicated mysql database running on the CI server
  4. “production” –> dedicated mysql database running on the “production” server

To update schema updates, I use liquibase. I would like to run it in update mode on environments 1, 2 and 4 and in drop-and-create mode on environment 3.

I know a lot of different solutions that can achieve this situation, but the solution must be neat (it’s a beginner training application and thus shouldn’t attract the focus on themes I don’t want to talk about). Currently, I still haven’t found THE perfect solution. So I’ll describe the ones I’ve already tried with some kind of success in coming articles. Feel free to propose anything in comment. I’ll be glad to investigate your propositions.

Devoxx 2012 article: How to make good teams great


This presentation rocked. This is only my personal advice and is completely subjective. Anyway, I’ll repeat it: this presentation rocked.

Everything was there: good slideware, an interesting and well-structured content and, last but not least, a smiling and entertaining presenter.

Sven Peter (@svenpet) presents himself as an Atlassian Ambassador.

Let’s go and see what this guy had to say. Continue reading Devoxx 2012 article: How to make good teams great

Devoxx 2012 Oracle keynote: Make the Future Java

Oracle stated success factors

  • technology innovation
  • community participation
  • Oracle leadership

The current work focus is currently put on JavaFX and embedded Java development.

What’s new in JavaSE 8?


The first big change is the inclusion of closures. These adopt the form of

(x, y) -> x + y

Those closures will come with a whole new set of methods, specially on collections, in order to provide some kind of fluent API. There will also be a new keyword default which will allow developers to provide a default implementation on an interface.

Type annotations

Type annotation give further information to the compiler and thus allow it to check some invariants at compile time. Such checks can be nullability checks, immutability checks and so on.

Compact profile

This new profile defines a subset of essential libaries that will be part of a reduced Java Platform aimed at embedded JVMs where memory consumption and file space are concerns.

JavaEE news

The JavaEE 7th version will focus on simplicity and support of HTML5. The JavaEE 8th version will be more oriented towards cloud support and modularity.

And after?

The next goals will be embedding on more and more devices and platforms (e.g. iOS or ARM processors) on the one hand and providing “embedded suites” containing a JVM, an application server and a database together.