Eclipse Summit 2017
Sat, Jul 29
Registration - 30 mins
Opening Keynote - 45 mins
Opening Talk - 15 mins
Coffee/Tea Break - 15 mins
Natural Language Processing & Java
This session will cover the basics of Natural Language Processing. We will see the basics of Named Entity Recognition, Sentiment Analysis and other basic features of NLP.
Gateway design with Eclipse Kura - Taking to new heights
This talk cum tutorial aims at introducing Eclipse Kura, OSGi based framework for IOT gateway design.It starts with kura architecture and key elements like bundles, services, web admin interface etc. and a tour of available APIs,services for hardware interfacing, wireless connectivity,cloud connectivity and industrial & automotive protocols.The next part proceeds with case study of building custom services,for eg:- adding client support for HTTP REST, InfluxDb in kura.Later few bridging scenarios will be covered on interfacing local networks with IOT Platforms like ThingSpeak, OpenSensors.io etc using these services and also storing data points in a time series at edge/gateway side using InfluxDb as an example.
Natural Language Based Query Engine for Eclipse Modeling Framework
Searching in big databases is the need of the hour. With ever growing applications and customer base, quicker search over the data helps you survive. Modeling Frameworks sit at the core of modern software. The increasing complexity of business requirements are reflected in the increasing complexity of the modeling framework. What if you could query the complex models within seconds? This is just one use case of VIATRA Query.
VIATRA Query is an Eclipse project. Initially conceived by the Budapest University of Technology and Economics, VIATRA is an Event-driven and Reactive Model Transformation Platform. We have used VIATRA Query to create a small search engine for Ecore models of EMF using Natural Language Based Rule Engine and would like to share our experience with it.
VIATRA Query enables the user to query the EMF models without having to manually traverse them. Complex queries can be converted into patterns. Parameters to models can be passed at runtime, something which is crucial to any query engine. The idea of creating a search engine using VIATRA Query opens up new and innovative ideas of working with Eclipse Modeling Framework. To know more about the algorithm behind this technology or how we made it work, please join us at the Eclipse 2017 Summit!
Lunch - 60 mins
Towards a better parallelism
World is moving fast towards parallelism. It will soon be seen that parallelism is the default nomenclature of the new software design. As a core member of Java Platforms Team, I want to bring the fact that how programming languages are leveraging the power the parallelism in this world of many core processors.
Though parallelism is the new demand, it is extremely hard generate performance on parallelism. We need to learn "the best practices" for parallelism.
Eclipse Bundle Recipes
The Eclipse Platform is based on OSGi and OSGi is a model to modularize Java applications at runtime. Unfortunately, not all Java libraries provide the necessary metadata required for OSGi. Thus, if developers want to consume a library, they have to generate the OSGi metadata themselves. This problem is solved by the Eclipse Bundle Recipes project. It provides a library of templates (the “recipes”) and tools that can be used to create OSGi bundles. You have a library that you'd like to use in your OSGi project? Then stop by in this session and see if the Eclipse Bundle Recipes (EBR) project already has a recipe for your. You will learn how easy it is to consume libraries from Maven repositories and turn them into OSGi bundles. We will also demonstrate how the recipes and build system can be deployed in to create bundles at large scale and consumed in your builds. Last but not least, we will also show you how to contribute recipes to the EBR project.
JDT Embraces Java 9 - An insider's perspective
Eclipse Java Development Tooling or 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 world bringing along-with it a "module" of changes - so to speak. Any change in the language standards affects JDT directly. While some of the earlier language specification changes affected only the compiler, Java 9, in contrast, has a direct impact on user who uses Eclipse IDE for creating and managing Java Projects. Java 9 introduces the concept of "Modules" which affects JDT from the compiler level to the project dependency layer affecting a normal user. Support for this feature will be dealt with, in detail, in this talk.
This talk would start with a brief overview of the Java 9 features especially the "module" feature that have direct impact on Eclipse users, describe the JDT support for features, touch upon some of the design aspects, and would conclude with a demo of Eclipse JDT for Java 9.
Coffee/Tea Break - 15 mins
Towards a More Secure JDK
The last few years have seen new computing trends like increased use of mobile devices, big data and a world connected with internet. This has made Java applications vulnerable to threats and attacks. With time, holes get exposed in cryptographic algorithms and security protocols. They then need to be replaced with stronger alternatives. This session will show how safety mechanisms have been built into JDK to automatically protect applications from weak algorithms and protocols such as MD2, MD5, RC4, weak RSA/DSA keys and SSLv3. A wide variety of security controls have been made available which range from automatic defenses to user friendly APIs. Several new security controls have been introduced in Java 8 and Java 9 platforms like SHA-3 hash algorithms, OCSP stapling for TLS and DRBG SecureRandom implementation. This session will benefit Java developers by introducing them of the many defenses present and available in the Java ecosystem.
Building Intelligent connected products using Artificial Intelligence, Cognitive and Blockchain.
In this session, we will look at how to build intelligent connected products using a generic Enterprise IoT stack. We will discuss some of the key enabling technologies such as Artificial Intelligence, Machine Learning, Cognitive IoT and Blockchain and how to infuse intelligence at each layer of the IoT stack.
The session would cover 3 architecture patterns - Applying intelligence at the Edge, At the cloud and Hybrid approach. Various use cases would be covered - Real-time-decision at the edge using computer vision (security and surveillance), Cognitive IoT in Sports, Connected Car and Trust and compliance for security and connectivity using Blockchain.
The session will also include a brief analysis of different Enterprise IoT platforms like IBM Watson IoT, GE Predix, Amazon IoT, Microsoft Azure IoT and open source software for building smart connected products.
Become a Garbage Collection Hero ! (GC )
Are you building high throughput, low latency application? Are you trying to figure out perfect JVM heap size? Are you struggling to choose right garbage collection algorithm and settings? Are you striving to achieve pause less GC? Do you know the right tools & best practices to tame the GC? Do you know to troubleshoot memory problems using GC logs? You will get complete answers to several such questions in this session.
Tuning Garbage collection for an application is both an art & science. There are 5 different GC algorithms (serial, Parallel, CMS, G1, shenandoah) and 690+ JVM settings, which makes GC tuning to be a daunting task. There are very limited high quality literature and documentations are available for GC tuning.
I written several blogs related to GC tuning, which has been published in all major developer sites such as: DZone, Infoq, theserverside.com, Developer.com…. Here are some of my articles related to this subject:
1. Reduce long GC pause (https://blog.gceasy.io/2016/11/22/reduce-long- gc-pauses/)
2. Real time greater than user + sys time (https://blog.gceasy.io/2016/12/08/real-time- greater-than-user- and-sys- time/)
3. Sys time greater than user time (https://blog.gceasy.io/2016/12/11/sys-time- greater-than- user-time/)
4. Consecutive Full GC Patterns (https://blog.gceasy.io/2016/11/22/eliminate-consecutive- full-gcs/)
5. System GC (https://blog.gceasy.io/2016/11/22/system-gc/)
6. Diagnose memory leak (https://blog.gceasy.io/2016/11/22/resolve-memory- leak/)
7. Best Practices for rotating GC Log (https://blog.gceasy.io/2016/11/15/rotating-gc- log-files/)
8. How to increase throughput? (https://blog.gceasy.io/2016/11/22/increase-throughput/)
I am a good entertaining & engaging speaker. Attendees smile, laugh & clap hands frequently in my sessions. I regularly speak at Java One and other conferences. Here are some of my talks:
- https://blog.fastthread.io/2016/09/22/2016-java- one-talk- few-memorable- moments/
- https://blog.tier1app.com/2013/10/07/7-secrets- of-wells- fargo-soa- platforms-high-availability/
- https://blog.gceasy.io/2016/01/02/spoke-vmoksha- technologies/
- My Blogs: https://blog.gceasy.io/, https://blog.fastthread.io/
- My DZone Profile: https://dzone.com/users/2756952/vmoksha.html
Build RESTful application with simplified approach to Expose and Test
Creating REST services has been a need in most of the organization with clients being a Web or Mobile app consuming the same set of services. In this session, learn how to create RESTful services using Eclipse, that caters to different clients. Exposing the services is as important as building them. Understand how to make your service discoverable in an efficient manner across cross functional teams, users along with an ability to test it in much simplified manner using Swagger APIs.