Eclipse Day India
Saturday, 22 September 2018, at

A warm welcome to yet another community event with power packed sessions.

Eclipse Day is designed to create opportunities for the technical community to explore, share and collaborate on the latest developments and enhancements in Java, Polyglot Runtimes and Eclipse related technologies. This one day event features technical talks by eminent speakers from the community, demos and posters, while also offering immense opportunities for networking and brainstorming new ideas.

Organized by Eclipse community in collaboration with Java and Polyglot Runtimes communities.

Powered by IBM Cloud
Promoted by
Call for Papers
Call for Papers is closed for the event. If you would like to submit as waitlisted talk, please drop a mail by clicking on the following button.

Tim Ellison is currently a Senior Technical Staff Member in the Runtime Technology group at IBM Hursley Park. Prior to his current position, Tim held leadership positions within IBM Canada, Object Technology International, The Continuum Company, and others. He has contributed to the implementation of Smalltalk and Java for over 20 years. Tim was part of the original Eclipse development team, and has been a Vice President of the Apache Software Foundation and chair of the Apache Harmony Project Management Committee. He is currently a member of the JSR376 expert group designing a Java SE platform modularity system. Tim holds a BSc in Computer Science from Hull University, and an MSc in Computer System Design from the University of Manchester.

Srikanth Sankaran is a Consulting Member of Technical Staff in the Java Platform Group in Oracle. Prior to this, he was a Senior Engineer in the Java compiler team in Eclipse JDT project at IBM. He has a masters from University of South Carolina. Srikanth's talks at EclipseCon conferences in the US and Europe were very well received and he was consistently recognized among the best speakers at Eclipse conferences.

Stephan Herrmann received his Ph.D. at Technische Universität Berlin in 2002. Around that time he started developing the concepts of Object Teams, the language OT/J and its tools; he is the lead of the Eclipse Object Teams Project. He is also a committer on JDT/Core and JDT/UI where his pet project is improving the null pointer analysis. In 2010 he joined GK Software, where he promotes a model driven approach and develops in-house tools to support this approach.

Mala Gupta is founder and lead mentor at and has been actively supporting Java certification as a path to career advancement. Since 2006, she has been coaching students and professionals to succeed on these certifications. A sought after speaker and coach, Mala Gupta's Java books with Manning Publications, USA, are top-rated for Oracle Certification around the globe. With over 18 years in software industry, she was recently listed among top ten women in global community for Java. Mala has also co-founded - a platform for nurturing creativity as an essential life skill. She co-leads Delhi Java User Group. A strong supporter of Women in Technology, she drives initiatives of Women Who Code - Delhi Chapter to augment participation of women in tech.

Dani Megert is one of the initial Eclipse committers. Currently he leads the Platform and the JDT sub-projects. He is a member of the Eclipse Project PMC, represents the project in the Eclipse Planning Council, and is also a a member of the Eclipse Architecture Council. In 2016, he was honoured by Eclipse Foundation with life-time achievement award for his contributions to Eclipse. In 2016 and 2018, he was elected by the committers to represent them in the Eclipse Foundation Board of Directors. Dani worked at OTI and now works at IBM Research GmbH. His interests include user interface and API design, editors, software quality and performance.

Vidyasagar Machupalli is a polyglot and pragmatic programmer, who loves technologies that change lives. He is an AI Enthusiast mastering Machine learning and Data Science He is a well-known blogger and also speaker at various technical conferences, meetups, and events. He currently works for IBM as Technical Product Manager & Developer Advocate. He loves exploring new cloud paradigms, programming languages, and technologies. Vidyasagar has 10+ years of industry experience and a broad set of skills in software development and design. He is a tech addict, constant Learner, and a technology enthusiast. He is a Core Member and Organiser of BlueCoders Meetup Group. Vidyasagar is an adjunct faculty at the Christ University where he teaches Cloud Computing and Machine Learning to the students enrolled for the Masters course.

Lakshmi Shanmugam is a Co-Lead and committer of Eclipse Platform project. Lakshmi has been working in IBM for more than 11 years, of which, 10 years has been on Eclipse SWT, specifically on Apple Mac as an expert on MacOS Cocoa windowing system. Lakshmi was a speaker at EclipseCon Europe 2017 and is scheduled to speak at EclipseCon Europe 2018 in October.

Tushar Sharma is currently a researcher at Athens University of Economics and Business. Earlier, he worked with Siemens Research and Technology Center, Bangalore, India for more than 7 years. The topics related to software design, refactoring, design smells, code and design quality, technical debt, design patterns, and change impact analysis define his career interests. He has an MS (by research) degree in Computer Science from the Indian Institute of Technology-Madras (IIT-M), Chennai, India, where he specialized in design patterns and refactoring. He co-authored the book "Refactoring for Software Design Smells: Managing Technical Debt" published by Morgan Kaufmann in November 2014. Additionally, he has also co-authored books for Oracle certifications for Java. He is an IEEE Senior Member.

Sulakshan Vajipayajula is a Senior Architect in the IBM Security Systems division. He worked in the IBM Security CTO office specializing in Network Security, Fraud detection , Cloud Security and Analytics. He was known for the work in Watson for Cyber Security and Cloud Security, where he drove the the PoCs to organic product development. He is a Lab Advocate for key Customers, enterprise integrator, and avid technical evangelist. Sulakshan has a Masters degree in Computer Science from New Jersey institute of Technology.

Ankur Sharma is a Consultant Software Engineer at OpenText. He is an evangelist, active Blogger, SME for promoting communities across digital and social media by organizing events and webinars. His recent work includes Machine Learning based analysis of debug logs and BDD test automation framework using SWTBot and JBehave. Prior to this he was at IBM working on IBM Rational Team Concert. He was a committer and co-lead of Eclipse PDE project while at IBM.

Abhay Sood has been an Android Developer for the past 5 years. Currently, he works at Go-Jek where apart from building multiple products he has helped his team to migrate the Android codebase from Java to Kotlin. Previously has worked at ClearTax. He is also an active speaker at BlrDroid. When not programming he can be found up late gaming.

Shoubhik Bose is a senior engineer and architect working on Red Hat's new cloud-native developer platform Prior to joining Red Hat, Shoubhik had a 3-year stint at IBM Security where he helped shape the deployment tooling and Public Key Infrastructure (PKI) for their enterprise mobile security portfolio. At Red Hat, he works on the platform engineering team of where he works on securing the service by building the necessary microservices for secure communication between the various components that power

Niraj Modi is a Java Developer in IBM and is a committer of Eclipse Platform project. He has around 14 years of experience in Software Product Development on Core-Java / J2EE / Open Source. He currently works primarily on Eclipse SWT project and is taking care of the Windows platform for past 5 years. His recent work includes Windows 10 support and HiDPI enhancements in Eclipse/SWT.

Dinakar Guniguntala is the OpenJ9 Cloud Optimization Lead at the IBM Runtime Technologies group. He has been at IBM for over 20 years and in his current role aims to make Java run more efficiently in the cloud. He is the community maintainer of the AdoptOpenJDK Docker Images for both hotspot and OpenJ9 as well as the maintainer of the IBM Java Docker Images. He has several publications including in IEEE computer, IBM Systems Journal and IBM Developer Works and has spoken at conferences such as JavaOne SFO,, Bangalore.

Nasser Ebrahim is an Open Source Developer at IBM Software Labs. Nasser has extensively worked with the Java Development Kit, his expertise being in Java Class Libraries. Nasser’s current area of interest is Machine Learning and he has developed cognitive solutions for industry use cases on IBM’s Data Science Platform. Nasser has 20+ years of IT experience across a wide technology spectrum including system programming, assembler language, mainframes, programming languages like Java and Swift and Spark, Kafka, Machine Learning in recent times.

Pushkar Kulkarni is a server-side Swift developer working with IBM. Prior to Swift, he worked on IBM's Java runtime, working on the JIT compiler and the Java standard library. Over the last two years, he has been an open source developer contributing to the server-side Swift ecosystem. He is a functional programming enthusiast.

Stay tuned for rest of the speaker profiles ...

8:15 - 9:15Registration
9:15 - 9:30Welcome Address
9:30 - 10:30Keynote - Reinventing Java for the 21st Century: Are you thinking far enough ahead? Tim Ellison, Senior Tech Staff Member, IBM
10:30 - 10:40Coffee / Tea Break
10:40 - 11:10Pattern Matching in Java - Srikanth Sankaran
11:10 - 11:40Supporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
11:40 - 11:50Coffee / Tea Break
11:50 - 12:20Java Performance Testing for Everyone - Shelley Lambert
12:20 - 12:50Java 10, 11: What the future holds - Mala Gupta
12:50 - 13:30Lunch
13:30 - 13:45A Special Session - Food for Thought
13:45 - 14:15Experts Panel - Walt Noffsinger, Daniel Megert, Lloyd Roseblade, Pradeep Balachandran - Moderated by Rajeev Palanki
14:15 - 14:30Move to break-out sessions
14:30 - 15:00 Supercharged Cloud Workspaces with Eclipse Che - Shoubhik Bose Please Behave Yourself: BDD and automating Eclipse RCP applications using JBehave - Ankur Sharma Deploy a scalable WordPress implementation on Kubernetes - Sudharshan Govindan
15:00 - 15:30 How deep is the mud: Identifying technical debt using Eclipse JDT - Tushar Sharma Machine Learning for Java Developers - Nasser Ebrahim Reactive Microservices with Eclipse Vert.x - Vidyasagar Machupalli
15:30 - 15:45Coffee / Tea Break
15:45 - 16:15 Eclipse IDE Tips and Tricks - Lakshmi Priya Shanmugam The fundamentals of Functional Programming with Kotlin - Abhay Sood OWASP and Secure Coding in Java - Sulakshan Vajipayajula
16:15 - 16:45 Eclipse OpenJ9: The best VM for the Cloud! - Dinakar Guniguntala Implementing Functional Patterns - a comparison of Scala and Java - Pushkar N Kulkarni Scaling Eclipse on HiDPI Monitors - Niraj Modi
16:45 - 17:00Closing Session

This is a free event, thanks to our sponsors!

Program List
  1. Keynote - Reinventing Java for the 21st Century: Are you thinking far enough ahead?

    Tim Ellison, IBM
    A sneak peek into the evolution of Java and related frameworks that enables Java to stay relevant and maintain its leadership position in the 21st Century, while nurturing a thriving community. The past one year has been witness to lots of activities in the Java space towards this end.

  2. Pattern Matching in Java

    Srikanth Sankaran, Oracle
    Project Amber is an experimental OpenJDK project to develop major new language features for consideration for inclusion in future versions of Java. This talk will offer a highly speculative sneak preview of the advanced features currently in development for the Java language and virtual machine under this banner. In particular, the presentation will cover the motivation, challenges and state of development of a key Amber feature viz, Pattern Matching.

  3. Supporting Java™ 9 in Eclipse - A critical perspective

    Stephan Herrmann, GK Software SE
    The Eclipse JDT team has delivered full support for Java™ 9 right when the new version was released, just as we did for every version. In this session we will share some of the things we learned while working from an evolving specification. We will also discuss the impact of this new version specifically on tool-smithing for Java. Topics include:
    • Compiling is: Scanning, parsing, name resolving ... NO! There is no scanner.
    • Split packages are dead, long live split packages! Or: what's the meaning of a qualified name?
    • What defines Java 9? JLS, JPMS, JVM, javac, ecj, ...? Levels of specification and implementation, contributing to the meaning(s) of "Java 9".
    • What makes a Java 9 application? Source code, module descriptor, command line options, layer implementation ...
    • How do users handle all this? New configuration options, new errors / warnings, new assists.
    All will, of course, be illustrated by live examples in Eclipse.

  4. Java 10, 11: What the future holds

    Mala Gupta, Founder,
    With accelerated release cadence of Java every Spring and Fall, it will not just flaunt its top rank on TIOBE index 2018 but will also hold it for coming years. The session introduces latest developments in Java 10 and Java 11. It will also cover the projects Amber, Valhalla, Loom, and Panama - expected to bring new features in Java. Audience will understand how these features will help their applications to be leaner and faster.

  5. Reactive Microservices with Eclipse Vert.x

    Vidyasagar Machupalli, IBM
    Reactive systems are a new way to build distributed applications taking advantage of modern CPU architectures and using resources more efficiently. Building reactive systems is not straightforward. Building a microservices based architecture is also not easy. Many aspects need to be managed such as deployment facilities, service discovery, interactions between the services, resilence patterns, scalability and so on. Eclipse Vert.x is a toolkit to create reactive, distributed and polyglot applications on the Java Virtual Machine. Vert.x is incredibly flexible - whether it's simple network utilities, sophisticated modern web applications, REST services, high volume event processing or a full blown back-end message-bus application, Vert.x is a great fit and has demonstrated huge benefits in production. In this session, we explore how reactive microservices can be built easily with Vert.x and Kubernetes. The session will demonstrate how the combination simplifies the development, deployment and management of microservices.

  6. Supercharged Cloud Workspaces with Eclipse Che

    Shoubhik Bose, Red Hat
    Eclipse Che is a browser-based IDE providing on-demand container-based workspaces that include runtimes and IDEs. It is powered by a RESTful workspace server (with OpenShift or Kubernetes as underlying infra), plug-ins for languages, frameworks, and tools. In this talk, I'll speak about the architecture of Eclipse Che 6 and the power of container workspaces that help developers spin up consistent developer environments locally or on container orchestration services like OpenShift - to enabled developers to code, build and debug software projects from the comfort of a browser.

  7. Eclipse IDE Tips and Tricks

    Lakshmi Priya Shanmugam, IBM
    The Eclipse IDE is packed with a lot of features and capabilities that enable the users to be more productive in their day to day work. In addition to the existing ones, many new features are added in every release. This session will show several cool tips and tricks in action in the IDE that are invaluable to users in different aspects of development such as project configuration, editor management, source code navigation, coding and debugging. It’ll also highlight some of the useful tricks added in the recent Eclipse releases such as 4.9 and Photon.

  8. How deep is the mud: Identifying technical debt using Eclipse JDT

    Tushar Sharma, Researcher, Athens University of Economics and Business
    Poor quality code contributes to increasing technical debt and makes the software difficult to extend and maintain. Code smells capture such poor code quality practices. Identifying smells at different granularities and refactoring them help a software development team keep the software maintainable. Eclipse JDT offers a way to parse the Java source code in the form of abstract syntax tree and provides a mechanism to analyze it. In this session, I would like to present a code smell detection tool built using Eclipse JDT. I present the tool not only from a user perspective where I show how a Java developer can use the tool but also from a tool-development perspective where I provide the nitty-gritty of the source code analysis.

  9. Deploy a scalable WordPress implementation on Kubernetes

    Sudharshan Govindan, IBM
    You as a developer are looking to create best-of-class applications, and to do that you need to use the leading tools and platforms. This pattern shows you how to harness the full power of Kubernetes clusters and demonstrates how easy it is to deploy the world's most popular website framework on top of world's most popular container orchestration platform. Check out the Code Pattern for more details.

  10. Java Performance Testing for Everyone

    Shelley Lambert, IBM
    How can we more easily run performance benchmarks against Java SDKs and analyze and compare results? What information is coming out of some common open-source benchmarks and why might it be interesting? How can you incorporate performance tests into your continuous delivery pipeline? This talk addresses all of these questions and more as it surveys the performance testing story at AdoptOpenJDK. In this presentation, the common user story of determining whether a code change caused a performance regression guides us through the delivery pipeline at AdoptOpenJDK, but also introduces how you can leverage the automation from that open-source projects for your own testing requirements.

  11. OWASP and Secure Coding in Java

    Sulakshan Vajipayajula, IBM
    The session aims to bring awareness to OWASP and secure coding practices to defend against top 10 threats. Topics covered include, XSS, CSRF , Data protection, secure communication, scanning code for vulnerabilities among others.

  12. Please Behave Yourself: BDD and automating Eclipse RCP applications using JBehave

    Ankur Sharma, OpenText
    JBehave is a framework for Behavior Driven Development. It provides an easy way to express the test cases. This session will give a quick intro to it and will share with the audience how it can be used to automate the testing of an Eclipse RCP application using SWTBot and JBehave.

  13. Machine Learning for Java Developers

    Nasser Ebrahim, IBM
    Machine Learning is the current buzzword in technology and transforming the way we build solutions. As Java developers we've often wondered on the path to get started with Machine Learning techniques and frameworks. This talk is an experience sharing of an old time Java developer's journey into the Machine Learning space. We'll provide a high level overview of the machine learning fundamentals, discuss the tools and frameworks available to Java developers towards building Machine Learning solutions and demonstrate a ML use-case leveraging Deep Learning for Java frameworks. The talk is a starter guide for Java developers wanting to venture into Machine Learning.

  14. Eclipse OpenJ9: The best VM for the Cloud!

    Dinakar Guniguntala, IBM
    As more and more applications move to the Cloud (both public, private and hybrid), traditional java applications are now increasingly having to migrate to the Cloud as well. This has thrown a lot of challenges to the developers as well as the JVM to keep up with the new set of requirements. This talk explores every aspect of the DevOps cycle including provisioning, startup, running, idle and debugging vis-a-vis running a Java application. It looks at ways and means to get the best of running Java in containers. It also explains how Eclipse OpenJ9 has been optimized for each of these aspects. This includes the following:
    1. How to make the smallest Docker Image (disk size) and why? Explores docker image build techniques and effect of Image size on provisioning and build times.
    2. Container limits (CPU and Memory) vs -Xmx. This explores why setting -Xmx is no longer recommended and why it is better to use container limits.
    3. Use of a class cache for fast startup and scaling.
    4. Idle Optimizations. Or how to use the least amount of resources on Idle.
    5. Debugging tips for Java applications in Kubernetes. Use of MXBeans to dynamically gather debug info.

  15. Scaling Eclipse on HiDPI Monitors

    Niraj Modi, IBM
    Eclipse SWT started supporting HiDPI monitors from past two years. SWT approach to handle HiDPI on Windows and GTK2 is quite similar, the way it handles the Point/Pixel geometry. In 4.8 we have completeley rewritten HiDPI support for GTK 3 platform. Earlier the HiDPI support from GTK side was very minimal. So we ended up implementing HiDPI support in SWT itself. Since GTK3 started its support recently, We had to adapt to newer API. This presentation covers
    • Point/Pixel geometry
    • The challenges encountered
    • How the common approach is arrived at
    • How scaling is done in case higher resolution images are not available/or for the existing applications which are not DPI-aware
    Attendees should be using Eclipse Platform or SWT toolkit with basic code knowledge and will learn how to approach their application based on Eclipse to work with HiDPI monitors.

  16. The fundamentals of Functional Programming with Kotlin

    Abhay Sood, Go-Jek
    Kotlin supports functions as first class citizens. This is arguably the most important feature of Kotlin. It opens up a whole new style of programming - Functional Programming (FP). Kotlin seems to provide a great balance between OOP and FP. Making it a great language to slowly learn the concepts of FP without having to go through the huge learning curve all at once. The goal of this talk is to help you understand the concepts behind functional programming, help to change the way you think, and thereby help you in becoming a better developer. We’ll also go through a few real world examples in Kotlin where thinking functionally can help you in writing cleaner, safer and reusable code. You surely won’t become a functional programmer after this talk but let me quote from the famous essay on why functional programming matters matters: “… it (FP) expresses an opinion about what makes programs better. It backs this opinion up with reasons why modern functional programming languages are more powerful than imperative programming languages. But even if you don’t plan to try functional programming tomorrow, the lessons about better programs are valuable for your work in any language today.”

  17. Implementing Functional Patterns - a comparison of Scala and Java

    Pushkar N Kulkarni, IBM
    Functional programming patterns can help you structure your code better, improving its readability and reusability, while reducing the likelihood of bugs. For almost a decade, languages like Scala and Clojure were the only tools available to implement functional patterns in code running inside a Java Virtual Machine. Java 8 changed this picture with the introduction of the much awaited lambda expressions. Today, what was achievable only through Scala, can also be implemented using the new Java language features. This talk will focus on the syntactic comparison of these two languages in the context of realising functional programming patterns, trying to evaluate which one of them has a higher expressive power.