The document provides an overview of the history and evolution of Java, including key events and releases. It discusses the original Java Man fossil discovery in 1891 and notes how 100 years later, a new generation of Java Men were discovered with the creation of the Java programming language in 1991. The summary also mentions that Indy, the famous film character, served as inspiration for CroDuke Indy, HUJAK's Java conference mascot.
10,000 microservices are generated each month using JHipster!
During this in-depth session by the two JHipster lead developers, we’ll detail:
How to develop and deploy microservices easily
Scalability and failover of microservices
The JHipster Registry for scaling, configuring and monitoring microservices
Common architecture patterns and pitfalls
10,000 microservices are generated each month using JHipster!
During this in-depth session by the two JHipster lead developers, we’ll detail:
How to develop and deploy microservices easily
Scalability and failover of microservices
The JHipster Registry for scaling, configuring and monitoring microservices
Common architecture patterns and pitfalls
Kiss.ts - The Keep It Simple Software Stack for 2017++Ethan Ram
Fresh thinking and latest technologies making it easier to develop and deploy corporate-grade apps in 2017++.
I presented this session at ISTA and JsTalks conferences in November 2017.
Video of the session is here: https://youtu.be/L0XofS_hZZk
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Demi Ben-Ari
Once you start working with distributed Big Data systems, you start discovering a whole bunch of problems you won’t find in monolithic systems.
All of a sudden to monitor all of the components becomes a big data problem itself.
In the talk we’ll mention all of the aspects that you should take in consideration when monitoring a distributed system once you’re using tools like:
Web Services, Apache Spark, Cassandra, MongoDB, Amazon Web Services.
Not only the tools, what should you monitor about the actual data that flows in the system?
And we’ll cover the simplest solution with your day to day open source tools, the surprising thing, that it comes not from an Ops Guy.
Top 10 reasons to migrate to Gradle from any other existing build systems(Ant,Maven):
Actuality
Programmability
Compactness
JVM-based and Java-based
DSL and API
Plugins
Integration
Configurations
Flexibility
Performance
Devoxx : being productive with JHipsterJulien Dubois
Slides from the "being productive with JHipster" talk at Devoxx Belgium 2016 by Julien Dubois (JHipster lead) & Deepu K Sasidharan (JHipster co-lead).
Live video is at: https://www.youtube.com/watch?v=dzdjP3CPOCs
Code commited (live!) during the presentation is at:
https://github.com/jhipster/devoxx-2016
EduXFactor presents to you a comprehensive up-to-date DevOps certification program. This course will empower you with job-relevant skills and power you ahead in your career.
With this course, master various aspects of software development, operations, continuous integration, continuous delivery, automated configuration management, test, and deployment using DevOps tools like Git, Docker, Jenkins, Ansible, Kubernetes, Puppet & Nagios..
Packed with hands-on exercise for every module, this course is suitable for software developers, technical project managers, architects, operations support, deployment engineers, IT managers, and development managers.
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
In this presentation we explain the CD mindset of the MyHeritage QA and how we use Watir, Appium, Ruby, Cumcumber and other supporting technologies to allow end to end testing.
These are the link mentioned in the presentation:
Continuous Deployment Applied at MyHeritage - http://www.slideshare.net/RanLevy/continuous-deployment-applied-at-myheritage
Appium - http://appium.io/
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
In this presentation we explain how we use Watir, Ruby, Cumcumber and other supporting technologies to allow end to end testing in MyHeritage.
These are the links to resource mentioned in the presentation:
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
We also explain how QA automation engineers are an integral part of the Continuous Deployment process at MyHeritage
Presentation by Mike Croft, delivered at Devoxx Belgium 2015. The demo and docker file will be available on Payara GitHub shortly: www.github.com/payara
Kiss.ts - The Keep It Simple Software Stack for 2017++Ethan Ram
Fresh thinking and latest technologies making it easier to develop and deploy corporate-grade apps in 2017++.
I presented this session at ISTA and JsTalks conferences in November 2017.
Video of the session is here: https://youtu.be/L0XofS_hZZk
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Demi Ben-Ari
Once you start working with distributed Big Data systems, you start discovering a whole bunch of problems you won’t find in monolithic systems.
All of a sudden to monitor all of the components becomes a big data problem itself.
In the talk we’ll mention all of the aspects that you should take in consideration when monitoring a distributed system once you’re using tools like:
Web Services, Apache Spark, Cassandra, MongoDB, Amazon Web Services.
Not only the tools, what should you monitor about the actual data that flows in the system?
And we’ll cover the simplest solution with your day to day open source tools, the surprising thing, that it comes not from an Ops Guy.
Top 10 reasons to migrate to Gradle from any other existing build systems(Ant,Maven):
Actuality
Programmability
Compactness
JVM-based and Java-based
DSL and API
Plugins
Integration
Configurations
Flexibility
Performance
Devoxx : being productive with JHipsterJulien Dubois
Slides from the "being productive with JHipster" talk at Devoxx Belgium 2016 by Julien Dubois (JHipster lead) & Deepu K Sasidharan (JHipster co-lead).
Live video is at: https://www.youtube.com/watch?v=dzdjP3CPOCs
Code commited (live!) during the presentation is at:
https://github.com/jhipster/devoxx-2016
EduXFactor presents to you a comprehensive up-to-date DevOps certification program. This course will empower you with job-relevant skills and power you ahead in your career.
With this course, master various aspects of software development, operations, continuous integration, continuous delivery, automated configuration management, test, and deployment using DevOps tools like Git, Docker, Jenkins, Ansible, Kubernetes, Puppet & Nagios..
Packed with hands-on exercise for every module, this course is suitable for software developers, technical project managers, architects, operations support, deployment engineers, IT managers, and development managers.
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
In this presentation we explain the CD mindset of the MyHeritage QA and how we use Watir, Appium, Ruby, Cumcumber and other supporting technologies to allow end to end testing.
These are the link mentioned in the presentation:
Continuous Deployment Applied at MyHeritage - http://www.slideshare.net/RanLevy/continuous-deployment-applied-at-myheritage
Appium - http://appium.io/
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
In this presentation we explain how we use Watir, Ruby, Cumcumber and other supporting technologies to allow end to end testing in MyHeritage.
These are the links to resource mentioned in the presentation:
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
We also explain how QA automation engineers are an integral part of the Continuous Deployment process at MyHeritage
Presentation by Mike Croft, delivered at Devoxx Belgium 2015. The demo and docker file will be available on Payara GitHub shortly: www.github.com/payara
HUJAK Community keynote presentation
Branko Mihaljević
Stjepan Matijašević
Hrvoje Đurđević
Slavko Žnidarić
Marin Orlić
Aleksander Radovan
Jurica Križanić
In the modern "World of Java" there was a lot of interesting things going on in the last year, and many things are yet to come. A bit more than a year ago we got a long-awaited Java 9 with Jigsaw modularization and many other new features. This spring we "moved Java forward faster" and switched to Java 10 with more than 100 new features, following a new release model and versioning scheme. Only three weeks ago we got a brand-new Java 11 with more than a dozen new JEPs and accompanying features, also coming with long-term support. Now, we are already looking forward to Java 12 and other interesting stuff coming from incubator projects Amber and Valhalla, and new ideas in projects Loom, Panama, and Metropolis. Beside accelerated changes in the World of Java, there is an even larger number of modern technology trends such as IoT, Smart Devices, Cloud Computing, Artificial Intelligence, Virtual Reality, Robotics, and Blockchain, which are rapidly adopted and developers must respond to it. We will be discussing this hyper-progress from the perspective of a typical Java development team, and talk about our present and our future, globally and locally. We will tackle important technical skills Java developers need these days, and, even more important, how to acquire them. Finally, we will close with details of (y)our favorite Java community – HUJAK.
Join the Java Evolution GIDS Bangalore & PuneHeather VanCura
The Java Community Process (JCP) is key to the evolution of Java technology. This session emphasizes the value of transparency and participation in the JCP program, through both Java User Groups (JUGs), and through the Adopt-a-JSR program, the grass roots, community led and developed program to empower Java developers around the world to make a contribution to Java technology. Find out how to become an active participant in advancing the Java platform - JSRs for Java Enterprise Edition (Java EE) 8 and Java Standard Edition (Java SE) 9 are being developed now. This session discusses the transparency that enables participation in the JCP program and how to get involved through the Adopt-a-JSR program. You will also hear about some upcoming changes to the Java Specification Request (JSR) process itself through the JCP.next effort, and learn how you can get involved. Come with your questions/suggestions, and leave with the motivation and information you need in order to become an active participant in advancing the Java platform now and in the future.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
AD106: Expand Your Apps And Skills To The Wider World. This was a discussion of where we've been as Domino developers and how we can move on from here.
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Behaviour-Driven Development (or TDD for that matter) is one of the pillars of Software Quality. While it is very important, not many of us do it or do not have the support from the management to invest time in it. Commonly, it has been described as a waste of time or an intangible effort conflicting with the deadlines. In this presentation, I would like to share my experiences with the Behaviour-Driven Development, the effects of not having it at all, as well as the outcomes of working on projects where a significant amount of behavior is automated with Cucumber tool.
By attending this session you will be able to learn what BDD and Cucumber are, how to build Cucumber tests and hear about first-hand experiences around automating specifications.
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader - Daniel Strmečki
Your success depends on others, a 1-man army can only achieve so much. The only way to progress from coder to leader is to learn how to scale yourself. Nowadays, you can become a Senior Developer with just a few years of experience. After that, there are many roads and possibilities you can take. Whether you decide for a developer, architect, manager or a mixed career, at one point, you will need to become a leader. In the first chapter of the lecture we will start a discussion on how to get there. Since your time is limited, you need to mentor, coach, motivate and engage others. Start with making a stable foundation, like setting up a proper onboarding process. If you help people around you, they will for sure talk about it, and your manager will hear it. Also, demonstrate ability in everyday work: coding, project management, client-focus, communication and care about others. Always stick to your values and keep high standards. In the second chapter we will discuss the challenges that turn up once you get there. At that point you will deal with people more than technology. You will need to step away from coding for meetings very often. Interruptions will happen every day and it we be very hard to maintain “the flow”. You will need to learn how to delegate and drive topics without implementing them yourself. Visit the lecture to find out some techniques for dealing with interruptions, meetings, prioritization, people and their motivation.
This is a story about our exploration of aspects of Polyglot Programming and Memory Management in a (J)VM. The first part is focused on our research of performance of GraalVM, an open-source, high-performance polyglot virtual machine written in Java, as well as an accompanying Graal compiler, supporting JIT and AOT compilation, with outstanding inlining and escape analysis algorithms. In the second part we are dealing with aspects of automatic memory management and garbage collection analysis in an existing JVM, thus comparing the most commonly used (older) garbage collectors such as Serial, Parallel (Old), CMS, and G1, with contemporary and default Parallel Full G1, and new experimental ZGC and Shenandoah, across several JDKs using a common benchmark suite.
We develop an application prototype with Java and Hyperledger Fabric to facilitate people in the company to sell domestic goods to each other using marketplace application. Java and SmartGWT were used to develop UI, part of data were stored in the relational DBMS, while orders and balances were stored on the blockchain, specifically Hyperledger Fabric.
Bugs happen! It is a developers life fact. Let'e explore one way we the developers can help customers to make batter bug reports.
During lifecycle of systems and applications that support complex and long running business processes it is often the challenge to get accurate bug report. In this talk we will present one custom developed solution that we used on several our projects as well as our experiences in using this approach.
With several years of remote work experience in an agile environment, working from beautiful Zagreb for clients abroad and trying out different distributed team setups, we will share the motivation and philosophy behind it. We will also cover best practices, challenges and general tips & tricks in different segments such as work organisation, technical requirements, social requirements, methodology etc.
This talk is recommended for all developers who want to start working remotely or improve the way they already do it, employers who consider establishing distributed teams inside of their companies and clients searching for partners who have distributed teams.
While Kotlin is designed to work well with Java by default, we'll still need to some work to get clean and idiomatic code in both languages.
In this talk we'll cover both how to make your Java code more Kotlin friendly and how to make your Kotlin code nicer to use from Java.
HATEOAS is without a doubt, the least understood pillar of REST. It seems difficult to implement and shows no immediate reward for it, so many developers don't even bother. The truth is, it just has some bad PR and a horrible acronym that sounds like a breakfast cereal. Join me to take a look at the theory and practice behind using hypermedia by examining both web services and web clients. Along the way we will look at some exciting upcoming Spring HATEOAS features, like the Affordances API, and talk about what the future holds for hypermedia in your web services.
In the last few years we witnessed big changes in how we actually build, deploy and run applications with the rise of Microservices Architectures, Containers, Kubernetes, and DevOps practices. Those amazing improvements need a cultural shift
based on continuous improvement and learning in order to deliver business value and delight our customers.
But how could a team achieve this ambitious goal?
This talk will introduce the attendees to a revolutionary open source project, called Jenkins X, which attempts to achieve this goal. It is basically a reimagined CI/CD Ecosystem for Kubernetes built around Jenkins, either with a classical master or leveraging knative serverless functions.
After this talk, attendees will be able to develop effectively in a cloud native way in any language on any kubernetes cluster!
Let's forget Scrum and be truly Agile! Finally!
Individual microservices are relatively easy to develop, but managing a distributed system composed of microservices is never a simple task. Kubernetes helps, but it falls short of providing everything such a system needs. This is where the Istio Service Mesh comes in.
Running microservices in production, you'll soon realize you want things like traffic splitting, automatic connection retries, timeouts and failovers, secure communication and authentication between your services, distributed metrics, tracing and logging. By introducing Istio into your architecture, you get all of that and more. And you get most of it without changing your code at all.
In this talk, you'll see a demonstration of Istio in action and learn about the tricks that make its magic possible.
Do your customers keep complaining about bugs in your software application? Does it take you too much time to implement new features? If yes, then you probably have issues with the quality of your application. Join me to find out what practical steps you can follow to improve the quality of your application!
We are used to give commands to our computers with keyboard - by natural language recognition improvement, services around this technology stack become better and better each day. Using Google Home mini device, IFTTT service and java web socket netty server hosted on red hat Openshift platform, control your loving private computer terminal or any application from distance with your bare voice.
Quality control during apps development demands continuous testing. Selenium, Cucumber, Jenikns and Docker can help us in that process. Hrvoje will share his experience about that subject.
Bugs are a daily cause of stress in our work as Java developers. Those pesky things can hide behind core concepts in Java 9 and 10—there is no way out of this. If we don’t keep up to date with new Java versions, bugs will take over our projects. But can we have fun hunting them? You bet! How about solving a series of Java puzzles as a way to master concepts and save a lot of time finding those tricky bugs? In this session, attendees can help the bug hunters solve fun Java challenges, gain a clear understanding of what causes the most-stressful bugs—and have fun eliminating them from projects.
In H2020 EU project symbIoTe (symbiosis of smart objects across IoT environments) we have been building IoT middleware based on microservices programmed in Java with Spring Boot and Spring Cloud components. Here I will present our experiences in developing such services in distributed team across EU and employed by 15 organizations. I will present organizational and technical advantages and drawbacks as well as our choices in building such system.
In this talk, you'll learn about the new features in JDK 11, the first long-term support (LTS) release in a new, faster Java SE release cadence.
We'll discuss the how these features benefit your code, and how existing code can be brought forward to benefit from JDK 11. Last but not least, we'll discuss how to keep up with innovations coming up in JDK 12, and future releases.
Javantura v6 Conference
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance while retaining Java’s core values of readability, generality, and compatibility.
Javantura v6 Conference
What is the future of Earth and Sun in the close and far future? What is the future of this part of the Universe and how the whole Universe will end? What is the close future of humankind? What is the best way to deal with greatest challenges like climate changes, artificial intelligence, globalisation and generally very fast advancement of technology. What is the future we want? In this session we will discuss answers to these questions, as the basis for further discussion and as food for thoughts.
More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljević & Aleksander Radovan
1. with
dr. sc. Branko Mihaljević
Aleksander Radovan
et al.
HUJAK
Hrvatska udruga Java korisnika
Croatian Java User Association
www.hujak.hr
2. Some Credit to Original Indy
• Dr. Henry Walton Jones Jr.
• "Indiana" or "Indy"
• 2nd greatest film hero of all time
by American Film Institute
• George Lucas and Steven Spielberg
• No superpowers,
real character with many flaws
• Duality in character – Henry vs. Indy
• College Professor, Archaeologist, Historian
vs. Adventurer, Detective, Treasure Hunter
www.hujak.hr 2
3. CroDuke Indy
• Indy served as an inspiration for CroDuke Indy
• Version of HUJAK's mascot developed for
Javantura (Java-adventure) conference in 2014
• No bullwhip, but with fedora hat
and a cup of Java
• Still a bit clumsy,
making mistakes,
getting hurt and with a
fear of snakes bugs
www.hujak.hr 3
5. • Original Java Man lived 1 000 000 years ago on
the island of Java
• In 1891 Eugène Dubois and his excavation team
discovered early human fossils (missing link?)
• BTW, official name is homo erectus erectus
• They uncovered skullcap,
thighbone and tooth (Duke?!)
• However, that's ancient history… ☺
Original Java Man
www.hujak.hr 5
Source: "Java man" Photo, Encyclopædia Britannica Online
6. New Java Men
• 100 years later the new Java Men discovered ☺
• In 1991 began Stealth Project with
James Gosling to build Oak interpreter
• Green Team on brainstorming in Aspen
• In 1994 first Java compiler was written in Java
• And HotJava graphical browser
• In 1995 Oak was officially renamed Java
• And publicly announced at SunWorld'95 conference
www.hujak.hr 6
8. A (Java) History Lesson
• Short history of The Duke, the Java mascot
• First used on 5" color touchscreen LCD device
• With fast SPARC processor,
flash RAM & small Unix (<1MB)
• Wireless networking, multimedia codecs,
remote control (TV)…
• Star 7 (*7)
• PDA handheld device from 1992 ☺
• It was running on screen agent
called The Duke
www.hujak.hr 8
Source: Star7 PDA prototype, http://www.youtube.com/watch?v=Ahg8OBYixL0, 1992
9. • Hmm, close… but
• Have you
ever heard
about the
Java Ring?
☺
One Ring to Rule Them All
www.hujak.hr 9
10. Original iButton
• 20 year ago Dallas Seminconductors (today Maxim)
produced iButton
• A one-million transistor single-chip
trusted microcomputer with memory
• Modular exponentiator for RSA encryption,
128 kB RAM, and unalterable realtime clock
• Only a single electrical contact and a ground return
• Specification of 1-Wire bus
• Lithium-backed non-volatile static RAM with
tamper resistance
• When tempering detected near-instantaneous clearing of
all memory (rapid zeroization)
www.hujak.hr 10
Source: An introduction to the Java Ring, JavaWorld, April 1st 1998
11. Java-powered iButton
• A bit later they produced Java-powered iButton
• JVM housed in 16mm rugged and secure stainless-
steel case
• Fully compatible with Java Card 2.0 standard
• Small and extremely rugged packaging
• Allows it to attach to any accessory (i.e. key fob,
wallet, watch, necklace, bracelet, or finger ring)
• And we've got Java Ring ☺
www.hujak.hr 11
Source: An introduction to the Java Ring, JavaWorld, April 1st 1998
12. Temple of Java Boom
• Continued growth of Java
for 22 years
• #1 Development Platform
• Now in the Cloud and
with Microservices
• 15 Billion Devices run Java
• 350 Million Medical Devices
• 2 Billion Automotive Devices
• 97% of Enterprise Desktops
www.hujak.hr 12
Source: Oracle presentations, October 2016
13. Java Developers
• 10 Million Java Developers
in the world
• Many have Java Certificates
• OCA, OCP & OCM
for Java SE
• OCE & OCM
for Java EE
• HUJAK can help with certification process
• Experience, guidelines, books, tests, study groups…
www.hujak.hr 13
Source: Oracle presentations, October 2016
Your Name ☺
14. Why Java?
• From the largest enterprise applications to
various small smart devices
• Sensors, wearable, pervasive, ubiquitous … IoT
• Enormous ecosystem of code, libraries and tools
• Portable and open source
• Corporate and vendor backing
• And finally – Android!
www.hujak.hr 14
15. Really, Java?!
Java is not just a language,
Java is a platform!
Most people talk about Java the Language, and this
may sound odd coming from me, but I could hardly
care less.
At the core of Java ecosystem is the JVM.
James Gosling, "Father of Java"
• 50+ JVM languages (Clojure, Groovy, Scala, JRuby,
Jython, Fantom, Kotlin, Ceylon, Xtend, X10, LuaJ,
Golo, Frege, Mirah, Eta… and JavaScript)
• The most popular language (still ☺)?
www.hujak.hr 15
18. Popularity of Java language #2
• TIOBE Programming Community Index
• February 2017
www.hujak.hr 18
Rank Language Ratings
1 Java 16.676%
2 C 8.445%
3 C++ 5.429%
4 C# 4.902%
5 Python 4.043%
Source: Tiobe index, www.tiobe.com/tiobe-index/, February 2017
19. Popularity of JVM Languages
• JVM Language Ranking from StackOverkill
www.hujak.hr 19
Source: JVM Language Ranking, www.stackoverkill.com/ranking/jvm-langs, StackOverkill, February 2017
20. One Source We All Trust
• 13 million questions and
21 million answers
• Since 2009
• New question
every 8 seconds
• Developer Survey 2016
• 56 033 survey respondents
from 173 countries
www.hujak.hr 20
Source: Developer Survey Results 2016, tackoverflow.com/research/developer-survey-2016, stackoverflow, 2016
21. Most Popular Technologies
• Most Popular Technologies for 2016
www.hujak.hr 21
0% 20% 40% 60%
C
C++
Python
PHP
C#
Java
SQL
JavaScript
15,5%
19,4%
24,9%
25,9%
30,9%
36,3%
49,1%
55,4%
Source: Developer Survey Results 2016, tackoverflow.com/research/developer-survey-2016, stackoverflow, 2016
23. Votes for tag "Java"
0
10.000
20.000
30.000
40.000
50.000
60.000
70.000
www.hujak.hr 23
Anonymous Feedback +
Votes over time on a Specific Tag "Java"
Source: Anonymous feedback votes over time on a specific tag, data.stackexchange.com, February 2017
24. Java at GitHub/Stack Overflow
www.hujak.hr 24
1. JavaScript
2. Java
3. PHP
4. Python
5. C#, C++, Ruby
8. CSS
9. C
10. Objective-C
11. Shell
12. R
13. Perl
14. Scala
15. Go
16. Haskell
Source: The RedMonk Programming Language Rankings, RedMonk, June 2016, redmonk.com/sogrady/2016/07/20/language-rankings-6-16/
25. Raiders of the Java Ark
• What about:
• Java Versions
• Libraries
• Tools
www.hujak.hr 25
26. Java Versions
• Java SE version adoption survey (2012-2016)
www.hujak.hr 26
0% 20% 40% 60%
Other
Java 6
Java 7
Java 8
26%
58%
15%
2%
26%
65%
7%
1%
9%
28%
62%
2016 2014 2012
Source: Java Tools and Technologies Landscape 2016, RebelLabs, Simon Maple, ZeroTurnaround, April 2016
27. Java Versions #2
• Java SE versions analysis (2013-2016)
www.hujak.hr 27
0% 20% 40% 60%
Other
Java 6
Java 7
Java 8
1%
70%
29%
1%
36%
61%
3%
0%
20%
59%
21%
0%
10%
45%
45%
2016 2015 2014 2013
Source: Java version and vendor data analyzed: 2016 edition, Nikita Salnikov-Tarnovski, Plumbr, April 2016
28. Java Versions #3
• Java SE version adoption survey (2015-2016)
www.hujak.hr 28
0% 20% 40% 60%
Java 6
Java 7
Java 8
13%
49%
38%
6%
30%
64%
2016 2015
Source: Java 8, Spring 4 and Spring Boot Adoption & Java 8 Adoption Survey, Eugen Paraschiv, Baeldung, October 2015 & July 2016
29. Guide to Modern Java
www.hujak.hr 29
• Java 8 far more likely to be adopted for new
applications than into existing applications
• 81% new applications vs 34% existing applications
• New Java 8 programming style
• Lambdas, Stream API and Optional return type
• java.time API
• Other languages
0%
10%
20%
30%
40%
50%
Groovy Scala Clojure Kotlin
39%
31%
6%
2%
45%
41%
13% 12%
2015 2016
Source: DZone Guide to Modern Java, Volume II, DZone, 2016, dzone.com/guides/modern-java
30. Java EE Versions
• Java EE version adoption
www.hujak.hr 30
0% 20% 40%
No Java EE
J2EE
Java EE 5
Java EE 6
Java EE 7
32%
3%
7%
33%
24%
42%
3%
7%
17%
31%
2016 2014
Source: Java Tools and Technologies Landscape 2016, RebelLabs, Simon Maple, ZeroTurnaround, April 2016
31. What is Really Popular?
• Types of Java libraries in Top 100 list on Github
www.hujak.hr 31
Source: The Top 100 Java Libraries in 2016 - After Analyzing 47,251 Dependencies, Henn Idan, Takipi, May 10, 2016
0 2 4 6 8 10 12 14 16
AOP
Java Extension
Mocks
Testing
Logging
Parsing
Database
Web
Utilities
33. Top Java libs on Github
• Testing libraries –#1 is JUnit,
spring-test at #17 and testng at #20
• Logging libraries – SLF4J at #2, log4j at #4,,
and logback-classic at #9
• slf4j-log4j12 at #6 and jcl-over-slf4j at #22
• Google Guava at #3
• Spring libraries – 44 out of top 100
• Spring Boot rise
• Apache-commons – commons-io at #5, commons-lang at
#8, commons-lang3 at #10, commons-codec at #15
• Mockito-all at #7
• JSON libraries – jackson-databind at #14, gson at #19
www.hujak.hr 33
Source: The Top 100 Java Libraries in 2016 - After Analyzing 47,251 Dependencies, Henn Idan, Takipi, May 10, 2016
34. IDEs
• The most popular IDEs
www.hujak.hr 34
0% 20% 40% 60%
Other
NetBeans
Eclipse
IntelliJ IDEA
14%
62%
24%
3%
10%
54%
33%
3%
10%
41%
46%
2016 2014 2012*
Source: Java Tools and Technologies Landscape 2016, RebelLabs, Simon Maple, ZeroTurnaround, April 2016
* data normalized
35. Build Tools
• Build Tools
www.hujak.hr 35
0% 20% 40% 60%
Other
Ant
Gradle
Maven
39%
4%
54%
8%
17%
11%
64%
5%
11%
16%
68%
2016 2014 2012*
Source: Java Tools and Technologies Landscape 2016, RebelLabs, Simon Maple, ZeroTurnaround, April 2016
* data normalized
36. Profiling & Performance
• Performance Monitoring
www.hujak.hr 36
• Java Profilers
0% 10% 20% 30% 40%
No profiler
Other
XRebel
NetBeans Profiler
YourKit
Java Mission Control
JProfiler
VisualVM
35%
3%
6%
7%
12%
15%
16%
38%
0% 10% 20% 30% 40% 50%
No APM
I have no clue
Other
Zipkin
Wili
Dynatrace
AppDynamics
New Relic
47%
30%
5%
2%
2%
4%
5%
11%
Source: Java Tools and Technologies Landscape 2016, RebelLabs, Simon Maple, ZeroTurnaround, April 2016
37. Application Servers
• Production and development App Servers
www.hujak.hr 37
0%
10%
20%
30%
40%
42%
12%
10%
7% 6%
3% 4%
1% 1%
4%
10%
42%
8% 9% 8% 8%
5% 4%
1% 1%
4%
10%
Development Production
Source: Java Tools and Technologies Landscape 2016, RebelLabs, Simon Maple, ZeroTurnaround, April 2016
41. Java T&T Leaderboard
www.hujak.hr 41
Java 8
68%
Java SE
Java EE 7
31%
Java EE
IntelliJ IDEA
46%
IDE
Tomcat
42%
App server
Spring MVC
43%
Web framework
Jenkins
60%
CI
Git
68%
VCS
Docker
32%
Virtualization
Maven
68%
Build tool
Spring Boot
29%
Framework
Source: Java Tools and Technologies Landscape 2016, RebelLabs, Simon Maple, ZeroTurnaround, April 2016
42. Kingdom of Java Skills
• Where we are now
• Where are we going?
www.hujak.hr 42
43. • Java SE 8u121 released January 17 2017
• Next Critical Patch Update is in April 2017
• No more MD5 signed JARs
• Moving to a Plugin-Free Web
• Early Access Release JDK 9 Build 156
• Eclipse NetBeans Support
• www.java9countdown.xyz
Current State of Java
www.hujak.hr 43
44. JDK 9 – what's in it?
102: Process API Updates
110: HTTP 2 Client
143: Improve Contended Locking
158: Unified JVM Logging
165: Compiler Control
193: Variable Handles
197: Segmented Code Cache
199: Smart Java Compilation, Phase Two
200: The Modular JDK
201: Modular Source Code
211: Elide Deprecation Warnings on Import
Statements
212: Resolve Lint and Doclint Warnings
213: Milling Project Coin
214: Remove GC Combinations Deprecated in JDK 8
215: Tiered Attribution for javac
216: Process Import Statements Correctly
217: Annotations Pipeline 2.0
219: Datagram Transport Layer Security (DTLS)
220: Modular Run-Time Images
221: Simplified Doclet API
222: jshell: The Java Shell (Read-Eval-Print Loop)
223: New Version-String Scheme
224: HTML5 Javadoc
225: Javadoc Search
226: UTF-8 Property Files
227: Unicode 7.0
228: Add More Diagnostic Commands
229: Create PKCS12 Keystores by Default
231: Remove Launch-Time JRE Version Selection
232: Improve Secure Application Performance
233: Generate Run-Time Compiler Tests
Automatically
235: Test Class-File Attributes Generated by javac
236: Parser API for Nashorn
237: Linux/AArch64 Port
238: Multi-Release JAR Files
240: Remove the JVM TI hprof Agent
241: Remove the jhat Tool
243: Java-Level JVM Compiler Interface
244: TLS Application-Layer Protocol Negotiation
Extension
245: Validate JVM Command-Line Flag Arguments
246: Leverage CPU Instructions for GHASH and RSA
247: Compile for Older Platform Versions
248: Make G1 the Default Garbage Collector
249: OCSP Stapling for TLS
250: Store Interned Strings in CDS Archives
www.hujak.hr 44
45. JDK 9 – what's in it? (cont’d)
251: Multi-Resolution Images
252: Use CLDR Locale Data by Default
253: Prepare JavaFX UI Controls & CSS APIs for
Modularization
254: Compact Strings
255: Merge Selected Xerces 2.11 Updates in JAXP
256: BeanInfo Annotations
257: Update JavaFX/Media to Newer Version of
GStreamer
258: HarfBuzz Font-Layout Engine
259: Stack-Walking API
260: Encapsulate Most Internal APIs
261: Module System
262: TIFF Image I/O
263: HiDPI Graphics on Windows and Linux
264: Platform Logging API and Service
265: Marlin Graphics Renderer
266: More Concurrency Updates
267: Unicode 8.0
268: XML Catalogs
269: Convenience Factory Methods for Collections
270: Reserved Stack Areas for Critical Sections
271: Unified GC Logging
272: Platform-Specific Desktop Features
273: DRBG-Based SecureRandom Implementations
274: Enhanced Method Handles
275: Modular Java Application Packaging
276: Dynamic Linking of Language-Defined Object
Models
277: Enhanced Deprecation
278: Additional Tests for Humongous Objects in G1
279: Improve Test-Failure Troubleshooting
280: Indify String Concatenation
281: HotSpot C++ Unit-Test Framework
282: jlink: The Java Linker
283: Enable GTK 3 on Linux
284: New HotSpot Build System
285: Spin-Wait Hints
287: SHA-3 Hash Algorithms
288: Disable SHA-1 Certificates
289: Deprecate the Applet API
290: Filter Incoming Serialization Data
292: Implement Selected ECMAScript 6 Features in
Nashorn
294: Linux/s390x Port
295: Ahead-of-Time Compilation
297: Unified arm32/arm64 Port
298: Remove Demos and Samples
www.hujak.hr 45
89 JEPs!
46. Java SE 9 delayed
Proposed schedule change for JDK 9
mark.reinhold at oracle.com mark.reinhold at oracle.com Tue Dec 1 17:08:06 UTC 2015
The key feature of Java 9 is Project Jigsaw [1], which will introduce a standard module system and use that system to
modularize both the Java SE Platform and the JDK. This large project consists of a JSR for the module system plus five JEPs, for
the implementation of the module system and for other changes specific to the JDK. We've made good progress on Jigsaw over
the last eighteen months: We reorganized the source code into modules in August 2014 (JEP 201 [2]), restructured run-time
images to support modules in December 2014 (JEP 220 [3]), began discussions in the JSR 376 EG last February [4], and
published a design overview, draft specification, and EA builds in September [5]. More recently we presented an integrated
series of talks on Jigsaw at JavaOne 2015 and Devoxx BE 2015 [6] which were very well-attended and motivated many
developers to download the EA builds, try them out, and send feedback and suggestions.
In the current JDK 9 schedule [7] the Feature Complete milestone is set for 10 December, less than two weeks from today, but
Jigsaw needs more time. The JSR 376 EG has not yet published an Early Draft Review specification, the volume of interest and
the high quality of the feedback received over the last two months suggests that there will be much more to come, and we
want to ensure that the maintainers of the essential build tools and IDEs have adequate time to design and implement good
support for modular development.
For these reasons I hereby propose a six-month extension of the JDK 9 schedule, moving the Feature Complete (FC) milestone
to 25 May 2016, the General Availability (GA) milestone to 23 March 2017, and adjusting the interim milestones accordingly.
As with previous schedule changes, the intent here is not to open the gates to a flood of new features unrelated to Jigsaw, nor
to permit the scope of existing features to grow without bound. It would be best to use the additional time to stabilize, polish,
and fine-tune the features that we already have rather than add a bunch of new ones. The later FC milestone does apply to all
features, however, so reasonable proposals to target additional JEPs to JDK 9 will be considered so long as they do not add
undue risk to the overall release.
Comments on this proposal from JDK 9 Committers are welcome, as are reasoned objections. If no such objections are raised
by 18:00 UTC next Tuesday, 8 December, or if they're raised and satisfactorily answered, then per the JEP 2.0 process proposal
[8] this will be adopted as the new schedule for JDK 9.
- Mark
www.hujak.hr 46
Source: http://mail.openjdk.java.net/pipermail/jdk9-dev/2015-December/003149.html
47. Java SE 9 delayed again
Proposed schedule change for JDK 9
mark.reinhold at oracle.com mark.reinhold at oracle.com Tue Sep 13 15:56:40 UTC 2016
Eighty-five JEPs are targeted to JDK 9 [1]. Most of those are done, or very nearly so. We are not, unfortunately, where we need
to be relative to the current schedule.
We've made a lot of progress on Project Jigsaw [2], the key feature of the release, over the last eight months. In March 2016
we published a major update to the proposed design of the module system [3] and merged it into the JDK 9 master forest [4].
Since then many developers have downloaded the EA builds and sent in feedback (thanks!), both on the module system itself
and on its impact upon the rest of the JDK.
Despite this progress, at this point it's clear that Jigsaw needs more time. We recently received critical feedback that
motivated a redesign of the module system's package-export feature [5], without which we'd have failed to achieve one of our
main goals. There are, beyond that, still many open design issues [6], which will take time to work through.
Looking at the release as a whole, the number of open bugs that are new in JDK 9 is quite a bit larger than it was at this point
in JDK 8. The maintainers of many popular projects are now actively testing against the JDK 9 EA builds [7], but we'd like to see
even more in order to be confident that potential issues have been found and reported.
For these reasons I hereby propose a four-month extension of the JDK 9 schedule, moving the General Availability (GA)
milestone to July 2017. I'll make a more detailed proposal for that date and other milestones in the next few weeks, but for
now I suggest we defer the start of the Rampdown process [8] and continue to operate with the previously-adopted Feature
Complete extension-request process [9].
Minor enhancements and even strongly-justified proposals to target new JEPs to JDK 9 will be considered, so long as they do
not add undue risk to the overall release. As before, however, our main focus should be to use this additional time to stabilize,
polish, and fine-tune the features that we already have rather than add a bunch of new ones.
Comments on this proposal from JDK 9 Committers are welcome, as are reasoned objections. If no such objections are raised
by 16:00 UTC next Tuesday, 20 September, or if they're raised and satisfactorily answered, then per the JEP 2.0 process
proposal [a] this will be adopted as the new schedule for JDK 9.
- Mark
www.hujak.hr 47
Proposed schedule change for JDK 9
mark.reinhold at oracle.com mark.reinhold at oracle.com Tue
Oct 11 23:25:58 UTC 2016
Still working through the details. Stay tuned ...
– Mark
Source: http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-September/004887.html
48. JDK 9 – Feature Complete
JDK 9 is Feature Complete -- now it's time to ramp down
mark.reinhold at oracle.com mark.reinhold at oracle.com Thu Jan 19 22:28:38 UTC 2017
We achieved the Feature Extension Complete milestone [1] in late December. All JEPs and
small enhancements granted extensions [2] have been integrated into the JDK 9 master
forest. Thanks to everyone for all your hard work leading up to this milestone!
We're now in the first phase of the rampdown process, in which we aim to fix the bugs
that need to be fixed and understand why we're not going to fix some bugs that perhaps
ought to be fixed. We'll use the process that I previously proposed [3], which is now also
documented under the JDK 9 Project page [4][5].
The overall feature set is, at this point, frozen. It's highly unlikely that any further JEPs will
be targeted to the release.
Small enhancements to new features will be considered, but the bar is now much higher.
Please request approval for such enhancements via the existing FC-extension process [2].
Low-risk enhancements that add small bits of missing functionality or improve usability
may be approved, especially when justified by developer feedback. Enhancements that add
significant new functionality will require very strong justification. Enhancements to tests or
documentation do not require advance approval.
- Mark
www.hujak.hr 48
Source: http://mail.openjdk.java.net/pipermail/jdk9-dev/2017-January/005505.html
49. Java SE 9 Schedule
Proposed Schedule for JDK 9
2016-05-26 Feature Complete (ex 2015-12-10)
2016-12-22 Feature Extension Complete
2017-01-05 Rampdown Start (ex 2016-02-25 & 2016-09-01)
2017-02-09 All Tests Run (ex 2016-02-04 & 2016-08-11)
2017-02-16 Zero Bug Bounce (ex 2016-04-21 & 2016-10-20)
2017-03-16 Rampdown Phase 2 (ex 2016-06-16 & 2016-12-01)
2017-07-06 Final Release Candidate (ex 2016-07-21 & 2017-01-26)
2017-07-27 General Availability (ex 2016-09-22 & 2017-03-23)
www.hujak.hr 49
Source: openjdk.java.net/projects/jdk9/, February 2017
50. Java 9 and Beyond
• Project Jigsaw
• Java Module System
• Project Valhalla
• Value Types, Specialized
Generics, Var Handles…
• Project Panama
• Foreign Function Interface, Data Layout Control,
Arrays 2.0…
• Let's first see what will happen with Java 9… ☺
www.hujak.hr 50
Source: Java 9, and Beyond, Mark Reinhold, EclipseCon, March 12, 2015
51. • Lack of commitment to Java EE
• Members leaving? Low number of code commits?
• Java EE Guardians
• javaee-guardians.io
• Independent group of people interested in moving
Java EE forward (advocacy, awareness, support…)
• And then at JavaOne – (expected) surprise
• Java EE 8 (and 9) Roadmap
• End of 2017?!
What about Java EE?
www.hujak.hr 51
52. Most wanted tech in Java EE
• Java EE Survey
Results, Oracle,
Dec 2016
1. REST Services
(JAX-RS 2.1)
2. HTTP/2
(Servlet 4.0)
3. OAuth &
OpenID
(Security 1.0)
4. Configuration
www.hujak.hr 52
Source: Java EE Survey Results and Java EE 8, Java EE Development Team, Oracle, December,2016
53. Current State of Java EE
• Management 2.0 and JMS 2.1 will have to wait
• What about the rest?
www.hujak.hr 53
Source: Java EE 8 - February 2017 update, Daivd Delabassee, www.slideshare.net/delabassee/java-ee-8-february-2017-update
54. New trends
• Containers and Virtualization
• Official JDK + Docker?
• Others: Kubernetes, Mesos, AWS ECS, VMWare…
• Polyglotism everywhere
• Ability to master multiple languages
• Should we cover JavaScript too?
Andrew Binstock, Editor in Chief, Java Magazine
• Polyglot for Maven (Ruby, Groovy, Clojure, Scala,
YAML…)
www.hujak.hr 54
56. Java Licensing Issues
• "Oracle finally targets Java non-payers – six years after
plucking Sun"
• Controversial news article in The Register, Dec 16th, 2016
• Java is still free (from Java SE General FAQs)
• The current version of Java – Java SE 8 – is free and available
for redistribution for general purpose computing. Java SE
continues to be available under the Oracle Binary Code License
(BCL) free of charge.
• However
• JRE use for embedded devices and other computing
environments may require a license fee from Oracle.
• Oracle Java SE Advanced and Oracle Java SE Suite have some
features that are not available in the free version.
www.hujak.hr 56
Source: Java SE General FAQs, www.oracle.com/technetwork/articles/javase/faqs-jsp-136696.html
57. Java Licensing Resolved
• Which tools are not free?
• Java Flight Recorder, Java Mission Control (JMC), JRockit,
Advance Management Console (AMC) and JRE Usage
Tracking
• General rule – don't use
-XX:+UnlockCommercialFeatures
• Be careful with Oracle Java SE Advanced, Oracle
Java SE Advanced Desktop i Oracle Java SE Suite
• Other JDK/JRE distributions (Azul, IBM, Red Hat…)
• E.g. OpenJDK licensed under GPLv2 + CPE
• Read open letter from Java Champions about it
www.hujak.hr 57
Source: Oracle Java SE and Oracle Java Embedded Products, www.oracle.com/technetwork/java/javase/documentation/java-se-product-editions-397069.pdf
58. Some Java EE issues
• Java EE claimed "obsolete" by Gartner?
• In Market Guide for Application Platforms, Anne Thomas and Aashish
Gupta, Nov 23rd, 2016
• Key finding: Commercial Java Platform, Enterprise Edition (Java EE)
platforms' revenue declined in 2015, indicating a clear shift in the
application platform market. Digital business initiatives require new
features and capabilities in application platforms, and Java EE has failed to
keep pace.
• Recommendation: Develop a strategy to deal with the obsolescence of
Java EE. Retain Java EE servers for existing legacy applications, but use
lighter-weight Java frameworks for digital business application
development projects or evaluate other language platforms.
• Strategic Planning Assumptions: By 2019, fewer than 35% of all new
business applications will be deployed in Java EE application servers.
• Responses:
• Java EE—the Most Lightweight Enterprise Framework?, Yolande Poirier,
Oracle, Dec 2, 2016
www.hujak.hr 58
59. Positive Examples in Croatia
• Croatian Makers League
• One great example ☺
• Curricular reform
• A lot of involvement, currently stuck
• Initiatives
• CISEx Fridays
• Mreža Smart Day
• eSkills for Jobs
• Oracle Academy
• Java in high schools initiative
• Many hackathons & competitions
• HUJAK members included ☺
www.hujak.hr 59
60. The Adventures of Young
CroDuke Indy
• Java User Groups
• Java Community
• HUJAK
• Members
• Conferences
• Partners & Friends
www.hujak.hr 60
62. Java Community
• 460 000 Java User Group members
worldwide
• 192 Java Champions
elected
• 150+ new JCP members
last year
• 1 billion Java downloads
per year
www.hujak.hr 62
63. New Java Map
• New Java map at mapme.com/java-use-groups
• JUGs
• Java Champions
• Java Events
• Java for Kids
www.hujak.hr 63
typo ☺
64. 100+ JUGs in Europe
www.hujak.hr 64
Hrvatska udruga Java korisnika – HUJAK
Croatian Java User Association is an non-profit association of citizens,
private persons as well as representatives of legal entities, who are in their professional,
scientific or professional work involved in the development or use of technologies related
to the Java language and platform.
72. Call to JavaCro’17
• May 10-12, 2017, Rovinj
• 300+ attendees, 50+ sessions, 3+ tracks, 2+ days
• Call for Speakers is open at 2017.JavaCro.hr
www.hujak.hr 72
74. Agilni razvoj softvera
• Roko Roić & Luka Ferlež
• The only book in Croatian
about Scrum, Lean and
Extreme Programming
• Contains the most famous
Agile methodologies
• Special Javantura discount
ask Roko about it ☺
www.hujak.hr 74
75. Manning books on discount
• Manning offered us 40% discount on all books
• Use code: ctwjavantura
• www.manning.com
• Special thanks to Marko Lukša ☺
www.hujak.hr 75
76. Kubernetes in Action
• Marko Lukša
• Simple containerized web
application on Kubernetes
cluster running in
Google Container Engine
• How to use Kubernetes to
deploy self-healing scalable
distributed applications as
well as multi-component
applications
• www.manning.com/books/
kubernetes-in-action
www.hujak.hr 76
77. Spark in Action
• Petar Zečević & Marko
Bonaći
• Theory and skills you need
to effectively handle batch
and streaming data using
Spark
• Fully updated for Spark 2.0
• www.manning.com/books/
spark-in-action
• Could win one at SV Group
promo stand
www.hujak.hr 77
78. O'Reilly and Packt Free Books
• More than 240 free O'Reilly ebooks
• www.oreilly.com/programming/free/
• One free Packt book every day
• www.packtpub.com/packt/offers/free-learning
www.hujak.hr 78
79. Instead of Conclusion
Call for Participation!
• HUJAK needs your help in:
• Everyday life of our JUG
• Organizing conferences (speakers and sponsors)
• Organizing meetups and workshops
• Education and certification activities
• Employment-related activities
HUJAK is YOU!
79www.hujak.hr
80. Thank you & greetings
from HUJAK!
• Web page hujak.hr
• www.hujak.hr
• LinkedIn group HUJAK
• www.linkedin.com/groups?gid=4320174
• Facebook group page HUJAK.hr
• www.facebook.com/HUJAK.hr
• Twitter profile @HUJAK_hr
• twitter.com/HUJAK_hr
www.hujak.hr 80