Milen Dyankov

on a mission to help developers build clean, modular, and future-proof software

Recent Posts

  • January 09, 2018

    Java EE, EE4J, OSGi, ... and the paradox of choice

    Not so long ago, I had very interesting conversation with someone who works on Java SE. At some point we discussed the donation of Java EE to Eclipse Foundation. I don’t quite remember what statement I was making when I got this response (not a precise quote):

    Do you seriously believe this whole EE4J thing has any chance to survive? Oh my god, you are so naive if you do! We sent Java EE there to die!

    This was a private conversation and I didn’t ask nor I was given a permission to quote my interlocutor, so I’m not going to tell you who that person was nor where and when exactly this conversation took place. But the sentence got stuck in my mind. It made me think about OSGi - a technology claimed dead by way too many Java developers. Funny enough, many OSGi projects are developed at Eclipse Foundation. All of a sudden the Eclipse Foundation started to look like a nursing home for terminally ill “used to be famous” Java technologies.

  • November 10, 2017

    Am I against JPMS and microservices?

    I started writing this on my way back home from Devoxx BE 2017. The reason is, two things happened during the conference, that made me ask myself this question.

    First one was a conversation with a very well known person working on Java who was curious to know what benefits I (or perhaps the company I work for) get from publicly speaking against JPMS (a.k.a. JSR376 a.k.a. Jigsaw). The second was a message from a colleague of mine who was asking me to explain how do I feel about microservices because he apparently saw somewhere I’m publicly speaking against them.

    That got me thinking. Is it possible that two of my most popular talks, namely “What’s not new in modular Java?” and “Microservices and modularity or the difference between treatment and cure”, were picturing me as the person who is against JPMS (and therefore Java 9) and against microservices.

  • September 03, 2017

    Cleaning up my GitHub mess

    You know how it goes. You continuously stack stuff in the most convenient place (shelf, drawer, desk, …) and it’s all fine, up until the moment you no longer can find what you need. That is the day when you need to put everything else aside and clean up your mess. Not sure if it is Conway’s Law to blame but this seams to happen to my repositories on GitHib. And today was the day when I no longer could recall which repo is under which account, where it resides on my local hard drive and if it’s actually in sync. So today was my GitHub cleanup day. Just in case you need to cleanup yours or if you use one of my projects and something is no longer where you expect it to be, here is what changed.

  • May 06, 2017

    What to expect in post-JPMS Java world

    The atmosphere around Java 9 (and most notably JPMS a.k.a. JSR 376 a.k.a. Jigsaw) is getting really hot. Java community seams to be divided into 3 camps “developers who honestly believe JPMS can simplify modularity”, “developers who have been dealing with modularity long enough to clearly see the issues Java platform architects don’t want to see” and “developers who don’t care (for now)”. I personally think the 3rd group is by far the largest and this is the main issue and the main reason for the noise. Why? Because those are the developers who never cared about modularity. Most of them still don’t care, but now they will be forced to learn about modularity. The question is what will they learn? Real modularity as described in Modulariy Maturiy Model or limited version of it wrapped in a package with a label “simple” on it?

    This is not a new thing! The battle between “good quality code” and “simple to write code that works” is something that takes place in every project! And you know which one wins most of the time. At least I think I’ve been in this industry long enough to know, so I though I’ll write down a few prediction based on what I think will happen to JPMS and what impact it will have on Java projects in the following months.

  • March 16, 2017

    Getting feedback live

    I have spoken at quite some conferences over the last years. Part of the talks were just me speaking with some (hopefully not too ugly) slides behind me. Some were live demos. Either way, I’m almost never happy with my talks and therefore constantly looking for ways to improve. But in order to improve, first you need to know what your audience like and don’t like. It all comes down to feedback and constructive criticism. Some conferences are quite good at collecting feedback. Polish Confitura is on the top of my list, sending me a document that not only shows how people voted but also all the comments from their online survey. Most conferences though don’t bother to give feedback to speakers. Some don’t ever bother to collect it. It’s therefore been on my mind for a while to try to find a fun and easy way for attendees to provide feedback during (not after) my talk.