Go to lightning talks | Go to short talks | Accepted talks

Every abstract is visible to everyone, in order to encourage discussion.


Learning by failing to grow quality - Root Cause Analysis in practice.

Workshop - Suggested by Kate Balcerzak and Bart Szulc, 3 months ago.

Do you have this feeling certain features will yet again start failing in upcoming release? When you catch a bug, does it seem like a deja vu? Incidents happen. Most of us think of them as materialised risks, but they also can be considered as opportunity. Opportunity to learn and improve. Would you be interested to learn how to draw conclusions from failures, propose corrective and preventive actions, and with them improve your development process and grow quality mindset in your team? This is a workshop for you.


We are all agile nowadays, thus we all strive to self improve iteration over iteration. Regular retrospectives help flush out issues with delivery process, compare current iteration with previous, identify things need addressing, areas worth investing in to increase velocity.


However, what happens when we catch a bug? Do we sit together as a team to identify what went wrong as we would normally do seeing a drop in our velocity in current sprint? I don’t think so. Most likely team will fix the bug and move on with feature development. Probably new regression tests will be added to prevent the bug from happening in future.


Regression doesn’t prevent bugs from happening. It helps with catching recurring symptoms of deeper problems, before they reach our customer and our users. Tests alone don’t address root causes. We’re like doctors prescribing yet another drugs. Not spending enough time on doing patient interview to find problems with lifestyle. Missing nutrients in our team diet.


You will learn how to spot and prevent sources of bugs. We’ll walk you through Root Cause Analysis process on a real life incident you can relate to. Help you understand all vital parts of such analysis, and show you how you can conduct similar process next time you catch a bug.


During workshop you will learn:

  • techniques helping build context in which incident happened,
  • how to build timeline and why it’s important to have one,
  • how to identify causal factors and how they differ from root cause,
  • techniques helping figure out root cause,
  • what are preventive and corrective actions,
  • how root cause analysis can not only help prevent bugs from recurring but improve your testing skills.


Key takeaways:

- what is root cause analysis

- what are causal factors and how they are different from root causes

- techniques helping identify root cause, propose preventive and corrective actions

- how being better in identifying root causes can help you become better tester by focusing your attention on most likely broken parts of your system


Secure your application with OpenID Connect

Workshop - Suggested by Johannes Brodwall, 3 months ago.

If we can trust the user we can do anything. If we can't trust our user, we can do nothing.

Almost all applications need to know who the user is. You could establish a user database with a password, but what prevents any random user to register as Donald Duck or Barack Obama? How do you find out who to trust?

Modern identity systems like Azure Active Directory, ID-porten (for Norway) as well as less secured ones use a standard to establish the user identity with your application. In this workshop we will build from stratch the parts of a JavaScript application that are needed to make it work with leading OpenID Connect providers together.


Embracing Functional Paradigm in F# for Enhanced Productivity

Workshop - Suggested by Nikhil Barthwal, 3 months ago.

F# is a relatively new primarily Functional programming language for the .Net platform. It is a statically typed managed functional language that is fully inter-operable with other .NET languages like C#, Visual Basic.NET etc. It builds on the power of Functional Paradigm and combines it with .NET Object-Oriented model enabling the developer to use the best approach for a given problem.

Functional programming (FP) offers several benefits. The code tends to be terse which leads to enhanced developer productivity. FP encourages pure functions which are much easier to reason about and debug, as well as eliminates large class of bugs due to side effect free programming. Moreover, immutability leads to easy parallelization of the code. Algebraic Data Types can be used to express domain object conveniently and control state space explosion.

F# is great practical choice for developing reliable and highly scalable real-world system that are quick and easy to develop due to the design of the language itself combined with the ability of the language to use a large no. of 3rd party libraries designed for the .NET platform.

Unfortunately, support for multiple paradigms often leads to confusion. Newcomers tend to find the transition from object-oriented world to functional world difficult. Moreover, it often leads to abuse where developer tries to use the same old imperative style of coding in a functional language and is unable to take advantage of the features, the language has to offer.

The objectives of this talk are:

  • Introduce the developer to Functional paradigm and functional way of thinking
  • Develop the ability to decide which paradigm to use for what problems
  • Leverage the existing code in C# and other .Net languages as well as large no. of 3rd party libraries written for the .NET platform.


Planet of the APIs

Workshop - Suggested by Isabel Maldonado and Catharina Hansen Berge, 3 months ago.

New to API testing with Postman? Continue reading.

Is your team building application program interfaces (RESTful APIs)  faster than you can say “Ready for deployment” ?
Are you being asked to test them, or are you simply curious about how you can test APIs?

More and more APIs are made available, makes it possible for applications to share and correlate data in with ease. Services provided by the likes of Google, Yelp, Instagram and more gives us the opportunity to create user experiences limited only by the imagination. And coming soon is a real game-changer: PSD2, the EU directive driving banks to make their customer's financial data available to them through third-party applications.

Whether you are building an API or consuming it, more knowledge around API testing will be needed.  

Of the many different tools available out there that can be used to test APIs, we wish to focus on Postman. This lets you test APIs in a simple way and it is used by many developers. So why not learn what it is and how to use Postman?

In this workshop we will start from scratch going through what is HTTP response codes, JSON, API, etc. before we start playing around with Postman.


Moving team focus from output to outcome

Workshop - Suggested by Vidar Berg Tilrem and Kristin Wulff, 3 months ago.

Some of our teams work with a focus on output (producing features) today, because of habits, customer constraints and probably several other reasons. To move the focus to outcome (the effect our solutions have), we are using several models and facilitate workshops to help the teams and our customers change. In this workshop the participants will try out a "greatest hits" of the models and techniques we have used. 


Introduction to HoloLens development

Workshop - Suggested by Gry Nagel, 3 months ago.

This workshop will give a hands-on introduction for developing application for HoloLens (Mixed Reality) in Unity. We will set up a Unity project for Mixed Reality and learn how to utilize the Mixed Reality Toolkit to create an application.

Workshop outline:

  • Quick introduction to Mixed Reality
  • Making sure development environment is set up
  • How to use the Mixed Reality Toolkit
  • Setting up a Unity project
  • Creating an application
  • Deploying to the HoloLens/HoloLens emulator


Alexa, teach me Spanish! 🇪🇸

Workshop - Suggested by Olav Gausaker and Alexandra Leisse, 3 months ago.

Amazon's Alexa is built into more and more audio devices. Combine this with cloud functions, and you have a great playground for fun and useful projects.

In this workshop, you will learn how to build an Alexa skill that helps you memorize vocabulary when learning a new language. We're using Spanish because it's what we know, but you'll be able to adapt it to whichever language you want.

Workshop outline

+ Quick introduction to Alexa skills
+ Setting up the dev environment
+ Understanding the serverside components
+ Deploying the function to AWS
+ Writing the Alexa skill
+ Practice Spanish with Alexa


Explore the fundamentals of Rust by creating your own synthesizer

Workshop - Suggested by Sverre Johann Bjørke and John-Olav Storvold, 3 months ago.

Rust is a reliable systems programming language providing bare-metal performance in a modern wrapping. It guarantees memory and thread-safety without garbage collection, offers great tooling and an amazing community — in fact, Rust has been voted the most loved programming language according to the Stack Overflow Developer Survey three years in a row. The language is experiencing rapid adaptation in multiple industries ranging from game development to backend systems.

In this workshop, we will explore Rust and create a simple synthesizer that can be played with your computer keyboard. We will also implement rudimentary sound effects. The goal of this workshop is to learn some of the basics of Rust through a hands-on project, and no prior knowledge of Rust or audio processing is required.


Get'em while they're young!

Workshop - Suggested by Siv Midtun Hollup, 3 months ago.

How can we bring problem solving and programming concepts to the masses? In this workshop we'll look at ways to demonstrate programming concepts and create games for teaching kids (or anyone, really) about programming and problem solving. Share the tricks you use! Do you have a card game up your sleeve? A game that gets people running around? A way to demonstrate an algorithm or concept that makes people laugh? Can we use music? Share your creativity and join the fun! As an added bonus you'll have to examine your knowledge of programming from a completely different base, maybe you'll learn something about your craft too?


Introduction to Constraint Programming

Workshop - Suggested by Jens Bendisposto, 3 months ago.

Don't write algorithms to solve business problems! Let the computer search for a solution! Constraint programming is often used in logic programming languages, but it can also be used in other languages, such as Java. After an introduction to constraint programming, we will have a hands-on session where we use the Choco Java library to specify and solve some optimization problems. We will also investigate when constraint programming is a good fit for a problem and when to use something else.



Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and Gaps

Workshop - Suggested by Dmitry Vinnik, 3 months ago.

We all encountered a “Broken Window” theory in practice. The original idea was that if someone breaks a window in a neighbourhood and this window is not repaired right away, the entire area will start getting messier at an accelerated rate.

    The same theory can be applied to Software. How many times have you looked at a legacy system with no tests, and decided not to write any automation for your new features because ‘this is how it has always been“, or “nobody has done this before”? By referring to the bad practices which were established before, the system continues degrading the same way a nice neighborhood can turn into a ghost town.

    This workshop aims to show how these “Broken Window” systems can be tackled, and how such systems can be set on the right track to high quality.

The speaker will demonstrate from his past experiences how technical and testing gaps can be covered and what every team can implement in their process to start improving existing and future products.


The actor factor

Workshop - Suggested by Heidi Mork, 3 months ago.

The actor model is a great programming model for building concurrent and distributed systems - in other words, most systems we build today! An actor is an entity with its own private state, and it can only respond to messages it receives by sending new messages, creating new actors, or changing its own behaviour. You could say that an actor is an object that takes encapsulation and independence seriously.

In this workshop we will explore the basic concepts of the actor model, by implementing a game similar to the classic game of space invaders. We will explore how this game domain can be modelled within an actor system, and learn the actor concepts like actor hierarchy, mailboxes, the actor life cycle, and common message patterns for actor systems. All while we are gradually building the game, from the laser canon controlled by the player to the army of attacking aliens, and everything else that is needed for a fully functional game.


Transforming Culture with DevOps Principles

Workshop - Suggested by Lisa Crispin and Ashley Hunsberger, 3 months ago.

Have you ever found the need for change, but had no idea how to move forward? Without a clear path or the support necessary to succeed, change - especially cultural change - can be daunting. Transformation can be scary and faced with resistance, but it doesn’t have to be.

At the heart of DevOps is the idea that teams work together to innovate faster, reducing the length of feedback loops and delivering value. Applying principles of collaborative practices, continuous improvements, incremental testing, and continuous learning can transform culture - not only within development teams, but also in some less obvious places.

Join me as we go through some real-world examples of applying principles that can lead to real change! We will draw analogies from the automotive safety industry - and show that these principles don't have to be used just in the context of a DevOps organization. 

We'll take a look at ways to get organized and find your team's purpose, identify and prioritize work, learn and define iterative feedback loops, and design experiments for continuous learning! 


Prototyping Accessibility

Workshop - Suggested by Adrian Roselli, 3 months ago.

Learn some fundamentals of accessibility and how it can benefit you (whether future you from aging or you after something else limits your abilities). We’ll review differing abilities, generate (minimal) user stories and personas, discuss best practices for design and development, prototype some ideas (on paper), and discuss where to get help. This isn’t intended to be a deep dive into technologies, but more of an overall primer for those who aren’t sure where to start with accessibility nor how it helps them.


An introduction to Reason

Workshop - Suggested by Lars Lønne, 3 months ago.

Reason is a language for JavaScript developers, which brings rock solid typing and type inference to the JavaScript world. It is a new syntax and a new toolchain for the OCaml language, and features easy JavaScript interop, a familiar syntax, and the ability to leverage both the JavaScript and the OCaml ecosystems. With its focus on performance and size, it is a great alternative to JavaScript for writing applications for the web.

In this workshop, we will explore the Reason language, learning the basic syntax and tools, and looking at more advanced features, such as variants and pattern matching. We will then use this new language to build a small web application, demonstrating how we can use existing JavaScript libraries, and familiar tooling from JavaScript projects.


JSR 385: Learning from the 125 Million Dollar Mars Climate Orbiter Mistake

Workshop - Suggested by Filip Van Laenen, 3 months ago.

In 1999, NASA lost the $125 million Mars Climate Orbiter as it went into orbital insertion. Due to a mismatch between US customary and SI units of measurements in one of the APIs, the spacecraft came to close to the planet, passed through the upper atmosphere and disintegrated. Sadly, this hasn’t been the only instance where a mismatch between units of measurements had catastrophic consequences, but it’s certainly one of the most spectacular and expensive ones.

How could this happen? The bad news is: if you use primitive types to handle quantities in your code, due to that very same practice. At best, you’ve codified the unit in the name of the variable or the database field, e.g. calling it lengthInMetres. Otherwise, you’re only relying on convention, just like Lockheed Martin and NASA did.

Join this workshop to learn how JSR 385 can help you avoid $125 million mistakes, and discover the immeasurable world of dimensions, units and quantities.


Micro My Java (μμJ)

Workshop - Suggested by Sigmund Hansen, 3 months ago.

We all know the world has gone crazy for μ. μ this and μ that. Java is often used for microservices. Quite a few of them use Spring Boot, which I think is overkill for simpler services. The Eclipse Foundation has worked quite a bit on the Java EE Microprofile, which is another option, where you use Java EE features and small containers. Another popular approach is the use of the many micro frameworks that have flourished, e.g. Spark, Javalin, Ktor and the up and coming Micronaut.

Let's build a small microservice application with Micronaut, Graal, Substrate (ahead of time compiler that's part of Graal) and Docker containers. The service will be your standard, wonderfully CURLable To Do list RESTful JSON API, and we will see just how small we can get this service, and how fast we can make it start up. This will give you a quick and dirty introduction to the spanking new Micronaut microframework, that released version 1.0 in late October. It will also be an intro to very basic use of Graal and Substrate. You are expected to know Java and very basic use of Docker (although the application(s) will be possible to run without containers).

After this workshop, you should hopefully feel like running back to your hotel room, start building Java microservices and throw them at the clouds in the sky. Or at least inspired to experiment further with Java microframeworks and GraalVM.


Build a Passwordless Authentication Server

Workshop - Suggested by Joel Lord, 3 months ago.

Passwords are a thing of the past.  They should be avoided at all costs.  All developers know that but still, this is one of the primary mode of authentication used.  In this hands-on workshop, the attendees will see how easy it is to implement an authentication server that uses email links as the primary mode of authentication.  


Coaching superpowers: exquisite discovery and resonating with customer needs

Workshop - Suggested by Richard Cornelius and Martin Burns, 3 months ago.


A workshop that is designed to be very hands-on and suitable for anyone and everyone who wants to get answers to problems and not just coaches.

Clean Language sounds easy in theory, but it is hard work to get it working and sounding natural. This workshop uses Mike Burrows 15-Minute FOTO exercise as a basis , enabling participants to take turns and practice in a safe non-live environment.

This is a very practical session enabling participants to discover their own solutions and real options.


Detailed description:

A learning workshop that is designed to be heavily hands-on and suitable for anyone and everyone who wants to get answers to problems and not just coaches.

When trying to discover solutions to a client’s needs it’s very easy to go into consultancy or teaching mode. Often these are not necessary or even desirable as the client is likely to have far more context-based knowledge and so it’s important to use this intrinsic knowledge as much as possible. Clean Language (CL) is very good at preventing these personal opinions and ‘helpful’ suggestions and this session aims to provide enough real practice so that participants overcome any initial apprehension, leaving confident and able to use in a work environment.

This workshop uses Mike Burrows 15-Minute FOTO exercise as a basis, enabling participants to take turns and practice in small groups and in a safe non-live environment. It is a very practical session with the expectation that participants will discover their own solutions and real options that they can then explore further and put into practice after they leave.

It is organised around the participants learning for themselves and as such designed to be slide presentation free, instead each person will leave with their own simple reminder.

The primary focus will be to allow participants adequate time to be comfortable using Clean Language and depending on the speed of the participants, we would then like to expand further on their outcomes previously generated. Showing a simple method for prioritisation and discovering how to use these options as a basis for an experiment, taking the hypothetical idea into a real-world solution.


A Brief Introduction to the World of Automation for non-DevOps Engineers

Workshop - Suggested by Valarie Regas, 3 months ago.

Docker, Kubernetes, and Jenkins. Oh my! You don't have to be in DevOps to understand the principles of Continuous Integration, Continuous Delivery, and automation. In this workshop, we'll start with an high-level overview of the history of DevOps principles before diving into Dockerfiles, Kubernetes clusters, and Jenkins build pipelines. While we're setting up a build pipeline, we'll also discuss the beauty and splendor of shell scripting.


Crawling out of the Turing tarpit

Workshop - Suggested by Rolf W. Rasmussen, 3 months ago.

Writing your own CPU emulator to successively run programs of increasing complexity

Alan Perlis warns “Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy”.

During this workshop, we’ll build up a CPU emulator one instruction at a time, designing the Instruction Set Architecture (ISA) as we go along, in order to successively run programs of increasing complexity. We’ll discover how few steps are needed to go from running “Hello World”, to a running an OS image with an embedded development environment.

Our goal is to create a practical Instruction Set Architecture, but we’ll also along the way touch upon some theoretical and historical aspects as well. We’ll see how to use abstraction to build layer upon layer of more complex functionality starting with a few basic building blocks. After measuring the cost of such abstraction, we’ll work on fixing inefficiencies that crop up.

Lastly, we’ll look at the different directions we could evolve the embryonic ISA and emulator we’ve created, how we would go about doing so, and what existing ISAs, software, and projects that occupy these spaces in the real world.


🎼 Generating sheet music: from one DSL to another

Workshop - Suggested by Peter Hilton, 3 months ago.

Sheet music is perhaps the ultimate domain-specific language, but isn’t really accessible to programmers. It hardly has any curly brackets, and they don't even match! This workshop for non-musicians demystifies musical notation by showing you how to generate it from a Scheme-based DSL, called Lilypond, which looks much more like a 'normal' programming language.


During this workshop you will learn the basic Lilypond syntax, starting with note pitches, durations and lyrics. You’ll use this to generate music as PDF that you can print, and MIDI files that you can listen to. This will be based on simple and familiar examples, starting with the world’s most recognisable tune. You’ll also learn how Lilypond separates content from presentation, and how its automatic layout creates professional print-quality results.


Building your own Serverless Platform with Kubernetes

Workshop - Suggested by Håvar Eggereide and Hans Kristian Flaatten, 3 months ago.

Functions as a Service (FaaS) is reapidly becoming the next evolution of cloud computing after containerization. FaaS is often refered to “serverless” and has been popularized by the public cloud providers that all delivers some type of serverelss functionality such as AWS Lambda, Azure Functions, and Google Cloud Functions.

In any serverless framework there are two core components. The runtime responsible for executing the functions, and the events for invoking them. What makes a good serverelss framework is it's abilitiy to integrate with other systems and services using this event driven model.

In this wokrshop we will be looking at the different possibilities of running serverless worklods on top of Kubernetes and get some hands on experience with popular frameworks built specifically for running serverless functions in Kubernetes. We will set up a complete serverless environment where functions gets triggerede over a message bus when new files are uploaded to a object storage.


Understand phishing and create your own campaign

Workshop - Suggested by Erik Vetle Larsen, 4 months ago.

Everyone has received a spam or phishing mail before, but have you ever wondered how the mechanics behind a phishing campaign works? When can you consider your account compromised, from clicking a link or submitting your credentials?

In this workshop we start off by quickly talking about the motivations behind phishing and how an effective scam is created, applying elements from psychology and social engineering.  Afterwards we take what we have learned and start designing our own simple phishing scam, from credential harvesting web page to sneaky phishing mails

After this workshop you will know the basic set of tools and techniques attackers use when phishing us, and that will better equip us in learning how to defend against them.


Create Your Own Discover Weekly Playlist for Spotify Using Machine Learning

Workshop - Suggested by Malte Loller-Andersen and Joakim Lehn, 4 months ago.

Have you ever wondered how Youtube and Spotify recommends new videos and songs to you? Do you want to know what characterizes the music you listen to? Join us for this workshop where you create your own Spotify playlist based on your own music taste!


In this workshop we will give you an introduction of various algorithms used for clustering and classifying data and introduce feature extraction and the Spotify API. Then we will use Spotify's API to gather metrics of songs in your playlists, and visualize the data found. Next on the menu are four assignments including finding similar playlists and recommending new songs for yourself.


After this session you will have a greater knowledge of several machine learning algorithms for classifying and clustering data, while exploring your own music taste. You will learn how feature extraction influences the results in machine learning projects, and what you need to take into account when setting up your own projects!


How to make everybody heard.

Workshop - Suggested by Dmitry Lebedev, 4 months ago.

Imagine that your org has adopted scrum, all teams are doing retros, some of action points receive management attention, sometimes even got solved. But still there is some feeling that bigger problems, which are holding your company back, cannot either be addressed or even acknowledge, just becouse these problems are dispersed through the whole organization an in a single team we might see only a fraction of it. So it is important to get the whole group together and get everyone heard.

How to form and get group's opinion? What kind of techniques you can use to organize such sessions in your organization? How the org will benefit from it?


Design thinking for developers?

Workshop - Suggested by Synnøve Kleive, 3 months ago.

Design thinking disrupts our processes and tells us to fail fast and to fail often. But who's supposed to fail? Should business developers and design thinkers finish whatever it is those people do, before the developers get on board, and leave developers to be agile in peace? Or do we dare to code to fail?
In this workshop you will be challenged with a business case. A business case for developers. After a short introduction to design thinking, you will be in charge of making a plan for how to solve a business problem, including roles, activities and sprints.
Are you brave enough to fail fast?


Make your own chess engine and change the world!

Workshop - Suggested by Teodor Elstad and Simen Granlund, 3 months ago.

Artificial intelligence is revolutionizing the world. Everything from autonomous vehicles to self-checkout cash registers is changing the face of many industries, and computers outperform people in an ever-increasing number of tasks. Words such as neural networks, machine learning and intelligent agents gets thrown around a lot, and it can be difficult to know where to start if you want to venture into the world of artificial intelligence.

In this workshop we'll cover the basics. First you'll get an introduction to a couple of fundamental classical artificial intelligence topics. Then you'll use those techniques to make your own chess engine. Finally you'll put your chess engine to the test by competing against the other workshop participants.

This is the workshop for those who learn by doing, enjoy chess, and want to learn about some of the basic building blocks of artificial intelligence. The focus is on hands-on programming, and you'll travel home with practical experience and knowledge of several classic AI-related techniques.

Bring your laptop and join the adventure of making your own home-made chess engine!


Kotlin for Javautviklere (og andre)

Workshop - Suggested by Morten Nygaard Åsnes, 3 months ago.

Kotlin blir stadig mer utbredt som et alternativ til tradisjonell Java utvikling. I denne workshopen vil vi få en introduksjon til Kotlin, og få prøve oss på praktiske oppgaver for å gjøre oss kjent med språket. 


Intro to 3D visualization and three.js

Workshop - Suggested by Stian Veum Møllersen and Holger Ludvigsen, 3 months ago.

Learn the basics of 3D visualization in the browser with WebGL and Three.js. You will make a nice sound visualizer, a starry sky, a strange furry-looking ball and some cool particle effects. We will teach you the core concepts of WebGL and basic shader programming, so you can feel empowered to be creative in three dimensions.


Playing Lean 2

Workshop - Suggested by Olav Loen, 3 months ago.

The board game Playing Lean was launched after a Kickstarter campaing in 2015 as a flight simulator for innovation and Lean Startup. In 2018 a new Kickstarter campain was launched to improve the game with bigger game board, new company building mechanincs and a new scenario (hospitality like AirBnB) based on Alexander Osterwalder's Value Proposition Design.

Join this workshop to play the new scenario with the new company building mechanics and learn more about Value Proposition Canvas.


Getting started with GraphQL

Workshop - Suggested by Iver Skjervum-Karlsen, 3 months ago.

Have you ever as a backend developer started in good faith creating that perfect REST-API, ending up creating a bunch of specialized endpoints, causing a mess of multiple endpoints doing almost the same?

Have you ever as a frontend developer been frustrated over endpoints that gives you almost what you need, and you end up doing multiple round-trips to the server to fetch all the data you need?

This workshop will give you an introduction to GraphQL, and how to solve some of the problems you experience with REST both from a backend and a frontend perspective!


Scalable microservice architecture with Go

Workshop - Suggested by Ricki Sickenger, 3 months ago.

In this workshop we will give you an introduction to Go and show you how to create a microservice architecture using Go.

Go is a relatively new and popular language from Google that lets you compile your code into dependency-free native executables. It is performant, memory managed and highly parallelizable. Perfect for microservices!

We will start off giving you a quick introduction to the language before we let you loose with exercises to get to know the language better.

Then we will share some of our experiences with using Go to create microservices, and show an example setup. There will be exercises where you get to implement a microservice architecture.


test && commit || revert

Workshop - Suggested by Oddmund Strømme and Lars Barlindhaug, 3 months ago.

Make your errors disappear instantly!

In this workshop you can try the test && commit || revert workflow in practice. Together we will write code and use a TCR script. We will commit the code when the test passes and remove the code when the test fails. This encourages you to do smaller changes. Smaller changes make it easier to solve big problems.

We discovered TCR during a week-long code camp together with Kent Beck. We are exploring TCR daily and would like to spread the workflow to more coders and get feedback from a broader set of people.

You can use any programming language you prefer, but we can offer the best help in Java or JavaScript


Natural Language Processing and Machine Learning with EnCog

Workshop - Suggested by Morten Mjelde, 3 months ago.

The goal of this workshop is to introduce the participant to some basic machine learning and natural language processing concepts.

We will use the EnCog framework to tackle a text classification problem, and see how to quickly get started on training and verifying an artificial neural network. The workshop will involve collecting and processing language data from different sources, and then training the artificial neural network to identify the source of a small sample. Various techniques can be testet to see what gives better results.

Primarily for: C# and Java developers. No prior knowledge of machine learning or natural language processing is needed.

Participant requirements: A laptop set up for either C# or Java development. The presentation will be in English, but the data used will be in Norwegian. Knowledge of the Norwegian language will be useful, but we will try to accommodate non-Norwegian speakers.


How to create your own AR headset

Workshop - Suggested by Keith Mellingen and Ivan Kolesar, 3 months ago.

AR stands for Augmented Reality. Augmented reality is an interactive experience of extending the real-world by the computer-generated information. The real world is augmented, which gives the name to the set of technology solutions. Recently, we see the growing interest from the side of hardware manufacturers, developers and researchers to bring the technology to the life of every-day consumers. The Benefits that the consumers could potentially get from AR are more visible if we even imagine the amount of data we are collecting about the world, but not showing back.


AR algorithms solution set, coupled by computer vision field, has traveled quite a road. From the simple solutions of just drawing geometry (or information) in front of the users field of view, through additively more and more complex solutions such as detecting the markers, images, motion-tracking, spatial mapping, object recognition, hand gestures interaction, face recognition and more and more.


Accordingly is following up the development of necessary hardware. From the simple AR glasses, to full mounted AR headsets supported by their own computational units, mobiles or PCs. Actually, the number of AR headsets is still growing over several past years, some interesting examples would be Hololens, Magic Leap One, Meta 2, or MagiMask. All of them are having a mixed degree of good/not-so-good specifications for AR, like field of view, available processing power and sometimes overly high price. Luckily most of them share the same development platform from the family of the game engines Unity or Unreal Engine.


To overcome the fragmentation of the specification, and also to open the door for the possibility of having the best solution have emerged Project North Star. Project North Star is an open-source solution for AR headset originally developed by Leap Motion company. The documentation allows quite an extensive degree of customization for the headset, from the size of the display panels showing the content, their resolution, size of the lenses, up to the type of used sensors. We are no longer limited by the hardware, but rather we are allowed to extend or change hardware by our, and our customers, need. This customization allows us to customize the hardware part of the AR development for the customers, which is a valuable extension to the existing set of AR headsets.


We have analyzed the project and constructed our own, simplified version of the headset. This headset is our simplest and cheapest version from where we plan to do extensions. In our lighting talk (workshop) we will present the pitfalls of the creation of the headset, the results and upcoming possibilities to continue. Many of our solutions can be used by the general public and by sharing know-how of hardware creation and repository to some basic demos we aim to expand the development and public opinion for the usage of this exciting technology.


At first, we will look more deeply into mechanical parts necessary for the AR headset to hold all the electronics in the right position. We will demonstrate the possibilities of changing the shape of the headset in available 3D modeler software. Moreover, we will cover the part of 3D printing, from the printer preparation stage, choice of the materials, cleaning-up the resulting parts and final assembly. Afterwards, we will cover the assembly of electronics (such as display panels and sensors) into the headset with the calibration.


Secondly, we will present the existing development platform used by us – Unity – to create great AR solutions and set of simple technological demos, which we will share to the public via Github. We will prepare set of AR headsets with the different specification and one codebase structure (framework-like), which can run on each of them. Initially we will run through the set of existing small demos and at the we will end the session by leaving the developers to try the headsets with the demos and to try to create something by themselves. At the end the developers should get the knowledge and experience base for creation and usega of their own AR-headset.


Primarily for: Developers (can you adjust who else? Might be also some positions more away from the technology)


Participant Requirements: Laptop capable of running Unity and outputting two HDMI signals.


Introduction to HLS streaming

Workshop - Suggested by Aril Spetalen, 3 months ago.

Video streaming technologies are nowadays everywhere, and HLS streams can be played on more or less all platforms. At NRK, HLS is the standard video streaming protocol, and this introduction aims at describing HLS basic internals through hands on exercises.

I will walk through streaming concepts, transcoding, segmentation and playlists at a level that should fit developers with little or no knowledge to begin with. We will start with creating a video with our mobile phones, transcode it to different quality levels, create streaming transport segments, and play them out with a media player. Finally, we will add subtitles to the video in two languages.


Getting Griddy With It

Workshop - Suggested by Marius Krakeli, 3 months ago.

Once a while technology comes along and reshapes the way we do things. For over two decades layout on the web has been more or less dreaded by developers, and has felt more like a chore, than something that we have enjoyed. Things have started getting better, but with the introduction of CSS grid, the layout game has changed into something quite enjoyable. During this workshop, you will learn all the things that make CSS grid fun to work with, and more than enough to make use of CSS grid in your own projects. Prepare yourself to experience the closest you’ve come to programming magic.


How to make a multi-lingual chatbot and use it in your web application

Workshop - Suggested by Håkan Silfvernagel, 3 months ago.

Chatbots are commonly used in a wide range of user scenarios such as ordering pizzas, product suggestions, schedule meetings or customer support. But how can we as Microsoft developers make our own chatbot?

In this workshop you will learn how you can make a chatbot by using the Microsoft Bot Framework together with LUIS (Language Understanding Intelligent Services). The chatbot will be multi-lingual meaning it will adapt in real-time according to the user’s language (i.e. switching from English->Spanish->Norwegian).

Finally you will integrate your chatbot in a web application and see how this can be used in a realistic scenario.

The majority of time in the workshop will be spent in Visual Studio and the Cognitive Services portal.



Building your own API testing framework with pytest and the requests library

Workshop - Suggested by Joep Schuurkes, 3 months ago.

APIs lend themselves extremely well to test automation. There's a simple reason for this: APIs are designed to be consumed by computers, not by people. So where with UI tests, you need to rely on testing-specific libraries such as Selenium WebDriver, with API testing you can simply use the same libraries as the ones that are used to build applications. This also means that building an API testing framework is significantly easier than building one for UI testing. So why let's not just do that in a workshop?

You'll be able to experience how easy it is - assuming you have some very basic general programming knowledge and know what an API is. We'll build our framework using Python, Pytest and the requests library. More importantly, we'll explore and discuss what your framework needs to be able to do to support the full life cycle of a test suite. Because I see all too often a focus on how easy it is to build tests and little mention of maintainability or readability of test results.

After this workshop you'll have a basic API testing framework you can extend (I will be giving tips for next steps). More importantly you'll have a better understanding of testing frameworks in general. And that will come in handy when you have to evaluate a testing tool, or when you are discussing a framework with the developers that build it.


To be proven wrong is also a success - how Lean Product Development can increase value in your organisation.

Workshop - Suggested by Kjartan Storli and Alexander Strømme, 3 months ago.

What would happen if we applied the scientific principle to product development and entrepreneurship? We know that more than 80% of new products fail, rarely because of technical flaws, but simply because there is no room in the market for the product. To put it in simple terms, too many bad ideas are implemented. In this workshop, we will discuss how we can implement a simple feedback loop to avoid many of the pitfalls we find in today´s organizations that tend to be focused on streamlining throughput instead of value. We do this by focusing on building testable hypothisis at each step in the process to avoid investing in the wrong features.

The workshop uses methods and techniques from Agile and Lean Startup and we will discuss both real world examples and work in groups to discuss how we can experiment more in our own organizations.


Video processing using gstreamer

Workshop - Suggested by Gisle Sælensminde, 3 months ago.

Gstreamer is a pipeline-based open source media framework that let
you manipulate video in a programmatic fashion.

Say you have a machine learning system like face recognition or some
other computer vision algorithm working on images. Then you often want
to run the algorithm on the frames of a video rather than individual images.

This is often done by dumping the video frames to image files, and then
running your algorithm on the images. While this works in many cases,
it is slow and if you have real time requirements, like a number plate
or bar code reader, that won't work.

A faster and more reliable way is to use gstreamer and then make a
gstreamer filter to do the task. In this workshop you will learn to
set up a gstreamer video processing pipeline and build your own
gstreamer filter.


Video streaming with Mpeg DASH

Workshop - Suggested by Gisle Sælensminde and unnamed, 3 months ago.

Mpeg DASH is a streaming technology that allows clients to dynamically select quality and
resolution based on available bandwidth, both for live content and prerecorded videos.

Say already have some beautiful videos you have edited and want to publish, and you want
to host the videos yourself rather than just publish the videos to YouTube.

Even if you host the video yourself, you still want the video to be playable for those
with low bandwidth connections, and at the same time available in high quality for those
with high bandwidth connection, and you want this to adapt dynamically without user involvement.

In this workshop, you will build a web site with dynamic adaptive video using Mpeg DASH.
We will show how you can generate DASH manifests and segments, and play it out using Dash.js
on the client side.


Java module system in practice

Workshop - Suggested by Bjørn Hamre, 3 months ago.

In this workshop you will learn about the new (since Java 9) Java Platform Module System (JPMS), the benefits of using it to modularize your application. I will take you through the necessary steps to migrate your existing application step by step to a modularized application using Java 11. We'll go into details about how to write module descriptors ( and how to make your own minimal JRE you can distribute with your application. After a theoretical introduction, you will clone an application from github and work on your own laptop to modularize the application using the techniques I talked about. In the end you will make your own minimal JRE using jlink.


Understanding C++ templates

Workshop - Suggested by Jørgen Kvalsvik, 3 months ago.

Dive nose-first into C++ templates by implementing a simple template system, a primitive cousin of the powerful (turing-complete!) C++ templates.

This workshop will essentially be a quick start in abstract syntax trees, programming languages, and compiler internals.


🦈 Diving into CMake

Workshop - Suggested by Adam Fyllingen, 3 months ago.

Have you ever found yourself maintaining a project with separate solution/make files for each platform? Perhaps even separate build instructions for each ABI? Have you ever dreamed of consolidating all the different build rules into a platform/compiler/IDE agnostic set of build rules?

Allow me to introduce CMake; the platform and compiler independent build system generator! CMake is quickly becoming a de-facto industry standard for both new and old C/C++ projects, often praised for its scalability - all while maintaining a readable build structure. It’s the perfect tool for both those who need to maintain large and/or complex systems, and those who simply prefer to keep their options open.

Join me, as we leave outdated solution/make files in the dust and dive into the wonderful world of modern CMake! We'll start off with building a simple project, before plunging straight towards more advanced waters with questions such as: “How do convert my own project into utilizing CMake?” and “What if I need to import a project that wasn't built with CMake?” But watch out, there are sharks in these waters! So we’ll also look into cases where CMake is gnarly, but still workable - all while assuring a simple and modular build architecture across multiple compilers/platforms!


Alchemical Code Rejuvenation

Workshop - Suggested by Uberto Barbini, 3 months ago.

Did you ever been in a position where you need to significantly change old legacy code, without tests and without documentation?
People love to complain about their legacy systems, but legacys usually are successful systems which deliver real value to business, and this is definitely a good thing.
The usual approach to legacy pain is to try to avoid touching it. I think we can do better than this: instead of frozen it or rewrite it, we can split it in modules and then rejuvenate it one at the time.
This is live explanation to show some original techniques to rejuvenate efficiently big code bases which I used while working in investment banks. The goal is to be able to work in a TDD fashion on big legacy application without risky rewrites or big refactoring. Instead we will see how to separate and disentangle small bits of code at time.
Like an alchemist we will rejuvenate our code base!
We will present a messy code base and show ACR technique to make the team visualize together the best path of action using post-it on whiteboard and then clean up the code following simple rules and automatic refactoring.
We also address some of the most common reactions to these techniques from colleagues and managers.
We hope to make you love legacy again.


Lightning talks

Useful dashboards with Grafana

Lightning talk (10 min) - Suggested by Jarl Totland, 3 months ago.

Modern cloud and container orchestration makes it super easy to collect tons of metrics for your infrastructure and applications. Unfortunately it is not always obvious how to reduce the information flow, and visualize it.

Let's look at some good practices for creating effective dashboards for high level overviews and day to day devops activities. 

Based on real life experience using Grafana with Telegraf and Influxdb for managing 500+ servers whilst migrating from on prem to AWS. 


Fail fast and fail safe - Gevinster av PoC arbeid

Lightning talk (10 min) - Suggested by Elin Langholm, 3 months ago.

Hvis vi ikke feiler så blir vi fattig på læring. For at feiling ikke skal være så kostbart, men nyttig så er fast og safe stikkord som gjerne knyttes til fail.

Vi ser på hvilke gevinster arbeid med Proof of Concepts kan gi deg - mulighet til å feile raskt og uten store kostnader er en av dem.



Collaboration across organizational silos

Lightning talk (10 min) - Suggested by Hilde Bakkeli, 3 months ago.

As a product development team in a large organization you may need to collaborate with other parts of the organization to deliver value to the end users. Your colleagues may have different professions and work culture than your own. Starting off without a shared language, understanding of the goals, process or roles, the collaboration might turn more difficult than expected.

Our team in Oslo kommune work on a mobile app to enable simpler access to buildings, services and events for the inhabitants of Oslo. In order for the product to succeed, it requires close collaboration with people and departments spread across a large organizational map.

What are the factors to make cross-organizational collaboration succeed? In this lightning talk I will share four relevant factors from organizational psychology as foundation for successful collaboration between groups, as well as experiences from Oslo kommune and previous projects.


Ikke la brukertesting ødelegge løsningen din

Lightning talk (10 min) - Suggested by Anne Landro, 3 months ago.

Brukertesting er enkelt å gjennomføre og gir masse insikt på kort tid. Men det er fort gjort å gå i noen feller som gjør at designet ditt faktisk blir DÅRLIGERE av brukertestingen.


I denne lyntalen deler jeg noen skrekkhistorier hvor brukertesting førte til at løsningene våre ble dårligere, heller enn bedre. I tillegg deler jeg enkle løsninger som gjør at andre slipper å gjøre de samme feilene som vi har gjort.


Killing your last monolith: Micro Frontends

Lightning talk (10 min) - Suggested by Torjus Eidet, 3 months ago.

When your front-end starts getting too big, you might want to split it into smaller parts. Micro Frontends extends the concepts of micro services to the frontend world. The idea behind Micro Frontends is to think about a website as a composition of features. Different features are owned by independent cross functional teams. These teams have distinct areas of business they care about and specialize in. Torjus will present Sbankens practical approach to Micro Frontends.


Issues and strategies related to joining a programming team

Lightning talk (10 min) - Suggested by Ami Ahalpara, 3 months ago.

Joining a new programming team to work on an existing product is a situation programmers often find themselves in. In such a situation, becoming productive and delivering business value quickly is a formidable task due to lack of adequate domain knowledge to begin with, exposure to a new code base, getting tuned to a possibly new framework and perhaps to a new programming methodology. Some of the top priorities of a new team member are getting the necessary domain understanding, getting a grasp of the architecture and the reasoning behind the applied methodologies. As vital as all of this is, it cannot be reverse engineered solely by reading the code or the documentation. Based on my experiences gained through working with software companies in two countries and over a decade, I would like to present some of the relevant techniques to quickly arrive at a stage where the new recruit can make a meaningful contribution towards the evolution of the software.


Elm i Rust med WebAssembly

Lightning talk (10 min) - Suggested by Sindre Johansen, 3 months ago.

Elm er et revelusjonerende språk og rammeverk som kompilerer til JavaScript. Det er på mange måter en erstatning for både React og JavaScript. De sier om seg selv "A delightful language for reliable webapps."

Rust er et revelusjonerende språk som er imponerende raskt og sikkert. Det kompilerer vanligvis til maskinkode, men har i det siste fått veldig god støtte for WebAssembly. Dermed får man tilgang til et veldig bra programmeringsspråk med gode biblioteker i browseren. Men Rust mangler et godt bibliotek som erstatter React.

Elm og Rust er tross sine forskjeller egentlig ganske like språk. Det slo meg en dag, ville det vært mulig å lage arkitekturen til Elm i Rust, og hvordan ville det sett ut? Vil det bli like gøy å bruke som Elm? Mister man noe på veien? Støtter typesystemet i Rust det i det hele tatt? Svarene får du i denne talken.


Clear communication with data visualisation

Lightning talk (10 min) - Suggested by Megan Thorsen, 3 months ago.

Get some pointers on optimising your visualisations for your data, your audience, and your objective. Most importantly and most forgotten: what should you think about before you start, and what should you check after you’re done?


I created a programming language, and so can you

Lightning talk (10 min) - Suggested by Daan van Berkel, 3 months ago.

Inspired by the Booster Conference and the city of Bergen I created a language called bergen. It is a dialect of brainf*ck, a tiny Turing complete language, that uses mountain ranges to describe programs.

In this lightning talk we will show how one can create their own language, create a compiler for it, and see it being executed on an abstract machine. We will demystify the shroud of reverence surrounded by programming languages and their creators.

You will walk away with a better grounded understanding of how programming languages work, and how you can create one on your own.


Live demonstration of Heroku Pipelines

Lightning talk (10 min) - Suggested by Ove Gram Nipen, 3 months ago.

Create a github pull request, and a new app is automatically created and deployed. Review both the code and the running app, merge the pull request, and the pull request app is destroyed and the development app is redeployed. Promote the changes to staging, run the user acceptance tests and promote to production. We'll show how to setup and do all of this live, in ten minutes, with Heroku Pipelines.


Thermal predictions - an environmental ML success story

Lightning talk (10 min) - Suggested by Christian Sloper, 3 months ago.

Using deep learning and weather data we have succeeded in calculating the power need of the thermal power plant days ahead.  This has allowed calculating and optimizing the use of supplementary fuel leading to a reduction in overall use of expensive oil burners.

Explaining the core challenges in the project and the positive results.


Jorden rundt uten en plan?

Lightning talk (10 min) - Suggested by Christina Seime, 3 months ago.

Gjelder smidige prinsipper kun på jobb eller kan vi bruke disse prinsippene også på privaten? Som Agile coach er jeg over middels glad i smidig og under middels glad i å planlegge i detalj lang tid før en hendelse inntreffer. Da vi reiste jorden rundt på 10 måneder med våre to barn, hadde vi samme innstilling til planlegging av reisen som for produktutvikling. Var det en god ide å ha en smidig tilnærming til planlegging når man skulle reise til ukjente land med to små barn? Kom på denne lyntalen for å høre mine erfaringer med planlegging, på jobb og på reise.


How interfaces invites to bad password practices

Lightning talk (10 min) - Suggested by Cecilie Wian, 3 months ago.

Password policies try to force users to make more secure passwords, but instead of making passwords difficult for computers, policies leads to difficult passwords for users. Users struggle to remember passwords, leading them to use common phrases, shorten passwords, and reuse passwords. Making passwords even more insecure.

We know what people are bad at, but what are they good at?

In my presentation i will discuss why user interfaces invites to bad password practices, before moving on to talk about human skills that can be used to shape users actions into more secure behavior.

Key audience:

UX, security professionals, developers, testers

Take aways from the talk: 

Be aware of the weaknesses of current practices for password policies. 

Knowledge about how software interact with human skills

Knowledge about human traits that can be used to improve Human-Computer-Interactions, like registration forms


Splunk for fun and profit - hvordan finne 36000 timer og 115 milliarder

Lightning talk (10 min) - Suggested by Øyvind Kvangardsnes, 3 months ago.

Hørt om Splunk? Det er et skikkelig kraftig verktøy.

Mange har sikkert brukt det fir å lete etter feilsituasjoner i logger. Og det er uendelig nyttig. Men når man tar dette verktøyet og bruker det til å finne forretnings- og brukerombudet, da  blir det virkelig verdt prisen.

I denne lyntalen skal jeg fortelle om hvordan man kan bruke Splunk til å finne innsikt du ikke visste du trengte.

Sånn at du kan ta mye mye bedre beslutninger om forretningscaser, ux, oppsider, nedsider feil og anna morro.

Resultatet av det kan som kanskje er spennende nok til å lage et nytt produkt eller spinne en nyhetssak.



A Rough Guide to Cloning a Person

Lightning talk (10 min) - Suggested by Anders Grini Hamre, 3 months ago.

  • Would you like your person to be of any particular age or gender?
  • Would you like an address with that?
  • How about an income and employment record?
  • That will be eight clicks, thank you very much.


  • You killed your person, you say? No worries, three clicks and you have yourself a clone.


Test data, or rather the quest for these, can steal time, ruin your day, and delay deploys. At the Norwegian Welfare and Labour Administration our teams need coherent data across a multitude of systems and test environments. Nobody can wait for days or weeks. We need thousands of people, of all sorts and with various backgrounds. And they all have to be synthetic, of course.


Therefore, we have built a tool for creating synthetic and coherent data on demand. When you have a working test data set, it can easily be recreated or cloned. Dolly, named after what might be the world’s most famous sheep, give the testers and developers test data without delays. On top of that it saves the tax payers vast sums.


In this talk I will explain the concept, how we create coherent and synthetic data across our many (legacy) systems, and how we work to improve our beloved Dolly. You may not be able to steal Dolly, but you may clone the idea.



How to make test data coherent across a multitude of systems?

How to cut time and cost of test data?

How to have a bit of fun whilst managing your test data?


Diversity makes a difference

Lightning talk (10 min) - Suggested by Tannaz Navaie Roshandel, 3 months ago.

We live in a deeply connected world. Technology impacts our everyday life in many ways. However, the solutions we create do not always reflect our society and the world we live in. We have problems in the tech industry. Let’s take a look at the lack of diversity in our communities and how diversity will help us to solve our problems and meet the needs of our society


How not to screw up

Lightning talk (10 min) - Suggested by Lubaba Farin Tanisha, 3 months ago.

Have you ever felt that you are falling into a rabbit hole? Have you seen yourself screwing up with a deadline, or a project or just found yourself dealing with an unhappy customer? Have you noticed the stakeholders falling into a response pattern including words like sh*t, wt* or similar? Well, then welcome to my party of salvage! I will walk you through a path showing you why we fall in to the trap over and over again and how we can make better decisions and manage our products better.


Why startups are more efficient organizations

Lightning talk (10 min) - Suggested by Karianne Berg, 3 months ago.

Startups are blowing established organizations out of the water on a regular basis. How on earth can small companies of 1-30 people beat multi-million companies with a lot of money, existing customers and experience? Karianne Berg, who have experience from several startups, will share some simple (but not easy!) tricks of the trade.


How to get away with writing great code as an IT-consultant

Lightning talk (10 min) - Suggested by Nils Norman Haukås, 3 months ago.

For over two years now I've been juggling clients and codebases as an IT-consultant at a digital agency named Netlife Design.

I've been yelled at, I've been on projects that have overrun their budgets and I've endured difficult project talks. It hurts but you learn to fix it, or you burn out and switch jobs. At its best this type of consulting work provide a thrillingly varied work week, at its worst you feel that you never get enough time to make the code right and the clients happy.

To help you survive as a developer IT-consultant I'll share advice on:

1. Disappointing the client early and frequently to ensure project success.

2. Deprecating status meetings by wrangling private messages into public channels.

3. Writing future-compatible code and harnessing a spider sense for failure.

With this, I aim to help you to achieve smooth(er) projects and maybe even get away with writing great code.


Using game AIs for Business Logic

Lightning talk (10 min) - Suggested by Anders Norås, 4 months ago.

Artificial Intelligence is a huge thing at the moment, even in enterprise IT. Game developers have been making artificially intelligent software for eons and they have a few tricks up their sleeves to make things "smart" without jumping the machine learning shark.
We'll look at how a very common game AI technique works and learn how we can use it for everyday business logic.


Design thinking and service design as change management techniques

Lightning talk (10 min) - Suggested by Kristine Kjellsen, 4 months ago.

Heard the words design thinking and service design thrown around? Wondering whether this is something you should spend any time understanding or are you inherently skeptical to it? The mindset and techniques used in design thinking and service design provides you with a great deal of great change management. This short talk, breaks it down to help you understand how.


Do we have to be passionate at work?

Lightning talk (10 min) - Suggested by Erik Assum, 4 months ago.

If we look at job ads for our industry, quite a few of them are looking for stuff like "a passionate developers who loves <a programming language>". In this lightening talk, I'll examine if we really need to be all that passionate and also if passion is such a desirable emotion after all.


TypeScript for The Greater Good (The Greater Good!)

Lightning talk (10 min) - Suggested by Kjetil Sletten, 3 months ago.

TypeScript er et pragmatisk språk som gjør det mulig å jobbe med frontend på en mye mer tilregnelig måte.

Hvor mange ganger har du ikke måtte ty til en console.log() for å vite hva objektet inneholder eller glemte forrige utvikler å legge til PropTypes til sine React Components?

TypeScript er et superset av JavaScript som gir statisk typing, klasser og grensesnitt. Statisk typing gjør det mulig for mange verktøy å finne feil på et tidligere stadie enn i runtime.

TypeScript har gjort hverdagen til meg og mitt team til et mye bedre sted å jobbe da vi kan med sikkerhet si hva som faktisk skjer i vårt utviklermiljø, både under og etter utvikling. Sammen med React er TypeScript et utrolig viktig verktøy som gjør jobben utrolig mye enklere for en frontendutvikler.

Denne presentasjonen viser deg hvor enkelt du kan bytte til TypeScript og gjør verden til et litt bedre sted, type for type.


SQL Window Functions to your rescue

Lightning talk (10 min) - Suggested by Frode Borlaug, 3 months ago.

SQL Window Functions are a little-known feature of Standard SQL, but very powerful.

A SQL Windows Function do calculations across a set of rows (window), these rows are somehow related to the current row.

Compared to classical aggregate functions in SQL, aggregate as Window Functions do not cause rows to be grouped into one output row in the result but return all the rows in the result.

The SQL Window Functions can be of statistical/analytical, ranking or aggregate type.

Through this talk I will give developers and data analysts a little glimpse into this world. I will start with a little introduction, and then a few examples.


Alternatives to polling

Lightning talk (10 min) - Suggested by Frode Borlaug, 3 months ago.

We need to move state, events and data between systems, and between browsers and backends. We often solve this by polling.

In the context of REST APIs, this often means repeatedly doing REST calls, to detect changes.

This kind of polling solutions do not scale easily, and typically are not responsive. What can be a better solution?


We look at some alternatives:

Between backends:

Rest Hooks

Between frontends and backends:

Server-sent events



The talk will introduce the "problem" with polling. Then briefly introduce some alternatives, and their pros and cons.


Hva betyr Lean Startup i praksis?

Lightning talk (10 min) - Suggested by Olav Loen, 3 months ago.

En praktisk gjennomgang av hvordan prinsippene i Lean Startup har ført til et konkret produkt for problemet "Ikke alle deltagere betaler".


Porteføljestyrte isprinsesser

Lightning talk (10 min) - Suggested by Olav Loen, 3 months ago.

Smidig utvikling baserer seg på en produkteier som tar beslutninger på hvilke brukerhistorier som skal lages og alle spørsmål knyttet til behovene. Hvordan jobber egentlig en produkteier?

Med konkret eksempel fra kunstløpsmiljøet i Bergen vil du få en innføring i hvordan produkteiere bevisst eller ubevist prioriterer brukerhistorier (behov) med forankring til forventede resultater og gevinster. Kanskje den nye funksjonen også kan gi organisasjonen en ny evne som igjen kan brukes for å oppnå enda flere resultater.


Getting personalised search results by combining search and machine learning

Lightning talk (10 min) - Suggested by David Skålid Amundsen, 3 months ago.

We are all used to very good search results from online search engines, where the ranking even takes into account my interests and preferences. Is it possible to achieve this when searching in internal documents in your organisation too? By combining machine learning and search through a technique called “learning to rank” it is possible to use e.g. click data to both improve and get personalised search results. Come and hear about this exciting technique, the possibilities it opens up and a proof of concept we have put together that demonstrates its potential.


How PSD2 and Open banking will change the way we interact with our money.

Lightning talk (10 min) - Suggested by Rina Andriana, 3 months ago.

The new european directive PSD2 will become fully operational in 2019. It will require banks to open their APIs and to share their customer data to third party providers. This will affect the whole finance industry. It will open up many new possibilities for businesses to provide better user experience for their customers. The entry of PSD2 will for instance make it easier and more seamless to initiate payments online. Merchants are able to get money directly from your bank account without the use of any bank card. That is just one of the many possibilities and use cases that will be possible in the nearest future.

This talk will give you an insight of what PSD2 is, why it matters and how it can change banking as we know it today.


Go progressive!

Lightning talk (10 min) - Suggested by Rina Andriana, 3 months ago.

Progressive web apps still seems like a new thing, but it has actually been around for some time now. Browsers start to support more functionalities and businesses are starting to implement newer features.

PWA has many advantages over native apps, and some say it eventually will make native apps obsolete. But how far has this process come?

In this talk I’m going to give an overview of the PWA landscape. What features are now supported by browsers, and if the core technology is mature enough to be fully implemented and used. Is it time to finally go progressive?


Out of the frying pan and into the fire, Junior == (Dev - xp)

Lightning talk (10 min) - Suggested by Oskar Leirvåg, 3 months ago.

Ferdig utdannet og uten erfaring, en utgift i øyne av en bedrift, og en tapt sjanse. Hvorfor har ikke flere bedrifter studenter inne på deltid? Vi er billigere, har fersk teori, og mye å bidra med. Vi trenger en praksis til å teste teorien, så hvorfor ikke la oss gjøre noe nyttig for deg?


Fra Regional sparebank til Nasjonal mobilbank

Lightning talk (10 min) - Suggested by Kjetil Sørtun, 3 months ago.

I lyntalen vil jeg snakke om hvordan Sparebanken Vest jobber med å utvikle seg fra en regional sparebank til en nasjonal aktør, både igjennom egne intiativ men også igjennom samarbeid med eksterne aktører. Hvordan vi jobber, hva vi jobber med og hva vi har lært igjennom reisen. 


An introduction to Azure API Manager and API Gateway

Lightning talk (10 min) - Suggested by Håkan Silfvernagel, 3 months ago.

In this lightning talk I will give you an overview of how you can use the Azure API Manager and API gateway as a means for handling cross-cutting concerns such as authentication and to be able to consolidate various backend APIs into a single API that the clients can use.


How to use principles from psychology for designing user interfaces

Lightning talk (10 min) - Suggested by Håkan Silfvernagel, 3 months ago.

In this lightning talk I will go through some principles from cognitive psychology and give examples on how they can greatly enhance the design of user interfaces.

Come to this talk if you want to learn principles to make your application more user friendly.


Stream all the things! Kafka på 1-2-3

Lightning talk (10 min) - Suggested by Henrik Stene, 3 months ago.

Hva er Kafka? Hvordan bruker jeg det? Hvorfor burde jeg bruke det? I denne lyntalen vil du få et nybegynnerkurs i Kafka og høre en rekke eksempler på hvordan man kan bruke det til å gjøre hverdagen enklere.


Creating my own car sharing service using the Tesla API

Lightning talk (10 min) - Suggested by Henrik Stene, 3 months ago.

Different car sharing services are getting more and more popular and I wanted to create my own service so I could share my car with my mother and brother. In this lightning talk you will see how the power of APIs enables consumers to create new an exciting functionality on existing gadgets and how I can share my car with whomever I want with my own app.


Arkitekten i og etter smidig transformasjon - fra sjef og sherif til influencer

Lightning talk (10 min) - Suggested by Mario Ek Aparicio , 3 months ago.

I IT-prosjekter har løsningsarkitekten vært en sentral premissgiver for både kravspesifikasjon, arkitekturdesign og teknologivalg. Arkitekten hadde ansvaret for at løsningen oppfylte både forretningsbehov og tekniske krav.

Nå tar mange organisasjonen steget og kutter IT-prosjektene og erstatter dem med faste, autonome og kryssfunksjonelle teams. I denne settingen tas de aller fleste beslutningene innenfor teamet. Hva blir arkitekten sin rolle da?

Hva med de mer overordnede perspektivene på arkitektur, som teknologistrategi, arkitekturstyring og virksomhetsarkitektur? Hvordan håndteres dette i en organisasjon som gjennomgår en smidig transformasjon?

I denne lyntalen utforsker jeg disse problemstillingene  


Arkitekten i og etter smidig transformasjon - fra sjef og sherif til influencer

Lightning talk (10 min) - Suggested by Mario Ek Aparicio , 3 months ago.

I IT-prosjekter har løsningsarkitekten vært en sentral premissgiver for både kravspesifikasjon, arkitekturdesign og teknologivalg. Arkitekten hadde ansvaret for at løsningen oppfylte både forretningsbehov og tekniske krav.

Nå tar mange organisasjonen steget og kutter IT-prosjektene og erstatter dem med faste, autonome og kryssfunksjonelle teams. I denne settingen tas de aller fleste beslutningene innenfor teamet. Hva blir arkitekten sin rolle da?

Hva med de mer overordnede perspektivene på arkitektur, som teknologistrategi, arkitekturstyring og virksomhetsarkitektur? Hvordan håndteres dette i en organisasjon som gjennomgår en smidig transformasjon?

I denne lyntalen utforsker jeg disse problemstillingene  


Kontinuerlig læring i utviklingsmiljø

Lightning talk (10 min) - Suggested by Stian Karlsen, 3 months ago.

Vi praktiserer fag som er i konstant bevegelse. Teknologien som var aktuell i går kan være avleggs i morgen. Hvordan man bør drive utviklingsarbeid er i stadig endring. Buzzwordene er mange – og flere av dem utvikler seg stadig til å bli områder man aller helst bør kunne om man skal henge med.

Så hva gjør vi da for å sikre at vi holder oss oppdaterte og kompetansen vår i kontinuerlig utvikling? Hvordan klarer vi å finne tid til læring i en hverdag hvor leveransene skriker etter å bli ferdige så de kan glede kundene våre?

I Sparebanken Vest har vi eksperimentert med måter å sette kompetanseutvikling i system slik at vi sikrer at vi har et utviklingsmiljø i konstant læring. Jeg vil gjerne dele våre erfaringer etter nærmere to års prøving – som har resultert i både fiaskoer og suksesser.


The best AR headset is the one you make yourself – Project North Star

Lightning talk (10 min) - Suggested by Ivan Kolesar, 3 months ago.

AR stands for Augmented Reality. Augmented reality is an interactive experience of extending the real-world by the computer-generated information. The real world is augmented, which gives the name to the set of technology solutions. Recently, we see the growing interest from the side of hardware manufacturers, developers and researchers to bring the technology to the life of every-day consumers. The Benefits that the consumers could potentially get from AR are more visible if we even imagine the amount of data we are collecting about the world, but not showing back.


AR algorithms solution set, coupled by computer vision field, has traveled quite a road. From the simple solutions of just drawing geometry (or information) in front of the users field of view, through additively more and more complex solutions such as detecting the markers, images, motion-tracking, spatial mapping, object recognition, hand gestures interaction, face recognition and more and more.


Accordingly is following up the development of necessary hardware. From the simple AR glasses, to full mounted AR headsets supported by their own computational units, mobiles or PCs. Actually, the number of AR headsets is still growing over several past years, some interesting examples would be Hololens, Magic Leap One, Meta 2, or MagiMask. All of them are having a mixed degree of good/not-so-good specifications for AR, like field of view, available processing power and sometimes overly high price. Luckily most of them share the same development platform from the family of the game engines Unity or Unreal Engine.


To overcome the fragmentation of the specification, and also to open the door for the possibility of having the best solution have emerged Project North Star. Project North Star is an open-source solution for AR headset originally developed by Leap Motion company. The documentation allows quite an extensive degree of customization for the headset, from the size of the display panels showing the content, their resolution, size of the lenses, up to the type of used sensors. We are no longer limited by the hardware, but rather we are allowed to extend or change hardware by our, and our customers, need. This customization allows us to customize the hardware part of the AR development for the customers, which is a valuable extension to the existing set of AR headsets.


We have analyzed the project and constructed our own, simplified version of the headset. This headset is our simplest and cheapest version from where we plan to do extensions. In our lighting talk (workshop) we will present the pitfalls of the creation of the headset, the results and upcoming possibilities to continue. Many of our solutions can be used by the general public and by sharing know-how of hardware creation and repository to some basic demos we aim to expand the development and public opinion for the usage of this exciting technology.


Storytelling as a tool for better presentations

Lightning talk (10 min) - Suggested by Håkan Silfvernagel, 3 months ago.

In this presentation I will give you the tools for how to structure your ideas and data into an interesting story that you will present.

Come to this presentation if you want to learn the skills for how to make your presentations more memorable and create an immersive experience through storytelling.


Step aside React, VueJS is in the building!

Lightning talk (10 min) - Suggested by Aulon Mujaj, 3 months ago.

Let’s start by saying that VueJS is better than react. That got your attention? Let me show you how easy it is for a web developer to start learning and using VueJS. While we all remember the steep learning curve it was when we first started with react, I’ll show you how easy and fun it is to start writing VueJS-code.

I know that the Norwegian web developer community is mostly react, but should we really confine ourselves to only one framework? This lightning talk will show you the pros (and of course, some cons) of VueJS and why I think this framework might be a better choice than react for your next project.  


Hooked on React

Lightning talk (10 min) - Suggested by Henrik Glasø Skifjeld, 3 months ago.

Klasser i React er avleggs! Etter 5 år med utvikling har React-teamet opplevd flere problemer med hvordan React er bygget opp og brukes. Dette skal løses med React Hooks.

Denne presentasjonen gir en introduksjon til hva Hooks er og hvilke problemer det løser.



Lightning talk (10 min) - Suggested by Øystein Holvik Johnsen, 3 months ago.

You may be creating a software application that will communicate with an external device like a motor controller, a sensor, a television set or a washing machine.  However, handling connections to external devices in a software application can be challenging.  The communication port may be busy, or may be missing entirely in the system if for instance a USB based serial port is unplugged.  The operator may have forgotten to press the “Connect” button.  The device may have crashed or had a power loss, leaving the device in an uninitialized state or out of synchronization with the application.

A good way to handle these problems is to use a connection handler whose only purpose is to keep a quality connection to the device.  The connection handler will take care of:

  • Determining the presence and availability of the configured port.
  • Obtaining control of the configured port.
  • Determining the presence of a connected device.
  • Initializing the device with a handshake routine.
  • Monitoring and maintaining the connection to the device.
  • Cleaning up if the connection is lost, and starting over again.

I will demonstrate a quick example on how to be in control.


The lazy programmers guide to achieving happiness

Lightning talk (10 min) - Suggested by Sondre Eikanger Kvalø, 3 months ago.

You have learnt all the good principles of good craftsmanship within the development world such as clean code, TDD etc, but does this really help you to on your way to happiness? 



Reimplementing your JUnit extensions for JUnit 5 Jupiter

Lightning talk (10 min) - Suggested by Sondre Eikanger Kvalø, 3 months ago.

So you have created some useful JUnit @Rule-s to avoid having to repeat yourself for every tests and then JUnit 5 Jupiter comes along with a completely new extension model... How do you move on with the migration? Some thoughts and examples from someone who has already done it.


Introducing G#, a graphical approach to functional programming

Lightning talk (10 min) - Suggested by Rickard Nilsson, 3 months ago.

In the world of digital transformation, bridging the gap between business and engineering is vital to increase speed and agility. Recently, a new visual language called G# was announced at Jönköping University with this in mind.

Most modern development methodologies are about increasing flow and minimizing waste. A very important part of this is the translation of business needs to technical requirements. G# attempts to make it as easy as possible for the business to visualize what they need, and at the same time automatically produce technical correct and executable artifacts.

G# is as graphical approach to functional programming that can be used by non-developers to simplify development of new tools and services. Compared to existing low-code platforms, G# is more generic and user friendly and can be run inside any .Net, Java or JavaScript application.

The work has been done in collaboration with EVRY and G# is already successfully implemented in the EVRY Self-service portal.


Er økonomer bedre ledere enn teknologer?

Lightning talk (10 min) - Suggested by Dag Olav Norem, 3 months ago.

Som med mye annet er svaret at "det kommer an på". Det kommer an på personen, og det kommer an på organisasjonen man skal lede. Men i takt med digitaliseringen er svaret i flere og flere tilfeller «nei». Vi går fra organisasjoner som kjøper IT-systemer for å støtte de ansatte i sitt arbeid, til organisasjoner der de ansatte utvikler IT-systemer. Softwareutvikling blir kjernekompetanse. Som leder har man ansvar for beslutninger om rammene organisasjonen opererer innenfor. God digital tjenesteutvikling krever helt andre rammer og arbeidsprosesser enn tradisjonelle bransjer. Og det pågår et enormt sløseri i Norge i dag fordi mange som beslutter rammene ikke har kunnskap om hva det operative arbeidet faktisk innebærer. Det er ikke lederne selv dette går utover. Det er utviklere, designere, produktsjefer, analytikere og alle andre som jobber med digital tjenesteutvikling. Det er kundene. Og det er samfunnet som helhet. Er du en av de det går utover? Hvorfor finner du deg i det? Hva har du tenkt å gjøre med det? I dette foredraget vil en økonom snakke om sin reise til å bli leder av et teknologi-miljø, hvorfor det fremover trengs færre som han og flere som dere, og hvordan hver av dere kan begynne sin reise.


Content Security Policy 101

Lightning talk (10 min) - Suggested by Martin Valen, 3 months ago.

There are many HTTP-headers related to security that could and should be sent on all payloads from your web app. Most of these are quite simple to set up and could really be a part of your boiler plate code, as the hour of work you need to set them up is well worth it for the potential security savings. But the most potent header is also the header the least sites use: Content Security Policy.

That so few sites use it is understandable. It can seem difficult to set up and when you see the CSPs sent by major sites, this might seem like a herculean task. Hopefully, this talk will make it easier for you to understand the potential with CSP and give you the stepping stones needed to set it up yourself.

I'll give an introduction to the Content Security Policy-header and the features within it, as well as showing how you can customise it for your web app.


Process Driven Development

Lightning talk (10 min) - Suggested by Øyvind Fanebust, 3 months ago.

I denne lyntalen gir jeg en introduksjon til hvordan en lettvekts prosessmotor kan forenkle arbeidet med å implementere forretningsprosesser.


What Advertising Can Teach You About Design Strategy

Lightning talk (10 min) - Suggested by Priya Noel, 3 months ago.

From TV, to Spotify, to Facebook, advertisements are basically unavoidable. And its no surprise. Over 190 billion dollars are invested in advertising alone, brands trying to make a connection with consumers. How do they make that connection in a finite amount of time? Believe it or not a lot of design, testing and strategy is at the core of that :30 second commercial, that banner ad, even that promotional email.  So what can commercials teach you about UX?
In this fun and interactive session, we'll review successful ad campaigns, the strategy tactics that made crucial connections with users, and how you can leverage those tactics for the User Experience. Specific examples from the three C's of marketing strategy will be shared:
Consumer: Uncovering consumer insights
Competition: Finding the competitive white space 
Company: Leveraging your company's greatest asset


Context is everything

Lightning talk (10 min) - Suggested by Håvard Olsen, 3 months ago.

The landscape of front-end developing in 2018 can be overwhelming, as new frameworks and libraries pop up. I think it's time to thin the herd, one framework at a time.

Creating a React application nowadays requires that you install a plethora of other frameworks for routing, validation, and last but not least, state management.

With that being said, let's take a look at React's "new" builtin state management API, that some are calling the "Redux killer".


Tell me the money! How I made my bank talk to me by way of PSD2

Lightning talk (10 min) - Suggested by Anders Breivik, 4 months ago.

Do you miss your personal bank teller? Me neither, but sometimes I wish I could hear a friendly voice tell me my account is not empty (yet). Thanks to The Payment Services Directive II, PSD2 among friends, and a bit of code, now I can. In this talk I will show I made my favourite voice commanded personal assistant integrate with my bank and talk to me.


Azure Cosmos DB: A look at the Universe

Lightning talk (10 min) - Suggested by Sirar Salih, 4 months ago.

Azure Cosmos DB is the new kid on the block. Everyone is talking about it and it has taken us by storm. The NoSQL universe is changing, but what is all the fuss really about? Are we entering a new era of NoSQL databases? Is SQL dead? So many questions!

Join me in this lightning session where we will take a shallow dive and investigate Azure Cosmos DB. We all know that which is new and great, also has its pitfalls. So is this the thing for your project? Let’s find out!


Lønn- og teknologiundersøkelse for utviklere i Bergen 2018

Lightning talk (10 min) - Suggested by Andreas De Lange, 4 months ago.

Experis, Norges største konsulent- og rekrutteringsselskap, har utarbeidet en spørreundersøkelse for utviklere i Bergen. Vi har kartlagt lønnsstatistikk og hvilke teknologier som er mest brukt i Bergen. Resultatene kan vi filtreres ned på antall års erfaring, rolle (front-end vs back-end), utdanning, osv. I tillegg har vi kartlagt manuelt alle utviklingsmiljøene i Bergen (vi har funnet 147 bedrifter), samt hvor mange utviklere de er og hvilke teknologier de bruker. 

Vi ønsker å presentere høydepunktene. Eksempelvis;

- Hva tjener en tech lead med 8-10 års erfaring i Bergen? 

- Hvilke programmeringsspråk er hot or not i Bergensmarkedet? 

- Hvor mye er en mastergrad verdt mht. lønnsøkning? 

- Er det lønnsforkjeller mellom menn og kvinner? 

- Hvor mange utviklingsmiljø finner i Bergen og hvor er de lokalisert geografisk? (147!)


Vi vil dele rapporten gratis og fritt til alle som ønsker den på Booster 2019.  

Vi har iverksatt dette prosjektet fordi det ikke eksisterer gode nok statistikker og innsikt for Bergensmarkedet. Vi håper dette kan hjelpe utviklere med å avdekke om de har konkurransedyktig lønn, hvilke teknologier det er klokt å fokusere på i fremtiden, og vise hvor stort utviklermiljøet i Bergen faktisk er.  


Short talks

How NSD and immutability enabled - a revolutionary platform for research on register data

Short talk (30 mins) - Suggested by Ørnulf Risnes, 3 months ago.

Norway has a large number of registers on individuals that have been established for administrative and statistical purposes. These registers represent a unique and valuable resource for research on welfare and society.

Traditionally, getting approvals to do research on these data has been complicated and time-consuming.

The new platform reduces approval time from 9 months to 0 days, and makes these valuable data available for a much wider community of researchers. was released in 2018 after a 5 year collaboration project between NSD and Statistics Norway (SSB). Researchers analyze data through a privacy-preserving web-IDE inspired by Jupyter notebooks and other widely used statistical tools.

The platform is built with ClojureScript, Clojure, Node, Python, Go and Datomic - and immutability is the cornerstone of the architecture.

In this short talk, we will demonstrate how NSD designed around immutable data structures, and how this design decision enabled the development of a novel and globally unique platform for safe research on personal data.

We will discuss how we designed and implemented a new domain specific language (DSL) for analyses of temporal register data, how we execute the DSL with functional reactive programming, and how we use immutable data structures and databases to enforce complete statelessness and simplicity throughout the platform.


Disruption from within: Trial & error when creating digital products for a publishing house

Short talk (30 mins) - Suggested by Tone Nordbø, 3 months ago.

Gyldendal is one of Norway's biggest publishers, and they have a centennial success with creating text books. But now, students are being handed tablets or laptops on their first day of school, and being good at making books is no longer sufficient for a publisher. Since the summer of 2017, we have been working towards making Gyldendal into a digital service provider. We will go through our trials & errors, our ups and downs, what we have learned the past year. Design lead Tone and project manager Eivind will give insight into what works and what doesn't when helping a successfull company reinvent themselves in a digital transformation.


Amygdala’en min liker appen din!

Short talk (30 mins) - Suggested by Morten Rosenlund, 3 months ago.

I denne «talken» vil jeg snakke om hvorfor det er viktig at softwaren din kommuniserer med den mest primitive delen av hjernen til brukerne dine.

Den rasjonelle delen av hjernen din er fremdeles ute i betaversjon, og den har kun vært testet og utviklet i 200 000 år. Hvis du vil ha noe gjort på ordentlig, må du henvende deg til brukernes primitive del av hjernen. Urhjernen.

Urhjernen er nemlig blitt refaktorert og oppdatert i 100 millioner år, og den styrer emosjonene og dermed følelseslivet ditt.

Hvis ambisjonen din er å revolusjonere hvordan folk betaler, reiser eller identifiserer seg på nettet, må du sørge for å vekke til live noen følelser som gjør at folk bli glade i løsningen din. De må bli berørt personlig, og de må føle det på ordentlig. Helt inne i det limbiske systemet.

Vi må levere på mer enn funksjonalitet, pålitelighet og brukervennlighet. Både mobilen, internett og kjøkkenbenken fylles opp av nyttige og brukervennlige ting. Skal våre løsninger havne der, må vi i tillegg dekke brukernes følelsesmessige og sosiale behov.

Derfor skal vi snakke om hvordan du kan gjøre dine løsninger til noe som kunden både kan le, smile og gråte sammen med.


When the going gets tough - should I start running?

Short talk (30 mins) - Suggested by Merete Munch Lange, 3 months ago.

This presentation is a story from my own work life. Had I known what I later learned, I would have tackled the situation better.

Therefore, I want to share my knowledge with the audience; sharing is caring.

My topic is about power abuse and politics,

I believe that the audience can identify with my story, that they will want to explore and discuss it with me and I hope some will share stories of their own. I would like the session to be interactive. This topic is relevant for everybody working in the project world where the core of our work is cooperation I believe the topic to be both relevant and international, and I believe the different strategy solutions can be applied cross professions and across country borders.


How to not be the smartest person in the room and still be respected

Short talk (30 mins) - Suggested by Lauren Goldstein, 3 months ago.

As designers, especially in the enterprise software field, it’s common for us to start on new projects with no prior domain knowledge. Working in a highly technical field, it is almost a guarantee that learning a new domain is going to be extremely complicated with a steep learning curve. Not only do we need to start designing for this project immediately, but as part of our jobs we need to coordinate on the project and discuss our work with a myriad of people, such as developers and project managers. A lot of the time, these people hold more subject knowledge than we may have, and this often results in designers feeling scared to speak up in group discussions, thinking we might embarrass ourselves or sound stupid by saying the wrong thing. In this talk, I will discuss how instead of being intimidated by subject matter experts in this situation, designers can re-position their own idea of how to feel like a smart and qualified person in the room. By coming to the table ready to ask questions and not being afraid to share our own point of view, we can show that we are just as able to as anyone to provide great contributions, regardless of our experience in a specific technical domain. Designers may feel like they’re not the “smartest”, or most knowledgeable person in the room, but we still play a vital role on our team and business. By learning how to navigate these types of uncomfortable situations, designers can be stronger contributors than ever.


Domain driven design in the real world

Short talk (30 mins) - Suggested by Mads Opheim, 4 months ago.

We dreamed about using Domain driven design, but were stuck in the complex legacy monolith of a case management system.

While all examples and tutorials we found were for trivial domains, we had a lot of domain logic as well as years of inherited corner cases and brain overloads camouflaged as code. That obviously didn't stop us from giving DDD a try.

We have tried DDD in a real world legacy monolith and survived. Now we're here to tell the tale.

In this talk, we share our own experiences from using DDD inside a monolith, as well as lack of DDD, and you will learn to avoid the mistakes we made and how to repeat our success factors.

How do you use DDD in your highly complex legacy project? How do you even get started? We'll help you!


The Universal Serial Web

Short workshop (1.5 hours) - Suggested by Sebastian Golasch, 4 months ago.

As a web developer it´s easy to feel intimidated by the world of hardware hacking and the physical web, we have to leave our comfort zone and need to get familiar with a completely new development environment. But not anymore, thanks to wonderful possibilities that the WebUSB Api brings to our browsers.

In this talk I will give an intro to the endless wonders we can encounter in the hardware world through our browser windows. Aside from leaerning the basics of USB and serial port communication, we´ll paint on USB displays, live tweet to receipt printers, control an Arduino, steal data from Android phones and many more... The only limit is your imagination.


Understanding other peoples systems

Short talk (30 mins) - Suggested by Espen Dalløkken, 4 months ago.

In a world where green field projects are far and few between our job very often consists of understanding a system someone else has written. Getting thrown into a large system with a complex architecture can be a daunting task. Usually there are developers to talk to or documentation to read, but sometimes none of those exist. Where do you begin when trying to learn about a new system? Which activities can provide valuable insights that you otherwise won’t discover until much later.

This talk will outline some concrete practical strategies I have found useful when being thrown into different systems built by others. 


The future of art: Creepy, Frivolous and Beautiful art made with Machines

Short workshop (1.5 hours) - Suggested by J. Rosenbaum, 4 months ago.

An exploration of digital art looking at the uses of machine learning and how it impacts the future of art. What is art like when artists work collaboratively with machines? What can we learn from art created using neural networks and what can we create? From the frivolous to the beautiful, what does art created by computers look like and where can it take us?
Most people are aware of the impact machine learning will have on jobs, on the future of research and autonomous machines, but few seem to be aware of the future role machine learning could play in the creative arts, in visual art and music. What will art be like when artists routinely work collaboratively with machines to create new and interesting artworks? What can we learn from art created using neural networks and what can we create? From the frivolous to the beautiful what does art created by computers look like and where can it take us? This talk will explore magenta in tensorflow and neural style in caffe, google deep dream, next Rembrandt, and convolutional neural networks, generative adversarial networks and more. I will look into some of the beautiful applications of machine learning in art and some of the ridiculous ones as well.
* Introduction
* Exploration of the current art based ML technology
    * Deep dream
    * a neural algorithm of style
    * caffe
    * magenta
* Fun and frivolous uses of these technologies
    * puppyslugs
    * floral dinosaurs
    * christmas carols
    * faceapp
    * muglife
    * pix2pix
    * GANs
* High end art projects
    * Artists working with AI technologies
    * Next Rembrandt
    * My own works
* Future applications
* Conclusion
* Questions


Death of a Craftsman

Lightning talk (10 min) - Suggested by Einar Høst, 4 months ago.

What does it mean to be a good software developer? What story can I tell myself that gives me direction and confidence that I am doing a good job? The narrative offered by the software craftsman metaphor is one such story - by far the most prevalent one in today's industry - but could there be others? What are the implications of the craftsman narrative? Does it have any short-comings or things that it fails to mention? Could it be misleading or even harmful? And most importantly: if I don't feel at home in the craftsmanship narrative, am I still allowed to think of myself as a good developer? Is there life beyond craftsmanship?


Lean Implementation of design system: five small steps towards one big goal

Short workshop (1.5 hours) - Suggested by Tatiana Kolesnikova, 3 months ago.

You all agree that a design system is a great idea, you are inspired by examples of others, but a suggestion “This year we will start building a design system of our own” does not excite your boss or your client? Or you have already started implementing it, but it is not finished and not really used? For many companies creating a design system becomes a huge side project that they are trying to run in addition to the main roadmap. And a huge product that does not become useful before it is finished.


We use lean approach when creating new solutions for the market, but when it comes to design systems a lot of us are still in waterfall era. In this talk we will show how design systems can be implemented the lean way. We will go through five steps that can be taken one by one. We will discuss what to begin with and what to leave for later depending on your product state and goals. We will show, how to establish the foundation that will begin bringing value straight away. We will see how to make the design system robust enough to be able to grow and evolve over time.  


You will learn:

  • How to find the MVP of a design system for your product;
  • How to tie building it in your regular work;
  • How to make a design system that is used by everyone from day one.



Doublers in tests or automated tests in world of microservices.

Short talk (30 mins) - Suggested by Bart Szulc, 3 months ago.

Having problems with defining automated test strategy for your system built out of microservices? Heard about test doubles in unit testing but not sure how to apply the idea to your context and what tools to use? I will talk about Wiremock and how can it help you, while comparing it to Mockito.

Have you heard about mocking or test doubles? Have you ever implemented test double with Mockito while unit testing, but aren’t quite sure how the idea translates to world of microservices? I will present to you Wiremock, a tool that for the purpose of testing helps you replace real service with its programmable representation. What kind of problem Wiremock tries to solve? What are the risk behind relying on test doubles? What are the capabilities of the tool and how they’re comparable to Mockito. Those are all the questions I will try to address these using examples. Show you in code how a thing can be done in both Mockito and Wiremock. How mocking objects translates into mocking services. I will also discuss advanced features of Wiremock like proxy, custom transformations, failure injections. Also with examples. And won’t limit myself only to implementing automated tests for the tool, but also discuss how it can be used in supporting exploratory testing. Help one analyse the system that is being tested and change its behaviour.


Risk based code coverage analysis

Short talk (30 mins) - Suggested by Bart Szulc, 3 months ago.

It’s always been a problem of mine to understand what code coverage reports want to tell me. Couldn’t wrap my head around this one particular number they come up with, the percentage of code covered with tests. Is the current percentage ok? Should it be higher? Is 80% enough or should I do something to reach magical 100%? I had to find answer to those questions while working on major refactor of a system. The problem was, is the coverage good enough to give green light the refactor. To answer the question I decided to first look at the coverage from the very most low level. Looked at the lines that are and aren’t covered. Driving the analysis with risk. Assume that all types of automated regression tests you have in your project cover 80% of your production code. This coverage is assured by unit tests, API level tests, webdriver tests and other system level tests. Besides knowing 80% of code is covered with a test, the number also tells you that 20% of your code is missing any test. Now switch from percentage to number of lines. In my case, the system we were about to refactor consisted of over million of lines of code. One fifth of a million is a lot of code missing coverage… a lot… but… not every line is equal in value and thus equal in risk. So what was the value and risk associated with each line missing coverage? One way of looking at risk is by the probability of something unwanted occurring multiplied by the impact it causes. Missing test for a line of code is definitely a risk. Nothing will tell you when the line is wrongly modified and that the modification is going to cause a bug in production. You may ask, how likely it’s bug happens for particular line of code, and if a bug slips what does it mean to your end users, would they even notice? The good thing is if you follow naming convention for code commits and link your commits to types of changes, you can obtain historical data that will tell you how often bugs are being addressed in a particular fragment of your application. So you have the first part of risk equation. The problem is how you translate business value to code? How you decide what parts of code are most valuable and thus potentially causing most impact when something goes wrong? One way of doing so would be to understand what features are most popular amongst your users, and what parts of the code are responsible for making those features accessible. As an example take a feature that is exercised by making a HTTP call to your REST API. Popularity of this feature can be understood as the number of requests made to particular REST API resource. The code that is involved in handling request to the resource, includes everything that gets called in your application on a request. I combined multiple sources of data, such as historical data of bugs, production code meta information, access logs, code coverage reports, and came up with a report I was looking for. One that could tell me what tests I am missing, for what lines of code, based on their risk. This is the report I want to show you. I’d also love to share with you lessons learnt and some ideas on how perfect coverage should look like taking under consideration risk. I will also discuss test impact analysis, one of great benefits of understanding your test coverage to optimise test runs and reduce the likelihood of hitting flakey test.

What are the three biggest takeaways you will take from my walk? - How to analyse code by risk and what sources of data might be helpful. - How to find most important missing tests that would bring most value. - What determines good code coverage. How to run only the tests you need to run.

How this presentation is going to affect you? - You’ll give code coverage a second chance. - You’ll know what tests you miss. - And what tests you don’t need.


The only constant is change. Evolution of Quality Assistance Model in Continuous Deployment World.

Short talk (30 mins) - Suggested by Bart Szulc, 3 months ago.

You probably heard abbreviation QA. You think it stands for Quality Assurance. Not in my case. For me QA stands for Quality Assistance. I will talk how testers role has been changing over past years. How we’ve become more of quality coaches, and how CD forces us to rethink our role even further.

The presentation will talk about my journey as a tester, and how it evolved over years and me together with it.This is not going to be a talk on Quality Assurance. I’m way passed that. This will be a talk on Quality Assistance. Working as a tester closely with multiple development teams. Teaching them exploratory testing, shifting responsibility for quality, improving test automation. I will discuss several activities and techniques that I’ve been using in my work to reach developers very early. Things like story kickoffs, feature kickoffs, quality demos, risk storming session. I will also discuss techniques assistant can employ to bridge the gap between developers and testers, like pair testing, pair programming, problem decompositions. All of this to ignite critical thinking, a bit of scepticism, and a passion of learning by testing in everyone, to make software better. I will also share how transition to continuous deployment looked from my perspective. Person who always been interested in preventing bad things from happening. Shifting to the very left of development to identify unknown unknowns and risks early. How easy access to production and continuous deploys help feed facts about product to development loop, help assess risk, and focus on things worth focusing on. I will also tell my about my experiences with monitoring and observability, and how anomaly detection won’t replace exploration, but will greatly help take a lot of burden from people. How I used to fear about the future and my role, and how I changed my stance, and embraced the future to become even better at my job.


Why you shouldn't choose a microservice architecture

Short talk (30 mins) - Suggested by Andreas Berre, 3 months ago.

Microservices have spent the past years moving from being something exotic to becoming the buzzword-compliant choice for any new project. 

In this talk we'll explore what's involved in building a system based on microservices, and the many pitfalls and challenges you'll encounter along the way which might leave you longing for the simpler world of your old monolithic system.

* what's microservices anyway?

* what do they bring to the table?

* what do you do when things (inevitably) go wrong?

* why might it still be worth the pain?




Make goto good again!

Short talk (30 mins) - Suggested by Robin Aaberg, 3 months ago.

One year later, the customer sends in a support ticket.
You forgot the solution even existed. The name - VeryCentralAndImportantBankAccountTransactionVerifier

A very fuzzy memory of how it was held together. And an even fuzzier glimpse of something very important detail that kept it from falling apart. Yet not remembering exactly what that was.

The custommer says it is urgent. Your boss says it is urgent. Your gut feeling tells you it is urgent. But where is that code again? Wait, did we even document it? Where is the docs? And how do you deploy this thing after it's been fixed? The only thing you do remember is that it was not using any standard way of deploying - that's for sure.

Luckily, one year ago, you found a tool. A CLI tool that made you keep track of valuable urls and folders for the project. And let you be assured you would have them ready the next time you needed them. A tool that could take you to where you needed to be right now.

So you type in the terminal:

project account-verifier

And are now in the project context of this old very important thing.

Following up you type:

goto list

Which outputs:


"Oh, we had documentation!" You utter.
And immediately enter the command:

goto docs

Your browser now opens and shows you a Confluence Space - with relevant information about this solution. You read enough to understand and remember the problem is in the database api.

Suddenly, flashbacks from the past hits you and you remember that you used to go to the databasemanager web interface almost 20 times an hour. Those days you were debugging that silly issue. That time. You know what to do.

goto databasemanager

Again your browser opens, but this time to the web page that administrates the database. You forgot your login details. so you

goto docs

And searches for "credentials" -- find them and are now logging in.

1737 unread notifications and warnings hit your face.

You see a wrong setting, correct it - and jolt back to your terminal. It is time to enter the code!

goto subl

Sublime Text opens, your favorite editor. It opened into the folder in which the code for this project lays.

You see the bug - correct it. And now you want to deploy:

goto deploy

Browser opens, you remember the deployment process immidiately as the familar web interface comes back onto your monitor. And deploys.


So I made Goto, it is not fiction. It is a functional cli tool that really helps you create magic shortcuts for your projects in your terminal. And that takes you to where you need to be - when you need to be there.

You can read more about the actual tool here:

I plan to build the talk around the journey I went through to end up making this tool and how it helps developers and team to have a better day at work.

This talk will match the topics: Process, Programming and Fun Stuff.


Building a proof of concept of intelligent search for the The Norwegian Courts Administration

Short talk (30 mins) - Suggested by David Skålid Amundsen, 3 months ago.

How can you succeed with integrating machine learning in your solution? How do you get the customer on board? How do you build a team with the right skill set that can deliver? In this talk we want to tell you the story about how we did this and the challenges we had to overcome on the way so that you can do it too.

We built a proof of concept (PoC) of intelligent search for The Norwegian Courts Administration (Domstoladministrasjonen), where we use machine learning to personalise the search results. We will present how we worked internally, putting together people with different backgrounds and skill sets, and with the customer. We will also discuss our solution and the technology behind it, show a live demo, and talk about things we learned that can be useful for others making PoCs.


Microservices in Practice: IoT Powered by Microprofile

Short talk (30 mins) - Suggested by Rustam Mehmandarov, 3 months ago.

In this talk, we are going to show you what happens when the management lets enterprise Java developers and architects decide how we can control the IoT devices in our new office. While it’s easy to figure out why Microprofile is cool, it’s harder to see how to get in into your project.

The idea of this talk is to show a proper use of Microprofile and it’s power combined with good continuous deployment infrastructure patterns and tools on a simple and (possibly funny) example with a simple domain, that can be transferred to more complicated systems and domains in the real life.


Hva har Open Source, Java, Data Pipelines og Oslo Bysykkel til felles?

Short talk (30 mins) - Suggested by Rustam Mehmandarov, 3 months ago.

A few years ago moving data between applications and datastores included expensive monolithic stacks from the large software vendors with little flexibility. Now with frameworks like Apache Beam and Apache Airflow, we can schedule and run data processing jobs for both streaming and batch with the same underlying code.

In this presentation we demonstrate the concepts of how this can glue your applications together, and we will show how we can run a data pipeline from Apache Kafka through Hadoop Flink to Hive, and move this to Pubsub, Dataflow and Bigquery by changing a few lines of Java in our Apache Beam code.


TV 2 Sumo - From data to action

Short talk (30 mins) - Suggested by Frode Drønen, 3 months ago.

TV 2 Sumo is one of the largest streaming service in Norway. Our ambition is to become more customer-centric in our operations, so that we can make a better product and customer experience. In this presentation, we will share our experiences in building both company culture and the Analytics Platform using the Elastic-stack. 


Type-directed development with JavaScript and ReasonML

Short talk (30 mins) - Suggested by David Kopal, 3 months ago.

Static typing with Flow or TypeScript is popular in JavaScript since it enables us to write safer code. However, you’ll get reliable type safety from these libraries only if you’re disciplined and understand the type system well. Fear not! Reason’s built-in type system is here and ready to help you out. You can rely on it 100% and it requires less maintenance. Moreover, you can automatically convert Reason’s types to Flow or TypeScript. This allows Reason’s integration into your existing JavaScript codebase to be easier since you’ll have a single source of truth for all your types. As a result, Reason and JavaScript developers will be able to use the same types during the development without any danger of incompatibility between them.

Join me, as we’ll compare Reason’s and Flow’s type systems. You’ll learn the differences between the two and how to combine them in a single project.


ReasonML meets GraphQL: perfect type safety?

Short talk (30 mins) - Suggested by David Kopal, 3 months ago.

Communication between the server and client is one of the most challenging things you need to deal with when developing a JavaScript app. To prevent unexpected errors, you need to know the exact structure of incoming data to the client. You can achieve using Flow or TypeScript and share your types between the server and client. However, it’s very tedious to achieve fully-typed app architecture using these external libraries. Fortunately, ReasonML is here and ready to help you out through its strong built-in type system. When combined with GraphQL, the client will be aware of the exact structure of the data coming from the server. This means 100% type safety covering the client, server, and network communication between them.

Join me, and learn how to write type-safe code using Reason and GraphQL. You’ll learn how to share the types between the server and client and how to ensure that the client always knows the exact structure of data coming from the server.


Let ReasonML fix JavaScript issues for you

Short talk (30 mins) - Suggested by David Kopal, 3 months ago.

Maybe you’ve already heard about ReasonML before. However, did you know it can help solve the day-to-day problems you’re encountering with JavaScript? It’s possible, since you can seamlessly incorporate Reason into your JavaScript code. By doing so, you’ll be able to free your code from the whole category of bugs you dearly know from JavaScript, thanks to Reason’s strong type system. You’ll see how the combination of types with pattern matching will turn your unsafe conditionals into predictable and declarative code. You’ll achieve this and much more without any external libraries since these features are available to you in Reason out of the box.

Join me, and see for yourself what value can Reason bring to you and your existing JavaScript codebase. We’ll take a look at the typical use cases which JavaScript fails to address. You’ll learn how Reason can help you solve such issues both elegantly, and in a more readable, type-safe way.


Migrate your React codebase to ReasonML

Short talk (30 mins) - Suggested by David Kopal, 3 months ago.

Do you want to jump on the ReasonML train but don’t want to start from scratch? Well, you don’t have to, since you can utilize your React knowledge thanks to the ReasonReact library and learn Reason itself as you develop. You’ll learn Reason as we transform an existing React application to ReasonReact. As a result, you’ll need much less dependencies and you get less complexity regarding the choices you need to make because React’s core features are built into Reason. This means you’ll get the type system, immutability and functional programming out of the box. Due to its syntax similarity with JavaScript and its integration with the JavaScript ecosystem, it’ll be easier for you to start building apps using Reason.

Join me, and learn Reason’s core principles as we transform an existing React application to ReasonReact.

You’ll get the most out of this session if you’ve programmed in React before.


The History of AI - what can we learn from the past?

Short talk (30 mins) - Suggested by Håkan Silfvernagel, 3 months ago.

Nowadays AI is all the hype, but what many might not know is that AI is an established discipline originating from a workshop in Dartmouth in the 1950s. In this talk I will present the historical milestones of AI from the originating workshop until present days.  In addition we will look into the crystal ball in order to see what the future might have in store.

We will start out our journey by looking at what happened in a workshop in Dartmouth in the 1950’s which started it all. Then we’ll be reviewing a number of areas where AI initially was put to use between 1950-1970. We’ll cover the AI winters in the 1950's, 1970's and 1980’s and its’ reasons.

In the second part of the talk we’ll cover applications and milestones from the 1990’s and onwards. Finally we’ll look into the crystal ball and try to see where AI might takes us in the future.


Integrate ReasonML seamlessly into your React codebase

Short talk (30 mins) - Suggested by David Kopal, 3 months ago.

Do you want to jump on the ReasonML train but don't want to start from scratch? Well, you don't have to, since you can utilize your React knowledge thanks to the ReasonReact library and learn Reason itself as you develop. You can start by integrating Reason into your existing React codebase incrementally by gradually adding ReasonReact components. This is what Facebook did with Messenger. As a result, you'll need much less dependencies and you get less complexity regarding the choices you need to make, since React's core features are built into Reason. So, you'll get the type system, immutability and functional programming out of the box.

Join me, and see for yourself how natural writing React code in Reason is, and how you could incorporate it into your existing React codebase. In doing so, you’ll learn Reason’s core principles as well.

You’ll get the most out of this session if you’ve programmed in React before.


Up and running with ReasonML

Short talk (30 mins) - Suggested by David Kopal, 3 months ago.

JavaScript development is hard. This is not only caused by so many available library and tooling choices, but also by the need to use many external libraries for you to work effectively. Fortunately, ReasonML is here and ready to help you out through writing cleaner and safer code thanks to its type system which is superior to TypeScript and Flow. Unlike JavaScript, you'll need much less dependencies since Reason has these features already built-in, meaning you'll get less complexity regarding the choices you need to make. Due to its syntax similarity with JavaScript and its integration with the JavaScript ecosystem, it’ll be easier for you to start building apps using Reason.

Join me, and uncover the ideas behind Reason along with its core principles and you'll be amazed that writing Reason is not that different from writing actual JavaScript. You'll also learn how to combine both languages in a single project or even file. In doing so, you’ll learn Reason’s core principles as well.


Write better React with ReasonML

Short talk (30 mins) - Suggested by David Kopal, 3 months ago.

Do you want to write better React? In that case, you shouldn’t use it with JavaScript. Why? Because JavaScript isn't compatible with React's core principles, meaning you need to mimic them using many external libraries. Fortunately, Reason is here and ready to help you out through writing safer and cleaner React code, thanks to its type system which is superior to TypeScript and Flow. You'll need much less dependencies and you get less complexity regarding the choices you need to make because React's core features are built-in in Reason. This means you'll get the type system, immutability and functional programming out of the box. Due to its syntax similarity with JavaScript and its integration with the JavaScript ecosystem, it’ll be easier for you to start building apps using Reason.

Join me, and see for yourself how natural writing your React code in Reason is as we'll build such app. In doing so, you’ll learn Reason’s core principles as well.

You’ll get the most out of this session if you’ve programmed in React before.


The Reasonable Developer

Short talk (30 mins) - Suggested by Paul Verbeek-Mast, 3 months ago.

In the 1800s, an astronomer came up with the definition of "L’Homme Moyen", the average man. His studies, on the way the average person behaves, are still being used in legal trials today to determine whether someone’s action was reasonable. They call this The Reasonable Person Standard.

As developers, we make ethical decisions almost on a daily basis. Most of them are subconscious. And with machine learning, we’re even training machines to make ethical decisions. But a lot of the time, we ignore the ethical dilemmas and go for the easiest, fastest route. It's time to think about our responsibilities and how a reasonable developer would behave.


Everything is Awesome: the LEGOⓇ approach to being an awesome coworker

Short talk (30 mins) - Suggested by Paul Verbeek-Mast, 3 months ago.

🎵Everything is cool when you’re part of a team!🎵

The Lego Movie came out 4 years ago and it taught children everywhere the importance of teamwork. It taught them what individuality and being inclusive is. Let’s just hope that those lessons really stick with these kids. Because let’s be honest, we’ve made a mess of it.

But it’s not too late for us. We can learn from the Lego Movie as well. I’ll show you how you can help to make sure everyone feels included and respected in your team and your company. How you can feel better being the unique person you are. And how you can make your, and everyone else’s, life more awesome!


You might not need a native app for this!

Short talk (30 mins) - Suggested by Sam Bellen, 3 months ago.

A lot of developers seem to go to native (mobile) apps to solve complex problems. The web is evolving at a rapid pace, and for a lot of things we don’t need to go the native way anymore. From recording video to speech recognition, push notifications to getting the battery status, modern browsers host a whole set of APIs which help us achieve these things. Knowing some of these APIs exist might speed up the process of moving to a universal accessible web app or PWA in favour of a big native one.



Knock knock, who's there? Authenticating your single page apps using JSON Web Tokens.

Short talk (30 mins) - Suggested by Sam Bellen, 3 months ago.

When it comes to writing code, there’s nothing we take more serious than authentication and security. Modern single page applications bring along new challenges. By using solutions like the OpenID Connect protocol and JSON Web Tokens we can improve the user experience when authenticating with your apps, providing a seamless authentication process.



Building a bank in six months

Short talk (30 mins) - Suggested by Håkon Nilsen, 3 months ago.

We were given the task to develop the "next generation bank" within an almost impossible timeframe of only six months. This bank is mobile only, and will serve customers in a way that has never been done before. A fully fledged service that you would normally have multiple teams working together in a large IT organization to create. So how can a team of only four create something so big?

This is the story about how to architecture something that enables us to deliver in time, build for the future and have a lot of fun in the process. This will be a talk about Google Cloud, Firebase, integration with legacy and an awesome user experience on top of it all.


Two Tales: The time when I flew drones and when I talked to the cookie monster using Node at the Norwegian Parliament

Short talk (30 mins) - Suggested by Sirar Salih, 4 months ago.

Once upon a time I had the idea of creating a Node server to control a drone through the power of the Internet. Of course, this idea seemed crazy at the time as this was when the Internet of Things was just becoming a new buzzword. Controlling things using the Internet was a new and fascinating thing at the time. This tale (one of two) will look at how I managed to control a drone by creating and using a Node server, to fly a device from any corner of the world. This tale will dissect and investigate the node-server-ar-drone library, created by myself, at NPM.

The second tale, is a rather funny one. It takes place many years after the first tale, in an environment so bureaucratic that it leverages 8 year old technology. This second tale, is about how I sat up a Node server at the Norwegian Parliament so that I could talk to the browser’s cookie monster to save and to fetch user data related to GDPR. In other words, this tale is so sensitive that it includes GDPR, the Norwegian Parliament and the all bureaucracy that follows.

Welcome to an adventurous day of tales!


The UX Industry's Achilles Heel

Short talk (30 mins) - Suggested by Vivianne Castillo, 4 months ago.

For an industry that prides itself on being experts in valuing and understanding people, the UX Research Industry needs to pause and acknowledge how much they talk about empathy & human-centered design in comparison to how little they talk about the challenging personal work necessary to achieve it. In order to be truly human-centered and empathy-driven in our work, we need to own our ethical and professional responsibility for the experiences we create and the detriment that can follow if we fail to address the role of bias, privilege, and shame in the experiences we help create.

Dr. Brene Brown once said, "You have comfort and you have courage, but you can't have both at the same time. Choose.” By the end of this talk the audience will find themselves pursuing courage over comfort in both the professional and personal space of their lives.