Ask the Spring Architect (2017)

Juergen HoellerThe Spring guy

self-moderated Q&A session

Bio:
Juergen Hoeller is co-founder of the Spring Framework open source project and has been serving as the project lead and release manager for the core framework since 2003. Juergen is an experienced software architect and consultant with outstanding expertise in code organization, transaction management and enterprise messaging.

Read More


Fibers – blocking is cheap in a Parallel Universe (2017)

Stefan MinevThe Fibers Guy

Fibers are lightweight threads implemented for the JVM by the Quasar open source library. One application can spawn millions of fibers in a single JVM. Blocking a fiber is cheap because it doesn’t mean blocking the OS thread. So, by using fibers the common synchronous programming can benefit from the performance boost of the asynchronous programming but without the additional complexity of the callback-based approach. This talk will cover the general idea behind the fibers and what is offered by the Quasar and the Comsat libraries to create fiber-powered RESTful web based applications. The live demo will show the basic usage of fibers in a Spring Boot application.

Level:
INTERMEDIATE

Bio:
Stefan is a Senior Software Engineer at Paysafe. He is primarily working on Java backend applications in one of the payments related teams in the company. He likes to experiment with different programming languages and technologies and is a strong believer that the “Clean Code” is the best way to build quality software.

Read More


Java EE 7 meets Java 8 (2017)

Roberto CortezThe Java EE Guy

The last few years have been pretty exciting for Java with new versions of EE and SE platforms. Java EE, introduced a new API to build WebSockets; a new API to parse, process and generate JSON; a new Client API in JAX-RS to invoke REST services, and finally the Batch Processing API to build batch applications. Java SE brought us the long awaited Lambda expressions; the powerful Streams API to perform operations like filtering, mapping or sorting in a very easy and fluent way, and a brand new Date Time API, to deal with the complexities of Timezones and Periods. This session will combine all of these elements together and show you how to easily develop an application using Java SE 8 with Java EE 7, with live coding and samples.

Level:
BEGINNER

Bio:
My name is Roberto Cortez and I was born in Venezuela, but I have spent most of my life in Coimbra – Portugal, where I currently live. I am a professional Java Developer working in the software development industry, with more than 8 years of experience in business areas like Finance, Insurance and Government. I have finished my degree in Informatics Engineering (equivalent to the Bologna Master’s degree) from the Department of Informatics Engineering of the University of Coimbra in 2006, however I started to learn and enjoy Java in 1998. I work with many Java based technologies like JavaEE, Spring, Hibernate, GWT, JBoss AS and Maven just to name a few, always relying on my favorite IDE: IntelliJ IDEA. As a Freelancer / Independent Contractor I travelled around the world (an old dream) to customers, but also to attend Java conferences. The direct contact with the Java community made me want to become an active member in the community itself. For that reason, I have created the Coimbra Java User Group, started to contribute to Open Source on Github and launched this blog, so I can share some of the knowledge that I gained over the years. I hope you find it useful! Currently, I’m working with Tomitribe. After working for a few major corporations, I’m eager to help and grow something from the ground up. I’m very excited to work with all the amazing tribers working hard to make TomEE a compelling Java EE server.

Read More


Cluster your MicroProfile Application using CDI and JCache (2017)

Roberto CortezThe Java EE Guy

Microprofile is a new platform definition that optimizes Enterprise Java for a microservices architecture and delivers application portability across multiple runtimes. You can use a subset of the Java EE spec to develop Microprofile applications, with JAX-RS, CDI and JSON-P. Now you need to make it highly available and scalable across a large number of machines. The session will feature a live coding demo where we will turn this Microprofile application, into a fully clustered application using a CDI extension and producers to integrate Hazelcast as a JCache provider. Finally, to show you how light it is, we will run the entire cluster in a set up of Raspberry PI's.

Level:
BEGINNER

Bio:
My name is Roberto Cortez and I was born in Venezuela, but I have spent most of my life in Coimbra – Portugal, where I currently live. I am a professional Java Developer working in the software development industry, with more than 8 years of experience in business areas like Finance, Insurance and Government. I have finished my degree in Informatics Engineering (equivalent to the Bologna Master’s degree) from the Department of Informatics Engineering of the University of Coimbra in 2006, however I started to learn and enjoy Java in 1998. I work with many Java based technologies like JavaEE, Spring, Hibernate, GWT, JBoss AS and Maven just to name a few, always relying on my favorite IDE: IntelliJ IDEA. As a Freelancer / Independent Contractor I travelled around the world (an old dream) to customers, but also to attend Java conferences. The direct contact with the Java community made me want to become an active member in the community itself. For that reason, I have created the Coimbra Java User Group, started to contribute to Open Source on Github and launched this blog, so I can share some of the knowledge that I gained over the years. I hope you find it useful! Currently, I’m working with Tomitribe. After working for a few major corporations, I’m eager to help and grow something from the ground up. I’m very excited to work with all the amazing tribers working hard to make TomEE a compelling Java EE server.

Read More


Building an Enterprise Data Fabric at Royal Bank of Scotland (2017)

Mike FulkeThe RBS Guy

When addressing common investment banking use-cases, incumbent application architectures have proven themselves to be complex, difficult to maintain and expensive. Driven by the apparently competing pressures of cost and agility, RBS has combined several technologies including Netty, MongoDB, Apache Kafka and Apache Zookeeper to build a common enterprise data fabric which is underpinning several core trading platforms. In this session, you will learn how RBS has successfully integrated these technologies into a wider Java-based architecture, built with a strong open source bias.

Level:
INTERMEDIATE

Bio:
Mike is a platform architect at RBS with more than 20 years’ experience in Financial Services technology. His expertise covers risk management and electronic trading systems for Fixed Income markets using Java, C++ and C#.

Read More


Spring Framework 5: Themes & Trends (2017)

Juergen HoellerThe Spring guy

Spring Framework 5 (scheduled for general availability in June) comes with a strong focus on several themes: reactive web applications based on Reactive Streams, functional configuration with Java 8 as well as the Kotlin language, comprehensive support for JDK 9 and HTTP/2, plus the latest API generations in the Enterprise Java ecosystem. This talk presents the overall story in the context of wider industry trends, highlighting Spring's unique programming model strategy.

Level:
INTERMEDIATE

Bio:
Juergen Hoeller is co-founder of the Spring Framework open source project and has been serving as the project lead and release manager for the core framework since 2003. Juergen is an experienced software architect and consultant with outstanding expertise in code organization, transaction management and enterprise messaging.

Read More


Picking the right AWS backend for your Java app (2017)

Julien SimonThe AWS Guy

When it comes to data processing, software applications have many different requirements, which cannot be satisfied by a single backend. This is why AWS has built a number of data services, such as DynamoDB, RDS, EMR, Redshift and Athena. In this technical session, you will learn about their respective strengths and how you can best use them in your Java apps. We'll give you pragmatic real-life advice on what these backend mean technically, operationally and financially. No solution is perfect, you need to be aware of the trade-offs. Of course, code and live demos will illustrate the discussion.

Level:
INTERMEDIATE

Bio:
Julien Simon, Principal Technical Evangelist at Amazon Web Services. Before joining AWS, Julien served for 10 years as CTO/VP Engineering in top-tier web startups. Thus, he’s particularly interested in all things architecture, deployment, performance, scalability and data. As a Principal Technical Evangelist, Julien speaks very frequently at conferences and technical workshops, where he meets developers and enterprises to help them bring their ideas to life thanks to the Amazon Web Services infrastructure.

Read More


Hacking Streams and Collectors (2017)

Jose PaumardThe Streams guy

Java 8 has been released a bit more than 3 years ago, with a major addition: the Stream API. This API brings new patterns to process data and new ways to organize applications. This API is not new anymore, but there are still many ways to use it that are yet to be discovered. This session is almost 100% live coding and will browse through the most important patterns of both API. Simple ones, complex one, useful ones, funny ones, well-known ones, unexpected ones. Live coding allows for interaction, questions and answers. I hope we will have fun together in this session!

Level:
INTERMEDIATE

Bio:
José is an assistant professor at the Institut Galilée (Université Paris 13), PhD in applied mathematics from the ENS de Cachan. He has also worked as one of the lead members of the Paris JUG for 6 years, and is a co-founder of Devoxx France. As a member of the CDI 2.0 Expert Group, he has contributed new ways of handling events, especially in the asynchronous part of the spec. He provided new patterns that have been adopted by the EG. José has been working as an independent programmer for 20 years and is a well-known Java / Java EE / software craftsmanship expert and trainer. His expertise includes Tomcat, JBoss, Weblogic, Websphere, Glassfish, and the most popular Java EE parts: JPA (Hibernate & Eclipselink), EJB (including version 2), JMS, JTA, the Web tier, and more. José speaks at conferences, including JavaOne and Devoxx; and writes technical articles for various publications including Java Magazine and Oracle Technology Network. Passionate about education, he publishes MOOC for several companies: Oracle Virtual Technology Summit, Pluralsight, Microsoft Virtual Academy and Voxxed.

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, https://jaxenter.com/careers-interview-heather-vancura-132286.html or a slide link to a talk I give if you want to link to it: "https://www.slideshare.net/heathervc/top-10-ways-to-ally-for-women-in-technology"

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 (https://github.com/spring-projects/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 JUG.ru 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


jPrime 2016 recordings available (2016)

All jPrime 2016 recordings are now available.

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

Regards,
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 conference@jprime.io 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 https://jprime.io/cfp
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