arrow_forward
menu
searchSearch

My sessions

Personal schedule
Time slot Event name Add to schedule
08.30
Jerry Nixon
Bringing Modern XAML to the Enterprise
Room: Homo Agitatus
Key takeaways
  • You will learn about core patterns
  • You will learn about techniques to control data quality and user experience

In this one day course, join Jerry Nixon and Daren May, as they continue training developers and guide you and your team through modern XAML building blocks and patterns for creating your enterprise solutions. XAML is declarative presentation technology common to WPF (Windows Presentation Foundation) and UWP (Universal Windows Platform). This course, while relevant to WPF, will primary focus on the innovations in UWP - the latest iteration of the XAML platform. In this course, you will learn about core patterns, fundamental controls, and techniques to control data quality and user experience. You will build a sample application exploring these concepts in a practical way. Leave with the knowledge, the sample code, and the industry relationships you can use today; get started with confidence.

About Jerry Nixon
addremove
08.30
Linus Kvarnhammar
Hacking & Protecting Web Applications
Room: Homo Analogus
Key takeaways
  • Learning the fundamentals of web application hacking
  • Being able to identify and exploit the most common security vulnerabilities affecting today's web applications
  • Become familiar with the tools used by hackers
  • Learning how to harden web applications against attackers

The following topics will be covered:

* Injection vulnerabilities

* Authentication, Authorization & Session managment

* Cross-Site Scripting and Cross-Site Request Forgery

* Protecting sensitive data at rest and in transit

* Protecting against active attackers

* And more...

This workshop will contain several hands-on exercises so bring a laptop.

About Linus Kvarnhammar
addremove
08.30
Johannes Pelto-Piri
Going Serverless - workshop
Room: Homo Digitalis
Key takeaways
  • Hands on knowledge of serverless development on AWS
  • Pros and cons of serverless applications
  • Best practices on how to develop serverless applications
  • Recognize when serverless is a good fit for your backend application

Serverless is one of the hottest new buzzwords, and for good reasons. Developers fancy the rapid development and ease of deployment, DevOps like features such as auto scaling and virtual hosting without worrying about the underlying operating system and infrastructure. However, serverless applications requires a different mindset compared to traditional backend development. Join us as we explore how to use and benefit from these new capabilities.

In this workshop, we will show how to apply a serverless approach to develop applications hosted on AWS. We will develop an application that contains a web app with a serverless backend. Additionally, we will also discuss best practices, use cases, and implementation guidelines for working with serverless architectures. We will use AWS Lambda, S3, CloudFormation and other AWS services.

Prerequisites:

- A laptop

- JavaScript knowledge

- A bash terminal with AWS CLI installed (e.g. Git Bash for Windows, OS X, Linux)

About Johannes Pelto-Piri
addremove
08.30
Ray Tsang
Hands-on with Kubernetes - from basic to advanced features
Room: Homo Erectus
Key takeaways
  • Deploying & managing microservices with container & orchestration
  • Rolling update services w/o downtime
  • Configuring microservices applications
  • Provisioning volumes for stateful container workloads

Today's technology is moving fast towards using containers and managing a fleet of containers. This session will give hands-on experience with creating containers using Docker and deploy a fleet of containerized Java microservices into Kuberenetes. You'll get to: - Build a Java microservice - Build Docker container - Deploy the container into a private container registry - Deploy a fleet of containerized microservices - Learn service discovery - Perform rolling update, canary, and roll backs

In addition, we will also explore advanced features such as: - Secret - securely give your application the credentials and configurations - Daemon set - run the same workload across all of the cluster nodes - PetSet - running stateful applications such as Cassandra or Zookeeper - Persistent volume / claims - store persistent data using volume mounts in the pods - Health checks - check to see if your application is alive and ready to serve traffic - Autoscaling - automatic horizontal pod scaling using CPU utilization metric

The lab can be self-paced - pick your own adventure depending on how familiar you are w/ Kubernetes.

About Ray Tsang
addremove
08.30
Christoph Jentzsch
Ethereum blockchain for developers
Room: Homo Ergaster
Key takeaways
  • Get insights into the Ethereum blockchain technology and Solidity programming language
  • Understand the difference between private and public blockchains
  • Learn how to build a decentralized network
  • Profit from several best practices to develop secure smart contracts

Hello, developers!

Use this workshop as a hands-on opportunity to learn how to work with Ethereum blockchain technology and smart contracts.

For instance, you will learn more about:

- Public and private key infrastructure

- Types of accounts

- Distributed Ledger Taxonomy

- Bootstrap of a private chain

- Smart contract variables

- Error handling in smart contracts

- Smart contract attacks

Feel free to bring you laptop, so you can try out things you learn on the fly.

Christoph Jentzsch looks forward to a great session with you!

About Christoph Jentzsch
addremove
08.30
Catherine Collins
Service Design in a Startup (how it sometimes works) : perspectives from a service designer and a developer
Room: Homo Habilis
Key takeaways
  • You will experience what it's like to include your customer in a feature build.
  • You will see when it makes more sense to start with a prototype of your feature and how prototyping can be a form of exploring and researching your customer's point of view.
  • You will experience what it looks like to converge and diverge during feature development.

In this workshop, participants will experience how to include your customers whether you're designing a new feature or making a usability improvement.

About Catherine Collins
addremove
08.30
Jorge D. Ortiz-Fuentes
Hands On Implementation of an Adv. Architecture for iOS
Room: Homo Sapiens
Key takeaways
  • Understand the architectural design patterns MVC
  • Understand the key components of the Clean Architecture and how they can be implemented in a mobile app
  • Write a full user story from scratch using an advanced architecture
  • Best practices when writing the code

During the workshop we will implement together one user story from scratch for a new iOS and/or Android application. Distribution of the contents and scope may vary slightly, in order to maximize the understanding of the bases.

- Architectural design patterns: MVX concepts

- Clean Architecture Concepts: Brief introduction in order to understand the pieces of the architecture and their implementation in iOS/Android.

- Implementation of the Interactor: Implement the first user story: show a list of data elements to the user. Define the first version of the immutable entities and transform them into immutable structures with the data to display.

- Implementation of the Presenter/event handler: Creation of the presenter that will talk to the view and present the data.

- Implementation of the View: How to make a dumb, but still useful view.

- A basic implementation of the entity gateway: Defer the decision of the persistence framework for later. Implement the minimum functionality in a basic object. Implications of the repository pattern.

- Connect the pieces and make it all work: Understand the way the pieces are interconnected and its memory management implications. Implement the required object, modify the App delegate and make it work with the storyboard.

- Proper connections. Writing a reusable way to connect the pieces and navigate.

- Review, Questions & Answers

About Jorge D. Ortiz-Fuentes
addremove
Personal schedule
Time slot Event name Add to schedule
9.00
Noah Falstein
The Real, the Virtual, and the Cortex
Room: Equality
Key takeaways
  • Learn about the future of AR and VR
  • Learn about Mixed reality

We are seeing the first fruits of Virtual and Augmented Reality, and the promise of Mixed Reality where virtual and real coexist smoothly isn’t far behind. Neuroscience is opening up new interfaces that may eventually result in plug-in “drouds” ala Neuromancer or The Matrix, but before we reach that point, neurogaming is letting us tap into the human sensorium in less invasive but equally dramatic ways, creating better games, allowing more empathic communications, and helping treat the ills of the world at the same time. The next 5 years are going to see the launch of technologies that may well prove to be as influential as the Smartphone or the Internet. Come with an open mind, and we’ll fill it!

About Noah Falstein
addremove
10.20
Christoph Jentzsch
Ethereum blockchain technology
Room: Homo Agitatus
Key takeaways
  • You will get a basic understanding of the Ethereum blockchain technology
  • You will get a sense for future developments connected to the Ethereum blockchain technology

Ethereum is an open-source platform for decentralized applications. The vision is to create a new web, the web 3.0, built on p2p protocols which will enable fully decentralized applications. After giving a summary about its history, Christoph will discuss current applications and give an outlook into the future.

About Christoph Jentzsch
addremove
10.20
Ray Tsang
Building fast and efficient microservices with binary protocol - an introduction to gRPC
Room: Homo Analogus
Key takeaways
  • REST is not the only choice
  • Binary is faster
  • Basics of gRPC and how to get started
  • Interesting things you can do

gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. gRPC is based on many years of Google's experience in building distributed systems - it is designed to be low latency, bandwidth and CPU efficient, to create massively distributed systems that span data centers, as well as power mobile apps, real-time communications, IoT devices and APIs. It's also interoperable between multiple languages.

But beyond that fact that it's more efficient than REST, we'll look into how to use gRPC's streaming API, where you can establish server-side streaming, client-side streaming, and bidirectional streaming! This allows developers to build sophisticated real-time applications with ease.

In addition to learning about gRPC and HTTP/2 concepts with code and demonstrations, we'll also deep dive into integration with existing build systems such as Maven and Gradle, but also frameworks such as Spring Boot and RxJava.

- Configuring projects to generate gRPC stub code

- Using Protobuf3 to define services

- Creating synchronous and asynchronous services, with streaming

- Load balancing

- Interceptors

About Ray Tsang
addremove
10.20
Scott Davis
It's Time for Web Components
Room: Homo Digitalis
Key takeaways
  • Web development is equal parts HTML
  • Semantics over Syntax is the new challenge. If your webpage is littered with DIVs and SPANs it is full of semantically empty calories.
  • There are standards-based solutions as well as non-standard (but still innovative) solutions. One of these will still be viable in a decade...
  • Modern web development in the 21st century is no longer

If you use Angular, you annotate your classes with @Component. If you use React, you extend React.Component. If you use Polymer, it's because you want "to make the most of Web Components, a powerful new platform feature for extending HTML and componentizing your apps."

If you ask me, it sounds like Web Components are kind of a big deal when it comes to modern web development.

In this talk, Scott Davis (Principal Engineer with ThoughtWorks) discusses the shift from page-centric architecture (think jQuery) to component-centric architecture (think encapsulated, reusable, domain-specific custom HTML elements). You'll learn about the four core W3C APIs baked into (nearly) every modern browser -- Custom Elements, HTML Imports, Templates, and Shadow DOM. You'll also see how several modern web frameworks apply their syntactic sugar atop these core platform technologies.

About Scott Davis
addremove
10.20
Sebastien Lambla
ReST 3.0 – A lap around HTTP Apis' next generation
Room: Homo Erectus
Key takeaways
  • Learn how to go beyond json
  • Discover the various technologies you can use to build better APIs
  • Evolve servers and clients independenty

As JSON continues to take over the world, many new specifications promise to deliver an easier way to create and evolve our APIs. After covering what problems ReST 3.0 tries to solve, we'll evaluate the specifications and tools we can leverage. To the cloud and beyond!

About Sebastien Lambla
addremove
10.20
Travis Spencer
Secure your APIs using OAuth2 and OpenID Connect
Room: Homo Ergaster
Key takeaways
  • Attendees will leave with an overview of OAuth 2 and OpenID Connect
  • Attendees will have gained knowledge of the basics necessary to using these standards
  • Attendees will also get resources and information sources where more information can be found

When opening up secure APIs, OAuth 2 and OpenID Connect are the primary standards being used today. Implementing and using these standards can be challenging. In this session, Travis Spencer, CEO of Twobo Technologies, will provide an in-depth overview of these standards and explain how they can be integrated into financial services apps. The overview will include information on:

The actors involved in OAuth and OpenID Connect

The flows used in the standards

What grant types are, which are defined, and the message exchanges of each

What scopes are and examples of their use

Different classes of tokens and how they are used

Overview of the OpenID Foundation’s work in the Financial API WG

About Travis Spencer
addremove
10.20
Ivar Grimstad
MVC 1.0 - The @Controller to the Community!
Room: Homo Habilis
Key takeaways
  • How to build web applications using MVC 1.0
  • Experience the power of community involvement

The story of JSR 371 is a story of a community stepping up when given the opportunity. MVC 1.0 may not be targeted for the upcoming Java EE 8 release, but the specification is still going on as a standalone specification and will be delivered

independently.

In this session, I will tell this story. I will go through the fundamentals of the specification and explain the core concepts. Of course, there will be lots of code samples showing how to use the framework to build MVC 1.0 applications.

There will even be demo of tooling support available.

After this session you will have everything you need to get started using the technology to quickly build secure, flexible, localized MVC Web applications.

About Ivar Grimstad
addremove
10.20
Chris Keathley
Telling Stories with Data Visualization
Room: Homo Sapiens
Key takeaways
  • Data visualizations always tell a story
  • Which means we have to be careful to not deceive others
  • You'll learn some fundamental guidelines for showing data without bias.
  • You will see how we can layer these concepts to tell compelling stories by showcasing the truth behind the data.

Data visualization lives in the intersection of art and science. Designing compelling visuals reveals information about our systems, and in turn allows us to ask new and more interesting questions. However knowing how to find the stories in our data is hard and knowing how to tell those story visually is even harder.

In this talk we'll look at historical data visualization techniques and discuss how we can apply them with modern tools. We'll also examine several case studies in order to understand the stories that they tell and the tools their creators used to tell those stories. Finally we'll discuss the role of bias in data visualization and look at techniques for creating compelling visualizations without deceiving our audience.

About Chris Keathley
addremove
11.20
Mark Smalley
Kill DevOps
Room: Homo Agitatus
Key takeaways
  • Define DevOps as the set of cultural norms
  • Explain the value of DevOps to business executives
  • Examine your value chain and discover whether your weakest link is in IT or the business
  • Adopt the right attitude to continuous learning and experimentation

There is much hype around DevOps, so what are we actually talking about?

DevOps improved Agile by speeding up deployment (and more). But how do you 'sell' DevOps to business executives who don't understand IT?

No business value is realized until the users actually use the systems well. This is often the weakest link in the IT value chain, so you need to extend your scope.

But why "Kill DevOps"? This refers to an ancient Zen saying about a monk’s journey towards enlightenment and awakening. If you think that you’ve found Buddha, think again, because you never will. It’s the same with DevOps: it’s about continuous experimentation and learning.

About Mark Smalley
addremove
11.20
Ali Kheyrollahi
Deep Learning for Developers
Room: Homo Analogus
Key takeaways
  • What is Deep Learning
  • Understanding key concepts
  • How to get started with TensorFlow

Deep Learning has taken the world of Computer Science by storm yet for many of us it remains an elusive sci-fi-like buzzword. After years of feature engineering in Computer Vision and Natural Language Processing, we have finally come to the point where, we can feed raw data to a Neural Network, similar to how our brains work, and expect results that can surprise us in their high accuracy.

This talk is about de-mystifying Deep Learning for developers many of whom could benefit from understanding and using Deep Learning in their day-to-day job. It covers the background and brief theoretical grounds in the first third but shows actual working code and examples in the rest. We will overview convolutional Neural Networks and then cover network design techniques such as pooling, dropout and local connections.

The examples of this talk are in TensorFlow and aimed to build real-world models in the field of Natural Language Processing.

About Ali Kheyrollahi
addremove
11.20
Mathew McLoughlin
Escaping the Big Ball of Mud
Room: Homo Digitalis
Key takeaways
  • How to avoid the Mud
  • And keep your code maintainable

Over the years I’ve seen many implementations of an n-tiered application with an anaemic domain model. You know the kind, presentation, service, data access layer. This architecture whilst quick to start building has its problems. Over time, as the application becomes more complex the codebase will become more and more difficult to maintain, often resulting in a ”Big Ball of Mud”.

In this talk I will present some ideas that address these maintainability problems using a solution with a domain model and command patterns to give you a clean extensible architecture. Further to this we will explore event sourcing and cqrs and the benefits they can bring.

At the end the you will have seen an alternative way of building business applications, especially those with complex business logic.

About Mathew McLoughlin
addremove
11.20
Niels van Hoorn
Functional Randomness
Room: Homo Erectus
Key takeaways
  • There are some interesting API's to be discovered in Apple's frameworks
  • What looks random doesn't have to be random at all

This talk is inspired by an excellent talk about Randomness by Natalia Berdys.

Where her talk mostly focuses on the theory of randomness, in this talk I will use playgrounds to explore the different types of randomness and their useful applications. Along the way we will explore a functional approach of combining different random sources.

About Niels van Hoorn
addremove
11.20
Georgiana Levinta
Moving Bug Prevention into the Interpersonal Space
Room: Homo Ergaster
Key takeaways
  • How the QA skills spectrum changes together with the process evolution.
  • How faster development cycles increase the need for excellent collaboration.
  • A few ways in which QAs can influence product quality by addressing team issues.

The QA role has changed significantly over the last few years, and it is now common practice to think of a QA as a coach. In this new light, QAs help prevent issues by working with the mindsets of developers early in the development phase, in order to introduce quality focused tasks in developers' everyday activities.

However, just being a task-coach is just the tip of the iceberg. Creating awareness and developing testing skills for teams that are continuously in flux, due to growth and scope expansion, is only part of the job.

The QA should continuously challenge the team to address misalignments, misunderstandings, unresolved conflicts, and ineffective process habits which could potentially result in bugs in production.

About Georgiana Levinta
addremove
11.20
Jerry Nixon
Implementing the new Navigation View control for Windows 10
Room: Homo Habilis
Key takeaways
  • You will learn about new controls in Creators Update
  • You will learn philosophy behind the Navigation View
  • You will learn how to implement the Navigation View
  • You will learn how to extend the Navigation View

Building XAML apps is easy, but building visually aligned apps that fit into the Windows ecosystem is difficult - at least it used to be. The most common design pattern is the Navigation View. With the new NavigationView control in Creators Update, app developers can build beautiful, feature-rich apps that look and behave like they belong to Windows. Apps that delight users and deliver on the promise of usability, accessibility, and the emerging Fluent aesthetic. This session will introduce the control as well as extend it for real-world scenarios.

About Jerry Nixon
addremove
11.20
Sean Grove
Finding joy in programming
Room: Homo Sapiens
Key takeaways
  • What's Reason
  • What makes Reason uniquely suited for bringing joy to certain classes of problems
  • Why now? OCaml is more than 20 years old
  • How can you get start using it today in your work and side projects?

When is programming intrinsically fun, and when is it laborious? What drives some developers towards the rapidly developing JavaScript ecosystem, while others flock to less-developed and more esoteric languages and ecosystems? What keeps us using metaphors and abstractions developed so many decades before, when we've spent so much effort designing clean-slate systems?

We'll look at this discussion through the prism of ReasonML, a new syntax and set of tooling around OCaml.

OCaml itself is more than 20 years old and is wildly popular amongst academics, but is largely unknown in the industry. We'll see how Reason straddles the spectrum of the questions above to bring all of that horsepower to bear on industry problems - through a syntax and developer experience appealing to pragmatists, an emphasis on FP and a type system meant to draw in purists, and a focus on incremental migration that means we can use it in the systems of yesteryear while moving towards the abstractions of tomorrow.

About Sean Grove
addremove
12.20
Scott Davis
Conversational UIs: Talking to Siri, Alexa, and Your Web Browser
Room: Homo Agitatus
Key takeaways
  • The focus of this talk is on awareness building
  • I'm a big believer in standards-based solutions
  • I also plan to discuss the Accessibility (a11y) aspects of Conversational UIs.
  • And finally

A typical user experience these days moves seamlessly between smartphones, tablets, laptops, and even smart TVs without us even thinking about it. But what if there is no screen? What if your User Interface is talking to your wrist, or talking to thin air as you walk into a room? Gartner predicts that 30% of all interactions with computers will be done with your voice by 2020.

I'm a big believer in standards-based solutions, and this talk focuses on W3C standards like the Web Speech API (both SpeechSynthesis and SpeechRecognition), SSML (Speech Synthesis Markup Language) and JSGL (JSpeech Grammar Language). These are all free and open source technologies that you can take advantage of in your web browser today.

In this talk, Scott Davis (Principal Engineer at ThoughtWorks) helps break down what Conversational UIs are, and how you can adopt them in your application.

About Scott Davis
addremove
12.20
Pete Hunt
Fraud detection without labeled data
Room: Homo Analogus
Key takeaways
  • Machine learning is not a silver bullet.
  • Unsupervised anomaly detection techniques work well.
  • How the world has changed with the advent of real-time streaming data.
  • How to leverage new deep learning techniques without a lot of data.

Fraud is a big deal -- it costs the economy several billion dollars a year. For many years, machine learning has been the tool of choice for solving fraud. Unfortunately, machine learning is only useful when you have lots of high-quality labeled data. In the real world it's difficult, expensive, or impossible to get this high-quality labeled data.

In my talk I'm going to look at the problem of fraud at a high level, how it can be solved using unsupervised techniques that don't require labels, and the infrastructure required to implement it.

About Pete Hunt
addremove
12.20
Sasha Goldshtein
Profiling Node Applications
Room: Homo Digitalis
Key takeaways
  • Profile the CPU usage of Node applications and visualize it as flame graphs
  • Diagnose difficult application issues in production
  • Trace events such as garbage collections

Node runs on a powerful JavaScript engine, but that same engine can complicate things when it comes to obtaining accurate information on your application's performance. There are plenty of tools for profiling C++ or Java applications, but understanding JavaScript interactions with native code can be extremely challenging. In this talk we will discuss profiling options for Node.js, including perf_events, dtrace, the V8's engine built-in --prof switch, and tools based on the bleeding-edge kernel BPF technology. We will also talk about turning profiler results into flame graphs, an innovative visualization tool for understanding stack sample reports, and for figuring out the time split across the JavaScript and native parts of your application.

About Sasha Goldshtein
addremove
12.20
Josh Lane
Azure Logic Apps – Cloud-Powered Duct Tape For The Enterprise
Room: Homo Erectus
Key takeaways
  • What are the key use cases for Azure Logic Apps?
  • How are Logic Apps an improvement over custom integration code?
  • Which Azure and external services can I integrate using Logic Apps?
  • How can I trigger Logic App execution from external events?

The benefits of the services-powered enterprise comes with real integration costs; custom integration code is labor-intensive and error-prone, and legacy integration solutions may not be fully cloud-native. It's with these challenges in mind that Azure Logic Apps was created.

Logic Apps are an Integration-Platform-as-a-Service running on the Azure cloud. It offers visual workflow orchestration and declarative business logic that connects to dozens of cloud- and on-premises services.

In this talk we'll use Azure Logic Apps to build an automated customer service response tool integrating with Twitter, Microsoft Cognitive Services and Machine Learning, Visual Studio Team Services, and Office 365. You'll learn how to create an Azure Logic App from scratch with little or no custom code. You'll also learn how to connect it to several SaaS applications and how to trigger it from external events.

This talk is appropriate for developers with some exposure to cloud and Azure services.

About Josh Lane
addremove
12.20
Jimmy Bogard
Fixing Distributed Systems Fail
Room: Homo Ergaster
Key takeaways
  • You will learn the way distributed systems and microservices can fail
  • You will learn the many options for coordinating activities between multiple systems in a single app
  • You will follow along as we move the broken system into a resilient one

It seemed like an easy feature to implement, a checkout page to place an order. But this payment gateway has a simple API, so we added that. And this email service provider makes it possible to send an email with one line of code! The code looks simple, 6 little lines of distributed systems code.

But those lines hid a dark secret that we only found after launching. Customers complained they didn't get their email, back end system wasn't getting updated from, and the worst of all, customers complained they saw an error page but still got charged!

In this session, we'll look at taking our 6 lines of distributed systems fail, examining the inevitable failures that arise, and possible mitigating scenarios. We'll also look at the coupling our code contains, and the ways we can address it. Finally, we'll refactor towards a truly resilient checkout process that embraces, instead of ignoring, the fallacies of distributed computing.

About Jimmy Bogard
addremove
12.20
Nicola Owen
Reducing the fear of go-live
Room: Homo Habilis
Key takeaways
  • Why and how building trust in your team helps make the release process easier
  • Tips on how to recognise that your product is ready to go live
  • Benefits of small releases

At the end of the day, after you have written your unit tests, had your code reviews and run all your tests - you need to deploy. This can be a scary thing - especially depending on how things went earlier on in your project.

In my session, I’d like to talk about how you can reduce the fear of going live by increasing trust in the team (so you trust them to do their job properly and don’t feel like you need to “overdo” testing), the benefits of small releases and some tips on how to decide whether or not your product is ready for the big bad world.

I’ll talk about my personal experiences in being involved in projects both where we were pushed for time and had to deploy regardless of how we felt about the product and also projects where we felt confident in the product that we were releasing.

About Nicola Owen
addremove
12.20
John Cutler
Product Thinking For Internal Teams
Room: Homo Sapiens
Key takeaways
  • How to treat your internal shared service as a product
  • What pitfalls to avoid when evolving an internal shared service
  • Why the "take a ticket" project mindset fails us
  • When to pivot

Many internal teams (shared services, tooling, DevOps) exist without a "product owner". Or ... the product owner is more of a project manager meant to "keep tabs" on the team. The problem here is that like any product, the service must be viable and have product/market fit (even if customers are internal).

In this talk we will explore what it means to have a viable internal product. How can a team of developers put on the "product hat" to assure the long term success of their work? How do we avoid common pitfalls? What is different about "internal", and how to we make the dynamic work for us? With a mix of theory and war stories from the front-lines, I hope to inspire devs to take charge of their products before the business beats them to the punch.

About John Cutler
addremove
13.20
Kurt Leucht
Writing Apps For Mars!
Room: Homo Agitatus
Key takeaways
  • The audience will learn some of the surprising similarities between the mobile app or business software that they write day to day and mission critical software onboard Mars rovers.
  • The audience will also learn about the major differences between their typical software apps and software destined for Mars.

Mobile app developers and other software developers typically take great pride in their final products. But how does the onboard software for a Mars rover, for example, compare to a good mobile app or business app?

Is it simple and easy to use? Is it efficient? What platform does it run on? How does it typically perform? Is it secure? Does it work offline? What language is it written in? Is it supportable and upgradable? What kind of statistics are collected? Is it designed with the user in mind? How is it developed and tested?

This presentation will explore all these questions and more in an effort to understand the similarities and the major differences between typical business software and software that is designed for the NASA Mars rovers.

Buckle up! Because this talk begins in 5 ... 4 ... 3 ...

About Kurt Leucht
addremove
13.20
Rabea Gransberger
Functional Libraries for Java 8 and 9
Room: Homo Analogus
Key takeaways
  • You will see libraries which extend streams with more methods
  • What can you do with a pure functional library like Vavr/Javaslang
  • How to write unit tests with lambas in JUnit 5

Java 8 provides us with new APIs to support a functional programming style. While the standard provides us with a good basis, we sometimes wish for even shorter or powerful ways to write clean code for complex tasks.

In this talk I will show you some additional libraries for Java 8 (and beyond) which give you this little extras here and there. I will cover a wide variety of use cases like filter/map/reduce, stream API add-ons, lambdas with unit testing, SQL query support.

This will cover among others: Vavr (Javaslang), JUnit 5, jOOL, RxJava, Vert.x, Jinq

About Rabea Gransberger
addremove
13.20
Johan Brodin
Agile deadlines using Monte Carlo forecast, tracking & reports
Room: Homo Digitalis
Key takeaways
  • You will learn how to work with agile deadlines using agilemontecarlo.com
  • You will see the benefits of using a data driven Monte Carlo approach in your agile projects
  • You will have a better understanding of some agile project challenges seen
  • Finally some thoughts and experience will be discussed on the introduction of the SaaS cloud offering agilemontecarlo.com

How do you stay loyal to the principal of agile development in an organization having deadlines?

The proposed solution is to use agile Monte Carlo forecast ,tracking and reports to secure visibility to all stakeholders.

Deadlines are the vehicle to deliver value and by ensuring full internal and external visibility the team has the tool to embrace changes and stay loyal to agile.

This session will show you a data driven agile Monte Carlo approach using the cloud solution agilemontecarlo.com. You will learn more about Monte Carlo simulations and how that can be used in an agile context to drive value. You will exposed to areas such as forecasting, tracking and project simulations both with direct integration from Jira as well as manual input from any issue tracking system.

The session will also discuss how agilemontecarlo.com was developed and the lesson learn of introducing it in varies companies.

About Johan Brodin
addremove
13.20
Vidar Kongsli
Continuous delivery with Azure Web Apps
Room: Homo Erectus
Key takeaways
  • Learn to set up a simple build and deploy pipeline for ASP.NET web applications targeting Azure
  • Enhance build and deploy using PowerShell scripting
  • Get introduced to automating Azure deployments

Continuous delivery is about giving functionality to users in small steps, in a swift manner. Any efficient and reliable environment to achieve this in requires automation. There is no better place to achieve this than in the cloud. The cloud is all about automation. And it's only a few clicks away!

In this talk, I will start off with a minimalist approach to developing and deploying an ASP.NET application to Azure, setting up automated deployment from GitHub version control. I then add on various quality assurance steps with pull requests, peer reviews, unit testing and integration testing. Furthermore, I will discuss approaches for adding deployment to test and other quality assurance environments, and demonstrate how this can be done.

You'll get to learn about GitHub integration, protecting branches, triggering build and deploy to Azure Web apps based on check-ins, build and deployment pipeline customization using simple scripting, and integration to Slack to publish status info.

About Vidar Kongsli
addremove
13.20
Christoph Jentzsch
The DAO - its history as well as lessons learned
Room: Homo Ergaster
Key takeaways
  • You will learn about how blockchain technology can be used to built decentralized autonomous organizations (DAO)
  • You will gain firsthand insights into a bold attempt to build the first company run without management or employees

Is it possible to run an organization without managers, employees or even a formal head office? Can it be run entirely decentralized and autonomous? Christoph will present blockchain enabled government structures as well as the story of "The DAO", the largest crowdfunding project in history.

About Christoph Jentzsch
addremove
13.20
Sarah Jones
Unlocking the power of multisensory VR
Room: Homo Habilis
Key takeaways
  • Understanding of impact of multi sensory VR
  • How immersive theatre can develop a new experiential narrative

If you're creating experiences, you cannot rely on just audio and visual interfaces. Research shows the importance of smells and heat in experiences and these, along with haptics and the ritual of the experience, need to be developed to increase presence in the virtual experience. Utilizing new data from research into rituals and cross-modal work, Sarah's talk unlocks the power of multisensory experiences that can change the level of immersion that an audience feels. The hierarchy of different senses are measured and the impact that it has on audiences to highlight how presence can be optimised through adding heat and smells to film.

About Sarah Jones
addremove
13.20
Pradeep Soundararajan
Embracing A.I. and M.L in Testing
Room: Homo Sapiens
Key takeaways
  • How life is set to change for those working as a QA / Tester with A.I.
  • How Machine Learning powers Testing in ways that was hard to achieve so far
  • How the roles will change for those working as QA / Tester
  • What skills should one start focusing on to stay relevant

Let's take a short snorkelling dive into the testing world that is changing with A.I. and Machine Learning. In this session - Pradeep shall show specific examples of what testers were doing and how A.I. is taking over some parts of it and then how Machine Learning is helping to become more influential.

It looks like a dangerous world if people don't know how to embrace it and hence Pradeep - having been there done that has pointers on how teams can start adapting and re-skilling themselves. Also - he would love to help you build your own A.I and Machine Learning Solutions in the testing space.

About Pradeep Soundararajan
addremove
14.20
Johan Öbrink
Ant paths and Strindberg's elevator – leadership and value in an age of change
Room: Homo Agitatus
Key takeaways
  • Lead people
  • through observation
  • because we only know our goal for tomorrow
  • at best

How can you be a tech lead in a situation when technology changes faster than you? How do you inspire someone who is smarter and you? How do you assess the value of the thing you haven't architected yet?

A world in rapid change requires new leaders, mentors and role models. But how can anyone be that person if they don't know where we're going?

About Johan Öbrink
addremove
14.20
Alex Soto
Using Docker for Testing Legacy Code
Room: Homo Analogus
Key takeaways
  • How to start writing tests for legacy code
  • You'll learn how to use Docker and Arquillian Cube to write tests for legacy code.
  • Tests enable you to change your code. No tests means that every time you change something

One of the best experiences you might have as a developer is when you are running your continuous delivery pipeline and one of the test failed because it has found a bug. At this point you see that thanks of your tests you are producing a less buggy software. This should be the normal case, in green field projects, but unlikely to happen when running legacy code with a lot of untested code.

Come to this session to learn how you can use Docker for developing tests for code that never had any automatic test before

About Alex Soto
addremove
14.20
Benjamin August
From Promises over Generators to async/await in node.js
Room: Homo Digitalis
Key takeaways
  • How to use native promises in node (ES6)
  • What are generators and how to use them in node (ES6)
  • What is async/await and how to use it in node (ES7)

We look at depth into some of the new featueres in JS/node and understand how native promises, generators and async/await work in node.

After this session you'll not only understand how to use them in your projects but also the underlying concept and how they work under the hood.

About Benjamin August
addremove
14.20
Carl Bergquist
Monitoring for everyone
Room: Homo Erectus
Key takeaways
  • What is monitoring
  • Why developers should care as much as ops do.
  • What does Logs/Metric and Distributed Tracing actually mean?
  • What should you measure/log and alert on?

Once your product starts to provide value you might want to make sure that the system is behaving and performing as you expect. That’s when you start looking for something to verify that everything is working as expected. Aka monitoring. But what is monitoring? What kind of monitoring tools are there? How have they evolved lately?

In this session I will talk about the concept of monitoring and some of the ways to monitor your system, and then how containers, microservices and continues deployment requires better and more flexible monitoring tools. Finally we will go into what to monitor.

About Carl Bergquist
addremove
14.20
Ashic Mahtab
Tensorflow, Tensorflow, What is it that you see?
Room: Homo Ergaster
Key takeaways
  • You'll learn how machines can be endowed cognition.
  • You'll also see the basics of using Tensorflow.

Machines are doing things today that were unthinkable even a few years ago. From computer vision, to understanding human conversation, to translating text, or even generating art; they're encroaching on domains previously thought to be strictly human realms. The technology behind this is actually fairly old; neural networks have been around for decades. However, modern hardware capabilities have made them technology feasible to such a degree that they can now drive cars.

Tensorflow is Google's open source framework for deep learning. It makes it relatively straightforward to apply these techniques. In this session, we'll cover the basics of image recognition, and use Jupyter Notebooks, and Tensorflow to apply it.... with a dash of GPU processing to boot.

About Ashic Mahtab
addremove
14.20
Mattias Larsson
Unboxing a new UWP-app – what's inside for free and what requires reworking?
Room: Homo Habilis
Key takeaways
  • You will learn about the anatomy of a UWP app.
  • You will understand what you must do when creating a new UWP app.
  • You will see how to manage the lifecycle of a UWP app.

Creating a new Universal Windows Platform application in Visual Studio gives you a whole bunch of auto-generated files and code lines.

What sourcery [sic] lies among these files; which parts are the vital must-know and what can you leave as-is?

In this session you will be guided through the creation of a New Blank App to see what parts you need to poke around in and what actions you must take to properly manage its lifecycle.

About Mattias Larsson
addremove
14.20
Steve Klabnik
Rust in Production
Room: Homo Sapiens
Key takeaways
  • Learn how and why companies are using Rust in production.
  • Learn some cool stuff about Rust.
  • Hear some thoughts on "What does it mean to be 'production-ready' anyway?"

Rust is a young programming language, only two and a half years have passed since 1.0. New programming languages are fun and all, but what can you actually use them for in the real world? How big are the biggest projects used by the language? Are people building real things and making money?

In this talk, Steve will address these questions about Rust, muse over the nature of "what does production-ready even mean", and show off some of Rust's strengths.

About Steve Klabnik
addremove
15.40
Geertjan Wielenga
Finally, JavaScript Is Easy!
Room: Homo Agitatus
Key takeaways
  • Understanding of the JavaScript landscape
  • You will discover how enterprises are solving problems and creating real applications with JavaScript.
  • You'll see AngularJS compared to other solutions
  • You'll learn how to get started with free and open source technologies from Oracle for JavaScript developers.

JavaScript: can it reliably be used in large business applications? Is it usable in the context of enterprise applications to create the frontend of browser-based applications? How are enterprises such as PayPal, Tesco, and Oracle solving these problems?

In this session, you'll be introduced to Kraken.js by PayPal, as well as Oracle JET (oralejet.org) which is Oracle's JavaScript toolkit, including data visualizations, architectures, templates, components, and a range of enterprise solutions, such as modularity, internationalization, and accessibility.

Everything is free and open sourced on GitHub and you'll be shown how to get started with it, via demos and live coding. By the end of the session, you'll be able to leverage free and open source technologies as the basis of your own web and mobile solutions, today!

About Geertjan Wielenga
addremove
15.40
Sander Mak
Migrating to Java 9 Modules
Room: Homo Analogus
Key takeaways
  • What's coming with the Java 9 module system
  • How to migrate existing applications to Java 9
  • Modularising an existing application

Java 9 comes to your doorstep (whether you ordered it or not). The module system in Java 9 is a great advancement for the Java language, and we would like to migrate existing code to make use of the module system. Migrating an existing code base from the classpath to any kind of module system can be a challenging task.

Java 9 comes with a number of features to ease migration. This includes automatic modules and the unnamed module. While these features provide great value, they do require understanding of the module system to use them to their full potential.

In this talk we look at examples of migrating real code, based on a Spring/Hibernate application. We'll face common problems we run into during migration, which gives us practical tips to apply, but also a good understanding of the module framework itself and the various migration features it supports. This talk is an excellent preparation to start migrating your own code.

About Sander Mak
addremove
15.40
Niall Merrigan
The Dark Arts - Hacking tools
Room: Homo Digitalis
Key takeaways
  • You will learn there is a tool for everything
  • You will see these tools in action
  • You will want to crawl up in the fetal position and cry
  • You will realise that you can use this yourself and gain an understanding that will help you defend again them

For every problem there is a solution. However in the security world for every solution there is most likely an exploit. This session shows you some of the diverse array of tools that are available from the extremely wide reaching toolsets to the very niche single exploits.

This sessions is designed to give you insight into the tools available, what they are used for, how to recognise them when being used against you and also give you an understanding of what particular vulnerability or exploit they are targeting.

About Niall Merrigan
addremove
15.40
Vadim Feldman
Treat your employees as customers
Room: Homo Erectus
Key takeaways
  • We will explore the concept of management-as-a-service and how treating your employees as customers can help us design better ways of managing organizations.
  • We will cover the four core jobs of management

In the past years, there has been a lot of progress made to improve management in our organizations. We are doing our best to move away from cumbersome processes that are pushed down on employees to more novel ways of leading organizations. We are on a quest to re-invent management.

The problem with this noble mission is that most people still assume that there is ONE correct way of managing companies. Our LinkedIn feeds are full of 10 best ways of leading people, books great leaders read and the right way of being agile. We are oversimplifying the problem and desperately looking for one-size-fits-all solutions.

What if we instead think of management as a collection of services an organization provides for coordinating work, leading people, making decisions and reaching objectives? What if we start designing management practices as experiences optimized for people-workplace-fit? What if we would charge employees for these services? Would they purchase them? Would they even love them?

About Vadim Feldman
addremove
15.40
Ben Oberkfell
App Architecture for the Subway
Room: Homo Ergaster
Key takeaways
  • You'll learn how we built a great game that works offline
  • You'll hear about architectural considerations for great offline experiences
  • You'll hear how we made it great even if your first time using it is offline
  • You'll learn about a helpful library that can help you out

There's something satisfying about seeing people on the subway use your app, and it's not just the usual warm fuzzies -- it's seeing that people are able to get value out of it while offline.

In the New York Times Crosswords game for Android, we've made some careful decisions to make sure that even if your very first time opening the app is offline, you'll still be able to have some fun. You'll learn some great ideas to help you out with making your own apps work great offline too.

About Ben Oberkfell
addremove
15.40
Jerry Nixon
Ten compelling reasons to consider the Windows Store for Business
Room: Homo Habilis
Key takeaways
  • What is the Windows Store for Business and how does it differ from the Windows Store for Consumers?
  • What is so great about the Windows Store for Business
  • How does the Windows Store for Business relate to the Desktop Bridge announced at Build?
  • how can my existing WinForms and WPF investments take advantage of the Windows Store for Business?

The Windows Store and Windows Store for Business is a game-changer to developers and dev teams in enterprises who want to fix their deployment issues.

About Jerry Nixon
addremove
15.40
Marco Cecconi
The ultimate ZX Spectrum talk
Room: Homo Sapiens
Key takeaways
  • You don't need much to do a lot
  • Computers are objects that can be understood completely
  • An encouragement towards becoming a developer with real depth

I promise you one talk full of everything about the Sinclair ZX Spectrum, the revolutionary home computer which sold millions of units from 1982 to 1985, its hardware, ROM, tips, tricks and examples. More than that, I will also talk about how the Spectrum was hacked to do demos, pirate games and all the nasty tricks I can fit in.

About Marco Cecconi
addremove
16.40
Gleb Bahmutov
Practical universal apps in functional JavaScript
Room: Homo Agitatus
Key takeaways
  • You will learn how to write JavaScript in functional style
  • We will combine smaller pieces into larger application
  • By factoring out effects we will be able to create universal applications that run on the server and an on the client

Writing solid code is hard. Writing portable code that can run on the server and in the browser is harder. Writing readable code that is easy to modify and extend might be impossible. Let us try achieve all three goals by writing JavaScript in functional style. JS is no Haskell, but can mimic a traditional functional language pretty well, as I will show in this presentation. Plus everything in the world can run JavaScript, so FP in JS knowledge applies very widely.

About Gleb Bahmutov
addremove
16.40
Edson Yanaga
Migrating to Microservice Databases: From Relational Monolith to Distributed Data
Room: Homo Analogus
Key takeaways
  • I'll try to answer the number 1 question about Microservices: what about my relational database?
  • Zero downtime migrations for relational databases
  • CRUD
  • 9+ different strategies for data integration on distributed systems using relational databases.

In a Microservices architecture with multiple moving parts we can’t allow that a single complement downtime breaks down the entire system. In this scenario, zero downtime migrations are paramount to guarantee integrity and consistency.

In legacy systems you traditionally have a model that adopts transactions and CRUD. Now we must reassess some of these concepts. In this talk we’ll discuss consistency, CRUD and CQRS, Event Sourcing, and how these techniques relate to each other in many different integration strategies for databases. We’ll explore Views, Materialized Views, Mirror Tables, Event Sourcing, Data Virtualization, Change Data Capture, and how these strategies enable you to build up a Microservices architecture from a legacy monolithic relational database."

About Edson Yanaga
addremove
16.40
Marcus Degerman
The five keys to successful problem-solving
Room: Homo Digitalis
Key takeaways
  • Five keys to successful problem-solving
  • Why you should stop sending out agendas
  • How to involve everyone at a meeting
  • How to visualize thoughts

One of the most difficult things for organizations is to solve problems collaboratively. People spend too much time trying to solve problems by themselves, sit quietly in meetings, or push their ideas onto others. It is first when we gather people and help them think together that they can start solving the critical and often very complex problems that face our organizations and our world.

About Marcus Degerman
addremove
16.40
Ramón Soto Mathiesen
How do we make code fun and more intuitive?
Room: Homo Erectus
Key takeaways
  • When having to teach kids you have to think out of the box in order to catch their attention. Fun and easy are main keywords.
  • Just because we grown ups are used to one way of doing things it doesn't mean that it's the way we should be doing them.
  • With a few concepts and some tooling provided my Microsoft
  • We hope we inspire others to take the time to re-think on how they approach software development. The More the Merrier.

This year I became a volunteer at Coding Pirates, a Danish non-profit organization that tries to help kids to understand technology so they can create and not just consume.

There are a few challenges that you are going to meet when you try to teach kids to code. Mostly mathematical/logical concepts but also language based (English keywords).

Scratch, developed by MIT, seems to solve these issues but tends to become boring in the long run. I use to say that coding in Scratch is a bit like reading a "picture book".

We seem to face a challenge when we want to transition the children from reading "picture books" to "read books", as many of the technologies used by us grown ups, aren't that user-friendly as we think they are.

In this talk we will showcase a few tentatives on how to make code fun and more intuitive for children and who knows, maybe also for grown ups. In order to achieve this, we will be using a few of Microsoft Tools & Azure Cloud services.

About Ramón Soto Mathiesen
addremove
16.40
Nicholas Doiron
Quantum Computers and Where to Hide from Them
Room: Homo Ergaster
Key takeaways
  • todo
  • todo

After making the smallest possible transistors, Moore’s law is coming to an end. Researchers and technologists are pursuing new quantum computers. In this talk I’ll do an intro to what makes these computers special, the code that runs on them, and how we could start securing our systems and servers with post-quantum encryption.

jsQuil is a library which allows you to create assembly-like instructions for quantum computers and virtual machines, by writing code in a high-level language (JavaScript/NodeJS).

CodeCrypt is a drop-in replacement for GPG which helps you encrypt messages, documents, and emails in ways which confound quantum computer codebreakers. Last year Google, the NSA, and NIST started recommending adopting new encryption tools to prepare for quantum computing, including lattice-based encryption and BoringSSL to keep the web secure.

About Nicholas Doiron
addremove
16.40
Ariel Ben Horesh
Hitchhiker Guide to the Xamarin Forms Developer
Room: Homo Habilis
Key takeaways
  • Getting started with Xamarin Forms development.
  • Understand how to develop for abstracted layers of Xamarin Forms
  • Understand how to develop platform specific code

So you want to become a Xamarin.Forms Developer? What are the concepts you must need to know? What happens when you need to write a platform specific code? Or use a native UI?

Do you even need to know iOS and/or Android before you can start?

in this session we will be entering the Xamarin way of Cross-Platform development by building a Xamarin Forms application from scratch.

About Ariel Ben Horesh
addremove
16.40
Martin Splitt
WebVR - Why, Wow & How?
Room: Homo Sapiens
Key takeaways
  • To be added
  • To be added

In this session we will have a look at why the web is a great platform for VR experiences.

To get a better idea of what can be done with WebVR, we'll have a look at a few use cases and build a simple WebVR page as well.

Then, to round it up, we will see where we will need experimentation and new patterns and ideas to get the most out of WebVR for our users.

About Martin Splitt
addremove
18.00
Linda Liukas
Software & storytelling, programming & play
Room: Homo Agitatus
Key takeaways
  • New inspiration for connecting your work with the world
  • Curiosity towards new technology
  • Appreciation for the industry

People need to reconnect with technology to best take advantage of the opportunities it offers. If code is the colouring pens and lego blocks of our times - the tools of creation - how do we teach the curiosity, joy and wonder to everyone? I've spent last years looking at programming and play: how to create experiences that go deeper than just learning logic. So, just like Alice, I swallowed the blue pill and fell down inside the machine.

About Linda Liukas
addremove
20.00
Brian Christian
Algorithms to Live By: The Computer Science of Human Decisions
Room: Equality
Key takeaways
  • You will learn how "optimal stopping" can help you with everything from parking to romance
  • You’ll discover how the "explore/exploit" tradeoff shapes not only our everyday decisions like what to eat for dinner
  • You’ll learn why computer science offers a wildly different (and much more human) portrayal of what rational decision-making looks like
  • You’ll encounter surprising ways in which laziness is not only easy

What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of the new and familiar is the most fulfilling? These may seem like uniquely human quandaries; they're not. Computers, like us, confront limited space and time, so computer scientists have been grappling with similar problems for decades. And the solutions they’ve found have much to teach us.

In a lively, interdisciplinary talk, Brian Christian shows how algorithms developed for computers also untangle very human questions. They explain how to have better hunches and when to leave things to chance, how to deal with overwhelming choices and how best to connect with others. From finding a spouse to finding a parking spot, from organizing one’s inbox to peering into the future, exploring algorithms to live by transforms the wisdom of computer science into strategies for human living.

About Brian Christian
addremove
Personal schedule
Time slot Event name Add to schedule
09.00
Scott Santens
Cutting the Gordian Knot of Technological Unemployment
Room: Equality
Key takeaways
  • Technological unemployment is real.
  • Technological unemployment is not something we should fear.
  • In order to not fear technological unemployment
  • The best way to decouple income from work is with unconditional basic income.

Advances in artificial intelligence present a clear and present danger to societies built around the idea that all members must be gainfully employed in order to survive. The threat posed by technological unemployment is not something that's just years down the road however. It's already here and the effects can be observed all around us. Furthermore, in a sane society, technological advances would not be something to fear, but something to embrace, by benefiting all members of society. In order for this to happen, the productivity gains of technology must be shared universally and unconditionally. For reasons that will be made clear for those listening, the idea of a basic income is not only an effective way to accomplish this critical goal, it's an absolutely necessary idea to implement immediately in nation after nation around the world in order to create a better present and future for all of human civilization.

About Scott Santens
addremove
10.20
Gustaf Nilsson Kotte
Micro­service Websites
Room: Homo Agitatus
Key takeaways
  • You will learn why the common approach to building websites with client-side frameworks and libraries does not scale well across teams and over time
  • I will also show you an approach that allows you to have continuous delivery

How can we develop websites where the different parts of the pages are developed by different teams? If you work in a large enough organization which has its content and services on the web, this is probably a question you have asked yourself several times.

With this talk I want to show that server-side rendered websites integrated on content (using transclusion) allow for high long-term evolvability compared to client-side rendering integrated with shared code. In other words, if you want a system with high long-term evolvability, you should not develop websites using only client-side JavaScript and integrate them using a shared components approach.

I will also give an overview of how Edge Side Includes (server-side transclusion) and h-include (client-side transclusion) work, what their respective pros and cons are, and also how they can be used together.

About Gustaf Nilsson Kotte
addremove
10.20
Christoffer Noring
Rxjs - a better async
Room: Homo Analogus
Key takeaways
  • How Rxjs can clean up your messy async code
  • How easy it is to replace your exist Promise code with Rxjs
  • Why its a good idea to have a reactive approach

This session will cover how hard it is to write nice async code, when it gets complicated. It will cover the fundamentals of Rxjs and how easy it is to move Promises to the Rxjs library and why you should.

About Christoffer Noring
addremove
10.20
Marcos Placona
I just hacked your app!
Room: Homo Digitalis
Key takeaways
  • Where is Android Security nowadays
  • How applications get hacked
  • What to do to protect your applications from being hacked
  • Which are the current tools out there that look after your applications security

Android security is nowhere near where it should be. I have been able to hack and get sensitive information from a few different apps and I’m just an amateur hacker at best.

Whether it’s because we are exposing information when making HTTP requests to our backend servers or because we’re simply storing things we shouldn’t in our apps, it’s easy to forget mobile devices aren’t as safe as we think they are.

In this session we will explore a number of ways an Android app can be exploited and most importantly methods that we can use to avoid these attacks.

We will finish by looking at common techniques that will help you protect sensitive information within your application by adding tampering detection and making sure every external communication request is made securely.

About Marcos Placona
addremove
10.20
Andrea Falcone
Supercharging your mobile app release with fastlane
Room: Homo Erectus
Key takeaways
  • You will learn why automating your build process is important
  • You will understand many of the pain points of doing beta deployments and releases manually
  • You will learn how easy it can be to automate with fastlane
  • You will want to start using fastlane before the conference is over so you can save hours every week with automation

How would you like 2 extra hours of your time back every week? All mobile app developers face similar workflows as they work to upload an app to the App & Play Store. Many of these processes are currently done manually, but why not automate them? Fabric’s set of developer tools, collectively called fastlane, makes building, testing, and releasing your app faster, reproducible and less troublesome, leaving developers more time to focus on feature code and not deployment! Learn how you can automate the tedious tasks to generate release notes, screenshots and push your final submission straight to the iTunesConnect or Google Play portal effortlessly from your command line with a powerful open source tool.

About Andrea Falcone
addremove
10.20
Suz Hinton
Leveraging Machine Learning APIs to Write Better Software
Room: Homo Ergaster
Key takeaways
  • You'll walk away inspired to solve problems in your product that you didn't think you had the time or budget to do.
  • You'll take home some smart shortcuts for providing better user experiences.
  • You'll be surprised at how straightforward it is to find and use machine learning API services for your own software solutions.

Learning the ins and outs of machine learning theory and practices can take a lot of time and commitment. Thankfully, there are already smart folks who offer machine learning algorithms pre-trained for your convenience. Deep learning is now only an API call away.

This session will cover ways to consider specific machine learning scenarios for improving and personalising your software product. From sentiment analysis to translation to emotion recognition, there's a lot of potential for better user experiences.

It wouldn't be a machine learning talk without demos, so we'll also cover code examples and working scenarios. The practical real life use cases will get you thinking about the powerful improvements you can make to your product with just a few API calls.

About Suz Hinton
addremove
10.20
Joshua Kerievsky
High Performance via Psychological Safety
Room: Homo Habilis
Key takeaways
  • You'll learn why psychological safety is the key to high performance and what you can do to help foster it within your team and organization.
  • You'll learn ways to handle challenging situations
  • You'll learn about a variety of tools to foster psychological safety in your team or organization.
  • You will have a better understanding of what behaviors decrease psychological safety.

Is your culture dominated by fear, blame and other toxic behaviors? Are people protecting themselves rather than pulling together, obsessing over customers and helping your organization succeed? If so, you may have a lack of psychological safety. When it's present, individuals feel safe being vulnerable, safe taking risks, safe making mistakes and safe handling conflict. Long-term high performance depends on psychological safety. It leads to greater transparency, closer relationships, better collaboration and better outcomes. As leaders, it's our duty to develop, model and foster psychological safety. In this talk, you'll learn skills for growing psychological safety in yourself, your teams and your organization.

About Joshua Kerievsky
addremove
10.20
Joe McIlvain
Pony - A Language for Provably Safe Lockless Concurrency
Room: Homo Sapiens
Key takeaways
  • You'll learn about common patterns for safe lockless concurrency
  • You'll learn about how Pony enforces those patterns via reference capabilities in the type system
  • You'll learn about other key concepts in Pony
  • You'll get a brief look at where Pony is going

If you're interested in concurrency, actor-oriented programming, and emerging technologies, then this talk is for you. We'll be discussing safe patterns for lockless concurrency and how Pony, an emerging actor language built on LLVM, provides a platform for describing these patterns in our code explicitly, verifying our code's safety, and compiling high-performance concurrent applications.

About Joe McIlvain
addremove
11.20
Pete Hunt
How to get people to use your open-source project
Room: Homo Agitatus
Key takeaways
  • Messaging the value prop of your project
  • Building an early community
  • Transitioning to a late-stage community
  • What not to do

There's an ever-increasing number of open-source projects today. How do you know which ones are worth paying attention to, and how can you grow an open-source project of your own?

In this talk, Pete Hunt, one of the founding members of the React team, shares his story of growing the React project from one of the most-maligned JavaScript frameworks to arguably the premier way to build apps in the browser today, and distills these techniques for use in your own projects.

About Pete Hunt
addremove
11.20
Mark Smalley
IT takes two to dance the IT tango
Room: Homo Analogus
Key takeaways
  • How the digital enterprise is shaking up IT’s operating model
  • An understanding of the business’ role as digital leader
  • How to talk about IT with business people
  • How to achieve more productive business-IT collaboration

Effective business value-producing relationships between business and IT are only possible when both IT and business are proficient ‘dancing partners.’ And in practice, the business often has two left feet. How can IT help their business partners to become better dancing partners?

This is of particular importance in the ‘digital enterprise’ – which most private and public enterprises are, these days – where information and technology are integral parts of not only the business processes, but also the enterprise’s products and their customers’ experiences.

It takes two to tango and the digital enterprise requires effective leadership from business managers, as well as efficient service delivery from the IT function.

Interactive (fun!) part: attendees will be invited to share their thoughts on desired behaviour between business and IT, after which their findings will be compared with results from previous sessions.

About Mark Smalley
addremove
11.20
Jimmy Engström
Talk to the bot cause the hand ain’t listening
Room: Homo Digitalis
Key takeaways
  • Learn about bots
  • Leverage Machine learning for you bot
  • Control lights with your voice

Stop typing and start talking.

Being a developer is all about removing pain points and because it's way easier to talk than to type, Alexa, Google Now, Viv and Cortana are more popular than ever. The rise of the digital assistants has made human life easier.

I will show you what it takes to give Alexa and Cortana a new skill. We will also build our own bot using Microsoft Bot Framework and see how we can make the bots smarter and understand natural human language using machine learning.

Stop typing and start talking.

Being a developer is all about removing pain points and it is way easier to talk than to type. That’s why Alexa, Google Now, Viv and Cortana are more popular than ever, the rise of the digital assistants has made human life easier.

For now, they let us program them.

We will take a look at what it takes to give Alexa and Cortana a new skill.

And also look at how to build our own bot using Microsoft Bot Framework..

About Jimmy Engström
addremove
11.20
Andy Wigley
Don't let apps be siloed - linking app experiences across Windows, iOS and Android with Project Rome
Room: Homo Erectus
Key takeaways
  • You will learn how to keep an app experience flowing across a users' devices
  • You will learn how to PWILO (Pick-up-where-I-left-off) across Windows
  • You will learn how to program continuous experiences by using the power of the Microsoft Activities and Devices Graph

Apps and app experiences are too often siloed to a single device, but everyone today has multiple devices running different operating systems.

Using the power of the Microsoft Graph, you can store activity records in the cloud which can be used to power PWILO Pickup-Where-I-Left-Off experiences whichever device the user picks up. Using the Project Rome SDKs or the Devices Graph REST APIs, you can discover details of the devices the user has, and you can launch websites and apps across devices. You can also easily communicate from an app on one device to another via the cloud, or using proximal networking such as Bluetooth or UDP.

Don't let your apps be siloed - extend experiences across all your users' devices!

About Andy Wigley
addremove
11.20
Mohamed Taieb
Supercharging Android Apps with Tensorflow
Room: Homo Ergaster
Key takeaways
  • #Tensorflow
  • You will discover TensorFlow and how it works in Android Application

Last year Google open sourced TensorFlow, its latest and greatest machine learning library. This meant that any one, company, or organisation could build their own AI applications using the same software that Google does to fuel everything from photo recognition to automated email replies.

This is so awesome for multiple reasons, The best one is its ability to run on Mobile.

I’ll try to shed some light on the Android TensorFlow example and what are the things that can we do with it.

About Mohamed Taieb
addremove
11.20
Daniel Vacanti
Your Project Behaves Like a Hurricane--Forecast It Like One
Room: Homo Sapiens
Key takeaways
  • How to use probabilistic forecasting to better answer the question "When Will It Be Done?"
  • The simple data you need to collect
  • A live demonstration of how to do probabilistic forecasting. We will come up with a release plan as a group in 5 minutes.
  • An understanding of how to immediately implement some of these practices.

Do your projects seemingly spin up out of nowhere, strike when least expected, and leave a trail of destruction in their wake? Though the butt of many jokes, weather forecasting—and in particular hurricane forecasting—has gotten surprisingly good over the past few decades. This increased accuracy is mainly due to the rigorous application of proven techniques like Monte Carlo Simulation and Continuous Forecasting. In this talk we will explore some of those practices and discuss how you might employ them to make your projects more predictable. We will walk through some real-world examples that will explain how to get you up and running with methods immediately. You wouldn’t want a little thing like bad forecasting get in the way of you delivering your projects on time, would you?

About Daniel Vacanti
addremove
12.20
Sam Elamin
Web Development To Big Data: A Journey
Room: Homo Agitatus
Key takeaways
  • todo
  • todo

Big Data is the new cool kid on the block, however the big powerhouses have been doing it for decades. Google, Amazon, Facebook have all utilised their wealth of knowledge to develop data driven products that are have become part of our every day lives.

In this talk Sam Elamin will relate his real life experience transitioning from a traditional web development role to working with the open source tools including Apache Spark, Kinesis and Big Query which are dealing with £100,000 worth of transactions every hour, and more importantly will also highlight the pitfalls to avoid while providing scalable and reliable big data solutions

Come along, and go from Big Data to Fast Data.

About Sam Elamin
addremove
12.20
Iván López
Vavr in Action
Room: Homo Analogus
Key takeaways
  • Improve your Java code
  • Use a functional approach to solve problems

Functional is the new buzzword of the last years. Everyone wants to be functional and immutable, everyone wants to use the more functional and pure programming language,... The structured programming and object oriented programming now belong the past.

In this talk you'll learn how to write your Java code in a more functional way using the Vavr library (formerly known as Javaslang) . Don't worry because I won't talk about monads, functors and all those buzzwords related with the functional programming. Everything will be practical examples that you can use in your daily work.

About Iván López
addremove
12.20
Parimala Hariprasad
How to Design Intuitive Mobile Apps using Machine Input
Room: Homo Digitalis
Key takeaways
  • What is machine input types of machine input and key principles that govern it
  • How to get practical knowledge and experience of machine input
  • Which key techniques transform users’ needs to great user experiences.

In the olden days, computing devices used machine input to guide users. These devices took machine input over user input to open doors, auto-forward calls, control switches, and also learn users behaviours automatically, over a period of time. Today, if we as users, feel out of control while using mobile apps, products slap a new screen on us. Many organisations think that this “screen-slapping” phenomenon makes users happy. We are enslaved by the current generation of mobile apps that are neither intelligent, nor intuitive, and rather painful to use.

Machine input is any information that digital devices can find on their own, whenever and wherever possible. In this talk, Parimala Hariprasad introduces you to machine input, and how it can be put to smart use. Using vivid examples, she takes the audience through an exciting journey where apps learn about users’ needs “automagically” without seeking tedious user input. The talk centers on applying self-learning, self-healing and self-awareness to give users what they need, exactly when they need it.

Let us allow mobile apps serve users and not the other way around!

About Parimala Hariprasad
addremove
12.20
Aysegul Yonet
Reality of WebVR
Room: Homo Erectus
Key takeaways
  • You will learn how your application can use WebVR
  • You will discover the tools that will make it easy to learn and use WebVR.
  • You will get an easy introduction to WebVR code and learn some of the terms that are specific to 3D programming.
  • You will better understand the things to come in WebVR technologies.

WebVR is a powerful JavaScript API that provides access to Virtual Reality devices. Let’s create reusable Angular components that use WebVR API to render 3D experiences. We will walk through a simple game and talk about how we structure our components for reusability and performance.

About Aysegul Yonet
addremove
12.20
Neil Killick
Why scaled agile frameworks exist and why you don't need them
Room: Homo Ergaster
Key takeaways
  • Why SAFe
  • Why "scaling" agile doesn't make sense.
  • Why you don't need a framework.

Why SAFe, LeSS, Nexus etc. exist (i.e. the challenges orgs face when trying to leverage benefits of agile) and why you don't need them (because it's about deliberate intent with small practical steps, which I will describe).

About Neil Killick
addremove
12.20
Krzysztof Zabłocki
Type-safe meta programming in Swift? Lets talk about Sourcery.
Room: Homo Habilis
Key takeaways
  • How to avoid writing boilerplate code.
  • How to make Swift programming easier on your team.

Swift has very limited runtime support and no meta-programming features.

Lets take a look at recently released Sourcery and how it can be applied in variety of different use-cases to make development more powerful and enjoyable, while at the same time limiting amount of human mistakes.

About Krzysztof Zabłocki
addremove
12.20
Angie Jones
The Reality of Testing in an Artificial World
Room: Homo Sapiens
Key takeaways
  • You will gain a better understanding of the testable features of AI
  • You will examine the skills needed to test AI
  • You will explore the impact that testers can have on developing AI applications

Our world is changing. Artificial intelligence is being employed in just about all walks of life - from virtual assistants to self-driving cars. How does this new way of life impact software testing? What is our role...is there even one?

Of course there is! While the future of artificial intelligence is mostly unknown, remember that as testers, one of our strongest assets is being able to discover and report the unknown. Many software developers jump at the opportunity to learn and implement the new skills required for artificial intelligence. Let’s get on board and take our place in making history!

In this talk, we’ll discuss the tester’s role in an artificial world, the skills needed to test such applications, and the impact that a tester can make in this space.

About Angie Jones
addremove
13.20
Allard Buijze
Messaging Patterns for Event Driven Microservice Architectures
Room: Homo Agitatus
Key takeaways
  • You will see how DDD and CQRS can help define service boundaries
  • You will be triggered to rethink how services should communicate in a microservices architecture

Domain Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) are known to provide us with means to tackle complexity within an application. However, they also provide us with patterns and guidelines to manage the complexity of large scale, distributed environments

In this talk, we will take a DDD/CQRS approach on implementing Microservices, focusing on the messaging between them. We will discuss different approaches to ensure decoupling of services on the API level, but also ensuring flexibility to change the system's behavior at runtime simply by switching services on and off.

About Allard Buijze
addremove
13.20
Martin Christensen
Team shapes - from component teams to feature teams
Room: Homo Analogus
Key takeaways
  • You will learn how to organise your team in the most efficient way
  • You will experience the strength of collaboration
  • You will be able to set the best stage for innovation in your team
  • You will be able to facilitate this exercise when you come back to your team

We want self-organising agile teams, of course, but how do we organise them if there are more than one team?

A variant that I often encounter with my clients is to divide the system into components or micro services, allowing each team to focus on one thing. This makes it easier for the team, but more difficult to prioritise and deliver actual value.

In an easily recognised team-based exercise, you will experience how a change in team structure improves collaboration, flow and quality. You will also be able to facilitate this simple yet powerful simulation in your organisation.

About Martin Christensen
addremove
13.20
Julian Togelius
(Deep) Neural networks through evolution
Room: Homo Digitalis
Key takeaways
  • Neural networks
  • Typically
  • Evolutionary algorithms can train neural network weights and structures through a process inspired by Darwinian evolution.
  • The choice

Neural networks, including the popular "deep" networks, are useful tools for learning from data or from interactions. Typically, neural networks are trained with gradient descent. However, it is very hard to find gradients in very deep networks, or in the structure of the networks itself. Evolutionary algorithms can train neural network weights and structures through a process inspired by Darwinian evolution. I will give an introduction to the ideas behind neuroevolution, and discuss some applications in games, robotics and computer vision.

About Julian Togelius
addremove
13.20
Niels van Hoorn
Prototype Everything
Room: Homo Erectus
Key takeaways
  • Prototyping is just design
  • Building interactive designs doesn't have to be hard

When building great products it's essential to design and test your interfaces before actually implementing them. One way of accomplishing this is building high-fidelity prototypes that you can use to communicate your ideas or even test them on potential users.

This not only gives you valuable feedback upfront, without using any engineering costs, but also allows you to explore more and try different ideas.

What's a good process for designing the next feature in your app? What makes a good prototyping tool? How can we improve the communication between design and development?

About Niels van Hoorn
addremove
13.20
Huyen Tue Dao
Measure. Layout. Draw. Repeat: Custom Views and ViewGroups
Room: Homo Ergaster
Key takeaways
  • How the multi-step process by which Android draws views works
  • The different types of custom views and view groups
  • How to implement each phase of the draw process on your own in a custom view
  • How to implement a basic custom view group

Sometimes the Android platform layouts and widgets are all you need. Sometimes you need more control over design and interaction. Sometimes you want to create your own reusable components. Sometimes you need some help with performance. Custom Views and ViewGroups are powerful tools that can provide these things, but with great power comes great complexity.

To help you get started, we will first build a simple custom View and then add layout, drawing, and interaction. Along the way will discuss when and when to go custom, when not to go custom, and talk good practices.

About Huyen Tue Dao
addremove
13.20
Claudio Ortolina
GenStage by Example
Room: Homo Habilis
Key takeaways
  • Event processing with Elixir
  • What problems may arise when processing events
  • How GenStage can solve them

In this talk we’ll look at GenStage, an Elixir library to structure demand-driven data flows.

The talk will be example-driven: we’ll start with a data-pipeline application written without GenStage and put it under heavy load. By doing that, we’ll have a first-hand account of the issues that GenStage aims to solve.

We’ll then look a revised implementation of the same data pipeline that uses GenStage to see how it solves the issues found in the original version of our application.

About Claudio Ortolina
addremove
13.20
Daren May
Windows 10 UWP Composition and Animation
Room: Homo Sapiens
Key takeaways
  • Why composition animations are fast and smooth
  • The types of animation that are available
  • What you can and cannot animate

In this session you will learn how you can leverage the power of Composition Animations to light up your applications. You will learn about the system compositor, how it enables fast and smooth animations and takes the strain off your application's resources. You will discover the types of animations you have at your disposal and what you can and cannot animate. This session will have minimal slides and most of the time will be spend in Visual Studio 2017 building a demo app.

About Daren May
addremove
14.20
Aysegul Yonet
Adventures in Angular
Room: Homo Agitatus
Key takeaways
  • We will talk about my adventures in architecting an Angular application
  • You will learn the tools that I discovered and the architecture decisions that I made and remade.
  • You will learn about the way to teach your team Angular and the considerations before deciding on Angular and Typescript.
  • You will learn what is to come in the latest versions of Angular.

As Autodesk A360 team, we started using Angular 2 while it was in beta. It has been a journey to learn a new framework and discover its in and outs while planning a new product that will be used by millions of people all around the world. We witnessed the design decisions the Angular Team is making along the way and we came to love them and appreciate them even more. Let’s talk about how we learned and how we evolved our architecture at Autodesk.

About Aysegul Yonet
addremove
14.20
Sebastian Daschner
When, why and how to CQRS
Room: Homo Analogus
Key takeaways
  • You will learn about event sourcing
  • You will learn how to model business transactions without locking the whole world.
  • You will see why the real world acts as a good example for eventual consistent use-cases.
  • You will see Java EE with Apache Kafka and Docker in action.

Most of today’s enterprise applications base on a CRUD data model that is simple and straightforward to implement. Another concept of how to model applications is Command Query Responsibility Segregation (CQRS) that enables interesting solutions and use cases, especially with rising demands of scalability.

In this session I’ll show the concept and benefits of CQRS, to which other buzzwords such as eventual consistency, event-driven architectures and event sourcing it is related and how to realize a CQRS application. The questions whether this concept can be realized with Java EE technology, where the framework already offers solutions and where it has to be extended will be answered. Most of the time will be spent live-coding and examining the “devil is in the details” cases of both approaches.

About Sebastian Daschner
addremove
14.20
Rudy De Busscher
From Monolith to microservices and back : The Self Contained Systems
Room: Homo Digitalis
Key takeaways
  • What is a monolith
  • How to convert a Java EE Web application to Fat jar.

Monoliths aren't bad in all situations, but in larger projects, it is desirable to work in a more modular way.

But microservices bring a lot of complexity which is maybe not always desired or needed.

Self-contained Systems, which are autonomous web applications, are an ideal way to make your large application manageable by multiple teams.

This session will make a comparison between the 3 architectural styles, monoliths, microservices and Self Contained Systems highlighting their strengths and their weaknesses.

The demo shows you how a SCS looks like when using Java EE and we will turn it into a fat jar deployment style for easier handling.

About Rudy De Busscher
addremove
14.20
Daren May
Combining UWP Animations and Effects to Light Up Your App
Room: Homo Erectus
Key takeaways
  • How you can leverage some cool effects to level up your application experience
  • What is the difference between a connected animation and a coordinated animation
  • How you can respond to a scrolling activity to create sticky headers and parallax effects
  • Why you need to use this stuff in your next app!

This session will demonstrate many of the rich capabilities introduced in Windows 10 Creators edition that can really take your app experience to the next level.

We will explore cool transitions between applications views, how we can co-ordinate a number of animations to achieve remarkable results, as well as exploring the power of the new transparency capabilities.

There will be few slides and much code slung as we spend most of the session in Visual Studio and running demos apps.

About Daren May
addremove
14.20
Christina Lee
Retrofitting with Retrofit: Tips on Updating an Old Networking Layer
Room: Homo Ergaster
Key takeaways
  • Retrofit removes the need to roll a networking layer by hand but is extensible enough to not give up much of the freedom you'd get by owning a layer.
  • If your system is heavily inheritance based
  • Retrofit can easily be tested in parallel with an existing networking layer

We’ve all been there: you have an app with outdated technology, and you know you should update it. But the legacy code is complicated and opaque, and due to support issues, you can’t just use the new library in the straightforward way the code samples show it. But perf gains and code clarity are on the line, so you need to find a way to make it work.

Well, you’re in luck! This talk is for you, person who’s trying to make it work. Drawing from examples encountered with Pinterest’s own transition to Retrofit, we’ll explore ways to retrofit Retrofit onto an existing networking layer while balancing the interests of hundreds of millions of users relying on a performant app. Ranging from big wins to unsightly mistakes, this tour will be both a cringeworthy and infinitely practical look at what happens when you can’t start from scratch.

About Christina Lee
addremove
14.20
Maaret Pyhäjärvi
An Exploratory Tester's lessons on Security Threat Modeling
Room: Homo Habilis
Key takeaways
  • How exploratory testing and security design interconnect
  • How threat modeling and exploratory testing work
  • What examples from live projects teach us

As an exploratory tester, one works in the world of empirical evidence to break illusions. Working in closely-knit teams in an agile fashion, threat modeling becomes a security-aware projects go-to tool to work on identifying tasks to address, mitigate and accept aspects of security.

In this talk, we look at lessons on combining exploratory testing and security threat modeling into a pair that is stronger together. We look first at the models threat modeling bases on and how those are, in practice generated, amended and corrected through exploratory testing. Then we look at the threats identified, and how exploratory testing can help understand and mitigate those.

There's a lot of depth to the types of problems our applications can have. It turns out, learning in layers and assuming there is always another layer to peer is a great approach for both threat modeling and exploratory testing. What the things that really block the convergence of functional and security testing?

About Maaret Pyhäjärvi
addremove
14.20
Martin Christensen
Amazing interactions through strong collaboration
Room: Homo Sapiens
Key takeaways
  • You will learn how good you are at interacting with other people in your work
  • You will get an understanding on how to improve your collaboration skills
  • You will be able to identify different levels of collaboration so that you can help others improve
  • You will understand what is bad Agile and what is great Waterfall

This session will give you a grasp of different ways to work and interact together. By combining a few different mental models concerning organisational maturity and collaboration skills, you will get a base for improvement. By illustrating what's known as good intra-team collaboration and inter-team interactions, you will get an idea what steps to take in your organisation to be more effective and efficient. By showing specific methods for working together, with strong ways to initiate a project on one end and working continuously with mob programming in the other, you will leave the session with some cool tools to try out. The methods discussed mostly come from the area of Agile UX and the collaboration frameworks are exemplified with variants of Scrum, Kanban and Lean Startup.

About Martin Christensen
addremove
15.40
Bartosz Milewski
The Earth is Flat: Exploring the Limits of Science
Room: Homo Agitatus
Key takeaways
  • I will try to maximally confuse and humble you.
  • You will start doubting your most basic assumptions.
  • You might get some new insights into the interplay between the human mind and the Universe.

The scientific method has been extremely successful, leading to exponential growth in our understanding of the Universe. But in real life no exponential can go forever. We will either explain everything in one grand unified theory, or we'll hit the wall. We hope for the former, but have to be prepared for the latter.

So far "understanding" meant decomposing complex systems into simpler components. That's what math is good for, and category theory in particular. That's how we write programs. But there is a new way of dealing with problems by training neural networks. Does that lead to "understanding" though? Is AI the killer of the scientific method?

About Bartosz Milewski
addremove
15.40
Pratik Patel
Task processing, APIs, and Big Data and in JavaScript: actionhero.js
Room: Homo Analogus
Key takeaways
  • Building API's in Node.js
  • Architecting server-side Node.js platforms
  • How this fits into a Java (or other platform) architecture

There's tons of options for doing data processing in other languages like Java and Python. With actionhero.js, you can use Nodejs's event loop model to create a scalable and cohesive API for processing and serving large amount of data. From the actionhero.js documentation, here's a quick synopsis of this great framework:

“actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks. The goal of actionhero is to create an easy-to-use toolkit for making reusable & scalable APIs.”

In this session, we'll use actionhero.js to build some examples, with lots of code, to demonstrate the capabilities of this framework. We'll consume some data, do some task processing, then access the data via an API. We'll use Websockets along with standard HTTP to build a real-time, web-enabled, application.

About Pratik Patel
addremove
15.40
Angie Jones
Which Tests Should We Automate?
Room: Homo Digitalis
Key takeaways
  • Identification of the key factors to consider when deciding which tests to automate
  • How to gather the data needed to make these decisions
  • How to mitigate the risks of not automating everything

More and more teams are coming to the realization that automating every single test may not be the best approach. However, it's often difficult to determine which tests should be automated and which ones are not worth it.

When asked “which tests should we automate?”, my answer is always “it depends”. Several factors should be considered when deciding on which tests to automate and many times that decision is contextual.

Join in on this highly interactive session where, together, we will explore features and associated tests then discuss whether the tests should be automated or not considering the factors and context provided.

About Angie Jones
addremove
15.40
Joshua Kerievsky
Modern Agile
Room: Homo Erectus
Key takeaways
  • You'll learn how safety is a doorway to excellence
  • You'll learn how great companies exemplify modern agile's four principles.
  • You will learn how to go beyond outdated agile processes with a simpler
  • You will understand how modern agile can help all areas of your organization

Genuine agility is enormously effective in helping us achieve our dreams. The trouble is, Agile has grown into a complex tangle of roles and rituals, frameworks and tools, processes and certifications. We need a return to simplicity. Modern Agile is here to help.

Designed for people in many domains (not just IT), Modern Agile is defined by four guiding principles: Make People Awesome, Make Safety a Prerequisite, Experiment & Learn Rapidly and Deliver Value Continuously.

Understanding and deeply practicing these four principles will help you get better results faster.

In this talk I’ll share how these four principles power world-famous companies and how they can help you work with greater speed, simplicity, safety and success.

About Joshua Kerievsky
addremove
15.40
Samuel Stern
Simple Mobile Authentication with Firebase
Room: Homo Ergaster
Key takeaways
  • You will learn why authentication is so important in your mobile app
  • You will learn why DIY auth is almost never a good use of your time
  • You will see how easy it is to let Firebase provide authentication for your mobile app
  • You will learn how to integrate FirebaseUI into an Android app

Authentication is one of the first things you build into any app and mistakes can haunt you forever. There's no reason to reinvent the wheel, Firebase can help you get auth out of the way and get it right the first time.

This session will demonstrate how Firebase Auth and Firebase UI can give you an ideal authentication flow in minutes.

About Samuel Stern
addremove
15.40
John Cutler
Beat the Feature Factory
Room: Homo Habilis
Key takeaways
  • 12 signs you are working in a feature factory
  • The roots of the feature factory mindset
  • What is "done"? Redefining done in your organization
  • Key

Do you work in a feature factory? How would you know? Why do we work this way? What can you do about it?

In 2016, I published a brief Medium post titled 12 Signs You’re Working in a Feature Factory. The response was overwhelming. Developers from around the world reached out to discuss the challenges of working in "output focused" development environments. On a human level we crave outcomes and impact, and something about the "build more and more features" approach was leaving people frustrated and unsatisfied.

In this talk we'll cover feature factories, why they exist, how they impact your businesses, and how you can shift the focus to outcomes and impact. Churning out features is no longer a competitive advantage (and can in fact harm your business and disengage your team). This talk will try to move us beyond the feature factory...

About John Cutler
addremove
15.40
Jessica Engström
UX in the 3rd Dimension
Room: Homo Sapiens
Key takeaways
  • How to avoid cybersickness
  • How to interact in the 3rd dimension
  • Better understand VR/AR/MR

Today we are able to leap into the virtual world with our apps, or even bring a piece of the virtual world to the real world we live in. How do you take the leap into the 3rd dimension without making your users nauseous? I will go through the differences in AR/MR/VR, new ways of interact with your application, how we identify where we can go wrong, how to fix it and a few pointers to keep in mind.

About Jessica Engström
addremove
16.40
Alex Soto
Deploy microservices with Certainty
Room: Homo Agitatus
Key takeaways
  • How to be sure that when you update a new microservice in your microservice architecture
  • You need consumer driven contracts and contract tests to ensure this.
  • One way of doing this is by end to end tests but in microservices architectures this is a really tedious and flaky way of doing it.
  • You'll get a better understanding on how to write tests to ensure that deploying a new microservice on the system doesn't break the other microservices which depends on.

In a monolithic application, different services are developed within same project side by side.

In these kind of applications you don't need to worry about breaking the compatibility between contract interfaces since there is an invisible verifier called compiler that checks that all method calls follows the defined signature.

But in case of microservices, different services are deployed in different runtimes and using different separated networks.

In this scenario, any change on the contract of one service cannot be caught by the compiler since there is no typesafe connection between services..

Now breaking the compatibility between services can be really easy and hard to detect (maybe until your new version of the service is on production).

In this talk we are going to explore why deploying a new version of a service might break everything in microservices architecture, and how to fix with consumer-driven contracts pattern.

About Alex Soto
addremove
16.40
Christoph Strobl
Going Reactive With Spring Data
Room: Homo Analogus
Key takeaways
  • You will learn about Project Reactor and Reactive Streams.
  • We will cover types like Flux and Mono but also have a look at RxJava1 and RxJava2 types.
  • We'll have a look at building reactive APIs using Spring Data reactive support for MongoDB and Redis.
  • If we have enough time we'll see how to use all that in combination with Spring 5 WebFlux.

Data access and application scalability are closely related. Applications employ threads until they are done with their work while most of the time is waiting for I/O. Reactive infrastructure shifts responsibilities to where they can be handled best. It’s a move towards data streaming that does not require upfront fetching and therefore optimizes memory and computational resources.

This talk covers what a stream is and how reactive data access leverages scalability bounds by applying the most natural way of data access with Spring Data and Project Reactor. If you are a developer looking to consume data in a functional reactive style, this is your chance to gain the experience how your application can benefit from streaming data access and to learn why not everything should be reactive.

About Christoph Strobl
addremove
16.40
Suz Hinton
Hardware and the Web - Strategies for Making Magic
Room: Homo Digitalis
Key takeaways
  • You'll walk away seeing a new perspective on the power of what web technologies bring to the table of hardware experiences.
  • You’ll take away a better understanding of how IoT systems fit together

Controlling hardware and creating IoT scenarios is now easier than ever thanks to the web and browser technologies. There are a lot of different ways to go about creating your own web based hardware solution though. There is also a lot of jargon and new acronyms to learn along the way.

This talk will demystify the jargon and show the most important tools and strategies to learn about. In this talk you’ll see demos and walk-throughs of several real world IoT projects using a variety of web platforms, including desktop and mobile. These examples range from the highly practical to the entertaining.

You’ll walk away with a better understanding of how IoT systems fit together, and how to approach creating your own magic hardware scenarios with ease.

About Suz Hinton
addremove
16.40
Neil Killick
How to not shoot yourself in the foot with estimation
Room: Homo Erectus
Key takeaways
  • How to avoid common estimation pitfalls.
  • How to create better transparency and predictability.

Common software estimation dysfunctions, how to avoid them and how that will dramatically improve your software delivery effectiveness.

About Neil Killick
addremove
16.40
Jessica Hummel
Challenges of an open source operating system
Room: Homo Ergaster
Key takeaways
  • You will learn about general general challenges an open source operating system can encounter
  • You will hear about real life examples using Android for demonstration.
  • You will learn between difference of large scale OS development and development of an independent app
  • You will

Operating Systems are the platform for many developers. Making sure that the api surface is consistent across different versions of an open source operating system is challenging. This talk will give an introduction to challenges which are demonstrated with real life examples. Examples are maintaining a consistent api surface, backwards compatibility, managing dependancies for developers that change the open source code, release latencies and others.

About Jessica Hummel
addremove
16.40
Mårten Kongstad
Resource overlays
Room: Homo Habilis
Key takeaways
  • Learn how resource management works in Android.
  • Learn how to extend resource pool in Android.

Has R.java ever made you wonder what exactly those strange number IDs mean? Do you want to know what powers the theming engines on your favorite devices and mods? In this talk learn from the creators of Runtime resource overlays exactly how resources are implemented in Android, how to use them most efficiently and further more how to replace them, split them and do just about anything with them using tools of OEMs and modders.

About Mårten Kongstad
addremove
16.40
Steffen Damtoft Sommer
From iOS- to Vapor developer; my experiences after working with server-side Swift in production for 6 months
Room: Homo Sapiens
Key takeaways
  • What server-side Swift and the Vapor framework is
  • What challenges you might face coming from an iOS background into server-side Swift and how to overcome these
  • How I have been working with server-side Swift in production for 6 months
  • Why I think Vapor is production ready

Diving into server-side Swift can seem straightforward at first if one knows the programming language, but it might be harder than you think since it involves developing on a new platform. I will walk you through my journey coming from iOS into Vapor, what challenges I faced, and which strengths I had coming from the iOS platform. I will talk about how these challenges can be overcome and I will share my experiences after working with Vapor in production for 6 months.

About Steffen Damtoft Sommer
addremove
17.40
Julian Togelius
What is AI? Can computers become intelligent through playing games?
Room: Homo Agitatus
Key takeaways
  • Artificial intelligence is an huge and diverse field comprising widely different technologies including deep learning and other types of machine learning.
  • Artificial General Intelligence is the quest for "real" AI
  • Games
  • AI can also benefit games in many ways

Artificial intelligence and games go way back. At least to Turing, who re-invented the Minimax algorithm to play Chess even before he had a computer, and to Samuel, who invented reinforcement learning in order to build a Checkers-playing program in the 1950s. Games are important for AI because they are designed to challenge and train human cognitive capabilities, and are thus uniquely relevant benchmark problems. They are also uniquely convenient benchmark problems, as they allow unbiased comparison between algorithms and can be executed thousands of times fast than realtime. While research on board games such as Chess and Go has been part of AI research since its inception, the last decade has seen the rise of a research community around AI for videogames, and not only for playing them. In this talk I will talk about what AI is and how videogames are essential for achieving it, and I will also talk about how AI methods can revolutionize game development.

About Julian Togelius
addremove
20.00
Imogen Heap
A night conversation with Imogen Heap
Room: Equality
Key takeaways
  • Learn about fair trade music industry
  • Learn about the Mi.Mu gloves

To be added

About Imogen Heap
addremove
Personal schedule
Time slot Event name Add to schedule
09.00
Kimberly Nicholas
How we solved climate change: A retrospective from 2050
Room: Equality
Key takeaways
  • People alive in 2017 will determine whether it’s possible to live a good life on Planet Earth now and for centuries to come.
  • Here we envision a future where humanity has succeeded in tackling climate change and providing a good living standard for everyone on Earth.
  • You will learn what is already underway what more needs to be done and what you can do to meaningfully contribute to solving climate change in your lifetime.

Looking back from our current position in 2050, where we have managed to transition to a zero-emission society and therefore avoid dangerous climate change, it’s hard to imagine the climate anxiety that previous generations experienced in the face of dire predictions of the impacts from continued fossil fuel burning and overconsumption. We will revisit the unlikely alliances and the technical, economic, and political innovations that made this transformation feasible, as well as the cultural shifts that made it possible. In particular, we will focus on the key roles played by creative citizens in highly industrialized countries that catalyzed this success.

About Kimberly Nicholas
addremove
10.20
Gojko Adzic
Designing for the serverless age
Room: Homo Agitatus
Key takeaways
  • You will learn how to get the most financial benefit from serverless architectures
  • You will learn the key differences in deploying applications to serverless vs usual container farms
  • You will learn how to avoid the common mistakes when migrating to serverless

Serverless architectures can bring significant benefits, but have a major impact on architecture, require teams to re-think how to approach sessions, storage, authorization and testing.

Gojko will present lessons hard learned from a year of rewriting

services to run in AWS Lambda.

About Gojko Adzic
addremove
10.20
Iván López
Test your java applications with Spock
Room: Homo Analogus
Key takeaways
  • Write better and more expressive tests
  • Improve your knowledge about how to test Java code
  • Learn a little bit of Groovy

Remember the old days when you tested using JUnit? How boring it was? You made a lot of excuses to avoid testing your code. Luckily those dark days now belong to the past because Spock is with us.

Spock is a Groovy-based testing and specification framework for Java and Groovy applications that makes writing tests fun again. We can write beautiful and highly expressive tests because of its DSL and all the power that Groovy provides us.

In this talk you'll learn the basics of Spock and you'll see how easily you can test a Java application. After the talk you won't have any excuse to don't test your applications, so you have been warned before coming to the talk!

About Iván López
addremove
10.20
Laurent Bugnion
HoloLens 101: First experiences with holographic computing
Room: Homo Erectus
Key takeaways
  • To be added
  • To be added

Microsoft HoloLens is a fascinating device, bringing augmented reality (or, to be precise, Mixed Reality) to a whole new level. Untethered, this Windows 10 PC is worn on your head, has a battery life of a few hours, can run any Windows 10 Universal app, can add virtual objects to the "real reality" and more. Everyone has to start somewhere! And this is where Laurent Bugnion, a 2D programming veteran, but a 3D newbie, had to start too. In this session, we will understand what a HoloLens device is, how it works, see live demos, and then see how the 3D development environment is setup. We will use simple examples to understand how coding works in the 3D world and how you can interact with holograms :) This session will be rich in new information and in demos, so come prepared to experience a new reality.

About Laurent Bugnion
addremove
10.20
Samuel Stern
The Habits of Highly Effective Developers
Room: Homo Ergaster
Key takeaways
  • What Firebase is more than just a database!
  • A peek in to Why we at Google do what we do.
  • Life learned experiences in what works and what doesn't
  • I'll show as well as tell

Research done into the habits of highly successful developers, and why we at Google have built Firebase the way that we did in order to help YOU be successful. What each technology is and does, including hands-on demonstrations of how to use them.

About Samuel Stern
addremove
10.20
Cindy Alvarez
Decoding Your Customers
Room: Homo Habilis
Key takeaways
  • Understanding how your future customers decide to use (or not use) your product
  • Spotting the cognitive biases that drive us away from the best product decisions
  • How to ask good (effective
  • ow to ask effective

In this session, I'll talk about how to understand your customers - how they're behaving, how capable they are of learning and changing, how they make decisions, what they care enough about to pay money or attention to fix.

It's not easy. Most of you have probably gotten feature requests, built them, only to find that your customers still weren't happy. Why? Because humans are terrible at expressing what they want. Blame cognitive biases (and learn how to counteract them).

We'll talk about how to outsmart your brain and decode what your customers want through asking smart questions and listening well.

About Cindy Alvarez
addremove
10.20
Claudio Ortolina
Practical Elixir Flow
Room: Homo Sapiens
Key takeaways
  • What is Flow and it can be used for stream processing
  • Error handling and recover

In this session we’ll see how to implement a data transformation pipeline with Elixir GenStage and Flow.

We will process a infinite stream of data, performing aggregations over specific metrics.

As we dive deeper, we'll also look at how to recover and manage failures and errors.

About Claudio Ortolina
addremove
11.20
Kris Jenkins
PureScript: Tomorrow's JavaScript Today
Room: Homo Agitatus
Key takeaways
  • What PureScript is
  • Why
  • How to dive in to modern

It's almost impossible to imagine the web without JavaScript. And as professional web developers, it's almost heresy to do so. But despite 20 years of maturity and a truly frantic pace of innovation, JavaScript isn't just the sea we swim in, it's also the shark trying to bite us. JavaScript is fragile, complex, and just plain hard to get right.

So if we imagined a modern JavaScript, one totally free from baggage, what would we have? Which of JavaScript's mistakes would it correct? What features would it ship with?

And what, if anything could it learn from the past 30 years of computer science research?

Simply put, it would look a lot like PureScript. PureScript is most of what we've learnt about programming language design in the place where we need the most help.

In this talk you'll learn what PureScript is, what strengths it offers you and what weaknesses it avoids. You'll learn what it can do and how you can do it, so you can get started with tomorrow's JavaScript today...

About Kris Jenkins
addremove
11.20
Sebastian Daschner
Cloud Native Java EE
Room: Homo Analogus
Key takeaways
  • You will learn why Java EE is indeed a good fit for the Cloud Native world.
  • You will see what it takes to implement adaptive and scalable applications and why developers should care about this topic.
  • You will be able to see live-coding with Java EE
  • You won't see boring slides

Why should developers even care about buzzwords like cloud native, resilience, reactiveness or scalability? Why is it a good idea to integrate these concepts into our application in the year 2017? And which technology to we need to realize this?

This session shows what it takes to implement cloud-ready, adaptive and scalable applications using Java EE, which extensions are out there that help us do the job and why Java EE perfectly fits the container and orchestration world. Most of the time will be spent live-coding.

About Sebastian Daschner
addremove
11.20
Tanya Kravtsov
10 Steps to Continuous Integration, Testing and Delivery
Room: Homo Digitalis
Key takeaways
  • You will learn how to identify bottlenecks in your organization's product delivery life cycle
  • You will discover tools
  • You will be able to start your search for better ways to automate the builds
  • You will have a clear picture of the target state and will be able to guide your organization towards the road to continuous delivery

DevOps is based on continuous delivery and anything that breaks the continuity is a bottleneck. While Agile and DevOps have become common terms in Development and Testing organizations, manual build and deployment processes are still causing problems along with integration and testing. In this session I will share my experiences along with tools and methods that facilitate the bottleneck discovery process while encouraging innovative thinking among team members. Join me to explore ways you can use various techniques to identify, prioritize, and resolve bottlenecks. Learn ways to deal with the most common bottlenecks that cripple development progress—data generation, test environment setup, test execution, and results analysis. I will discuss various automation tools and techniques that can help to address process bottlenecks and achieve a true Continuous Integration, Testing and Delivery state.

About Tanya Kravtsov
addremove
11.20
Kathleen Dollard
.NET Standard: The Easy Route to Platform Independence
Room: Homo Erectus
Key takeaways
  • What is .NET Standard and how does it relates to .NET Core
  • Discover the easy way to write once and run on many platforms
  • Learn guidelines for which versions of .NET Standard are your ideal targets
  • Future proof your apps by writing to the .NET Standard specification

Microsoft is moving to an Open Source and cross platform world, and they’ve created .NET Standard as a super-highway to get you there. With the .NET Standard 2.0 release, the specification includes most of the API’s you depend on in the .NET full framework (.NET 4.n). Because .NET Standard, .NET Core, Xamarin and UWP are all embracing this standard, your class libraries can be easily be cross platform. In this talk, you’ll learn more about the goals of .NET Standard and how it differs from PCLs (Portable Class Libraries). You’ll also see how to use the .NET Portability Analyzer to find any changes your app needs. To show that .NET Standard is not actual magic, you’ll learn a little about how redirects support binary compatibility. And, you’ll learn what happens when an API just doesn’t make sense on a particular platform and other potential pitfalls. You’ll leave this talk understanding why you care about .NET Standard and the path to move your applications to it.

About Kathleen Dollard
addremove
11.20
Philipp Krenn
The Holy Trinity of Observability: Logs, Metrics, and Traces
Room: Homo Ergaster
Key takeaways
  • How to monitor your application from all possible angles.
  • How to build a solution on open source tools exclusively.
  • How the ELK of last year learnt a lot of new tricks and is now called the Elastic Stack.

"With microservices every outage is like a murder mystery" is a common complaint. But it doesn't have to be! This talk gives an overview on how to monitor Spring Boot applications, since they are increasingly popular for building microservices. We dive into:

* System metrics: Keep track of network traffic and system load.

* Application logs: Collect and parse your logs.

* Uptime monitoring: Use Heartbeat to ping services and actively monitor their availability.

* Application metrics: Get the information from Boot's metric and health endpoints, store it, and visualize it.

* Request tracing: Use Sleuth to trace requests through a distributed system and Zipkin to show how long each call takes.

And we will do all of that live, since it is so easy and much more interactive that way.

About Philipp Krenn
addremove
11.20
Ben Oberkfell
Advanced Android Fingerprint Security
Room: Homo Habilis
Key takeaways
  • You've seen how to do fingerprint auth against a server
  • Let's talk about more advanced features and new things in Android N
  • You'll learn how to use fingerprint to support encrypting data at rest
  • We'll explore through a sample diary app.

I've spoken in the past on how to secure critical server interactions with fingerprint authentication. Let's take a deeper dive into other useful applications of this feature in Android, including securing encrypted data at rest with your user's fingerprint.

We'll explore this through a sample diary app that encrypts your secret entries at rest.

About Ben Oberkfell
addremove
11.20
Rene Schulte
HoloLens 301: Advanced Mixed Reality Development and Best Practices
Room: Homo Sapiens
Key takeaways
  • Why Mixed Reality is not just Augmented Reality.
  • How to write advanced HoloLens apps.
  • How to be more efficient while developing Mixed Reality apps with Unity.
  • What Rene's team has learned developing for the HoloLens since 2015.

The year 2017 is the year of Mixed Reality (MR) with devices like the Microsoft HoloLens which are turning science fiction movie technology into reality.

Through live code demos, you will leave this session understanding advanced development topics like Hand Proximity Interactions to create even more compelling HoloLens applications. Rene will demonstrate some of the apps he and his team worked on since 2015, and share how they were able to overcome challenges. 

His best practices and recommendations will help you avoid pit falls, and show you how to take your own Mixed Reality apps to the next level.

About Rene Schulte
addremove
12.20
Gojko Adzic
People that make computers go crazy
Room: Homo Agitatus
Key takeaways
  • common wrong assumptions about people that end up breaking software
  • how to properly deal with names

What happens to people whose last name makes them invisible to software, how the world's longest name broke a supercomputer, and why it's so hard to detect false names online.

Gojko will present stories about problems caused by wrong assumptions in computer systems, when they face the hard, unforgiving punch of reality.

About Gojko Adzic
addremove
12.20
Ondro Mihályi
5 ways to improve your Java EE applications in reactive way
Room: Homo Analogus
Key takeaways
  • You will learn how to apply reactive concepts in practice
  • You will learn when and why to build reactive applications and why not
  • We'll talk about the difficulties with reactive and asynchronous programming
  • You will see live how the performance of a complex application can be gradually improved with reactive approach

Have you wondered how you can improve the performance of your applications under high load? You probably heard that reactive design can help meet better response times and make your applications more flexible. I will show you that you don’t need to rewrite your Java EE applications from scratch to achieve that.

We’ll go through 5 ways how to reuse the knowledge of Java EE and Java 8 to improve your existing applications with a reactive design. We’ll apply them to a big production-like application step by step, walking through the code and demonstrating live. In the end, we’ll compare how much the performance and user experience can be improved. All that without learning a new framework or library, and limiting the amount of changes in the application source code to a bare minimum.

About Ondro Mihályi
addremove
12.20
Pratik Patel
A Gentle Introduction to Functional JavaScript
Room: Homo Digitalis
Key takeaways
  • How to write idiomatic Functional JavaScript
  • How to write clean JS for better testing
  • Techniques for understanding how to write maintainable Functional JavaScript

Functional Programming is available in many programming languages today. You probably know that FP is possible in JavaScript - but did you know that writing FP style JavaScript will lead to cleaner, more maintainable code? In this session, we'll explore writing FP style JavaScript and cover the basics, and intermediate techniques. We'll do a functional refactor and explain the reasoning along the way.

We'll use mostly basic JavaScript and the underscore library for code examples to demonstrate Functional Programming in a simple to understand, and more practical, way.

About Pratik Patel
addremove
12.20
Filip Ekberg
The State of C# - What Have I Missed?
Room: Homo Erectus
Key takeaways
  • What is new in C# 7
  • What to expect in C# 8
  • How to adapt to the new features of the programming language C#

One of the most popular programming language on the market is getting even better. With every iteration of C# we get more and more features that are meant to make our lives as developers a lot easier. Support for writing (hopefully) better and more readable asynchronous code, being able to do pattern matching, tuples, deconstruction and much more. These are just a few of the many additions to C# that we’ve seen lately.

Join me in this session to explore what you’ve missed in one of the most fun to work with programming language on the market; C#!

About Filip Ekberg
addremove
12.20
Marcos Placona
♫ These are a few of my favourite (Android) Things ♫
Room: Homo Ergaster
Key takeaways
  • How to get started with Android Things
  • How to build your first "Hello IoT" application
  • Which are the best Android things boards out there
  • Ho to build a real life IoT device using the components and boards you already have

Android Things lets you build professional, mass-market products on a trusted platform without previous knowledge of embedded systems. It is estimated that by 2020 there will be 50 billion connected things.

But what does it take to get started with Android Things and be able to say you’re truly working with the Internet of Things? How can you learn this platform and get ahead of the IoT revolution using your existing Android skills?

In this session we will explore what Android Things is and how you can get started building IoT applications with your existing Android knowledge.

We will then build a real life Android Things application using a Raspberry Pi 3 and Android Studio, the IDE you already use and love.

About Marcos Placona
addremove
12.20
Allard Buijze
Hands-on CQRS using Axon Framework
Room: Homo Habilis
Key takeaways
  • You will see first-hand how to build a decomposable monolith
  • How easy it is to create an event-driven service
  • Be prepared to rethink how you build software...

In new software projects, we often spend a lot of time on the technical details of the solution. Will we use message queues? JMS, AMQP or Kafka? Hystrix for the communication between components? Deploy on Kubernetes or Mesos?

Yet, these are aspects that do not initially generate the business value. After a few moneths, there is a beautiful technical solution, but we don't know if anyone is interested in the functionality.

In this "no slides, just code" session, you will see hands-on how Axon Framework can be used to focus on the business logic, while building a solution that can be scaled up and out when the need arises. Axon uses DDD and CQRS to focus on the domain and clearly separates this functionality from the infrastructure logic.

About Allard Buijze
addremove
12.20
Carsten Schuette
Real world implementation of Template 10
Room: Homo Sapiens
Key takeaways
  • See how Template 10 can help you creating great UWP applications.
  • Having the same codebase
  • Also learn how we did extend Template10 to have a service-oriented architecture and dependency injection in UWP apps.

Template 10 is great framework to build Universal Windows Platform (UWP) applications for Windows 10. UWP is a platform-homogeneous application architecture created by Microsoft. Its purpose is to develop universal apps that run on any Windows 10 device without the need to be re-written.

Having the same codebase, the real world application maxdome is an UWP application that runs with a completely different UI on Desktop, Mobile and Xbox. Maxdome is a Video-On-Demand service mostly for the german market. It was created using Template 10.

In this session you will learn how we used Template 10 to create a great user expierence on mutliple platforms. We will also show you how we extended Template 10 to have a service-oriented architecture and dependency injection in UWP apps.

About Carsten Schuette
addremove
13.20
Rikke Koblauch
Passion projects, pixels and process
Room: Homo Agitatus
Key takeaways
  • A brutally honest and human story
  • and a handful of learnings
  • you can apply to your own passions and projects.

Rikke Koblauch is a product designer crafting for the small screens. Designing experiences for everything from big global brands to personal silly side projects - but really she is just a maker and have been creating things for the internet since she was 12.; She recently left her full-time job at ustwo to start her own adventure.; Building Steps, an app helping people overcome social anxiety - her talk will be about the process turning passion into projects, the emotional rollercoaster and all the learnings that comes with it.

About Rikke Koblauch
addremove
13.20
Martin Skarsaune
Java debugging tips & tricks
Room: Homo Analogus
Key takeaways
  • Recent debugger features
  • Debugging strategies

If you really want to find out what goes on inside your Java application, then the debugger is your best choice.

Are you aware of all the things modern debuggers can do?

With recent Java language advances such as lambdas, and rapid improvements by the IDE vendors it is a good time to revisit Java debugging.

We will go through some common use cases and solve them using debugging features and strategies in IntelliJ IDEA, Eclipse and Netbeans:

Smart breakpoints and stepping, lambdas, monitoring classes and instances, concurrency, etc.

So come along for some debugger magic!

About Martin Skarsaune
addremove
13.20
Daniel Vacanti
Actionable Agile Metrics for Predictability
Room: Homo Digitalis
Key takeaways
  • Learn the real Agile Metrics you should be looking at for better process predictability
  • You will also learn how these metrics can allow you to improve the effectiveness and efficiency of your process overall
  • You need very little data and you probably already have all the data you need to get started
  • Walk away with the ability to make better forecasts immediately

“When will it be done?” That is the first question your customers ask you once you start work for them. And it is the only thing they are interested in until you deliver. Whether your process is predictable or not is judged by the accuracy of your answer.Think about how many times you have been asked that question and think how many times you have been wrong. That your answers to that question have been wrong more times than right is not necessarily your fault. You have been taught to collect the wrong metrics, implement the wrong policies, and make the wrong decisions. Until now. This session will introduce how to utilize the basic metrics of flow to more effectively manage the complexity associated with every day software development. In it, you will learn how to use those metrics to drive predictability at all levels of the organization. Your customers demand predictability from you and you demand predictability from your teams. Isn’t it time you started to deliver on your promises?

About Daniel Vacanti
addremove
13.20
Josh Lane
Getting the Most from NoSQL in the Cloud with Azure Cosmos DB
Room: Homo Erectus
Key takeaways
  • How can I optimally partition my data in Cosmos DB for maximum performance and scale?
  • What are the best practices for migrating from relational to NoSQL or using them together?
  • How can I minimize request latency for geo-distributed applications using Cosmos DB?
  • What are configurable data consistency levels in Cosmos DB and why should I care?

Non-relational databases like MongoDB and Cassandra have achieved mainstream adoption, and a growing minority of software developers appreciate the advantages of NoSQL and polyglot storage models. The rise of public cloud providers like Amazon and Azure brings even more choice in the form of “serverless” NoSQL like DynamoDB and Cosmos DB. But what are the pros and cons of a managed NoSQL service? And how do you minimize cost while also maximizing performance and scale?

In this practical, hands-on talk we’ll dive into real-world advice on how to maximize your use of Azure Cosmos DB. We’ll consider the implications of easy and fast geo-replication, schema-less data storage, configurable data consistency, seamless data partitioning, and more. We’ll discuss best practices for migrating from relational to NoSQL, or using them together; we’ll even talk about use cases where Cosmos DB is not a good fit. Prior knowledge of NoSQL and relational databases is recommended.

About Josh Lane
addremove
13.20
Maxim Salnikov
The Mobile Web Second Edition: First-Class Citizen on Your Device Now
Room: Homo Ergaster
Key takeaways
  • You will get an overview of the webtech-driven ways to create the apps for mobile
  • You will learn pros and cons of each approach
  • You will understand: using web tech to create mobile apps is a very bad idea. Right after you will understand - this is a cool idea if use the proper tools!
  • You will know which technology to use each time you have "create an app" task

They are so similar: Web and Mobile apps. What a nice option to use our web development experience to create cross-platform native-like applications. Is it that simple? What are the pros and cons of mobile web VS native? What is the difference between hybrid mobile apps, progressive web apps and JavaScript-compiled-to-native ones? Let's find the answers together!

Attendees will get an overview of modern concepts for building web-based mobile applications, pros and cons from tech and business sides. Bonus: some practical advices on when to go for this option.

First I'll give an idea: to use our JavaScript code for creating mobile applications. I'll mention and demonstrate some frameworks from those days. Right after I'll "destroy" this idea with some serious counter-arguments. Then I'll explain what could the renaissance of mobile web idea look like: using web workers, creating progressive web applications and compiling to real native code using some next generation frameworks.

About Maxim Salnikov
addremove
13.20
Joshua Arnold
Cost of Delay: better prioritisation, trade-offs, conversations
Room: Homo Habilis
Key takeaways
  • How a Fortune 500 company used an economic framework across a $100m portfolio to improve prioritisation.
  • Why alternatives (like HiPPO
  • How to change the focus away from cost and dates onto something that helps the team make better decisions

“Cost of Delay is the golden key that unlocks many doors. It has an astonishing power to totally transform the mindset of a development organisation.”

– Donald G. Reinertsen.

This session will look at Cost of Delay, what it is and how it helps in three areas:

Improving Prioritisation:

Use Cost of Delay to surface assumptions & focus on what's valuable and urgent. CD3 helps you get more of what you want, faster. If you want to move on from prioritisation by gut-feel, MoSCoW hell or HiPPO-driven decisions, you need to understand Cost of Delay.

Making Better Decisions:

Product Development is full of tradeoffs. What are our queues costing us? Use Cost of Delay for better decisions and enable distributed decision-making at all levels in your organisation.

Changing the Conversation:

If the system has little or no information about value and urgency it will optimise for other things – typically cost and dates, which tends to drive the wrong behaviours.

About Joshua Arnold
addremove
13.20
Soroush Khanlou
You Deserve Nice Things
Room: Homo Sapiens
Key takeaways
  • You will learn when to extend classes in Swift
  • You will learn what rules to follow to decide how to extend classes
  • You will learn why Apple doesn't include these niceties for us

"You Deserve Nice things" is an exploration of extending system classes in Swift. Class extensions are a first class feature of Swift's and by using them, we can gain more expressive, more powerful, and easier to read code. Sometimes, though, it's hard to decide what logic belongs in an extension and what logic belongs in a separate type.

Soroush will provide a framework through which you'll be able to understand when and why to extend system classes to add new functionality. He'll also give a few examples of useful extensions that you should add to your projects today.

About Soroush Khanlou
addremove
14.20
Gleb Bahmutov
The future belongs to you (and your JavaScript)
Room: Homo Agitatus
Key takeaways
  • Which latest web application frameworks are hot now and which ones are going to be HOT tomorrow
  • How do you code an offline app
  • How you test without testing
  • What do you need to know about immutable deploys

There are a few web frameworks that are all the rage right now: React, VueJs, but which frameworks are going to be HOT tomorrow and why? I will talk about functional reactive web applications you can write today, and why they are going to rock tomorrow. We are going to touch upon offline applications (using ServiceWorkers) and why some databases are better than others. Plus I will show how a testing trapezoid is going to save your career. Finally, we need to sit down to have a real talk about Dev Ops; if immutable data structures help you code better apps, then immutable artifacts and deploys are going to change your entire pipeline.

About Gleb Bahmutov
addremove
14.20
Edson Yanaga
Cloud Native Java with Kubernetes
Room: Homo Analogus
Key takeaways
  • If you've seen Josh Long's live coding session
  • But I'll show how to achieve much more with less coding
  • We'll live code & refactor an application to "fit" into the Kubernetes model
  • We'll also learn how to use sidecar containers like Envoy and Linkerd.

"We all want to craft Cloud Native Java applications that are modern, scalable and resilient. We're all aware by now that we need centralized configuration, log aggregation, monitoring, healthchecking, circuit breakers, tracing, service discovery, and more! What if instead of having to code all of this we could have all of these features provided to our system in a non-intrusive way? Without having to rearchitect everything all over again?

Come and join us on this session when we'll show you how to leverage your new Spring Boot application (or even your Java EE one) with the Kubernetes Platform. We'll convince you that you don't need to manage many different services by yourself to have a true Cloud Native application. You can rely on Kubernetes services to solve most of the problems. For the rest of them you can use alternatives like sidecar containers to offer added-value functionality without having to add even a single @Annotation!"

About Edson Yanaga
addremove
14.20
Cornel Hillmann
Why mobile VR is winning
Room: Homo Digitalis
Key takeaways
  • How to succeed in mobile VR development by using the Unreal engine
  • What aspects of non-gaming VR is important to businesses
  • Why the VR evolution is driven by mobile VR
  • Which upcoming tech will be important to the growth of Mobile VR

Mobile VR, spearheaded by the Gear VR is growing rapidly, outpacing stationary VR by user base. A number of key advantages make mobile VR ideal for businesses. This talk is focused on sharing notes on mobile VR development for the Gear VR using the Unreal engine and observations on the outlook of mobile VR in general.

About Cornel Hillmann
addremove
14.20
Huyen Tue Dao
Cool ConstraintLayout
Room: Homo Ergaster
Key takeaways
  • What are the basic and advanced types of constraints you can create.
  • How to use virtual helpers and chains to build even more complex layouts in declarative ways
  • How you can use ConstraintLayout to easily create delightful transitions in your layout
  • How you can use ConstraintLayout as a different approach to custom layout logic

ConstraintLayout is a new layout on Android. You may often hear comparisons of it to existing layouts in terms of functionality and performance. While ConstraintLayout is comparable to these layouts in many ways, it actually has many new features and ways of building layouts, apart from a shiny new UI builder.

In this session we will look at examples of utilizing the functionality unique to ConstraintLayout to more easily build layouts and transitions.

About Huyen Tue Dao
addremove
14.20
Jorge D. Ortiz-Fuentes
Implementing Concurrency in an Advanced Architecture
Room: Homo Habilis
Key takeaways
  • Provide background on how to implement an advanced architecture in an iOS app written in Swift
  • Understand the two typical scenarios: backend (frameworks) and interactors.
  • Understand the alternatives to implement it: protocols
  • See some implementations using the different alternatives and learn advantages and disadvantages of them.

Implementing a good architecture in our mobile apps is really useful because the code is more robust and testable, easier to extend, and to reuse.

I have shared my own interpretation of the clean architecture with many teams around the world, both as an instructor and as a consultant, and one of the questions that I get more often when the people gets familiar with the basic piece of the architecture is "what is the best way implement concurrency in this architecture?"

Even if you haven't implemented a Clean Architecture variant in your app yet, you can enjoy the session, because I will provide some context on how I propose to do the basics.

In this session I will share with you my views on the constrains for that implementation, the different "tools" that we can use (protocols, closures, Rx...), where to use those tools, and show real code that implements them.

This is a must go if you are into advanced architectures for mobile apps. Join me for this one!

About Jorge D. Ortiz-Fuentes
addremove
14.20
Johan Öbrink
Recruitment starts at the firewall
Room: Homo Sapiens
Key takeaways
  • How to explain to your boss
  • that you should be admin of your computer
  • because you are a professional
  • who deserves better

We started as explorers. Then we became realists. Now we are resources. Soon we will be obsolete.

Every company wants to recruit the best but no-one knows how. At the same time, we allow our profession, our talent and our lives to be reduced to hours and cost. This is a synergy of disaster – but it doesn't have to be. The interests of reclaiming our pride in our profession and the demands of profit are not at odds – we just think they are.

About Johan Öbrink
addremove
15.40
Christina Lee
Kotlin: Beyond the Language
Room: Homo Agitatus
Key takeaways
  • Kotlin encourages best coding practices and surfaces code smell in the Java files it interacts with.
  • A build system made with Java in mind will hiccup when handling a mixed codebase. Build tools should be the biggest consideration when integrating Kotlin
  • There is coding danger on the boundaries where Kotlin and Java interact and developers should pay strict attention to these areas.
  • Kotlin is young enough to not have established style guides or idiomatic language guides. On-boarding becomes all the more important in such an atmosphere.

At this point in time, most Android developers have heard of Kotlin and are familiar with some of its advantages. In previous talks, I've covered why and how developers in large companies can attempt to introduce a new language, and all of it's associated paradigms, into a legacy codebase. In this talk, we'll cover some of the more advanced components of introducing a new language, including on-boarding new team members, orchestrating team wide trainings, setting code and style guidelines, and adapting existing infrastructure tools to accept hybrid codebases. This talk aims to go beyond the why's of adopting Kotlin and into the how's of actually doing it, giving the developer a framework to use when thinking about adopting (or not) Kotlin into their own codebase.

About Christina Lee
addremove
15.40
Rudy De Busscher
New in Java EE 8, the Java EE Security API
Room: Homo Analogus
Key takeaways
  • You will be able to create a secured web application with the Java EE 8 new Security API.
  • You will understand the underlying concepts of the new Security API and create custom implementations.

The presentation gives an overview of the current status of the Java EE Security API work, part of the upcoming Java EE 8 specification.

By starting why there is a need for such a new specification, we will cover the main concepts related to security.

Soteria is the reference implementation of the specification. Although the spec is targetted to Java EE8, we can use it in several Application servers already. Various common use cases will be presented in a demo.

Developers feedback is important to reach a good specification which can please the developers. At the end, there will be room for questions, remarks, feedback, etc...

About Rudy De Busscher
addremove
15.40
Mattias Severson
Going Serverless
Room: Homo Digitalis
Key takeaways
  • How to work with the AWS Serverless Application Model
  • What are the pitfalls when working with serverless applications
  • Why you should automate everything
  • Which strategy to use with serverless on AWS

Serverless architecture is just passing the initial hype and both services and tooling have evolved significantly since their initial announcements. Getting started is easy, but how do you move from a simple proof of concept towards a production environment?

During this session we will show you how to work with the AWS Serverless Application Model. We will share our experiences and AWS recommendations. As a developer, you will appreciate the rapid development since you can apply your existing skills and tools. As a DevOps, you will enjoy automated deployments with version controlled infrastructure and no servers to worry about.

About Mattias Severson
addremove
15.40
Dina Goldshtein
Self-Aware Applications: Automatic Production Monitoring
Room: Homo Erectus
Key takeaways
  • You will learn how to build applications that monitor their own resource consumption
  • You will learn how to inspect your application’s internal data structures and threads
  • You will learn how to automatically triage application issues in the field

The road to zen winds through self-monitoring applications, which can reduce the time and effort in diagnosing and correcting production issues. In this talk, we will see how modern Windows applications can self-monitor, self-diagnose, and potentially self-recover without needing an external monitoring agent or a brute-force restarting watchdog. By harnessing the power of ETW for low-level accurate monitoring, Windows performance counters for zero-overhead statistics, and the CLRMD library for inspecting your own threads, heap objects, and locks, you can take your applications one step closer to self-awareness. This will be illustrated through a series of demos: automatic CPU profiling and pinpointing the busy threads and stacks; automatic GC monitoring, including object allocations; automatic heap analysis to reveal unraveling memory leaks; and more. At the end of the talk, you will be equipped with tools and techniques for implementing self-monitoring in your own applications.

About Dina Goldshtein
addremove
15.40
Filip Ekberg
Successful Code Sharing Principles for Mobile Development
Room: Homo Habilis
Key takeaways
  • How to share code between iOS and Android in a .NET mobile application
  • How to avoid pitfalls when choosing a code sharing strategy

Building mobile apps is hard work, getting code shared across the different platforms is even harder. Honestly, I’m lazy and I don’t want to repeat myself so I do whatever I can to only write code once, and have it work everywhere.

If you’re like me and want to optimize your time and be more efficient building mobile apps, join this session where we’ll explore some good, and bad, practices to get code shared across different mobile platforms when using C#.

About Filip Ekberg
addremove
15.40
Joshua Arnold
How to Train Your HiPPO: (Highest Paid Person's Opinion)
Room: Homo Sapiens
Key takeaways
  • Understand why the HiPPO is so dangerous in product development
  • Learn about 5 things you can try to help manage the HiPPO in your organisation

Have you noticed the impact when someone more senior in your organisation shares their opinion? Meet the HiPPO: the Highest Paid Person’s Opinion. Sometimes it’s subtle and unintended. Other times it’s more direct and intentional. Either way, the HiPPO is a dangerous animal in Product Management.

When we allow the HiPPO to drive decision-making we hide critical assumptions. Value and urgency is buried. MVP scope becomes massive. Roadmap dates become commitments. Options get prematurely closed down and the chances of discovering black swans is reduced. Indeed, the HiPPO is one of the most dangerous animals to let stomp around in Product Management.

Whilst the HiPPO likes to be in charge, none of us want to be responsible for developing products that nobody wants. How can we help the HiPPO to help themselves?

This workshop is a chance to learn and practice a few simple techniques for training the HiPPOs in your organisation.

About Joshua Arnold
addremove
16.40
Kurt Leucht
Pioneering Mars!
Room: Equality
Key takeaways
  • The audience will learn about cool technologies that NASA is developing and testing to prepare the way for human colonists to live and work on Mars for long duration missions.
  • The audience will be inspired by this vision of human explorers living on Mars in the future.

The year is 2040, and human colonists have been living on the surface of Mars for over 6 years. But how did we get here?

This talk explores the unmanned missions that paved the way. Along with the scientists, researchers, engineers and technicians back on earth that made it all happen. They were pioneers and visionaries. They were explorers and adventurers, even though they didn’t actually travel to Mars along with the astronauts.

They invented new techniques to find and collect hidden resources on Mars. They figured out how to process those resources into useful products ... like water, breathing air, and rocket fuel. They invented technologies to build structures and roads from just the local Martian materials. They came up with new ways to live off the land on Mars so we wouldn’t have to bring everything with us on that long and expensive journey.

We could never have colonized Mars without these in-situ resource utilization (ISRU) technologies. This is their story.

About Kurt Leucht
addremove

Partners

Best companies