Interview with David Blevins



We are very lucky that this May there will be a JCP Committee meeting here in Sofia and right after it jPrime will take place! And for both of these events our great friend David Blevins will be here! Just few days before them we have this amazing chance to make an interview with him! Enjoy!

Hey David! Thank you for deciding to give a talk at jPrime! Would you please introduce yourself?
Let me try a non title-driven answer to that question. I'm someone who has been passionate about Open Source and Java EE since 1999 and for some reason has never given up, quit, took a break or slowed. I believe fundamentally in the value of collaboration not just in open source, but in standards as well and know that any successes we're currently achieving in those two areas are small compared to our true potential. Both open source and standards have a way of uniting diversity for incredible industry gain, but suffer in sustainability when taken for granted. We all have a role to play. My own journey in that quest has lead me to co-found a few open source projects, OpenEJB, Geronimo, TomEE, become involved in the Java Community Process (JCP), found a company, Tomitribe, help launch the Eclipse MicroProfile and play a role in open sourcing Java EE as Jakarta EE. Aside from being CEO of Tomitribe, I serve on the Java Community Process Executive Committee (JCP EC), Eclipse Board of Directors and Jakarta EE Steering Committee.

You describe yourself as open source veteran and at the same time you run a business around open source products. Would you share with us your view on evolving open source and at the same time paying your bills?
The long and short of it is our discussions around open source need to go beyond the technical and its creators. There are several blindly obvious business opportunities there we are all persistently failing to see.

Let's use Apache Struts as an example. Looking at job posts on indeed, there are 1721 open positions for a developer with Struts experience. At say $80k/year that's $137 million dollars that will be spent in some way this year by companies using Struts. The Struts project itself has 10 people active in the last year, roughly 2 appear to be full-time, and 8 people who would love a Struts related job.

The first observation is all 1721 recruiters missed the 8 people on Struts who clearly would love a Struts job. They are not looking at the open source projects listed in their own job postings. The second observation is business plan to spend $137 million implementing struts, but less than $500k developing Struts itself (2 FTEs and 8 misc contributions). Do we honestly think only 0.3% invested in reuse is the cheapest way to develop software? Last year Equifax had a major Struts related security vulnerability and as a result lost $4 billion dollars on their stock price in one week. They could have avoided it in many ways, but not the least would be by employing someone on the project who could have told them in advance about the issue. They'd have reduced their hiring costs, reduced their development costs and avoided a major breach. Lastly there were 12,893 computer science degrees issued last year. That's 12,893 people who missed the obvious fact that contributing to Struts itself is the best way to both get experience and compete for those 1721 open Struts jobs.

The question is not how do we pay our bills, but how can we avoid losing millions or billions of dollars. Open source developers paying their bills should be the least of our concern. It only shows how still very primitive we are in an open sourced economy. We have open source developers, we need open source executives.

Your talk is about REST security. Why do you think security is so underestimated in most of projects and what can we do about fixing that?
The way we've done security in the last decade or two largely reflects the stateful and monolithic world we've come from. There was one team that only did security, just like there was one operations team. The trick is they are not the same people who go to conference and get excited about microservices and stateless architectures. Just like we've had to invent "DevOps" to unite to split worlds, we have the same challenge with security. That means educating developers in security like we've had to educate them in ops. It also means educating the security team on the kind of architecture we're aiming for and why.

In the talk we stay architecturally focused so both groups can benefit. It's not down into lines of code. We walk our architecture from a one-hop monolith to a four-hop microservice and see how shifting from something like basic auth to OAuth and JWTs we can go from the security layer being hit with 55% of traffic to more like 0.55% of traffic and actually achieve more security. Just like Bitcoin shows us you can have distributed money with no "central" bank, you can have distributed security. It's not that hard, you just need to understand a couple concepts and then its obvious.

Old concepts applied in a clever way and painfully simple when you get right down to it. It really boils down to education.

What do you like to do in your spare time (whenever you manage to find some)?
I love to play guitar. But since I don't really have time to practice or learn full songs, my favourite thing is to challenge my ear and play to the radio, Pandora or whatever people in the room like. I love when someone plays "DJ" and puts on songs or music styles they love, but I've never heard. Songs that change key are quite hard, but if they stay put and aren't too fast I can usually get there. A life goal for me would be Jazz. If I could get good enough to be a retired 70-year old Jazz musician with mean chops, that'd be bliss.

You come for the second time in Sofia. What are your expectations from both events that you are attending: JCP EC meeting and jPrime?
On the side of the JCP there are of course major changes happening with both Java EE/Jakarta EE and the shift to six month releases of Java itself. Java EE moving out of the JCP reduces the scope quite a bit. The six month releases challenges the typical JSR format as it often isn't know what will make the release till the end. JSRs were designed for a feature that's "done when it's done" and that isn't what we're doing anymore. So naturally we have a lot of talks about refocusing and adapting. These don't happen the same way over conference calls. I'm sure Sofia will be a very notable JCP EC event.

With jPrime, I'm of course looking forward to seeing the many amazing Bulgarian friends from our visit three years ago. I'd run out of fingers trying to count them. Bulgaria impresses me with the number of women that attend technical conferences -- usually triple of other countries I visit -- and the incredible passion of the tech community in general. There is no sense of entitlement, people work hard, they want to learn. They are also incredibly warm, generous and full of fun. If you've never attended incredible tech talks during the day and then danced in a big circle of 30 people at night, you're missing out.

Thank you very much, David! We are looking forward to meeting you in Sofia so soon!

Read More

Interview with Venkat Subramaniam



There are just few weeks before this Year's jPrime! Final preparations are made! To make this Sunday even more interesting we have prepared an interview with the world's most humble Java Superhero and definitely one of the best speakers of all the time – Venkat Subramaniam! Enjoy!

Hello Venkat! You will be for the second time in Bulgaria. For the first time you were here for a very special event jProfessionals: a Java day with Venkat, so how did you like the audience and the event itself?
The best part of that day was interaction with the developers. The day was split between lectures and workshop. Seeing the developers implement solutions was a lot of fun. I really liked the hands-on part of the day.

Through this year you are making your 50 50 tour throughout the world. Tell us a few words about this tour, how many countries have you been to and how more are you going to visit?
The idea to present at 50 user groups to celebrate my 50 years on this planet came when I was traveling to speak at Torun, Poland the week after my 49th birthday. I was overwhelmed by the support from various user groups, specifically from different parts of Europe. So far the tour has taken me to 16 different countries for the 44 user groups I've spoken at so far. That's six more user groups to go to reach the goal of 50.

The world is still obsessed with reactive, microservices and clouds. In your opinion, for how long? What you think is going to me the next big obsession?
I don't quite see these as obsessions honestly. Sure there are hypes just about everything we do. However, I think these technologies are very important parts of architectural decisions for developers and organizations to make. I've been observing reactive programming, for example, for about a decade now. I've seen it evolve from "that seems like a good idea" to "hey, look at these reactive libraries and how we are using them." If my assessment is correct, these will stay with us, in one form or another, for a very long time, much like OO, for example.

There are several things that have the possibility to become the next big thing. The one that I am most excited about, from the impact point of view, is augmented reality (AR).

Java 9 has just started its way, but without being widely adopted it is already outdated. How do you treat these huge changes, is this the correct time have them?

I don't think it is outdated by any means, at least not in the sense of what outdated means. Sure, we have a newer version of Java; I think having the frequent releases with smaller number of features makes more sense than the slow, delayed, colossal releases.

The adoption of Java (and many other languages as well) has been quite slow in different parts of the world, in different organizations. There are many reasons for this. I personally know of organizations that are still on Java 7 and yet some on Java 6. There are a number of reasons for them to cling on to older releases. At the same time, I also know organizations that are already beginning to use Java 10.

A lot of organizations talk about agility. For me sustainable agility is very important. The inability to adopt to a newer version of the languages may be an opportunity to look at some ways to improve on some technical practices, lack of which may be an impediment to achieve agility.

Your travel schedule is definitely incredibly tough. How do you survive with this amazing rhythm of life? What is your way to relax?

The travel is more tough on the body than on the mind. I'm thankful for the opportunity to meet, interact, learn from, and in a small way help so many developers around the world. I truly enjoy learning and sharing the knowledge. That desire and enthusiasm greatly offsets the troubles that come along with this profession.

I recharge very quickly. There is a high level of stress in our profession, we have to deal with machine and humans, and both have different challenges. It is very important not to let that stress overpower us. I do not take long vacations, but I take what I call as micro-vacations—a short hike up the hill early in the morning, a walk around the lake for an hour, a couple of hours of drive through the mountains, a dinner with a good friend, all of these help to recharge, relax, and relieve stress.

Lastly I reject any work that I do not care to do. There are so many things that are waiting to consume our time and suck the energy out of our lives. Once I identify something is not going to be productive, I quickly drop that so I can focus on what I really like to do, where I can provide real value. This also help to stay positive and energetic.

Thank you very much, Venkat! We can't wait to see you here in Sofia!

Read More

Interview with Simon Maple



We are continuing our interviews series! This time with our great friend Simon Maple! Enjoy!

Hi Simon! We are happy to have you at jPrime! Would you please introduce yourself?
It's my pleasure to be at jPrime! I'm Simon Maple, developer advocate at Snyk. I'm also a Virtual JUG founder and co-organiser as well as the London Java Community (LJC) co-organiser.

Your job is developer advocate. Can you describe what you usually do in that role?
It's a role that often means different things to different people. For me it focuses on three things, awareness, feedback and enablement. Awareness is fairly self explanatory really, as it's important to made sure that whether you're an advocate of a product, technology or API/service, developers around the world are aware it exists and what they can do with it. This can be achieved through content, videos, podcasts, webinars, community work, conference presentations and much more. The feedback part is very important and undervalued. As an advocate you do a lot of travelling and speak with a lot of users and customers, so it's important you understand how they're using what you're advocating for and what pain they're experiencing. This needs to be fed back to the product and engineering teams. Finally there's enablement. It's key that when developers use your product or service that they understand what they're doing and if they need help, they can get it. Enablement is providing the information they require to achieve exactly this. Content like how-to's, tutorials and other such things can be created to achieve this. So my role is very broad, but I try to achieve as much of this as I can fit into my week!

You are also known as the Virtual JUG founder. Would you tell us more about that community?
Around 4-5 years ago I realised it was hard to me to get into London to catch an LJC session and get back home in any reasonable time, as I live outside of London. This becomes particularly hard when you have a family and travel a fair bit anyway. I thought I'd create a virtual community that provides similar content for the world's top speakers and try to build a community around that. Today, we have over 15,000 members, run regular sessions, book club events, hack days, and even a 24 hour virtual conference. Of course it takes a team to achieve this and we have Oleg Shelajev, Roberto Cortez, jPrime's very own Ivan St. Ivanov, Anton Arhipov and Alaina Tucker who all help keep the community running.

Recently you joined a company that analyzes open source projects for security issues. Could you tell us more about the problems that you are tackling?
Yes! I'm really excited about working for a company that I feel really makes a difference on the software world. Snyk finds and fixes known vulnerabilities in open source dependencies. This is a big deal these days as *everyone* uses open source projects and very rarely do you hear anyone even know which dependencies (including transitive dependencies) they have pulled into their project, let alone whether they know about the security implications. Our challenge is to keep the value of developers using open source dependencies, but making sure they do it securely by finding and fixing vulnerabilities throughout the CI/CD pipeline from development through to deployment.

You do something in your free time, right? What is that?
As a developer advocate I travel a fair amount, so I try to spend every second of my free time with my family. When I don't travel I work from home, so I get to see my wife, Liz and two boys Joshua and Oliver a lot of the time. My weekends are very precious to me and we always try to go out as a family, very often to Legoland!

Thank you very much, Simon! Looking forward to meeting you here in Sofia soon!

Read More

Interview with Sebastien Blanc



Traditionally , one month before the jPrime Conference we are starting our featured speakers interviews series! The first one our great friend Sebastien Blanc! Enjoy!

Hello Sebastien, can you please introduce yourself?
Hi ! I'm Sébastien Blanc, I'm half dutch half french and I'm a Principal Software Engineer. I'm located in the south east of France , on the Riviera and I work for Red Hat on the Keycloak project.

In Red Hat you are now working on KeyCloack project. Please, tell us few words about it. Why should people start using it?
Security is hard and painful, and worse, you will probably implement it the wrong way, believe me. Keycloak will remove these constraints and handle for you the user management layer, including authentication and authorization. As I will show it during my talk, it's really easy to setup : unzip the Keycloak server, run it, add the adapters to your apps (front or back), define your security constraints and you are good to go !

You are highly involved in programming for kids initiatives. You also do co-present with your daughter quite often. What do you think is a good age to start coding?
Teaching code to kids is becoming more and more a real passion for me. My advice is to start with your kids when they are around 8 with Scratch. But it's really - and I insist on "really" - to not force them. For instance, my son is almost 10 and until 2 months ago he was absolutely not interested in coding. For some reasons, he got the trigger a few weeks ago and now he is unstoppable. Before 8, you can try Scratch Junior but it's only available on tablets.

My other advice is to let the kids as much as possible discover by them self how things work. Give them a quick demo on how Scratch works and then let them alone for 1 hour. When you will come back, you will be impressed by their creativity, believe me.

How do you spend your free time? Do you have any other hobbies except programming?
In my free time, when not spending time with my kids and wife I practice Kobudo, an old martial art from Okinawa. I also love retro gaming and built this arcade table last year : https://twitter.com/sebi2706/status/828897019913715712 ... And , oh I'm an absolute fan of Half-Life ;)

Thank you very much, Sebi! See you soon in Sofia!

Read More

New community partner: HUJAK

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: https://hujak.hr/2017/02/19/jprime-conference-in-sofia.
Read More

Interview with Kees Jan Koster



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



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



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



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



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

Go for Java Developers

Stoyan RachevThe Go guy

Go is an open source programming language originally from Google that makes it easy to build simple, reliable, and efficient software. Although it's a rather new language, it has been enthusiastically embraced by the communities around some very popular projects such as Docker and Cloud Foundry. Being originally designed for systems programming, it is compiled and statically typed, and offers powerful concurrency support and impressive raw performance. However, its simplicity, lightweight but expressive syntax, type inference, and garbage collection make it a great choice for general purpose programming as well. It also has a comprehensive standard library, built-in tools for modern agile development, and an ever growing ecosystem of third-party libraries and tools. To a Java developer, the first encounter with Go might be a bit of a culture shock. There are no classes, no inheritance, no exceptions, annotations, or generics. But don't be quick to dismiss it right away - in the case of Go, "less is exponentially more", according to one of its designers. This session is an introduction to Go from the perspective of a Java developer. Come and see for yourself what Go has to offer, how it compares to Java and other languages, and why are so many people excited about it.

Level:
BEGINNER

Bio:
Stoyan has 18+ years professional experience in software development, as well as people and project management. He is currently a software architect at SAP focusing on software lifecycle management for the Cloud. Having used Java during most of his professional life, he recently encountered Go and has had quite some fun playing around with it since then. In the last several years, he has been speaking regularly at SAP internal and external events.

Read More

Apache Brooklyn - run your application in the cloud, any cloud !

Svetoslav NeykovThe Cloud guy

From YAML Blueprints to Autonomic Management. Deploy and manage the same application across a range of environments. Learn how to model the behaviour of your application in the cloud using the open source Apache Brooklyn project. Plug in new functionality using Java OSGi bundles.

Level:
INTERMEDIATE

Bio:
Svet is a Software Engineer with more than 15 years of experience in software development, specialising in Cloud Computing in the last few years. When he manages to get his head out of the Cloud he enjoys exploring embedded programming and IoT.

Read More

JDK 8: Lessons Learnt With Lambdas and Streams

Simon RitterThe JVM guy!

Lambda expressions and the streams API add a more functional style of programming to Java; something developers have not really had in the past.

This session will start with a short summary of the key features of both Lambda expressions and streams before moving on to some real world examples of how to use them effectively, including a number of lessons learnt from trying to apply an imperative style of programming when it should have been functional. We'll finish off with a quick look at some of the ideas for improvements to streams in JDK 9.

Level:
INTERMEDIATE

Bio:
Simon Ritter is the Deputy CTO of Azul Systems. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time, he started working with Java technology and has spent time working both in Java development and consultancy. Having moved to Oracle as part of the Sun acquisition, he managed the Java Evangelism team for the core Java platform, Java for client applications and embedded Java. Now at Azul, he continues to help people understand Java as well as Azul’s JVM technologies and products.

Read More

Time to Code: the Art is Distraction Free Programming

Kees  Jan  Koster The Java Monitor guy

The ability to focus on code and code alone is the holy grail of programmer productivity. So we have Scrum, Kanban, bug trackers, instant messengers, todo lists and task boards that *in theory* should help us focus on code. But more often than not they don't. In "Time to Code", Kees Jan dissects distraction. Using well-known models he explains what it is that distracts from coding. He then looks at the methods and thinking behind the tools and how they *should* help you focus. You walk away with better insight into the visible and invisible distractions that sit between you and your code. Kees Jan gives you some simple changes for you to make that will reduce distraction and give you more time to work on code.

Level:
INTERMEDIATE

Bio:
Driven technical architect, coach and Java expert. In-depth knowledge of Java, Java application servers and the server-side technology stack. Makes distributed systems manageable. Strong focus on delivering working systems and sharing knowledge.

Read More

Reactive Java Robotics and IoT

Trayan IlievThe IoT guy

This presentation will introduce Java Functional Reactive Programming (FRP) as a novel way for implementing hot event streams processing directly on connected/embedded/robot devices using Spring Reactor and RxJava. It will be accompanied by live demo of custom developed Java robot called IPTPI (using Raspberry Pi 2 – ARM v7, quad core, 1GB RAM), running hot event streams processing and connected with a mobile client for monitoring and control. More information about robots developed for IPT and RoboLearn hackathons is available at http://robolearn.org/

Level:
INTERMEDIATE

Bio:
Trayan is founder and CTO of IPT – Intellectual Products & Technologies – IT consultancy and training company specialized in Java, web and mobile development. He is Oracle (SCJP6) & OMG certified software developer, consultant, and trainer with 14+ years experience. Clients include big international and top Bulgarian software, insurance and telecom companies. Trayan is frequent speaker at Bulgarian Oracle User Group conferences (9 talks) on diverse topics ranging from novelties in Java EE 7/8, portlets and REST HATEOAS to robotics and IoT. He is organizer of monthly Java robotics and IoT hackathons in Sofia. Trayan had talks at BGJUG meetings and jProfessionals conference – latest about end-to-end high performance reactive programming using Reactor, RxJava, RxJS, and Angular 2. He presents reactive Java robotics at Voxxed Days Bucharest, March 2016. Recently he presented Java and FIWARE based IoT project “BioStream – Precision Agriculture for All” at EU ICT 2015 conference in Lisbon.

Read More

DI-Frameworks - the hidden pearls

Sven RuppertThe German guy

Dependency Injection is now part of nearly every Java project. But what is the difference between DI and CDI. How to decide what I could use better, what frameworks are available and what are the differences for me as a programmer? What could be an option for the IoT-, Desktop- or Webproject? In this talk we will get an overview over different frameworks and how they are working. We are not checking the well known big one only, but we are looking at some small sometimes specialized implementations.

Level:
INTERMEDIATE

Bio:
Sven Ruppert has been coding Java since 1996. He is a Fellow for reply in Munich. In his free time he regularly contributes to German IT periodicals, as well as tech portals. Blog: www.rapidpm.org Web: www.sven-ruppert.de Publications: http://www.rapidpm.org/publications/index.html Talks: http://www.rapidpm.org/conferences/index.html Linkedin: https://www.linkedin.com/in/svenruppert

Read More

Migrating 25K lines of Ant scripting to Gradle

Hanno EmbregtsThe Gradle guy

Most developers prefer to spend their time writing code instead of performing build script maintenance. Build scripting may be an essential part of the software development process, but it often lacks maintainability which makes applying and deploying changes a tedious job. So it’s important to make sure your build system encourages simplicity and that changes can be made in a fast and straightforward way. Industry standards Ant and Maven are not quite up to the task; Gradle is a better alternative. This presentation introduces Gradle – a modern build system that supports all JVM Languages – and shares the result of the Ant-to-Gradle migration that was performed at ‘Nederlandse Spoorwegen’ (or NS - Dutch Railways). The session will focus on the challenges we faced while trying to replace Ant scripting with the Gradle equivalent and how we handled them. After attending this session, you will have a good understanding of Gradle, its possibilities and its pros and cons compared to Ant and Maven. On top of that, you will be able to migrate your own project to Gradle, even if your project has a huge code base or relies on ancient technologies. The lessons we learnt at NS could be very helpful to your own situation.

Level:
BEGINNER

Bio:
Hanno Embregts is a Java Developer and Scrum Master at Info Support (Veenendaal, Netherlands). He has over 8 years experience developing enterprise software in various fields (insurance companies, banks, hospitals, industry) and currently works for the Dutch Railway Company (‘NS’). He loves building innovative software and has a passion for clean, elegant solutions. On top of that, he likes continuous delivery, behavior-driven development and all things agile.

Read More

Going Reactive with RxJava

Hrvoje CrnjakThe Rx guy

Reactive programming is here to stay, so you might as well learn it! It already made its mark on languages like Swift or C#, and now with major companies such as Netflix and Microsoft backing it up, it's time to do the same in Java. In this lecture we'll talk about RxJava library and how it can be used to make our applications more Reactive. We'll peak into RxJava API a little bit, but more importantly, we'll focus on the concepts and the ideas that drive RxJava, and the value it adds to our applications. Once we understand that, RxJava will be yet another great tool in our toolbox.

Level:
INTERMEDIATE

Bio:
Hrvoje is an experienced Java developer with 5 years of code crunching under his fingers. He has worked on multiple international projects for top European and US clients. Currently he's working as a team leader on a project for Rhapsody International, a music streaming service. In the last few years he developed an appetite for sharing his knowledge with software community which led him to speaking engagements such as this one. He's a software nomad always interested in learning new technologies and methodologies, and never completely satisfied with his or anybody else's code.

Read More

DIY Java & Kubernetes

Panche ChavkovskiThe JUGMK guy

Kubernetes is an open-source project, primarily developed by Google, which provides a solution for orchestrating, or scheduling, containers in a cluster. It defines several paradigms on top of just the container distribution, like pods, services, labels and controllers which makes the deployment and the operation of your applications much more simple. This talk will cover the basics of containerizing Java applications or microservices, deploying and running them on a home made Kubernetes cluster made out of RaspberryPis. The live demo will consist of the entire workflow plus a demonstration of how Kubernetes can handle node failures in real time and how that affects your system.

Level:
INTERMEDIATE

Bio:
Panche is a senior software engineer at Netcetera and the current JUGMK leader. He is a developer on daily basis in Java, JavaScript, C# and C, part of the team behind the Codefu.mk algorithm coding competition, strong hardware, electronics and IoT enthusiast. Every now and then, Panche blogs at http://pance.mk/

Read More

Home Automation Reloaded

Kai KreuzerThe Smart Home guy

With more and more Smart Home and IoT devices hitting the market, one of the primary wishes of users is interoperability. As many vendors still prefer silo offerings, walled gardens and business-driven alliances, this wish remains mostly unheard. Over the past 6 years, the open source project openHAB has become one of the most popular solutions that connects to a multitude of different systems, comes with powerful automation rules and provides a single user interface for all devices to address such interoperability needs. Many new concepts are being introduced in openHAB version 2, which is currently under development and based on the Eclipse SmartHome framework. In this talk you will get a sneak preview of its modularity and extensibility, which gives you the full power to tailor your smart home for your personal needs.

Level:
INTERMEDIATE

Bio:
Kai Kreuzer is a Java and OSGi expert, a Home Automation enthusiast, founder of openHAB, project lead of Eclipse SmartHome and co-lead of the Eclipse IoT top-level project. He works as a Developer Evangelist in the Connected Home department of Deutsche Telekom AG and is a regular speaker at international conferences.

Read More

Sponsors/Tickets/Questions

conference@jprime.io

Contact us

+359 887 749 325