SlideShare una empresa de Scribd logo
1 de 109
Descargar para leer sin conexión
Wissenstransfer 2.0: 

Liest du noch, oder programmierst du schon?
The knowledge transfer company
• Project Lead of Eclipse Code Recommenders
• Eclipse Committer since 2010
• Plug-in Developer for 10 years (Eclipse 2.1)
• Member of the Eclipse Architecture Council
• Co-Lead of Java User Group Darmstadt
• Speaker at JUGs, EclipseCon, JAX, JavaOne…
• PhD in Computer Science
• CEO of Codetrails
!
• Passion to improve developers day-to-day work
with intelligent and practical tools - mostly using
Data Mining on Big (Software Engineering) Data.
About Me
2
@MarcelBruch
+MarcelBruch
Codetrails at a Glance
• The company behind Eclipse Code Recommenders
• Eclipse RCP Experts & Consultants
• Software Tool Developers
• Data Mining Specialists
• Research Spin-off Darmstadt University of Technology
3
supported by
About Eclipse Code Recommenders
4
2006 2009 2011
2012 2013 2014
Research
begins
CR
published
CR goes
Eclipse
CR 1.0 

Part of IDE CR 2.0
CR 2.1
Awards & Traction
5
2012
• >3.000.000 downloads
Top 20
• Talks at 50+ Democamps, Eclipse Days,
and Java User Groups all over Europe.
• Talks at 10+ intl. and
local conferences.
• articles every 4 months,
• lots of general coverage
PROBLEM
Problem #1: Knowledge Drain
7
Problem #1: Knowledge Drain
8
Problem #1: Knowledge Drain
9
Software
Problem #2: Continuous Learning
10
A typical developer day
11
Comprehend Task
3 %
Handling Interruptions
20 %
Navigate Code
14 %
Study Code
19 %
Searching Web
12 %
Reading Docs
6 %
Write Code
27 %
51% of their time, developers invest in searching
and understanding code
How we search
12
What developers look for
13
Question + Answer + Code Example = ✓
A typical developer day
14
Comprehend Task
3 %
Handling Interruptions
20 %
Navigate Code
14 %
Study Code
19 %
Searching Web
12 %
Reading Docs
6 %
Write Code
27 %
Even when writing code
we search…
If we don’t google…
15
1 of 387 ?
17
Code Completion
Frequency : 100 completions / day
Duration (⌀) : 27 seconds / completion
Sum : 45 minutes / day
9% of their time developers spent
searching in their code completion
Problem
18
Comprehend Task
3 %
Handling Interruptions
20 %
Searching Code
12 %
Navigate Code
14 %
Reading Code
19 %
Reading Docs
6 %
Edit Code
27 %
Problem
19
Comprehend Task
3 %
Handling Interruptions
20 %
Searching Code
12 %
Navigate Code
14 %
Reading Code
19 %
Reading Docs
6 %
Edit Code
27 %
• 51% of their time, developers spent searching the
web and existing code for help
• In addition, even when programming, they spent
9% searching in their code completion
• In total, 60% is about finding the right information
to solve a programming task
SOLUTION
„Leveraging the power of the crowds“
Behind every answered question…
21
… there is some code
22
Use the code
23
INTELLIGENT CODE COMPLETION
„Other developers frequently bought used the following methods…“
@Override!
protected Control createDialogArea(final Composite parent) {!
Composite container = (Composite) super.createDialogArea(parent);!
!
swtTextWidget = new Text(container, SWT.BORDER);!
swtTextWidget.|!
return container;!
}
Code Completion…
What does the developer need, i.e., which methods
should the code completion present to the user?
25
All 164 Methods of Text ?
Intelligent Code Completion
What your team really needs to know…
27
Snippet Completion (1)
28
HOW IT WORKS
„Finding the hidden gems in your code“
class Example extends Page {!
Text t;!
!
@Override!
void createContents() {!
t = new Text();!
t.setText(..);!
...!
}!
...!
}
in:Page.performOk()
Text.<init>()
Text.getText()
Text.setFont()
...
Text.setText()
… … … … … … …
0 0 0 …
30
1 1 1
From code to models...
in:Page.createContents()
31
class Example extends Page {!
Text t;!
...!
!
@Override!
void performOk() {!
t.getText();!
...!
}!
!
}
in:Page.performOk()
Text.<init>()
Text.getText()
Text.setFont()
...
Text.setText()
1 0 1 1
1 1
0 0
0 0 0 0
… … … … … …
…
…
…
From code to models...
in:Page.createContents()
32
class MyPage extends Page {!
!
Text t;!
@Override!
void createContents() {!
t = new Text();!
t.|<^space>!
}!
...!
}
1 …1 ?? ?0
From models to recommendations...
in:Page.performOk()
Text.<init>()
Text.getText()
Text.setFont()
...
Text.setText()
in:Page.createContents()
33
1 …1 ?? ?0
in:Page.performOk()
Text.<init>()
Text.getText()
Text.setFont()
...
Text.setText()
01 10 0 …
1 10 0 0 0
… … … … … …
…
…
1
0 1 1 1 0 …1
01 00 0 …1
⅔ ⅓ 0
From models to recommendations...
in:Page.createContents()
CALL-CHAIN COMPLETION
“Welcome to the jungle...”
public class MyView extends ViewPart {!
!
public void updateMessage(final String newMessage) {!
!
// How do I get an instance of IStatusLineManager?!
final IStatusLineManager manager = |!
!
}
How to obtain an instance of...
There is no trivial solution.
Again, what should code completion return?
35
What we need...
36
ViewPart
IViewSite
IAc-onBars
IStatusLineManager
getStatusLineManager()
getAc-onbars()
getViewSite()
public void updateMessage(final String newMessage) {!
!
// How do I get an instance of !
!
final IStatusLineManager manager = !
this!
.getViewSite()!
.getActionBars()!
.getStatusLineManager();!
!
manager.setMessage(newMessage);!
}
SUBWORDS COMPLETION
“BecausePureCamelCaseMatching****s!”
Use speaking names...?
38
When letters become just guidelines...
39I Like?
Source: http://vimeo.com/19369928
EXTENDING API DOCUMENTATION
“Developers who bought overwrote this method typically also overwrote...”
In good documentation we trust...
41
good
/**!
* Rollsback the transaction if any and clears different lists to!
* start with an empty resource again.!
* Note that the super.doUnload is not called because that clears!
* the list resulting in all kinds of undesirable inverseremoves.!
*/!
@Override!
protected void doUnload() {!
super.doUnload();!
}!
!
No? Are you sure?
Generating high-quality API documentation
42
/**!
* The number of questions.!
*/!
private int numberOfQuestions;!
!
!
/**!
* Sets the number of questions.!
* !
* @param numberOfQuestions the number of questions!
* @throws IllegalArgumentException the illegal argument exception!
*/!
public void setNumberOfQuestions(int numberOfQuestions) !
throws IllegalArgumentException {!
if (numberOfQuestions < 0) {!
throw new IllegalArgumentException("numberOfQuestions < 0");!
}!
this.numberOfQuestions = numberOfQuestions;!
}
What people say about JAutodoc...
43
User: Anonymous Rating: 9 2009-08-02 11:32:37
Wow exactly what I needed!
User: Anonymous Rating: 9 2009-02-13 19:58:32
Thank you... this plugin rocks!
User: Anonymous Rating: 9 2009-02-13 19:58:32
Works perfectly. Smarter than I expected!
WTH? What did you expect?!
How Recommenders is coming to rescue...
44
What documentation would you expect when
subclassing Dialog?
45
package org.eclipse.recommenders.examples.demo;!
!
import org.eclipse.jface.*;!
!
public class MyDialog extends Dialog {!
!
protected MyDialog(final IShellProvider parentShell) {!
super(parentShell);!
} !
}!
!
What Javadoc gives you...
46
A dialog is a specialized window used for narrow-
focused communication with the user.
!
Dialogs are usually modal. Consequently, it is
generally bad practice to open a dialog without a
parent. A modal dialog without a parent is not
prevented from disappearing behind the application's
other windows, making it very confusing for the user.
!
If there is more than one modal dialog is open the
second one should be parented off of the shell of the
first one otherwise it is possible that the OS will cus to
the first dialog potentially blocking the UI.
But what are the
hot-spots of Dialog?
org.eclipse.jface.dialogs.Dialog
What code completion offers...
47
Which of the 56 methods
should we override?
Recommending method overrides...
48
!
public class MyDialog extends Dialog {!
!
Recommending self-calls
49
public class MyWizard extends Wizard {!
!
! @Override!
public void addPages() {!
!
};
Mining for subclassing patterns
50
!
public class MyViewerSorter extends ViewerComparator {
Mined example code snippets…
51
!
public class MyDialog extends Dialog {!
!
@Override!
protected Control createDialogArea(Composite parent) {!
!
SNIPMATCH
„Stop searching Stackoverflow for code snippets“
Why do you use code templates?
53
Safe time typing
54
<ctrl+space>
<ctrl+space>
{
<ctrl+space>
<ctrl+space>
}
Learning from snippets
55
Eclipse Java Templates
56
42x Java Templates.
35x SWT Templates.
Learning from snippets
57
The rise of code snippet repositories
58
and many more...
Snipmatch
59
Recom
m
enders 2.1
AND IF THERE IS NO CODE TO ANALYZE?
„From code analysis to crowd sourcing“
Being for Software Developers
How 39 million click events make your IDE a smarter place
62
63
The amazon success factors
64
65
How about applying the very same
principles to software development?
So, instead of using the web browser…
66
68
!
!
!
Disclaimer
!
Data sharing is
involved!
!
Not Eclipse anymore!
Crowdsourced Code Completion
Developers that bought used a StringBuilder, typically…
69
A fairly trivial example…
70
Instead saying…
71
What if we‘d just count calls...?
72
Codetrails Connect Community Edition,

Install from http://www.codetrails.com/connect
!
void ctor() {	
!
	 	 List l = new A…	
}	
Crowdsourced Constructor Completion
73
What is the mostly likely completion a
developer looks for in this particular situation ?
74
1 out of 302
!
void ctor() {	
!
	 	 List l = new A…	
}	
Use (costly) subtype checks
75
Codetrails Completion Tweaks for Eclipse,

Install from http://download.codetrails.com/updates/connect/
Crowdsourcing constructor completions...?
76
It learns from you. From the very 1st moment.
Codetrails Connect Community Edition,

Install from http://download.codetrails.com/updates/connect/
public class MyDialog extends Dialog {	
!
|	
!
!
Crowdsourcing override completions...?
77
!
void quickfix() {	
!
	 	 List l = new A	
}	
How about fixing quick-fix?
78
Not fixed yet. But could be easily - when you start sharing your knowledge…
39.000.000 clicks for a smarter IDE
79
Read more (October 2013)

http://www.codetrails.com/blog/powered-33-million-code-completions-codetrails-connect-12
Method Overrides
1.579.303
Constructor Calls
8.915.540
Method Calls
38.254.438
48.749.281
Bootstrapped with

30++ GB Java Bytecode.
Powered by Maven Central
and EclipseSource Yoxos.
56.424 crowdsourced completion events
80
org.eclipse.*
11 %org.apache.*
4 %
com.google.*
9 %
com.vaadin.*
5 %
com.codetrails.*
3 %
others
14 %
javax.*
3 %
java.[n]io.*
6 %
java.util.*
25 %
java.lang.*
21 %
From December 22 to March 12
Trend: Events sent by the community
81
Visit the Codetrails Connect live dashboard:

http://download.codetrails.com/connect/dashboard/
How well does it work?
82
What do you expect?
How well does it work?
83
Numberofproposalsmade
1
2
3
4
5
6
7
Position in code completion window
-1 0 1 2 3 4 5 6
993
475
304
214
189
123
1.094
833
327 238
197 114 87
145 56 40 38
96 61 23 22 21
77 52 19 21 20 10
963 591 373 243 285 151 157
Hit
Miss
not found
Successfully concluded sessions
84
Codetrails
78,8
JDT
67,9
JDT standalone vs. Codetrails
Developers find what they need 11% more often with smart code completion.
Number of documentation lookups saved in 3 months: 3.000!
What get’s shared?
85
What is shared?
86
{!
„type“: „StringBuilder“,!
„completion“: „append(String)“!
}
Sharing Preferences
87
Still scared of crowdsourcing?
88
Do you also suffer from Anatidaephobia?
„Big Brother is watching you“

http://anniemachon.ch/annie_machon/2013/11/cryptofestival-london-30th-november.html
89
ANATIDAEPHOBIA IS THE FEAR

THAT SOMEWHERE IN THE WORLD,
THERE IS A DUCK WATCHING YOU.
90
https://vaadin.com/blog/-/blogs/crowdsourcing-vaadin-with-codetrails-connect
91
Snippets going social
5 0
Enriching Javadoc
92
Eclipse Code Recommenders Livedoc 0.8 Incubator

Install from http://eclipse.org/recommenders/incubators
Javadocs with mined snippets
93http://download.codetrails.com/livedoc/published/latest/org/eclipse/jface/org.eclipse.jface/3.8.102/
94
Breaking News:!
Words carry meaning!
As leading scientists found out, words....
Rethinking Recommendation
for Code Completion
A simple observation
95
You wouldn‘t expect a call to #dispose()

in #createSomething(), right?
What you expect is...
96
How many words do you have for ‟create” ?
97
So, it works for #createSomething too!
98
Almost no difference!
99
Precision
0
25
50
75
100
Recall
0 10 20 30 40 50 60 70 80 90 100
Classic
Verbs
Interpolated Precision Recall Curves over 136.761 samples on JRE
What get‘s shared?
100
{!
„method“: „create“!
„type“: „Composite“,!
„completion“: „setLayout(...)“!
}
Let‘s back up here for a second!
101
We get (almost) language agnostic!
102
Read More
103
Installation
104
WRAP UP
„Closing notes“
All that only happens if you share…
106
107
Yes, there is a duck somewhere.
108But it probably doesn’t care what you are doing.
THANK YOU
@MarcelBruch
+MarcelBruch

Más contenido relacionado

La actualidad más candente

212 kuliah 01 pengenalan pemrograman berorientasi objek (java)
212 kuliah 01   pengenalan pemrograman berorientasi objek (java)212 kuliah 01   pengenalan pemrograman berorientasi objek (java)
212 kuliah 01 pengenalan pemrograman berorientasi objek (java)
yuan99
 
Eclipse Indigo DemoCamp Walldorf 2011
Eclipse Indigo DemoCamp Walldorf 2011Eclipse Indigo DemoCamp Walldorf 2011
Eclipse Indigo DemoCamp Walldorf 2011
Marcel Bruch
 
2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertag2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertag
Marcel Bruch
 

La actualidad más candente (20)

API workshop: Deep dive into Java
API workshop: Deep dive into JavaAPI workshop: Deep dive into Java
API workshop: Deep dive into Java
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross Seminar
 
QA Fest 2018. Adam Stasiak. React Native is Coming – the story of hybrid mobi...
QA Fest 2018. Adam Stasiak. React Native is Coming – the story of hybrid mobi...QA Fest 2018. Adam Stasiak. React Native is Coming – the story of hybrid mobi...
QA Fest 2018. Adam Stasiak. React Native is Coming – the story of hybrid mobi...
 
Holy PowerShell, BATman! - dogfood edition
Holy PowerShell, BATman! - dogfood editionHoly PowerShell, BATman! - dogfood edition
Holy PowerShell, BATman! - dogfood edition
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC Chapter
 
Titanium - Making the most of your single thread
Titanium - Making the most of your single threadTitanium - Making the most of your single thread
Titanium - Making the most of your single thread
 
iOS Application Exploitation
iOS Application ExploitationiOS Application Exploitation
iOS Application Exploitation
 
Design patterns
Design patternsDesign patterns
Design patterns
 
212 kuliah 01 pengenalan pemrograman berorientasi objek (java)
212 kuliah 01   pengenalan pemrograman berorientasi objek (java)212 kuliah 01   pengenalan pemrograman berorientasi objek (java)
212 kuliah 01 pengenalan pemrograman berorientasi objek (java)
 
Basic Selenium Training
Basic Selenium TrainingBasic Selenium Training
Basic Selenium Training
 
Laravel and Django and Rails, Oh My!
Laravel and Django and Rails, Oh My!Laravel and Django and Rails, Oh My!
Laravel and Django and Rails, Oh My!
 
Java fx smart code econ
Java fx smart code econJava fx smart code econ
Java fx smart code econ
 
Advanced SQL Injection Attack & Defenses
Advanced SQL Injection Attack & DefensesAdvanced SQL Injection Attack & Defenses
Advanced SQL Injection Attack & Defenses
 
Efficient JavaScript Unit Testing, May 2012
Efficient JavaScript Unit Testing, May 2012Efficient JavaScript Unit Testing, May 2012
Efficient JavaScript Unit Testing, May 2012
 
Is code review the solution?
Is code review the solution?Is code review the solution?
Is code review the solution?
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
Eclipse Indigo DemoCamp Walldorf 2011
Eclipse Indigo DemoCamp Walldorf 2011Eclipse Indigo DemoCamp Walldorf 2011
Eclipse Indigo DemoCamp Walldorf 2011
 
2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertag2010 06-24 karlsruher entwicklertag
2010 06-24 karlsruher entwicklertag
 
Node.js exception handling
Node.js exception handlingNode.js exception handling
Node.js exception handling
 

Destacado

Destacado (7)

Eclipse Neon Webinar Automated Error Reporting
Eclipse Neon Webinar Automated Error ReportingEclipse Neon Webinar Automated Error Reporting
Eclipse Neon Webinar Automated Error Reporting
 
Need 4 Speed FI
Need 4 Speed FINeed 4 Speed FI
Need 4 Speed FI
 
Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1
Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1
Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1
 
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
 
Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...
 
Being Amazon for Software Developers - IDE 2.0: Crowdsourcing mal anders #Jav...
Being Amazon for Software Developers - IDE 2.0: Crowdsourcing mal anders #Jav...Being Amazon for Software Developers - IDE 2.0: Crowdsourcing mal anders #Jav...
Being Amazon for Software Developers - IDE 2.0: Crowdsourcing mal anders #Jav...
 
The Sin City of Code - No Images
The Sin City of Code - No ImagesThe Sin City of Code - No Images
The Sin City of Code - No Images
 

Similar a JUG Münster 2014 - Code Recommenders & Codetrails - Wissenstransfer 2.0

walkmod: An open source tool for coding conventions
walkmod: An open source tool for coding conventionswalkmod: An open source tool for coding conventions
walkmod: An open source tool for coding conventions
walkmod
 
ASP.NET Session 3
ASP.NET Session 3ASP.NET Session 3
ASP.NET Session 3
Sisir Ghosh
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross Introduction
Stuart Lodge
 
LECTURE 1 - Introduction to Programming.pptx
LECTURE 1 - Introduction to Programming.pptxLECTURE 1 - Introduction to Programming.pptx
LECTURE 1 - Introduction to Programming.pptx
AOmaAli
 

Similar a JUG Münster 2014 - Code Recommenders & Codetrails - Wissenstransfer 2.0 (20)

To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016
To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016
To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
 
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
 
walkmod: An open source tool for coding conventions
walkmod: An open source tool for coding conventionswalkmod: An open source tool for coding conventions
walkmod: An open source tool for coding conventions
 
Core JavaScript
Core JavaScriptCore JavaScript
Core JavaScript
 
Writing clean code in C# and .NET
Writing clean code in C# and .NETWriting clean code in C# and .NET
Writing clean code in C# and .NET
 
The ABC's of IaC
The ABC's of IaCThe ABC's of IaC
The ABC's of IaC
 
ASP.NET Session 3
ASP.NET Session 3ASP.NET Session 3
ASP.NET Session 3
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
Practices and Tools for Building Better APIs
Practices and Tools for Building Better APIsPractices and Tools for Building Better APIs
Practices and Tools for Building Better APIs
 
Design Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best PracticesDesign Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best Practices
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
 
Design Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best PracticesDesign Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best Practices
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPL
 
Everything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventureEverything-as-code - A polyglot adventure
Everything-as-code - A polyglot adventure
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross Introduction
 
DevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation SlidesDevSecCon SG 2018 Fabian Presentation Slides
DevSecCon SG 2018 Fabian Presentation Slides
 
LECTURE 1 - Introduction to Programming.pptx
LECTURE 1 - Introduction to Programming.pptxLECTURE 1 - Introduction to Programming.pptx
LECTURE 1 - Introduction to Programming.pptx
 
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
 

Más de Marcel Bruch (7)

Snipmatch - Snippets for the World
Snipmatch - Snippets for the WorldSnipmatch - Snippets for the World
Snipmatch - Snippets for the World
 
DWX 2013 Nuremberg
DWX 2013 NurembergDWX 2013 Nuremberg
DWX 2013 Nuremberg
 
2013-06 - Eclipse Kepler Democamps
2013-06 - Eclipse Kepler Democamps2013-06 - Eclipse Kepler Democamps
2013-06 - Eclipse Kepler Democamps
 
Eclipse Democamp Zurich
Eclipse Democamp ZurichEclipse Democamp Zurich
Eclipse Democamp Zurich
 
Eclipse Code Recommenders @ MAJUG 2011
Eclipse Code Recommenders @ MAJUG 2011Eclipse Code Recommenders @ MAJUG 2011
Eclipse Code Recommenders @ MAJUG 2011
 
Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...
Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...
Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...
 
IDE 2.0 & Research at Eclipse - ECOOP 2011
IDE 2.0 & Research at Eclipse - ECOOP 2011IDE 2.0 & Research at Eclipse - ECOOP 2011
IDE 2.0 & Research at Eclipse - ECOOP 2011
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Último (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 

JUG Münster 2014 - Code Recommenders & Codetrails - Wissenstransfer 2.0