Accepted talks

Go to lightning talks | Go to short talks | All proposals

These are the currently accepted sessions. This list is subject to change.


a murmuring of mesmerizing starlings

Workshop - Suggested by Jan-Erik Rediger and Daan van Berkel, 10 months ago.

Seeing a big flock of birds flying as if they are one organism is a mesmerizing experience. One often wonders: "How do these birds ``know'' what to do?".

Although the overall behavior of the flock seems very complex, it is an emergent property of a few simple rules.

In an elegant algorithm Craig Reynolds showed that flocking behavior is possible if birds seek to

1. Avoid collisions by separating from there immediate neighbors.
2. Aligning themselves in the direction the group is moving.
3. Seeking to minimize exposure by trying to move towards the center of the flock.
In this workshop you will get to learn about these rules in detail by commanding your own flock of virtual creatures. Your task is to program the brains of your obedient birds and see how from your code flocking emerges. In the virtual world you will encounter other species, both docile and predatory,
that offer new challenges.

You will walk away with a new understanding of the complex interplay of interacting systems, how intricate behavior can emerge from simple rules and a new appriciation of the natural world.



Animations with React: Introduction to Framer-Motion

Workshop - Suggested by Stephen Ramthun and Caroline Odden and Bendik Bjørndal Iversen, 9 months ago.

Have you got some experience with React, but never been able to make that menu appear in the awesome way you've always wanted? Perhaps you've got lots of experience making things move with CSS animations, but you want to learn how (or if) a modern React animations library would make your life easier? Or perhaps you just want to have fun and learn how easy it is to animate elements in React using a modern animations library?

In this workshop we'll give you an introduction to one of the newest libraries for creating animations with React: Framer-Motion. You'll get hands-on experience by solving tasks we've set up for you: You'll start out with a React app resembling a card game, but where all the elements are static. It will be your job to create those animations to be able to actually play the game!


Automatic Accessibility Testing for All

Workshop - Suggested by Anne-Cecilie Haugstvedt, 10 months ago.

Accessibility testing tools are of great help in making an accessible website. Automatic accessibility tests can be of even greater help, freeing up time to focus on the changes that will make your website better for everyone. 

In this workshop you'll learn how to set up and write your own automatic accessibility tests. While doing this we'll also cover some of the most common accessibility errors that can be discovered automatically and learn how to fix them. 


Better User Stories Through Example Mapping

Workshop - Suggested by Gary Fleming, 10 months ago.

We often struggle when it comes to figuring out exactly how we should work together, as testers, developers, business analysts, and product owners.

Three Amigos gets thrown around a lot as an idea: one to build, one to enquire, one to specify. But how do we actually run a three amigos session so that everyone gets their ideas across and we gain genuine shared understanding? That's tricky.

During this session, you'll learn to use Example Mapping; a simple, easy, and quick technique to bring everyone together for effective results.


Build an analog synthesizer - for beginners

Workshop - Suggested by Knut Erik Helgesen and Gry Leirgulen Nagel, 6 months ago.

There has never been a better time to get into music DIY. With modern components and Eurorack standards, it's easier than ever to create interesting and musical devices. However, the world of electronics and music can be daunting for beginners.

In this workshop we will teach the basics of electronics and synthesizer design. To keep it old-school, we will focus on analog electronics, and to keep it manageable we will make a "non-musical" synthesizer. In other words a noisy box perfect for creating interesting sound effects and alerting your colleagues of impending meetings. We will build the different parts of the synthesizer on breadboard to get an understand of how they work, and the students will get a PCB to solder permanently. Parts will be provided.

The workshop will be 3 hours.
We will cover:
- Basic electronics and use of prototyping tools
- Basic signal processing
- Basic synthesizer design

Basic electronics skills are helpful, but the course is designed for beginners


Consider ethics!

Workshop - Suggested by Ingrid Sunde and Hulda Fadnes, 9 months ago.

What we create has a huge influence on how people behave and live their lives. We are trained to solve problems and make people’s lives better. Rarely do we consider what ‘better’ actually is.
One can argue that ethics are a personal preference. But what happens if we actually get the conversation going and allow for all team members to voice their point of view? In this workshop we will discover how our ethics and beliefs align with projects we work on. We will explore the intended and unintended concequeses of our work on different timescales. This will allow us as teams to map out what “better” actually might look like and which risks to consider moving on - for any given problem.

The key takeaways from this practical and collaborative workshop will be

- how to discuss ethics in a group
- learn how to think about consequences long term
- build understanding around different perspectives when it comes to ethics
- train on how to talk about your own ethics
- create a safe space for sharing.


Expand your horizons and learn to make games on a Commodore 64

Workshop - Suggested by Ricki Sickenger and John Christian Lønningdal, 10 months ago.

A lot of programming nowadays has been reduced to Jira tasks, predictable processes, and high-level languages. Let’s step away from that and have some low-level fun with one of the most iconic computers ever made!

In this workshop we will teach you how to get started with game programming on the Commodore 64. This machine was released in 1982 and was one of the most popular home computers of the 1980's.

But why would you want to do anything on 38-year-old hardware? Because it is easy to get started and is super fun! Plus, you get to reap the rewards of decades of hacking on this machine. Kids from the 80s that are now grown-ups, and also new generations of youngsters have been finding new tricks and cool features since it was introduced. And since the advent of the internet, they have been documenting everything on the internet. The Commodore 64 still has a vibrant developer community to this day, with games still being released!

We won't be programming on an actual C64, but rather on modern hardware, with a modern editor with a cross compiler and an emulator with debugging capabilities. This turns the process into a fun adventure, where we learn what assembly is and how to manipulate the old hardware with it.

The goal of this workshop is to learn how to get started making games on a Commodore 64 in assembly. You will also learn what a cross-compiler does, how the hardware works, and how fun it is to try something completely new(old!) 


Ricki Sickenger is a former professional game developer with 10 years experience, now working as an IT consultant and hobby game developer.

John Christian Lønningdal has released several C64 games in recent years, but his day job is working as an IT consultant.

They both love retro games and the Commodore 64!


Welcome to the retro programming workshop!


Facilitating Powerful Retrospectives Workshop

Workshop - Suggested by John Le Drew, 9 months ago.

Alf, at 6’ 6”, was tall, lanky and in his mid-50s. He was helping me clear up after his first retrospective on this team. “The conversations in these retros,” he said in his broad Essex accent. “They can be pretty raw, almost emotional.” Then he paused, and thought for a moment. “But I guess,” he said eventually, “After you have pretended to be an elephant in front of your peers, anything else goes, right?”

In this session, we'll explore how to bring excitement and fun to your retrospectives, making safe spaces that deepen the learning for your teams.

We will explore a number of concepts including:

- The value of a check-in and why anonymity is less important that we think it is.
- Why getting people to laugh is so important, the serious side of fun.
- How the environment can help a team become more objective, the value of surprise and the unexpected.
- Putting people at “unease”.
- How a retro can help build cohesive teams and why team cohesion is so important.
- Tips learned from the field on how to run effective retros.

This will be a highly interactive session and we will be on our feet exploring a range of activities and facilitation techniques.


Fun and games with Svelte

Workshop - Suggested by Johannes Moskvil and Eirik Vågeskar, 9 months ago.

Svelte is a promising, novel approach to Javascript, designed for speed, short source files and tiny bundles. Among its many selling points are ease of learning and quick re-renders without a virtual DOM. Current big-name users include The New York Times and Godaddy.

In this workshop you will learn the basics of Svelte by implementing some simple games. Each game will teach different aspects of Svelte, such as animation, reactivity, data fetching and storage. You will be taught by an enthusiastic frontender who has used Svelte both at work and for hobby projects for the last nine months. The workshop is suitable for both frontenders and designers who can code.


Generative art using functional programming

Workshop - Suggested by Torgeir Thoresen and Kjetil Golid, 9 months ago.

Creative programming is all about writing code to create an expression rather than developing functionality. It can be used to generate all kinds of art pieces, whether it be still images, animations, music etc. It is also a great framework for learning new programming languages!

We’ll show you how to create art in the browser using functional programming.
Kicking things off with a low-key introduction to Clojurescript, we familiarize ourselves with some lisp syntax and general functional programming concepts before venturing into the realm of generative art created in the web browser.


Getting Started with Jenkins Configuration as Code

Workshop - Suggested by Leonard Sheng Sheng Lee, 9 months ago.

Tired of manually configuring Jenkins through its web interface? Fred not, Jenkins Configuration as Code project will make our work a bit easier. In this workshop, we will learn how to configure Jenkins by code and improve the maintenance process of Jenkins.

Users who are interested in using and maintaining Jenkins for their projects should attend this session. Participants will learn on how to configure Jenkins from code, use git version control system to track changes, and easily rollback when problems occurs.


Getting started with The Things Network and crowdsourced LoraWAN

Workshop - Suggested by Ricco Førgaard and Ketil Moland Olsen, 9 months ago.

Say hello to The Things Network.

It's an open, crowdsourced, and encrypted wireless IoT network that aims to solve the wireless hurdles of limited range, excessive power consumption, and high operational cost using game-changing LoraWAN technology.

Twelve months after its launch in Bergen, The Things Network has snowballed. Close to thirty gateways spread throughout the city provide wireless coverage in most of the densely populated areas. Every day, thousands of data packets are transmitted from the hundreds of sensors deployed in the area. Maybe the next one will be yours?

In this workshop, you will learn everything you need to get started with The Things Network, LoraWAN, and crowdsourced  IoT. We will provide you with your very own LoRa-ready microcontroller. If you are lucky, you might get the opportunity to take it home with you, too. 

We will cover

– The Things Network and LoraWAN explained – how it works, and how you can use it in your projects (for fun and profit).
– Fair usage and duty cycle limitations. 
– Spreading factors, data rates and bandwidth.
– Different network activation methods and when to use them: Activation by Personalisation (ABP) versus Over The Air Activation (OTAA).
– Case study: TTN Mapper.
– The Things Network Console: How to register your free account, configure your applications, and set up data forwarding to external endpoints.
– "Hello, world!": Your first and simple The Things Network application.
– Raw data payload decoding and port routing.
– IoT thermometer: Air temperature readings over the air.
– Bonus: Setup TTN Mapper and start mapping network coverage.

You should have

– Basic to intermediate programming skills.
– Fundamental knowledge about Arduino and microcontrollers.

What to bring

– A computer with the Arduino IDE installed and working.
– A phone running a recent version of iOS or Android.

What we will provide

– Arduino MKR WAN 1310 Microcontroller.
– Aerial antenna.
– TMP36 Analogue Temperature Sensor.
– Necessary cables and wires.


Git for the rest of us

Workshop - Suggested by Pål Grønås Drange, 9 months ago.

Are you embarrassed to say that you don't really know what to do when git screams "CONFLICT"? Or that you don't really know what the different commands do?

Have you never used git, or even other revision control systems?

Typically, a git conflict comes at the worst time possible: you are done with you work, and you just want it to be merged so that you can either go home, or start on something new.  And on top of that, you are afraid of losing your work that you might have spent weeks on.

We never really practice our git workflows, we often just end up slaves to the tool.  I'll be your guide through the git workflow and we will be resolving the conflicts, coming out on the other side as no longer mere mortals, but true gitters.

Target group: people who either haven't used git yet or trembles prior to merging.

It is ambitious, but the goal is to, during these three hours, to get to know these commands:

* init
* log
* status
* diff
* show
* add
* commit
* reset
* clean
* rm
* mv
* restore
* stash
* tag
* blame
* filter-branch
* bisect
* branch
* checkout
* switch(?)
* merge
* rebase
* cherry-pick
* reflog
* clone
* remote
* push
* fetch
* pull


Hvor mange utviklere må til for å ødelegge et design?

Workshop - Suggested by Vegard Nilsen and Sofija Ivanova, 9 months ago.

Har du opplevd at det flotte designet ditt ender opp med å se kjedelig ut etter lansering? Kanskje elementer har blitt endret, detaljer mangler, eller komponenter ser helt feil ut?

Det er lett å bare irritere seg over resultatet for så å gå videre til neste prosjekt uten å ha lært noe, men det trenger ikke å være slik!

I denne workshopen går vi gjennom forskjellige fallgruver i samarbeidet mellom designere og utviklere. Derfra vil vi utforske hvordan vi bør jobbe sammen for å sikre et godt resultat.

På workshopen lærer du:

  • Hvorfor utviklere gjør det de gjør

  • Hvordan være en god designer fra utviklerperspektiv

  • Hvordan oppnå resultater når dere ikke har tid til tett samarbeid

Workshopen er nyttig for deg som:

  • Jobber med design som ender opp på digitale flater

  • Leder prosjekter med designere og/eller utviklere


Intro to data visualization with D3.js

Workshop - Suggested by Trud Antzée and Elisabeth Irgens, 9 months ago.

Never coded a graph before? Great! Come join us in getting started with this JavaScript library for visualizing data with HTML, SVG, and CSS. This workshop is for complete beginners by two enthusiasts who were D3.js beginners not that long ago.

Learn the basic of concepts around different types of data sets: when to use line charts, why to avoid pie charts, and perhaps a scatter plot is what will represent your data? We will build a visualization from the beginning. We start with a data set in a spreadsheet, and work on coding your project step by step. By the end, you will have a graph in the browser that you have written with JavaScript.


Learn Go by building microservices

Workshop - Suggested by Ricco Førgaard and Eirik Årdal, 9 months ago.

Ten years after Go was officially announced, the language is still gaining traction. Its popularity has increased steadily the past few years after more and more cloud products such as Docker and Kubernetes, and big-scale companies such as Uber, Netflix, Dropbox and Twitter has gone all-in on Go and enjoying the ride.

This workshop will focus on learning the language, its syntax and its weirdness (in a good way), while making a few microservices that communicate with each other over gRPC and HTTP. Learning by doing in other words. We'll move fast and assume you know other programming languages and are able to connect the dots based on your already excellent knowledge and awesome programming skills. Go is a famously easy language to learn due to its extreme pragmatism and we'll put that to the test here.

Things you'll learn:

* How Go differs from other object oriented C-like languages like Java, C#, Python and JavaScript
* Language syntax that are different from other languages
* Communicate between Go applications using HTTP/REST and gRPC
* Running multiple Go applications in Docker and Docker Compose

Things we won't cover:

* What an if-else statement is
* Foo and Bars
* Deploy things to a cloud (AWS, Azure, GCP) - we'll run everything in Docker on your computer
* What the commandline is and how to turn your text green

How to come prepared:

* Install Go (and ensure "go" is on your path). If you already have Go installed, check for updates
* Install Docker (and ensure "docker" and "docker-compose" is on your path). If you already have Docker installed, check for updates
* Bring your laptop
* Bring your laptop charger
* Have a GitHub account (and Git installed on your computer)
* Bring an IDE that understands Go. The best free alternative is Visual Studio Code with a plugin. The best-best alternative is GoLand from JetBrains. IntelliJ also have a Go plugin that gives a GoLand-like experience.
* Double-check that laptop charger



Make Your Own Robot!

Workshop - Suggested by Thea Øen and Martine Oppegaard Jakobsen and June Aarem, 9 months ago.

Make your own robot out of a milk carton and a micro:bit. Coding is a basic skill everyone should master at some level.

The workshop is meant to inspire people to learn coding or teach others to code. The project is a lot of fun, and suitable to teach young or not-so-young people about programming. It is also a low threshold for people on IT teams who do not normally code as a part of their workday.

No matter the motivation, starting small and safe is a great way of learning about coding and trouble shooting. The workshop will provide the parts needed that are not mentioned in the requirements, to complete the workshop.

Target group: Designers, testers or people a part of the team who do not usually program.

Requirements: A laptop (with USB port) for coding. One empty and cleaned milk or juice carton for the robot.

Duration: The workshop is divided into three parts and will take 1,5 hours to complete. 30 people can attend, resulting in 15 groups and 15-30 robots.

  1. Intro to the workshop, and some cues about how to arrange your own workshop.
  1. Prepping the gear, and creating the robot. The team will be provided with all necessary tools, where the first task is to cut out the design of the robot and glue all the part together.
  1. Programming the micro:bit. The coding will be done with the help of the editor There is an option to choose between Blocks or JavaScript. The instructions are using Blocks which is an easy drag and dropof elements. 
  1. Connect robot and micro:bit. The last step is to connect the wires to the micro:bitand robot and finally make it come to life by moving its mouth. 



  1. Further development of the robot. If there is time to spare, there is always the option to code more, change up the robot and explore what else is possible with the help of micro:bits.


Happy coding! 



Make your own video codec

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

How video compression algorithms like h.264 works is for most
developers looked upon as black magic, something that geniouses provides
to the world so that mere mortals can use them through libraries.

The point of this workshop is to demonstrate that this image is false, and
that video compression is not as hard as you may think. In fact, the core principles
can be explained in not so long time. In this workshop we will do
just that, and to implement a simple video codec based on those principles.


Managing Microservices at Scale 🚀

Workshop - Suggested by Hans Kristian Flaatten and Fredrick Myrvoll, 9 months ago.

Microservices describes the promised land where each service can be implemented completely independent of any other service using any programming language and any framework? But is that even possible? How do we ensure that all services are secure and protected? How do we make sure we can know what is going on inside and between the different services? How do we ensure propper handling of errors when communicating across multiple services? How do we trace errors back to the service that caused it?

In a traditional microservices environment these questions must be solved individually by each service or require the use of several libraries and suddenly your "micro"-service wasn't quite as micro and you most certainly can no longer use the programming language or framework you want any more.

What if there was a better way of managing all these microservices and be able to preserve their individuality and without having to bundle all of the complexity into the code?

The workshop will cover the following:

* Setting up the Istio Service Mesh on Kubernetes

* Deploying our all of the individual microservices required for our webshop application

* Routing traffic with the Istio Ingress Controller

* Monitoring performance with Grafana

* Observing traffic flow with Kiali

* Distributed Tracing with OpenTracing and Jaeger

* Request Routing and Canary Deployments

* Fault Injection and Rate Limiting

* Service Isolation Using the Istio Mixer

* Securing all communication with mutial encryption (mTLS)

What you will need to bring to the workshop:

* A laptop

* Enthusiasm 😅

Nice to have

* Basic understanding of how microservices communicate and are deployed

* Basic understanding of containers and Kubernetes 


Master HTTPS in your application

Workshop - Suggested by Johannes Brodwall, 10 months ago.

HTTPS and especially client certificates holds the promise to zero-trust architectures of the future and gives a good way to harden your internal communication paths.

Have you ever gotten the feared error message "PKIX Path Building Failed" or just the simple and unhelpful "SSL error" in your browser?

You have learned about and thought you understood the theory of public-private key encryption. Even so, setting up a server to demand client certificates, issuing certificates and making sure each part knows to trust each other is tricky business.

In this workshop we will explore the necessary code to create certificates, start an app server with https instead of http, making the client trust a self-signed server certificate and make the server request a certificate from the client.


Refactor; Computer says no!

Workshop - Suggested by Anna Maria Eilertsen, 9 months ago.

In this workshop, we will practice using the refactoring menu in our IDE. Sometimes automated refactorings can speed up our manual editing and help us avoid errors; other times, a seemingly erratic IDE refuses to perform even the simplest operations. It is no wonder most developers shy away from any automation more complex than Rename. After this workshop, you will be able to decipher refactoring error messages, tweak your code to make automated refactorings succeed, and interleave automated transformations with manual ones to achieve the code change that you want. 

This workshop is not about improving code quality, per se. Rather, you will learn about IDE magic and curious corner cases in seemingly straightforward refactorings. We will focus on simple but powerful code transformations: Extract, Inline, and Move, and how to make them succeed in increasingly tricky application scenarios. 

We will collectively use IntelliJ Community edition with Java 1.8+, BUT! if you usually work with other frameworks, we strongly encourage you to disregard the provided tasks and instead explore the refactoring menu of your favorite IDE. Our main goal is to provide you with refactoring skills that you can apply in your everyday programming. 

Disclaimer: If you choose to work in another language, codebase or IDE, the organizer may not know the answers to your questions as they arise, but will enthusiastically lend herself to help figure them out. 


Rethinking API’s with GraphQL

Workshop - Suggested by Thorstein Thorrud and Simen Støa and Sigurd Falk and Emil Staurset, 10 months ago.

GraphQL is an open-source data query language for APIs, and a runtime for fulfilling those queries with existing data. It represent a new way to think about APIs compared to traditional methods like REST. This workshop will give you hands-on experience using GraphQL to master common API operations. We will cover basic topics like fetching data from a GraphQL server using queries and mutations, writing schemas to describe what data can be queried and getting to know the schema type system. The exercises will be implemented using NodeJS, with additional bonus tasks in React - for those who also want to make a frontend. At the end of the workshop you will be well equipped to start implement a new, or query an existing GraphQL API


Secure native and webapps with oAuth2 in 2020

Workshop - Suggested by Kristian Lund, 9 months ago.

Implicit flow in oAuth2 was for a long time the go to standard for native and webapps,
but it has recently been declared as a should not by IETF.

So how can we be secure?

Come to this workshop and learn how to implement code flow with PKCE

The workshop begins with setting up an authorization server and explains oAuth2 terms like authorization code flow and implicit flow before we dive into PKCE.


Universell utforming - Hvordan teste med skjermleser?

Workshop - Suggested by Eva Kristine Kirkevik, 9 months ago.

Vil du sikre at dine nettsider og apper kan brukes av alle? Universell utforming er i vinden.

Kom og lær hvordan man tester med skjermleser av en tester som selv er blind og bruker skjermleser til daglig.

Ta med iPhone eller iPad  og headset og prøv selv.


* Hvorfor  er det viktig å teste med skjermleser?

* Grunnleggende innføring i hvordan en skjermleser fungererer 

* Demonstrasjon av nettsider som fungerer godt og ikke fungerer så godt

* Prøv selv med veiledning

(this workshop will be held in Norwegian, due to the use of Norwegian language web sites and screen readers)


VALUE - Transformation and continuous change, learning and adapting to produce measurable results

Workshop - Suggested by Richard Cornelius and John Le Drew, 9 months ago.


A transformation or change to a team, department or organisation, doesn’t have to be based on a traditional framework. In fact, every organisation will have a different context based around existing culture and the value proposition, so why should we state that a few frameworks or a term such as Agile can fit every scenario.

There is value in agility, there are benefits to frameworks. Change most definitely needs to be controlled, but when you are dealing with existing processes, the layers of organisational culture and people in general, ideas which sound good now can have unintended consequences and more importantly ideas not considered initially are often the ones that enable the team, department or organisation to stand out above the rest.

During this workshop we will be using a structured approach to allow attendees to:

  • Learn a structure on how to control change
  • Limit risk whilst also having the ability to take advantage of unseen opportunities.
  • Become part of a fictional company and experience this structure and change occurring
  • Understand some of the participants own organisational issues, enabling quality conversations and structure outside of the workshop and back in the attendee’s own team, department or organisation


This workshop is designed so that you will be looking from your own sphere of influence and as such whether you’re a corporate CEO or just starting a career you should leave with additional confidence in implementing change relevant to yourself.

All you need, is a desire to make a positive change to the world around you.



What's this Design Sprint business anyways?

Workshop - Suggested by Kristine Kjellsen, 9 months ago.

Have you heard the enticing tales of Google Design Sprint? Wondering about what all the buzz and the fuss is about? Or do you have a problem that you would like valuable input on from other smart people in the business?

This workshop combines experience with actual exercises from the Google Design Sprint, solving real problems that participants bring to the table with presentation of the methodology and very real examples of how and when to use it.


Writing notes is boring! Sketching them is not!

Workshop - Suggested by Morten Laugerud, 11 months ago.

Sketchnoting is about ideas, not art! So don't even think about thinking "I can't draw"!
With that out of the way...
Drawing is fun!
And great for collecting thoughts, takeaways from talks and meetings down on paper, and (my favorite) remembering names of all the exciting and boring people you work with. You will find your own way to incorporate sketchnoting in your workflow.
I this workshop we will cover some easy techniques to get started with sketchnoting. You’ll leave with your own litte visual library, tips'n'tricks and confidence in your own drawing skills!
Still not convinced? Here are other benefits of sketchnoting
  • Stimulates creativity
  • Doing something analog for a change
  • Its relaxing
  • Remember better
  • Easy to scan previous notes to find out "What was that guy talking about, again...?"
  • Easier to convey difficult or complex consepts to someone that does not understand what you are usually talking about
  • Its fun!
You don’t have to bring anything. I’ll hook you up! See ya!


型 - kata, and solving the same problem again & again

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

The kata - 型 - is often used to describe practicing and perfecting a choreographed pattern of moves. It turns out that it is quite interesting when applied outside of the dojo too.


This workshop is about doing kata by solving one of my favourite problems several times, but with different restrictions, e.g. strictly object oriented (smalltalk style), purely functional, strictly procedural. We will discuss solutions, drawbacks, similarities, and elegance.


You can bring any language and environment you would like, as this the workshop is about having fun with problems together. Problem input and reference solutions will be provided by the instructor.


The problem itself has a flavour of computer science, but should be quite familiar to all participants.


Short talks

Collaborating on Open Source Software

Short talk (30 mins) - Suggested by Marit van Dijk, 10 months ago.

Collaborating on Open Source Software;
How I Started contributing to Open Source and Why You Should Too

There are several reasons you might want to contribute to open source software. For me, it was that I wanted to learn in a more useful way than doing programming challenges. So I looked into how I could contribute to open source projects that I use myself.
After contributing for almost two years, I notice that I have learned a lot from my contributions (which has been useful at work), as well as have made friends and have become part of a community.

In this talk I will share my experience with contributing to Cucumber, including an early mistake (merging something that wasn’t ready yet) and fixing it with the support of core maintainers, and still feeling welcome!
You’ll learn how how to find your project and contributions to start with, how to connect with the community to make sure your contributions are useful and the many different types of contributions you can make.

Contributing to open source is a way of giving back to the community. In addition, it is a way for you to learn, collaborate and become part of a community. Getting (constructive) feedback on a pull request and collaborating to make things even better is a great feeling!


From fear to fun: Exploring design concepts in VR

Short talk (30 mins) - Suggested by Henriette Stokholm, 9 months ago.

For the past months, I have dived deep into the underground of Haukeland Sykehus in Bergen, where a new light rail stop will appear in 2022. Unfortunately, underground stops seem to scare the life out of people: Some people feel trapped, others are afraid of assault, and some are simply afraid of the dark.

So how can we make people feel safe in underground stations? And is it possible to test out different concepts in order to see the effect, before construction has even begun?

Through a number of workshops, I have been challenging the concept of underground stations, and I am now about to carry out user tests in VR in order to collect user feedback. Soon, I expect to get answers to numerous questions, among these:    

* What are you actually testing, when doing user tests in VR?

* Does a VR experience have to be truly immersive in order to comprehend a concept?

* And does it really make sense to prototype a building?

If you are as curious as me, when it comes to interaction design, user research, exploring more or less far out design concepts, and user testing in VR, then come to my talk!


Gordo, how Equinor (attempts to) build thousands of machine learning models

Short talk (30 mins) - Suggested by Erik Parmann, 10 months ago.

Equinor has many machines--many, many machines. And we would like to know if they are going to fail before they fail; otherwise, we lose a lot of money. Since we happen to have so many machines, we can not apply traditional data-science, which is focused on making an awesome model for a single problem. We need to build and deploy thousands of adequate models automatically. In order to do this we have created the open-source project Gordo with the goal of building and serving thousands of machine learning models. Nobody else uses it, but if you happen to have thousands of machines, millions of time-series, a big kubernetes budget, and the need for anomaly detection or predictions, maybe you should start using it?


Hedy: A gradual language for programming education

Short talk (30 mins) - Suggested by Felienne Hermans, 9 months ago.

Learning to program is hard! There are so many things to think of: syntax, datastructures, problem solving. What if we could make a programming language that grows with you, and becomes stricter over time? In this talk Felienne outlines her incremental language for programming education called Hedy, the reasons why it could work and the first experience reports of kids using it.


Highscores - A Brief History of Computer Music

Short talk (30 mins) - Suggested by Anders Norås, 11 months ago.

Computer programmed music has come a long way since the CSIR Mark 1 played a scratchy Colonel Bogie back in the early 1950s. In this talk we'll go on a journey through the history of music made with code. We'll meet the pioneers who invented computer music, visit classic video game soundtracks, learn how computer musicians made big sounds with tiny tech, how algorithms create never-ending soundtracks and the huge impact computer music has had on popular culture. Expect lots of nostalgia, vintage code on vintage computers and a musical experience of epic proportions.


How I built a website and made it completely inaccessible

Short talk (30 mins) - Suggested by Vegard Haugstvedt, 9 months ago.

During the fall of 2019, I worked on a really unique project. I was to build a website (a webshop, actually), that was to be fully accessible, and then add as many accessibility bugs as possible. Sound weird? It was! It was also really fun, and I learned a lot. And all of it was implemented in just over a month!

The inspiration for the project was W3C's "Before and After Demonstration" ( ), where you can switch between accessible and inaccessible versions of five types of webpages. But the design of these are old fashioned, the functionality limited and in general the website was not very relatable as the calendar approached 2020.

So we set out to build a more modern version, with the lofty goal of being "the new gold standard for accessibility", a site where users could test complete scenarios and one that could be used both in education and for verifying how many issues automated accessibility testing tools can find.

In this talk, I will share our journey with you, exploring different accessibility issues, user testing, changing requirements and other topics we encountered.


How to design for special needs, like Parkinsons?

Short talk (30 mins) - Suggested by Mileha Soneji, 11 months ago.

My TED talk on this topic now has more than 1 million views (and counting). My story is a heartfelt one that gives a strong message on how we can make a difference in this world in the simplest manner and showing empathy.

My talk is about how simplicity and human-centered design can change this world. In my daily work as a Strategic Product Designer I apply these principles and practice them to come up with impactful and simple designs.

My presentation is about simple solutions I designed for Parkinsons’s patients and how they describe the principles of Human Centered Design. It is about how even by targeting the right user insight and designing for it, testing the concepts and improving them can we have a big impact on this world.


Kubernetes - a necessary evil

Short talk (30 mins) - Suggested by Jon Arild Tørresdal, 9 months ago.

This is the story from Sparebanken Vest were we started Serverless, but ended up with Kubernetes. Kubernetes became the necessary evil. We used complexity as our currency for necessary flexibility.

We dive into the problems we faced, the assessments we did, and why we made the choices we did. Would we make the same choices today?

We look into the crystal ball and make some qualified guesses about the future, specifically about Kubernetes as a future container platform and which essential requirements are typically missing from today's serverless cloud offerings.

Key takeaways from this talk should be well founded reflections on why Kubernetes might not always be the answer you're looking for, and why you might end up using it anyway. 


Lightning talks

10 things I learned from a decade in the software industry.

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

Is there one secret key why some companies are expanded, and others aren’t? Could culture gap restrict achieving a goal? How likely is it that things will go wrong? Are you sure that you have already met the most difficult person? During the past 10 years, I worked for companies where things move fast, and where it’s impossible to avoid bureaucracy. I worked for fintech, aviation, robotics, graphics and broadcasting software companies. Dealt with people from east to west. Worked alone and worked with teams. Teams in the same and other geographical location. I saw companies getting sold and expanded. When the recession hit hard, I also saw companies shutting down and found myself fired the next week after my wedding. I recruited people and was sometimes happy and sometimes disappointed. With my positions, I wore multiple hats. Sometimes it was daunting, at times it was rewarding. In this lightning talk, I will dive through this journey and pick 10 things to share with you. Are you ready?


Bee oh tee

Lightning talk (10 min) - Suggested by Håkon Nilsen and Fredrik Lindseth, 9 months ago.

Beekeeping is a popular hobby for many people, and even a living for some. It's a great way to interact with nature in your own back yard if you want, and an incredibly analogue and manual thing to do. We built a bee hive with all sorts of technology inside to help understand and monitor our bees. This is ten minutes where we will show you what we've made. We call it "bee oh tee". Presented by Håkon Nilsen and Fredrik Lindseth.


Confessions of a reformed pentester

Lightning talk (10 min) - Suggested by Nick Murison, 9 months ago.

Pwning and breaking systems (with permission) can be a creative thrill, and it feels like you're performing a valuable service to the community. That's how I felt 15 years ago when I started as a security consultant, but strangely many people I met at customers didn't agree. Developers, architects and product owners alike viewed my arrival with disdain. But why? 

In this lightning talk I will share my journey from ethical hacker to agile security fanatic, and why penetration testing should be nowhere near the top of the list of activities you do when building security in.


Edge Cases or Dead Angles?

Lightning talk (10 min) - Suggested by Jorunn Mjøs, 9 months ago.

What are we basing our decisions on when declaring something an «edge case»?
And how does this fit with our understanding of risk and quality?

Whether we’re scoping an MVP or reimagining user journeys for a legacy system, our work of finding solutions may easily lead to a centering of the product in the stories we tell ourselves about our users. This narrowing of focus can implicitly idealize our view of people’s needs and circumstance, in ways that are not always helpful.

We take pride in relieving pain points - but don’t as easily envision the pain our products might introduce or amplify in people’s lives. There are some edge cases that cannot be ignored, because the consequences are too great. And there are some things that simply aren’t as far to the edge as we’d like to imagine.

We can roll back the code, or iterate the product – but we cannot roll back the consequences we cause in people’s lives along the way. By combining a risk based approach with compassion, we can learn how to make products and experiments that are safe to fail in the environment of real life.


From heaven to hell

Lightning talk (10 min) - Suggested by Maja Megård, 9 months ago.

How can a project that at first sight seems to be a perfect fit in all regards, end up as the most exhausting, conflict-ridden project that I have been a part of. I would like to share my experiences and thoughts in the aftermath of this crisis. These are the main points I will be discussing:

  • Don`t pretend that your project is complicated when it most probably is complex (Cynefin) and our approach should reflect this on all levels.
  • Red flags - how to notice them and how to handle them
  •  Are you brave enough to rock the boat when it needs to be rocked? For if you're not afraid how can you be really brave? (Moomin)  


How can Darwin help?

Lightning talk (10 min) - Suggested by Siv Holen, 9 months ago.

As a UX-expert with a master of biology a see many similarities between evolution and innovation. In this talk I will explain design thinking principles with examples from biology and evolution theory. Learn how Darwin can help us increase variation and select the right direction for our project.


How to disagree: Creating a safe space for creative tension

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

We knowledge workers live by our smarts, which is both a blessing and a curse. If we're not careful we risk creating a workplace where people are too fearful to ask questions or suggest improvements. For each new hire we need to prove ourselves that the workplace is in fact a safe space to ask questions and be vulnerable.

In this talk I'll share some opinionated techniques on how to foster a workplace culture where people feel safe to disagree.

Key points include:

1. How we can use some meeting techniques to avoid group-think and spark productive disagreement.

2. How sharing imperfect and unfinished work is a strength. 

3. How senior colleagues can lead by example.

I'll argue that good creative tension make good ideas great, and makes the workplace a more fulfilling place to be.


How to React to a good Vue

Lightning talk (10 min) - Suggested by Cecilie Cathrine Grimelund Snyen, 9 months ago.

Du kan lage et rikt brukergrensesnitt på web med Vue.js, men Vue.js blir ofte oversett til fordel for mer kjente rammeverk som React og Angular. Vue.js er imidlertid et rammeverk som øker i popularitet, og det er gode grunner til det.

I denne lyntalen går jeg gjennom hovedkonseptene i Vue.js og sammenligner hvordan man jobber med komponenter i Vue.js vs React. Tilslutt forteller jeg hvorfor du bør velge Vue.js i ditt neste prosjekt.


How we quality control Android applications at NRK TV

Lightning talk (10 min) - Suggested by Jelena Spocova, 10 months ago.

Maintaining a high level of quality for an Android application can be quite a challenge given the large array of operating systems, device types and screen sizes available.This is compounded as the application grows in complexity. As with any system, it’s important to maintain good Unit & Integration test coverage - and this is usually not too difficult.

UI and System tests, however, can be non-trivial when taking into consideration the multitudes of available frameworks. In this situation, how much time do we spend evaluating each framework? How much time do we spend developing and integrating them into our CI flow, and how do we make sure we get value from doing so?

In this talk, I will be showing how we have gone through this process for both the Android, and AndroidTV applications for NRKTV. I will mention which frameworks we use and why, where and when we run these tests, and what value this has given us. Hopefully, this can inspire others to invest time and energy to try and achieve a similar level of quality control in their applications.

For a more detailed dive into the frameworks we use and how our tests are written, see my blog post on Instrumentation testing of Android apps.


Hvordan bytte motor i full fart med 3.3 millioner brukere

Lightning talk (10 min) - Suggested by Viggo Navarsete, 9 months ago.

Få et innblikk i hvordan Vipps erstattet betalingsmotoren bit for bit i fart med 3.3 millioner brukere uten nedetid. Erre mulig spør du? Ja, åff kårse!


Hvordan ikke slukke branner på små avlukker

Lightning talk (10 min) - Suggested by Geir Gåsodden, 10 months ago.

Jeg elsker offentlig sektor og den norske velferdsmodellen. Jeg ønsker av hele mitt hjerte at midler fra fellesskapets pengebinge skal anvendes best mulig. Men, virkeligheten er ofte en helt annen. I løpet av denne forestillingen på knappe 10 minutter skal jeg fortelle en historie fra virkeligheten og forhåpentlig komme med noen av svarene vi trenger for å kommer tilbake på rett spor.

Historien egner seg for alle som utvikler, leverer og benytter seg av tjenester fra det offentlige. Det blir action, drama, sorg, fortvilelse og glede.


Hvorfor vi aldri går tilbake og jobber slik som før

Lightning talk (10 min) - Suggested by Geir Hansen, 9 months ago.

I ACOS gikk vi fra at sjefene tildelte en og en oppgave til utviklerne, til å bli et selvorganisert team som også brukertester sammen med våre kunder. Vi deler reisen vi er på og erfaringene våre i 10 minutter!


Ikke nok et jævla statusmøte!

Lightning talk (10 min) - Suggested by Marthe Slaatsveen, 9 months ago.

Vi ville for mye, og fant oss selv i det ene statusmøtet etter det andre. Backloggen økte for hver eneste dag, men målene var like langt unna. Vi måtte endre måten vi jobbet på — og det fort!

Hør om hvordan vi fant inspirasjon i boken "Radical Focus". Ved å innføre monday commitments og friday wins ble OKR'ene en del av hverdagen vår. Vi har nå fokus på de viktige kampene vi skal vinne, samtidig som vi tar vare på kvaliteten, teamet og kunden.

Og når vi lykkes, feirer vi alle seire sammen.

Les hele artikkelen på medium. 




Kan vi designe mer bærekraftig?

Lightning talk (10 min) - Suggested by Kaisa Kamilla Soleng, 9 months ago.

Som designer jobber vi hele tiden med å holde oss oppdatert på trender. Det kan være lett å bli påvirket av flere av dem. Hvordan skal vi velge hvilke trender vi skal følge, for å skape et design som er moderne og skalerbart over tid? Og som samtidig styrker forretningsmålene til organisasjonen.


Objects as a means of abstraction

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

In this talk, scheduled directly before Erik's "Objects as a means of distraction", we'll look at the purpose and benefits of creating abstraction boundaries in software. Abstractions can be a wonderful tool to contain and control complexity. In object-oriented programming languages, objects are the primary means of creating abstractions. Some objects, unfortunately, fail to provide a proper abstraction boundary, acting instead as a rather arbitrary place to put some code and data. Such objects create and compound complexity instead. We'll see if and how we can turn such leaky abstractions into proper abstractions that live up to their promise.


Objects as a means of distraction

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

In this talk, scheduled directly after Einar's "Objects as a means of abstraction", we'll look at how one in functional languages make do without objects and how living without them makes your life simpler


Skriv bedre for en bedre brukeropplevelse

Lightning talk (10 min) - Suggested by Hans-Jørgen Løken, 9 months ago.

Microcopy eller mikrotekster på norsk er ord og utrykk brukt i digitale produkter. Disse tekstene er ofte undervurdert og kan ha stor innvirkning på brukervennlighet og opplevelse. På 10 minutter vil jeg gi en rask innføring i mikrotekster samt noen praktiske tips. Målet med lyntalen er å inspirere folk til å lage bedre produkter ved å fokusere på små men betydningsfulle detaljer.


Smått og godt

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

Hva skiller en god løsningsbeskrivelse fra en som er dårlig? Kan måten du skriver dem påvirke hvor lett det er å utvikle de riktige løsningene? Hvordan kan du enklest mulig sikre kvaliteten på det teamet skal lage?


I denne lyntalen lærer du hvordan du med små grep kan heve nivået på løsningsbeskrivelsene dine og sikre at hele teamet raskt forstår essensen, og dermed utvikler og tester mer effektivt.


Software is eating the world and housebuilding and real estate is the next dish on the menu

Lightning talk (10 min) - Suggested by Torbjørn (Toby) Larsen, 10 months ago.

Real Estate is the worlds largest asset class and represents enormous value in any society around the world. But the way we imagine, develop, deliver and maintain our buildings has not changed much and productivity growth has been horrendous compared to other industries. Construction and operation of buildings is also accountable for approx 40% of worldwide GHG emissions, so a sense of responsibility to innovate and improve should be clear and present. 

In this talk I will give a quick introduction to how Mestergruppen, a leading residential house builder in Norway, believes industrial housebuilding will play out.  Digitalization is not only transforming the way we design, construct and deliver the buildings that we live and work in. It also redefines the very notion of what we consider to be a good «home» and an attractive «workplace».

The presentation will cover how concepts and technologies such as collaborative BIM, parametric design (AI), digital product configurators (AR/VR), modeldriven construction sites (AR/VR), sensor based data capture and monitoring (IOT) and a digital twin architecture will enable and drive transformation of the entire value chain of housebuilding and real estate management.


Teaching our colleagues what we actually do

Lightning talk (10 min) - Suggested by David Mellum, 9 months ago.

Are you able to do your job well if you barely have any domain knowledge? No? Well now you know how my coworkers outside the IT department feel when working with the IT department. I've been teaching Frende's other departments what development is, what IT systems are and how development is done. I'm here to tell you why you need to get good at teaching others what you do in detail, and what gains you and your collegues will receive in return.


The rise and fall of the task board

Lightning talk (10 min) - Suggested by Kristian Flikka, 9 months ago.

I'll summarize the why I promoted the use of task boards some years ago, and how our team manage without one today.

Agile and Lean principles dominate the original why's - and Github dominate the ways we address these today.


“Torsdag er den nye lørdagen!” - Hvorfor bruker vi en arbeidsdag i uka på fag?

Lightning talk (10 min) - Suggested by Stian Conradsen, 9 months ago.

Hvordan sikrer vi kontinuerlig læring i en kunnskapsbedrift? SpareBank 1 har i snart ett år brukt en arbeidsdag i uken på fag. Denne dagen forlater vi det trygge teamet vårt, og samler oss i nye selvorganiserende grupperinger. Vi bruker dagene på kursing, vi koder nye løsninger, vi lager foredrag og vi gjør forbedringer på fellesløsninger.
Jeg vil fortelle om hvordan vi fikk ledelsen med på ideen om en fagdag pr. uke. Jeg vil også fortelle om hvordan vi gjennomfører denne dagen, samt hvilke resultater vi har oppnådd.


Using Deep Skills in a Small City

Lightning talk (10 min) - Suggested by Becca Kennedy, 11 months ago.

The increasing ease and acceptance of remote work makes it easier for those who work on software to live where we want, including places where we may not otherwise find job prospects for our deep skills. However, with remote work, the output of our skills and effort often still remains in big cities and hubs. What if you live in a small place and want to help those in your backyard? How do we find or create demand to use our skills to help initiatives, nonprofits, and companies outside of big cities? How do we continue to get paid big while living small?


Weird things users do

Lightning talk (10 min) - Suggested by Livar Bergheim, 9 months ago.

Users do really weird things. They use API features in ways never intended, they use APIs which aren't APIs and they manage to create enormous amounts of unnecessary traffic. We'll show some examples of what our users have done. What should the user have done differently? Or maybe it was us who should have done something different?