Jelastic has chosen Christoph Engelbert as one of our Most Interesting Developers for July, 2014!
Christoph is a passionate Java developer with a deep commitment for Open Source software, mostly interested in Performance Optimizations and understanding the internals of the JVM and the Garbage Collector. He loves to bring software to it's limits by looking into profilers and finding problems inside of the codebase.
In addition, he is highly interested in new ideas, technologies and new ways of solving problems. He has a deep understanding of IP based technologies like Protocol Stacks, TCP, UDP and asynchronous service implementations and fast serialization solutions.
Normally Christoph doesn't like to reinvent the wheel but he does like to do so if there is a reason and a chance to make it faster or easier to use.
He also recently started speaking at international conferences and he's having a lot of fun.
Tell us about yourself.
Imagine the biggest weirdo you know, multiple him by two and you’ll probably end up nearly to what I am. There’s only a simple problem: I’m not a one thing weirdo.
I love and live to write code, I actually dream in the night about ideas and solutions. Some of my best ideas were created while dreaming them.
I’m also a huge fan of online role-playing games and invest a lot of time into them (probably even too much sometimes), same for Manga and Anime which I actually fell in love with about 15 years ago.
Last but not least, my biggest time investment is my girlfriend and future wife, of course. She actually deserves it 🙂
Do you think you are interesting? If yes, why?
Upfront it is actually very cool to be considered being interesting for what you love. There are many interesting developers out there and, well, maybe I’m one of them - but actually not to me.
Can you tell us a little about your first development project? Is it still available today?
My first project was a small text adventure (about an hour long) on a C64. For sure it was never released, I was 11 at that point.
Over the past years I was working on a lot of projects and most of them are still available, especially a lot of gameserver projects. Actually the best known of my projects is Apache Lightning a subproject of Apache DirectMemory.
Preferred coding language?
I used to program in C++ for a long time and actually my first contact with Java was back in the old Java 1.2 days. Everybody looking back on that time probably remembers hating it. At that time it was what people still think of Java: memory consuming, slow, in one word, unusable.
I switched back to C++ and had to look again at Java at the end of 1.5 / beginning of 1.6 area thanks to a project. My expectations were totally blasted after the first days in that completely new world.
The answer to the “why” itself then is pretty simple:
Java, as a language, was designed from to be more readable than writeable. Knowing that it means it is very verbose but still we read code way more often than we write it!
On the other hand Java, as a platform - the JVM, is an amazing, ever evolving piece of genius work. A lot of the best performance engineers working on it and a lot of different languages running on top of the JVM - there’s at least one language for everybody, I’m pretty sure of.
Any groups or open source projects that you are part of?
First of all there is Hazelcast, the leading opensource In-Memory Data-Grid, of course. It is an Apache 2 licensed solution for partitioning data, distributed computing and in-memory computations. We also have an Enterprise edition which adds a lot of important features for huge enterprises such as offheap and advanced security.
There is also Apache DirectMemory which is a local onheap or offheap cache. I contributed Apache Lightning as subproject to Apache DirectMemory to be the future standard serialization mechanism for it. It’s a bytecode generating serialization system (a dream-project btw).
Last but not least I’m engaged in some specification groups. Together with Peter Lawrey and a lot of other people we try to create a new official Java Offheap API, at the JCP (Java Community Process) I recently joined the JCache specification group to help moving this to the next level for next version.
What is the value of opensource projects?
The biggest value for me about opensource is the huge chance to amaze the best and most interesting people and give them the possibility to make a great project even better - let’s call it crowdsourcing 🙂
Why do you like working with jClarity and Hazelcast?
jClarity is an amazingly interesting product. It helps you find problems with the Garbage Collector of your JVM and offers really nice insights of what’s going on with the memory of your application.
My first contact with Hazelcast is more than 2 years ago. At that time I was working in the gaming industry and looking forward to a high performance cluster solution for our gameserver systems. I knew Hazelcast by its name before and taking a deeper look at it it seemed perfect: easy, distributed implementations of a lot of the Java standard APIs and nice additions were practical. This is still the most important factor for me and the whole company: ease of use.
You don’t like the GPL. Why?
I’m actually a huge fan of truly free licenses which in fact the GPL is not. It forces certain obligations on me like you have to make your own project GPL again if you use a GPL licensed library.
What might be a huge win for GPL people is actually a bad thing to me. I think we don’t have to force people to contribute back to projects, they still do even on Apache, MIT, BSD, … licensed projects.
Who do you think is the most interesting developer in the world (excluding yourself)?
Wow that is actually a hard question. As mentioned above I have a really long list of blogs to follow (about 200) and most of the writers are really interesting to me, the reason I’m following them. Picking the most interesting one is not that easy, probably impossible so let’s pick some of them.
Peter Lawrey, Marcus Lagergren, Norman Maurer, Charles Nutter, Brian Goetz and so on. The list could go on for ever.
If you happen to use Jelastic, can you tell us what you like about it or share any apps or projects created with Jelastic?
I haven’t had the time to use it up to that point but probably there might be a chance to see a Hazelcast cluster running in Jelastic someday? 🙂
Actually, we have already done this. Check out our blog post here.
And just for fun...
Choose one of the following:
Book or a movie?
There is no or: programming book AND action movie
Where is your favorite place to write code?
I made my home office a very nice place to work and also my couch 🙂
Finish this sentence:
...one of the best ways to quickly interact with people and learn about what they are working on.