Mon

08.30-1700

Hacking the creative brain

As tech professionals, what we need is a way to work better so that we can create more, right? Through exploring various concepts and approaches, including the neuroscience of creativity, productivity techniques, and emerging practices that spur innovation, we'll discover not only the ways in which our brains work best, but also what’s behind the times when we feel on fire with creativity and when we don't. We’ll translate this information into processes and techniques for dramatically enhanced creative productivity. Beware: this workshop challenges the standard norms around concentration, focus, productivity, and may change how you work…for the better.

Other sessions:

08.30-1700

Leaving the Waterfall and Leading with Agile

The road to Agile is never easy. For those who are transitioning from a traditional project environment and mindset, the journey can be even more difficult. This 1-day workshop is designed to help project and team leaders who are transitioning away from a traditional/waterfall environment towards Agile. This course will enable them to deepen their awareness of how subtle shifts in language, culture and leadership style can mean the difference between Agile success and waterfall failure.

Other sessions:

08.30-1700

Build automation with Gradle

Gradle combines the power and flexibility of Ant with the dependency management and conventions of Maven into a more effective way to build.

This hands-on Gradle workshop covers topics such as: Fundamental Groovy & Gradle concepts, getting started with Gradle, authoring build scripts, using tasks and plugins, building Java projects, automated testing, and multi-project builds. About half of the time is spent on practical exercises, so don't forget to bring your laptop! Pairing is encouraged.

08.30-1700

Spring Application Development

The Spring ecosystem is growing by leaps and bounds, and - as often as not - the question is not whether Spring can handle the problems facing today's developers, it's about how. Join Spring Developer Advocate Josh Long for a walking tour of the SpringSource ecosystem and projects, how they fit together, and when to apply them.

08.30-1700

Meteor Workshop

Meteor is a full-stack JavaScript framework with a focus on simplicity of interfaces and ease of development. Built on continuously synchronized data collections, it's realtime by default, which means that you can build a interactive application as easily as adding a few lines of code to a static website.

08.30-1700

DDD Architecture Brain Load

See how several different architecture styles and patterns can be used to support your DDD projects. We will look at the following: Layers; Dependency Inversion Principle; Hexagonal; CQRS; Event-Driven Architecture for Pipes and Filters, Long-Running Processes, and Event Sourcing; Grid/Fabric; and Actor Model.

08.30-1700

Legacy Code Retreat (Rescuing Legacy Code Without Fear)

Few forces limit your ability to deliver the way that legacy code does. At Code Retreat (http://www.coderetreat.com), you focus on the craft of software development by working on a very simple exercise with a wide variety of people and in a wide variety of ways. Legacy Code Retreat (http://www.legacycoderetreat.org) runs a little differently. We give you a code base to start from (in 14 programming languages so far) and we guide you with the techniques that have helped us most in our work.

08.30-1700

Getting started with Ubuntu on phones

Start using Ubuntu on your phone, either as a user or as a developer.

Join this interactive session and bring your developer device (*) to install Ubuntu on it. You will learn the basics of the Ubuntu UI, how to set up a development environment with the Ubuntu SDK, how to write your first Ubuntu app and publish it in the store.

To participate interactively, please bring your laptop and a phone (*) with you.

(*) Supported devices at this time are Galaxy Nexus, Nexus 4, Nexus 7 and Nexus 10

Tue

08.30-17.00

Value driven product development

You have an idea for a product. You have to figure out how to deliver software that will delight your customers. You want to ship something of value now!
You are a business person with an idea for a product, or a product manager trying to meet your customers’ increasing demands for new features now, or a programmer struggling with unrealistic deadlines. If you want to deliver more value with less software, then you need this course.

08.30-17.00

Mastering Continuous Inspection with Sonar

This one-day course, designed by G.Ann Campbell and Patroklos P.Papapetrou the authors of Sonar In Action, is the ideal hands-on workshop to learn the core concepts of source code software quality and how to eventually adopt continuous inspection in your software development lifecycle, using Sonar.
It is intended to teach developers,testers and software architects how to use this open-source tool to continuously track and improve the quality of their source code

08.30-17.00

Effective mobile test automation

This workshop will cover various practices to help you design and implement more useful, effective, reliable and maintainable automated tests. These practices will include:
· Test Automation Design Patterns
· Using current test automation frameworks; and extending them to create more readable and succinct tests
· Approaches to write tests before, during and after writing the code you want to test
· Ways to make your app easier to test
· Ways to get started based on your context

08.30-17.00

Getting Started with Java EE 7

The Java EE 7 platform focuses on boosting productivity and embracing HTML 5 with APIs like JAX-RS 2, JMS 2, JBatch, Java EE Concurrency, WebSocket, JSON-P and JSF 2.2. This hands-on lab will provide a comprehensive introduction to the updated Java EE 7 platform using GlassFish 4.Although the primary focus will be on new APIs, we will take a holistic approach to the lab and also cover the features introduced in EE 5and EE 6 such as the ones in EJB 3, CDI, JPA, Bean Validation and JSF.

Other sessions:

08.30-17.00

Continuous Delivery

This tutorial covers the complete continuous delivery ecosystem, from continuous integration and automated testing to database and infrastructure automation. We'll cover the deployment pipeline, patterns for low-risk releases, and architecting for continuous deployment.

08.30-17.00

Git and GitHub Advanced Tips and Tricks

Git and GitHub are tools that "can be learned in a day, but take a lifetime to master." We've packed dozens of our favorite practical tips and tricks into a half-day hands on workshop. This session takes students who've worked with Git and GitHub for a while and showcases efficient new ways to do existing tedious tasks.

08.30-17.00

How we hack your website - and how to protect yourself

In a demo and code intense day we will demonstrate how to exploit the most common security flaws in today's web applications and what you as a developer should do to cover your a**, i.e. write secure code. Building secure websites have never been more important than it is today. This workshop will cover the 10 most common security flaws in web applications regardless of web platform with demos in ASP.NET.

Wed

08.30-09.45

tekhnasthai

Technology is known for the art of disruption. It is celebrated among the initiated and invested. For people who have little concern for a clean UX or frictionless processing, disruption is just plain disruptive. The problem with disruption is one of story. In this talk, I'll ask us to think of ways to hear the story telling itself between spaces: investigation, preparation, scoring, application, performance, recitation and reiteration. Transition made by art, not artificially disruptive change.

10.00-10.50

NodeJS: the good parts? A skeptic’s view

In this talk, a curmudgeonly server-side Java developer who was initially horrified at the thought of server-side JavaScript shares his experiences with the technology. Although he remains convinced that the popularity of JavaScript is a great example of the Stockholm Syndrome you will learn about the practical uses of NodeJS.

10.00-10.50

The very near future of a richer, standards based web

The web is getting richer day by day and there are amazingly exciting technologies brewing that need your input. Learn about the merits of CSS3, the power of Web Compontents, realtime collaboration and access to camera and audio input with WebRTC and how asm.js brings C++, Java and .NET solutions to the web across browsers and devices.

10.00-10.50

The future of Java in the grander scheme of things

Learn about Oracles roadmaps for Java SE and the embedded versions of Java. Understand how Java will fit into a new, connected, world.

10.00-10.50

Being Lean in the Cloud: Continuous Deployment with Amazon Web Services

Improve, validate, iterate. Current development practices promote avoiding waste - a challenging task, especially in a traditional infrastructure. With programmatic control over your environment Amazon Web Services lets you optimize the infrastructure as needed and treat it as another versionable aspect of your application.

Learn how both start-ups and enterprises use AWS to increase their rate of innovation and continuously deliver new functionality to users in a cost efficient way.

10.00-10.50

ZeroMQ – A Whole Bunch of Awesome [C# Edition]

In this session, we will look at Zero, what it gives us, and then dive right into C# code to see how simple it is to set up systems like request-reply, pub-sub, etc. We’ll even look at adding distributed workers on the fly. If you’re not using Zero – you should be!

10.00-10.50

Scaling mobile development at Spotify

What happens when your mobile app is no longer being developed by a small group of developers hacking away in a crowded room? How do you handle multiple teams submitting code in parallel to the same application package without giving up on quality and speed? Spotify has recently made that journey and here we share some of our experiences.

10.00-10.50

New Frontiers For In-House Legal Practice

This presentation follows the journey of Lonely Planet's in-house legal team from the traditional model of having workflow managed by a partner or senior lawyer to becoming an agile service provider where workflow and priorities are managed by the team. It discusses the basic practicalities of how the change was effected in a non-IT environment and looks at the challenges posed by culture and geography. Also discussed are add-on processes that enhance team performance in an agile environment.

11.10-12.00

What is new in XAML for Windows 8.1

This session will give you an overview of what is new in XAML for Windows 8.1 apps. We will look at a lot of demos of new controls, new commanding and navigation patterns and performance enhancements. We will also look at Visual Studio improvements around XAML and a lot more.

11.10-12.00

Taking a PaaS on the Hard Stuff with Cloud Foundry

Isn't life hard enough without deployment troubles? Isn't life hard enough as a new engineer on a team without reproducible builds and environments? Join Josh Long as he introduces Cloud Foundry, the open source PaaS from Pivotal. Learn why Cloud Foundry makes life easier for everybody - operations people and Java developers-alike - in this session.

11.10-12.00

Managing Asynchronicity with RQ

Turn based servers are now joining turn based browsers in providing race-free and deadlock-free interactivity. The event-driven model has long been popular in UI systems, but the nature of work in servers presents some new challenges. Functional programming provides solutions, including monads, arrows, promises, and various flavors of FRP. This is another such solution, intended to enhance ease of use through minimalism. And beyond, with mimlism.

Other sessions:

11.10-12.00

The Curious Case of JavaScript on the JVM

How does it feel to program in JavaScript for the JVM? While designing Nashorn's Java platform integration features, we had to figure out lots of things: how can you subclass Java classes in script? Should script objects expose Map & List interfaces? How to reconcile differences in array representation? What's a JSON representation of a POJO? (Trick question?) Should Java packages exist as objects? (Trick question again?) Learn how we've smoothed the rough edges where JVM and JavaScript meet.

11.10-12.00

Layers Considered Harmful

Layers are killing us. All the time. They are killing our communication. They are killing our speed. They are killing the others speed as well. We need to do better. Which we can. I'll tell why layers are killing us. I might even tell you something about how to do better.

11.10-12.00

Gradle for Android and the rest of the world

We will talk about the new Gradle based Build System for the Android SDK. This new build system has been developed as a Gradle plugin by the Google Android team. It is full of innovation, many of them demonstrating the underlying capabilities of Gradle. We will also introduce Gradle as such with a special focus on the new features that have been developed as part of the Android effort like an more generic dependency management and the concept of variants of a library for different platforms.

11.10-12.00

Extreme Personal Finance

My wife and I used the values, principles, and even practices of XP to become financially independent on 1 April 2008. That means that for the past five years, our finances have not got in the way of doing the work that we love to do. I’ll tell you the story of how we reached this point. I’ll teach you a few simple activities that you can use to start yourself on the path to more financial freedom. I’ll share how we applied various Lean/Agile principles to achieve these goals for ourselves.

13.00-13.50

Android Design: Beyond the Guidelines - Creating character and identity in your applications

Deep dive into Android Design where we will discuss how you can go beyond Android's basic interface components and create unique character and identity for your applications.

13.00-13.50

The Art of Building Tools - A Language Engineering Perspective

Language Workbenches are tools that support the rapid development,
extension and composition of (diverse) languages. This way they are an
excellent foundation for building domain-specific development tools:
after all, most development tools are essentially "just" UIs for languages.
In this talk I will demonstrate this idea with mbeddr, a open source
development tool for embedded software based on the JetBrains MPS language
workbench. The talk is mostly demos; I use only a few slides in the intro.

13.00-13.50

Habits of a Responsible Programmer

What is a responsible programmer? What habits does a responsible programmer
have? I started asking myself and others that question and this presentation is
the result of this. I will look into good habits for coding, using tools,
managing environments and working in projects. Example of good habits are:
Merciless refactoring! No quick-fixes! Script everything! and Don't do as your
told!

13.00-13.50

Data @ King - How we are able analyze 100M DAU

King collects over 10 billion records per day from the many games (where one is the quite famous Candy Crush Saga) available on mobile and desktop, to use as a tool for better understanding of how players interact with our products. A talk on some of the architectural decisions we've made to handle this data volume.

13.00-13.50

Distributed teams - a pragmatic way

s there a sure-fire methodology that will make distributed teams work? Possibly.
Can a dogma save your deadline and make your wife and kids happy? Perhaps.

Or is it time to be pragmatic and realize that it all starts with people and ends with people - with some coding in the middle? In this session we'll cover a mosaic of tips and techniques, from timezones to cultural gaps, that work across the world. This just might be the toolbox you need.

Oh, and by the way - you will know the secret behind all those methodologies promising to solve the distributed enigma - if you promise not to tell.

13.00-13.50

Tracking and Improving Software Quality with Sonar

Software quality is about a lot more than slinging good code. As a developer you use numerous tools, techniques and frameworks as you write, organize, build, test, refactor, and continuously improve your applications. Sonar, a free and open source quality platform, makes it radically easier to track, manage, and enhance the overall quality of your code.
In this session I'm going to talk about Sonar's core ideas, and its star features that simplify the process of tracking and improving software quality.

13.00-13.50

Rebranding Agile: How Marketers are Changing the Way they Work for Real-time World

Marketers are starting to employing more Agile ways to adapt to fast-moving social, interactive, and inbound marketing channels. A nascent movement is emerging that features marketers adapting Agile approaches under the moniker of "Agile Marketing". In this talk, I will explore what makes marketing ripe for this change, what makes Agile Marketing unique, and the challenges of using Agile in marketing.

14.10-15.00

Crafted Technology and Experiences

As the Lab Manager for the Crafted Technology and Experiences lab at SICS and the Mobile Life Centre, I will talk about the combination of design work and engineering. I will talk about the kinds of projects we run and what results we have made, and how we as a field need to work on changing how we look upon implementation work and engineering. Also I will touch upon how HCI and the field of Interaction Systems Design in fact has moved beyond User Centred Design and UX.

14.10-15.00

ElasticSearch - Distributed search on BigData made easy

ElasticSearch is a cloud-ready, super scalable search engine which is gaining a lot of popularity. It is mostly known for being extremely easy to setup and integrate with any technology stack.

In this talk we will introduce ElasticSearch, and demonstrate some common and innovative use cases. We will then scale them out and use multiple nodes, showing ElasticSearch's amazing scaling out capabilities. If time allows also discuss some advanced features.

14.10-15.00

Less is more! - when it comes to art and software

This presentation is a case study from an architecture remake at Sirius International. We will tell you the story about going from a huge monolith that had hit the end of the road, to a set of very small subsystems. The story is about realizing "buzzwords" such as eventual consistency in an undramatic and stripped down way without a lot of ceremony. What were the problems and the keys? You will leave with a set of tools regarding what to expect, what to look out for and where to put the focus!

14.10-15.00

Building Reactive Apps with Play Framework, Akka, and Scala

This session will teach attendees about how to build Reactive applications with Play Framework, Akka, and Scala. Attendees will learn:
- How to create asynchronous and non-blocking web applications
- The Actor model for managing concurrency
- Functional paradigms that provide the foundation for Reactive programming

14.10-15.00

Entity Framework in Core-Business Applications that Leverage DDD

In this session we’ll look at breaking up your domain-models following the Domain Driven Design
Bounded-Context pattern, splitting and defining entities and aggregates properly in the different domain models and implementing repositories and units of work that are relevant to EF DbContext and DbSets, in the data persistence infrastructure layer. You’ll also see how to build automated tests around code that involves Entity Framework.

14.10-15.00

Enterprise git collaboration patterns

What are the best practices for collaboration using git? In this session we'll look at a range of techniques from pull request based code reviews through short running feature branches and the use of feature toggles for continuous deployment scenarios.

14.10-15.00

The Art of Learning and Mentoring

Similarly to design patterns, present pedagogical patterns solutions to recurring problems in a
given context.
In this session, I want to explore how pedagogical patterns can help every individual to get better
every day. I want to show how these patterns can help to be a better mentor and
therefore help the whole team to improve continuously. Here are some of the tools you need in order to share experiences, learn from one another or rather to start mentoring consciously in your team.

15.40-16.30

Building End to End Web App Using TypeScript

Creating cross-platform, application scale, JavaScript that runs in any browser or in any host is very hard. TypeScript is a programming language that changes that situation. In this session you will get to know the TypeScript language and we will build a client oriented web application using the language.

15.40-16.30

Have You Seen Spring Lately?

2013's been a busy year for Spring as part of Pivotal! Spring continues to meet the needs of next generation applications with support for stream processing, data integration, HTML5 and websockets, PaaS support and big-data workloads using Hadoop. Additionally, Spring - as part of a new company called Pivotal - is the heart of a rich platform along with Cloud Foundry, Grails, RabbitMQ, Hadoop, and Tomcat. Come see what's new and what's coming!

15.40-16.30

Shakespeare in Dev

Design versus development. A battle as old as Good v. Evil. Let's take a look at the root cause of this struggle, and see how we can "be the change we wish to see." We'll a little bit of philosophy, and a good bit of practical techniques for developers to become respected members of a design team, without learning Photoshop.

15.40-16.30

Release your creativity - join OpenJDK

Creativity in a passionate community is taking Java into the future.
Open collaboration fosters innovation, ensuring Java stays relevant.
Diversity is key in keeping the creativity flowing - that's why the community needs you.

Learn the satisfaction of volunteering to something bigger, in this case, the number one software platform in the world through OpenJDK.
Get to know the rules of the game and how to contribute, whether you have an hour or a lifetime to devote.

15.40-16.30

Go To There and Back Again

The March of Progress is not a stable thing. It moves in fits, and frequently changes direction. N steps forward. M steps back. Can we get there from here? Are we there yet?

JavaScript has become incredibly popular, and yet is little loved and much hated. And it is trying to change while petrified by its own popularity. We'll look at the history of some current controversies in language design. A go to technology is sometimes useful and so must be eliminated.

15.40-16.30

The Art of Mobile Application Performance: Are You Up To Speed?

The art of tuning mobile applications for speed and conserving the battery is a delicate task, but does not have to be difficult. AT&T’s Application Resource Optimizer (ARO) is an award winning tool that enables developers to squeeze every gram of performance out of their application. Doug will present mobile development best practices; how they were integrated into ARO, and show several use cases on how mobile application performance was improved through simple modifications.

15.40-16.30

Mob Programming, A Whole Team Approach

Mob Programming is a development practice where the whole team works on the same thing, at the same time, in the same space, and at the same computer. This is a “Whole Team” approach to doing all the work the team does – including coding, designing, testing, and working with the “customer” (partner, Product Owner, user, etc). We'll take a look at the practice and explore the benefits and some ideas you can try on your own team.

16.45-17.35

Building Web Applications with Ember.js and Ruby On Rails

Join O'Reilly authors, Jesse Cravens and Thomas Brady, as they take the audience through the construction of a Ember.js demo application.

Other sessions:

16.45-17.35

Go Beyond "Debug": Wire Tap your App for Knowledge with Hadoop

Today, application developers devote roughly 80% of their code to persisting roughly 20% of the total data flowing through the applications. The other 80% of the data is "Event Data" that can no longer be ignored if you want to stay competitive. Changes to application state are already stored as a sequence of events in application and middleware logs. In fact, since this data never held value to anyone but the developer in the past, a lot of potentially valuable information is often never collected In this talk, we will demonstrate how capturing all event data could dramatically simplify data collection and management within the enterprise.

16.45-17.35

Code as a crime scene

The session will combine research on software evolution with findings from different fields of psychology. The basic premise is that there's a wealth of information stored in how we interact with our code. By mining our interaction patterns we're able to get early warnings on potential problems and directions for refactorings and future development.

16.45-17.35

Ubuntu, a potent new force in mobile

Backed by more than 20 million users and with deep engagement with the PC industry, Ubuntu is also the favourite open source operating system of a growing community of mobile developers. Following the launch of its phone version, it is strongly emerging as the next gen mobile user experience.

Learn about the design vision that provides Ubuntu's unique UX, how operators can customise it to their needs, and in particular how to enable app authors to target Ubuntu as a platform for their software.

16.45-17.35

Building Secure and Social Applications

Most applications today support user signup and login through several of the popular social networking sites such as Facebook and Twitter. In addition applications leverage these connections to gather useful information about the logged in user or fire notifications and share. In this session we’ll explore ways to achieve this using a combination of useful platform tools and custom code. Come and learn how to create an end-to-end registration, login and social experience for your applications.

16.45-17.35

So What About Tablets?

Richard Campbell brings his 30+ years of experience with computers to bear on the future of business computing. Are tablets just toys? How will the tablet fit into the workplace? These questions are addressed with a humorous look back into the history of computers and how it can impact what happens next. Along the way he'll point out the opportunities that developers have to expand their careers, keep their businesses moving forward and perhaps put a pile of money in your pocket.

16.45-17.35

Does Pair Programming Have to Suck?

Effective pairing can increase creativity, energy, speed & quality. But on some teams, pairing is shunned, avoided, or just faked. Why do some thrive with pairing while others want nothing to do with it? How does coach-enforced pairing turn into something dry, distracted, imbalanced & ineffective? Join in an honest discussion & learn about which pairing styles drag teams down & what sort of pairing helps teams rock.

18.00-19.00

The Third Wave of Artfulness in Code

When considering artfulness in the domain of programming, there have been several distinct epochs. Iterating over each of those eras, we can ask what we valued, learned, and improved, from them. As software development proceeds further into the core of many important industries, we can reflect on how to leave a legacy of beauty, order, and expression in our unique line of work.

Thu

08.30-09.45

The Creativity (R)Evolution

There's a movement brewing built upon leveraging the transformative power of creativity to help us work and create better so that we can produce work infused with meaning. Discover how by knowing your Why, instilling tiny habits to cultivate your creative spark, and finally, fomenting creative collaboration based on the tenets of improv and open spaces, you can take the spark of Creativity (R)Evolution and use it as the impetus to push you, your teams, and your companies to create betterness.

Other sessions:

10.00-10.50

No Estimates: Let's explore the possibilities

"The only sure thing about forecasts is that they are WRONG" - James P. Womack and Daniel T. Jones. Estimates have been the bane of software development and programmers for decades. Managers/Customers want to know: When will it be done? How much will it cost? It's my contention that estimates are not useful for this purpose, and even worse: they misinform the decisions they are meant to support. Let's explore these problems and perhaps a few ideas on creating software with "No Estimates".

10.00-10.50

Let your test suite go pear-shaped!

Going pear-shaped can be a good thing for your test suite. In this talk, I'll seek inspiration from human reactions of fear and restlessness. I'll draw a causal line from these reactions to the design of an effective test-suite for your application.

Other sessions:

10.00-10.50

Google Glass, an introduction for developers

A technical introduction to Google Glass and how to develop Glassware applications

10.00-10.50

if (BetterConcurrency == BetterPerformance) { ...

In spite of it been a number of years since the advent of multi-core CPUs we still struggle with how to get better performance (for some definition of performance). This talk will address that by looking ahead to the JDK 8 and what it has to offer to help you improve the concurrency picture in your application.

10.00-10.50

F# for C# developers

This talk is for C# programmers who are curious about F#, a multi-paradigm and cross-platform programming language.

In: test driven development, classes and functions
Out: maths, monads and moth-eaten jumpers

Expect plenty of practical examples with live code samples, including interop between C# and F#.

Other sessions:

10.00-10.50

HTML5 Hacks

From canvas to web workers and file transfer to blob management, come see HTML5 demos and code samples that will have you rethinking the possibilities of browser based apps.

10.00-10.50

Being Secure on a Mobile Platform

Mobile security has in the last year taken off as a focus for consumers but its implementation in the software development cycle remains somewhat of a mystery. I will cover how to test your mobile application for security flaws for both the android and iphone platforms, and how you can better include security in your development process.

11.10-12.00

Breakout - of the tiles

With Modern UI (previously called metro) Microsoft redesigned most of their product setup, whether you like it or not it’s here to stay.

In this session I will look into the current state and explain what the essence of Modern UI. I will then examine how it's possible to evolve. How you can break out of the tiles, while still obeying the design principles.

11.10-12.00

Postgres: The Bits You Haven't Found Yet

Now that Oracle owns MySQL, it's clear that it's not going anywhere fast. What's a developer to do? Flee to the arms of NoSQL? Are you going to have to learn Erlang just to query your data? Forget all of that.

Postgres is the answer to your database needs. It's mature and powerful, and the community that maintains it has built in more functionality than you can shake a stick at. It powers sites large and small, including sites you know and love like the Urban Dictionary and Instagram.

11.10-12.00

Discovering Type Providers in F# 3.0

Have you ever needed to access a data source in your application? Trick question! Are there developers who would answer no to that question? Of course not! Join me and I'll walk you through just how quick and easy data access can be with F#'s new Type Providers. I'll cover connecting to several different data sources using the relevant type providers, as well as when and how to write your own. Before we part, you'll be on your way to type provider mastery!

11.10-12.00

How To Structure Your JavaEE 7 App

Esoterics and Cargo Cult are the main design drivers for many enterprise applications trying to cover the most unlikely corner cases. This session explains the opposite: clearly explainable and straight JavaEE 7 architectures leveraging all main JavaEE 7 APIs. From requirements gathering, over tests to CI and deployment. Why?-questions are very welcome.

11.10-12.00

30 NuGet Packages in 50 Minutes

NuGet is incredible - apart from saving loads of time for searching, downloading and storing code libraries, it also makes so many unknown libraries much more reachable. In this session we will take a wild ride through the NuGet gallery, learning about 30 different packages that could make your everyday tasks much easier and faster!

11.10-12.00

An Open Source Grid-Based Actor Model

This talk takes you through the theory of Actors and how the Actor model supports lock-free concurrency, distributed-computing, low latency, and high throughput. Some of the topics covered include: Actor theory, using Actors, mailboxes, share-nothing, creating Actors as first-class domain concepts, grid/fabric-based low-latency access, NoSQL persistence, as well as Java and .NET platform interoperability.

Other sessions:

11.10-12.00

Curiosity killed the cat, but what kills curiosity?

This is a true story. It’s a story about a test manager (me) neglecting to ask appropriate questions because of intimidation. 

I failed to ask why user stories were badly written and out of date. I failed to ask why stand ups were not being held. I failed to ask why bugs were not being fixed.
This case study will be a springboard into a talk and then discussion on some ways we 'kill curiosity' within our teams. Using my experience with test team transformation I’ll offer some pointers on how to create teams that encourage testers to question without compromising on project deadlines and goals.

Other sessions:

13.00-13.50

Firefox OS - the platform HTML5 deserves

Firefox OS is a new operating system aimed at emerging markets to replace feature phones with HTML5 based Smartphones whilst still being affordable. In this talk you'll see its architecture, how to take part in it and what it means to the evolution of HTML5 as a platform. A lot of promises have been made, here you can see HTML5 working without having to jump through hoops and abstractions.

13.00-13.50

Git secrets

From pull request ref specs to patch mode, this session will examine some of the hidden features that can make git easier and more efficient to work with. For experienced git users only!

13.00-13.50

A Live hacking demo that will make you care more about securing your code!

The impact of implementing web applications that lacks the correct security controls.

In high tempo you will experience a live hack where he compromises public web applications that lacks the correct security controls. He will then demonstrate the leap to internal systems and how one simple bug can lead to a complete compromise of the internal infrastructure.

An exciting and very important demonstration for anyone who develop applications, manage websites or is interested in cyber security.

13.00-13.50

Unlocking the Java EE Platform with HTML5

The Java EE platform aims to increase your productivity and reduce the amount of scaffolding code needed in Java enterprise applications. It encompasses a range of specifications, such as JPA, EJB, JSF, and JAX-RS. How do these specifications fit together in an application, and how do they relate to each other? And how can HTML5 be used to leverage Java EE? In this session, you learn how Java EE works and how it can be integrated with HTML5 front ends, via HTML, JavaScript, and CSS.

13.00-13.50

Functional Principles for Object-Oriented Developers

The artist travels to foreign lands for inspiration. I sojourned in F# and brought back souvenirs to share with you. These six principles are useful every day in my home language of Java. Some are part of good practice already, some express patterns both old and new, and all give us different ways of thinking about problems. Examples in C# and Java prove that we don't need to work in a functional language to carve our intentions into code.

13.00-13.50

Efficient Android Threading

This session is all about asynchronous execution in Android: The must-know things of Androids Linux thread handling and the pros, cons and pitfalls of the asynchronous mechanisms — Java threads, Executor framework, Service, IntentService, AsyncTask, AsyncQueryHandler, Loaders and Handlers/Loopers. The talk focuses on improving application responsiveness and how to choose the best technique for background task execution.

13.00-13.50

Practical Tools for Playing Well with Others

I don't have "the gift" for interacting well with others. I needed to learn some little "interpersonal communication" tricks that I could apply right away to get immediate results. You don’t have “the gift” either, but you need to improve your working relationship with managers who don’t code. You don't need to make a dramatic, life-changing shift in philosophy to play better with others. In this session, you'll learn a few simple techniques that you can start applying the moment you learn them!

14.10-15.00

Data visualization, infographics and big open data

How do we utilize and big data and often open data in an easy and useful way. We have three speakers who have taken different approaches to data visualization.

Moving from data to insight to action is the first talk.

Gamification of open data is the second talk.

Fun and Engaging Enterprise Web App Design using Touch Conventions and Infographics is the third.

This short talk will discuss and demonstrate a working example of how conventions from touch based games and modern infographic design can be used to build radically new user interfaces, that engage the user by introducing a sense of play to enterprise web applications.

This session is made in partnership with The Conference

14.10-15.00

Lightning introduction to three NoSQL technologies

In this session three NOSQL techniques will be demonstrated. RavenDB, Neo4j and Riak. Each speaker has 10 minutes to show you why and how NOSQL can be used. It is not difficult. It is not frightening. It’s fun.
After this session, you know more about which technique you should test and continue with.
And perhaps the three speakers invite us for an open discussion.

14.10-15.00

3D-graphics. Gaming and visualisations

This LT session is about 3D-graphics. Gaming and visualisations. Three speakers with three different views.

The presentation will showcase Z Vector, a new type of real-time VJ and music visualization software specifically made for depth sensors such as the MS Kinect and the PrimeSense Carmine.

This talk will highlight the technologies used in the Snowdrop engine for the next generation of consoles. Game Artists have never had this much power available but it can easily become harder to develop than ever before. With a new generation, there needs to be a shift in the way we work with and think about Tech.

This session is made in partnership with Nordic Game

14.10-15.00

Open APIs - risks and rewards

With an "open APIs" a company can make their data and functionality available to outside developers. This makes it possible for developers to build mobile apps, analyse data and quickly integrate with other systems. We will give an overview of APIs and the technologies involved, show the possibilities by using Twittercensus.se and the Twitter API as an example and go through the "neo-security stack" and how it can be used to secure open APIs.

This session is made in partnership with Nordic APIs

15.40-16.30

Security Avalanche – understanding today’s modern protocols

Today there are many security models available for authentication and authorization. Identity federation is particularly common today to achieve Single Sign-On (SSO) and social login with popular platforms like Facebook and Twitter are prevalent. In this session we’ll focus on the value proposition of each protocol including WS-Federation, WS-Trust, SAML 2.0, OAuth 2 and Open ID Connect. We’ll look at scenarios where each fit, how they work, and why some are more popular than others.

15.40-16.30

Lightning Fast SQL with Proper Indexing

Proper indexing is a very time and cost-effective way to improve performance. Yet it is often done in a very sloppy way. This talk explains the organizational misconceptions that lead to sloppy indexing and gives advice how to change it. Finally we will show the results of a short online quiz that reveals the state of indexing know-how in the field.

15.40-16.30

The Art of Ruby on Rails

Why build a web application in Rails today? In this session, Steve will show you why Rails is a fantastic environment for building your next web application.

Other sessions:

15.40-16.30

What's New in JAX-RS 2

JAX-RS 2 is a new standard Java API for RESTful Web services and a major leap forward in the use cases covered by the API. The purpose of this session is to elaborate on all the new features being introduced as part of this new major API revision. This session explores the new client API, filters and interceptors, and asynchronous processing. Other new features include data validation support and improved support for hypermedia and server-side content negotiation.

15.40-16.30

C# Cross Platform Mobile with Xamarin

Cross platform mobile development is the holy grail of development right now. In this talk we'll examine strategies and patterns for maximizing code re-use when building native cross-platform mobile applications in C# with Xamarin that reuse back end code while still using platform-specific UX and taking advantage of platform-specific features.

15.40-16.30

Livin on the edge: Netflix edge architecture

The edge of the Netflix network is responsible for 1/3 of all internet bandwidth usage in the US. It is staffed by ten thousand EC2 servers and tens of thousands of CDN cache endpoints. During this session, you'll learn about how we manage and control the outer edge, including our new open source java project: Denominator.

15.40-16.30

The Beauty of Minimizing Effort and Maximizing Creativity While Integrating Performance Throughout the Lifecycle

Market demand drives many organizations to implement performance testing and management solutions, often at great expense. Sadly, these solutions are often insufficient to keep up with emerging expectations and competitive pressures. This session explores a simple, unobtrusive "Target, Test, Trend, Tune” approach to performance testing and management that can be applied to virtually any task alone or as a part existing programs with just a few minutes of work each day from everyone.

16.45-17.35

Unconventional promises - using promises for the kitchen sink, and control flow nivana

The intermediate JavaScript developer has come across using promises for AJAX, and many have also used it when building animations, but not much more. I’d like to show you many other situations where using promises, although unconventional, will significantly increase the clarity of your code. I’ll explain how to make the Deferred pattern first class in your application. Once you achieve that, it’s trivial to abstract away complex transformations and control flow in your code.

16.45-17.35

Implementing Programmer Anarchy

Programmer Anarchy is a post-Agile process that focuses on empowering programmers by eliminating roles that interfere with domain knowledge and assumption of day-to-day decisions by the programmers. Originally conceived in a startup environment at Forward Internet Group in London, Programmer Anarchy is now being implemented in a traditional IT shop for an established company: MailOnline, the online newspaper arm of the Daily Mail of London. This discussion will talk about the introduction of Anarchy into a Scrum shop, the training, the transition of roles, and the redesign of HR roles.

16.45-17.35

Heuristics of Testability

Whether you are Agile or Waterfall, you want testability. Whether you release periodically or continuously, you want testability. Testability means how easily a product can be tested. In other words, do bugs hide from you, lurking deep in the folds of your technology? Or do they run out and surrender when you come by, while wearing bright reflective vests? This talk is about ways of achieving testability, including the two big strategies: observability and controllability.

16.45-17.35

Modern Component Design with Spring

In recent years, the Spring Framework focuses on flexible and powerful Java-based configuration. This talk presents Spring as an annotation-oriented application framework, illustrating the rich set of features that Spring has to offer for modern component design. General component model trends will be discussed along with selected Spring feature highlights, such as standardized annotations for dependency injection, stereotypes, and declarative services such as validation and scheduling.

Other sessions:

16.45-17.35

Windows Phone 8- the advanced session for the creative child at heart

Now if kids and teenagers, the future customers, got to decide what kind of apps we would make, now what would that be? I asked a group of kids and teenagers, and put together an advanced session on Windows Phone 8 based of their responses, showcasing the cool advanced features of WP8 in a way that will hopefully bring out the kid in you. Be ready for a playful session!

16.45-17.35

Windows Phone 100+ Apps In – What I have Learned

In this session Atley goes through what has worked for him and what has not! You will gain the knowledge of literally dozens of development and deployment stories so you can cut to the chase and be as successful as possible with your mobile development in this open-forum style discussion on mobile development with arguably the most prolific Windows Phone developer in the world!
Learn from Atleys' Binging and bungling, ask your questions and get the real info from someone that’s done it, lots!

16.45-17.35

Meteor, a better way to build full-stack Javascript apps

Meteor is a full-stack JavaScript framework with a focus on simplicity of interfaces and ease of development. Built on continuously synchronized data collections, it's realtime by default, which means that you can build a interactive application as easily as adding a few lines of code to a static website.

This talk will cover the basic concepts of Meteor and how they combine to make your life easier and better, as well as building a simple example application which is extraodinarily powerful.

Other sessions:

18.00-18.50

Effective Node.js Programming and Module Creation

Join us for a technical talk with Jed Wood, Developer Advocate at
StrongLoop, who will be demonstrating how to effectively
program Node.js applications and author your own modules.

Whether you are relatively new to Node or a seasoned practitioner, this
talk with give you several ideas you can implement right away to
make you a more effective Node programmer.

18.00-18.50

Let's Stop Faking It

Many of us have been in the position of being an "Advanced Beginner". We copy someone else's work, we make a few changes, and somehow, it just works. Can we do better? Yes. This session will look at ways that we can break the cycle of "faking it", and take control of the work that we do. We will focus on “being mentored by experts”, becoming the “worst player on the team” (by choice) and moving “from cookbooks to unique creations”.

18.00-18.50

Adopting Continuous Delivery

While keeping software production ready throughout its lifecycle and optimizing your delivery process for shorter cycle times might seem like a good idea to you, the rest of your organization might not share your excitement. In this talk, I share stories from companies who have attempted to adopt continuous delivery and discusses the organizational, architectural and process factors that led to the success – or failure – of these initiatives.

Other sessions:

18.00-18.50

(The Art of) (Java) Benchmarking

This talk covers the general approach for building the microbenchmarks you can trust. We will cover lots of pitfalls that makes our lives harder, due to code mistakes, runtime optimizations and their interventions, hardware specifics, and other random noise. This session will also serve as the tutorial for Java Microbenchmark Harness (JMH), which is serving as the harness for performance research in OpenJDK.

18.00-18.50

Hands On with Clojure

In this presentation, we'll build a simple web application from scratch, live on stage, using Clojure server side and its compile-to-Javascript counterpart ClojureScript client side. You'll see how Clojure's strong focus on the REPL helps improve your workflow, and how the conciseness of a truly high level language can actually let us write a whole web app in less than an hour.

Other sessions:

18.00-18.50

The Art of Ruby

Why write software in Ruby? In this session, Steve will tell you why Ruby is a great programming language, made to bring programmers joy.

Other sessions:

18.00-18.50

Are Agile values universal?

Are Agile values universal? Do they represent inherent aspirations of software delivery professionals worldwide? Or are they to be taken as the studied and careful opinions -- but opinions, nonetheless -- of a group of individuals a decade ago?

In this conversation, I'll relate my experiences in conducting various Agile workshops in 5 countries over three continents. I'll describe what I found fascinating and humbling, and some lessons I hope software professionals everywhere find valuable.

20.00-21.00

Art & code with XKCD

Randall speaks about some artful aspects of his web comic xkcd!

Fri

08.30-09.45

The World of Minecraft

Minecraft is probably the world's most famous sandbox game, but what happens when you give the players the chance to build their fantasies? See the beautiful, fun, inspiring, and sometimes world-changing creations this voxel-based block placing game has spawned.

10.00-10.50

The next version of JavaScript: ES6 on the frontend, in the real world

The list of solidified ES6 features keeps growing and client side engineers just get greener with envy. Many of these new features won’t be supported in a broad base of browsers for years to come, but there is hope for us nonetheless. I’ve pieced together a system that gives us the best that we can hope for. Using a combination of shims and transpilers, we can enjoy these new language features while still maintaining support for all of the browsers you’d need.

10.00-10.50

Programming, Only Better

Once you realise the true enemy of software development is complexity, not waterfalls, you can start rethinking how we write our software. Come learn why modern languages like Haskell and Clojure lead to fundamentally better software systems than any of yesterday's tricks.

Other sessions:

10.00-10.50

Design for times 10 or times 100: How to handle hundreds of millions played games per day.

Without buzzwords, a hands on overview of the entire communication, storage and analysis systems that serve over 70 million players daily. How does King handle all traffic and game play data for Candy Crush Saga and all other King games on a tight ship with a less than 500 servers? Spoiler: Keep It Simple …

10.00-10.50

Spring 4 on Java 8

Spring has a track record of providing dedicated support for new Java generations in a timely fashion, and now it's right about time to go Java 8: With Spring Framework 4.0, we're providing in-depth support for all relevant OpenJDK 8 features, including lambda expressions, JSR-310 Date and Time, parameter name discovery, and java.util.concurrent enhancements. This talk will illustrate selected Java 8 features within Spring's programming model and explore the impact on application architectures.

10.00-10.50

Windows: Having it's ass kicked by puppet and PowerShell since 2012

Unix environments have fantastic tools like puppet, chef, vagrant and many others in order to eradicate the need for manual server configuaration environments. Windows was left behind when these fantastic tools were being developed. PowerShell is now emerging as the tool for Windows administrators and the tool to unite developers and operations staff in managing environments and deployments. Can PowerShell help to bring the devops culture to the Windows development world?

10.00-10.50

Windows Phone 8 SDK: Beyond the Basics with Wallet, In-App Purchasing and Maps.

This session is designed for those who already have some experience with the Windows Phone 8 SDK. We will dive right into In-App Store purchases, Wallet transactions and take a look at the new Maps control provided by Nokia. So, if you already have a basic knowledge of Windows Phone 8 and want to dig deeper, than this session is for you.

10.00-10.50

Balancing ATDD, GUI Automation and Exploratory Testing

Acceptance Test Driven Development, GUI Test Automation, and Exploratory Testing don’t exist in isolation. Like a tripod, each is a leg that requires the others to stand. This session will explore how a project can leverage all three aspects to successfully learn, automate, and advance application development. We will use TERMS and CRUMBS to see if a project is ripe for automation, and if it is progressing the way that it should.

Other sessions:

11.10-12.00

Building First-Class web apps with Lineman

For too long, we've allowed our server-side code determine how we write applications for the browser. Lineman is one of several tools that can enable your team to build web assets like HTML, CSS, and JavaScript in a project where they're first-class citizens. This talk will review the benefits of separating front-end & back-end projects and walk through how tools like Lineman can improve your productivity and happiness when writing code for a web front-end.

11.10-12.00

Implementing Micro­Service Architectures

MicroService Architectures has debuted on the ThoughtWorks Technology Radar as the first
technology they address, and with strong recommendations to immediately experiment. In this
talk, we will outline the guidelines we have used at two different companies to implement
micro­services. And more importantly, we will tell you about the pitfalls we have encountered.

11.10-12.00

Evolving Java

Lambda expressions (closures) have been "coming" for quite some time, and they're finally "almost here". This talk describes the future directions for the Java language, especially the language and library changes coming in Java 8, from the perspective of "how did we get here?" and describing the approach taken for key language evolution choices.

11.10-12.00

RRRADDD! Ridiculously rapid domain-driven (and restful) apps with Apache Isis

How do you build apps that matter? By focusing on the domain and engaging the domain experts. But how do you engage those experts? By building the application with them. But how do you prevent your architecture from weighing you down? By writing only the domain objects and leaving the GUI concerns til later. In this session we'll use Apache Isis to rapidly build a web-based domain app, starting at the Maven archetype. You’ll end up with your own domain-driven app, complete with RESTful API.

11.10-12.00

Azure Mobile Service – The backend for the masses

With Azure Mobile Services you have a toolbox of different features that help you to easily create a backend for your app. Features such as data storage, custom APIs, notifications, authentications and more. It supports iOS, Android, Windows and REST without writing a single line of C# code.

11.10-12.00

Coding Tips and Tricks I Learned from Making Some of the Biggest Apps Out There

While I can’t tell you what the apps are, I have built some huge apps for clients that have, collectively, over 4,000,000 users. You’ll find out the coding and XAML tricks to make your apps look as sleek and polished as the biggest apps out there.

11.10-12.00

Coaching Software Testers

Do you want to learn how to coach software testers to be skilled at what they do, using a systematic approach? Then this is the talk for you! Come along and watch a demo and perhaps even have a go at coaching a tester!

Coaching is more than asking questions; it’s about directing the student. Find out about energy in coaching, learn how to detect and then manage this vital energy. Discover coaching patterns to help you navigate the 'coaching space' including syndromes that students and coaches can suffer from.

13.00-13.50

Cloud Infrastructure as Code

In this session you will learn about what Infrastructure as Code is all about, and how the open source tool Puppet helps you manage both traditional and cloud infrastructures.

13.00-13.50

Functional Groovy

In recent years functional programming has gained ground over object oriented mainly due to the advancement in computing power. The JVM is no exception, you can find powerful contenders in Clojure and Scala. However Groovy is not that far away in the race. We'll explore many of Groovy's features that are sure to spice up your daily experience.

13.00-13.50

Best practices in AngularJS

We will look at how best to structure your AngularJS application, so that it can grow with you for years to come. When and how to use and test directives. When and how to use and test promises.
How to architect an Angular app, what to put in controllers, services, filters, and directives.

Other sessions:

13.00-13.50

Aesthetics and the Beauty of an Architecture: Adventures in CQRS and Event Sourcing

In this session we will talk about our experiences building an event-driven architecture for a price comparison website. We will talk about how we applied the principles of CQRS and Event-Sourcing to create an event driven system that is, all at the same time: beautiful; dangerous; liberating and difficult; and ultimately freed us from the oppression of a monolithic legacy application and database (the ‘legapplabase’).

13.00-13.50

What's new in Visual Studio 2013 for web developers

The new version of Visual Studio introduces a series of new and exciting features for web developers. Join Mads as he takes you through a deep dive filled with demos, insights and background – including brand new features in both Visual Studio and Web Essentials

13.00-13.50

Refactor your specs!

Even in an agile world, specifications often go too far and describe solutions with too much details; all these premature decisions constraint the implementation and remove opportunities. There is a remedy: refactoring the specs, even before refactoring the code.

This approach of refactoring "at the business domain level", that has been used on several real-world projects is very powerful to simplify code, and is derived in particular from DDD and from Specification by Example.

13.00-13.50

Advanced Android App Architectures + Lifecycles

building complex android applications brings a hole host of issues that were never accounted for in the architecture of the android platform. this talk examines these issues and presents patterns for dealing with them. Includes: gracefully handling crashes and controlling navigation and launching after they occur, waiting for app initialization and loading, capturing the application context, and launching services during app initialization with that app context.

14.10-15.00

Developers Can't Design (And Other Completely Untrue Design Myths)

Designers are designers and developers are developers and never the twain shall meet, right? Except, not really. The truth is that it can be very useful for software creators to be able to understand the value and process of visual design. We’ll cover everything from design concepts and principles to technical tools and tricks of the trade that developers can use themselves, as well as ways to communicate about design with the rest of your team throughout the development process.

Other sessions:

14.10-15.00

Why Kotlin?

Kotlin is a modern statically typed language targeting JVM and JavaScript and intended for industrial use. The main goal behind this project is to create a language that would be a good tool for developers, i.e. will be safe, concise, 100% Java-compatible and well-supported by IDE.

This talk tries to explain the reasons standing behind the trend of creating new programming languages for the JVM platform and the motivation to create one more language. It also gives an overview of the language.

14.10-15.00

The Psychology of Testing

Imagine you are a evil developer and you want to write hard to test code. What do you do? Would you declare everything private? Put everything in one big method? Give nondescript names? Turns out none of that is hard to test, but some things which we do every day are. Will writing tests cost you double the development time? How can writing more code be faster? Is testing really just for QA? Find these answers and more at psychology of testing talk.

Other sessions:

14.10-15.00

Production Time Profiling Out of the Box with Java Mission Control and Flight Recorder

Java Mission Control is a tools suite for low overhead production time profiling and diagnostics that originated with the JRockit JVM. As part of the convergence between the HotSpot and JRockit JVMs, Mission Control will be available in the HotSpot JDK. This session will discuss the latest addition to the HotSpot JDK: Java Mission Control, and the main profiling tool: Java Flight Recorder.

14.10-15.00

F# for trading

Effective Trading is about having up-to-date detailed information. Data is acquired from a variety of sources and combined to imply new information. F# is becoming a popular choice for this kind of application. Based on hands on experience of building a Commodity Trading platform I will describe and demonstrate areas where F# gives you leverage like domain modeling, computation and concurrency.

Other sessions:

14.10-15.00

Symbiotic relationships between testing and analytics

This session covers key aspects of working with Analytics, including:
- How does Analytics work?
- Calibrating: the tools, our understanding, and our practices
- Potential pitfalls
- Applying the concepts
- Ramifications of using Mobile Analytics, including privacy, risks for our apps, cost, data ownership, etc.
When Analytics is used effectively, it provides fast, inexpensive, and valuable feedback. Testers have a vital role to play in establishing justified confidence in the use of Analytics.

14.10-15.00

An Artistic Science Approach to Analysis and Reporting Performance Data

Performance testing generates a lot of data. Production monitoring yields more. Saving data to analyze performance trends over time yields even more. In theory, all this data can be analyzed with statistical science alone. In practice, it is far simpler to analyze and report on performance with an “artistic science” approach. This session explores methods for analyzing and reporting performance data visually that are more quick, intuitive, and collaborative than pure statistical analysis.

15.20-16.10

Introduction to the Play Framework

The Play Framework is a lightweight, stateless Web framework for Java and Scala applications. It’s built on Java NIO, so it’s highly scalable. This session gives you an introduction to building Java Web applications with the Play Framework. You will learn how to set up routes, create controllers & views, create REST services, and integrate JavaScript and HTML5.

15.20-16.10

Developer Designer Communication

A talk on Developer and Designer Communiation

15.20-16.10

Object Oriented Design in the Wild

When a master of object-oriented programming turns her hands to JavaScript, does her skill transfer? Dig into the reasoning behind object-oriented design principles, and find their application in the wider world of Haskell, Ruby, and JavaScript. Come see how to apply skills you already have to languages you don’t yet know. This session will challenge you to go beyond rules and standards and ask: when is design worth your time?

15.20-16.10

Lean UX: Building products people want

You are part of a modern development team delivering features like clockwork. But are you delivering the right features? Are you relying on up-front research that doesn't fit with your process? Lean UX sits at the intersection of Lean Startup & UX. It's an incremental team approach to product discovery and delivery that's already used successfully at companies of all sizes. Tired of building products that nobody wants? Learn how Lean UX can help you deliver the features that people really need.

15.20-16.10

Concurrent Applications with F# Agents

To build today's responsive and scalable applications, developers need to start leveraging asynchronous programming methods. During this talk, we'll explore how developers can easily use the F# agent-based programming model, which is based upon the actor concurrency model first made popular in Erlang, to simply and quickly build concurrent applications.

15.20-16.10

"Do it yourself"...Custom JavaFX Controls

Every front-end developer knows the problem: the project you are working on requires a control that is not part of the standard library, which raises the question “How do I do a custom control myself?” This session will show you one way you can choose to create a custom control in JavaFX. It explains the internal structure of a JavaFX control (control, skin, behavior, Cascading Style Sheets). In addition, it shows the differences between a Java Swing component and a JavaFX control. Finally, it creates a small control in a drawing program and converts it into code, using various approaches such as SVG to FXML, FXG to FXML, and FXG to code.

15.20-16.10

Regression Obsession

In a fast-moving development organization, with each new build, there’s a plausible risk that the product might have somehow got worse. To address that risk, testers often find themselves responsible for—and overwhelmed by—the development and maintenance of an ever-growing automated regression test suite. But what about other product and project risks—the problems that aren’t related to regression?

Michael identifies factors to consider in relating regression to your overall testing strategy.

16.30-17.30