Difference between revisions of "Eclipse Day At Googleplex 2013/Session Abstracts"

From Eclipsepedia

Jump to: navigation, search
 
(29 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
====Developing Dart Editor====
 
====Developing Dart Editor====
'''Dan Rubel (Google) and Eric Clayberg (Google)'''<br>
+
'''Dan Rubel (Google) and Eric Clayberg (Google)'''
  
After a brief introduction to the Dart programming language, where will highlight some of the features that make tooling interesting, we will describe the development of the Dart Editor over the past two years. The Dart Editor provides a powerful, yet lightweight programming experience for Dart programmers. It was created with Eclipse technology and is distributed as an RCP application as well as a set of plugins for Eclipse itself. We'll cover some of the techniques we used to create a small, fast program that is easy to install. This being a Google project, we'll also mention a few performance measurements. Dart is an open source project, so we'll close with info on how you can get involved.
+
After a brief introduction to the Dart programming language, which will highlight some of the features that make tooling interesting, we will describe the development of the Dart Editor over the past two years. The Dart Editor provides a powerful, yet lightweight programming experience for Dart programmers. It was created with Eclipse technology and is distributed as an RCP application as well as a set of plugins for Eclipse itself. We'll cover some of the techniques we used to create a small, fast program that is easy to install. This being a Google project, we'll also mention a few performance measurements. Dart is an open source project, so we'll close with info on how you can get involved.
 +
 
 +
====Vert.x 2.0 - Taking Polyglot Application Development to the next level====
 +
'''Tim Fox (Red Hat)'''
 +
 
 +
Vert.x is a lightweight, high performance, application platform for the JVM that's designed for modern mobile, web, and enterprise applications.
 +
In this talk you'll see how the powerful new module system enables a Vert.x ecosystem by allowing modules to be re-used via Maven and Bintray repositories. You'll also learn about how better build tool and IDE integration makes developing applications with Vert.x a breeze.You'll also learn about the up and coming Scala, Clojure support, and Node.js drop in compatibility which will take Vert.x to an even broader set of users.
 +
 
 +
====Emerging Standards - the Bleeding Edge inside of Orion====
 +
'''Simon Kaegi (IBM)'''
 +
 
 +
Simon Kaegi, Technical Lead of the Orion Project, will talk about the emerging Web and JavaScript standards that Orion uses to bring its Browser-based IDE to life. The Orion project consciously decided to build-on the HTML5 browser platform APIs and working with the W3C/WhatWG and ECMA to improve them instead of creating its own foundational layer. Many of the standards Orion uses are still in active development so the team has developed polyfills to help validate and provide feedback for these emerging API. Examples include HTML Templates, LocalFileSystem, URI Templates, and Promises.  Come see how Orion leverages these bleeding edge technologies in a real world test bed.
 +
 
 +
====UI Performance Monitoring====
 +
'''Steve Foreman (Google)'''
 +
 
 +
SWT is the heart of the Eclipse UI and is driven primarily by an event dispatch loop. When events block the loop from proceeding for too long, the UI suffers from stutters and freezes that can be difficult to diagnose. A traditional profiler would either be unusably slow (instrumented mode) or produce mountains of irrelevant data (sampling mode).<br>
 +
Google contributed new UI Performance Monitoring API in the upcoming Eclipse 4.4 (Luna) release. In this talk we will introduce this API and an example monitoring plugin that captures relevant UI freeze data with minimal impact on the UI thread. We will also discuss the types of problems we have found and fixed using this monitoring.
 +
 
 +
[https://docs.google.com/a/google.com/presentation/d/1ajU4VNYy6FBIahpD19VLCNEgsIyO1H4iQjAfDz5CvMw/pub?start=false&loop=false&delayms=3000 Slides in Google Docs]
 +
 
 +
====Using Gerrit to Enhance your Git====
 +
'''Shawn Pearce (Google)'''
 +
 
 +
Developers love working with distributed version control tools, but it can be challenging to maintain quality standards. Learn how Gerrit Code Review has been leveraged by Android, Eclipse and the WikiMedia Foundation to maintain quality while training the next generation of developers.<br>
 +
With pre-submit code reviews, powerful access controls and rich integration APIs Gerrit helps teams to coordinate their distributed development efforts.
 +
 
 +
====Practicing Continuous Delivery using Eclipse Hudson====
 +
'''Winston Prakash (Oracle)'''
 +
 
 +
Continuous Integration (CI) , Test Driven Development (TDD) & Continuous Delivery (CD) are the three main pillars of foundation for a successful agile team. Every one knows how to do Continuous Integration with Hudson. Do you know Hudson is also equipped with all the necessary tools for Continuous Delivery?. This talk will cover the nuances of practicing Continuous Delivery effectively using Hudson.
 +
 
 +
[[Media:Practicing_continuous_delivery_using_hudson.pdf|Slides as PDF]]
 +
 
 +
====Visualizing Big Data with Eclipse BIRT====
 +
'''Virgil Dodson (Actuate)'''
 +
 
 +
This session will explore the various ways to connect and visualize big data using Eclipse BIRT. We’ll go hands on with the Eclipse Business Intelligence and Reporting Tools (BIRT) project, which now offers native support to Hadoop through Hive queries. We’ll also cover how BIRT can access other Big Data sources such as Cassandra and MongoDB so developers can display their data in a stylized tabular or graphical nature including dynamic drill through and interactivity. This session will cover in detail how to retrieve and visualize data from Big Data sources using BIRT.
 +
 
 +
[[Media:Visualizing_Big_Data_with_BIRT_EclipseDay_12182013.pdf|Slides as PDF]]
 +
 
 +
====How Google has been scaling Eclipse to work with our source code====
 +
'''Frank Kieviet (Google)'''
 +
 
 +
Imagine you have a single humongous source code tree containing millions of Java files. How do you use Eclipse with something like this? One solution we're using at Google for this is Magicjar, a tool that indexes jars, analyzes source code dependencies and constructs a minimal classpath, and provides a custom classloader to run code within Eclipse.
 +
 
 +
[https://docs.google.com/presentation/d/1WNPf-89PfAtJKczvlKh31Aj6uoPm4EuBnebPpLRzeL4/edit#slide=id.p Slides in Google Docs]
 +
 
 +
====Android+Eclipse M2M: will it blend?====
 +
'''Benjamin Cabé (Sierra Wireless)'''
 +
 
 +
The Eclipse M2M (Machine-to-Machine) open source initiative delivers a stack of open source building blocks that accelerate the development of connected solutions.
 +
These building blocks make it possible to address what is arguably the trickiest problem in M2M: making your machine talk (i.e. send data & receive commands), be it a temperature sensor, a connected car, or Granny's pacemaker!
 +
In this session we will explore how, when used on top of the Android platform, the Eclipse M2M technology portfolio can also address an important aspect in the M2M big picture: YOU! Protocols like MQTT and new Eclipse M2M projects like Smart Home enable a whole new world of interactions between YOU and your machines. Join us to learn more about how to use the aforementioned projects for building amazing augmented-reality mobile apps!
 +
 
 +
[https://www.slideshare.net/secret/kokYJ1uxYRN5Lb Slides]
  
 
====Connecting the Internet of Things====
 
====Connecting the Internet of Things====
Line 10: Line 65:
 
The Eclipse SmartHome project comes to the rescue: It allows accessing all devices through their proprietary APIs by means of a uniform abstraction layer on top of which user interfaces, automation rules and data persistence can be realized. Flexible extension mechanisms enable developers to easily add advanced functionality such as NFC support, charting and voice or gesture control.
 
The Eclipse SmartHome project comes to the rescue: It allows accessing all devices through their proprietary APIs by means of a uniform abstraction layer on top of which user interfaces, automation rules and data persistence can be realized. Flexible extension mechanisms enable developers to easily add advanced functionality such as NFC support, charting and voice or gesture control.
 
Through the Eclipse SmartHome project the personal IoT devices get connected to make the Sweet Home a truly Smart Home.
 
Through the Eclipse SmartHome project the personal IoT devices get connected to make the Sweet Home a truly Smart Home.
 +
 +
[[Media:Eclipse_SmartHome_at_Eclipse_Day_2013.pdf|Slides as PDF]]
  
 
====Making your Washing Machine Talk with a Power Plant====
 
====Making your Washing Machine Talk with a Power Plant====
'''Matteo Collina (Mavigex)'''
+
'''Matteo Collina (Mavigex, University of Bologna)'''
  
Energy production is almost constant, but our needs are not. The power plant knows what is the best time to do your laundry, but neither you or your washing machine know.
+
Energy production is almost constant, but our needs are not. The power plant knows what is the best time to do your laundry, but neither you or your washing machine know.<br>
 
However, we can all save money and reduce our environmental impact if we can optimize the energy consumption.
 
However, we can all save money and reduce our environmental impact if we can optimize the energy consumption.
A 'Smart Grid' is only one of the possible application of the Internet of Things, which is in a huge hype cycle that is driven by strong economic interests: how can we be more efficient? Even an 1% saving across all industries can save billions. The answer is all about interconnecting all the things, and controlling them through software that is easy to build and maintain.
+
A 'Smart Grid' is only one of the possible application of the Internet of Things, which is in a huge hype cycle that is driven by strong economic interests: how can we be more efficient? Even an 1% saving across all industries can save billions. The answer is all about interconnecting all the things, and controlling them through software that is easy to build and maintain.<br>
 
Interconnecting everything has several major issues to be solved: three of them are the communication protocols, the data formats and privacy. What 'language' are the Thing speaking? What 'words' are they using? Ponte is a new project at the Eclipse Foundation that aim to bridge between multiple communication protocols and data format, to let your washing machine talk with a power plant and keeping you in the loop.
 
Interconnecting everything has several major issues to be solved: three of them are the communication protocols, the data formats and privacy. What 'language' are the Thing speaking? What 'words' are they using? Ponte is a new project at the Eclipse Foundation that aim to bridge between multiple communication protocols and data format, to let your washing machine talk with a power plant and keeping you in the loop.
 +
 +
[[Media:Making_your_Washing_Machine_Talk_with_a_Power_Plant.pdf|Slides as PDF]]
 +
 +
====Fast Distributed Geospatial Processing with GeoTrellis====
 +
'''Rob Emanuele (Azavea)'''
 +
 +
There's a wealth of big data, and geospatial data is no exception. While there are many tools to deal with big data at our disposal, geospatial data processing requires a unique set of operations not found in most general purpose data frameworks. GeoTrellis provides many of these operations and methods for applying them to large data sets. From analyzing terabytes of satellite raster data, to building low latency and interactive location-based analytics tools for the web, GeoTrellis aims to solve the problems of both distributed batch processing and web-speed analysis in the geospatial domain. In this talk, I’ll show how GeoTrellis is used to perform operations on raster data in order to transform geospatial analysis into an interactive experience on the web. I’ll also cover how GeoTrellis distributes operations across a cluster of machines for fast, scalable analysis of large rasters.

Latest revision as of 14:51, 13 January 2014

Contents

[edit] Developing Dart Editor

Dan Rubel (Google) and Eric Clayberg (Google)

After a brief introduction to the Dart programming language, which will highlight some of the features that make tooling interesting, we will describe the development of the Dart Editor over the past two years. The Dart Editor provides a powerful, yet lightweight programming experience for Dart programmers. It was created with Eclipse technology and is distributed as an RCP application as well as a set of plugins for Eclipse itself. We'll cover some of the techniques we used to create a small, fast program that is easy to install. This being a Google project, we'll also mention a few performance measurements. Dart is an open source project, so we'll close with info on how you can get involved.

[edit] Vert.x 2.0 - Taking Polyglot Application Development to the next level

Tim Fox (Red Hat)

Vert.x is a lightweight, high performance, application platform for the JVM that's designed for modern mobile, web, and enterprise applications. In this talk you'll see how the powerful new module system enables a Vert.x ecosystem by allowing modules to be re-used via Maven and Bintray repositories. You'll also learn about how better build tool and IDE integration makes developing applications with Vert.x a breeze.You'll also learn about the up and coming Scala, Clojure support, and Node.js drop in compatibility which will take Vert.x to an even broader set of users.

[edit] Emerging Standards - the Bleeding Edge inside of Orion

Simon Kaegi (IBM)

Simon Kaegi, Technical Lead of the Orion Project, will talk about the emerging Web and JavaScript standards that Orion uses to bring its Browser-based IDE to life. The Orion project consciously decided to build-on the HTML5 browser platform APIs and working with the W3C/WhatWG and ECMA to improve them instead of creating its own foundational layer. Many of the standards Orion uses are still in active development so the team has developed polyfills to help validate and provide feedback for these emerging API. Examples include HTML Templates, LocalFileSystem, URI Templates, and Promises. Come see how Orion leverages these bleeding edge technologies in a real world test bed.

[edit] UI Performance Monitoring

Steve Foreman (Google)

SWT is the heart of the Eclipse UI and is driven primarily by an event dispatch loop. When events block the loop from proceeding for too long, the UI suffers from stutters and freezes that can be difficult to diagnose. A traditional profiler would either be unusably slow (instrumented mode) or produce mountains of irrelevant data (sampling mode).
Google contributed new UI Performance Monitoring API in the upcoming Eclipse 4.4 (Luna) release. In this talk we will introduce this API and an example monitoring plugin that captures relevant UI freeze data with minimal impact on the UI thread. We will also discuss the types of problems we have found and fixed using this monitoring.

Slides in Google Docs

[edit] Using Gerrit to Enhance your Git

Shawn Pearce (Google)

Developers love working with distributed version control tools, but it can be challenging to maintain quality standards. Learn how Gerrit Code Review has been leveraged by Android, Eclipse and the WikiMedia Foundation to maintain quality while training the next generation of developers.
With pre-submit code reviews, powerful access controls and rich integration APIs Gerrit helps teams to coordinate their distributed development efforts.

[edit] Practicing Continuous Delivery using Eclipse Hudson

Winston Prakash (Oracle)

Continuous Integration (CI) , Test Driven Development (TDD) & Continuous Delivery (CD) are the three main pillars of foundation for a successful agile team. Every one knows how to do Continuous Integration with Hudson. Do you know Hudson is also equipped with all the necessary tools for Continuous Delivery?. This talk will cover the nuances of practicing Continuous Delivery effectively using Hudson.

Slides as PDF

[edit] Visualizing Big Data with Eclipse BIRT

Virgil Dodson (Actuate)

This session will explore the various ways to connect and visualize big data using Eclipse BIRT. We’ll go hands on with the Eclipse Business Intelligence and Reporting Tools (BIRT) project, which now offers native support to Hadoop through Hive queries. We’ll also cover how BIRT can access other Big Data sources such as Cassandra and MongoDB so developers can display their data in a stylized tabular or graphical nature including dynamic drill through and interactivity. This session will cover in detail how to retrieve and visualize data from Big Data sources using BIRT.

Slides as PDF

[edit] How Google has been scaling Eclipse to work with our source code

Frank Kieviet (Google)

Imagine you have a single humongous source code tree containing millions of Java files. How do you use Eclipse with something like this? One solution we're using at Google for this is Magicjar, a tool that indexes jars, analyzes source code dependencies and constructs a minimal classpath, and provides a custom classloader to run code within Eclipse.

Slides in Google Docs

[edit] Android+Eclipse M2M: will it blend?

Benjamin Cabé (Sierra Wireless)

The Eclipse M2M (Machine-to-Machine) open source initiative delivers a stack of open source building blocks that accelerate the development of connected solutions. These building blocks make it possible to address what is arguably the trickiest problem in M2M: making your machine talk (i.e. send data & receive commands), be it a temperature sensor, a connected car, or Granny's pacemaker! In this session we will explore how, when used on top of the Android platform, the Eclipse M2M technology portfolio can also address an important aspect in the M2M big picture: YOU! Protocols like MQTT and new Eclipse M2M projects like Smart Home enable a whole new world of interactions between YOU and your machines. Join us to learn more about how to use the aforementioned projects for building amazing augmented-reality mobile apps!

Slides

[edit] Connecting the Internet of Things

Kai Kreuzer (Telekom AG)

The Internet of Things is broken - at least from the perspective of an end customer. Every device or system comes with its own cloud service and smartphone app. Although they are hooked up on the Internet they build vertical silos as there is no inter-connection. The Eclipse SmartHome project comes to the rescue: It allows accessing all devices through their proprietary APIs by means of a uniform abstraction layer on top of which user interfaces, automation rules and data persistence can be realized. Flexible extension mechanisms enable developers to easily add advanced functionality such as NFC support, charting and voice or gesture control. Through the Eclipse SmartHome project the personal IoT devices get connected to make the Sweet Home a truly Smart Home.

Slides as PDF

[edit] Making your Washing Machine Talk with a Power Plant

Matteo Collina (Mavigex, University of Bologna)

Energy production is almost constant, but our needs are not. The power plant knows what is the best time to do your laundry, but neither you or your washing machine know.
However, we can all save money and reduce our environmental impact if we can optimize the energy consumption. A 'Smart Grid' is only one of the possible application of the Internet of Things, which is in a huge hype cycle that is driven by strong economic interests: how can we be more efficient? Even an 1% saving across all industries can save billions. The answer is all about interconnecting all the things, and controlling them through software that is easy to build and maintain.
Interconnecting everything has several major issues to be solved: three of them are the communication protocols, the data formats and privacy. What 'language' are the Thing speaking? What 'words' are they using? Ponte is a new project at the Eclipse Foundation that aim to bridge between multiple communication protocols and data format, to let your washing machine talk with a power plant and keeping you in the loop.

Slides as PDF

[edit] Fast Distributed Geospatial Processing with GeoTrellis

Rob Emanuele (Azavea)

There's a wealth of big data, and geospatial data is no exception. While there are many tools to deal with big data at our disposal, geospatial data processing requires a unique set of operations not found in most general purpose data frameworks. GeoTrellis provides many of these operations and methods for applying them to large data sets. From analyzing terabytes of satellite raster data, to building low latency and interactive location-based analytics tools for the web, GeoTrellis aims to solve the problems of both distributed batch processing and web-speed analysis in the geospatial domain. In this talk, I’ll show how GeoTrellis is used to perform operations on raster data in order to transform geospatial analysis into an interactive experience on the web. I’ll also cover how GeoTrellis distributes operations across a cluster of machines for fast, scalable analysis of large rasters.