jPrime 2017 slides (2017)

Here are the slides from jPrime 2017

The JCP & The Future of Java, Heather VanCura
Automata-Based Programming - General Purpose Finite State Machines, Daniela Kolarova
A Pragmatist’s Guide to Functional Geekery, Michał Płachta
Fantastic Java contracts - and where to define them?, Milen Dyankov
Non-blocking Michael-Scott queue algorithm, Alexey Fyodorov
Easily scale enterprise applications using distributed data grids, Ondrej Mihaly
Full-Text Search Explained, Philipp Krenn
The Art of Clean Code, Victor Rentea
Turbo Charge CPU Utilization in Fork/Join Using the ManagedBlocker, Heinz Kabutz
Distributed Tracing, get a grasp on your production, Nakul Mishra
JAX-RS 2.1 Reloaded!, David Delabassee
Gluing the IoT world with Java and LoRaWAN, Panche Chavkovski
Riding the Jet Streams, Christoph Engelbert
Enterprise JavaScript... What the Heck?!, Vladimir Pavlov, Nedelcho Delchev

Hacking Streams and Collectors, Jose Paumard
Picking the right AWS backend for your Java app, Julien Simon
Spring Framework 5: Themes & Trends, Juergen Hoeller
Building an Enterprise Data Fabric at Royal Bank of Scotland, Mike Fulke
Cluster your MicroProfile Application using CDI and JCache, Roberto Cortez
CI/CD of blockchain smart contracts using Java and eDuke, Frédéric Hubin
Fibers – blocking is cheap in a Parallel Universe, Stefan Minev
High Performance Managed Languages, Martin Thompson
Competitive food retail architecture with microservices, Ansgar Brauner, Sebastian Gauder
JUnit 5 - The Next Generation, Kostadin Golev
Java EE 7 meets Java 8, Roberto Cortez
Reactive Mesh, Kalin Maldzhanski
Building High Performance Applications with Spring Data and MongoDB, Kiril Stefanov

Read More

Interview with Christoph Engelbert (2017)

Christoph EngelbertThe JCache guy

With a great pleasure we will welcome Chris Engelpert for the second time here in Bulgaria for #jPrime2017! A small interview with him just before our conference:

Hi Chris! Can you please introduce yourself?
Hey, I’m Christoph Engelbert, Manager of Developer Relations at Hazelcast. That said right now, I’m doing exactly what my CEO expect from me: I’m in a hotel somewhere in the world, answering interview questions from somewhere else in the world, flying to yet somewhere else afterwards.
In general, the probably best way to describe my job is a lot of airports, airplanes, taxis, hotels, conference center, and trolling on twitter :-)

This will be your second visit to Bulgaria and our JUG. First time we were talking about JCache. What about will be your talk on this edition of jPrime?
Yeah it’s the second time and Bulgaria is really nice. Looking forward to come back!
At jPrime I’ll talk about Jet Streams. That means the fast flowing air currents around the world. In a more technical fashion, it’ll be about Hazelcast’s new stream processing framework, Hazelcast Jet. Given that, we’ll do some cool live coding (if you’re fast enough also hands-on) for our take on a distributed implementation, as well as a little bit of the much more powerful, underlying DAG API. For people that don’t know yet what that means, join the talk and learn about DAGs. If I get the chance and I’m still trying to make this happen, we will do live calculations with Hazelcast Jet from a live data feed of the World’s Jet Stream using APIs, doesn’t that sound like a good bridging of topics? ;-)

You were very active in the sun.misc.Unsafe debate recently. What is your take on the upcoming Java 9 in general and particularly in project Jigsaw?
I’d say good and bad. Given that I’m answering these questions relatively late (or because I’m good at fortune telling) I know that the first Jigsaw JSR proposal (JSR376) was down voted by the JCP EC yesterday, whereas the umbrella JSR for Java 9 (JSR379) was accepted. So the overall feature set of Java 9 is perfectly fine to the EC, however the specification for Jigsaw still is not yet clear enough or some issues still have to be fixed. The expert group now has 30 days to fix the spec and resubmit.
I was one of the people to down vote it in the EC and I stated my issues with the current specification, mostly based around two facts. The missing consensus inside the EG itself, as well as problematic “features” like the warnings if you activate “—permit-illegal-access”.
In general I think Jigsaw is a good idea, however I would like to see it as an “implementation detail” of the JVM. I don’t think it solves too many real world problems, as without versions support it is only meaningful to people that control all bits of the system. That certainly is the JDK team itself and maybe a handful of users building monolithic-styled applications. For Hazelcast, as a library vendor, we need versions. And to make sure we’re all on the same page, I’m talking about simple versioning, like “our Hibernate-Integration version X works with Hibernate version Y to Z” and not the famous multiple versions in the JVM at the same time because log4j 1.x was so badly designed - that is a whole lot of a different story.
That said, I don’t think Jigsaw will have too much influence and the adoption rate for Java 9 might still be low, but thanks to our “kill-switch”, slightly higher than it was expected a few months ago. JShell… nah, don’t get me started. HTTP2, yep definitely nice, would be a back port for Java 8 too (I think), so nothing too wow for Java 9. My personal favorite though is the Stack Walking API (! I guess I would call my relationship to Java 9 as “acquaintance” but there are relationship goals to meet ;-)

You work as “developer relations”. What are the challenges in that new type of job that we see in a lot of companies nowadays?
I would say the biggest problem, traveling the world which is a big part of the job, is, that there’s still no way to beam myself from point A to point B in the blink of an eye. Weren’t we supposed to have this by now, looking back at the movies and series of the 80s? Maybe the USA did already invent it and is just not telling us? :-( The second biggest challenge is community management. A lot of the work is manual and people want to be entertained but also being showed appreciation for their work, which is just fair. I love my job and I love to see when people take something and make it their own, no matter if we’re talking about an issue, a pull request, a blogpost or whatever. And, as mentioned, I love to show appreciation, that’s where the Hazelcast Hero program comes in to specifically honor the most active community members.
Apart from that, I don’t think there are too many other problems or they all derive from what was said above, like in Developer Relations you need to show the effectiveness of the program because traveling is expensive. You see, beaming would help :-)

Is there something you like to do except programming?
I love cooking and barbecue, or let’s better said, I love food in general. Since I don’t see too much of the actual places I travel to, I always love to get the real local food experience and it hurt my soul going to India and knowing you cannot get street food without ending up ill. A lot of people wouldn’t believe it but I really enjoy eating and especially trying new, yet unknown, food. Apart from that, my life’s pretty boring and mostly consists of working on one project or the other. Fortunately there’s one more point to my life I really don’t want to miss, my wife. She’s a huge support since traveling means you’re not home too often and I guess there are not too many people to be ok with that.

Thank you very much! See you soon in Sofia!

Read More

Interview with Martin Thompson (2017)

Martin ThompsonThe Performance guy

In this edition of #jPrime2017 we have a great focus on performance, thanks to one of the world's most experienced specialist in it – the Java Champion Martin Thompson! Here is a small interview with him:

Hi Martin! Can you please introduce yourself?
In development terms I'm an old timer now. I've spent a lot of my career enabling clients to achieve things they never thought were possible and this is often comes by achieving new levels of performance from software.

What is your talk going to be about? What is the main message to the audience?
I'm going to talk about what the major issues are in performance and how our managed runtimes stack up against native compilers. Hopefully the audience will take away a deeper understand of what can be achieved with compilers and managed runtimes.

You are a performance guy; are there any major performance improvements we should expect in upcoming Java 9?
Java 9 has been very focused on the new module system - Jigsaw. There are a few improvements with the new Thread.onSpinWait(), compact Strings, and new intrinsics but not to much to report home about.

Actually does current Java fit the modern requirements for high performance computations in the branches where it is mostly used?
Current Java can achieve great things from a performance perspective and gets used in a number of high performance applications. However there is still a significant scope for improvement especially with regards to controlling memory layout and its provided networking libraries.

What about some real life hobbies?
Software development takes up the majority of my time. I like to stay as active as practically possible and have to accept that my days doing martial arts as a huge part of my life are in the past. When I can I love to get out and see live music and watch movies.

Thank you very much, Martin! See you in less then a month here in Sofia!

Read More

Interview with Heather VanCura (2017)

Heather VancuraThe JCP Chair

We are truly happy to have the chair of JCP Heather VanCura here in Sofia in less then a month! Just before her awesome session about the JCP we have made a small interview with her:

Hi Heather! Can you please introduce yourself?
I am Director of the Java Community Process (JCP) program. I have been involved with the JCP program for the past sixteen years and am currently serving as the JCP Chair. In this role I chair the Executive Committee (EC) and the JCP program office. I drive the efforts to evolve the JCP program and broaden participation and diversity in the community, serving as an international speaker and community organizer of developer hack days around the world. I am also a leader of the global Java User Group Adoption programs - Adopt-a-JSR and Adopt OpenJDK.

You are the chair of Java Community Process. This organization has made a huge impact on the evolution of Java and JVM. How do you see the future of JCP?
It became clear to me some time ago that communities, even very technical communities, are fundamentally about people. Keeping that tenet in mind, we will continue expanding participation in the JCP program from the community, and build on the success of membership drive we had last year - over three hundred new members joined the JCP program in 2016. We started expanding our membership following the completion the latest version of the JCP program, JCP 2.10, with a goal of broadening JCP membership from corporations, individual developers and Java User Groups (JUGs). We will also continue recognizing leadership within the community through the annual JCP Awards, Star Spec Lead recognition and the global Adoption programs - Adopt-a-JSR and Adopt OpenJDK. The heavy lifting of the JCP program happens through the community development of Java Specification Requests (JSRs). JSRs to evolve the Java platforms and the work happening in the JSR Expert Groups to complete the latest versions of the platforms, Java Standard Edition (Java SE) 9 and Java Enterprise Edition (Java EE) 8 will continue throughout this year. In addition, after discussion with the JCP EC during the London face to face meeting, there are areas we identified where the JCP EC can make some improvements in the JCP program to evolve it even further to meet the needs of the Java developer community - improving coordination with OpenJDK, revitalizing Java ME efforts in the embedded and IoT related space, and enhancements around collaborative development happening in the community.

You are also a great supporter of Women in Tech. You definitely have inspired a lot of women to talk. Is there still a lot to be done in this field?
I hope I have inspired some women to become more involved and speak at conferences - we need them! I do spend some time mentoring other women and serving as a role model, which is essential for younger women. I do believe there is still much to be done here, and that this is a societal issue, not a women’s or minority issue. Technology does reflect the people who make it and currently the people making technology are primarily men. There is good amount of discussion around improving diversity in technology, but in order to actually change the representation, we need men to take action — actively ally, support, sponsor, mentor and champion women. When men take these actions, we will see start to see change. It can start today with each action, small or large. There is an article link if you want to read more from me on this topic, or a slide link to a talk I give if you want to link to it: ""

You travel a lot, but this will be your first time in Bulgaria. What are your expectations about the country and the jPrime conference?
I am always impressed with the generosity and kindness of the Java community members in every country I visit. This is my first visit to Bulgaria and I am looking forward to meeting with members of the community and learning about their perspectives within the Java community. I would like to try some Bulgarian cuisine, enjoy some live music and dance performances, take in some of the architecture of the older buildings, and perhaps get a closer look at some of the nearby mountains.

Is there something you like to do beside the IT?
Yes, many things! I love to travel and meet new people around the world, learning about their culture, including trying their cuisine and hearing local live music or seeing some arts. I also enjoy trying new sports/fitness activities, and being outdoors whenever I have some free time. I like to be quire active!

Thank you very much, Heather! Looking forward to seeing you in Sofia!

Read More

Interview with Jürgen Höller (2017)

Juergen HoellerThe Spring Guy

We are incredibly happy to have co-founder of the Spring Framework Jürgen Höller on #jPrime2017! Our attendees will have the privilege to learn what's coming next in Spring and directly ask questions about evolution of the Framework. But before that, we are delighted to present a small interview with him:

Hi Jürgen! Can you please introduce yourself?
Hello everybody, I'm Jürgen Höller, co-founder of Spring and serving as the core architect ever since. You can find myself talking about Spring at conferences and user groups but I actually spend most of my time leading the development efforts on the core Spring Framework ( and providing guidance for related projects in the Spring ecosystem.

You are the co-founder of the Spring Framework since the very beginning. What is the main secret of why it gained such a great popularity?
We started Spring in the classic application framework tradition back in 2003, providing an open source programming and configuration model for enterprise Java applications, with a unique style of our own and integrating with many existing Java technologies out there. The Java enterprise landscape around us certainly changed quite a bit since then, and we're early adopters of many recent trends, but our design principles are fundamentally still the same. This continuity is a key factor.
One of Spring's design principles is its highly decoupled architecture, enabling a wide variety of runtimes and custom usage scenarios. In many enterprise projects, Spring brings brand-new programming model elements to existing application server environments (e.g. Spring Framework 4.3 on WebSphere 7 on JDK 6) while also allowing for best-of-breed stacks with the latest and greatest innovations in the Java landscape (e.g. Spring Boot with Spring Cloud and the Netflix stack on JDK 8).

Spring expanded vastly in the Java enterprise world; are you planning to expand in other branches?
We brought a Spring port to the .NET platform for several years. However, eventually, we did not see enough adoption on .NET and decided to focus all our efforts onto the Java platform, in particular investing into the R&D projects which became Spring Boot and Spring Cloud. And now around Spring 5, we once again venture into new territory on the JVM, e.g adopting Kotlin and of course JDK 9. Java's server-side ecosystem is alive and kicking, so I don't see a need for Spring to expand beyond it.

How do you see the future of Spring Framework in general?
The JVM landscape is once again at a pretty interesting point, with many industry trends forcing us to reconsider the traditional Java ways of doing things. Spring is in a great position as the application framework of choice for a wide variety of architectural styles, be it modern monoliths or decoupled microservices, against an equally wide variety of datastores and messaging mechanisms. I'm curious to find out about the applications that people will be building on Spring 5, in particular with our new reactive facilities!

What are your hobbies except Spring in your real life?
Good question, since I'm indeed rather passionate about Spring and the Java ecosystem in general, not differentiating between the work and hobby part of it. Beyond that, I reserve most of my spare time for family life... And in my evenings, as a dedicated fan of music and the performing arts, I'm enjoying all sorts of live concerts and contemporary theatre productions here in Austria.

Thank you very much Jürgen! See you soon in Sofia on #jPrime2017!

Read More

Interview with Alexey Fyodorov (2017)

Alexey FyodorovThe Guy

We are continuing our #jPrime2017 featured speakers interview series. This time with Alexey Fyodorov, who is not only highly experienced Java developer, speaker, Java Champion, Russian JUG Lead, but also our colleague in terms of conference organization.

Hi Alexey! Can you please introduce yourself?
I'm a Russian JUG leader and conference organizer. Our team makes about 15 annual conference on Java (JPoint, JBreak, Joker), .NET (DotNext), iOS/Android (Mobius), JavaScript (HolyJS) and others. Before I started making conferences, I worked in Oracle for 3 years in Java Compatibility Kit project.

Your topic is truly hardcore with some strong theory underneath. What are its main implications in real projects?
My main goal as a speaker is to make the participants think that there is nothing ideal and free in software engineering. For every useful feature you have to pay something. In my particular talk, I will show, how Atomic primitives help to make effective multithreaded solutions, but, at the same time, I will show you what you have to pay: CAS-based solutions are more complicated than lock-based, less people around you may understand your code, and a performance under contention may fail.

You are the Russian JUG lead and the organizer of three biggest Java conferences in Russia. What is your recipe for a good conference?
My recipe is: 20 cool speakers + 20 teammates + 20 sleepless nights. Hard work and perseverance — these are the keys to success!

As far as I know you are now fully focused on conference organization activities, but do you have time to code? May be to contribute somewhere?
I permanently write some code for our conference activities. For example, in 2016 I wrote a system analyzing conference participants feedback, which makes a talks rating and forms various reports for my teammates, speakers and program committees. In 2017 I plan to make a recommendation system, which will prompt to every participant on which talks he/she should go to, based on his/her areas of interest and previous conference experience.

Is there something you do beside IT, some real life hobbies?
In the past 2 years, I'm seriously studying marketing. Managing clients is much more difficult taks than managing computers :)

Thank you very much Alexey! See you soon in Bulgaria!

Read More

Interview with José Paumard (2017)

Jose PaumardThe Streams guy

We are starting our interview series with jPrime2017 featured speakers. The first interview is with Java Champion José Paumard:

Hi José! Can you please introduce yourself?
My name is José and I've been using and teaching the Java technologies for about 20 years. I live in Paris where are I work as an assistant professor at the University and as an independent contractor for various companies. I do training and expertise in Java SE, EE and software craftsmanship.

What is your on this year’s jPrime talk going to be about?
I'll be talking about lambdas and collectors, two APIs added to the JDK 8. These API are completely new, as they are leveraging lambda expressions and as they bring new patterns to the Java space, mainly in the data processing area. Mastering these API leads to very readable code and also very efficient, so it's a double win for people using them. They are not that easy to use, mostly because the patterns they bring are completely new in the Java space. So to use them efficiently you need to change the way you create solutions to problems. It is not about mastering a new framework, but really about thinking in a different way.

Java added lambdas and Stream API in version 8. Do you think it makes is a good competitor to functional languages or it is still far away from that?
This is a question that comes very often. Yes, Java added lambda expressions to you toolbox, and it is just great. But it does not make Java a functional language. Along with Streams, it brings some functional features to an Object Oriented language. Functional programming has its pros and cons, and Object Oriented languages too. But functional programming is not a silver bullet to create business applications. If it was, we would all be programming in Lisp or whatever purely functional language, and it is not the case. Java is taking a path on which we can have the best of both worlds: objects and functions. By the way, if we take a look back at what were OO languages 20 years ago, and the patterns used to create business applications, we can see that things have changed a lot! We do not program Objects as we used to 20 years ago. But Java is still there, C# is still there too. OO languages evolve, embrace the best things that can be taken from functional programming, and this is just great. New ideas need to be introduced and tried and improved in the business space, and at the end of the day, the main languages can support them in the best way possible. And guess what: those new ideas are implemented on the JVM, making their integration in Java easier. With more than 200 different languages supported, the JVM is with no doubt the best tool to test new ideas and new language features.

You work as University professor. What is your opinion on the next generation of programmers?
I must say that becoming a proficient Java programmer is harder and harder, due to the amount of things you need to know for that. In an ideal world, you need to know how CPUs are working, how they exchange data with the memory, how caches are organized, what is NUMA etc... You also need to understand how a JVM works: interpretation, just in time compilation, garbage collection. Then you need to know the language well, lambda are a huge addition to that, on top of imperative and object programming. The same for the APIs: Collection, Stream, IO, Concurrent programming. Then you need to learn how the database work, SQL, JDBC, and an ORM tool, probably hibernate. You also need to understand the service layer, how transactions are handled. And at last, you need to know REST Services, as well as SOAP because you will most probably work on legacy applications. It would be good to know a little about web interfaces, JavaScript and Angular. This is for the technology part. On the method part: Git, Maven, Jenkins, maybe also Docker and stuff. None of this was there 20 years ago, half of it appeared in the last 10 years. But the problem is: you do not have more hours to learn all this at the University. More and more in the same amount of time! A tough problem to solve... And we haven't say anything about the NoSQL space.
At some point you have to make choices, because you will not be able to learn everything. So I think that programmers are going to be more and more specialized, with a good knowledge of the language, its main API, the methods, and one specialization or two, on the backend (SQL or NoSQL), or the web interface, mainly REST Services. For me the notion of "full stack" developer is more a marketing stuff than a reality. Being an expert in all the fields will not be possible anymore. It is probably already the case.

Except programming do you have any other hobbies?
I have been working in education for 20 years now, and I think it is really a passion. 20 years ago: barely any Internet, no YouTube, real slides (I mean, plastic one, not PPT files!), no laptop (there were so expensive!), blackboard and chalks. Now: most of the conferences just push everything to YouTube, many Universities are broadcasting their courses live. Reaching high quality courses in now just a matter of clicking on the right link. This is just great, and the question is: how can we leverage all this awesome resources to better train young people? Even people who cannot attend University courses, and they are many. We need to rethink the way we train students, the way we train people all along their lives, and the way we can bring more people to graduate level, even those who cannot come to Universities.

Thank you very much, José! See you soon in Sofia!

Read More

New community partner: HUJAK (2017)

We are pleased to welcome the Croatian Java user group (HUJAK) as a community partner of jPrime.

They are organizing two great community conferences in Croatia: Javantura which is currently a one-day conference with a focus on latest trends in the Java world and its bigger brother conference called JavaCro which is at the beginning of May just a few weeks before jPrime (call-for-papers is currently opened until beginning of March).

They recently announced officially the 2017 edition of jPrime on their community web site:
Read More

jPrime 2016 recordings available (2016)

All jPrime 2016 recordings are now available.

You can find them in the Bulgarian Java User Group youtube channel.

The Bulgarian Java User Group

Read More

jPrime 2016 slides (2016)

Read More

I'd like to buy a ticket with a credit card (2016)

This is a dropbox for everyone that would like us to support online payments - essentially a credit card payment.

If you got here through the newsletter, your vote FOR e-payments is received.

If you got here through another way, send us an email if you want e-payments. The email is in the top left corner.

Read More

Interview with Kees Jan Koster (2016)

Driven technical architect, coach and Java expert Kees Jan Koster will speak at this year's JPrime Conference in Sofia, Bulgaria. Here is an interview him.

Hi Kees! Can you please introduce yourself?
Sure. I am a freelance technical architect in the Netherlands. I like to move from customer to customer. For each customer I bring the things that I learned at my previous customers, but I also come to learn something new. What I bring and what I learn is slowly changing. I used to bring Java and learn Java. Recently, soft skills have been added to that. I still bring Java and technical concepts, but I also bring time management and planning to development teams.

It’s all about monitoring. Is Java and JVM actually good for monitoring and configuration management? Is there something you actually would like to add?
The JVM is very good at telling you when it is unhappy. It is just that nobody seems to really listen to the JVM. Luckily there are many tools that can help you listen better. Some come with the JVM, such as VisualVM. Others are on-line or paid products. I would advise all Java developers and sysadmins to invest time into learning about JMX and Java monitoring.

You pay great attention to soft skills and organizational activities. So what should be the proportion of soft skills and technical knowledge to make a perfect combination?
Given that many in Bulgaria will work for International customers, I think there is a great need for soft skills in Bulgaria. Remote team work is very demanding on communication skills. Reading body language is hard enough when done in person. Mix in instant messaging and bad video quality, and it becomes very easy to get into a misunderstanding. I think this is easily overlooked, both by managers and developers themselves. When I do interview with candidate developers, I find that I look at soft skills only. How does he or she react when I ask things they do not know? When they explain something, how well do they express themselves? Do they notice when my face tells them they are not answering my question? Soft skills are hard to learn. By comparison, Java is a lot easier. Soft skills are harder to learn because they ask you to change your habits. On the other hand, learning soft skills can be hugely rewarding. Improving your ability to listen improves both your work and personal life.

What do you think would be the next steps in the evolution of the JVM?
Soft skill support? ;-) For the JVM, I think that the evolutionary steps should now be small. Java is a solved problem, even if there is plenty to improve left. The JVM is solid and pulls some amazing tricks to eek out extra performance. I would suggest for developers to learn more about the internals of the JVM, possibly help improve it by joining in the community process.

Is there something you monitor in the real life?
Not much, to be honest. I watch my kids grow up, not sure if that counts? :-)

Thank you Kees Jan! See you in Sofia!

Read More

Intereview with Kai Kreuzer (2016)

Developer Evangelist at DTAG Kai Kreuzer will bring the spirit of IoT to the JPrime Conference in Sofia, Bulgaria. We are delighted to make a short interview with him.

Hi, Kai! Can you please introduce yourself?
I am a Developer Evangelist working for Deutsche Telekom on the QIVICON smart home platform. I have been a fan of Open Source software for a long time and when starting in the field of home automation 7 years ago, I decided to directly open source my newly created hobby project openHAB. Since then it was a fascinating journey with a rapidly growing community and the creation of the Eclipse SmartHome project, which has become the foundation of professional smart home solutions as well as of openHAB 2.0.

So you work at Deutsche Telekom and are the lead of the OpenHAB and Eclipse Smarthome projects. What do you think be the role of Java in the future of smart homes?
Java is facing a difficult situation on end devices that are usually highly constrained in terms of CPU and battery power. JavaME is trying to address this, but it is a challenge to compete against C and other natively compiled languages here. For more powerful devices such as TV sets or home gateways and routers, the costs for powerful CPUs are rapidly decreasing, which makes Java a good option. Its natural strength is its easy portability through abstracting the underlying hardware. Java is mainly suitable for higher level functionality like serving as an integration point, hosting and running applications etc. and not so much for low level connectivity on transport the layer.

What is the adoption and the current state of progress of OpenHAB? What about Eclipse SmartHome?
As for any open source project that does not require any registration or „calls home“ it is difficult to know details about its adoption. As a rough figure, there are at least many ten thousands of users and I am often told that it is one of the most popular open source home automation solutions out there. I also see it being heavily used at universities for research and education, which is cool. Eclipse SmartHome - being the underlying framework for building smart home solutions - has naturally a much smaller target audience, but also here I see increasing interest from companies that are building commercial offerings.

How do you think will home automation impact the lives of people on the planet in the upcoming months/years?
I have honestly no idea. Despite the fact that home automation is around since more than two decades, we are still in a very early market phase with a lot of activity and frequent changes. The great thing is that anything is possible and therefore predictions will most certainly fail. Due to the fragmented market landscape I believe that it will nonetheless still take a while before we see any bigger effects on the way most people are living. My hope is that it will really serve the people and not only the companies - data privacy is a big issue in this respect and a strong focus of all my work.

Home automation is also your personal hobby - can you tell us how do you apply it in real life?
Well, openHAB was born out of my personal needs. I am using it for many different aspects, for comfort, security and energy saving alike. „Remote controlling“ is probably the least important feature, the possibility to integrate different devices in different personal use cases is what brings most value for the daily life. These can be so simple things as the shutter not automatically closing at dusk, if the terrace door is open (and hence likely someone is still outside). Notifications are also an important piece of the puzzle, e.g. to be reminded that windows are left open when leaving the house or to have callers being announced in the house through text-to-speech.

Thank you very much! And see you soon in Sofia!

Read More

Interview with Simon Ritter (2016)

True legend of Java, former head of Java Technology Evangelism at Oracle, currently CTO of Azul Simon Ritter be a speaker in the second issue of the JPrime Conference in Sofia, Bulgaria. We have the pleasure to make a short interview with him.

Hi Simon! Can you please introduce yourself?
Having spent nearly twenty years at Sun Microsystems and then Oracle I recently took on the position of Deputy CTO at Azul Systems. We are the only company that is entirely devoted to the JVM, so it's a really good fit for me.

Actually Java was born and has evolved before your eyes. Its now 21 years old and is the most used programming language on the planet. What made it so special?
I think the biggest feature that has lead to the success of Java is how easy it is to use. James Gosling always described Java as a "Blue-collar programming language". It was designed to enable developers get the job done with as little fuss as possible. This has continued over the last 21 years. Although Java is sometimes criticized for being too verbose this can often be an advantage, since it makes code more readable. A lot of developers spend most of their time maintaining code rather than writing new code. Being able to understand what was written by someone else makes life a lot easier.

How do you think, will Java dominate the next 21 years? What could stop it from doing so?
I firmly believe that Java will continue to be one of the most popular programming languages there is. The fact that the language is not static (look at the introduction of Lambdas and Streams in JDK 8 to provide a more functional style of programming) means that Java continues to evolve to meet the needs of developers. I doubt there will be a new language that will suddenly replace Java; people have tried most ways of creating languages, so it's unlikely a new language will be massively better than Java. The only thing that will affect the popularity of Java is if it starts to stagnate and not change to add cool new features. JDK 10 promises some interesting things in the form of value types that will again add freshness to Java.

You are now working for Azul, famous for its alternative JVM. What makes alternative JVMs more preferred? Is there a big market for them?
In the case of Azul our commercial JVM, Zing, is targeted at applications where you don't want to have to worry about long pauses caused by a full compacting garbage collection. This can happen with all other commercially available JVMs because of their design. We use a different algorithm that can compact the heap concurrently with application threads still doing work. This is very appealing to companies that need low-latency and low-jitter GC for their applications. We also provide a free binary distribution of the OpenJDK project called Zulu. This makes sense for customers looking for an alternative when considering support costs for the JVM. This is also available for embbeded systems (both Intel and ARM based) with no licensing fee required.
There certainly seems to be plenty of companies that think our JVM technology provides value to them, so I would say that there is a pretty big market for alternative JVMs

As far as we know Java and UNIX is something you do the whole life. Maybe you like doing something else in your spare time?
Between the extensive travel that I do and spending time with my family there's not a whole lot of 'spare' time left! My other big passion is cars; I really like watching Formula 1 and keeping up to date with the latest technological advances like hybrid power systems. If I had more time (and money) I think I would like to try some form of motor racing.

Thank you very much for the interview! See you quite soon in Sofia!

Read More

Interview with Hadi Hariri (2016)

Hadi is a developer and creator of many things in OSS, JetBrains evangelist, and this year's jPrime Conference speaker. We have talked to him about his vision on the domain.

Hi Hadi! Can you please introduce yourself?
I'm a Developer, Speaker and Developer Advocate at JetBrains.

So you work for JetBrains, which is famous for it's IDE. But its not only limited by the IDE, it has some great contributions to Java. Which of them you like the most?
Well we're mostly known for ReSharper, our .NET Visual Studio plugin and IntelliJ IDEA, our Java IDE. But we've expanded to over 20 tools, including IDE's for almost any language out there, as well as server-side tools and of course Kotlin, our OSS language for the JVM and JavaScript.

What interests you the most in the Java evolution tendencies?
For me, one of the most powerful aspects of Java, isn't Java the language but Java the ecosystem, Java the virtual machine. It's a platform on which openness has thrived, where many languages have appeared. This for me is a statement of the openness and reach of the ecosystem.And I'd love to have that continue.

Post Java community driven languages tend to raise. How do you see the Kotlin’s future?
Kotlin tries to address some of the issues we've had with Java as well as others. We're betting on its future and hope that adoption will continue to increase. We're actually pleasantly surprised by the sudden increase we've had over the past year and even more so once we hit 1.0.

Is there something else you do beside coding?
Quite a bit, which unfortunately means often I have less time for coding. In addition to my role as a developer advocate and somewhat managing the team, which doesn't require much given that it's a great self-driven team, I also work on things that are internal to the company, mostly around awareness, communication and collaboration between different teams. As the company has grown, and hitting over 600 people, it's important to keep the communication flow going.

Thank you, Hadi! See you in Sofia in May!

Read More

Interview with Andres Almiray (2016)

Andres is a Java/Groovy developer and a Java Champion with more than 16 years of experience in software design and development will be a speaker in the second issue of the JPrime Conference in Sofia, Bulgaria. We have the pleasure to make a short interview with him.

Hi Andres! Can you please introduce yourself?
I'm Andres Almiray, Java Champion and true believer of Open Source. I've been writing Java code since the early days, half of that time has been spent contributing back to several open source projects, most notably the Groovy, JavaFX, and Asciidoctor ecosystems.

You are the JSR377 lead, actually what is the main motivation on working on it?
Java developers know there are many choices to choose form when it comes to writing web applications; sadly that's not true when it comes to writing desktop applications. This JSR aims to solve this problem by delivering a standardize API that can be used to build desktop applications, also targettng embedded devices where JavaSE and Java Embedded can run. Why? Because writing an application that targets either environment (or both) most likely follows the same principles.

Now even embedded devices have quite productive browsers capable of showing good graphics, so how does the Desktop/Embedded API compete here?
As much as browser applications have advanced in the last couple years it's still impossible for them to reach certain level of functionality that only desktop applications can have. In terms of security there's also a limitation, as you not only have to secure the application itself but also the tool used to interact with the application: the browser. There are many organizations out there (research, financial, exploration, military) that simply won't take the risk of deploying a web application for these and other reasons. For these organizations a desktop application is the way to go.

We are very excited about running the Hackergarten during jPrime 2016. How do you motivate the developers to participate?
What happens in Hackergarten does not stay in Hackergarten. We're a very open bunch of developers and we welcome everyone that would like to spend some time with use hacking on a particular open source project. Whether it may be fixing a bug, providing a new feature, adding missing tests, writing documentation or creating a podcast; every contribution matters. Many developers in the past have wondered how can they contribute to Open Source projects but never took the first step. Hackergarten meetings are an ideal place to take the first step. We're usually surrounded by project leads and open minded people. You always learn something new at a Hackergarten, that's a guarantee.

What about some real life hobbies?
I like to spend time with my wife hiking on mountain trails and enjoy the country side.

Thank you very much, Andres! We are looking forward to seeing you here in Sofia soon!

Read More

Free pass for a JUG lead (2016)

We are pleased to announce that one lead per every Java User Group receives a free pass for jPrime 2016. If you are a JUG lead willing to attend the conference - drop us an email at with your names and the name of the Java User Group you lead.
Read More

Call for Papers 2016 is OPEN (2015)

The CFP for 2016 is now open.
You can submit your talk at
The jPrime 2016 will happen on 26.05.2016.
The slots will be 45mins as in 2015.
Read More

jPrime 2015 videos (2015)

Finally we managed to get the videos of the first addition of our conference. They are uploaded in the Bulgarian JUG account in Youtube. You can watch them here:

"Catch me if you can" - Java on wearables, Gerrit Grunwald
Microservices and Modularity or the difference between treatment and cure! , Milen Dyankov
Coding Culture, Sven Peters
Scala- one step ahead, Vassil Dichev
JCache is here. Say Goodbye to proprietary Caching APIs!, Jaromir Hamala
You need to be really productive: then Try Apache Tapestry, Nikola Bogdanov
The Secrets of Concurrency, Heinz Kabutz
The core libraries you always wanted - Google Guava, Mite Mitreski
Nashorn Under the Hood: Making This Rhinoceros Thunder, Attila Szegedi
Common sense driven development, Bozhidar Bozhanov
Introduction to MVC 1.0 (JSR 371), David Delabassee
Make Your Existing App Android Wear Compatible, Orhun Mert Simsek

They are part of our jPrime 2015 playlist. Enjoy!

Read More

jPrime under attack (2015) has been under a weird attack since the 15th of July.

Almost half a million login attempts from almost 3000 different IPs.

Most of the attacks come from Hong-Kong and China. In the top ten are GB and Romania.

Read More

jPrime travels the world (2015)

jPrime is now an international brand:

Marmaris (2) Marmaris (3)  Mladost,Sofia (2) Mladost,Sofia Nadejda,Sofia Sofia Toroni (2) Toroni MarmarisOrsey,Vitoshka,Sofia IMG_4993.JPG IMG_4992.JPG IMG_4963.JPG

/via Krisi and jPrime friends
Read More

Why would someone organize a conference? (2015)

Every morning I wake up to this: Screen Shot 2015-05-20 at 23.09.29and this: Screen Shot 2015-05-20 at 22.21.30. Every day I wage a fruitless war to go down to zero on both fronts and I fail miserably. But I'm getting better.

Recently we managed to "inject" a company as a gold sponsor after all the deadlines have passed. We did it in 20 minutes after 6 phone calls.

The server firewall failed. Someone fixed it on a Saturday morning.

Our invoicing architecture after so many patches fails to follow all the complex branches of the process of issuing an invoice. We somehow manage to still use it fruitfully. And I have big plans for rewriting most of it.

ePay integration was a pain it the ass. Very bad documentation, different undocumented services, support could be better. But it was fun encrypting and decrypting a ton of messages until we stabilized it. We even "support" credit cards (in a way).

Our Turkish speaker delayed his visa application. I called the Bulgarian embassy in Ankara. They were nice, didn't forget to call me back. Actually they kept me updated the whole time. And they issued the visa in less than a day. So kudos to them.

We fight less, work more, plan better, became team players and learned a lot. Organizing a conference is fun.

Go buy a ticket at

Read More

An amateur's guide to organizing a conference (2015)

I remember when 8 months ago Ivan came up with the idea to organize a conference, we were all - why the hell not. How hard can it be? I want to go back in time and give my cocky past self a slap in the face. A very hard slap.

We had already done many hackatons, pushed a couple of openjdk patches (which are as of now still not accepted) and drank many beers planning the bright future.

I remember feeling a bit in a rut. And this was a really good excuse to write some java code, meet new java people and work with some new java technologies.

I remember when we just talked about the conference for four months. It all got very real 4 months ago and we had a choice - organize the whole thing in 4 months (which then I had no idea was a really short time for a conference) or give up for next year.

We were very eager back then. We all decided to do it. I remember some of our organizers looking at us, probably thinking "let's sit and watch go down in flames".

4 months later I know a lot about accounting and VAT. I wrote a lot of code, most of the times after midnight. The funniest story is when we were deploying the electornic ticket system (epay integration) - proudly written mostly by me (but I'm ashamed of the code).

4 months later I can sign a contract in a couple of hours. A procedure previously taking me almost a week. I have optimized so many of the bureaucracy procedures I do. As a business owner I had the same issues, but after we started the conference I couldn't keep up and had to optimize again and again. Here's the place to send a special thank you for our lawyer and accountant - two of the people I would fail without.

4 months later I sleep less, and I do more. I hope the sleeping part will fix itself after the 27th. I now can read 30 emails in an hour (unfortunately after another hour I have 30 more). Half of my inbox has "Ivan" in the sender's field - he has the nasty habit of putting every little detail in an email, requires the same from me, and is pissed off if I fail to read something 2 hours after he sent it.

One of the funniest stories from the past week is me sitting in an office, signing a contract. The contract has to be signed, and I have to pay that contract in 10 minutes. So I'm sitting on my laptop sending the money, the other side sitting on theirs checking if the money is going to arrive. And at some point it feels as a movie scene where the good guy is going to appear any minute and break the drug deal.

So organizing a conference is tough, but it's a lot of fun. Next time (yes, if I have the opportunity, I'd do it again) it's going to be even better. My conference cherry is about to be popped in 27 days. Hope to see you there.

--Mihail S (and, yes, I know it says "by Admin", but we have more important things to fix first)

Read More

Interview with Gerrit Grunwald (2015)

Gerrit Grunwald a JavaOne rockstar and Java Champion will be a speaker on this years pilot issue of the JPrime Conference in Sofia, Bulgaria. We have the pleasure to make a short interview with him.

Dear Gerrit,
How long have you been involved in professional Java development ? Can you tell us a little more about your current activities?

I'm involved in professional Java development since 2001. In all these years I was mainly working on client side Java...yes Java on the desktop and it's not dead yet :) In the last couple of years my focus shifted more and more from desktop to embedded devices based on ARM technology. Java might not be the right choice for so called edge devices but it's great for stuff like IoT gateways and more powerful embedded devices like Raspberry Pi etc.

You participate in a lot of communities. Would you share some more info about that?

Well after looking for people using Java for years in the city where I live I decided to found a Java User Group here. This happened 7 years ago and we are still alive and kicking. In addition to that I'm also co-leading the JavaFX and IoT community at Oracle where we try to aggregate information about those topics.

As a real guru at your domain what was the hardest challenge you have met?

The hardest challenge was porting an awesome Swing application (which was designed by professional designers) of a German customer to JavaFX 8 based on the JDK8 developer preview builds 2.5 years ago. Because with every new weekly build of JDK8 we had to adjust our code again which was a lot of additional work. The other challenge was to not even copy the design of the Swing app but make it even look better. It took us a year but we made it :)

What is the main message you would like to bring to the JPrime conference audience?

Be part of the Java community if you are not already and let's continue pushing things forward.

Do you have some other hobbies beside coding and hacking?

I love Skateboarding and Snowboarding which I do both for more than 20 years.

Thank you very much!
See you in Sofia next month!
Read More