Proposed Sessions

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.)


Keyword sentence with spaces needs to be in quotes. For example: "keyword 1","keyword 2"

A Full Service Scientific Software App Store for Eclipse

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?

Experience level: 
Intermediate

DSL Editors Support in Eclipse Dirigible

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.

Experience level: 
Beginner
Track: 

RCP and MVP - A particularly good match

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.

Experience level: 
Intermediate

Surviving the Mobile Phenomenon: Reduce Risk While Deploying Mobile Access to the Enterprise

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.

Experience level: 
Intermediate

Your Mobile Security Strategy Isn’t Complete Without These Must-Haves

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.

Experience level: 
Intermediate

Eclipse Kura in Industry 4.0

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.

Experience level: 
Beginner

Eclipse Committer Orientation

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.

Experience level: 
Beginner

Pair Programming in the Cloud

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.

Experience level: 
Beginner
Track: 

How to Avoid Common Pitfalls in Creating State of the Art Single Page Web Applications

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.

Experience level: 
Beginner
Track: 

How To Make Eclipse Rock In The Age Of The Cloud

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.

Experience level: 
Beginner

Elliptical Curve Cryptography for IoT and the NSA

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.

Experience level: 
Intermediate

What every EclipseJava developer should know about AngularJS

Many business applications nowadays have a least some web UI parts using server-side rendered, static HTML. With the upcome of dynamic HTML Javascript frameworks like React, Ember.js or backbone.js, there is a continuous trend to implement those web front-ends as “single page” applications. While there is a lot of diversity in the JavaScript world, one framework has become especially popular for business applications, that is AngularJS. It allows to extend HTML by dynamic behaviour and provides essential concepts for developing single page web applications.

Experience level: 
Beginner
Track: 

How to provide a portable developer workspace with Eclipse Che?

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?

Experience level: 
Beginner
Track: 

Build Tern-based Eclipse extension for intelligent JavaScript editing

Tern is open source code-analysis engine for JavaScript and as a code editor plugin can support intelligent JavaScript editing. We have extended Tern to create a REST server that provides advanced code completion for Sencha’s Ext JS framework classes. In this talk, we will cover inner workings of Tern based extensions and how we built extension for Eclipse IDE (https://marketplace.eclipse.org/content/sencha-eclipse-plugin) that supports code completion, code navigation, and code generation.

Experience level: 
Intermediate

Eclipse of the Floating Orbs: Controlling Robots on the International Space Station

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

Experience level: 
Beginner

How to define your Eclipse 4 development strategy

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.

Experience level: 
Beginner

Describe the world naturally !

<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&#39; 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...

Experience level: 
Advanced

Eclipse Tips and Tricks

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:

Experience level: 
Beginner

The EMF model time machine

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.

Experience level: 
Beginner

Deploying and running highly secure and scalable java webapp for $1.56 a month on AWS

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

Experience level: 
Intermediate
Track: 

Embracing JUnit 5 with Eclipse

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.

Experience level: 
Beginner

MDE/MDD: A 10 years journey of Medical Device Development together with Eclipse and Modelling

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.

Experience level: 
Intermediate

Fast Unit tests for Eclipse plugins - possible architectures and available tooling

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).

Experience level: 
Intermediate

TensorFlow in the Wild (or democratization of Machine Intelligence)

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.

Experience level: 
Intermediate

Creating reproducible dev environments for Arduino with Eclipse Che

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.

Experience level: 
Beginner

Eclipse Platform - Windowing Systems and Why Wayland Matters

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.

Experience level: 
Intermediate

Building an extension for Eclipse Che - an experience report

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.

Experience level: 
Beginner
Track: 

EMF Forms: The past, the present and the features

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.

Experience level: 
Beginner

What every Eclipse developer should know about Eclipse 4 (e4)

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.

Experience level: 
Beginner

Building data-centric UIs with Eclipse RCP and EMF

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.

Experience level: 
Beginner

Build design oriented web applications with Vaadin Designer

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.

Experience level: 
Beginner
Track: 

Avoid disorientation with Ferret, a powerful search tool for the Eclipse IDE

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.

Experience level: 
Beginner

A Full Cloud Development Platform with Eclipse Che and OpenShift

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!

Experience level: 
Intermediate
Track: 

An Authenticated, Encrypted, Extensible, Proxy Service for Remote Resource Access

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.

Experience level: 
Intermediate

Driving a Car with Eclipse

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.

Experience level: 
Intermediate

Gradle and Eclipse - IDE as build artifact

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.

Experience level: 
Intermediate

Machine Learning: A gentle Introduction

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:

Experience level: 
Beginner

Full-stack Applications with Open Source Technologies

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.

Experience level: 
Intermediate
Track: 

Mockups and end users

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

Experience level: 
Beginner

OSGi with Java Modules (JPMS) all the way down

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.

Experience level: 
Intermediate

The Java Eightification of Eclipse Collections

[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?]

Experience level: 
Intermediate

Building the JDT Language Server and how can you build one from your own feature

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.

Experience level: 
Intermediate

Eclipse Collections Kata - a fun way to learn the feature-rich collections framework

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.

Experience level: 
Intermediate

Please Allow Me To Introduce Myself: A Non-Developer's Foray Into Eclipse and OSGi

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.

Experience level: 
Beginner

Docker Tooling for Developers

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.

Experience level: 
Beginner
Track: 

Testing Eclipse Plug-ins: Lessons from the Field

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:

Experience level: 
Intermediate

Eclipse JDT Embraces Java 9 - An Insider's view

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.

Experience level: 
Intermediate

The Eclipse User Profile, and other cool features for the Community users

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, ...

Experience level: 
Beginner

Managing Third-Party Dependencies

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. 

Experience level: 
Intermediate

A sneak peek into the Spring Boot language server

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.

Experience level: 
Intermediate

Introducing Xtext Core

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.

Experience level: 
Intermediate

Language Server Protocol Explained

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.

Experience level: 
Intermediate

Xtext beyond the defaults - How to tackle performance problems

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.

Experience level: 
Intermediate

Banishing Singletons with Dependency Injection

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.

Experience level: 
Intermediate

EclipseCon Support Other Events

Our Other Events

Eclipse events are hosted all over the world!

  • EclipseCon France 2017
  • Eclipse Summit India 2017
  • Eclipsecon Europe 2017