I was very honored to deliver the opening keynote at DevOpsDays Zürich 2026 (in Winterthur, of course) on May 6th, 2026 with my new talk, "Engineering & Ethics: Responsibility by Design". As engineers, we might build systems that shape millions of lives, but it’s easy to lose sight of their broader impact. How do we balance the pressure to ship fast, or even AI-fast, with our responsibility to…
Je prépare une conférence grand public pour expliquer l'IA, comment ça marche et comment en tirer parti de manière responsable et durable. En attendant que je la présente, voici déjà son résumé et la biographie qui va avec! Si vous voulez vous faire une idée de mon style de présentation, la page pressbook présente des enregistrements de conférences passées. Intelligence Artificielle, défis et…
I had the pleasure to present my view on the history of Apache Sling, at the adaptTo conference in Berlin in late September 2025. Including a few kazoo interludes, why don't people put more music in their talks? The conference schedule page has more recordings, as usual the conference was superbly organized with lots of great talks. As for links to things that I mentioned in my talk, the story of…
We often consider software engineering as one discipline, but I think foundational and application software are almost two different worlds. The required skills and processes can be very different when building foundational software that's expected to run for years, as opposed to application software that might have a much shorter lifespan. This is especially important when considering that large…
I had the pleasure of giving my talk on the Power of Simplicity, Crafting durable software systems at DevOpsDays Zürich 2025 today (in Winterthur - of course), and enjoyed it very much. It was my first time at a devopsdays conference , and I enjoyed a number of nice touches that I haven't seen elsewhere. Maybe I haven't been to enough conferences, but all of this was new to me: The use of a…
A post in French about a talk that I gave at devfest Dijon 2024 . Voici quelques liens utiles pour complèter ma conférence d'aujourd'hui à DevFest Dijon. Merci de donner votre feedback sur la conférence! Les slides sont disponibles ci-dessous. Ne manquez pas mon pressbook pour les enregistrements de mes autres conférences, articles, interviews etc. Je mettrai un lien sur l'enregistrement dès qu'il…
Discussions about whether we should use Artifical Intelligence helpers for creative work remind me of musician's unions attempting to ban synthesizers and drum machines, back in the early eighties, as told by the articles linked at the end of this post. Such a ban sounds funny today, we are way past that fortunately. In the meantime, musicians have learnt to combine these tools with their own…
It'll soon be 25 years since I started collaborating via mailing lists in open source communities. The best practices for using mailing lists haven't changed much since I started doing that: using mailing lists efficiently requires discipline from everyone involved, and if that's lacking you get a big mess, misunderstandings and a waste of time. How to avoid that? Read on! One Topic Per Thread…
Here are the slides and recording of my "Distributed teams that actually work" talk at Devoxx UK today. The trick of adding my expected timings at the bottom of section title slides was useful, timing is always a challenge when doing a talk for the first time. It worked. Distributed teams that _actually_ work - Devoxx UK London, May 2023 We're unable to show this preview, but you can find the…
I don't know about you but I've been having a hard time getting accepted for speaking at Devoxx conferences. So I'm very happy to be speaking next week, on May 11th, at Devoxx UK on distributed teams that actually work . Preparing that session, I realized that I never mentioned my presentation at Devoxx Paris here, on asynchronous decision making, back in ...2018, time flies!. Presenting there was…
Speaking (in French) at the Very Tech Trip conference in Paris in February was nice! Although the conference is very clearly vendor-driven, being organized by OVHCloud, a major European cloud provider, the vibe was very nice with lots of great technical content. Attendance was free, including food and beverages, which is a nice touch. My talk was entitled " VanillaJS et la Web Platform, le couple…
Speaking of Web Components, this script lists the custom elements registered on a browser's current page. ( [ ... new Set ( [ ] . map . call ( document . querySelectorAll ( '*' ) , el => el . nodeName . toLowerCase ( ) ) ) ] . filter ( customElements . get . bind ( customElements ) ) . sort ( ) ) You can run it in your browser's JavaScript console to analyze the current page. That's how you can…
Youngsters who might be interested in doing an apprenticeship with us were in the office this week, and I spent an afternoon teaching them the basics of programming. I decided to try using Sonic Pi for this session, and I'm super happy with the results. The youngsters were already programming music about 10 minutes after starting the program, having lots of fun while learning important programming…
Moving this blog to a platform where I have more (as in complete ) control has been on my mind for a while. With Spring arriving I took the plunge and moved this blog to a new setup based on the 11ty static site generator, using Matt DeCamp's eleventonia starter project for the theme. I've been able to keep most of my URLs stable over the years, but you'll probably find some dead links in older…
Generative AI is great - but we shouldn't believe everything it tells us. I just asked ChatGPT who were the initial committers of the Apache Sling project (I was there), and here’s the answer that I got: The initial committers of the Apache Sling project were listed in the project's first announcement on the Apache Sling website in September 2009. The initial committers listed were: Bertrand…
This is mostly a notes to self post, about something that I rarely do and that has become much easier than what I remembered. I recently created a website for a community project in my spare time, using React , which is a lot of fun and also shows how things have evolved since I last did any substantial front-end work, which is a long time. But this post is not about React, it's about creating and…
This being the year of COVID-19, many of us are recording videos for online conferences. While I cannot claim to be a professional video producer, by far, I did work for a video studio during my studies (a long time ago - Betacam days, yes) and have been doing audio recording and remixing on and off since then, moving from analog tools to the incredibly powerful software and cheap but decent…
The below message is from 2000 but I think it still applies to open source collaboration in the 21st century. I wasn't part of the Apache Jakarta story myself but have heard of that a few times over the years... It was written by James Duncan Davidson , I don't take any credit for what follows - I just copied it back here from a public archive , to make it easier to find it next time I need to…
I haven't published here in a while, but I've been writing and presenting elsewhere: Coordinating the Adobe Tech Radar as its Lead Editor. Writing on Medium from time to time. Presenting at a number of conferences, in English and French, see the list in my pressbook . My biography on this blog is mostly current, please have a look if you need more info! A personal blog is less relevant for me…
As open source comes of age and becomes mainstream, more and more job postings include "open source skills" in their requirements. But do you really want to hire someone who spends their time exchanging flames with members of their own community in public forums? Someone who greets newcomers with "I have forwarded your question to /dev/null, thanks" and other RTFM answers? This blog post of mine…
I'm amazed at how many so-called "enterprise software systems" do not embrace the Web model in 2010, making them way much harder and much less fun to use than they should be. I have recently started making parallels between this and music teachers, and the analogy seems to work. Don't ask where the parallel comes from...weird connections in my brain I guess. This blog post of mine was initially…
I originally published this article on SD Times, republishing it to keep it around for posterity... If you’re looking at embracing open source today, you might be a bit late to the game. Using open-source software is mainstream now, and being involved in open-source projects is nothing to write home about either. Everybody does it, we know how it works, its value is proven. But what’s next?…
How would you feel if you had to regularly expense $1200 so you could “tell a few teammates something”. Think that would go over well? (Jason Fried) Last Monday I presented on Asynchronous Decision Making at the (excellent) FOSS Backstage Micro Summit in Berlin and there were some questions about me saying that status meetings are a waste of time. My opinion on status meetings hasn't changed in a…
Here’s a “survival guide” that we use at Adobe to help our colleagues make sense of our busy Open Development mailing lists. I initially published this blog post on the Adobe Open Development blog at http://blogs.adobe.com/ but that's been archived so I'm re-publishing it here for convenience. Thanks to Adobe for allowing me to spend a portion on my time reflecting on such topics! To send or not…
My current Fiat Punto Sport is the second Diesel car that I own, and I love those engines. Very smooth yet quite powerful acceleration, good fuel savings, a discount on state taxes thanks to low pollution, and it's very reliable and durable. And fun to drive. How often does Grandma go "wow" when you put the throttle down in your car? That happens here, and that Grandma is not usually a car freak.…
French-speaking fortysomethings might remember the Shadoks, a two-minute TV comics show that aired on ORTF when I was a kid. Those silly (and funny) creatures need to get to Earth as their own planet, on the left of the sky, is falling into pieces. They spend their time pumping on bicycle-like contraptions to produce Cosmogol 999 fuel to power their rocket towards Earth, while respected Professor…
As much as I like the microservices concept (*) the name does not really make sense to me. Why would decoupled services necessarily need to be micro ? Focusing on a service's size is the wrong crusade for me, I'm happy as long as a service does one thing and one thing well - but that thing might be too large for a micro service. We had good discussions about this with my colleagues and on Twitter…
Being able to redeploy your OSGi bundles automatically when you make changes to their source code is very useful when developing Apache Sling applications, for example. Today I tried the fizzed-watcher-maven-plugin on a Sling sample bundle, and it seems to work quite well. I just had to add the following to my POM: <plugin> <groupId>com.fizzed</groupId>…
While waiting for the soup to be ready and for the guests to arrive, let me wish all of my readership (yes, both of you guys) a Merry Christmas! And if you allow me un post en français pour une fois, voici la recette de la dite soupe! Si vous connaissez Roger vous savez qu’on peut lui faire confiance pour ce genre de trucs. L’alcool s’évapore à la cuisson bien sûr, pas de problème avec les…
Today I had the pleasure to attend the Master's thesis defense of our intern Artyom Stetsenko, titled Continous Deployment of Apache Sling Applications . Coaching Artyom for this project has been a pleasure, he did a great job and worked independently while listening very well to our advice. He got an excellent mark for his thesis and that was well deserved. Also due to an excellent no-bullets…
I regularly review talk submissions for tech conferences, and here's a list of what I'm mostly looking for when deciding to accept or reject a talk. Other reviewers might be looking for different things - this is just my own criteria. My first question is always are you going to get people interested in your stuff . Are you a dynamic speaker who keeps people on their toes, or the kind of person…
I’m currently working on my keynote for next week’s Connect - Web Experience 2014 conference in Basel and very much looking forward to it! Last year’s conference was excellent, and this year’s schedule looks very exciting. My keynote is about the value of simplicity in software - including a few tales from the trenches. We like to think of what we build with AEM as large enterprise systems, with…
I'm sorry to be ranting here instead of writing about more creative things, but here's a perfect example of the "second-system effect" - replacing simple software that works perfectly well with something supposedly more powerful...that doesn't work. My Sony Xperia V phone used to upgrade over the air. Get a notification, wait until you have a good Internet connection, start the upgrade, wait a few…
Prompted by a colleague's question about profiling the startup time of Apache Sling systems, I vaguely remembered writing something a while ago, but couldn't find it immediately. Funny how one's memory works - it took me a while to find it again, but I did indeed write an OSGi events recorder + timeline utility in SLING-1109 . That utility has since moved to the Apache Felix webconsole events…
From the very useful tools department: today I stumbled on jq , via Jeroen Janssen's 7 command-line tools for data science blog post. As the tagline says, jq is like sed, grep and awk for json: a command-line filter that lets you format, select and output JSON data. As an example, here's how you can list all the OSGi bundles from your Sling instance together with their state. The raw bundles.json…
Preparing my Open Development in the Enterprise talk for ApacheCon NA 2013 in Portland the week after, I've tried to capture the basic wisdoms of day-to-day work in an Open Development environment: If it didn't happen on the dev list, it didn't happen. Whatever you're working on, it must be backed by an issue in the tracker. If it's not in the source code control system, it doesn't exist. If it's…
Although I had marked the date in my calendar, a great ApacheCon kept me busy and I missed Tuesday's date for announcing that it's been ten years now since I started blogging. Not that you'd care...though it's fun to see that my interests and professional activities haven't changed that much in ten years. Less blogging of course, as over time this blog has morphed into an outlet for more…
Great keynote by Leslie Hawthorn at Berlin Buzzwords today - here are my quick notes. As with a garden, you need to cultivate your community, it doesn't just happen. You need to define the landscape - where you want the garden to grow. For a community this means clearly defining goals and non goals. The landscape needs to be regularly assessed - are we welcoming to newbies? Can new plants grow…
Thinking of RESTful services as intelligent websites helps drive our architecture decisions towards simplicity, discoverability and maximum use of the HTTP protocol. That should help us design services that are easier to use, debug, evolve and maintain. In this post I'll try to address a few important aspects of RESTful services, considering them as intelligent websites. We might need more formal…
Update: I'm re-reading this in April 2023, twelve years later, and it's impressive how well this also applies to our modern chat-based communications channels. The Basic Principles never change, really . Since being part of a larger company, I'm hearing people saying "we need a new mailing list for that" way too often. People are afraid of busy mailing lists sometimes, but in terms of fostering…
Some tools, like the Sling OSGi Installer , require the MANIFEST.MF to be the first file in a jar file, or they won't find it. This happens when using the java.util.jar.JarInputStream class to read a jar's manifest, for example. The manifest is where OSGi bundle headers are found, for example, so not having it in the right place makes the jar unusuable as a bundle. I won't discuss here whether…
Here's my quick on-the-spot notes of Mark O'Neill's ( @marxculture ) excellent presentation , on how a government's IT can innovate. Citing Andrew Savory, never thought I'd see govt. spokesperson be entertaining and informative . Reminds me of my excellent experiences working for the Swiss Parliament services in the late nineties. Here's my unedited notes - slides should be available soon. URLs…
I'll be turning 42 in a few months (counting in base 12 of course) and it feels like a good time to reflect on what it is that makes my job enjoyable. My father was a carpenter, and both my brothers started with that as their first job, so I'm kind of the disruptive element of the family (I didn't say black sheep , ok?). So, why did I choose to work with cold electronics (my first degree) and…
I've been studying the collaboration processes of the Apache Software Foundation (ASF) for a while [1], by observing and practicing the successful collaboration model that we use in ASF projects. Taking the opposite angle, I've been reflecting lately on how to fix a broken collaboration model. How do you help teams move from an "I have no idea what my colleagues are doing, and I get way too much…
Zdnet.com is talking about the ASF accepting or rejecting a new project - let me mention that this is not exactly how things work. The only way to create new projects at Apache is through the Incubator , so if project FOO wants to join the Apache Software Foundation, that can only take the form of a proposal for incubation (see examples at http://wiki.apache.org/incubator/ ). That proposal is then…
Google recently announced their +1 button , which will without a doubt make the Internet a better place. What's not to like +1? As everybody knows the +1 concept has been invented at the Apache Software Foundation (ASF) - and it seems like there's event an ASF patent pending on it. ( Update: see also here , via @jaaronfarr ). Our voting process makes extensive use of this simple and very effective…
When I was a kid, my aunt gave me a book called the art of engineering . The title sounded weird to me at first - isn't engineering the opposite of art? It's not - artful design can be visible in the best pieces of software, and not only at the user interface level. I find the realtime display of Firefox 4 downloads by glow.mozilla.org fascinating, and being my curious self I wondered how the data…
We're moving to fragment bundles in Sling instead of using system properties, for example to export packages from the JVM's classpath. If you have no idea what I'm talking about, bear with me - this is just about a simple Maven trick to transform POM properties using bits of Groovy script. Basically, an OSGi fragment bundle is a jar file that contains just metadata under META-INF, especially…
I've seen about five examples just today where speaking in URLs (I spoke about that before , slide 27) would have saved people from misunderstandings, and avoided wasting our collective time. When writing about something that has an URL on a project's mailing list, for example, pointing to it precisely makes a big difference. You will save people's time, avoid misunderstandings and over time…
An Anonymous Coward (as they call them) on Slashdot provides the clearest explanation I've seen so far. I'm only quoting the original comment here, see the discussion on Slashdot for follow-ups: The problem is that to be a compatible Java implementation you must pass the TCK. To get a hold of the TCK you must agree that your Java implementation has a limited field of use, namely desktop computers.…