Please let the program committee know what you think!
Click in the "Your Vote" field for each submission. (You must be logged in to vote.)
We run data acquisition at the UK's biggest science project using Java. This year we completed a migration of around three million lines of code in our Java servers to OSGi running with Equinox and declarative services. This is the story of how we did it, the pitfalls and real world examples of what happened.
AceJump, a popular plugin for IntelliJ IDEA, is coming soon to Eclipse! We'll discuss some technical hurdles encountered when migrating this plugin, and how I resolved them using Kotlin, Gradle, and the Eclipse RCP to help you jump to any character in the editor with just a few keystrokes.
Vanguard is one of the world's largest mutual fund providers and responsible for over $3.5 trillion in assets under management. With the recent global growth in assets, Vanguard found it necessary to invest in the people, process, and technology that support the investment decision making process.
In this talk we will discuss the new API paradigm in Eclipse Dirigible and will show examples for:
Scientific software lacks much of the prim and polish of other types of software - it can be hard to use or find, it might only be distributed as C and Fortran source, and it probably doesn't run on Windows. In addition to being extremely annoying, the reality of this situation severly undermines productivity and scientific progress. What would things be like if installing linear algebra libraries was as simple as installing mobile apps?
Deploying Domain-Specific Language (DSL) editors on Cloud IDEs opens up new possibilities to make development experience easier and more productive thanks to the abstraction of low-level technical details and the automation of repetitive and error-prone tasks. In this talk, we will demonstrate how easy to integrate DSL editors to Dirigible Web IDE using DSL Forge, a framework for building web-based editors based on EMF, Xtext, and ANTLR.
The Eclipse Rich Client Platform provides benefits that very few other frameworks can match. It's ability to support modular user-interfaces and to allow for the assembly of modules into different functional sets makes the framework especially powerful. Unfortunately the power of Eclipse RCP can also result in increased complexity - architecturally and also from a development perspective. Integration and UI testing in particular can be a serious challenge.
The number of mobile cyber security attacks is continuing to grow. At any given time, malicious code is infecting more than 11.6 million mobile devices. Recent research shows that nearly 40 percent of large companies, including many in the Fortune 500, aren’t taking the right precautions to secure the mobile applications they build for customers. The alarming state of mobile insecurity expands beyond applications, to gaps in mobile device management, data and content and user access.
IBM Security supports an intelligent, integrated and innovative approach to addressing the security challenges bombarding today’s mobile enterprises. The comprehensive portfolio of IBM Mobile Security solutions can meet your needs for trusted, high-quality interactions. These solutions deliver a protective layer of security intelligence for correlating events across the enterprise and facilitating proactive responses. This way, organizations can help prevent identity theft, reduce the risk of fraud and protect all types of critical data.
In Industry 4.0, different types of isolated and optimized sensors, machines, and instruments of varying vintage will emerge as a fully integrated, automated, and optimized production flow, leading to greater efficiencies and changing traditional production relationships among suppliers, producers, and customers. In the IoT context, Eclipse Kura is a Java/OSGi application container framework that enables remote management of IoT service gateways and provides a wide range of APIs that simplify the development of IoT applications.
Are you a new committer or project lead for an Eclipse, LocationTech, or PolarSys open source project? Are you thinking about proposing a new open source project? This session will take you quickly through the important parts of being a committer on an Eclipse Foundation project. Don't expect a lot of background or related discussion; in this session, we get right to the point and talk you through the key things that you need to know to follow the rules and be an effective committer.
Pair programming is a well-known agile software development technique where two programmers work together on one set of code files. One person is typically the driver while the other is the observer. What happens when one of the programmers is remote? Can we do better than screen sharing? This talk builds on the collaborative editing experience and examines the intriguing possibility of a first class shared development environment and seamless team awareness in the cloud.
There are many reasons to build a modern web application as so called single page application (SPA), for example enhancing the user experience by executing code on the client rather than on the server. A common way to create such a SPA is to use AngularJS together with HTML 5 and CSS 3 as front end technology and the Spring technology stack for the back end.
If you look around, you’ll find that a lot of things that used to hang around on your hard drive, from documents to applications, have been moving to the cloud in recent years. The same seems to be true for IDEs: Eclipse Che for example is hosted in the cloud and uses workspaces containing your projects alongside the necessary runtimes: Instead of setting up the required environment - like databases, applications servers, or third party libraries - everything you need for your project to run is already associated with your workspace.
Elliptical Curve Cryptography (ECC) for IoT and the NSA
Explains why and how to use ECC for securing IoT devices and systems.
A portion of the presentation focuses on the mathematics of Elliptical Curve Cryptography and its low computational power requirement with performance examples.
Delves into the NSA’s position on the use of ECC for National Security Systems.
Provides examples of using ECC for Secure Boot and Code signing to produce products that have certifiable integrity and authenticity.
Many business applications contain a considerable percentage of form-based UIs for data entry and editing. Developing and maintaining these form-based UIs manually is a tedious and error-prone process. The EMF ecosystem provides great support for developing data-centric UIs for the desktop.
Developers are facing big changes in the way they are working since the raise of Docker. It’s terribly trendy and popular. Containers are heavily used to build, ship and run softwares.But what are the biggest impacts and values for the Developers?
Developers can benefit from portable developer environments leveraging the Docker containers technologies. It’s the main purpose of Eclipse Che. During this session we will discuss the various changes containers have provided to the developers, why dockerizing your projects and what are the best tactics to achieve that with Eclipse Che?
I will describe the Control Station for a free-flying robot called Astrobee. Astrobee will serve as a mobile camera, sensor platform, and research testbed when it is launched to the International Space Station (ISS) in 2017. Astronauts on the ISS as well as ground-based users will control Astrobee using the Eclipse-based Astrobee Control Station. Designing the Control Station for use in space presented unique challenges, such as allowing the intuitive input of 3D information without a mouse or trackpad. Come to this talk to learn how Eclipse is used in an environment few humans have the
Eclipse 4 is used since more over 4 years as a powerful runtime that uses dependency injection, application model, spies, and some other powerful features. And ... it can run the Eclipse 3 code thanks to the compatibility layer.
Nevertheless, a lot of companies still develop using the Eclipse 3 mechanisms instead of coding directly with Eclipse 4 artefacts. This can only be a short term strategy that will have a cost later.
<p>I once was in charge of a web developers team, and part of my job was to respond to requests for quotes from prospects. I had to read tens of email per day in order to understand as much projects' requirements to come up with work schedules, from which I woudl estimate the effort required, hence the quote. I then had a dream: what if something was capable of understanding English, think about the schedules and compute the quotes for me? All of the material I was parsing was quite repetitive, I was able to recognize patterns from it, that should be easy...
The Eclipse IDE is loaded with powerful features to assist users in each stage of the development process. In addition, new features are added every release to make the IDE experience even better. Sometimes, these features may not be easy to find, but are indispensable once found.
This session aims at presenting tips and tricks that will greatly improve the productivity of the Eclipse user. Some of the examples are:
How to efficiently keep full history of an EMF model? How to extract the state of the model as it was at any point in the past? How to do all this if your metamodel constantly changes?
In this session we'll look at a general approach to store EMF model history and restore models to how they looked in the past, no matter how many changes (breaking or non-breaking) were made to the metamodel during that time interval.
In this tutorial I will go over my experience in deploying and running my website https://livemykarma.com.
This is going to be a hands-on presentation where I will be covering following:
1. Quick introduction of AWS infrastructure (EC2, ECS, EB, IAM, RDS)
2. Quick introduction of Apache Shiro
3. Quick introduction of letsencrypt
4. Quick introduction of cloudflare CDN
4. Hands on demonstration of putting everything together
Writing good tests is as important as writing good code for mastering high-quality software development. The JUnit framework is one of the most valuable skills a developer can learn to achieve that. JUnit 4.0 was first released over a decade ago after the introduction of annotations in Java 5. The world of Java and testing has evolved a lot since then. To take advantage of the new features like lambda expressions in Java 8 and to support the advanced testing needs, JUnit 5 is emerging as the next generation test framework.
Oticon is in the business of development of Hearing Aids – both your ordinary behind-your-ear sorts and the specialized cochlear implants and bone anchored sorts. The development of these advanced devices requires that many - very diverse - development teams are able to exchange build artifacts in a seamless and controlled manner as well as debug the many aspects of the devices.
Almost nobody agrees on the current definition of a unit tests in general and even more for an Eclipse plugin. Worked with different projects, I saw different constraints and point of view on the subject. My focus will be testing class inside a plugin without launching an OSGI platform - aka testing at the speed of light. I will explain the advantages and the constraints depending on the project context (API, RCP application).
Models, used correctly, can be transformative in simplifying a view of a problem domain.
This session will introduce an exciting new technology, Myrion, that can be utilized to quickly and easily generate offline enabled web-based (and non web based) model editors and zero-dependency zero-annotation PoJo models; using a rich and easy to use metaschema.
TensorFlow has been democratizing the world of machine intelligence rapidly. Combined with Cloud Machine Learning platform, now any developer can leverage deep learning technology without spending much cost and having top-level expertise. In this session, we will see how a cucumber farmer, a car auction service, and a global insurance company was able to adopt TensorFlow and Cloud ML to solve their real-world problems.
Most developers are failing when studying and creating hardware. We will present best practices for creating comprehensive environment for firmware development eliminating setup, configuration, and debugging problems. This presentation will use Openenergymonitor hardware and Eclipse Che workspace server to create a reproducible and consistent workflow for development for both novice and expert developers. We will present an approach that removes dozens of issues
which may be caused by combinations of operating systems, installed libraries and configurations.
The standard of using X11 (X.Org) in the vast majority of Linux Distros has been favorable...until now. Learn about the history of X11 and why Wayland is a necessary change every distro needs to make in the near future, and what Eclipse Developers are doing about it. Although there are resources trying to explain Wayland's reasonings and uses, there isn't a clear answer to the justification of change. We will go in-depth to why X11 is obsolete in modern day applications and why Wayland is a strong candidate to aid future Linux/Unix applications.
Eclipse Che is a cloud-based IDE including online workspace management. As all Eclipse projects, it is open source as well as extensible with custom plugins. Some of Ches’ language tooling already reuses existing Eclipse frameworks, such as JDT for the Java support or Orion for the code editor.
Therefore, we wondered, can we enable the EMF tooling to run online in the cloud?
Our goal was to create an Ecore editor for the Che IDE, to enable code generation and potentially even facilitate other EMF features, such as a generic editor.
With Neon.1, we ship the 11th release of EMF Forms, a framework to efficiently build form-based UIs for showing and modifying data. Since version 1.0.0, we have completed over 1000 feature requests and bug reports, 33 contributors have submitted 10k commits and developed over 600k lines of code. EMF Forms continues to be one of the most active projects at Eclipse.
This tutorial will give you a jumpstart on the concepts of the Eclipse 4 Application Platform. If you have previous experience developing with RCP 3.x but limited or no experience with e4, this tutorial is designed for you. Using a sample application, we introduce the most important features of the Eclipse 4 platform, such as the Application Model, Dependency Injection and the Programming Model based on Annotations. We complete the introduction with an overview of the most important services available. All topics include hands-on examples that we’ll work through together.
The Eclipse Modeling Framework (EMF) in combination with RCP provide extensive support for the implementation of data-centric UIs, whether for tools or for general purpose applications. This support includes generated classes, such as label and content providers, to support for implementing trees or tables, databinding, and additional UI frameworks for various purposes.
This tutorial starts from a given example data model. We will introduce how to create a UI allowing you to create, modify, and delete instances of this data model.
A developer’s way of building web applications usually started with coding, then deploy, then open a browser to see how it looks and the circle continues.
How about you start with creating the UI by using a beautiful template, then you modify it by drag and drop, where you can see the changes in real time, and real code is generated for you. So a UI is created by design, no boring coding involved, little effort, great productivity, many happy developers! This is how Vaadin Designer works.
Software developers spend much of their time exploring the source code of their software systems, seeking to understand how it works and to assess the implications of making a change. But many developers report occasionally becoming disoriented during this exploration, where they become "lost" and are unable to recall what they were doing and why they were looking at some program element. Becoming disoriented is frustrating, and recovering from disorientation is difficult.
Eclipse Che is the next generation IDE. It uses containers for building sources and starting new runtime environments and its client-server model makes it easy to run it locally or in the Cloud.
OpenShift + Che represent the full Cloud development platform to share developments environments, runtimes and CI/CD amongst all the development team members.
We will present the integration of Che and OpenShift: how it works, its benefits and how to start using it as soon as today!
Remote access to computing resources is easy right? Just open a socket or use a web service protocol. If only it were that easy in the real world. Many organizations that provide resources for attempting to solve the worlds most complex and time consuming scientific problems are one example. Not only are these machines incredibly difficult to use, but as inviting targets for hackers, they also employ stringent security measures. All this adds up to trouble for users. In many cases, firewall policies preclude opening ports in *any* direction.
Real-time stream analysis is a growing challenge as sensors and smart devices continue to collect more data. Being able to provide smart recommendations and timealy reactions is a requirement for any IoT system. An old friend, Complex Event Processing CEP is becoming a mainstream solution for many IoT deployments.
In this talk, we show how we are using Eclipse IoT runtimes, parallel processing and open-source CEP systems to develop an embedded dashboard for an Electric car. Eclipse IoT, when combined with complex event processing, can make a difference in a Car.
In this talk, we'll take a glance at the classic plugin system used within Eclipse, and learn the importance of declarative metadata.
From there, we'll examine the definition of declarative metadata by comparing Maven and Gradle. Both systems claim to support "declarative" builds, but they do so in wildly different ways.
In this talk, we'll take a whirlwind tour of the ways that Gradle and Eclipse can interact:
- Some of the pros and cons of Gradle compared to Maven
- How to generate your project IDE as a build artifact (similar to Oomph)
- How to consume p2 repositories
- How to autogenerate OSGi metadata
- How to run PDE build
You'll leave with working code examples for a variety of usecases, and all the tools you'll need to use Gradle in your own projects.
Machine learning (ML) has become a hot and hyped topic. This is no surprise as the state of the art has reached levels that started to gain a lot of attention in the media: Self-driving cars, winning to Go game against top professional players and social media platforms that recognize your face in most online pictures.
This presentation provides an overall picture of machine learning and does not require any previous knowledge in the field. Sit back, relax and learn more about the following topics:
In this session we present a complete multi-user task-management application built with open source technologies. The goal of the chosen technologies is to make the life of the application developer as simple as possible while keeping it flexible enough to implement large and complex business applications.
The technology mix includes the following components: Spring Boot Eclipse Scout and Docker.
Working with developers for years, I saw so many of them doing their mockups directly with code, loosing a lot of time on it, and sometime be disapointed by the result. However, most of the time, you can achieve a great result with a sheet of paper and a pen.
In this presentation, we will see
With the Java 9 release, the Java Platform Module System (JPMS) is coming. The JPMS will finally modularize the class libraries provided by the JVM. In addition, the JPMS can be used by developers to modularize applications. This allows developers to split their applications into modules. These modules can then specify what other modules they require and what packages they export for use by other modules.
[What is Eclipse Collections?]
Eclipse Collections, previously known as GS Collections, is a feature-rich open source Java collections framework. It has both object and primitive containers; rich APIs available for eager and lazy iteration patterns; mutable and immutable collections; and additional container types not available in the JDK, such as Bag and Multimap.
[Why Java 8?]
Have you ever wondered how the results automatically appear in the website? This talk will take you through this journey from the code to the results –the multi-stage, multi-tech release engineering process internals.
The Eclipse Graphical Editing Framework (GEF) project team has officially released its next generation, JavaFX-based code base (aka. GEF4) as part of its 4.0.0 (Neon) release, and has since been evolving it towards the upcoming 5.0.0 (Oxygen) release.
Eclipse JDT LS (Language Server) project aims to develop a Java Language Server that will make JDT features available to any client that supports the Language Server Protocol. This talk covers the changes, challenges and lessons learned while building the JDT LS. It will also provide insights to using and developing language servers and some tips to converting existing features. There will also be demos of JDT LS features on different editors and their comparision with the Eclipse JDT to give a better understanding of the possibilities and problems of language servers.
In this tutorial session, the audience can learn Eclipse Collections, the feature rich collections framework, by going through the Eclipse Collections Kata.
[What is the Eclipse Collections Kata?]
A kata is an exercise in martial arts. A code kata is an exercise in programming which helps hone your skills through practice and repetition. The Eclipse Collections Kata is a fun way to help you learn idiomatic Eclipse Collections usage. This particular kata is set up as a series of unit tests which fail. Your task is to make them pass, using Eclipse Collections.
Sit back for 35 minutes and enjoy a most unusual use case that glues together a motley assortment of Eclipse and OSGi technologies: from Eclipse debugging, debugging expression evaluation, Bnd embedded OSGi launchers, to OSGi remote services and OSGi JUnit test cases. Follow along with a security professional who's been around for a long, long years that's exploring OSGi and how it can help evolve application security by allowing him to test somewhat like you: a developer.
In this talk you will get a quick introduction on how to use Docker effectively, especially for development from within the Eclipse IDE.
We will show how the release of Eclipse Neon supports Docker to make it even more integrated into your day-to-day work from within your IDE. In particular, you'll see how you can pull and run an image for a database, build a custom image for an application server, run it then deploy and even debug an application using data volumes, exposed ports and container links.
Google uses Test-Driven Development extensively, but when Google’s newly formed Cloud Tools for Eclipse team set out to write a new Eclipse plug-in to support the Google Cloud Platform, we ran into a numerous areas where the RCP framework was not very testable. This talk explores multiple hacks we used to test things that were never designed to be tested:
Eclipse Java Development Tooling (JDT) has its own Java compiler at its core, aptly called the JDT Core consisting of the Java compiler and various tools including Java model, search infrastructure, content assist, abstract syntax tree tools etc. Java 9 is the latest entry in the Java Any change in the language specification affects JDT directly. While some of the earlier language specification changes affected only the compiler, Java 9, in contrast, has a direct impact on users who use Eclipse IDE for Java including a non-Java 9 programmer who wants to launch using Java 9.
At the moment, if you want to have an overview of an Eclipse Community user, you must have a look at many websites: the forums, bugzilla, marketplace, ...
That is why at the Eclipse Foundation, we are working on new services:
- A brand new user profile, to manage and share your information and favorites
- The User Storage Service, to be used by plugins to store data on eclipse.org user accounts
- An Oauth / openID server for Eclipse websites, services, projects, plugins, ...
This talk is an introduction into the world of Eclipse Bundle Recipes. Join me for half an hour learning the key things about creating OSGi bundles for any third-party library you'd like to use with your Eclipse plug-ins.
Managing 3rd party dependencies for Eclipse based products and plug-ins can be time-consuming and error prone. Not every library you'd like to use is distributed as an OSGi bundle. Some may contain OSGi headers but they may be wrong or incomplete. Join this tutorial to learn how to setup a process that will make it easy and less painful.
Based in the language server protocol and the architectural ideas behind it, big chunks of the Spring Boot tooling for Eclipse are currently re-implemented. This talk provides a sneak peek into the implementation and discusses the early experiences using this approach. We dive into the details and challenges how we implemented tooling for Spring Boot property files (pure properties + yaml), support for Cloud Foundry manifest files, and how we extracted and refactored existing Spring IDE code to run inside of a language server.
The Xtext framework has always been a very useful and successful part of the Eclipse world, because it makes it very easy to design programming languages and corresponding Eclipse tooling. Since the last two years the team was also working on adding support for other popular editing platforms, such as IntelliJ IDEA and web browsers in general.
The Language Server Protocol (LSP) introduced by Microsoft’s VSCode team has been a hot topic recently. In a nutshell it is an effort to unify how editors communicate with advanced language tooling.
In this session we want to give you an overview of what the LSP is, why it is so important and how you could leverage it. We will also explain what it does and what it doesn’t do, discuss some misconceptions and show some cool demos based on a Java implementation of the protocol.
Internals of JVM based on challenges and experience in implementation of one of the most popular code coverage tools for Java - JaCoCo ( http://www.jacoco.org/ ) that is backbone of award-winning Eclipse EclEmma Plugin ( https://www.eclipse.org/eclemma ).
In this presentation we will dive into bosom of JVM (bytecode, restrictions, classloaders) answering on following questions:
Nearly every Eclipse user is aware what Xtext is and what it is useful for. It is always a pleasure to see in which kind of areas it is used.
One reason is clearly, that it is really easy to build a first working example in no time. The grammar alone is sufficient and the rest is done by a code generator. Xtext will generate stub classes, that are ready to fill in individual logic for different areas.
By doing that most of the things just work, because Xtext comes with a lot of defaults that suits in most of the cases.
Singletons are now widely accepted as an architectural anti-pattern. They make code brittle and hard to test. But singletons are a habit that is hard to break, and their use is widespread within the Eclipse codebase. In this talk I'll present some patterns for using the Eclipse 4 Dependency Injection framework with new features in Oxygen to tackle and banish singletons from your code.