From now on, new content will be published to a new URL: http://froland.be.
Previous content has been copied to the new site so you can change your bookmarks.
See you soon on http://froland.be.
From now on, new content will be published to a new URL: http://froland.be.
Previous content has been copied to the new site so you can change your bookmarks.
See you soon on http://froland.be.
Posted in Uncategorized
In this webinar, Sven Peters @svenpet shared some thoughts about git workflows used at Atlassian. Continue reading
Posted in Uncategorized
Tagged Branching (revision control), ci, Continuous integration, git
The website voyages-sncf.com 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
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.
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
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.
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.
Posted in Uncategorized
Tagged Architecture, Devoxx, dv13, fault-tolerance, patterns
Hi,
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:
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.
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.
The programmer heaven can shortly be described as working in a kick-ass team to develop a kick-ass product.
What big companies are doing in hiring great people and paying them bonus of all kind… to finally put them in jail and force them to follow strict rules.
So what can we do?
Starting a revolution… and being at high stakes of losing our job?
Complaining. Not very effective.
So the idea is to “be the change you want”.
But don’t be a fool. The changes have to be profitable for everyone. The developer. The company. And don’t forget your customer. So for every change you want to implement, be sure to measure the change impact and to use time boxes when appropriate. You want to be seen as the guy who brought smart changes. Not as a cowboy. But even then, be prepared to fail. As that is inherent to great ideas. Some of them works. And then there are the others.
Following are 7 things that we can do to improve our team spirit and productivity. These have been tested at Atlassian. Remember that this doesn’t mean they will work for you or that there aren’t other (even better) ideas to try.
Let’s define flow time as an uninterrupted time period you get to do your work. No urgent email, no phone call and noone to disturb you. This is the time when we programmer are the most productive.
The ideal is that we can work alone in a closed-door office. But right now, companies are building large open-space landscape working place. But then there is still hope.
Both of these require some degree of collaboration and maybe some visuals to clearly state who to contact and when not to bother the team.
Score: 4 out of 5 feasibility points and 2 out of 5 awesomeness points.
A developer’s brain is always hungry. So you’ve got to feed it. Here are some ways.
Score: 5 out of 5 feasibility points and 2 out of 5 awesomeness points.
Appreciation, even of small things, is important for happiness. And to carry even more effectiveness, it should be made easy to say thank you publicly to everyone without censorship.
Score: 2 out of 5 feasibility points and 3 out of 5 awesomeness points.
We should record and report over everything possible. We can make reports about time, features, code reviews, velecity, sales, web traffic, support cases, interviews, …
Those facts can be recorded easily in databases and reports generated automatically. Those automatic reports can then be displayed on information radiators (i.e. large screen in the hallway).
Score: 2 out of 5 feasibility points and 4 out of 5 awesomeness points.
Everytime it’s possible (come on, there’s always a way to do it) we should use the product we are developping by ourselves. Meaning developers team should be its own alpha tester.
Acting as your customer make you more akin to understand her.
Even if using your own tools will often prove to be painful, this is the shortest way to get feedback. This will allow you to use less QA and to use it better.
Score: 2 out of 5 feasibility points and 5 out of 5 awesomeness points.
Over time, we tend to accumulate a backlog of unpleasant things. So it’s sometimes useful to forget about the current sprint for a day and have a special day to empty this backlog.
Exemple of special days are:
The purpose of those special days are to put stuff out of the door and keep the focus on the sprint the other days.
Score: 5 out of 5 feasibility points and 3 out of 5 awesomeness points.
At Atlassian, experimentation time is declined in multiple ways.
Ship it days are some kind of hackathon.
2 to 3 weeks before the Ship It day, a brown bag session is organized to gather ideas and federate teams around them.
2 days before, a mini sprint planning meeting is held to organize the work on that day.
On the Ship It day, teams are working non-stop during 24 hours to deliver something. At the end of those 24 hours, each team is given the opportunity to present what they’ve done during a lightning presentation and a winner is voted for.
These days are a cool way to foster the innovation and make your nerdy developers happy.
Each team member is given 20 % of his work time to explore. This time is reserved for innovation. This time is independent altough it must have something to do with the company business.
This kind of policy can create conflicts. People may be needed by others while on their 20% time. The workload may be too high so that people themselves cut it out. The sprint goals may be put at risk because of it.
So sometimes it is more manageable to turn those 20% time into an innovation week.
The score of both Ship It days and 20% time: 4 out of 5 feasibility points and 5 out of 5 awesomeness points.
Here are some interesting ideas to try. So let’s try to put at least some of them in practice. But remember that they can fail too. So take precautions. Measure the impact. And make it one step at a time.
The presentation slides are available at http://svenpet.com/slides.