-
Notifications
You must be signed in to change notification settings - Fork 1
/
abstracts.csv
We can make this file beautiful and searchable if this error is corrected: Illegal quoting in line 3.
130 lines (130 loc) · 87.3 KB
/
abstracts.csv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
label;title;text
Backend;Reactive Streams principles applied in Akka Streams;In this talk we’ll have a look at Akka Streams and its relation to Reactive Streams, a standard for asynchronous stream processing with non-blocking back pressure. We’ll see how Reactive Streams principles enable the building of highly responsive applications that adapt to load changes and that are resilient to failure. Real-life scenarios will be shown where applying so-called back-pressure keeps systems fast and healthy at the same time.
Backend;CDI 2.0 is upon us;"Like the Winter in some famous TV show, CDI 2.0 has been Coming for nearly 2 years. But now CDI 2.0 is Here (like the same Winter) and all the new stuff it brings will deeply change your Java EE, MicroProfile and Java SE experience. In this session I will review the major features introduced in CDI 2.0 and I'll demonstrate how it can be used in various environment like Java EE 7 application server, MicroProfile platform or even Java SE. If you still think that CDI is a simple Dependency Injection solution bound to Java EE or think that there's only one platform to bootstrap advanced service on Java SE, come and see that the CDI """"Winter"""" can compete with """"Spring""""."
Backend;Netty @ Apple - Scaling to millions of messages per second;At Apple our Services need to be build with scale in mind as we handling millions of messages per second on transfering massive amount of data. Many of our java based services are built on top of Netty (an open source asynchronous event-driven networking framework). We are not only a big user of Netty but are also amongst the top contributes to this project and have made many performance related enhancements. This talk will highlight our experiences and challenges involved with Netty in a production environment at scale. We will discuss best-practices and also key contributions we made over the past few years to keep up with ever increasing load. You want want to learn how to get the most out of your Netty based services? This talk is for you!
Backend;The New HTTP Client API in JDK 9;JDK 9 includes a new HTTP client API that supports HTTP versions 1.1 and 2. The API can be used in a simple synchronous or blocking mode or asynchronously with java.util.concurrent.CompletableFuture. This session introduces the API, the implementation, and also some of the innovations and benefits of HTTP/2 itself.
Backend;Introducing the MicroProfile;MicroProfile is not just a new buzzword. It's a serious collaboration to evolve Enterprise Java in a Microservices world, supported by such companies as Red Hat, IBM, LJC, Payara and Tomitribe. Since its launch in June the MicroProfile collaboration has gained the attention and participation from the wider Enterprise Java community including members of Spring, JUGs and several hundred developers completing the online poll and joining the discussions. Slated as a mix of APIs including CDI, JAX-RS and WebSockets, standards including OAuth 2.0 and JWT, deployment concepts including Uber-Jars, the MicroProfile has quickly morphed based on community feedback. In this this session we’ll explore what started the initiative, what it hopes to achieve, the community discussion and focuses thus far and how to get involved. We’ll detail the final roadmap the MicroProfile 1.0, possibilities for beyond and show what you can do with the MicroProfile today.
Backend;A tour of the (advanced) Akka features in 60 minutes;Akka is a very interesting and powerful framework which can be used to build high performance applications. But what can you do with Akka? This session will start with the basics and then cover some of the more advanced topics such as Finite State Machines, Akka HTTP, remote actors, clustering, routing, sharding and persistence. The demo will be done on a Raspberry Pi Akka cluster. After this session you know what is possible with Akka and you can start using those features yourself.
Backend;It is tough to be an application in 2016. Lagom can help.;"It is tough to be an application in 2016. The requirements have never been more pressing. It is expected to manage high user load and unimaginable amounts of data; be spread between cloud, mobile devices and anything in between; be ready to be updated several times a day, yet be always available; and deliver near-realtime performance as everything mentioned earlier wasn't challenging enough. As hard as it might sound, it is still doable however certain design principles of scalable, distributed systems should be followed. In this talk, we will discuss those principles as well as introduce Lagom - the reactive microservices framework that lets you utilize these concepts in a concise, clear, and elegant way. Opponents of microservices approach, JEE enthusiasts and Java developers who are generally interested in building systems with modern demands are equally welcome to come and participate in the discussion, where 'highly available' and 'resilient' are treated as technical computer science terms rather than buzzwords."
Backend;Property-Based Testing for everyone;Property-based tests have the false reputation of being for functional programmers only & for doing “Mathy”-stuff only. Let‘s break that: Your business domain is rich in properties that you can test in Java! Let‘s dive in so next monday you‘ll use properties to: - write fewer tests, with less boilerplate, that test more - Reduce your test technical debt - Write tests that document your business rules explicitly - Find your business domain invariants and guide your design
Backend;Advanced Spring Data REST;Spring Data REST provides a solid foundation to build domain-driven REST webservices leveraging hypermedia. It takes away the boilerplate part of the development and allows you to concentrate and easily hook code to cover more advanced scenarios, like custom state transitions. The talk is going to look into which means the library provides to easily integrate manually coded REST resources, tweak representations and work with lookup types (database backed value types) and especially focusses on the features added in recent releases.
Backend;“Right Size” your Services with WildFly Swarm;This talk will emphasize that “size isn’t everything” and that what is the “right size” very much depends on your specific circumstances. Within that context, we will discuss developing Java EE “Right Size” services with WildFly Swarm, while providing various diverse demonstrations on how WildFly Swarm works and its ease of use. If you’re an experienced Java EE company, and you’ve been thinking about investigating microservices, that doesn’t have to mean doing away with Java EE. We will show how WildFly Swarm can construct a single Jar containing a Java EE Application along with any WildFly components your Java EE Application would require. These can be deployed easily and quickly to any environment with a JVM. We will finish by going beyond Java EE and exploring non Java EE technologies that WildFly Swarm has integrated with, such as Netflix Ribbon, Swagger, and Jolokia, that ease development for highly distributed applications intended for “cloud first” deployments.
Backend;Cloud Native Java;“It is not necessary to change. Survival is not mandatory.” -W. Edwards Deming Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production. Software - for many organizations and industries - is a competitive advantage. Microservices enable speed, but without safety is dangerous. In this talk we'll look at how to safely execute in standing up production worthy services, and how to address the complexity implied in building a distributed system.
Backend;Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 first;gRPC is a high performance, language-neutral, general RPC framework developed and open sourced by Google. Built on the HTTP/2 standard, gRPC brings many benefits such as bidirectional streaming, flow control, header compression, multiplexing and more. In this session, you will learn about gRPC and how you can use it in your Java applications through a series of code samples and demos.
Backend;Understanding legacy untested code via Exporatory TDD technique;Test suite and code it tests are in fact symmetry of each other: both are double checks of each other. Therefore, it should be possible to derive tests from the code as much as it is possible to derive code from the tests one test at a time. This is not a pleasant process of course. But turns out that there are techniques that allow one to derive tests one at a time from the code with full confidence and in small increments until there is nothing else to test. I want to tell you about one such technique and my experiences of using it.
Backend;REST API refactor: real case scenario;"I recently joined Flaconi.de, where I have been in charge of enhancing and re-factoring the backend API in PHP. The idea to make the API RESTful has been and still is, not an easy journey. I had to go trough 3 different steps to achieve the result I was looking for: 1) Implement a proper GIT flow, as our team was growing; 2) Re-factor the whole API to be REST. We made some compromises, but we achieved a nearly RESTful goal; 3) Implement API tests via Codeception (we were already using Unit Tests)."
Backend;Reactive Web Applications with Spring 5;The Spring Framework and the Reactor teams have been busy working on support for reactive programming models over the last 2 years. By the end of this year Reactor 2.5 will be GA and Spring Framework 5 will have a release candidate. This talk will explain the major paradigm shift that's taking place and demonstrate what is arguably one of the most consequential additions to Spring Framework 5.
Backend;Reactive Microservices with Vert.x;"Everybody is talking about microservices and reactive programming these days. And there’s a reason for that: the high-demand and high-scale distributed world that we have today, reacting to events in an asynchronous and non-blocking fashion seems the right approach to deal with scalability. And to achieve microservices you need a lightweight, fast, modular, high-performance and un-opinionated environment. Meet Vert.x: a toolkit for building reactive applications on the JVM. Come to this session to see how you can use Vert.x to create reactive code using Java, Groovy, JavaScript or other JVM languages. We’ll demonstrate how to build Vert.x-based systems leveraging the unique Vert.x event bus for creating apps with real-time communications from the modern web browser to the cloud and back again. Have fun with a large number of live demonstrations that will cause you to reconsider your reliance on monoliths and consider leaving tradition behind for an event-driven, reactive, microservice-focused architecture."""""""
Backend;Sane Sharding with Akka Cluster;Writing distributed applications is very hard, especially when you start developing them as single-noded ones. Programmers tend to focus on functionalities first, leaving the scalability issues for later. Fortunately, Akka gives us many tools for scaling out and we can use them very early in the development process. I want to show you how to take advantage of these features. You will learn how to transform a single-noded app into a scalable one. During live coding session I will create both versions from scratch and guide you through the most important architectural decisions. If you are interested in scalability and know basics of message-based concurrency, this talk is for you. First, you will see how to create a web service as a single-noded Akka app. Then we will talk about scalability and availability problems with this approach and introduce sharding as potential solution. We will use this knowledge and Akka Cluster module to make our app more scalable.
Backend;Building multiplayer game using streams;In this talk you will learn how stream-based programming can be used to implement web frontend and multiplayer backend of the classic game: Snake. Building dynamic applications using imperative approach tends to create lots of unmaintainable code. Stream-based programming tries to solve this problem by introducing fully declarative way of defining application logic. While using streams, you will focus on WHAT needs to be done, not HOW and WHEN. The talk is divided into 3 parts. In the first part you will learn how to create a frontend of the Snake web game using streams as building blocks. Then, we will move to the server side and use Scala and Akka Stream library to create backend service that will allow the game to be played by multiple players. In the third part, we will discuss reactive streams and how they make asynchronous communication safe.
Backend;From Zero to Hero With Spring Boot;Join Spring Boot committer Stéphane Nicoll for a look at what Spring Boot is, why it's turning heads, why you should consider it for your next application (REST, web, batch, big-data, integration, whatever!) and how to get started.
Backend;Reactive Database Mapping with Scala and Slick;Slick does what some call FRM, i.e. Functional-Relational Mapping (as opposed to ORM), which basically lets you access your relational database as if it was a Scala collection. And since reactive is THE way to go nowadays, we' re going to be no different.
Backend;Reactive Kafka with Akka Streams;Apache Kafka is now widely adopted among modern distributed systems. In this presentation we will see how Akka Streams can add even more power to Kafka by exposing it as a reactive stream. We will see some examples of how the Reactive Kafka library can be leveraged to build a well-fitting and elegant match of partitioned, pull-based distributed log and asynchronous, backpressured streaming model.
Big Data;Tensorflow and deep learning - without at PhD;"Google has recently open-sourced its framework for machine learning and neural networks called Tensorflow. With this new tool, deep machine learning transitions from an area of research into mainstream software engineering. In this session, we will teach you how to choose the right neural network for your problem and how to make it behave. Familiarity with differential equations is no longer required. Instead, a couple of lines ofTensorflow Python, and a bag of """"tricks of the trade"""" will do the job. No previous Python knowledge required."
Big Data;Cloud Native Streaming and Event-Driven Microservices;The future of scalable data processing is event-driven microservices! They provide a powerful paradigm that provides solutions for problems typical for distributed applications, such as availability, data consistency, or communication complexity. The also allow the creation of sophisticated and extensible data processing pipelines, and bridge the gap between big data and the more traditional enterprise integration world. Spring Cloud Stream is a framework for creating event-driven microservices, building on the ease of development and execution of Spring Boot, the cloud native capabilities of Spring Cloud, and the message-driven programming model of Spring Integration, using messaging platforms such as RabbitMQ or Kafka. Complementary, Spring Cloud Data Flow is the orchestration layer that makes it easy to deploy and manage sophisticated data pipelines consisting of microservices, through a pluggable SPI that allows it to coordinate them across a variety of platforms such as YARN, Cloud Foundry, Kubernetes or Mesos. Via live coding, we will demonstrate how to use both to create complex data processing pipelines that bridge the world of big data and enterprise integration together.
Big Data;Distributed Commit Logs with Apache Kafka;Apache Kafka was created at LinkedIn as a resilient and scalable distributed commit log providing a traditional publish / subscribe interface. Now open source through Apache, Kafka is being used by numerous large enterprises for a variety of use cases. This session will introduce the basics of Kafka and walk through some code examples that will show how to begin using it.
Big Data;Fast Cars, Big Data - How Streaming Can Help Formula 1;Modern cars produce data. Lots of data. And Formula 1 cars produce more than their share. I will present a working demonstration of how modern data streaming can be applied to the data acquisition and analysis problem posed by modern motorsports. Instead of bringing multiple Formula 1 cars to the talk, I will show how we instrumented a high fidelity physics-based automotive simulator to produce realistic data from simulated cars running on the Spa-Francorchamps track. We move data from the cars, to the pits, to the engineers back at HQ. The result is near real-time visualization and comparison of performance and a great exposition of how to move data using messaging systems like Kafka, and process data in real time with Apache Spark, then analyse data using SQL with Apache Drill. The code from this talk will be made available as open source.
Big Data;Debugging Distributed Systems;Despite our best efforts, our systems fail. Sometimes it’s our fault - code that we wrote or bugs that we caused. But sometimes the fault is with systems that we rely on. ZooKeeper is a very useful distributed system that is often used as a building block for other distributed systems, like Kafka and Spark. It is used by PagerDuty for many critical systems, and for five months it failed on us a lot. We will walk through the process of finding and fixing one cause of many of these failures. You will learn how to use various tools to stress test the network, some intricate details of how ZooKeeper works, and possibly more than you wanted to know about TCP including an example of machines having a different view of the state of a TCP stream.
Big Data;Google Dataflow: The New Open Model for Batch and Stream Processing;In 2004 Google published the MapReduce paper, a programming model that kick-started big data as we know it. Ten years later, Google introduced Dataflow - a new paradigm, integrating batch and stream processing in one common abstraction. This time the offer was more than a paper, but also an open source Java SDK and a cloud managed service to run it. In 2016 big data players like Cask, Cloudera, Data Artisans, PayPal, Slack, Talend joined Google to propose Dataflow for incubation at the Apache Software Foundation - Dataflow is here, not only unifying batch and streaming, but also the big data world. In this talk we are going to review Dataflow's differentiating elements and why they matter. We’ll demonstrate Dataflow’s capabilities through a real-time demo with practical insights on how to manage and visualize streams of data.
Big Data;Machine Learning for Developers - Deep Dive;Have you always wanted to add predictive capabilities or voice recognition to your application, but haven’t been able to find the time or the right technology to get started? Everybody wants to build smart apps, but only a few are Data Scientists. We had the same issue inside Amazon, so we created a Machine Learning engine that Developers can easily use. The same approach is now available in the AWS cloud. And we introduced Amazon Alexa to build engaging voice experiences for your services and devices: if you are a device maker, and your connected product has a microphone and a speaker, the Alexa Voice Service (AVS) enables you to add voice-powered experiences to your connected devices. And you can also use the Alexa Skills Kit (ASK) to teach new skills to Alexa!
Big Data;graph databases and the panama papers;"In spring 2016 the first press reports regarding the """"panama papers"""" were released. With almost 3TB of raw data this was by far the largest leak of data worldwide. This talk gives some technical insights who the ICIJ (International Consortium Of Investigate Journalists) worked with that amount of data to provide journalist an easy to use interface for doing their research. Aside other technologies one core component was a graph database. In a live demo on the panama papers dataset we'll explore to power and conciseness of the graph query language Cypher."
Big Data;Tensorflow and deep learning - without at PhD;"Google has recently open-sourced its framework for machine learning and neural networks called Tensorflow. With this new tool, deep machine learning transitions from an area of research into mainstream software engineering. In this session, we will teach you how to choose the right neural network for your problem and how to make it behave. Familiarity with differential equations is no longer required. Instead, a couple of lines ofTensorflow Python, and a bag of """"""""tricks of the trade"""""""" will do the job. No previous Python knowledge required."""""""
Big Data;Reactive Machine Learning On and Beyond the JVM;Reactive machine learning is a set of techniques for building production-grade machine learning systems that stay responsive in the face of failure or changes in load. Drawing on principles outlined in the Reactive Manifesto, the reactive approach to machine learning gives us a principled way of building large scale machine learning systems that are every bit as good as modern web apps. This talk will explore how reactive machine learning systems can be built on the JVM. We’ll look at languages like Scala and Clojure, libraries like Spark and Akka, and various reactive programming techniques like futures and actors. Then, we’ll see how we can go beyond the JVM to interact with innovative techniques implemented in other runtimes, such as deep learning in Python. The examples will be taken from real-world use cases such as fraud detection, autonomous cars, and intelligent agents. But they will be transformed into the exciting world of cartoon animals who do machine learning. Kangaroos, turtles, rabbits, and more will guide us through the wild world of reactive machine learning.
Big Data;Using Machine Learning to Enhance your Apps;"Ever wondered about the technology behind Google Photos? Or wanted to build a voice recognition app with similar functionality to ""Ok, Google""? The Google Cloud Vision and Speech APIs expose the machine learning models that power Google Photos, Google Image Search and the speech recognition in Android. Developers can now access these features with just a simple REST API call. We’ll learn how to make requests to the Vision and Speech APIs through a live demo of a Node app that uses these machine learning APIs."
Big Data;How Google DeepMind conquered the game of Go;Google's AlphaGo is an extraordinary breakthrough for Artificial Intelligence. The game of 19x19 Go has 1.74×10^172 unique positions and is about a 'googol' times harder to calculate than chess. Experts thought it would take at least another decade before AI would be able to beat the best human players. So how did Google tackle this problem? What algorithms did they use and how do they work?
Big Data;How to Apply Big Data Analytics and Machine Learning to Real Time Processing;"The world gets connected more and more every year due to Mobile, Cloud and Internet of Things. ""Big Data"" is currently a big hype. Large amounts of historical data are stored in Hadoop to find patterns, e.g. for predictive maintenance or cross-selling. But how to increase revenue or reduce risks in new transactions? ""Fast Data"" via stream processing is the solution to embed patterns into future actions in real-time. This session discusses how machine learning and analytic models with R, Spark MLlib, H2O, etc. can be integrated into real-time event processing. A live demo concludes the session"
Big Data;Machine Learning Exposed;"The term ""machine learning"" is increasingly bandied about in corporate settings and cocktail parties, but what is it, really? In this session we'll answer that question, providing an approachable overview of machine learning concepts, technologies, and use cases. We'll then take a deeper dive into machine learning topics such as supervised learning, unsupervised learning, and deep learning. We'll also survey various cloud-based machine learning technologies. You'll be the hit of your next party when you're able to express the near-magical inner-workings of artificial neural networks!"
Big Data;Small intro to Big Data;Pig, Hive, Flink, Kafka, Zeppelin... if you now wonder if someone just tried to offend you or are those just Pokemon names, then this talk is just for you! Big Data is everywhere and new tools for it are released almost at the speed of new JavaScript frameworks. During this entry level presentation we will walk though the challenges which Big Data presents, reflect how big is big and introduce currently most fancy and popular (mostly open source) tools. We'll try to spark off interest in Big Data by showing application areas and by throwing ideas where you can later dive into.
Big Data;Google Dataflow: The new open model for batch and stream processing;In 2004 MapReduce was introduced, a model that kick-started big data. 10 years later, Google published Dataflow - a new paradigm, integrating batch and stream processing in one common abstraction. This time it was more than a paper, but also an open source Java SDK and a cloud managed service to run it. In 2016 Dataflow was proposed for incubation at the Apache Software Foundation - Beam was born, unifying batch and streaming, and also the big data world. We’ll demonstrate Dataflow’s capabilities through a real-time demo with practical insights on how to manage and visualize streams of data.
Big Data;SASI, Cassandra on the full text search ride !;Apache Cassandra is a scalable database with high availability features. But they come with severe limitations in term of querying capabilities. Since the introduction of SASI in Cassandra 3.4, the limitations belong to the pass. Now you can create performant indices on your columns as well as benefit from full text search capabilities with the introduction of the new LIKE %term% syntax. To illustrate how SASI works, we'll use a database of 100 000 albums and artists.
Big Data;Geospatial Graphs made easy with OrientDB;Modeling and querying persistent data structures can be tricky when they involve semi-structured data, complex relationships (with deep traversal) and physical information like geographical positions, areas, shapes and so on. Bad news is that almost all your applications will have to manage such kind of data. In this presentation we will see how to use OrientDB v2.2 Document-Graph engine and its new Geospatial Indexes to efficiently manage ad query connected, spatial information. Very few slides, a lot of live coding, I promise!
Big Data;Search on the fly: how to lighten your Big Data;The talk presents a new technique of realtime single entity information extraction and investigation. The technique eliminates regular refresh and persistence of data within the search engine (ETL), providing real-time access to source data and improving response times using in-memory data techniques. The solution presented is a concrete solution with live customers, based upon real business needs. I will explain the architectural overview, the technology stack used based on Apache Lucene library, the accomplished results and how to scale out the solution.
Big Data;Real-time analytics with fast data stack;Traditional data warehousing and data analytics was an offline job and it usually required a lot of time to complete and give some results. These operations gave us some insight into our business but we had a limited possibility to improve or react in a timely manner. One of the efforts to move this approach closer to real-time was described with Lambda architecture where raw data was stored in real-time while also being analyzed in parallel and producing results with a certain delay. This approach eliminated those long running jobs by preparing analytic results on the incoming data but in todays business right information at the right time can mean improving our business and directly leading to more profit. Our latest technologies give us possibility to execute analytics on data streams and react almost instantly. Faster data requires faster reactions especially if its a fraud detection or a mission critical system. NoETL philosophy explains why the traditional approach is no longer valid and why we need these new technologies that we have today. In this presentation we are going to talk about the evolution from monolithic to distributed systems, pros and cons of both approaches and what we are able to do with todays technologies. Our main focus is going to be fast data stack (Spark, Mesos, Akka, Cassandra, Kafka) and how using these technologies we can create scalable and fast data pipeline while running real-time data analytics.
Big Data;Edge Performance with In-memory NoSQL;We are going to talk about in-memory NoSQL databases and how they can integrate in your current architecture in order to deliver high performance applications to your users. These can be used as session storage, a cache or a real database. We will talk at least about Memcache (the veteran), Redis (the mature) and Aerospike (the new guy), see where they excel and how you can add them to your existing stack.
Big Data;Robust Stream Processing with Apache Flink;In this hands on talk and demonstration I'll give a very short introduction to stream processing and then dive into writing code and demonstrating the features in Apache Flink that make truly robust stream processing possible. We'll focus on correctness and robustness in stream processing. During this live demo we'll be developing a realtime analytics application and modifying it on the fly based on the topics we're working though. We'll exercise Flink's unique features, demonstrate fault-recovery, clearly explain and demonstrate why Event Time is such an important concept in robust stateful stream processing and talk about and demonstrate the features you need in a stream processor to do robust stateful stream processing in production. We'll also use a realtime analytics dashboard to visualize the results we're computing in realtime. This will allow us to easily see the effects of the code we're developing as we go along. Some of the topics covered will be: Apache Flink Stateful Stream Processing Event Time vs. Processing Time Fault tolerance State management in the face of faults Savepoints Data re-processing
DevOps;Elegant Builds at Scale with Gradle 3.0;How can medium and large projects use Gradle to scale their build infrastructure? This session looks at organizations such as Netflix and LinkedIn and how they scale with Gradle across hundreds or thousands of developers. It discusses how to solve the challenges of standardization, dependency management, distributed caching, multi-language builds, continuous builds, working with subsets of large repositories, advanced IDE integration , build metric analytics and automatic build infrastructure provisioning.
DevOps;Migrate your traditional VM-based clusters to Containers;Software-defined infrastructure is changing the way applications are deployed. There are multiple ways to create scalable architecture using containers. This action-packed and code-driven session will share learnings from running a scalable Couchbase cluster in different containers framework. Attendees will learn how classical cluster creation on VMs is mapped to each of the framework. You’ll learn the recipes, design patterns and anti-patterns for deploying your own applications on the following frameworks: Docker Cloud Kubernetes on Google Cloud/Amazon Mesos + Marathon Red Hat OpenShift You will pick up nuggets of information that will make you productive by deploying your applications easily using containers.
DevOps;Docker Security for Developers;As a developer, what are the best practises for security when using containers? How can you make your applications more secure? This talk gives a practical guide for developers on how to use the security options available in Docker, what they mean in practical terms with real examples. This presentation is aimed at developers who have started using Docker a little and want to understand security in depth.
DevOps;Docker for developers and ops: what's new and what's next;The Docker open source projects moves very fast, with a release every 2 months. In June, with Docker 1.12, we introduced orchestration features in Docker. In November for Devoxx BE, we should be close to 1.15 and many new feature will probably have been introduced. This talk will be about what's new in Docker, and what's next on the roadmap at that time, with examples and hands-on demos.
DevOps;Java on Google Cloud Platform;Java users have longed used Google Cloud Platform (GCP) as a service to run their Java programs for web and mobile applications. Today, GCP offers much more, including Machine Learning and Vision Recognition APIs, Kubernetes based container managements services, and a full suite of Java specific tooling for running your code on GCP. In this talk, we will put all these elements together to demonstrate how developers can build innovative applications on GCP without worrying about DevOps or implementing complicated algorithms.
DevOps;Containers, VMs, Processes… How all of these technologies work ? Deep dive and learn about your OS;Everybody is now using virtualization, containers are all the rage today, and microkernels start to gain traction… But how is all this working? How did these solutions come to be? What are the differences between containers and virtual machines? Where and why should you use docker, runc, rocket, kvm, xen, virtualbox, includeOS, rancherOS? This talk is a full session providing understanding on how these technologies work, how they compare to each other, and lot’s of demo to understand differences and fundamental concept on isolation. So, let’s look under the hood, and understand how your system works (hint: it’s not magic). And yes, it will be understandable even if you are not an OPS or an expert. That’s precisely the point.
DevOps;The JVM and Docker. A good idea?;What is the point of putting a JVM inside a linux container? On my latest project our motivation is efficient utilisation of hardware. We used to run single purpose VMs, which makes sense for production but for our countless test environments it became prohibitively expensive. Even IaaS is still too slow to provision new environments and bootstrap new applications. This talk will be focusing on the downsides and lessons learned from running JVMs inside containers. We will cover the following topics: The benefits, downsides and complexities of running a Java application inside a container. Tuning memory limits taking into account Heap, Native memory, Metaspace, Stacks to avoid being OOM killed Tracking native memory with jcmd Avoiding the container swap problem Operating system tools that are/are not container aware and when they will come in handy: top, htop, dstat, dmesg, systemd-cgtop What tools should you include in your container for debugging/analysis e.g. the Swiss Java Tools https://github.com/aragozin/jvm-tools External tools for monitoring containers: prometheus, cadvisor, heapster Tuning thread pools for various frameworks
DevOps;Authentication and Authorization in a Cloud and Microservice World;A cloud based, microservice or IoT architecture requires architects and developers to rethink authentication and authorization. It is not feasible to have everyone log in separately for different systems, using a different username and password for each. The goal is to have a single identity that can be authenticated once. A common approach is to use some sort of single sign-on (SSO) solution. SAML and OpenID Connect both provide capabilities in this area that can be leveraged for the cloud as well as IoT. This talk will provide you with all you need to reach this goal in all your Java based applications.
DevOps;Unikernels and Docker: From revolution to evolution;Unikernels are a means to augment existing virtual machine and container deployments with compact single-purpose appliances. Explicitly polyglot, they've been a specialist's game to date: promising technology but requiring considerable expertise to deploy. I will introduce unikernels for newcomers, and then describe two ways we are integrating them with Docker. First, I will show Docker for Mac & Windows, which both utilise unikernel technology under-the-hood to make running Docker on Mac OS X and Windows hosts as transparent as possible. This will include build conventional and unconventional scenarios from Compose-based web stacks, to unikernel compilation, to cross-compiling ARM containers on a normal Mac or Windows host. Second, I will show how we have been integrating unikernels with existing deployments, using MirageOS unikernels to augment an existing LAMP stack deployment, managed uniformly using the popular Docker toolchain (Docker build, Docker run, and the Docker Hub). Unikernels can thus be used to augment and evolve existing polyglot VM and container deployments, one microservice at a time. We no longer need a revolution: welcome to the evolution!
DevOps;Monitoring Kubernetes Clusters with Prometheus;Kubernetes is a powerful system to operate a Cloud Native architecture. But how can we stay on top of what’s happening across thousands of pods that are dynamically scheduled across hundreds of nodes? It needs a system capable of monitoring all individual units across the entire stack while enabling users to drill down from a global view to individual instances. Prometheus is an open source monitoring system designed with exactly this goal in mind. As it turned out later, in conjunction with Kubernetes it forms a match made in open source heaven.
DevOps;Alerting with Time Series;In a Cloud Native infrastructure, failure is normal and expected. The loss of a single node or a dozen hard drives is gracefully handled by the systems running a datacenter and there is no reason to page someone at 4am. This calls for an alerting system that understands service availability at a global scope, yet is still able to give detailed reports if and when there is a service-impacting incident. This talk explores how time series based alerting solves this problem, the Prometheus architecture behind it, and how practical anomaly detection can be implemented.
DevOps;Building and scaling SaaS product on Microsoft Azure - WealthArc experience.;A lot of products nowadays are delivered to customers as Software as a Service (SaaS) solutions. This model is also heavily influencing traditional B2B companies. It doesn’t only offer lower costs, easier maintenance or customer upgrades but also brings a lot of interesting software and architecture challenges. This session discusses best practices, architecture principles and lessons learned from Wealtharc experience with implementation of SaaS product on Microsoft Azure.
DevOps;Breaking Bad with GitLab CI;We spend a lot of time to routine tasks everyday. With GitLab CI, you can automate some of these mundane tasks and use the extra time on some interesting new ones. In this session, we’ll take a look at ten different ways to use GitLab CI: from your daily routine automation to the crazy experiments you would never think are possible to run inside a CI system.
DevOps;Kubernetes and lastminute.com: our course towards better scalability and processes;Kubernetes adoption is straight forward when starting from scratch or in public clouds, but what the journey looks like when your starting point is a legacy infrastructure with high-traffic? In this talk we present our experience that begun almost 1 year ago and challenged everything inside our organisation. Developer teams changed the way they work, product owners benefit from the new speed achieved and the need of new roles emerged in IT department. We will explain our lessons learnt and the way to get the best out of this solution.
DevOps;Dockerize it: stop living in the past and embrace the future;Docker is a groundbreaking technology that will heavily influence how we will write software in the years to come: let's then have a look at * where it comes from (Linux Containers) * how it works * how to dockerize simple apps to easily deploy them on production * how you can use Docker in local environments to simplify your development workflow Do you like Vagrant, auto-scaling or 12-factor apps? Then get ready to be mindblown.
DevOps;Monarch, Google’s Planet-Scale Monitoring Infrastructure;Google runs very large and complex distributed systems. Keeping them healthy is a full time job in itself. The first step is knowing what is going on in our planet-wide extensive infrastructure. This talk is a technical deep dive into our state-of-the art monitoring systems: what challenges we faced, what solution we found, what lessons we learned.
DevOps;DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools;Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a set of AWS tools (AWS CodePipeline and AWS CodeDeploy, AWS OpsWorks).
DevOps;Docker 1.12: Orchestration, containers and beyond;With the 1.12 release, you can use Docker to manage and orchestrate your infrastructure. In this session, we'll explore Docker's evolution, we'll see the different components that make up Docker today and we'll have a nice demo of Docker's orchestration using Swarm mode.
DevOps;DIY Java & Kubernetes;Kubernetes is an open-source project, primarily developed by Google, which provides a solution for orchestrating, or scheduling, containers in a cluster. It defines several paradigms on top of just the container distribution, like pods, services, labels and controllers which makes the deployment and the operation of your applications much more simpler. This talk will cover the basic concepts behind Kubernetes, and a live demo will show how to operate your cluster and deploy your apps on it.
DevOps;The Dark Art of Container Monitoring;Containers are revolutionizing the way we deploy and maintain our infrastructures: reducing development overhead, streamlining dev / test / ops, and enabling highly scalable, dynamic infrastructures. But containers still have a key problem: monitoring and troubleshooting them is impractical, painful, and sometimes plain impossible. Even basic things like understanding what is using CPU, memory, or disk bandwidth inside a container are difficult - let alone finding out who a container is talking to on the network or tracking malicious activity. This presentation covers the current state of the art for container monitoring and visibility, including real use-cases and pros / cons of each. The focus is on advanced container visibility techniques, such as: * visualizing a container’s network activity * understanding detailed resource usage (CPU, memory and disk I/O) of containers and individual processes running inside containers * following process and user activity inside containers * collecting logs from multiple containers The presentation features live interaction with container environments and live demos of all the tools and techniques discussed. Special emphasis is put on sysdig, an open source container and system troubleshooting tool.
DevOps;Discovering DevOps: A 10k Foot View of Gogo DevOps;Every organization has their own definition of DevOps, and it is important that it is discovered naturally. Wherever you are, though, there's a wide range of tasks and activities that need to be addressed on a day to day basis that drive things like site reliability, release engineering, organizational efficiency, and much more. By instituting a DevOps culture, it's possible to simplify or entirely eliminate many of the Yak Shaving tasks that make safe change hard. There are many approaches to solving these problems but sadly, it's not as simple as saying 'DevOps' three times, or installing a particular piece of software, or sending all of your developers away to a class. At Gogo, we found that DevOps was a culture shift, and we embraced the paradigm where responsibility for successful change is placed directly in the hands of developers. During this session, Alex King will talk about Gogo's journey to this new world and will how our tooling, organization, and outlook have evolved over time. Join us to hear about the lessons we learned along the way.
DevOps;Jenkins Pipeline, Jenkins 2.0 and Beyond;Jenkins Pipeline is a game changing way to write automation jobs with Jenkins. Pipeline supports from simple one-step hello-world type jobs to the most complex parallel pipelines or Docker operations like creation or publication of images. Best of all, they support manual/automated intervention and also an extension mechanism to avoid the DRY effect on your build pipeline. Combining Jenkins Pipeline with Docker can seriously reduce friction in your DevOps efforts. But Jenkins Pipeline is not the only new thing that are in Jenkins 2.0, there is also UX improvements better out-of-the-box experience and a new website. Come to this session to learn what’s new in Jenkins 2.0 and how you can improve your Continuous Delivery Pipeline with Jenkins Pipeline as well as see what is coming after Jenkins 2.0.
DevOps;Kubernetes automation in production;Kubernetes is a great tool to run (Docker) containers in a clustered production environment. When deploying often to production we need fully automated blue-green deployments, which makes it possible to deploy without any downtime. We also need to handle external HTTP requests and SSL offloading. This requires integration with a load balancer like Ha-Proxy. Another concern is (semi) auto scaling of the Kubernetes cluster itself when running in a cloud environment. E.g. partially scale down the cluster at night. In this technical deep dive you will learn how to setup Kubernetes together with other open source components to achieve a production ready environment that takes code from git commit to production without downtime.
DevOps;Immutable Infrastructure: Rise of the Machine Images;The cloud is the new normal and it is time to rethink how we see machines and deployments. We have been piling layer upon layer of complexity for too long. But why should it be this way? It is time to radically simplify all this. In this talk, we'll throw general-purpose operating systems, snowflake servers and runtime provisioning out the door. Instead you'll see how servers become disposable, how machine images are generated from scratch in seconds and how to achieve perfect environment parity from dev to prod. This is Immutable Infrastructure. It is a profoundly important change as to how we view and treat our systems. We'll go deep. We'll look at how this affects scaling, logging, sessions, configuration, service discovery and more. We'll also look at how containers and machine images compare and why some things you took for granted may not be necessary anymore. But beware, neither sacred cows nor kittens will be spared!
DevOps;Zero downtime continuous deployment architecture;The importance of being able to do small and frequent deployments is well understood by most of us. Being able to do those deployments during daytime, without downtime, can typically be solved by so called blue-green deployments. But what if you need to do database changes in addition? Join my talk if you are keen to learn how to manage day time deployments with database changes without causing any interruptions.
Frontend;Are you botching the security of your AngularJS application?;If you make a list of popular JavaScript MVC frameworks, AngularJS is probably at the top of the list. Developers around the world are crazy about the Angular way of doing things, and love how easy it is to write AngularJS applications. However, few people know that AngularJS packs a lot security features, right out of the box. Unfortunately, because many developers are not aware of these security features, they are often unintentionally circumvented, or not used to their full potential. For example, think about common advice on Stack Overflow to turn off the protection against cross-site scripting (XSS) attacks, just so you can directly bind HTML data to a variable. In this session, you will learn how to leverage AngularJS' security features to their full potential. Specifically, you will learn how AngularJS applies Strict Contextual Escaping (SCE) against XSS attacks, and how to relax that protection in a safe way (instead of turning it off). We also cover the advanced Content Security Policy (CSP), and AngularJS' built-in cross-site request forgery (CSRF) protection mechanism. We mainly focus on AngularJS 1.x, but also relate the concepts to AngularJS 2 where relevant.
Frontend;ROCA: Why you shouldn’t build Web UIs the way you do;Many people who build web UIs go about it the wrong way without knowing about it – and popular frameworks don’t help. In this session, we’ll take a look at the architectural patterns that form the foundation of what makes the browser unique, explore how a developer can use them to build better web UIs using the framework-less style known as ROCA – and see how relying on less fancy tooling can lead to user experiences that are actually vastly superior in many ways.
Frontend;Zen & The Art of Angular 2;Angular 2 is a full platform that encompasses the needs of our developer community. Most successfull product teams have investments across web, mobile web, installed mobile apps and even installed desktop applications - Angular 2 supports all of these things. In this session we’ll focus on how we're addressing the full space of development needs in Angular 2 and talk a little bit about what’s to come.
Frontend;Progressive Web Apps;The mobile is now ubiquitous and we all ask the question of choice of implementations. Native , hybrid or webapp, each solutions has on these benefits and drawbacks. But if there was an intermediate solution , more progressive to combine the best of three worlds. We'll see how progressive webapps propose to take up the challenge to emerge as an implementation solution for our mobile projects.
Frontend;Better performance with HTTP/2;The HTTP/2 protocol is the latest evolution of the HTTP protocol addressing the issue of HTTP/TCP impedance mismatch. Web applications have been working around this problem for years employing techniques like concatenation or css spriting to reduce page load time and improve user experience. HTTP/2 is also a game changer on the server enabling increased concurrency. This talk will focus on the impact HTTP/2 will have on the server and examine how particularly well adapted the Vert.x concurrency model is to serve HTTP/2 applications.
Frontend;Extending JS;React, Angular, TypeScript… Over the past few years, all these names took part in a fashionable phenomenon, pushed by the big names of the web industry. But what if a parallel world exists beyond this marketed mirror? A better world where you can easily build flexible applications with reusable components. Bourre will explain the right philosophy for building flexible applications with reusable components. As well, he will showcase the right tools to better achieve these goals, pushing forward the limits of the JS eco-system.
Frontend;Angular2 and Redux - up & running;Redux is an architectural pattern inspired by Flux, which introduces a unidirectional data flow and a predictable state container that scales. This talk will focus on Redux, including when to use it and how it can be used with Angular2, based on my personal experience implementing this pattern in a real-world application.
Frontend;Get started writing TypeScript today!;There are two big discussions in the world of programming. Tabs vs. Spaces and statically-typed languages vs dynamically-typed. TypeScript is Microsoft’s approach to add a stronger type system to JavaScript while making both camps happy. Let's not jump into the never-ending debate to what the better approach is, but instead focus on when you should use TypeScript and how you can start using TypeScript in your projects today.
Frontend;Unlock the power of JavaScript Decorators;Decorators are powerful but sometimes misunderstood language features of JavaScript. During this session we will learn what decorators are, why they are used, and how take advantage of them in practice. We will explore the use of decorators in Angular2, and learn how to create our own decorators.
Frontend;Scaling applications using AngularJS and TypeScript;The future of web development is component based. Building your application in a modular way using decoupled components gives you the power to reuse code and increase testability. This talk is going to walk you through main features in angular 2 and explain the benefits of using TypeScript when implementing your applications.
Frontend;Understanding Angular 2;Angular 2 is a complete rewrite of the AngularJS framework, which introduces new approaches and leverages the latest technologies. Simplifying and generalizing core concepts, the performance is improved and the range of capabilities is broadened. In this session Shmuela will help you understand the core concepts of Angular 2 apps: the component-based architecture, dependency injection, change detection, and more.
Frontend;Universal JavaScript Web Applications with React;Since we started to see JS on the server side, the dream of developers has been to reduce the gap and the cost of switch between frontend/backend. Today with Node.js, React and a whole ecosystem of tools, this dream is becoming true! In this talk I am going to discuss about Universal (a.k.a. Isomorphic) JS and present some practical example regarding the major patterns related to routing, data retrieval and rendering. I will use Node, React, Webpack, Babel and React Router and give you a series of example to get you started easily with this new technology trend.
Frontend;React - render() to DOM;Understand how React really works. What happens between our call to setState() and until we see things change in our browser. This is a more advanced talk for developers familiar with React.
Frontend;Next generation of frontend architectures;Will Reactive programming be the default choice for modern apps? When would you want to use event emitters as opposed to event streams with operators? In this session you'll find the answers to those questions and much more! If you want to learn more about Reactive Programming that's exactly the session for you!
Frontend;Next generation of frontend architectures;If you're puzzled by the newest generation of frontend architectures, you're not alone. Will Reactive programming be the default choice for modern apps? When would you want to use event emitters as opposed to event streams with operators? Luca Mezzalira answers these questions and more as he provides a detailed tour of frontend architectures, including where they've been and where we're headed. Luca will begin with an overview of architectures from MVC, MVP, and MVVM to the modern component systems like Flux and React. You'll take a look at the evolution of architectures, beginning with a central event emitter or publish/subscribe system that's currently used in JavaScript libraries and frameworks. You'll contrast these with Reactive programming and channels communication that's offered by CSP (Communicating Sequential Processes). By the end of this session, you'll understand if and when to use each particular paradigm. Specific topics include: A review of current event-driven architectures CSP and Transducers An introduction to Reactive programming How to use streams MVI and other reactive architectures
Frontend;Angular, Typescript and RequireJS: The great alltogether;You will come across AngularJS to structure your application logically, do databinding and create a responsive single page application. RequireJS is used to do lazy loading of JavaScript files and to get some much needed dependency management within JavaScript. But RequireJS and JavaScript can be very complex. JavaScript is not a very simple language to write your logic in! It is not object oriented, it is weakly typed and it has lot of strange language constructs! Typescript is a new scripting language based on ECMA 6. It will give you true object orientation, strong typing and built in support for modules with RequireJS. And it compiles to just JavaScript so it runs in any browser! In this session I will explain how we used Angluar, TypeScript and RequireJs to create interactive web applications. You will learn how these three technologies work together and I will explain our best practices when building these front-ends. Iwill be showing some of our real life applications to explain the different concepts.
Frontend;Typescript - now you have no more excuses.;We all at least heard of this language called Javascript, created in mythical 10 days with it's famous bad and good parts. It usually feels weird and uneasy to seasoned Java/JVM developers if one has to deal with it: no compiler safety-net, no types checking, prototypal inheritance, unexpected runtime errors etc. Truth is these days Javascript is everywhere and it really pays off to be able to work on this platform. But what to do if you feel really uncomfortable with the language itself? Meet Typescript and feel at home: compiler, types, class-based inheritance, interfaces, generics and other goodies. I'll show and try to convince you that writing client stuff as well as solid backends in Typescript can feel familiar to Java/JVM developers, be productive and fun.
Frontend;Become a Frontend Developer Ninja using HTML5, JavaScript and CSS3;Practice makes perfect. That works in every field. But in the frontend development domain it's crucial to choose and invest your time on the right techniques, tools, libraries, frameworks, as well as methodologies if you want to incur the least amount of overhead. In this talk the speaker takes you through a productive tooling, libraries, frameworks eco-system required to develop modern and robust Web applications easier.
Java Language;Twelve Ways to Make Code Suck Less;We all have seen our share of bad code and some really good code as well. What are some of the common anti patterns that seem to be recurring over and over in code that sucks? By learning about these code smells and avoiding them, we can greatly help make our code better.
Java Language;Designing for Performance;"What does it really mean to design software for high-performance? Performance is such a generic and misunderstood subject. In this talk the subject of software performance will be explored. We will focus on what is means to achieve sufficient response times, throughput, and scalability. Once the theory is out of the way we will dig into how modern hardware works and what we need to know about abstractions mapping to our software designs. These abstractions are the key to the models our code represents. The author has not meet many abstraction layers he did not enjoyed violating. There is a good reason for this. So many of our abstractions are leaky or just plain wrong."""""""
Java Language;Thinking In Parallel;"The Java 8 Streams library makes it easy to run code in parallel. A common error is code that works when run sequentially but that misbehaves when run in parallel. This is often caused by programmers who are stuck in a mode of imperative, left-to-right thinking. This leads to an iterative style where data is mutated, and where the next result depends on the result of the previous computation, creating barriers to parallel computation. This presentation covers alternative programming technique called """"array programming,"""" where operations are applied on data aggregates instead of individual elements. It also includes examples and demonstrations that illustrate these techniques and how they lead easier-to-understand, parallel-ready code."
Java Language;Javaslang - Functional Java The Easy Way;This talk will introduce you to Javaslang, a library that borrows heavily from Scala and applies Scala's ideas to plain old Java. We will cover some of the productivity enhancements and syntactic sugar that Javaslang offers, such as pattern matching aka. structural composition, value types and functional data types. Javaslang can be a building block for functional business code, that is easy to maintain and understand.
Java Language;Optional - The Mother of All Bikesheds;"The Optional class was introduced in Java 8 in order to solve a narrow but frequently occurring problem: what to return if you have nothing to return. It is a single class with less than 20 methods, but it turns out to have been one of the most controversial and most misunderstood APIs, having generated several ""centithreads"" of discussion on OpenJDK mailing lists. Indeed, Brian Goetz (Oracle's Java Language and Libraries Architect) has mentioned that one aspect of Optional was his biggest mistake in Java 8. Optional is also one of the more widely misused APIs. A brief survey of OpenJDK code revealed several embarrassing examples of Optional usage, and expert Java programmers have admitted to not making the most of this API. This session covers the history and rationale of Optional, provides recommendations and examples of proper and effective usage, shows several antipatterns and code smells and how to fix them, and finally describes some current and proposed work on Optional for Java 9."
Java Language;Java Collections: The Force Awakens;A long time ago in a galaxy far, far away... Java open source developers managed to the see the previously secret plans to the Empire's ultimate weapon, the JAVA COLLECTIONS FRAMEWORK. Evading the dreaded Imperial Starfleet, a group of freedom fighters investigate common developer errors and bugs to help protect their vital software. In addition, they investigate the performance of the Empire’s most popular weapon: HashMap. With this new found knowledge they strike back! Pursued by the Empire's sinister agents, JDuchess races home aboard her JVM, investigating proposed future changes to the Java Collections and other options such as Immutable Persistent Collections which could save her people and restore freedom to the galaxy....
Java Language;Refactoring to Java 8;While we’re drawing ever closer to Java 9, and even hearing about features in Java 10, it’s also true that many of us are still working with an older version. Even if your project has technically adopted Java 8, and even if you’re using it when coding new features, it’s likely the majority of your code base is still not making the most of what’s available in Java 8 - features like Lambda Expressions, the Streams API, and new Date/Time. In this presentation, Trisha will: - Highlight some of the benefits of using Java 8 - after all, you’ll probably have to persuade The Management that tampering with existing code is worthwhile - Demonstrate how to identify areas of code that can be updated to use Java 8 features - Show how to automatically refactor your code to make use of features like lambdas and streams. - Cover some of the pros and cons of using the new features, including the impact on performance. At the end of this session, you’ll have a better idea of when refactoring can easily be done, and when it may NOT be a good idea.
Java Language;Project Jigsaw: Under The Hood;The goals of Project Jigsaw are reliable dependencies and strong encapsulation, but what does that mean precisely? This session explains the process of module resolution in JDK 9 and shows how it avoids errors relative to the class path in JDK 8. It also explores the double-edged sword of modular accessibility, where the ability to hide a module’s internals must be balanced against the needs of frameworks that perform reflection. Prepare for a deep dive into module graphs, class loaders, unnamed modules, and the once and future king, setAccessible.
Java Language;Lambda Puzzlers;What is the difference between capturing and non-capturing lambdas? What are some of the considerations of using Lambdas in a distributed system? ie. serializing lambdas. How can an API which is not designed for lambdas take advantage of them? How/Why can they be use anonymous inner class and enums as a replacement for a Lambda,
Java Language;Introduction to Modular Development;This session provides a gentle introduction, with examples, to the Java Platform Module System in JDK 9. You will learn the basic concepts of the module system and be introduced to the modules that are built into the Java platform. You will also find out how to develop a module from scratch and how to compile, test, and run it.
Java Language;Ask the JDK Architects;Bring your favorite questions about Java SE and the Java Development Kit—past, present, or future—to this open Q&A session with key architects from Oracle's Java team.
Methodology & Architecture;Effective Service API Design;Increasingly the Web isn’t just for humans and browsers. It’s for programs too. Network endpoints (often but not always HTTP based) that are designed for access by programs rather than humans form an increasingly large part of today’s computing infrastructure. Systems as diverse as Google Adsense, Amazon Web Services, Twitter, and thousands of others expose information for programmatic consumption in XML, JSON, protobufs, and other formats. This talk explores the characteristics of a useful remote API that attracts developers and business to your service. We’ll talk about addressing, encoding, documentation, client libraries, authentication, authorization, deprecation, error handling, versioning, and more. We'll explore what makes a remote API different than a local one. In particular we’ll talk about language agnosticism, the necessity for excellent documentation, and a clear commitment to clients. From the other side, we’ll discover which APIs are safe and useful to depend on and which are too unstable and unreliable to build on top of.
Methodology & Architecture;Microservices Evolution: How to break your monolithic database;Microservices are the current big thing and most of the current technologies seems to be a fit for greenfield projects. Unfortunately the great majority of developers can't build something from scratch and have a big legacy database with multiple relationships. The code usually is the easy part. The question that every enterprise developer asks is: what about my database? Come to this session to learn the required database refactorings, architecture and deployment strategies that will enable you to split your big monolithic database into Microservices. And downtime is not an option! We'll show how we need to encompass code, architecture, DevOps and infrastructure altogether to accomplish this awesome evolution of your application with your database.
Methodology & Architecture;Declarative Thinking, Declarative Practice;Do this, do that. Coding from assembler to shell scripting, from the mainstream languages of the last century to the mainstream languages now, is dominated by an imperative style. From how we teach variables — they vary, right? — to how we talk about databases, we are constantly looking at state as a thing to be changed and programming languages are structured in terms of the mechanics of change — assignment, loops and how code can be threaded (cautiously) with concurrency. Functional programming, mark-up languages, schemas, persistent data structures and more are all based around a more declarative approach to code, where instead of reasoning in terms of who does what to whom and what the consequences are, relationships and uses are described, and the flow of execution follows from how functions, data and other structures are composed. This talk will look at the differences between imperative and declarative approaches, offering lessons, habits and techniques that are applicable from requirements through to code and tests in Java and other languages.
Methodology & Architecture;Testing Legacy Code;You've been bitten by the testing bug, are thoroughly test infected. Excellent! You're undoubtedly producing more robust, less buggy software faster and at lower cost. Sadly, it wasn't always this way. You're saddled with a large legacy of untested code. Test first development is not an option. Nonetheless unit testing, JUnit, and test driven development can still dramatically improve your maintenance tasks. Learn strategies for retrofitting test frameworks onto existing code, and developing a test suite for code that never had one before.
Methodology & Architecture;Our take on agile;Lowercase 'a' in agile? Blasphemy! Not really. Agile is about being agile, and willing to change, not about following any methodology in particular. During this presentation we'll talk about our process, how we adopted lean thinking over Scrum or any other 'instant' process, and managed to shorten time to market 2x for big features in two latest iterations. Best part is that it keeps getting shorter with each iteration. A big feature used to take us 45 days to develop. Releasing a feature of equivalent complexity now takes about three weeks on average. This is from the start until the moment a finished product is available to the customer (only DoD that matters to us). It includes kick-off, development, testing, code review, documentation, staging, release and announcement. From our perspective, that’s a 100% increase in productivity. We accomplished it with the same resources and people - the only difference being constant retrospectives and improvement of the way we work.
Methodology & Architecture;Why not Agile?;I have asked over 30 senior managers from the FinTech sector (CIOs, Project Directors, Procurement Department Directors, General Counsel) one question – WHY NOT AGILE? During my presentation I will provide the answers, try to identify the legal risks and/or fears and look for some simple solutions. I hope that the combination of fears actually declared in the market, combined with potentially simple solutions will be useful for Agile practitioners when speaking to potential clients in the market.
Methodology & Architecture;Effective TODO selection: A Kanban story;In my talk I would like to discuss how our team evolved the way we select items that go from the backlog to the TODO column. Over the course of 18 months we tried out various way to organize our backlog and find ways to optimally pull work items into the TODO columns. We iterated on the size of TODO, it's composition, the frequency of the updates and how TODO and the backlog were visualized. I would like to focus on the mistakes we've made and how we overcame them to find a lean process that emphasized completing items of greatest value to the customer and the team.
Mobile & Embedded;Testing made sweet with a Mockito;The past year has been huge for Android testing: Testing support lib, fast JVM unit tests, Espresso test recorder... Having such great tools means writing tests is a breeze! All your apps currently have >80% code coverage, right? Yay! Or wait... is it really? Is all your common logic (networking, databases,...) tested? Do you isolate parts of your code base to keep your tests small? And what about providing relevant testing data? In order to achieve this, you need to make use of mocks and stubs. And that's exactly what this talk will be about: What is a mock? What's the difference between a mock and a stub? Are mocks the only way to provide relevant data for your unit tests? What do I do with all the final classes/methods in the Android SDK? How do I architect my app to make it easier to test? ... After having adopted TDD as my main development workflow for almost a year now, I feel comfortable saying everything can be tested. Its just a matter of having someone experience show you how.
Mobile & Embedded;How Angular Makes the Mobile Web Awesome;Building great mobile experiences using the web can be a difficult challenge. Learn about the ways that Angular makes building great mobile experiences easy.
Mobile & Embedded;Mission to Mars: Exploring new worlds with AWS IoT;Would you like to explore new worlds with your connected devices? In this presentation we will build a simple robot and connect to it remotely, receiving data and sending instructions over the internet. Just like the Pathfinder spacecraft and it’s Sojourner Mars rover, our little robot will boldly travel into uncharted territory. In a live demo, our robot will explore the session room and transmit all kinds of sensor data. We will visualise that data in a web UI. With the Mars robot use case, we explore the capabilities of the Amazon IoT platform. AWS IoT comes with easy to use APIs and arranges secure communication with our robot. It also provides neat features like a rules engine and ‘device shadow’. Even when our robot is offline, device shadow makes it very easy to retrieve its latest status. And last but not least, for small scale use, AWS IoT is totally free. Are you curious about how to connect your devices to the cloud? Take this journey and find out if this mission will lead to new discoveries.
Mobile & Embedded;Effective Android dev;I would like to present the techniques, tools & process that we employ during our daily work to build high-quality apps for our clients. Not a code-heavy, deep-down into our architecture kinda talk, but a high-level behind the scenes about our process to move from prototyping to design and to production. We want to stay nimble during development, and quickly iterate over features, which we like to accomplish through frequent releases, often paired with A/B testing. At the same time, we are convinced that building robust applications is helped with a Continuous Delivery setup where we highly value an automated test strategy. Working in an agile way while focusing on good architecture, testing and reporting took us some effort, and I’d like to explore how we run our projects trying to be as effective and collaborative as possible...
Mobile & Embedded;Android Architecture Blueprints;The Android framework offers a lot of flexibility when it comes to defining how to organize and architect an Android app. This freedom, whilst very valuable, can also result in apps with large classes, inconsistent naming and architectures (or lack of) that can make testing, maintaining and extending difficult. There are many different options, following different patterns and embracing different programming paradigms. Android Architecture Blueprints (https://github.com/googlesamples/android-architecture) is meant to demonstrate possible ways to help with these common problems. In this project we offer the same application implemented using different architectural concepts and tools. With more than 8000 stars in Github, numerous devs are using this sample to build upon for their own projects. This talk will go though the motivations, findings and numbers extracted from these various approaches which will help choosing which one works best for you and your team.
Mobile & Embedded;Developing for Smart TVs;Once upon a time, there was backend and frontend development and that was basically it. On the frontend side today, there are a lot of different platforms beyond just web and desktop. Native mobile development for smartphones created a whole new market for developers to reach. Last year, we talked about the Internet of Things and more specifically smartwatches. Now we are back with another world: Smart TVs. Both Apple and Android are now offering very rich development platforms for building and distributing apps that users can consume in a completely different context. This presentation will compare Apple TV and Android TV development environments, what is common to what you may already know, what is completely new, the constraints and opportunities created by this brand new channel. We will use the development of TVoxx as a source of code samples.
Mobile & Embedded;IoT enabled Bee health;Save the Bees is a project that aims to address the problems afflicting the global bee population through the usage of IoT technologies. Bees are an essential element of our food supply chain. A large percentage of crops depend on them for pollination. Our approach is to develop an edge-to-edge solution, i.e., from the sensing edge to the cloud edge. We will instrument the beehive so that we can follow the health of the colony as a whole, and provide all the software that powers the layers from the sensor network to the cloud. We will demo our basic solution and talk about upcoming plans.
Mobile & Embedded;Make your own USB device for free!;USB is considered by many people to be some kind of black magic. During this talk Krzysztof is going to smash this urban legend and show that creating custom USB devices may be both fast and easy! The goal of this presentation is to create our own USB device on a cheap linux board. To do this we will start with some brief introduction to USB protocol. Then we will run through its Linux implementation. The next steps are open source projects which support users in creating their own USB devices using existing kernel infrastructure. Each part is supported by a suitable demo.
Mobile & Embedded;Let’s demystify IoT for Java developers (with a drone!);During this session we will build a full-stack cloud based IoT system from scratch. We gather data from a flying drone, publish the data to the IoT system, deploy a beautiful IoT dashboard web app and send two-way commands back and forth between the cloud and the drone. All of this is done step-by-step from Java developer’s point of view to really demystify IoT. And because learning can be fun, we’ll be flying a drone as the IoT device and spice it all up with some social media for the audience to take part. Technologies: Mosquitto MQTT broker, Eclipse Paho MQTT messaging, Vaadin UI Framework.
Mobile & Embedded;New connectivity feature for IoT: API with multi-network SIM cards.;An implicit goal of developing applications is to increase the quality of life. The proposal idea is the “wherever SIM” that provides the network coverage wherever devices may roam, has its own independent cloud based network, extremely scalable and global. SIM cards and endpoints can be easily managed in real-time via the intuitive user-interface or directly from the customer’s software application via an easy-to-integrate API for SIM cards. Key features, development and implementation stages, as well as code demonstration, use cases will be discussed.
Mobile & Embedded;ReactNative for iOS developers: should we care?;You've probably heard about ReactNative, this shiny new framework created by Facebook, that allows you to write native mobile apps for iOS and Android using JavaScript. So what? I'd like to show you what ReactNative is, from the perspective of an iOS developer who's always been wary of weird development tools. We have Swift, we may miss ObjC sometimes, but JavaScript... seriously? Let's decide together if we should care or not.
Mobile & Embedded;Increasing Android app security for free;Secure Development of Android App sometimes requires the use of third party libraries and external frameworks, often expensive or hard to quickly update if vulnerable.The Android SDK and Google Play Services provide security features and services, that allows a developer to take advantage of security enhancements in order to increase the security level of an application.The talk, starting from real common threats, will show how some of these features can be used into the different versions of Android, until the newest Nougat, to mitigate security risks that could afflict a mobile application.
Mobile & Embedded;Functional Reactive Programming with Kotlin on Android;Reactive programming is a paradigm oriented around data flows and propagation of changes. Kotlin is a programming language intended to be a better Java, and it's designed to be usable and readable across large teams with skill and discipline variances. Despite its object-oriented building blocks, Kotlin fits well in the functional reactive programming landscape. In this essay, I will deep-dive into the most relevant aspects of FRP in Kotlin focusing on the advantages that everyone can get when using this approach to build an Android app.
Mobile & Embedded;Android Testing Support Library: The Nitty Gritty;8 years since Android’s been released we finally have a proper Google-supported solution for testing in the Testing Support Library. We’ll go through the various stages of it, explore it’s (not so) hidden features and learn how to use it to build better apps. We will cover things such as (breaking the) test Rules, (outrunning the) test Runners and how to make most of tools such as Espresso & Firebase Test Lab.
Mobile & Embedded;Developing custom Android device;During the presentation we'll go through all aspects of what needs to be done to run Android on a custom hardware. The example used in the presentation will be Ray universal remote (www.ray.co) and NXP/Freescale iMX6 platform (http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx-6-processors/i.mx6qp/sabre-platform-for-smart-devices-reference-design-based-on-the-i.mx-6-series:RDIMX6SABREPLAT). We'll go through adaptation of bootloader (U-Boot), writing drivers in kernel and defining the device tree for custom hardware, and in the end modification of Android framework and expanding SDK for custom peripherials.
Mobile & Embedded;Open stack for building end-to-end IoT solutions;The session will start by covering the general architecture of end-to-end IoT systems and describe in more details the role of every component. Next, it will dig deeper into all the components and explain open source projects that implement them. For example, we will see what are field gateways and how Eclipse Kura project implements those functionalities. IoT server connector's role will be described next and we'll see how Eclipse Hono helps connecting devices to the cloud. Finally, we'll examine an architecture of the IoT Cloud and see what it takes to handle and manage large number of devices. We’ll see how all IoT cloud concepts are defined and implemented in Eclipse Kapua project.After this session, you'll have the big picture of how to connect devices to the cloud in scalable way and what open source projects to use to achieve that.
Mobile & Embedded;Your Favourite New Language - The Future of Swift;I will cover: What can be accomplished with 'open' Swift What's missing from 'open' Swift Back end Swift and MVC Swift on non-Mac desktops Swift on non-iOS obile devices Extending Swift What's next?
Programming languages;How to Create a New JVM Language in Under an Hour;In this session, we'll create a new programming language called DevoxxLang! We'll construct its grammar, semantics, operations and the interpreter for the language. Additionally, we'll learn about parsers and how to perform simple optimizations, both at compile time and otherwise. Most importantly we'll tackle the interoperability problem with the underlying platform, which in our case is the JVM. This session will briefly discuss type systems, optimizations, memory management and concurrency issues that programming languages all encounter. Have you ever wanted to create a programming language of your own? After this session, you will have seen all the tools you need to do so and will understand more about how are programming languages work including the challenges you’ll face.
Programming languages;Elixir - Easy fun for busy developers;Did you ever want to create an application that is never down? Have you ever been jealous of those Erlang guys, that produce applications that practically never fail? Have you tried Erlang and fled because of its baroque syntax and tooling? Enter Elixir! Elixir combines Ruby's love for programmers with the absolute power that is the Erlang platform. This talk will introduce Java programmers to Elixir and OTP. You will gain an understanding of what Elixir brings to the table and how to build highly scale-able systems with a toolset that is actually fun to use. Even if you will never use Elixir and OTP for you projects, you will learn some of the concepts, that make Erlang into such a powerful ecosystem.
Programming languages;Rust as a support language;Up until now, the go-to language for low level, performance oriented code was C, or C++. Last year, Mozilla publicly released Rust, a language designed for safe memory manipulation, providing high level tools for low level development. It has since proven a good language to build the basic bricks of a system, and replace some C plugins for various language with safe and readable code. I will present in this talk various techniques I use to rewrite parts of a project in Rust, and the benefits you can get from applying it to your own projects.
Programming languages;Functional patterns for scala practitionners;Scala, by being both Functional and Object-Oriented is easy to get started with, especially for java developpers. However, to get the most of the language, you have to embrace its functional nature. In this session, I'll show you how to start using scala's functional nature by presenting patterns originated in the functional world: Substitution model and everything is an expression Algebraic Data Types for data modelling Typeclasses for extensible abstractions Error handling in a composable fashion with Either and Validation Segregation between logic and effects for easier testing Property based testing
Programming languages;Sharing 2 years experience using Scala in a real project by a Java team;In Januari 2015 we started on a new project using Scala with a team which had hardly any Scala experience. In this talk I’d like to share insights and experiences during a 2-year journey of using Scala/Akka in a real project, how the team learned Scala and slowly found it’s way into functional programming. It will include some best practices, pitt falls and lessons learned in both using Scala and the interoperability with Java and Groovy. Some of the technologies we used are Akka, Spray, Finatra, Json4s, Neo4j
Programming languages;Off the Deep End: Haskell on the JVM;This is your chance of being the ultimate JVM hipster and use a language “before it was cool”. Frege is an implementation of the Haskell programming language on the JVM and was voted the most popular of the “upcoming languages” at last year's JavaOne conference. With Scala being the elephant in the functional programming room on planet JVM, can Frege be a serious contender? We'll have a look at what makes the language unique by walking through some simple code examples and then look at how Frege code can be called from Java and vice versa.
Programming languages;Kotlin - Ready for Production;Kotlin, a language developed by JetBrains for nearly 5 years is very close to its first release. However, did you know that it's being used in production for over a few years now already? Both inside and outside of JetBrains there are people deploying Kotlin applications for Android platform, for Web Applications and just about any other type of application. Why are people using it instead of Java or some of the other languages out there? Primarily because it provides significant benefits in terms of conciseness, readability and safety, without some of the drawbacks that adopting a new language has such as a higher learning curve or interoperability with existing code and ecosystems. In this talk we'll cover some aspects of Kotlin that can really help you in your daily development, focusing on solving issues versus highlighting language features.
Programming languages;Elm - Awesomesauce or just yet another language for the Front-end ?;Programming a web front-end is getting increasingly more complex. Some people are boldly suggesting that JavaScript is not the ideal language to handle this complexity. A compile step is already part of the workflow for most front-end development projects, so choosing a compile to JS language shouldn't be such a big leap. One of the many alternative languages available for the front-end that is well worth a look is Elm. Elm is a relatively young compile to JS language that has started to get quite a bit of attention in the front-end community. It is a statically typed functional language that is carefully crafted to be fun, easily approachable yet very powerful. In this talk you will get a quick introduction to the Elm language before diving in, to create a small sample application using Functional Reactive Programming principles. By the end of the talk you should have a better understanding of what Elm is about and why it might be worth considering for your future web front-end projects.