Proposals

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

There may be a delay between submitting a talk and the talk appearing below.

Psykologisk trygghet i praksis (WIP)

Experience report 30 min - Suggested by Jørgen Landsnes

Mange har fått med seg at psykologisk trygghet er en av de mest virkningsfulle faktorene når det kommer til prestasjoner i teams.

Psykologisk trygghet kan være vanskelig å få et grep om. Én (av flere) definisjoner av psykologisk trygghet som jeg liker er: Å være seg selv uten frykt for negative konsekvenser over sitt selvbilde, status eller karriere.

Dette er ikke så lett å måle, er det vel? Så hvordan kan vi da oppnå psykologisk trygghet? Jeg vet ikke helt, men her vil jeg i hvert fall dele noen av mine helt konkrete tips som jeg bruker for å bidra til psykologisk trygghet i teamene jeg jobber i.

end to end - Value Stream mapping and optimizationzation

Workshop 1.5 hour - Suggested by Hussam Ahmad

Effective value creation based on software development depends on optimized flow of value. Some of the concepts we have learned throughout the years are listed in the 7 wastes in Software Development by Mary and Tom Poppendieck. How can you transfer this learning into actual steps you can implement one by one to improve your “value stream”. In this workshop we will be working on a case where you can do the whole process of both mapping and adjusting a value stream.

The Escher School of Fish

Workshop 3 hours - Suggested by Einar W. Høst

This workshop is based on the classic 1982 paper “Functional Geometry” by Peter Henderson. The paper shows the decomposition and reconstruction of Escher’s woodcutting “Square Limit”, a beautiful recursive tessellation of interleaving fish, using functional programming. We will use JavaScript as our implementation language as we follow in Henderson’s footsteps to create our own Square Limit as an SVG. We’ll see that framing a problem in the right way enables us to solve it in interesting and elegant ways. The problem in this case is the transformation and combination of pictures to form new and more complex pictures. If we think of an picture not as a collection of colored pixels but rather as a function from a bounding rectangle to a rendering, we can define simple yet powerful picture combinators that allow us accomplish our task with ease and elegance.

You do not have to be an experienced JavaScript programmer to follow this workshop. The tool requirements are minimal. All you need is an editor and a browser.

A Tester’s Guide to Quality

Experience report 30 min - Suggested by Mesut Durukal

After I was assigned to my new project, I realized that the quality assurance processes were not mature and we could introduce several initiatives to improve the quality (not only in the product, but also in our development activities). I will share my story which ended up in a successfully built quality.

With correct steps, we can see how quickly a quality process can be developed. But what is a quality process and how can we ensure quality? Does quality assurance equal to running tests? As you can guess, the answer is no. So we will talk about different aspects of quality assurance. By means of the initiatives I have introduced, we experienced not only the quality of the product, but also the efficiency of the agile ceremonies and visibility of information. We built a close working approach with Dev and Product teams to encourage early QA involvement and find ways to cope with testability issues.

Outcome While initially, there was: No track of bugs No feedback cycle on tests No transparency of the progress No organized feature No metrics, no idea about coverage Escaped bugs Massive manual effort

After talking to product owners, development members and project leaders; I have initiated a number of studies. It was not a piece of cake since you have to act like a quality coach, be dedicated and encourage people. A few of the initiatives were Feature Housekeeping, Short and very understandable progress reports, Pulling QA in Early Stages and Bugs Management initiative.

A summary of the achievements are as follows: Features are organized and prioritized based on Criticality (Impact) and Probability (Visibility). Test cases are defined and documented. A Traceability matrix is generated from tests to features. Cases which are not testable are revealed, a testability improvement initiative is started. A test automation framework is built supporting re-usable automated tests. Locators are commonized across all sites by collaborative work with dev teams. Defined test cases are implemented to be executed on the CI pipelines. Test suites are generated based on priorities and Nightly jobs are scheduled. All results are reported and tracked publicly on Dashboards and Flaky tests are fixed. Test framework is used by several teams. Progressive metrics are tracked, traceability matrix is created, coverage is measured. Early QA involvement is encouraged by watching development tickets from T0.

Turning weaknesses into Strengths while Developing

Experience report 30 min - Suggested by Mesut Durukal

Just as in daily life, we can struggle and even fail while developing our products. But the most important thing is not only to stand up after failing, but also to critique the reasons or parameters of the failure. If we learn from the failure, then it will not be a downfall, but an improvement. Let’s discuss how we can learn from product failures?

Common failures: Escaped bugs Incidents happening in the dependencies which affects our system Availability issues in production Flaky tests Issues in different environments

Lessons learnt from failures: Communication, Testability, Coverage Chaos testing Monitoring (in prod) Code quality Compatibility testing

Isn’t Test Automation a Silver Bullet?

Experience report 30 min - Suggested by Mesut Durukal

Like testing is an essential part of software development lifecycle, automation is an non-negligible part of testing. Nowadays, most of us are somehow involved in automation, since it helps us to perform continuous testing and minimizes manual effort. So it sounds like it is a silver bullet. But is it? What are the biggest pitfalls of test automation, let’s discuss by going over real life experiences.

Motivation: As we all know, automated testing is a great way to reduce manual effort since it replaces the execution of tests by a human tester. So, we can eliminate not only a huge need for manpower, but also time and cost.

Being aware that automation is still very useful, perhaps the question we need to explore is, what doesn’t it solve? Or what are the biggest pitfalls in building test automation itself?

In this talk, I collected my personal experiences focused on the challenges of test automation in global projects. I will share numerous real-life examples causing trouble in terms of testing and ways to cope with them.

Common problems: Some of the greatest common difficulties are: Coping with update/changes Dealing with unstable behaviors Tricky Behaviors which are not easy to automate Hardware in the SUT Testability issues Perception/AI testing Environment Setup Implementation and Maintenance Time consuming executions Reproduction of the issues found during executions

Fundamental solutions: Collaboration with Product team and feature housekeeping Collaboration with Development team and improving testability Locators/Selectors improvement: Usage of test data IDs Usage of various verification approaches Simulation and test harness Non-functional testing Smart automation strategy

Do Bugs Speak?

Experience report 30 min - Suggested by Mesut Durukal

Do bugs speak? Yes, they do. People speak different languages like English, German, French, Chinese etc. But is communication to bugs possible? It is important to understand them, because they really tell us something. There is valuable information underlying the defects of a software, and information mining from defects promises for improvements in terms of quality, time, effort and cost.

Elevator Pitch Revealing bugs is very important to improve the quality. But how about avoiding them in the first place? And how about collecting lessons learnt from the previous bugs? Let’s talk about how we can analyze previously reported issues to improve our future activities.

Problem Definition A comprehensive analysis on all created defects can provide precious insights about the product. For instance; if we notice that a bunch of defects heap together on a feature, we can conclude that the feature should be investigated and cured. Or we can make some observations about the severity or assignee of similar defects. Therefore, there are some potential patterns to be discovered under defects.

Wrap-up Defect analysis is very important for QA people, and especially for QA managers. We utilize lots of aspects to get an idea about the product itself or our procedures. For instance while monitoring defect distribution across testing types, we will discuss how to get an idea about the quality of our testing approach. I.e whether we are applying all types in a balanced way. (functional, performance, documentation, etc.) Or over another graph, in which we track the gap between open defects and resolved defects, we will discuss what action items we can take when the gap widens. Finally, with ML assistance, we will see how we can reduce manual effort and cost.

Results & Conclusion In this session, we discuss data mining from bugs and usage of ML in defect management. Objective of the study is: To present in which ways defects can be analyzed To present how ML can be used to make observations over defects To provide empirical information supporting (b)

100% dekningsgrad med automatisert testing, sa du?

Lightning talk 10 min - Suggested by Gerd Stalheim Wiggen

Med et tankesett og metodikk som dreier seg mot å levere raskere og oftere, må alle flaskehalser fjernes. Teamene har ikke tid til å vente på en tester skal bruke dager på å teste det som er utviklet etter at det er ferdig utviklet. Løsningen er da å skrive automatiserte tester. Kan man da velge å erstatte en tester med automatiserte tester?

Jeg tar utgangspunkt i testpyramiden til Martin Fowler for å se på hva som må vurderes når automatisering innføres. Så ønsker jeg å se på om automatisering virkelig kan erstatte en fysisk tester. Handler testing bare om å få et stort sett med grønne tester før produksjonssetting? Eller handler det om å ha kontroll på kvaliteten av produktet?

Continuous Deployments – Moving an entire organisation to full automatic deployments

Experience report 30 min - Suggested by Tobias Mende

Moving towards continuous deployments with an entire organisation is an interesting and challenging thing to do. It requires not only technical, but also organizational and cultural changes to be a success. At BRYTER, we recently moved from manual deployments twice a week to full automatic and continuous deployments multiple times a day. – And we implemented this change for roughly 15 teams consisting of round about 60 engineers. In this talk, I will share our journey and the learnings along the way.

My crafting project became critical infrastructure

Experience report 30 min - Suggested by Elizabeth Zagroba

Driven to madness by the normal workflow for testing my application, I wrote a small Python script in a couple of days. It called some APIs to build the app and deploy it to a hosted environment. It ran in my terminal, printing output often enough that I wouldn’t get distracted. It solved my immediate problem.

But that wasn’t the only problem it solved. It replaced a manual piece of our release process with an automated step, allowing my team to automate our pipeline. Then other teams copied us. Soon, a dozen teams in three units were trying to add and request features so that my personal pet project could become part of their merge request and release pipelines too. As more ideas needed to urgently serve the needs of teams in release time crunches, I merged code I didn’t agree with in to keep everyone unblocked. The code base became something I dreaded, and I stopped maintaining it.

The next time a merge request came in, I was able to pay it the time and attention it deserved. I worked with the code submitter to improve usability. Another dev forked the code to build a UI component, serving a completely different purpose. Seeing how many individuals and teams used this code reignited my interest in maintaining it. I wrote tests for the repository, allowing me to finally refactor away the changes I’d dreaded. And the next contributor to the code base added a test without being asked. I no longer dread my little Python script. I support and maintain a critical piece of infrastructure, and I’m excited to do it.

Don't settle for a playground

Lightning talk 10 min - Suggested by Einar W. Høst

The software industry seems to have agreed that team autonomy is a good thing, much like agile. Unfortunately, it seems to be doing some strange things with that autonomy - again, much like agile. Instead of creating self-governing and self-sufficient teams with responsibility for business goals and outcomes, we are erecting tiny playgrounds, isolated sandboxes, where the teams focus on best practices for software delivery, safely boarded up by OKRs to provide the illusion that some external leadership is still in control of the whole endeavour, not to worry. Why are we doing this? Why are we repeating the mistake of decoupling our so-called product development teams from the reality of the business? Why do we allow the cord of feedback to be broken? Why do teams still live on a plane of existence separate from where strategic plans and priorities are made, negotiations happen, money is allocated, teams put together? If these vital activities are meant to be outside the realm of influence for the teams, we might as well drop the charade. The autonomy of the playground is by definition insignificant and irrelevant to the business. We don’t need it. We don’t need more theatre.

Briefcase of Performance Testing

Experience report 30 min - Suggested by Varuna Srivastava

In this session, Varuna will share a specific case study of how to strategise e2e performance testing of a product. When we talk about performance testing the first thought always comes to server-side performance testing but there is a lot more to that on strategising performance testing. We often oversee the client-side aspects of performance testing. Even if my search API’s returns in given SLAs but when users search for something in my application it takes ages to return the result. Varuna will focus in this talk to avoid thinking about Performance testing in isolation on the server or client side. So, performing performance testing on these apps becomes very important from Go to market perspective. In this talk, I will share how we started implementing e2e performance testing as part of our delivery cycle.  Session outline What and why of performance testing Types of performance testing Shift left in performance testing Key questions to ask before getting started Client-side vs Server-side performance testing A simple quiz on performance testing Exercise on client-side tool Exercise on server-side tool

Note: This can be run as a workshop for 3 hrs also for 15-20 participants

Fruitful Design Patterns in Test Automation

Workshop 3 hours - Suggested by Varuna Srivastava

Participate in this workshop to learn how to put together the advanced concepts of an API test in a framework that is scalable, robust, easy to read, and eliminates the brittleness in your checks.

This workshop will introduce you to new advanced techniques design patterns and teach you how to break down large, flaky UI tests into quick and simple API tests. You will be given practical hands-on experience on preferred design patterns while designing a framework and on completion of this interactive workshop you will leave with your very own example automation framework that demonstrates advanced principles of api test automation design. We will create a poll to select a language(Java, C#, typescript) in which you preferred to design and use that framework.

Outline/structure of the Session: Basics of rest principle. Api architecture and types of api testing. Do’s and Don’t’s of api testing. Create a framework a. Add e2e functional tests using API’s. b. Introduction to design patterns and error handling. c. Handle the performance testing of API’s. d. Add checks for security threats. 5. Brief on how can a framework be enhanced?

Key takeaways:

  1. A robust and scalable framework with the advanced principle for api testing.
  2. A selection of design patterns for the design framework.
  3. How to design a framework in a manner which covers the function, security and performance of api.
  4. A framework which handles backward compatibility of apis. Technical requirements:
  5. Rest-Assured to employ web services to make your tests quicker and less brittle.

Recovering from technical bankcrupty - ensemble style

Lightning talk 10 min - Suggested by Kjersti Berg

One year ago I started working on a product that was suffering from overwhelming technical debt. Users were not happy, the product was buggy and slow, the team behind the product wasn’t happy, code was not pushed to production out of fear of introducing more bugs, new features could not be developed, so management was not thrilled, in short, the product could be described as being technically bankcrupt.

I believe it is possible to recover from this situation, and I’ve been working together with the team on finding ways to do that.

I’d like to share some of the learnings we’ve made the past year, specifically how valuable it is to do actual work as a group.

  • Working together develops a shared understanding and a shared language
  • Working together helps restore context that is lost
  • Working together reduces the risk involved in changing legacy code with little or poor test coverage

Blazor to the rescue! See a hopeless back-end developer learn some front-end.

Experience report 30 min - Suggested by Maria Zieba

What is the first thing that comes to mind when you hear “frontend”? The answer is probably JavaScript or one of its many frameworks. What about people who prefer C# or just cannot get to be friends with JavaScript? What about those who do not want to spend a reasonable chunk of time learning a new technology?

Blazor to the rescue! Let me show you my journey of building a little Pokédex app, using a programming language I know best, without the dreaded JavaScript or fighting with npm.

Finally, I will try to answer some questions. What makes Blazor such a good choice? What lessons did I learn in the process? How did the framework help me understand not only front-end development better but also some elements of C# that I used to struggle with?

Tune in for some bloopers, too.

Universell Utfordring

Experience report 30 min - Suggested by Terje Tjervaag

Nylig ga jeg meg selv en utfordring: I en måned gjorde jeg skjermen på mobilen min sort og brukte den utelukkende med Nora som min skjermleser-VoiceOver!

Dette er historien om utfordringene jeg støtte på, hvordan Nora og jeg etterhvert lærte oss å bli venner, en litt klein billettkontroll, og den ene kvelden jeg ga litt opp og hva det lærte meg.

Ikke minst skal du få noen gode tips om hva som gjør en app eller nettside lettere tilgjengelig for alle, ettter min erfaring.

11 tips for grønner utvikling av grønnere programmvare

Lightning talk 10 min - Suggested by Kent Inge Fagerland Simonsen

Alle bransjer må bidra til det grønne skiftet. Dette er etterhvert en heller ukontroversiell påstand og vi skulle dermed anta at dette også gjelder for de av oss som lever av å skrive kode. Vi som utviklere av programmvare kan bidra på to måter. Den første, og utvilsomot viktiggste, er å bidra ved å lage programmvare som bidrar til målene i det grønne skiftet. Den andre måten er å bidra til at programmvaren vi lager lages på mest mulig skånsomt vis og at den har minimalt avtrykk. Denne lyntalen handler om den andre måten beskrevet over ved å redusere energibehovet til programmvaren og utviklingen av denne.

Er pull-request reviews for snille?

Lightning talk 10 min - Suggested by Kent Inge Fagerland Simonsen

Pull-request (PR) reviews minner, og er meget mulig inspirert av peer review prosessen til akademiske tidsskrifter og konferanser. Likevel finnes en viktig forskjell: PR reviews er mye snillere. I denne presentasjonen vil jeg illustrere denne forskjellen med eksempler, nøye utvalgt for å illustrere mitt poeng, av både PR review og peer reviews jeg har mottatt opp gjennom årene for så å stille hver av disse stilene opp mot hverandre.

Methodologies between Scylla and Charybdis

Lightning talk 10 min - Suggested by Maja Jaakson

What happens when you dust off your books on Nietzsche and Ancient Greek theatre, read the Wikipedia articles for them instead, and then put together a talk on development practices based on your “scholarly investigation”? Come find out at Maja’s lighthearted talk, where she will irresponsibility muse aloud about high art, sea monsters, Greek gods, and the balance we strike when doing our best dev work.

Artisanal HTTP - or HTTP by hand

Workshop 3 hours - Suggested by Bjørn Einar Bjartnes

In this workshop, we will dig into HTTP 1.1 - the Hypertext Transfer Protocol - from the ground up. We will iterate on the problem of communication between computers, starting by typing text in a terminal on one computer and sending it over TCP/IP to another computer. We will gradually build on this, and before you know it, we are talking to HTTP-savvy programs like browsers. Along the way, we’ll introduce tools such as netcat, curl, jq, wireshark, nginx and k6.

Our goal is that you should understand the capabilities of HTTP better, be able to design solutions that use the capabilities of HTTP to its potential - and have new tools and tricks you can use when troubleshooting.

The format will be highly interactive, so bring a laptop with a Linux terminal of some sort (For example WSL2 with Ubuntu on Windows, a Mac or a real Linux box). If you would like to do the workshop in a pair, bring a friend - or let us know and we can hook you up with someone. For those that prefer to work alone, it is perfectly fine to talk to your own browser on your own laptop, too.

3 Planer For Ditt Neste Programmeringsproblem

Lightning talk 10 min - Suggested by Kent Inge Fagerland Simonsen

Synes du at det er mer enn nok metodikker, strategier, mønstre og inndelinger å holde rede på som utvikler?

Her vil du presentert tre planer å følge når du støter på et programmeringsproblem.

From bricks to circles: learn the onion architecture

Workshop 3 hours - Suggested by Lars Lønne

The layered architecture, with the database on the bottom, is widely used in software development today. I always find testing difficult with this architecture, with all the mocks and stubbing which is necessary to make the system function. Surely, there’s a better way to do it?

As it turns out, there is. In this workshop, we will be exploring the onion architecture. Learn how to isolate the difficult parts, such as database connections and API clients, and make most of your application easily testable with simple, fast unit tests. We will start with an application written in a layered style, and step by step refactor it to the onion architecture. On the way we will go from a few complicated tests, to a large suite of simple and fast tests that covers almost our entire application.

Circular principles for software development

Lightning talk 10 min - Suggested by André Heie Vik

A circular economy is an economy that uses and reuses resources more efficiently. If you’re like me, that probably makes you think of mass production and waste management.

What would circular principles for software development look like? Which resources do we and the systems we make consume, and how can we use and reuse these resources in more efficient ways?

This lightning talk will give you a broader perspective on how what we build can affect the world around us for better or worse, and how we build more the things that make things better.

Reflecting on half a decade of property based testing at Equinor

Experience report 30 min - Suggested by Eivind Jahren

When I joined Equinor 5 years ago, I naively advocated for property based testing (PBT). PBT had been an academic functional programming oddity, but had grown into a tool that was ready for industry. I hadn’t really thought through what PBT would mean for our department, but my experiment lucked out! The hypothesis PBT framework for python was a really good fit for our mostly python codebase. It is easy to understand, developers are excited to try it out, and it uncovers hard to find problems. Perhaps one of the most useful features for us is that it helps debug by minimizing input. This talk is an introduction to PBT and fun stories of bug hunting at Equinor.

What is Machine Learning? All you need to know in 10 minutes

Lightning talk 10 min - Suggested by Oliver Zeigermann

Machine Learning (ML) can be seen as an alternative way of developing software. Following those lines, software developers should benefit from knowing how to do ML. But where to get started? What is important and what can be ignored? Will we need advanced math for that (spoiler: we don’t). This talk will answer those questions and get you started with ML.

The Tao of Software Development

Lightning talk 10 min - Suggested by Oliver Zeigermann

Software development is not merely writing lines of code. It involves a lot of concepts, requires soft skills and a philosophy of coding (e.g. test driven, top-down, bottom-up). Surprisingly, ancient Chinese philosophy has answers to those questions, even technical ones like “why should we do machine learning”. We will also talk about emptiness, final definitions, knowing and not knowing, just to name a few concepts.

Software Architecture is not a swearword

Workshop 1.5 hour - Suggested by Oliver Zeigermann

Within the community of coders “being an architect” or “doing architecture” is often looked down upon. When referring to architecture we often mean drawings of boxes and arrows that are pointless and have not relation to what is really being done.

However, architecture can also be defined as the important decision, whatever they are (https://martinfowler.com/architecture/). There always are important decisions and the code only contains the how and not the why. Such decisions often have to be made early in a project, require compromise and if being bad have the potential to make the project fail.

In this workshop we will look at the important decisions of projects, how to identify and justify then. This is independent of any technology or approach. We will also discuss how to document those decisions, so people actually trust them to be relevant and up to date.

There will be exercises on paper to be solved in teams.

Det filosofiske grunnlaget for programmering - matematikk, filosofi og kategoriteori

Lightning talk 10 min - Suggested by John Grieg

Matematikk er helt grunnleggende for programutvikling og databasedesign. Men hva er matematikk? Vi vil ta opp dette spørsmålet i en filosofisk ramme og se at hvordan vi ser på matematikk har betydning for hva som er mulig å gjøre med datamaskiner og presentere perspektiver for hva matematikk vil være i fremtiden og hva kan bety for programutvikling. Teknologisk singularitet og bruk av kvantedatamaskiner vil kort bli presentert. Presentasjonen vil gi tilhørerne en bedre forståelse av IKT og muligens nye perspektiv på grunnleggende spørsmål i teknologi.

Take back control of your data with Event Driven Systems

Experience report 30 min - Suggested by Henrik Stene

n this talk we’ll take a deep dive into how we built a new customer database using event driven technologies. We’ll discuss the basic principles of event driven design, and show how the promise of accountability made this a perfect fit for storing customer data.

This talk will contain a lot of real life examples and we will show how we implemented an event driven system using Kotlin and Kafka. We’ll present all the different parts needed to provide a valuable and usable computer system to our customers, developers and customer service representatives.

Hvorfor roadmaps sørger for at du ikke lykkes med å skape gode produkter

Experience report 30 min - Suggested by Kristin Qvenild Nesset

Roadmap blir ofte brukt av produktledere for å planlegge og kommunisere planene du har for produktet du leder. Intensjonen er god, men roadmapet får sitt eget liv så fort det blir kommunisert til andre aktører utenfor produktteamet. Til og med personer i din egen virksomhet gir roadmapet ditt et eget liv, og plutselig er du ikke lengre herre over ditt eget produkt og strategien du hadde for å skape verdi for brukerne av produktet og virksomheten som utvikler det. Hvordan kan vi sørge for å dele planen vi har for produktet på en slik måte at vi får gode tilbakemeldinger på om prioriteringen er riktig og om vi greier å skape verdi, som gir oss tillit til å eksperimentere og lære slik at vi skaper produkter som lykkes? Kristin er en erfaren produktleder, og med sin bakgrunn fra ulike oppdrag i offentlig og privat sektor, vil hun dele sin erfaring fra bruk av roadmaps, på godt og vondt.

Keep your dependencies in check

Experience report 30 min - Suggested by Marit van Dijk

If Log4Shell, Spring4Shell, etc. have taught us anything, it’s that we need to keep our dependencies up to date. But updating our applications can take a lot of time. How do we stay on top of that, while also continuing to deliver business value?

Luckily, there are plenty of tools that can help us with this, from package managers to bots that can automatically create changes on our repositories. Let’s go over some of the different options, so we can make informed choices about what’s best for us in a particular situation.

On swapping out your database

Experience report 30 min - Suggested by Erik Assum

Ardoq has quite successfully used MongoDB as its data store since it was founded in 2013. Even so, over time it has become clear that the exact features that made MongoDB such a good fit for a small startup looking for a marked fit, are not so great for a more mature company with a growing engineering department.

Now, more than a year into the process, and seeing the finish line, we can have a look in the rear view mirror to have a look at several topics

  1. Why did we choose to do such a radical change
  2. What about our codebase made this possible
  3. How did we structure this work
  4. What where the principles we followed
  5. What would we have done differently had we known what we know today

Open Source Contributor's Workshop

Workshop 3 hours - Suggested by Thomas Qvidahl

In the spirit of the Hacktoberfest event, we gather to learn about what it takes (almost nothing!) and how to get started in contributing to open source communities! After the initial intro, every participant gets help in picking an issue (preferably some “low-hanging-fruit”) to work on, then work with their project’s community and maintainers to have their contribution accepted!

IKI: A non-coercive epistemic toolkit

Experience report 30 min - Suggested by Teodor Heggelund

Efforts at “writing things down together” commonly fail because:

  • We put things prematurely into large hierarchies that collapse
  • The inability to critique the hierarchy itself — and iterate on the hierarchy
  • The inability to have separate hierarchies
  • More abstractly — we need a fractal structure, not a hierarchical one.
  • Unclear content authority — whose content is this? Who is responsible?
  • Mixing good stuff and bad stuff makes the good stuff hard to find
  • It’s hard to find any good stuff whatsoever
  • It’s hard to find anything that’s not on the front page
  • It’s impossible to build other views than the default
  • It’s impossible to embed things that should not be built at all

Therefore,

  1. we believe value judgements are should be made in reference to a context, with a timestamp
  2. we are developers, we want text files and flexibility
  3. we are non-developers, we want nothing to do with plaintext

Therefore, we made IKI

  1. Everything is a page.
  2. Embrace chaos, let order emerge.
  3. Search and metadata over hierarchies.

IKI is an internal tool

The web solves the hard part. We made the first iteration in three days.

In this talk, we will explain:

  • Why we made IKI
  • How we made IKI
  • How IKI changed our organization.
  • Why IKI does not require or use Javascript
  • How we built a search engine in two days
  • Why we built it with Rust and PostgreSQL

IKI will be open sourced in March 2023.

Learn Svelte and SvelteKit making Snake

Workshop 3 hours - Suggested by Brede Y. S. Kristensen

Svelte is a fun frontend framework, designed for simplicity and speed. With SvelteKit, Svelte’s metaframework, it’s equally simple and fast make a backend for your app and distribute it as a serverless application to almost any cloud provider.

This workshop teaches you the basics of Svelte and SvelteKit through recreating the classic game Snake. Starting with an empty board, you will end up with a fully functioning, animated game with an online scoreboard – deployed to Vercel. The workshop is suitable for frontenders, designers who code, and anyone else with a grasp of basic HTML and Javascript. You can see the finished result at https://svelte-snake-workshop.vercel.app/

Death to Test Environments

Lightning talk 10 min - Suggested by Nikolai Norman Andersen

A validated, stable and usable environment to execute test scenarios and replicate bugs, or a wasteful effort that will never be able to replicate production data or usage patterns? Have the use of test environments gone to far, or are we just doing it wrong? Let’s have a look at some normal ways of utilizing test environments and some changes we can do to get more value out of them. Maybe we’ll decide we don’t need one at all!

Kontroll i kaoset: Hvordan GitOps skaper orden hos Den Tredje Statsmakt

Experience report 30 min - Suggested by Andreas Mosti

Hos Domstoladministrasjonen arvet vi over natta et hundretalls oppsatte tjenester på tvers av flere Kubernetes-cluster - og med det et hav av teknologiske valg som måtte avdekkes. Terskelen for deploy var høy, manuell og full av drager rundt hver stein. I tillegg skulle alle disse applikasjonene flyttes fra et gammelt cluster til et nytt, alt på en eneste dag - og helst i går. Hvordan skulle dette gå? Heldigvis er det håp i hengende snøre, og GitOps ble vår reddning. “GitOps” hører jeg flere si, “hva har Git med Ops å gjøre”? GitOps er på mange måter neste iterasjon av infrastruktur som kode - en iterasjon som passer som hånd i hanske til containerparadigmet.

I dette foredraget skal vi se hvordan vi ved hjelp av Kubernetes, GitHub Actions, Kustomize, ArgoCD og gode teknikker innen GitOps fikk kontroll i kaoset, deploy-frekvensen opp og feilraten ned. Vi tar for oss hovedprinsippene bak GitOps, ser på hvor vi tok feil valg og hvor vi tok riktige, samt forteller om veien videre for når nye cluster etterhvert skal opp.

Websockets and Service Workers - A Bad Idea for Your PWA

Experience report 30 min - Suggested by Sigmund Hansen

Dyrehelseportalen (the Animal Health Portal) is a web app and set of APIs for registering data on illnesses, medication and breeding of animals used in food production. Back in the fall of 2019, we were working on letting users use the app while they are offline, considering poor network conditions in barns. This was a requirement from one of our stakeholders.

However, the web app used WebSockets. We figured we’d be clever and use WebSockets from the service worker. It was supported, and it seemed to work well when we tested it in development. In the test environments, we started noticing some “interesting behaviour”. Although we’ve managed to make it work, the service worker has become much more complex than need be. So I want to tell you about our troubles, what not to do and what to do instead. Long story short, when it comes to service workers, KISS!

The time for Temporal in JS is upon us! Why? What? And what have we used before?

Lightning talk 10 min - Suggested by Marcin Mateusz Hanc

Temporal proposal for ECMAScript is one of the most ambitious projects to implement date and time management across programming languages. It is almost out of the “Proposal” stages and we have polyfills to play with before browsers and other engines unveil their own implementations. But what is Temporal, what is it trying to solve, and how does it feel to use it in your projects?

Slik lager du en slackbot

Lightning talk 10 min - Suggested by Marcus Haaland

Hvordan kan du gjøre livet ditt lettere? Svaret er ofte roboter. Automatisering. Jeg elsker når folk kommer med smarte løsninger på strevsomme problemer. Apropos elsker, hva er din favoritt kommunikasjonsplattform? Slack, sier du?

La oss kombinere de to, og lage en slackbot! Få et varsel om dagens vær? Win. Få et varsel om hus til salgs før andre vet om det? Win. Få et varsel om wifi-passordet når du skriver “wifi” i Slacken? Megawin.

En slackbot er noe automatikk som sender informasjon til eller fra Slack. Det er noe jeg trodde var vanskelig å lage. Men etter å ha sett slackboter dukke opp overalt rundt meg, har jeg tenkt det er mulig. Og det er det.

Det finnes mange måter å lage en slackbot på. Jeg har valgt Bolt, som virkelig forenkler hvordan du lager en slackbot. Bolt lar deg snakke med Slack. Det er et API som blir vedlikeholdt av nettopp Slack. Bolt lar deg bruke Javascript, Java eller Python. Det har en rik dokumentasjon og en enkel komme-i-gang-guide.

I denne lyn-talen vil jeg hjelpe deg å komme i gang med å lage en slackbot. Vi skal lage en slackbot med Bolt og Javascript, hvor vi utforsker noen av de mange funksjonalitetene som tilbys. Herfra er det kun kreativiteten som begrenser.

Så la oss komme i gang!

OpenAPI generator maler

Workshop 1.5 hour - Suggested by Kent Inge Fagerland Simonsen

OpenAPI generator lar deg automatisk gnerere kode for API klienter og tjenere basert på en OpenAPI spesifikasjon.Desverre er ikke disse implementasjonene alltid helt opimaliserte. I denne worksoppen wil deltakeren få erfaring med å jobbe med mustache maler for å lage mer tilpasset kode. Spesifikt vil vi redusere behovet for å bruke Reflection APIer ved objekt deserialisering ved å utnytte informasjonen som allerede finnes i OpenAPI spesifikasjonen. Eksperimenter har vist at dette kan gi en hastighetsøkning for deserialisering på rundt 3x.

Machine Learning in the Web: Intro to TensorFlow.js

Workshop 3 hours - Suggested by Patty O'Callaghan

In this workshop we will make two smart webcam applications with pre-trained Machine Learning models that runs on the browser, using the most popular ML framework for Javascript: TensorFlow.js

Four Key Metrics, Unleashed!

Experience report 30 min - Suggested by Andrew Harmel-Law

Listed on the Thoughtworks tech radar under “adopt” since 2019, the four key metrics are transforming the face of software development.

The idea behind them is really simple - optimise for lead time, deployment frequency, change failure rate, and median time to restore - but getting them up and running, and then embedding them within your team and across your organisation isn’t so simple.

Why? To begin with you’ll have to answer questions like “when does lead time start and stop?”, “which deploys do we count and which do we ignore? (Do infra builds count? What happens if you’re not in production?)”, and “what makes a change failure, and how do we tell when service is restored?” Then you have to gather all these stats automatically.

I’ve rolled out these metrics for multiple companies. I’ll share my lessons learned solving all these problems, and also tackle the far more important topic: how you can use all this data to make your teams awesome!

A Commune in the Ivory Tower: A New Approach to Architecture

Experience report 30 min - Suggested by Andrew Harmel-Law

I’m an architect, and I think a lot about architecture. Mostly I think about how irrelevant architecture is if it doesn’t get shipped to production. I worry a lot too. I worry about how to help all the teams I’m supposed to be helping, without slowing them down, getting in their way, or making their lives harder rather than easier.

Traditional (i.e. hands-off, blessed-few) approaches to architecture rarely (if ever) work. But in the world of microservices, autonomous teams, and continuous delivery, architecture is more important that ever. Is there an alternative?

This session will tell you how a different mindset and an associated set of practices (which do away with the traditional idea of “Architects” while bringing the practice of “Architecture” to the fore) can transform your practice. I’ll share my experiences of helping everyone to become an architect, without things reducing to chaos (though there might well be a healthy dose of anarchy).

Developer and architect

Experience report 30 min - Suggested by Øyvind Fanebust

Turbo Eureka

Can we turn security, regulations and compliance into a fun devops project? This talk tells the story of how Stacc, a leading software provider to the financial services sector extended devops to prepare for ISO27001 security certification.

Stacc has been around since 2016, and grown over the years through new product lines, and mergers and acquisitions. We have been early adopters of devops principles, and moved with the times when it comes to software development. Recently we made a company commitment to achieving ISO27001 security certifications.

This talk describes our journey through the process of getting an ensemble of companies, teams and tech stacks together to meet the same standard. With the help of devops, it will show how we avoided the “one-platform-to-rule-them-all”, what we learned along the way, and what we still have to solve.

An unsung hero

Lightning talk 10 min - Suggested by Anders Norås

Have you ever heard of Ted Nelson? Some might say he is a lunatic, others hail him as a great minds who invented technologies we still dream of. Sadly, most people have never heard of him.

In this lighting talk Anders introduces us to the life-work of on of the pioneers of hacker culture, and tells the story of a fascinating man who has dared to dream wilder and bigger than most of us can phantom. You’re in for a wonderful story, regardless if you think he is a genious or just a mad man.

API testing with Postman

Workshop 1.5 hour - Suggested by Sowmya Sridharamurthy

APIs are the future, no matter the technology that is going to take over in the future the driving force will be APIs. With APIs gaining an upward trend in software testing, it is important to learn the nuances of testing API. Most often I get to hear “I am not a technical person, I cannot test API”, let us break that myth through this workshop. Testing APIs can be as fun and interesting as any other testing activity. No need to be technically proficient to start with. In this workshop, I will do Hands-on exercises

  1. Analysing and evaluating APIs 2)Tips and tricks in whisking out test cases for an API
  2. Implement Automated tests using postman
  3. Chaining of APIs to achieve E2E flow
  4. Visualising APIs through “FLOW” diagram
  5. Finally Monitoring and maintaining APIs

Psychology of testing- Should I build or break?

Experience report 30 min - Suggested by sowmya sridharamurthy

“If Positive psychology teaches anything, it is that all of us are a mixture of strengths and weaknesses. No one has it all, and no one lacks it all” – Christopher Peterson

When we talk about testing a decade ago, all roads lead to a) number of bugs reported, b) number of test cases executed c) number of production bugs leaked etc There was pride taken by test engineers quoting “I break everything I touch, I am the best tester”. Then came the wave of Agile transformation, and teams adopted new ways of working. There was a need for a mindset shift, fast forward to present times we still see testers split between “I help break” v/s “I help build”. This conflicting psychology has caused more frustration in the testing community.

In this talk, I would like to address the psychology driven by the Build/Break mindset. I would like to walk through real stories (my personal experiences) that happened and the lessons learned. Let us not forget being “Perfect” is a myth, we are all humans, and empathy is of utmost importance.

LISP in the Browser

Workshop 1.5 hour - Suggested by Sigmund Hansen

Let’s build a small web app in LISP. We will configure a pure frontend ClojureScript app, fire up a REPL and get straight down to business.

We’ll be using some popular ClojureScript libraries and frameworks to get started quickly and build some components. As the app is purely client-side, this can easily be deployed to a CDN or any old web server as static files.

Using shadow-cljs to build a ClojureScript frontend, is a very easy way to get going with Clojure. Shadow-cljs will also run a REPL and serve hot-reloading code for you in development.

After attending this workshop, you will have gotten a taste of Clojure and ClojureScript, and should be ready to float deeper into the functional ether of Clojure.

Help! I am going to speak at the Booster Conference!

Experience report 30 min - Suggested by Therese Engen

I am an introvert. And I’m not particularly fond of a lot of attention. But at the same time, I know that if I am to succeed in my career and achieve my goals, I need to be more visible. And I also actually like to share my experiences and ideas. So I push myself to be more on a stage, talking to an audience. To compensate for my nervousness and lack of comfort in the spotlight, I make sure to be well prepared. I would like to share with you how I do that. In this experience report I will talk about how I

  1. get into a position where I actually get invited to a stage.
  2. starts my preparations and how I seek help (and what type of help I am looking for). 3- handle the extra stress when I’m not going to talk in my mother tongue.

I will also share some tricks I use the days, hours and minutes before walking into the spotlight, so that I increase the probability of a success.

GitHopes and Terrorforms 😱

Lightning talk 10 min - Suggested by Mike Long

Everything as code! Code all the things! Build, test, deploy, infra, sec - it’s all code. Then we have no problems? Sure! This slapstick comedy in 21 slides shows how githopes and terrorforms have taken hold of our dreams and realities.

Hands on with Kosli

Workshop 1.5 hour - Suggested by Mike Long

This 90-minute workshop will teach you how to get up-and-running with Kosli’s free tier. You will learn how to record how your devops environment changes, and connect your code and pipeline events together into a searchable database. This is a hands lab with exercises, so bring your laptop!

Dev and Ops are breaking up 💔

Experience report 30 min - Suggested by Mike Long

DevOps was supposed to break down organizational barriers, build empathy across disciplines, and lead to healthier, more productive ways of working. Fast forward a decade, and we have SRE teams, platform teams, cloud teams, dev teams - but not devops teams. How did this happen? Is it a problem? Can we work it out?

We hear a lot that developers don’t care about devops. Terraform, gitops, pipelines and security - it’s all too much, too complicated, no one has the bandwidth for all of it.

But we also hear that devs do care about ops when things go wrong. Being left in the dark is not great when the environment is broken or the service is down. All of a sudden it’s - where is my code deployed? Is it actually running? Am I the reason everything is on fire?

This talk will explore what works in real devops organizations and show how you give developers and ops the feedback and collaboration they need without overwhelming them.

Getting your automated tests in the pipeline

Lightning talk 10 min - Suggested by Hugh McCamphill

According to the DevOps Research and Assessment (DORA), high-performing organisations release multiple times per day with a lower change failure rate; test automation can be a key component in achieving these twin aims. How do we go about introducing automated tests to a CI/CD pipeline that will provide the right level of test coverage while also not impacting throughput?

Two years ago, we were already releasing multiple times per day but were missing this valuable test coverage; now we have developer-friendly test automation that supports the twin aims above. However, we can have problems when adding tests to a pipeline – including the potential for being flaky, hard to understand, slow, and untrustworthy.

Join me as I discuss the steps and approaches taken to get the tests included, anticipating problems such as these and how they were addressed so that you too can have quick, reliable test automation in your pipeline

Trying out Playwright for the first time

Experience report 30 min - Suggested by Marcin Mateusz Hanc

As Playwright seems to be a rising star of e2e testing for web I decided to spend some time to get to know it better. So I tried it out with both: officially supported languages of TypeScript and C#; as well as some unofficial libraries in other languages - just for fun. Come to see what I have learned, liked and disliked about it.

Securing (and Observing) Kubernetes clusters with Cilium and eBPF

Workshop 3 hours - Suggested by Hans Kristian Flaatten

Getting Kubernetes up and running and deploying your first application is relatively easy, managing them securely on scale however can be quite a challenge. Knowing what applications are communicating with each other and how to restrict, verify, and debug traffic policies is a real game changer for complex environments.

Cilium is an open source container network interface (CNI) for Kubernetes to secure and observe network connectivity between container workloads built on top of eBPF and is an official CNCF project. It provides transparent network encryption, multi-mesh connectivity, traffic observability, network policy management and debugging, and security forensic and auditing.

Join us for this workshop where we will get our hands dirty with setting up policies to inspect and secure the traffic to and from your Kubernetes applications.

Learn new coding skills at the coding dojo

Workshop 3 hours - Suggested by Johannes Brodwall

Whether you are a novice or an expert, learning new coding skills can make you become more productive and have more fun

A coding dojo is a guided hands on training workshop that adopts to your level. You will learn good ways to approach your unit test, skills for better pair programming and tricks in your IDE or libraries

  1. Brief demonstration of extreme programming skills
  2. Coached hands-on tutorial
  3. Retrospective

We will work through a simple but interessert problem in groups, guided by a seasoned code coach. Just bring your own brain and your own computer (optional, we’re pair programming so you can work with someone else)

The instructor is skilled in VS Code, Intellij/Webstorm/etc and Eclipse and with Java/Kotlin, C#, Typescript, Ruby, and Python. You are welcome to join if your programming environment is different, but you can expect less technical guidance. The lessons in TDD, refactoring, simple design and pair programming apply

At the coding dojo, everyone understands that we are here to have fun and learn and people come with different set of experiences. Everyone will learn and nobody will feel stupid

Forgotten programming skills - getting stuff done

Lightning talk 10 min - Suggested by Johannes Brodwall

Where did Agile begin, more than 20 years ago?

The roots of agile was the realization that we know that users matter and we know that developing working software matters. Everything else is optional

But today, most talk is about processes and tools. Teams are getting good at aligning and reflecting, but are they getting better at getting things done? Or asked a different ways: are we better at getting the sticky notes onto our board or at taking them down and getting them done?

In this talk, we will look at what is needed to be productive in software development: developing software better. We explore personal, pair and team practices to actually improve our output

Do we really know what we are building? An introduction to the Sustainability Awareness Framework

Workshop 3 hours - Suggested by André Heie Vik

As software developers, we design and build the software systems that run our world. These software systems become parts of socio-technical systems that can have many positive and negative effects on sustainability. This workshop gives you a framework to assess what those effects might be.

The Sustainability Awareness Framework (SusAF) is a research-based tool that supports stakeholders with different viewpoints to start a conversation on the possible effects of a socio-technical system on sustainability. It aims to raise awareness on the relationship between software and sustainability.

The SusAF framework is concerned with five dimensions of sustainability: social, individual, environmental, economic, and technical. Three orders of effects are considered: immediate, enabling, and structural. Thereby, it enables us to take a systemic approach to sustainability.

Participants will work in groups, using the SusAF question sheets and Sustainability Awareness Diagrams (SusAD) to discuss the effects of systems, both immediate and possible chains of effects over time. At the end of the workshop, we will share the group discussions and experiences using the framework.

SusAF background and materials (Penzenstadler et. al): https://zenodo.org/record/3676514#.Y0uwP-xBxJU

Når pluss og pluss blir minus

Lightning talk 10 min - Suggested by Brage Breivik

Systemene vi lager blir stadig mer komplekse og omfattende. Hvorfor er det slik?

Hvorfor har vi så lett for å legge til ting, og så vanskelig for å fjerne noe?

Hvilke psykologiske og organisatoriske mekanismer spiller inn, og hva kan vi gjøre for å unngå dette?

Refactorama -- refactoring under constraints

Workshop 3 hours - Suggested by Siv Midtun Hollup

Let’s refactor some code! There’s only one thing: just like real life, there are constraints. Everyone is handed the same codebase and a different set of rules. Refactor the truly horrific (if small) codebase on your own or in small teams. Towards the end we will compare your solutions and see how the code has evolved. Maybe there’s even a prize for the best solution! The focus will be on improving the code, rather than practicing specific refactoring methods. This workshop is for developers, and is suited for all experience levels. The codebase is available both in Java and C#, but you don’t have to be an expert in either of these languages to contribute. Luckily, there is complete test coverage so you can focus on refactoring and API design.

What can we do to make Open Source more sustainable?

Lightning talk 10 min - Suggested by Alexander Vassbotn Røyne-Helgesen

Open Source projects are more and more often victims of their own success. Those responsible for the packages end up spending thousands of hours a year maintaining and supporting packages that have somehow gotten into the global infrastructure we use to build our products and services.

Absolutely free, and usually only with outrage as the open source world’s salary. It is not sustainable. Not in the long run. This is a massive challenge, across both companies and national borders. We as developers are definitely in a position where we can contribute, but what is really the right way to do it? How can we ensure the Open Source culture with contributions? How can we make it sustainable? These are questions I will try to answer!

Has 20 years of experience lead to this?!

Lightning talk 10 min - Suggested by Alexander Vassbotn Røyne-Helgesen

tl;dr; A talk/rant/beer in hand talk about my experience with frontend and working with IT, from the 90s to today

For over 20 years I have played, enjoyed and gotten grey hairs doing frontend and working with IT. I share my experiences around this, all the good and bad stuff.

I promise you, the challenges never stops!

Future Interfaces - What the syfy-scene promised us, and how far are we?

Lightning talk 10 min - Suggested by Alexander Vassbotn Røyne-Helgesen

This is a small talk about how we imagined the future interface would be in fiction, visions of the future and in films about the future. What have we been promised and how far have we come?

From nothing to state of the art, how we build design systems, for all!

Experience report 30 min - Suggested by Alexander Vassbotn Røyne-Helgesen

tl; dr; A talk on how we build / built a design system, with focus on technical distribution, a11y and documentation.

This talk deals with how we build design systems at the current client, and how we got to where we are now.

We look at the needs of all types of personas / consumers of the design system and how a design system helps with development, a11y, business knowledge and content. Are you a content manager or a developer? A design system is both for you and for the end user!

Fix your god damned typography!

Lightning talk 10 min - Suggested by Alexander Vassbotn Røyne-Helgesen

This talk will demonstrate the pains a developer have with the designer when the developer implements typography design.

Ever wondered why the distance between a title and the text says 30px in the sketch, but it won’t line up with your html and css? Well, this talk will make you understand why, and how to fix this :)

Enabling developers and designers to speak the same language

Lightning talk 10 min - Suggested by Alexander Vassbotn Røyne-Helgesen

Today, more and more development is done in tight relation with designers and UX-designers, triggering the need for a design system that is tightly coupled with both design and code.

Up until recent years, the design communication has gone one way, from the designers to the developers. This talk covers the process I came up with on securing design/develop communication both ways when building a design system.

Design sketch and front-end implementation, where does it blow up?

Lightning talk 10 min - Suggested by Alexander Vassbotn Røyne-Helgesen

A lecture that deals with the common pitfalls, and how to get out of them, when communicating between developers and designers

Ensemble Exploratory Testing

Workshop 1.5 hour - Suggested by Lisi Hocke

Ever wondered how experienced testers provide feedback quickly, discover unknown unknowns, and find that issue yet again on the first touch of the application? Let’s lift the curtain together and discover the magic behind exploratory testing - as an ensemble. Whether you identify yourself as a developer, product person, tester, or anything else, whether you consider yourself a newbie or rather experienced, you are welcome to join this ensemble. Let’s practice and explore together!

Main learnings:

  • Learn the basics of the ensemble approach and practice them hands-on
  • Experience the benefits of ensemble testing
  • Practice exploratory testing hands-on together

Grow Your Technical Confidence

Workshop 1.5 hour - Suggested by Lisi Hocke

Have you ever heard yourself saying “I’m not technical”? Have you ever looked at code and felt overwhelmed right away? Have you ever shied away from using the command line and instead looked for a graphical interface? Have you wanted to change this yet found it hard to gather courage and find guidance where to start on this journey?

If that is you, there’s a way out. I’ve been there myself and learned over the years that a lot of this is based on mere perception, from the outside world and from messages we internalized ourselves. “Oh, that’s too technical for you, you won’t understand this.” - “You’re not technical, you don’t code.” The key is changing this perception, starting with ourselves by growing our confidence that we can do this indeed and then honing our skills. Every tiny step will increase our understanding and help us be better at our job - no matter the role we identify with right now.

Let’s grow our technical confidence together in this workshop. We will look at code samples to discover what we can already make sense of and enable us to ask better questions. We will go through pull requests to understand what changed and the potential impact of these changes. We will make our first steps on the command line to get familiar with a text-based interface and discover the possibilities it offers. Let’s make all of this less scary and re-discover the fun of learning!

Key learnings:

  • Understand that “technical” is a perception and it’s all about growing your own confidence
  • Get tips and tricks for reading code on a higher level
  • Learn how to examine pull requests and how you can use the information they provide
  • Discover how to navigate the command line and the freedom it can offer
  • Get inspired to grow your technical confidence step by step with joy

Team Transformation Tactics for Holistic Testing and Quality

Experience report 30 min - Suggested by Lisi Hocke

Have you ever observed quality problems with what your team is delivering? Have you ever felt your team is learning about the actual status quo late, too late to include these insights in your next steps? Have you ever wondered how to influence change when you’re “just” a specialist on the team, maybe even felt powerless?

I’ve mostly worked with people who never experienced effective collaboration across roles and specialties. How to get such a team to move toward testing throughout the delivery workflow from idea to production, on all kinds of levels, for all parts of the product, by the whole team? How to consider quality from the start and have it continuously inform our decision-making?

Over the years, I’ve built a repertoire of tactics to help teams transform toward holistic testing and quality. They range from meeting people where they are to creating guidelines, pairing and many others. It’s a toolbox of approaches to try out and find the sweet spot where people start moving toward better directions together. These tactics are fallible, not all of them work in all contexts, and yet they have helped my teams get to a better place.

Join this talk to get inspired to take things into your hands. Learn what you can try yourself in your context to help your team make the first steps on your journey towards holistic testing and quality.

Key learnings:

  • Learn how you can influence team culture, no matter your role or experience level
  • Add team transformation tactics to your toolbox of approaches to try
  • Understand the many ways we can move towards holistic testing and quality

Growing an Experiment-driven Quality Culture

Experience report 30 min - Suggested by Lisi Hocke

You know your own product team needs to improve when it comes to testing and quality, yet you are not sure how to tackle this challenge? Many teams out there feel the need to grow a quality mindset, considering this to be a major stumbling block in their environments. At my current company, tech leadership had a clear mission: improve the testing and quality culture of our product teams by leveling up knowledge, skills and practices. The problem: how to get there?

Experiments to the rescue! In a complex environment like ours, no one could tell what would work, so we had to try things out. I designed an experiment to increase transparency, raise awareness, and especially drive experimentation in individual teams to grow a quality culture. Together with a newly formed working group, I supported four pilot teams to design, run and evaluate their own measurable experiments in their own specific context. These teams tried various approaches like exploratory testing, pair and ensemble testing, or documenting architectural decisions.

In this talk I will share our lessons learned, the outcome and impact of these experiments, and what influenced the next experiments to try. Get inspired by our continuous journey towards making experiments a part of team culture across the company!

Takeaways:

  • Understand why small, frugal experiments are crucial in complex environments
  • Learn how to design your own measurable experiments, in your team or globally
  • Get tips on how to run and evaluate experiments
  • Gain insights on how to learn from experiment results and decide on next steps
  • Start a movement towards an experiment-driven quality culture

Grow Your Technical Confidence

Experience report 30 min - Suggested by Lisi Hocke

Have you ever heard yourself saying “I’m not technical”? Have you ever looked at code and felt overwhelmed right away? Have you ever shied away from using the command line and instead looked for a graphical interface? Have you wanted to change this yet found it hard to gather courage and find guidance where to start on this journey?

If that is you, there’s a way out. I’ve been there myself and learned over the years that a lot of this is based on mere perception, from the outside world and from messages we internalized ourselves. “Oh, that’s too technical for you, you won’t understand this.” - “You’re not technical, you don’t code.” The key is changing this perception, starting with ourselves by growing our confidence that we can do this indeed and then honing our skills. Every tiny step will increase our understanding and help us be better at our job - no matter the role we identify with right now.

Let’s look at how we can grow our technical confidence together. We will look at code samples to discover what we can already make sense of and enable us to ask better questions. We will go through pull requests to understand what changed and the potential impact of these changes. We will make our first steps on the command line to get familiar with a text-based interface and discover the possibilities it offers. Let’s make all of this less scary and re-discover the fun of learning!

Key learnings:

  • Understand that “technical” is a perception and it’s all about growing your own confidence
  • Get tips and tricks for reading code on a higher level
  • Learn how to examine pull requests and how you can use the information they provide
  • Discover how to navigate the command line and the freedom it can offer
  • Get inspired to grow your technical confidence step by step with joy

Hvorfor ville jeg ikke valgt GraphQL som API igjen

Experience report 30 min - Suggested by Pål Thomassen

Vurderer du å ta i bruk GraphQL? Stikk innom å bli motbevist!

Jeg starter showet med en forklaring hva GraphQL er og hvordan det virker. Midtdelen av showet vil vise vårt offentlige API for trafikkdata hos Statens vegvesen som har vært i produksjon i over 4 år. Klimakset mot slutten forteller om erfaringene vi har gjort oss, og hvorfor jeg ikke ville valgt GraphQL på nytt som offentlig API for Trafikkdata!

Universally accessible CAPTCHA - Is it possible?

Experience report 30 min - Suggested by Levi Sørum

A while ago I was asked by a blind friend and inclusivity activist whether I could help them find a CAPTCHA scheme that is accessible for people with disabilities. In my naive and unexperienced mind I thought the answer would be easily obtained through a few simple search-engine queries, but instead I was sent down a rabbit hole of information. And as it turns out, CAPTCHA accessibility is indeed quite a difficult problem that, unfortunately, often stop people with disabilities from using services on the web.

In this experience report I present my findings and discuss whether CAPTCHA can be universally accessible, or if instead we should strive for other alternatives.

This talk is beginner friendly and requires no prerequisite knowledge.

Soft skills og tilbakemeldinger

Lightning talk 10 min - Suggested by Anders Hefre

I IT-bransjen er man veldig gode på fag og hard skills, men det er også viktig med fokus på soft skills. I en hverdag hvor færre sitter på kontoret, blir det lengre mellom hver gang man ser hverandre, og det blir vanskelig å be om og gi gode tilbakemeldinger både fra ledelse og kollegaer. Derfor er det viktig å skape en tilbakemeldingskultur og lære noen enkle metoder for å gi tilbakemeldinger.

Språk, Languages, و زبان

Experience report 30 min - Suggested by Mahasty Assi

A personal investigation and exploration of natural and programmatic languages, and how the languages one knows may have an influence on one’s perspective and methods of problem solving. Some parallels between natural and programmatic languages will be addressed, peppered with a basic look at sentence structures across languages such as Norwegian, English, French, Hindi and Farsi/Dari.

Any kid can do this, but what about your fancy machine learning?

Lightning talk 10 min - Suggested by Oliver Zeigermann

You know, every kid can do that. You show them a few pictures of cartoon animals and they will recognize them at the zoo as well.

At Booster Conference 2022 this question came up: can this also be done with machine learning? At Scipy 2022 the reverse experiment was conducted. It was indeed successful, however with a few tricks.

But will we also be able to solve the original challenge and go from cartoon to real animal, with a few examples only? If such a few shot learning is possible and what is the proper machine learning approach is the topic of this talk. All explanations will be at the level any developer can understand.

Technical debt - also for non-programmers

Lightning talk 10 min - Suggested by Dalibor Jovic

Hvordan kan en knapp ødelege hele systemet? Kan du lage teknisk gjeld ved en uhell? Hva mener utviklere egentlig med teknisk gjeld? Er det farlig, og hva er konsekvenser ved å ha den? Hvor mye teknisk gjeld skal man ha, og hva er rente?

Fantastical teams and where to find them…

Lightning talk 10 min - Suggested by Fredrik Valde Anthonisen

Personer som jobber sammen, jobber ikke nødvendigvis sammen - men hver for seg. Et godt team leverer mer enn summen av enkeltindividene, og skaper et arbeidsmiljø med høy trivselsfaktor. Dessverre ender mange opp i dysfunksjonelle team som ikke lever opp til sitt potensiale. Er det mulig for disse teamene å endre på dynamikken og bli et fantastisk team?

Kort forklart finnes det ikke en “algoritme” for dette, men det som finnes er et sett med prinsipper som kan tilrettelegge for utviklingen av gode team. Disse omhandler:

  • Psykologisk trygghet - Føler du at du kan uttrykke deg fritt?
  • Yrkesstolthet - Føler du at du har faglig integritet?
  • Eierskap - Bryr du deg om sluttresultatet? / Føler du at du har påvirkningskraft?
  • Selvorganiserende & autonom - Føler du at teamet har nok spillerom?

Forankring i disse prinsippene gir deg de beste forutsetningene for at teamet ditt kan blomstre, og skape et miljø der sammensetningen gir mer enn enkeltindividene.

Gjennom dette foredraget gir vi deg en dypere forståelse for bakgrunnen til prinsippene, og hvordan de kan brukes. Vårt mål er at alle skal kunne bygge team med høy trivselsfaktor, samtidig som kvaliteten i arbeidet øker.

Git Commitiquette - writing sophisticated commit messages

Lightning talk 10 min - Suggested by Mikail Andreassen

Writing commit messages is something we developers often see as a chore, but commit history is more important than you think. In this talk, we will go over the many benefits of keeping your commits clean and standardized, so you can save time on writing all that boring documentation!

Designing the Ultimate Programming Language

Workshop 3 hours - Suggested by Filip Van Laenen

Let’s face it: no programming language is perfect. Like with everything else in life, if you want something to be done properly, you have to do it yourself. So let’s design our own programming language, which will be the best the world has ever seen!

Or will it?

Let’s have a talk about what we would like to see improved in programming languages, and explore a bit how they could be improved, and whether it’s really worth the while. Maths, for example: wouldn’t it be great if we could just write √2 instead of something like Math.sqrt(2)? Collections seem to be an incomprehensible mess in every programming language. Could we have better support for physical quantities, regular expressions and built-in unit testing?

Hvorfor "feiler" IT-prosjekt fremdeles?

Experience report 30 min - Suggested by Truls Berntsen

Med all den kunnskapen vi har i dag om hvordan gjennomføre gode IT-prosjekter, så er det fremdeles altfor mange som ikke oppnår målene sine. Det er mange årsaker til dette og spesialt noen som går igjen, som kan unngås. La oss prate om hvordan!

Structured Thoughts

Lightning talk 10 min - Suggested by Markus Pedersen

Do you find it difficult to keep track of your own day and thoughts?

This talk aims to take you through some simple note-taking techniques and useful applications to help structure your own thoughts.

We’ll touch on how to take personal notes contra taking work related notes; how you should think about files and folders; and how visualisations can help you connect thoughts you didn’t know where related.

There are many different pieces of software that deal with note taking well. For this talk we’ll focus on an application called Obsidian.

Fire år i mobb

Experience report 30 min - Suggested by Lars Jørgen Tvedt

Våren 2018 fekk teamet vårt i NRK eit vanskeleg oppdrag. Så vanskeleg at kvar medlem av vårt lille team på tre, ikkje kom nokon veg. Heidi hadde sett eit par twitter-meldingar om ein ny måte å organisere arbeidet på. Kanskje mobb-programmering kunne hjelpe oss?

Vi sette oss saman, ein PC, ein storskjerm, eit tastatur. To år seinare, stadig side om side, leverte vi det endelege resultatet. Team-medlemmar kom og gjekk, det same har ein viss pandemi, men vi programmerar stadig i mobb, men no på nye prosjekt.

Dette er vår historie om korleis bruke mobb-programmering på fulltid. Oppturar og nedturar, i små kontor og i ope landskap, på heimekontor med 7,5 timar på Teams kvar dag, i motgang og medgang, og kanskje om at mobb som metodikk ikkje overlever i teamet.

Uansett kva framtida blir, har mobb-programmering endra måten vi tenker om utviklingsprosessen. Korleis idear veks fram, kor viktig eller uviktig detaljar kan vere, kor godt det er å vite at andre kan det same som deg sjølv (og du kan dra på ferie og vite at andre passer jobben), og gleda av å sleppe endelause code-reviews i Github.

Kom og la oss overbevise deg om at mobb-programmering også er for deg!

Karbonavtrykk - din vei til et bærekraftig nettsted

Lightning talk 10 min - Suggested by Emilie Røsnæs

Lyntalen omhandler karbonavtrykk i IT, og belyser i all hovedsak nettsteder og deres ressursbruk. Eksisterende nettsteder blir satt i perspektiv opp mot karbonavtrykk fra andre områder vi har et sterkere forhold til, samt hvilke metoder som kan benyttes for å minske karbonavtrykket til ditt nettsted eller løsning.

Event Sourcing with EventstoreDB

Workshop 1.5 hour - Suggested by Magnus Vodrup, Audun Meltzer

How you got there is just as important as the final state.

Event Sourcing is a pattern where you store the entire chain of data transformations, and not just the final state as you would in a traditional state-oriented persistence model. Each event is immutable, and describes a transformation between two states. By storing all of these events in an append-only log, we keep the context of all the events - we know that something occured and why it occured from the same piece of information. We can also rebuild the state of our system by replaying the event log.

This workshop will use EventstoreDB as the event database. Going through a sequence of tasks, we will try writing and reading events, and play with projections.

Meet your own biases

Workshop 3 hours - Suggested by Joao Proenca

Have you heard the word “bias” before? Today, a lot of controversial topics surround that word and for a good reason. After all, bias is at the core of a lot of discrimination and prejudice issues in our world.

However, there are many different types of biases that influence our judgement every day and are not related with discrimination. For instance, have you heard of Loss Aversion? It states that humans experience losing something much more intensely than they do when acquiring it. It really affects our judgement, for instance, when you are contemplating on the idea of deleting an automated test! Maybe the Gambler’s fallacy influences the way you handle flaky tests? Or maybe the Spotlight Effect blocks you from driving changes in your organization?

In this workshop, we want you to experience some of these cognitive biases first-hand! After all, acknowledging that our behavior, as human beings, is impacted by these factors is the first step in learning how to improve our rational judgement. We’re also going to try to relate these behaviors with our professional lives. Maybe you can even come up with your own ideas on how cognitive biases hinder our abilities as testers and engineers.

Let’s learn together! So join us and, please, bring your cognitive biases with you!

Low code with Microsoft Power Platform

Lightning talk 10 min - Suggested by Ulrikke Akerbæk

Let me introduce you to the products in Microsoft Power Platform in 10 minutes. We will look at use cases for each so that you will learn what to use when. Microsoft Power Platform bring low code power to all levels of developers and aim to “Empower every developer to do more” - with less.

Biohacking VS. Burnout

Experience report 30 min - Suggested by Dmitrijs Lebedevs

Not a secret that software development industry is a stress-driven one. Impossible deadlines, outdated technologies, toxic colleagues and micromanaging bosses - each factor alone can induce a tons of stress, but when few of them combined may lead to burnout with very high probability. How to avoid the burnout? How to recover after it? Western civilization got an ultimate answer - prescribed pills! My experience says it’s not the only way and, most probably, it’s not the best way to fight the burnout. I want to share my story of fighting the burnout and getting back into a productive mode with simple yet powerful practices backed by science, which anyone may adopt to make their lives less stressful and more healthy. Let’s together explore how our body chemistry works under pressure and how to repair it.

10 biases and laws of software development, understanding which you won't ruin your next project

Workshop 3 hours - Suggested by Dmitrijs Lebedevs

While working in software development industry for more than 25 years, I can’t help but notice that the same mistakes are done over and over again (even by myself) and following some Agile principles doesn’t prevent us from stepping into the same puddle again. Perhaps it is not because Agile is wrong, but because the way we think about work and software development in particular is clouded with something, which might seem logical to us but in reality it clouds our ability to make right decisions. Let’s explore these biases together and let’s find out how to minimize their impact on our software development practices. The talk explores how common biases known for decades keep affecting our ability to deliver projects on time and within budget. It looks into technological aspects of development as well as into our cognitive abilities to predict the future and prepare for troubles. The talk is based on my own experience, on works of Tom Gilb, Fred Brooks and others, who have impacted our industry in times before we were born.

Visualizing data using sound - making big data accessible

Experience report 30 min - Suggested by Øystein Moseng

At Highcharts we serve programmers worldwide with tools for making interactive charts and diagrams. This talk is about our journey in making large datasets more accessible to blind users. How do you visualize a chart for someone who can’t see? Can we give our users an equivalent experience of the data by using a combination of sounds and text descriptions? Can the text descriptions be automated, and if so - will users trust the descriptions?

When it comes to making interactive graphics accessible there are options available with modern web technology that were unthinkable in the past. We will delve into some of the possibilities that front-end developers everywhere should be aware of when it comes to making interactive content usable for everyone - and why you should care.

10.000 IoT-sensors and me in Azure

Experience report 30 min - Suggested by Frode Clausen

IoT, sensors and data are becoming increasingly important in the modern world today. Some people claim data and proper usage of data is the new oil.

But first we need to collect the data.

Have you ever wondered how to create a simple backend solution in Microsoft Azure to handle incoming data from thousands of sensors?

This session will demonstrate how to do a basic configuration of Azure IoT hub, routing to different Azure event hubs and consuming sensor-events using serverless Azure Functions.

You will see examples of both high and low pressure events and which impact this may have on the configuration. Also a demonstration of landing data in Azure SQL database and Microsofts realtime service Azure SignalR will be shown.

Learn about some pitfalls, cold/warm-start and things to consider while configuring the serverless services.

Kotlin scope functions - what they are and how to use them

Lightning talk 10 min - Suggested by Jarle Hansen

The Kotlin standard library contains 5 scope functions: let, run, with, apply, and also. It can be difficult to remember the differences between them and how to use them. In this presentation we will look at the how they work and a few examples of how they can improve your code.

Likestilling og mangfold i IT-bransjen

Workshop 1.5 hour - Suggested by Ina Bjørnestad

For å lage gode digitale produkter som passer til alle i befolkningen, er det en forutsening at produktene ikke lages av heterogene team. I denne workshoppen er hensikten å lære hvordan vi kan kan bli enda bedre i vårt arbeid med likestilling og mangfold i teknologibransjen. Dette er noe vi snakker mye om, men ikke nødvendigvis gjenspeiles i praksis. Hvilke tiltak er det egentlig som fungerer for å bli mer likestilt, og oppnå mer mangfoldighet?

Jeg kommer til å holde en kort intro til inspirasjon, og deretter deler vi i grupper og diskuterer oss gjennom ulike problemstillinger. Vi prøver å fokusere på konkrete tiltak slik at vi kan få noe ut av workshoppen. Avslutningsvis oppsummerer vi i plenum.

Hvordan løfte en mellomstor, teknisk elefant

Experience report 30 min - Suggested by Siv Midtun Hollup

Noen tekniske løft er enklere å få inn enn andre. De små løftene er en naturlig del av oppgaven du holder på med, mens riktig store løft blir til egne prosjekter. Men mellom disse ytterpunktene ligger det mange halvstore oppgaver som gjerne skulle vært gjort, hva gjør man med dem? Dette er en historie om hvordan vi jobbet med et mellomstort, teknisk løft på tvers av team for å gjøre hverdagen bedre både for teamene og kunden.

Hvordan løfte en mellomstor, teknisk elefant

Lightning talk 10 min - Suggested by Siv Midtun Hollup

Noen tekniske løft er enklere å få inn enn andre. De små løftene er en naturlig del av oppgaven du holder på med, mens riktig store løft blir til egne prosjekter. Men mellom disse ytterpunktene ligger det mange halvstore oppgaver som gjerne skulle vært gjort, hva gjør man med dem? Dette er en historie om hvordan vi jobbet med et mellomstort, teknisk løft på tvers av team for å gjøre hverdagen bedre både for teamene og kunden.

Innsiktsfulle og elendige endringsagenter

Lightning talk 10 min - Suggested by Torstein Skarra

Endring i organisasjoner, som for eksempel digitaliseringsreiser, eller andre teknologireiser vi legger ut på, krever at folk endrer mening. Og det krever ofte god hjelp fra ulike endringsagenter. Men, hvordan får du folk til å skifte mening, og hvorfor er det så vanskelig? I denne lyntalen skal jeg gå gjennom et par enkle evolusjonære trekk ved vår hjerne som gir oss en pekepinn på hva som fungerer og hva som ikke fungerer, for å få folk til å skifte mening. Se opptak av en first take på foredraget her: https://vimeo.com/766663664 Jeg kommer til å jobbe videre rundt disse poengene og konklusjonnene fremover, men da har dere en outline på hva lyntalen vil handle om.

Recruit your best friend in 7 simple steps

Lightning talk 10 min - Suggested by Christian Arnesen Grimsgaard

You love your workplace, but how could it be even better? If your best friend worked there, of course! Let’s talk about 7 strategies to influence someone’s decision, from customers to friends; a superpower to wield cautiously.

Walk and talk up mount Fløyen

Workshop 3 hours - Suggested by Andreas Olsen Gulla

Fløyen is one of the seven mountains surrounding the city of Bergen. Mount Fløyen is great for hiking and of course a perfect spot for a tech talk. Together we will go up Tippetue, enjoy a hot chocolate on the top of Fløyen and take the Fløibanen funicular back down to the city.
The hike itself will be approx one hour and should be suitable for most techies.

Fra dårlig kommunikasjon til tillit og skaperglede

Workshop 3 hours - Suggested by Anita Jenbergsen

Vi drømmer alle om det gode teamsamarbeidet hvor vi snakker det samme språket, spiller hverandre gode og vi har en god flyt. Kanskje (eller kanskje ikke?) har vi et felles mål vi skal jobbe mot. Men altfor ofte ender vi opp som politikere som krangler om hvilken vei vi skal gå for nå målet.

Hvorfor er det så vanskelig? Må det være det?

Hvilke egenskaper har et godt team, og hvordan kan vi skape det i teamet vårt? Like barn leker ofte best, men betyr det at de leverer like bra som tverrfaglige team? Og løser de utfordringer bedre enn andre?

Workshopen vil dra inn erfaringer fra prosjekter vi har jobbet i, med skrekkeksempler fra team som har brutt sammen og hvordan man kan komme seg ut av det.

Vi vil øve på teknikker og verktøy som du kan ta med tilbake i arbeidshverdagen. Vi håper det kan være med å gjøre teamet ditt litt bedre.

6 Wrecked Approaches to Automated Integration Testing

Experience report 30 min - Suggested by Rudi Brunner

Here I stand. Always preaching to not only automate unit tests but also high-level tests. But after a year of trying I ended up with 20 automated test cases which would take 5 minutes to test manually. And every 2nd night they make the build red. The other team mates rolling their eyes. Yet another sporadic test setup failure.

Have you been there? I might have some tips for you :)

A cultural history of Winamp ⚡️

Lightning talk 10 min - Suggested by Anders Norås

In this lightning talk Anders Norås takes you on a trip into the world of one of the most influential software products ever. You’ll discover the endless creativity of the user interface as an artistic expression, the Easter eggs and myths of the Winamp lore and how Winamp’s influence has reached way beyond the little box on your screen.

Why do talented people create bad software? - The big rewrite and other lies we tell ourselves

Lightning talk 10 min - Suggested by Ken-Thomas Nilsen

Most developers have been stuck in the pit of despair with code that is impossible to change. Even a small subpart of the system has turned into a big timesink, and there is no solution in sight.

Why do so many organizations end up in this kind of a situation, when we use a lot of money trying not to?

There is no easy solutions for how to fix this when the shit is thoroughly interred in the fan, but if you see a problem looming in the future, we should pump the break, not accelerate towards certain doom. There are things we tell ourselves that almost certainly will lead us into problems.

This is an opinionated talk/rant about things we do and say that garantees a bad outcome.

Hot loaf of bread with machine learning

Experience report 30 min - Suggested by Marius Aleksander Olavsrud

In Norway alone, we throw away more than 105 million loaves of bread every year. According to Matsjokket, a documentary about food waste in Norway, presented by NRK, this is about ¼ of all food waste. About 40 million of these loaves are not even touched by a household, they are baked, transported to a store, to be thrown directly.

In this session we will demonstrate how we have helped Bunnpris, a Norwegian grocery chain, in taking responsibility and action towards a more sustainable and data driven society. You will learn more about how we have produced and implemented a machine learning model to reduce food waste. We will present our work methodology and what have been important in the machine learning journey and succession factors in the production phase.

Architecture Archaeology: what 14 years of Twitter data can tell us

Lightning talk 10 min - Suggested by Markus Tacker (he/him)

In this talk we are going to have a look at the data export Twitter offers to its users (from my accounts with 50,000+ tweets dating back to 2008). The way the data is structured in the archive will tell us an interesting story about how an simple API (a text message) needs to be kept working over decades, while at the same time more and more features are added and how that is visible in the export. This will also give attendees a lot to think about for their own project and how they deal with feature creep, API design, and backwards compatibility.

Hvordan bli en bærekraftig konferansedeltaker på 1-2-3-4-5

Lightning talk 10 min - Suggested by Benedicte Selmer

Det finnes en jungel av motstridende klimaråd der ute, og når jungelen blir for tett og uoversiktlig er det lett å bli overveldet og motløs. Men med litt enkel matematikk er det mulig å finne seg en overkommelig vei gjennom denne jungelen.

Her får du 5 enkle grep hver og en av oss kan ta for å bidra i bærekraftig retning når vi er på konferanse eller kurs, basert på hvor skoen trykker mest med hensyn på ditt personlige klimaavtrykk og hva forskningen sier om hvilke tiltak som faktisk fungerer.

Don’t Mock Random: Refactor It Out

Workshop 1.5 hour - Suggested by Filip Van Laenen

Random is a rather seldom guest in our software, but when it appears, we’re in trouble, because random and TDD don’t mix well together. Flipping a coin one hundred times gives you on average fifty times head and fifty times tail, but that isn’t something your unit tests can’t rely on. Even if your unit test allows a 60/40 distribution, it will occasionally fail.

Mocking out random so that the unit test can pass is the easy solution. But did you really need random? Maybe something that is predictable but distributed evenly is good enough? And if you really need a random, then maybe only in production, as a special case there, and not the other way around?

This workshop will start with a short reflection on why we sometimes use random in our software, and how it sometimes can be replaced with something else. We’ll also discuss some of the problems with standard implementations of random number generators. Next, we’ll discuss some of the issues with the technique of mocking, and look at an alternative pattern to handle external dependencies in unit tests. But the main goal of the workshop is to train on how to bring this technique in practice using two simple examples. Be sure to bring your laptop with your favorite IDE ready to do some coding!

Build a compiler targeting WebAssembly

Workshop 3 hours - Suggested by Julian Philipp Merlin Ertel

WebAssembly is the up-and-coming star in the world of portable executables. Though designed mostly to power computation-heavy web applications, it is also gaining tracktion outside of the browser due to its portability and sandboxed execution.

As the name suggests it is situated at a level similar to assembly languages, facilitating low level operations and manual memory management.

In this workshop we will have a look at the basic operations and datatypes in web assembly and how to interact with it from javascript within the browser.

WebAssembly is meant to be machine-generated, rather than written by hand and many compilers support it as an output already. To make things more fun we will write our own compiler for a small programming language targeting Web Assembly.

Teknologisk reise på «speed»

Experience report 30 min - Suggested by Karina Øverland Haugen

Det nærmer seg nå 3 år siden jeg begynte i TV 2 som utvikler. I løpet av disse årene har jeg vært med på et ganske stort teknlogisk sprang i TV 2 sin integrasjonsplattform. 
Dette foregikk samtidig som det også var andre ikke-teknologiske endringer i avdelingen. Jeg synes i ettertid at vi kan kalle dette en liten teknologisk reise på speed. 
Noen ganger er det utrolig hva vi utviklere har av mental kapasitet i forhold til å henge med i alt som foregår! 


Her er noen av endringene vi har jobbet med;

  • On-prem til skyen
  • Kotlin&Spring til Kotlin&Ktor
  • Avhengighet til et stort egetkomponert rammeverk til mindre bibliotek ved behov
  • Store felles releaser hver 2-4 uke, til jevnlige releaser ved behov per applikasjon
  • Team-endringer
  • Docker-compose til Kubernetes
  • Ansible til Terraform
  • Store digitale satsinger
  • Større sikkerhetsfokus

Har du lyst å høre hvordan denne reisen har vært for oss, og hvordan vi fremdeles har helsen i behold? 
Kanskje lære noen gode «do’s and don’ts» til dere skal gjennom en lignende transformasjon, eller kanskje du vil kjenne på litt medfølelse fordi nettopp ditt team har gått gjennom noe tilsvarende?
 Uansett, bli med på en hektisk, men spennende teknologisk reise med meg!

Set Up A Tor Bridge Relay To Help Censored Internet Users

Workshop 3 hours - Suggested by Leonard Sheng Sheng Lee

Would you like to help censored users connect to the Tor network? In this workshop, we will set up an obfs4 bridge service that connects to the Tor network on Oracle Cloud Free Tier. Tor network helps us to defend against tracking, surveillance and circumvent Internet censorship.

Participants must be comfortable with using *nix command line interface or *nix terminal interface on their preferred operating system. This workshop relies heavily on *nix command line interface or *nix terminal interface. Also, knowledge on SSH would be very helpful, so it is preferred that participants know how SSH works before joining this workshop.

In this workshop, you will learn how to set up set up a non-exit obfs4 bridge relay service connected to Tor network using Oracle Cloud. We will use Firefox Relay email aliases protect your real email address from public view while configuring your bridge relay service, automatically forwarding emails to your real inbox. Thereafter, we will verify our Tor bridge relay is available the Tor network.

Note that Oracle Cloud has an outbound data traffic limitation under its Free Tier plan. Thus, we will configure our non-exit obfs4 bridge relay service connected to Tor network with bandwidth restrictions, to prevent us from hitting the limits of Oracle Cloud Free Tier plan while providing necessary uptime for our bridge relay service to the users of Tor network.

Anyone interested to help censored users connect to the Tor network. Anyone who believes that everyone should be able to explore Internet with privacy. Anyone who wants to advance human rights and defend privacy online through free software and open networks.

By the end of the workshop, participants will have their own non-exit obfs4 bridge relay service connected to Tor network using Oracle Cloud with Tor bandwidth restrictions configured, to ensure that we do not hit the outbound data limits of Oracle Cloud Free Tier plan.

Set Up Your Own Backup VPN Using Tailscale

Workshop 1.5 hour - Suggested by Leonard Sheng Sheng Lee

Would you like to have your own VPN service that can be used in an emergency in order to establish secure network while using unsecured public network infrastructure? We will set up our own VPN service using Tailscale Free Plan and Oracle Cloud Free Tier.

Participants must be comfortable with using *nix command line interface or *nix terminal interface on their preferred operating system, on both mobile devices and laptops. This workshop relies heavily on *nix command line interface or *nix terminal interface. Also, knowledge on SSH would be very helpful, so it is preferred that participants understand how SSH works before joining this workshop.

In this workshop, you will learn how to set up a Tailscale exit node using Oracle Cloud. Thereafter, you will be be able to connect to your own Tailscale VPN service from your mobile device or laptops and verify that it works. By the end of the workshop, participants will have their own backup VPN service that run on Oracle Cloud and can be used on ad-hoc basis or emergency situations.

Note that Oracle Cloud has an outbound data traffic limitation under its Free Tier plan. Participants should not use this backup VPN service as their primary VPN due limitations under Oracle Cloud Free Tier plan.

Anyone interested to have their own backup VPN service should attend this session.

By the end of the workshop, participants will have their own backup Tailscale Free Plan VPN service that run on Oracle Cloud Free Tier and can be used on ad-hoc basis or in emergency situations to secure their network in public places.

Neural Networks; the play

Workshop 3 hours - Suggested by Rico Huijbers-Hermans

Neural networks are staple of modern Artificial Intelligence (AI), collecting successes such as the victory of AlphaGo over Lee Sedol in the game of Go, reliable image recognition and recently production of works of “art”.

But how do neural networks work?

In this highly interactive workshop we will ask you to play the part of a neuron in a play that will teach you the finer details of neural networks. Over various acts we up the ante and dive deep into the inner workings, culminating in satisfying albeit humble recognition of simple patterns.

You will gain a tactile experience of what a neural network is, how the constituent neurons cooperate to achieve mind boggling feats and will enjoy the chaotic energy during the workshop.

Kolmogorov Complexity

Workshop 3 hours - Suggested by Daan van Berkel

The gamblers fallacy is the misconception that when in a series of coin-tosses of a fair coin a run of heads turns up it will heads will become more likely. Although the run head, head, head, head, head, head, head, head, head, head is as likely as the run head, head, tail, head, tail, head, head, head, head, tail to occur as a sequence of fair coin tosses, the former does feel suspicious.

Kolmogorov complexity is a theory that quantifies that suspicion. It allows one to express a concrete difference between the above mentioned sequences and others. In this workshop we will explore Kolmogorov complexity, it’s implications and challenges in a playful and familiar setting; a programming contest.

We challenge you to describe given sequences with a program. The goal is to create a program that is as short as possible. This simple notion lies at the heart of Kolmogorov complexity but has far reaching consequences. You will walk away from this workshop with a solid understanding of Kolmogorov complexity, some of it’s consequences and a new way of looking at the gamblers fallacy and other paradoxes.

Exploring better ways to write tests

Experience report 30 min - Suggested by Markus Tacker

Very often we focus on improving the way we write tests within our test frameworks. I on the other hand invest time into building new test frameworks. Over the last years I have worked on end-to-end testing cloud native applications (https://coderbyheart.com/talks#it-does-not-run-on-my-machine-integration-testing-a-cloud-native-application), which lead to the development of a BDD feature runner. This year I took the idea even further with a focus on coming closer to the goal of living documentation: the test files are now written in Markdown. In addition I started to work on fixing another big issue that we encounter often: our inability to provide good architecture documentation (https://twitter.com/coderbyheart/status/1381512195612246018) … what we need is not big, huge architecture diagrams for entire systems (like we get when we use C4, Arc42), but diagrams that are context-sensitive. BDD is actually a great source for these kinds of diagrams and this is what I want to share in this talk.

Key takeaways

  • that testing, developing and documentation go hand in hand

  • that we as people working on these system need to look at our tools and find ways to improve them - ideas on how to build living, understandable, up-date architecture diagrams

  • new ideas about the features of GitHub Actions, traceability and automated diagram generation

Ta kotlin til nye høyder

Workshop 3 hours - Suggested by Bjørn Hamre

I løpet av denne workshopen er vi innom extensions som er hvordan man kan “legge til” nye metoder i klasser hvor man ikke har tilgang til kildekoden - slik som Kotlin gjør med de eksisterende Java-klassene og bibliotekene. Vi snakker om custom domain types (implementert som value class) som er en viktig detalj både i DDD og generell kode for å samle logikk på riktig sted, unngå objekter med ugyldige verdier og signaturer hvor alle parametrene er String (stringly typed languages). Videre ser vi på hvordan vi kan håndtere unntak på andre måter enn null og exceptions med Either og avslutter med å se på Arrow-biblioteket og hvordan det tilbyr “funksjonell” måte å håndtere valideringsfeil i input (Validated) på. Data classes i Kotlin er populære og har en praktisk copy-metode, men når objektgrafen som skal kopieres blir dyp blir koden fort upraktisk og vanskelig å lese. Optics i Arrow er en mulighet til å komme rundt dette problemet på.

Alt i alt er dette en workshop hvor deltakerne kan ta hjem masse nye, nyttige teknikker og kunnskap - særlig fordi det er satt av rikelig med tid til praktiske hands-on oppgaver også..

Kotlin Korutiner

Workshop 3 hours - Suggested by Morten Nygaard Åsnes

Kotlin er blitt et populært alternativ til Java, både på backend, og for mobilapplikasjoner. Et av salgsargumentene til Kotlin er at sammenlignet med direkte trådhåndtering, blir det enklere og sikrere å skrive asynkron kode med korutiner. Og i forhold til andre alternativ med callbacks eller reactive streams, blir det med korutiner mindre nødvendig å strukturere koden på en annen måte enn man ville gjort med sekvensiell kode. Like fullt kan det være vanskelig å sette seg inn i hvordan korutiner fungerer og få oversikt over hvordan man best kan ta de i bruk. Her vil vi gi en praktisk hands-on workshop hvor vi får prøve oss på bruke korutiner i praktiske kodeoppgaver.

Learning Clojure at a glacial pace

Lightning talk 10 min - Suggested by Joep Schuurkes

In April of 2020 I started learning Clojure from the book “Clojure for the Brave and True”. As I write this in November 2022, I’m close to finishing chapter 4 of the 13 chapters. That is not a very impressive pace, but I still consider it a success. It’s the right pace for me at this time to learn Clojure.

In my talk, I’ll share my approach to learning something slowly. (Writing 11 blog posts is an important part of it.) And I’ll explain why I believe I am successfully learning. Hopefully this inspires you to start learning something you’ve always wanted to, but have had trouble finding the time for.

Sharing a weekly blog post with my colleagues

Lightning talk 10 min - Suggested by Joep Schuurkes

At the end of August 2022 I started a new job as a Quality Engineer, supporting two teams. Inspired by “The agile comms handbook” I decided to try something new: write a blog post at the end of every week and share it with my colleagues. Nothing too big: three paragraphs with some thoughts on three things that happened that week.

So far the results of this experiment have been positive. People have been reading it. Some leave comments. And after writing the first 6 blog posts, I’ve decided to keep doing it. What happens in the upcoming months is hard to predict, but I look forward to telling you if my internal blog is still a thing in March 2023, or not… And what I learned from the experience.

Self-service data platform

Workshop 3 hours - Suggested by Eirik Bell

Build your own self-service data platform to implement data products in a data mesh.

The new buzzword for analytical data is Data Mesh. Data Mesh is not a technical tool but rather a sociotechnical concept. While the human part is promoted in many talks and extensively covered in blog posts, there is very few examples in the wild on actual implementations of the self-service data platform. In this workshop we will focus on how one can use the strengths of an existing operational data architecture to implement data products for the data mesh. With hands on exercises we will build data products using TV 2 as an example.

The concepts and architecture will be introduced in a 30 minute talk before we install the system on our own machines. Using some existing datasets we will utilize Kubernetes by deploying community operators, your very own data mesh operator and start building data products.

Key takeaways:

  • Why should you care about Data Mesh
  • The thought process behind a goal architecture for the self-service dataplatform
  • Get familiarized with Kubernetes operators, Kafka and Protobuf
  • Automate output schemas
  • Go from one to many outputs in no time
  • Understand how to reduce the cognitive burden from your consumers

Preparation (tools required):

  • Git
  • Make
  • Docker
  • Local Kubernetes (ex: Docker Desktop/Kind) v1.24
  • Kubectl v1.24
  • Optional: Go 1.19, Preferred IDE, Protoc, Buf

Den mangfoldige mobben

Workshop 3 hours - Suggested by Heidi Mork

Mobb-programmering kan være så mangt, og i denne workshopen vil vi prøve å utforske mangfold og utfordringer.

Vi vil først gi en introduksjon til mobb-programmering, og vi definerer noen enkle regler for mobben. Deretter deler vi oss i flere mobber og løser en morsom programmeringsutfordring, samtidig som vi øver på å arbeide etter mobb-reglene. Det finnes ulike strategier og mønstre for samarbeid i mobb. I siste del av workshopen vil vi prøve å identifisere hvilke mønstre vi erfarte i mobben, og diskutere hvilke mønstre som kunne ha løst eventuelle utfordringer.

Enten mobb-programmering er helt nytt for deg, eller du har prøvd det før og har mye å diskutere, vil du både kunne bidra og lære av denne workshopen!

WebAssembly on the server - the future of cloud computing?

Lightning talk 10 min - Suggested by Erlend Røsjø

WebAssembly on the server - the future of cloud computing? WebAssembly (WASM) is a binary instruction format designed to run in the browser, bringing near-native performance to the web. As a compilation target for over 30 languages, including Rust, Swift, Python and C# / .NET, developers are free to write their applications in their favourite language. WASM is portable, secure and fast.

The advent of server-side support for WASM (WebAssembly System Interface, WASI) makes it possible to run WASM code outside the browser, on any platform. WASM and WASI can in many ways replace Docker as the common cloud runtime environment. Co-founder of Docker, Solomon Hykes, tweeted back in 2019: “If WASM+WASI existed in 2008, we wouldn’t have needed to create Docker. That’s how important it is. WebAssembly on the server is the future of computing.“.

So why should you as a developer care about WASM+WASI, how can you play around with it today, and how might it affect the way we build and run code in the cloud in the future? Is WASM just Java reinvented? Come to my talk to find out.

Type More to Type Less: C# code generation

Lightning talk 10 min - Suggested by Eugene Rebedailo

Some APIs are just designed around working with plain text and are therefore prone to errors and are not easily consumable from a statically-typed environment. One example of such an API is Microsoft’s Azure Cognitive Search - an extremely useful service that enables full-text search on large datasets. In this lightning talk I would like to show how we overcame the fragility of plain text by using C# code generation capabilities alongside some Expressions API magic, eliminated a lot of menial typing and made our search functionality fully strongly typed.

Keywords: .NET, Code Generation, Azure Cognitive Search.

Innføring i tjenestedesign

Workshop 3 hours - Suggested by Øyvind Brande-Lien

Vi ser på en metodikk for tjenestedesign for å lære og erfare hvordan og hvorfor man jobber med design på dette nivået. Hva får man ut av det og hvordan passer det inn i prosjekter? Det vil bli gitt en innføring i metodikken og hands-on på noen utvalgte verktøyer.

Kan vi slutte å snakke om MVP?

Experience report 30 min - Suggested by Frank Aakvik

En erfaringsrant om misbruk av begrepet “MVP”, og hvorfor du risikerer å skyte deg selv i foten.

I denne erfaringsutvekslingen vil du få svar på følgende:

  • Hva handler egentlig MVP om?
  • Når bør du strekke deg etter en MVP, og når bør du styre unna?
  • Hvorfor er det slik at i hvert eneste team man er i, blir det alltid en diskusjon om hva en MVP er?

There's More to Open Source than Code

Experience report 30 min - Suggested by Ramón Huidobro

Interested in trying out OSS contributing, and can’t find a project you’re comfortable in? Maybe you found an issue but the scope is too big to start?

There are other ways to get into OSS! In this chat, we’ll cover non-code contributions, the different types there is, and how to get started in a way that works for you.

What helps us to minimize risks and make releases stressless for the team

Lightning talk 10 min - Suggested by Iryna Vasylenko

One morning my husband commented my outfit to be quite party-ish for the office. The answer was: I’m having party today – we will deliver to production changes which we have been working on for a few months, it involves many teams, with a potential audience of about 200 000 customers. What possibly can go wrong?! But I’m still not stressed and can think about my dress in the morning. Can you? I would like to share with you the way we have been working last two years: how my team develops new features, tests them, and delivers to production. With this way of working, we are: • Delivering features more often • Having the flexibility to open features for specific segments • Reducing number of bugs in production • Increasing customer satisfaction due to increased delivery frequency • Reducing fear of change and stress related to deploying software • Having quicker response to changes: fast beating the slow

Parser Combinators; a pragmatic approach to parsing

Workshop 3 hours - Suggested by Daan van Berkel

Often times one find oneself with structured data from a source. In order to programmatically work on the data it needs to be converted from the representation it is currently in to an appropriate data structure. This process is often an ad-hoc combination of string splits, spit and good intentions.

Parsing is typically seen as a difficult and elaborate process involving external tools. Not anymore. Parser combinators is a simple but effective tool to create custom parsers that will convert your data source in to beautiful data structures

In this workshop we will detail de ideas behind parser combinators by creating a library that allows a developer to create parsers succinctly. A workbook is offered that guides you as a participant through insightful exercises cementing your knowledge of parsing and the combinator framework You will walk away with a new way of handling text, having a clear understanding of the underlying concepts and an effective tool to tackle real-world problems with

No, you won't need Kafka for this.

Lightning talk 10 min - Suggested by Ove Gram Nipen

So you need to coordinate nodes within your solution, or pass messages between systems. Is Kafka or MQ really necessary? Let’s live code a message queue using PostgreSQL advisory locks and plain JDBC!

Hvordan Norsk Helsenett gikk fra 1 til 50+ cluster på ett halvår!

Experience report 30 min - Suggested by Roger Westerbø

Norsk Helsenett har bygd self service container-plattform i sine egne datasenter, hør hvordan et team på pluss/minus fem personer drifter, vedlikeholder og overvåker over 50 cluster ved hjelp av ett egenutviklet verktøy.

ROR by NHN er et verktøy for å holde oversikt over cluster på tvers av datasenter, sky-teknologier og tilbydere.

Bli med å hør hvordan utvikling og drift i samarbeid, kan lage verdens beste kubernets-management-verktøy på relativt kort tid! :tada:

How I learned to stop worrying and love Regex

Lightning talk 10 min - Suggested by Øystein Øvrebø

After 20 years of hiding from the peculiarities of Regular Expressions, I finally learned to see them for what they are. And beneath the surface of peculiarities and a syntax only a mother could love, I found something beautiful! In this talk I’ll teach you some useful Regex tricks that you can use in your code and code editor, and how to figure out what is wrong with all that data your application can’t parse.

Climbing to the top of the testing pyramid with Playwright

Workshop 1.5 hour - Suggested by Øystein Øvrebø

In this workshop, you’ll learn the benefits and drawbacks of integration testing using Playwright, Microsoft’s framework and library for automated testing of web APIs and web applications. Playwright shines for testing complex flows that are impractival to cover through unit tests. This is a practical workshop, so bring a laptop with Node and your favorite code editor.

Gamifying MLOps - Experiencing Machine Learning Operations

Workshop 3 hours - Suggested by Oliver Zeigermann

Getting machine learning into production and keeping it there is the topic of Machine Learning Operations (MLOps). In order to get a feeling for this, we will let you play through the phases of a machine learning project that you have to get into production and keep there for as long as possible to profit from it. Along the way, events occur that influence the setting and show whether you made the right choices or not. This way you can experience what it feels like to have a machine learning model in production instead of only talking about it. We will bring a couple of game sets, so even though the number of participants will be limited, there will be a good amount of people who can join in. You will need no prior knowledge of machine learning and you don’t even have to be a technical person to participate.

Hands-on Apache APISIX

Workshop 3 hours - Suggested by Nicolas Fränkel

It has been said that data are the new oil. To connect oil pipelines between heterogeneous systems, the de facto standard is HTTP APIs, whether plain, RESTful or REST. But no company just expose their information system to the outside. You need a central unified entry-point to handle cross-cutting concerns: classic ones like authentication and IP blacklisting, but also API-related ones like rate limiting and canary release.

In this workshop, we will use Apache APISIX on Docker to show a couple of nifty features that can help your information system cope with the challenges introduced by APIs.

  • Routing your calls to the correct upstream
  • Available abstractions: Route, Upstream, Service
  • The Apache APISIX dashboard
  • Configuring APISIX with the dashboard
  • Configuring APISIX with the command-line
  • Monitoring APISIX
  • Introduction to plugin development in Lua (basics of Lua included) - if time allows

Internal tech talks: How to motivate everyone to share their knowledge

Lightning talk 10 min - Suggested by Stig Nielsen

Going to conferences is great, but when your organization reaches a certain size, there is a huge untapped potential when it comes to doing internal knowledge sharing too. Your organization has skilled programmers, UX experts, test experts ++. And when “nudged” in the correct way, they all have lots to share. I want to talk about how we approach this in our organization. First, you need to create ownership to these sessions. Someone, or everyone, has to have a responsibility. Second, the different formats. From “good ol’ slideshows”, to panel debates to live coding sessions to workshops. Some ideas worked and some did not.

Heldigitaliseringen av grunnboken fra 1987 – 2023

Experience report 30 min - Suggested by Caroline Enge Jørgensen

Tidene forandrer seg og før du kunne hente eiendomsdata digitalt, så fantes det 6.2 millioner grunnboksark før ideen om å digitalisere hele grunnboken. Det var i 1987 Ambitas historie startet med et samfunnsoppdrag fra det offentlige om å digitalisere grunnboken i Norge. Ambita het på den tiden Norsk Eiendomsinformasjon og var et statlig eid selskap.

Vi har intervjuet menneskene som har vært med fra starten, og vi deler våre erfaringer fra utvikler-perspektiv og marketing-perspektiv. Hvordan har dette samfunnsoppdraget forandret samfunnet? Hvordan har dette bidratt til et grønnere klima? Og hvordan hjelper vi samfunnet i dag?

Djamel og Caroline tar deg med på en spennende reise der de snakker om heldigitaliseringen av grunnboken fra 1987 – i dag. En suksesshistorie uten like

Polyglot APIs: REST, gRPC and graphQL - what to choose when?

Lightning talk 10 min - Suggested by Stig Nielsen

Writing REST API endpoints is comfortable, you define the resources, support the different HTTP verbs, and then you are ok. But is it an ideal tech for ALL use cases? Where do gRPC fit? There could be a great performance benefit when looking at service to service communication. And what about graphQL? Is it dead? Try writing API endpoints for the BI department - it can be hard to predict how they will query the data. Perhaps give them a graphQL crash course and get them going? This being a lightning talk, the description of the different technologies will be brief, I will spend most time talking about the use cases.

Gradvis mer menneskelig (arbeidstittel)

Experience report 30 min - Suggested by Arild Strømhylden

I denne erfaringsrapporten vil jeg gå gjennom personlige erfaringer som prosjektleder fra gjennomføring av fire etterfølgende, sammenhengende prosjekter for å etablere pålagte tjenester. Jeg vil beskrive en reise som gikk fra IT-sentrisk, smidig utvikling av sikre dataoverføringstjenester over til menneskelig og organisatorisk endring av kritiske prosesser. Under veis vil jeg si litt om hva som fungerte bra og vi kanskje burde gjort annerledes, spesielt med et blikk på den delen som gikk på endringsledelse opp mot det som er god praksis i rammeverk som Prosci.

The Adventures of DALL·E 2 - How we created a point and click game using nothing but AI generated art

Experience report 30 min - Suggested by Eirin Sognnes

The past year we have seen massive advancements in AI image generation, where they can generate almost any conceivable concept. At this point, they are so widespread that everyone can try it with just a few clicks, but are these AIs just a means of entertainment, or can they be of practical use?

In this presentation we attempt to answer this by sharing our experience with creating a point and click game using nothing but AI generated art. Along the way we learned a lot, and if we knew then what we know now, it would have gone a lot smoother. To help you avoid the mistakes we made, we explore some of the tips and tricks we discovered and share our take on the future of AI art in software development.

Making Friends with Uncertainty - unraveling Predictable Product Delivery

Experience report 30 min - Suggested by Marcus Hamrin

Not understanding predictability results in increased risk, more planning, more bureaucracy and less autonomy. How can you learn how predictable your delivery is, and how do you make use of it? I’ll share learnings from helping teams understand predictability in software product delivery, and how this leads to a shift from suppressing uncertainty to expressing and leveraging it.

DevOps med GitHub Actions

Workshop 3 hours - Suggested by Asgeir Storesund Nilsen

Har du lyst til å lære om GitHub Actions? Hva kan de brukes til? Bruker du actions, men har lyst til å forstå mer? Har du lyst til å skrive din egen action? I denne workshopen skal vi skrive GitHub workflows, både ved hjelp av actions som allerede finnes, men også egne actions som vi utvikler i løpet av workshopen. Jeg sender ut en spørreundersøkelse til de som deltar for å bestemme hvilket nivå vi legger oss på, så her vil det være muligheter både for de som aldri har brukt actions før, og for de som ønsker inspirasjon til å gjøre mer.

Data mesh og Devops

Lightning talk 10 min - Suggested by Kirsti Loe

De fleste virksomheter sliter med å ta ut det virkelige potensialet i å utnytte data til forbedring av kunde-/brukeropplevelse, effektivitet og lønnsomhet. Grunnen er at riggen de har for forvaltning og utnyttelse av data ikke skalerer. Data mesh er et sosio-teknologisk paradigmeskifte som tar sikte på å løse denne utfordringen ved hjelp av distribuert dataeierskap. Hva handler egentlig Data Mesh om, og hvorfor er det viktig for deg? Denne lyntalen handler om hvordan ulike team kan hjelpe seg selv og resten av organisasjonen å lære raskere fra data (gjennom både maskinlæring og menneskelig læring), ved å ta eierskap til data i egen verdikjede.

Technical debt can be good for you!

Lightning talk 10 min - Suggested by Thomas Lyngtun Hansen

Greenfield projects are the dream of many developers. Starting out with the latest and greatest tools and not a single line of legacy code to worry about is not something we get to do every day. But as code is written and time goes by, slowly but surely an uncomfortable sensation begins to form: The project is building an increasing amount of technical debt. But is this really a bad thing? Developers and managers often consider technical debt and legacy code as something bad that should be avoided. But is it possible to avoid the inevitable? Should we instead embrace technical debt as a fact of life and part of the programming lifecycle and be proud of it? After all, not all project live long enough to even have technical debt!

Unlock the true power of DevTools – 7 tricks for better debugging

Lightning talk 10 min - Suggested by Thomas Lyngtun Hansen

DevTools are an essential part of any frontend developer’s toolkit, and when used correctly will save you time and frustration when debugging your code. This lightning talk provides 7 tricks all developers should know, but many don’t. Using these tricks will enable you to unleash the true power of DevTools and use them to find those difficult bugs and time-consuming errors quicker and easier than before.

Vi skal alle bli gamle - Husk å designe for eldre

Experience report 30 min - Suggested by Elen Haksø & Signe Berg

Det snakkes mye om digitalt utenforskap. Vi har jo som mål å være digitalt inkluderende, men det finnes dessverre mange som faller utenfor. Eldre er en av gruppene hvor flere opplever digitalt utenforskap. Vi skal også bli mange flere eldre i nær fremtid: Statistisk Sentralbyrå estimerer at det i 2030 vil være flere eldre (65+) enn barn og unge (0-19), og at det i 2040 kommer til å være 60% flere eldre sammenlignet med i dag. En stor eldrebølge er på vei!

Dessverre er det mange som har oppfatningen om at eldres digitaliseringsutfordringer er et generasjonsproblem som bokstavelig talt vil dø ut. Når dagens eldre går bort, vil neste generasjon eldre være digitalt modne og kompetente, ikke sant? Dette er nok dessverre ønsketenkning. For hva skjer når neste generasjon eldre møter neste generasjon med med ny teknologi? Hva skjer når dagens unge i fremtiden møter alderdommens fysiske og kognitive anstrengelser?

For det er kjipt å bli gammel; Du får forverret syn, hørsel og mobilitet. Likevel medfører alderdom også mange usynlige endringer. Kognitive funksjonsnedsettinger kan medføre store utfordringer og påvirker blant annet korttidshukommelsen. Det blir vanskeligere å lære seg nye ting, problemløse, være effektiv og gjenta eller bevare informasjon. Alt dette påvirker eldres evne til å navigere det digitale samfunnet.

Vi ønsker å fremme empati og kaste lys på hva som skjer med digitale brukere når de blir eldre. Målet er å hjelpe designere å navigere og bistå den fortsettende eldrebølgen, og konsekvensene dette kan få for vårt digitale samfunn. Vi vil dele våre erfaringer og komme med praktiske tips til hvordan designe for eldre.

Have no fear, the security guild is here!

Lightning talk 10 min - Suggested by Karina Øverland Haugen

Security is an absolute must these days (and of course has been for some time), but the security architects and security engineers are few. A solution to this challange is to create a security guild at your organization, and recruit security champions to this guild. 


Is the concept of a security guild new to you, or you just want to hear how this is currently used in TV 2? 
 Join me as I give you a quick peak on how TV 2 has increased the security focus among both engineers and the leaders by training explicit security champions.

Deploy to Kubernestes cluster @ Digital Ocean with Github actions

Workshop 3 hours - Suggested by Richard Haugen Olsen

Kva har Tinder, Google, Spotify og The New York Times til felles ? Svar: Dei bruker alle Kubernetes i prod :) Men er Kubernetes kun for store multinasjonale selskap ? Svar: Nei (min påstand)

Det er no 8 år sida første versjon av Kubernetes blei lansert, og det er meir relevant enn noken gang. Det blir brukt av store og små selskap over heile verden.

Dette er en workshopen for deg som ønsker å lære om Kubernetes (K8s), samt fordeler (og ulemper med å bruke det) Og du vil lære korleis du deployer app’s til clusteret på en effektiv måte.

Det blir gjennomgang av:

  • Grunnleggende konsepter i K8s
  • Kubernetes-Cluster på Digitalocean
  • Deploy via Github Actions

Death by complexity

Lightning talk 10 min - Suggested by Siv Midtun Hollup

The systems we develop are becoming larger and more complex. Let’s take a step back and look at how this impacts our work and the quality of the solutions we create.

From javascript or "anyscript" to typescript using openApi

Experience report 30 min - Suggested by Thorfinn Sørensen

Moving from javascript applications to typescript might be a tall order. Everything needs to be typed all of a sudden, and during the process, someone makes changes to the api, breaking your application (only in the runtime of course). This talk will address some of the good practices when making the move to typescript. How to make an application that can remove a lot of the runtime surprises, while doing api-refactoring and client adaption a lot easier.

Developing highly concurrent systems using the Actor Model

Lightning talk 10 min - Suggested by Oleksandr Slys

Actor Model proposes another mental model for thinking about software design. It is mature (originated in 1973), strict math model (several different formal systems have been developed which permit reasoning about systems in the actor model), has multiple implementations (Erlang/Elixir, Akka JVM & .NET, F# mailbox, MS Orleans, Azure Service Fabric). The Actor Model could be a nice fit for you if you want to develop highly concurrent systems. I will talk about some common use cases too. My examples will be using the Akka.Net library / C#.

Skriv bedre for en bedre brukeropplevelse

Workshop 3 hours - Suggested by Hans-Jørgen Løken

Tekst er (som oftest) den eneste formen for kommunikasjon vi har med brukere. Likevel er tekstarbeidet i utviklingen av digitale løsninger ofte preget av tilfeldighet og lite fokus. Som igjen fører til dårlige/vanskelige løsninger.

Dette er en workshop som passer både utviklere og designere. Vi er nemlig alle bidragsytere med tekst og innhold i et digitalt produkt. Vi vil derfor tilby en teoretisk og praktisk workshop. Der deltakerne får et innblikk i hva UX writing og microcopy er. Via tips, prinsipper og eksempler vil vi øke forståelsen og inspirere til endring. I tillegg vil vi kjøre interaktive øvelser som tester teorien i praksis.

Målet med workshopen er å inspirere folk til å ta mer eierskap til tekst og språk. Slik at vi kan lage enda bedre digitale produkter fremover.

Slutt å snakk om å BLI datadrevet, det er du allerede

Lightning talk 10 min - Suggested by Jørgen Frøland

Det snakkes veldig mye omkring om at virksomheter skal bli datadrevet. Men alle virksomheter har alltid vært datadrevet. Det som er annerledes i dag, er måten vi kan bruke data til å drive virksomheter. Vi kan få tilgang på mye mer data og vi kan få tilgang på data i en hastighet som gjør oss i stand til å beslutte ting på millisekunder om nødvendig.

Derfor må vi begynne å snakke om HVORDAN vi bruker data, ikke AT vi skal bruke data. Og da må vi forstå hvordan data flyter gjennom organisasjonen og skaper den verdien som vi ønsker oss. Vi må forstå mekanismene og vi må lære oss å tilpasse måten vi driver virksomheten, slik at vi faktisk skaper verdi.

Explain Postgres EXPLAIN

Workshop 1.5 hour - Suggested by Jørgen Langemyr

Har du noen gang lurt på hvorfor sql-spørringene dine går så tregt? Eller skulle ønske du forstod mer om hvordan databasen hentet dataene du spurte etter?

Hva skal vi gjøre EXPLAIN er et av de viktigste verktøyene man har for å lage gode sql-spørringer mot reslasjonsdatabaser. I denne workshopen skal vi bli bedre kjent med Postgres sin versjon av EXPLAIN, både som læringsverktøy og som hjelpemiddel for optimalisering av sql-spørringer. Vi vil jobbe med realistiske eksempler og lære å tolke dataene EXPLAIN gir oss. Vi vil også undersøke hvordan EXPLAIN kan avdekke suboptimale spørringer, og hvilke grep man kan gjøre for å forbedre resultatet. Det vi lærer i denne workshopen vil også være overførbart til andre relasjonsdatabaser, ettersom de vanligvis har en lignende versjon av EXPLAIN.

Hvem er dette for Utviklere med grunnleggende sql-erfaring, men som ønsker å bli bedre kjent med hvordan databaser utfører spørringer.

Hva trengs av utstyr/software Deltakere bes ta med en laptop med docker og git installert, da vi vil benytte oss av et docker image med Postgres og SqlPad.

Hvordan få aksept for å jobbe brukersentrert, og hvorfor er det så vanskelig?

Lightning talk 10 min - Suggested by Anette Drønen Sunde

En lyntale om UX politikken alle helst vil slippe

Delivering lasting value fast, without breaking the bank, using No-Code solutions and web-components

Experience report 30 min - Suggested by Øystein Malt

The digital transformation of our society is accelerating. After Covid, it became increasingly clear that no business can afford not to have an online presence. This means that there is an ever increasing demand for websites and web applications. However, development is a costly affair, and it takes a long time. With inflation and increasing customer demand, we need to be able to deliver solutions fast and at a reasonable cost.

Within these constraints, handcrafted web applications might not be the best solution. Luckily, there are many no-code CMS platforms for creating websites and web applications, such as:

  • Squarespace
  • Webflow
  • WordPress
  • Shopify
  • And many others

With these platforms, we can offload a lot of development and content editing to our customers, and thus speed up delivery. Unfortunately, these platforms have a limited capability to address more advanced requirements. Particularly when it comes to integrating services and business / application logic. Because of this, handcrafting applications is often presented as the only solution.

By combining established CMS solutions with web components, we can get the best of both worlds. In this talk, I present how we at Kraftlauget have used web components to encapsulate advanced application features and expand the capabilities of Squarespace, Webflow and Wordpress sites. I share our experience successfully delivering solutions to customers such as Bilberry, Sognekraft and Sygnir, and round off by sharing our thoughts about the future of web development with no-code platforms.

Delivering lasting value fast, without breaking the bank, using No-Code solutions and web-components

Lightning talk 10 min - Suggested by Øystein Malt

The digital transformation of our society is accelerating. After Covid, it became increasingly clear that no business can afford not to have an online presence. This means that there is an ever increasing demand for websites and web applications. However, development is a costly affair, and it takes a long time. With inflation and increasing customer demand, we need to be able to deliver solutions fast and at a reasonable cost.

Within these constraints, handcrafted web applications might not be the best solution. Luckily, there are many no-code CMS platforms for creating websites and web applications, such as:

  • Squarespace
  • Webflow
  • WordPress
  • Shopify
  • And many others

With these platforms, we can offload a lot of development and content editing to our customers, and thus speed up delivery. Unfortunately, these platforms have a limited capability to address more advanced requirements. Particularly when it comes to integrating services and business / application logic. Because of this, handcrafting applications is often presented as the only solution.

By combining established CMS solutions with web components, we can get the best of both worlds. In this talk, I present how we at Kraftlauget have used web components to encapsulate advanced application features and expand the capabilities of Squarespace, Webflow and Wordpress sites. I share our experience successfully delivering solutions to customers such as Bilberry, Sognekraft and Sygnir, and round off by sharing our thoughts about the future of web development with no-code platforms.

Stop Chasing the Unicorns; How We Implemented an Ecosystem for Innovation

Experience report 30 min - Suggested by Øyvind Lillerødvann

Innovation projects often aim at chasing the next unicorn. However, experience shows us that this mindset can result in over-ambitious goals, involving teams working on bad ideas for too long, until finally the project is abandoned due to low viability. This results in little to no value, no innovation, and huge disappointments to both the team and to the business. And since much of the money set aside for innovation is spent on abandoned projects, what little is left goes to small, incremental improvements.

Chasing the unicorn is not really the problem. The problem is that the chase often goes on too long. The solution is to discover early that the unicorn actually was just a mirage, that is, an idea without substance. Because experience shows that 9 out of 10 ideas are not viable. A mirage should be identified and abandoned fast, so that we have the resources left to discover and explore the real unicorns.

Establishing proper frameworks and practices for innovation can support a better approach for investing in what hopefully results in true corporate innovation, i.e., value for both the customers and the business. And keeping track of different types of innovation metrics on team, management and board level makes it possible to measure the effect of innovation.

Inspired by “The Corporate Startup” and “Innovation Accounting” by Dan Toma et. al, we have implemented an innovation ecosystem and introduced innovation accounting in Kantega SSO, a subsidiary of Kantega AS that produce apps for the Atlassian Marketplace. In this presentation we will share our experiences: How it turned out, and what we have learned so far.

Mixins i Java

Lightning talk 10 min - Suggested by Haakon Løtveit

Mixins er en gammel teknikk fra åttitallet som lar oss blande inn funksjonalitet inn i et objekt utenfra. For ti år siden kom Java 8 ut, og med default-metoder kom muligheten for å bruke denne teknikken i javakoden vår. Her går vi igjennom en implementasjon av et par mixins som hjelper med logg og feilhåndtering for å vise hvordan du kan slippe å skrive samme kode flere ganger. Dette er en praktisk lyntale som forhåpentligvis vil gi deg noen ideer du kan bruke videre til å skrive bedre kode selv.

Nei til ja-mennesker!

Experience report 30 min - Suggested by Johannes Harestad

Ja-mennesker har et ufortjent godt rykte. I verste fall er de jo livsfarlige både for seg selv og andre! Nei-mennesker har derimot et ufortjent dårlig rykte.

Vi heter Ina og Johannes, og vi identifiserer oss som nei-mennesker. Du kan være trygg på at du får tilbakemelding fra oss hvis du har en dårlig ide. Det er ikke fordi vi er negative eller egoistiske!

Hvorfor synes folk det er så ubehagelig med sånne som sier fra, som utfordrer og skaper friksjon? Hvorfor har noen mennesker så vanskelig for å si nei? Er det ikke slik at de beste og mest kreative løsningene oppstår i friksjon?

Vi har lyst å skape en bedre forståelse for hvordan ulike personlighetstyper bidrar positivt. Vi har gode tips til hvordan man kan skape arenaer der det er like trygt å være ja-menneske som nei-menneske.

Kom og lær verdien av å ha nei-mennesker med på laget, og få hjelp til å dyrke nei-mennesket i deg selv.

Tema: bærekraftig og målrettet produktutvikling gjennom mangfold og psykologisk trygghet.

How to draw a triangle

Workshop 3 hours - Suggested by Kristoffer Dyrkorn

In this workshop we will take a close look at how computers draw geometry - more specifically, triangles - on screen.

Computer graphics is a vast field that contains many techniques, but since triangle drawing is an important building block for many advanced graphical presentations, also in 3D, this is a topic that is well suited as an introduction.

By using plain JavaScript and the browser as a runtime platform, we will go through the principles and the practice of converting a mathematical representation of a triangle (vertices and edges) into a group of pixels that closely resemble that shape on screen. The mathematics will not be complicated (the four operations will suffice) but will still make us able to implement a simple software version of the algorithm modern GPUs run in hardware.

We will first focus on getting things right, and note that the devil is in the details, and then, when our triangles on screen behave, we will show an optimisation trick that will give us a tenfold performance boost!

We will round off the workshop with a more detailed look at how modern GPUs draw triangles in practice - ie topics for future explorations.

Bærekraftig maskinlæring?

Lightning talk 10 min - Suggested by Nora Gjøen-Gjøsæter

En eneste maskinlæringsmodell kan generere større klimagassutslipp enn en bil - i hele dens levetid. Flere biler, faktisk. I tillegg er trening av de kraftigste modellene i praksis forbeholdt private organisasjoner med enorme økonomiske muskler.

Hvordan har vi endt opp her? Og hvordan kan vi utvikle og ta i bruk maskinlæringsmodeller på en mer bærekraftig måte?

Reinforcement Learning med TensorFlow

Workshop 3 hours - Suggested by Thomas Fauskanger

Vær med på å utforske Reinforcement Learning (RL) med “TensorFlow Agents”.

Reinforcement learning, også kalt “forsterkende læring” på norsk, er en gren av maskinlæring. Kort beskrevet er det en teknikk for å bygge maskinlæringsmodeller hvor treningen er basert på belønning for et sett av avgjørelser hvor fasitsvaret for et valg ikke er gitt umiddelbart etter det er tatt.

Vi bruker TF Agents, som kommer med tutorials og en del ressurser. I følge dem selv: “TensorFlow Agents makes designing, implementing and testing new RL algorithms easier, by providing well tested modular components that can be modified and extended. It enables fast code iteration, with good test integration and benchmarking.”

Vi begynner med å gjennom teorigrunnlaget for hva RL er, som f.eks. forskjellen på policy-based og ikke-policy-based RL. Sammen og går vi gjennom et utvalg av materialet som TF har delt på sine sider.

Ambisjoner: deltakerne har etter deltakelse forutsetning til å lage egne “environments” for å trene nye modeller, samtidig som man forstår hvorfor det virker og noen av begrensningene for hva som ikke vil virke.

Målgruppe: De som er interessert i maskinlæring, dyp læring, matematikk og/eller vil nerde i noe litt annerledes.

Anbefalte forkunnskaper: All kode gjøres i Python. Bør ha kjennskap til elementær maskinlæring og gjerne hatt en tanke om nevrale nettverk. Fordel å kunne litt calculus. Dette er ikke et krav for å følge tutorials etc.

Framework FOMO

Lightning talk 10 min - Suggested by Øystein Malt

Next.js, Gatsby, Remix.app, Qwik, Astro, Markojs, Fresh. Are you dizzy yet?

Our beloved JavaScript ecosystem keeps spewing out new frameworks and libraries, ensuring every front-end developer suffers from perpetual FOMO.

In this talk I attempt to cure you, by doing a lightning fast comparison of several popular and new frameworks for Server Side Rendering / Generation.

Kan ML være behjelpelig mot farlige solstormer?

Experience report 30 min - Suggested by Håkon Midthun Kolstø

Vår nærmeste stjerne, sola, kan til tider være hakket mer aggressiv og slynge ut milliarder av tonn materie som reiser mot oss med enorme hastigheter på opp mot 2 millioner km/t og utgjør det vi kaller solstormer. Disse solstormene kan slå ut elektriske systemer og utgjøre en betydelig risiko for vårt samfunn. Det er derfor ytterst viktig at vi klarer å si noe om styrken, innvirkningen og trusselen de utgjør. I denne presentasjonen skal vi se hvor kraftfulle og behjelpelige enkle læringsalgoritmer kan være og hvordan vi metodisk går frem for å definere problemet og tolke resultatene.

A quick and dirty guide to user testing for non-designers

Workshop 3 hours - Suggested by Erle Arildsen

Not all companies are blessed with a UX-designer or UX-researcher..

Instead of throwing your hands up and surrender your Thing of Awesomeness to random chance. How about teaching yourself some essential skills to do your own user testing?

In this workshop we’ll race through:

  • The Basics - why test, how to get buy in for testing
  • The Theory - test types, with focus on the Almighty Moderated Usabilty test
  • The Planning - recruiting, piloting, research questions
  • The Doing - welcoming, how to’s and saying good bye
  • The Path Forward - what to do with all that data, basic analysis and reporting

Et innblikk i moderne svindelmetoder

Lightning talk 10 min - Suggested by Brynjar Steinbakk Ulriksen

Få et innblikk i moderne svindel fra en sikkerhetsutvikler! Hvordan kan vi fortsatt ha svindel i det moderne Norge i dag, hvorfor stopper vi det bare ikke?

Opplev hvordan svindel faktisk utføres i Norge i dag og hva man gjør for å stoppe det.

I denne presentasjonen går jeg igjennom hvordan norske bankkunder blir svindlet i dag, hva svindlerne er ute etter, typiske svindler og hvordan vi jobber for å bekjempe det. Som sikkerhetsutvikler og en del av IRT (Incident Response Team) får man en spennende hverdag med både forebygging og live action når svindel skjer.

Nobody knew health care could be so complicated

Experience report 30 min - Suggested by Eirik Broen

Tilgang til kliniske opplysninger fra en annen virksomhet i helsesektoren kan ha stor nytte i en behandlingssituasjon. Pasienten forventer at helseopplysninger deles og behandler har tjenstlig behov for innsyn, men evne til digital samhandling mellom helsetjenester er sterkt begrenset. Oslo kommune har siden mars 2020 samarbeidet med HSØ og Norsk Helsenett for å pilotere en integrasjonsarkitektur for deling av journaldokumenter som legger til rette for direkte oppslag. Underveis har vi støtt på en rekke juridiske, tekniske og organisatoriske utfordringer.

En versjon av denne presentasjonen kommer på ARK 2022

Let's crash some apps

Lightning talk 10 min - Suggested by Torkel Velure

With the majority of users on iOS and cross platform frameworks everywhere; Android QA is often forgotten and misunderstood. It totally makes sense! The Android operating system is complicated, and even harder to understand when it has been abstracted away underneath layers of frameworks.

What is configuration change, view recreation and process death?

In just a few minutes we’ll go through some seemingly advanced yet simple QA techniques to reproduce rare bugs and accessibility issues, and crash some major apps live!

If you bring an android phone you can follow along and do the same exercises.

The tale of four moms wanting to make an app

Experience report 30 min - Suggested by Sarah Serussi

We are four moms wanting to make an app to organize our family life in a better way than we are doing now. None of the apps on the market right now fit our needs, so we are creating our own. We are a team consisting of one developer, one designer, one doctor and one influencer. By march 2023 hopefully a lot has happened. This will be the story of how it went so far.

UX ❤️ Sikkerhet

Experience report 30 min - Suggested by Andrea Lysgaard

Når vi snakker om sikkerhet, blir ofte brukeropplevelse og det menneskelige underlagt tekniske betingelser. Vi mener de beste løsningene blir til når UX og sikkerhet går hånd-i-hånd, der sikkerhet bør være et felles verktøy i arbeidsprosessen. På vårt oppdrag for BankID/BankAxept har vi fått innblikk i hvorfor UX hører hjemme i sikkerhetsdiskusjonene, og vi vil gjerne dele!

Å bli forska på

Experience report 30 min - Suggested by Siv Holen

A-Team var et forskningprosjekt hos Sintef som adresserte tre kjernetema i forhold til teamautonomi: lederskap, koordinering og kunnskapsforvaltning. Vi kommer fra to av de fire bedriftspartnerne som var Kantega, Knowit, Skandiabanken og Storebrand. I løpet av fire år ble vi forsket på av Sintef. De fikk sine resultater, artikler, medieoppslag og dr.grader, men hva fikk bedriftspartnerne ut av det? Stikkord er et fantastisk samarbeid, tillit, nettverk og læring både på personlig plan og i forhold til selskapet.

Solve real problems

Workshop 3 hours - Suggested by Olav Loen

Every entrepreneur tries to attract customers, but the successful companies also solve problems for their customers in a better way than the alternatives (ie “competitors”). Lean Startup is a scientific approach to create and manage startups. Talking to real customers is a central part of this approach, and in this workshop you will pratice on your skills to have a customer conversation.

Expected outcome: Decrease your fear of talking to stranges about their business and everyday problems.

Customer-driven Development in a B2B startup

Lightning talk 10 min - Suggested by Anders Eivind Bråten

A successful company often starts with a good product but having a good product does not always end in a successful company. One of the reasons is that many start-ups focus mainly on the product and forget that the most important element in the value chain is the customer. In this lightning-talk, I will describe how support inquiries drive forward product development in Kantega SSO, to the benefit of both the customer and the company.

How to fail with DevOps

Experience report 30 min - Suggested by Christoffer Vig

Everybody is DevOps now. Except they are not. I have been trying to help businesses to implement DevOps and failed. This is a story of how not to do it.

We wanted to introduce auto-deployments but ended up delivering logs. We wanted to create product-oriented teams, but devs only want to play with other devs. We wanted to increase collaboration but management wanted a perfect task description.

Fra handoff til samskaping

Lightning talk 10 min - Suggested by Vegard Ingebrigtsen Feste

De siste årene har samarbeid og samskaping vært hovedfokuset for design-programmer. Programmene designere bruker har gått til uante lengder for å gjøre designfiler stadig mer tilgjengelig for ikke-designere med mål om mer oversiktlig grensesnitt og kode direkte knyttet til designet som lages.

Men, likevel blir ofte samarbeidet mellom designere og utviklere sett på som en hand-off hvor en designfil blir iterert over, og er gjerne innom mange interessenter, før den til slutt overleveres og skal implementeres av det tekniske teamet. I denne prosessen blir ofte designvalg og utviklingsvalg tatt i egne siloer før de på et tidspunkt skal samhandle, og i dette ligger roten til mye usikkerhet for begge parter.

Så hvordan kan vi bryte ned siloene? Hvor langt i begge ender skal vi gå for å møtes i “design til kode”-gapen? Behøver vi å kunne hverandres fagfelt?
Finnes det en måte vi kan starte å snakke samme språk på, om hva vi ønsker å oppnå og hvordan?

Finnes det en vei fra handoff til samskaping?

Graph databases and where to find them?

Lightning talk 10 min - Suggested by Tobias Kamenicky

Are you filled with fond memories when hearing terms like graphs, nodes, edges, properties, or weights? Or have you hoped never to hear about them again? Navigation, networks, search engines, and social media are just a few areas where graphs best represent the real world, so why do we still store our data in SQL servers or use SQL-like query languages to retrieve it? We use a Graph database at our company, should you?

Hva skjer når du gir brukerne blyanten og lar dem tegne?

Experience report 30 min - Suggested by Kristin Brudeseth

Hva er viktig å tenke på når du skal designe for en gruppe mennesker som opplever diskriminering og utenforskap? Universell utforming handler om å gi alle mulighet og tilgang til å delta i samfunnet. Burde ikke dette også gjelde designprosesser som påvirker deres liv?

Da vi valgte å designe for hørselshemmede barn i vår masteroppgave var det veldig viktig å forstå deres behov, for å designe en løsning som var av verdi for dem. Å ha nedsatt hørsel er et usynlig handikap og skolen er en av arenaene der hørselshemmede barn og unge møter flest utfordringer. Hvorfor det, tenkte vi? For å virkelig forstå dette måtte vi sette oss selv i deres sko.

Vi vil dele hvordan vi ved hjelp av visuell historiefortelling, samskapning og empati i designprosessen har oppnådd et fantastisk samarbeid med brukerne.

Build your own sequencer

Workshop 1.5 hour - Suggested by Stian Veum Møllersen

The WebAudioAPI is a powerful and fun piece of technology that lives in most browsers. Most of the time we use it to play samples or generate our own sounds, but it also has other interesting properties. Like a very precise and reliable clock. Which we can use, together with the sound emitting capabilities, to build our own step sequencer.

This is supposed to be a fun exploration of a lesser known piece of Browser tech and a way to learn a bit more about scheduling and asynchronous programming in JavaScript.

Poetry for programmers

Workshop 1.5 hour - Suggested by Nils Norman Haukås

What are poems, if not elegantly encoded experiences captured in compact text?

Unlike A.I. systems, we humans can take fuzzy knowledge from wholly different fields and apply them elsewhere. In this workshop I’ll introduce you to the field of poetry with the goal of yielding some fresh perspectives on both writing and programming.

Maybe the worlds of code and poems lie too far afield to inspire each other, or maybe there’s something there that can spark better, clearer, more succinct writing? In this workshop we’ll play with this idea.

Workshop contents:

  1. An introduction to poetry.
  2. Hands-on exercises on poetry within the context of code.
  3. Summary.

Important notes:

  1. This workshop is open to all interested people. You don’t have to be a programmer to attend. You don’t need to consider yourself good at writing (nor programming). Feel free to write in Norwegian and/or English. You just need to be curious and be willing to try new things.
  2. You’ll need a laptop with git installed and a code editor. If in doubt I can recommend the VS Code editor.
  3. I will not make you recite poetry out loud. This will be a safe space for personal text exploration.

Hope to see you in my workshop!

5 reasons why your «developer design sucks» – and how to improve it

Lightning talk 10 min - Suggested by Andreas Hartveit

Far too often I hear the phrase «my developer design sucks», usually followed by «we could really use a designer on our project».

Unfortunately, the simple truth is that most of these projects do need a designer. There are design decisions to be made even if there are no available designers to make them. This is usually where unfortunate developers experience friction.

Over the years I have been approached by many developers asking for pointers on how to improve their UIs and make them more user-friendly. As a designer, I can understand the frustration of having to make decisions that might not be yours to make. Luckily there are some pain relievers to be found.

In this lightning talk, I will provide a few general tips and design principles for developers to improve their «developer designs» and make working with UI a bit less challenging.

Agile + Data Science ≠ Agile Data Science

Lightning talk 10 min - Suggested by Eirik Berge

In this talk, we’ll discuss why traditional agile approaches to software development don’t always translate well to data science & ML projects. Are those pesky data people simply impossible to structure? It turns out that out-of-the-box agile approaches from software development are not adapted to data science & ML projects.

But it’s not all doom and gloom! I will talk about how methodology frameworks are gradually being incorporated (successfully!) in data science projects! And these methodologies are actually agile in the true sense of the word. This fits within a larger “movement” in the data sphere called MLOps.

I’m an introverted developer

Lightning talk 10 min - Suggested by Mads Opheim

I’m an introverted developer, so spending time with people lowers my energy. At the same time, I work in a team that collaborates a lot, and I go to quite many conferences.

How does that add up? In this lightning talk, I’ll walk you through what works for me and what doesn’t, as well as how I handle it.

Kompilator, AST og linting

Workshop 1.5 hour - Suggested by Mikael Brevik

Noen ganger har du implisitte regler i kodebasen din. Kunnskap teamet og team-medlemmer bare må ha og huske på i hverdagen for å unngå bugs. Dette er ting som i et svakt øyeblikk du kan pushe, komme igjennom Code Review og ut til sluttbrukere. Unødvendige ting, kan ha store konsekvenser, og er egentlig enkelt å unngå. Men likevel skjer det. For det er implisitt kunnskap. Enda verre er det for ferske i prosjektet, som ikke har kjent på feilene flere ganger. De må bare vite det, eller få beskjed om det i en Code Review – om det i det hele tatt blir fanget opp. Vi kan dokumentere det, men det er ikke en god løsning for å hindre at det skjer. Det blir for stor distanse mellom dokumentasjon og kode. Når var sist leste i en dokumentasjon for hver gang du skal kode noe? Vi må gjøre det implisitte om til eksplisitt, og vi må gjøre det eksplisitt der det skjer.

Heldigvis er det ikke uvanlig i mange frontend-prosjekter i dag å ha mekanismer for dette allerede: Linting. Lint er originalt et konsept fra C-verdenen hvor man kunne statisk analysere koden etter feil og andre ulumskheter. Men i dag er det like gjerne assosiert med JavaScript og TypeScript. Mange kodebaser kommer med eslint som kan sjekke ting som ubrukte variabler, universell utforming, feil-optimaliseringer osv. Men hva om vi også kunne brukt samme mekanismer for å løse den implisitte kunnskapen og domenespesikke krav? Vel, vi kan det!

I denne workshopen skal vi lære litt om kompilatorer, abstrakte syntakst rærer, tre-traversering og linting for å skrive egne verktøy, eller til og med egne programmeringsspråk.

IT eller politikk? Eg spør. du svarer!

Lightning talk 10 min - Suggested by Mads Opheim

Hæ, politikk, det er da noko heilt anna enn det eg held på med i min jobb innan IT?

I denne lyntalen får du situasjonar, utsegn og påstandar, henta frå anten det politiske livet eller frå IT-verda, og så spør eg deg: Tech, politikk eller begge?

Sjå fram til ein sesjon med mange overraskingar og mykje moro. Og kanskje nokre lærdommar.

Lessons learned from rewriting old simple code in the C# 7 and Rust a decade later

Experience report 30 min - Suggested by Marcin Mateusz Hanc

As my oldest code started to reach the ripe old age of 20 and I stumbled upon the code I wrote when I was studying at AMU@Poznań I started to wonder.. How hard would it be to modernize and rewrite it into a more modern code. I’ll talk about some of the things I’ve learned, annoyances and small successes.

Hvordan bli en bedre utvikler

Lightning talk 10 min - Suggested by Mikael Brevik

Dette virker kanskje som en click-baity tittel, men jeg lover deg… uansett hva du jobber med som utvikler, eller hvor erfaren du er så kan også du “bli en bedre utvikler med å følge dette enkle tipset”. Men selv om tipset i seg selv er enkelt, er det ikke nødvendigvis lett å gjennomføre. Det er også noe jeg selv jobber med hver dag og ønsker å bli kontinuerlig bedre på.

For å finne ut hvordan vi kan bli bedre utviklere må vi først snakke om ulike former for kvalitet. På samme måte som vi har verktøy og prinsipper for å veilede oss i arkitektonisk, ikke-funksjonell, kvalitet, har vi også en viktig hammer i kassen når det kommer til å jobbe i team og løse reelle brukerbehov: vår evne til å kjenne på andres følelser. Ja, nettopp, empati.

For å se hvordan vil jeg dele inn i to områder. Empati for sluttbrukere og empati ovenfor teamet ditt.

Anta bias. Alltid

Lightning talk 10 min - Suggested by Nora Gjøen-Gjøsæter

En maskinlæringsmodell blir aldri rettferdig. I alle fall ikke mer rettferdig en de data den er trent på. Og datasettene vi benytter foreslår som hovedregel at vi diskriminerer.

Så kanskje vi rett og slett må akseptere at vi ruller ut ‘urettferdige’ maskinlæringssystemer? Men hvor mye skal vi tåle? Og hvordan beholder vi kontrollen, og sikrer at systemene våre holder seg under denne smertegrensen for diskriminering?

Newbie's guide to Mastodon and fediverse

Lightning talk 10 min - Suggested by Marcin Mateusz Hanc

Having recently joined Mastodon - it is only good and useful to spread knowledge about the “What?”, “Why?” and “How?” of Mastodon. Come watch me sweat as I try to answer these questions quickly enough, as well as briefly introduce other facets of fediverse.

The building blocks of Git

Lightning talk 10 min - Suggested by Christian Brevik

If you’re already familiar with Git, but a bit confused by how it really works, then this is the talk for you! Git is a powerful tool that many of us work with daily. But in the foundations of the tool, there are some very simple building blocks.

In this lightening talk I will be explaining how git is more or less a fancy file system. If you have an understanding of how git is built up, then you’ll be less confused when working with branches and commits.

Database breach? No problem.

Lightning talk 10 min - Suggested by Elias Brattli Sørensen

Users have always had to create and remember a wide number of different complex passwords to avoid hacking. However, no matter how strong the password is, if it’s stolen, anyone can impersonate you. Developers have to worry about securely storing passwords, and users have to check if their password is compromised during database breaches. To reduce the risk, it is common to utilize a second factor by SMS or app, but even MFA can be compromised with attacks like phishing and social engineering. FIDO and the W3C have introduced a more phishing-resistant solution with the Web Authentication API (WebAuthn), which utilizes public-key cryptography instead of passwords, and comes with a killer implementer’s guide! Now we no longer have to worry (as much) about database breaches.

Machine intelligence with humans in mind

Lightning talk 10 min - Suggested by Tannaz N. Roshandel

We are in a rapidly changing world of globalization and digitalization, where computer ethics has become significantly important. Machine intelligence is growing in a way that is difficult for humans to comprehend and even more challenging to control. Focus on computer ethics goes beyond protecting personal and commercial information. What are the responsibilities of companies, developers, and users, and how can we overcome the lack of awareness of computer ethics? In this talk, we will look at the importance of computer ethics in our daily life as tech people and as users in the digital world and how we can start taking action today.

Et digitalt Europa med personvern i førersetet

Lightning talk 10 min - Suggested by Elias Brattli Sørensen

Zero Knowledge Proof (ZKP) er en teknikk for å verifisere en egenskap om informasjon uten å se selve informasjonen. Dette gjør det for eksempel mulig for en tjenestetilbyder å kunne bekrefte at en person er over 18 år, uten å kjenne til personens faktiske alder. ZKP er en av mekanismene som danner grunnlaget for personvernet i såkalte attesterte attributter i EUID-walleten, som det snakkes om i utviklingen av eIDAS 2.0-standarden. Dette gir en rekke bruksområder hvor vi kan få autorisasjon til å bruke diverse tjenester uten at tilbydere får sjansen til å høste mer data om oss enn det de trenger. I denne lyntalen går vi gjennom hvordan Zero Knowledge Proof fungerer, og hvorfor dette er en viktig faktor i utviklingen av eIDAS som skal gi et digitalt Europa med personvern i førersetet.

Kos med ROS, - få grepet på Risiko og Sårbarhetsvurderinger

Workshop 3 hours - Suggested by Cecilie Wian

Uansett om du er utvikler og vil skrive tryggere kode, vil bedre prioritere testingen, forstå hva risikoene er, eller kanskje du er prosjektleder og vil ha styring på sikkerheten i produktet: Risiko og sårbarhetsanalyse er grunnleggende grep for å få orden på sikkerheten. Workshopen tar deg igjennom en tverrfaglig og generell ROS , - slik at du kan gjenbruke prinsippene senere.

• Hva trengs for å gjøre en ROS? • Hva er risiko • Hva er sannsynlighet, og hvordan påvirker det risiko? • Hva er konsekvensene, og hvordan påvirker det risiko? • Hvordan lage og bruke ROS • Hvordan ta i bruk ROS i din arbeidshverdag • Kommunisere risiko ved hjelp av ROS • ROS satt i system

UTF WTF! Hvorfor er tegnsett fortsatt så vanskelig�

Lightning talk 10 min - Suggested by Håvard Wigtil

Du skulle kanskje tro at tegnsett var et løst problem, men sånn er det åpenbart ikke. Over 30 år etter at vi fikk en universell standard for alle tegn går dette forsatt feil regelmessig, og på et utall forskjellige måter. Kom for å høre om hvordan og hvorfor det blir feil, anatomien til UTF-8, og hvordan vanlige databaser som MySQL / MariaDB har en overraskelse til deg når du hadde alt annet på plass.

Product Risk Based Testing - Using Risk to Drive your Testing

Workshop 3 hours - Suggested by Bryan Jones

Most of the time we talk about Project Risk. Things that are a risk to the Project. And Risk Based Testing is just a way of working out what we have to test and what tests we can skip because we’ve run out of time. What if we analyzed each requirement, feature, epic or story to work out what the risks were to them and then use that to plan Where, When & How to test and How much testing to do to mitigate those risks and therefore the risk to the final Product. Intelligent and evidence-based requirements testing that provides Requirements Coverage and Risk Coverage. This workshop provides a framework for Product Risk Based Testing and practice in how to use it.

UML (and SysML) diagrams for describing a custom-made VR game controller

Experience report 30 min - Suggested by Embla Flatlandsmo

I’m building a system which makes it possible to play VR games using a wheelchair training machine. I spent a lot of time putting together (my best attempt at) a description of my system using UML diagrams. I will briefly explain what the different types of diagrams are used for, before presenting my own diagrams. So, whether you have no experience with UML or if you just want a refresher on UML diagrams, please check out my talk! I promise there will be plenty of pictures!

I’m writing my master’s thesis and this is what is expected of me

Lightning talk 10 min - Suggested by Embla Flatlandsmo

Many master students in engineering write their thesis in collaboration with a company. Are you perhaps in touch with a master student right now, helping them write their thesis? Or maybe you’re considering supervising a student in the near future?

As someone who is currently working on her master’s thesis, I will try to shine some light on what NTNU expects of me in my thesis work!

The world is your.. Game controller!

Lightning talk 10 min - Suggested by Embla Flatlandsmo

Have you ever wondered why your keyboard and mouse (mostly) is plug-and-play? What’s the deal with having to set keyboard layouts on your computer?

I will give you a LIGHTNING FAST introduction to the world of Human Interface Devices (HID-compliant devices) and explain how I hacked together my own game controller to gamify training for wheelchair users!

Get started with Kotlin

Workshop 1.5 hour - Suggested by Johannes Fauske

Did you think Kotlin was only used for Android development? Not anymore! It has recently gained traction as an all-purpose Java alternative. Kotlin is a fun, modern and concise programming language. It has great interop with Java, so you can skip the verbosity and still use your favourite frameworks and libraries.

In this workshop we will focus on the language features. We will not touch any framework or mobile specific subjects. After a short introduction to Kotlin there will be hands-on exercises were you can play around with the language. If you don’t have a laptop with a Java development environment, you can use the online playground at https://play.kotlinlang.org/.

Who is it for? Developers with interest in programming languages.

Securing Container Supply Chain Workshop

Workshop 3 hours - Suggested by Hans Kristian Flaatten

What is Supply Chain Security

“Software supply chain” is a term describing everything that happens to code from the time it leaves the developers fingers until it runs in production. The code needs to be compiled, tested, packaged and deployed, and these steps take place in a variety of systems and use lots of complex third party solutions. Our apps also depend on an increasing number of third party libraries and frameworks that we often know next to nothing about.

What is SALSA? Several initiatives have been started in an attempt to address the issues surrounding supply chain integrity, the most noticeable one being Supply chain Levels for Software Artifacts - SLSA. SLSA aims to be vendor neutral and is backed by major players like the Cloud Native Computing Foundation and Google in addition to startups such as Chainguard.

Cosign Sigstore is a Linux Foundation project which is developing Cosign, a container signing, verification and storage in an Open Container Initiative (OCI) registry, making signatures invisible infrastructure.

Kyverno Kyverno is a policy engine designed for Kubernetes. With Kyverno, policies are managed as Kubernetes resources and no new language is required to write policies.

What is this workshop about? In this workshop we will make a practical approach to securing your container applications and verify that the container has not been tampered with since it was built.

  • Setting up automated container builds
  • Signing containers using sigstore/cosign
  • Verifying signed containers using Kyverno
  • Working with Kyverno policy reports at scale

Server-Side WebAssembly: The Post-Container Revolution is Here!

Experience report 30 min - Suggested by Ramón Huidobro

What happens when you take the portability, security, speed, and polyglot nature of WebAssembly, and run it on a server, where you’d usually have containers?

We live in exciting times! Together we’ll begin to explore how server-side WebAssembly runtimes are shaping up as viable alternatives to containers, and where their applications can thrive. We’ll also look at additional benefits of freeing up developer focus by abstracting away complicated network concerns in favour of functional, compact modules.

WebAssembly is bringing lots of simplifications to server-side software development. Let’s see how

Let's make a tech speaker out of you!

Workshop 3 hours - Suggested by Ramón Huidobro

Here we are, at a conference. Have you ever wanted to be a speaker listed amongst the others and thought “How on Earth do I even get started?”

In this workshop, we’ll prepare talk ideas, craft a bio, get techniques on slides, flow, impostor syndrome, inclusive language and more! Maybe even play a game of Slide Karaoke?

If you want to be a tech speaker, then you can totally do it!

Garmeres - Creating a multi-lingual Sámi website

Experience report 30 min - Suggested by Levi Sørum

When I created website for Garmeres - a queer Sámi organisation - I came across several obstacles. The long-term goal was an inclusive website translated to multiple of the Sámi languages, but the requirement for high flexibility in content language drastically narrowed down the options of suitable CMS services. Furthermore, achieving good SEO for a website translated into multiple minority languages was not as straightforward as I first belived.

With Sámi websites being few and far between, I was not able to find any good examples of best practices, and so I was largely on my own to figure things out. In this experience report, I will talk you through my process of solving these issues.

Ryddigere kode med Porter og Adaptere

Lightning talk 10 min - Suggested by Isak Bjørn

Porter og Adaptere, også kjent som heksagonal arkitektur, er en applikasjonsarkitektur som hjelper oss å fokusere på de sentrale komponentene i løsningen. Vi starter med en lagdelt arkitektur og dens styrker og mange svakheter, og i prosessen med å utbedre disse kommer vi til å oppdage en smartere måte å organisere koden vår på.

Du trenger ikke brukernavn og passord for å autentisere deg - bruk biometri!

Lightning talk 10 min - Suggested by Ole-Martin Michelsen

Spør du brukerne om brukernavn og passord i appen din i dag? Da bruker du mest sannsynlig ikke den tryggeste og enkleste metoden for autentisering.

Alle telefoner i dag har støtte for biometri, som kan brukes til mye mer enn bare å åpne telefonen. Innebygd i dagens telefoner finnes det maskinvare som kan utføre kryptografiske operasjoner som muliggjør sikker autentisering, signering og kryptering av meldinger.

Dette er enkelt å implementere dersom du vet at det finnes. Jeg skal forklare hvordan dette fungerer, og på under 10 minutter vise dere hvordan dette kan tas i bruk.

An expedition through the browser API

Lightning talk 10 min - Suggested by Thomas Sørheim Lund

Do you really need a lib for that? Our webapp bundle sizes keep growing as our apps get more dynamic and feature rich. Perhaps unknown to many, the libs we keep adding could be bloatware on top of perfectly fine browser APIs. Let’s explore some of them, you might be surprised of what your browser is already capable of.

Let your hands to the thinking!

Workshop 1.5 hour - Suggested by Me (Merete) Lange

In this workshop we will explore the power of LEGO® SERIOUS PLAY® a facilitation method which stimulates play, fun and creativity by using LEGO® bricks. We will experience surprising results when thinking with our hands.

LEGO® SERIOUS PLAY® can be used for a broad range of topics - e.g. problem solving, strategy creation and teambuilding.

Come join me for a different and energizing workshop - forget the post-it notes, we will only use LEGO® bricks so bring your inner child along! :-)

Let's kick off Chaos Engineering

Workshop 3 hours - Suggested by Kasia Szulc

Products today are often built as distributed systems. Specialized services communicating with each other over the network, built on top of the cloud provider’s platform. The more components you involve, the more likely it’s the system will eventually break somewhere. Although service providers meet their SLO and sign on SLA. No one is perfect, and furthermore no one claims to be. A drop in reliability, although expected, can have a significant impact on your product, its capabilities, and effectively your users and the business. It may also have a detrimental effect on your team and you. Cascading failure can spread through your system affecting all of its components. How does one strive in such an environment? Can you avoid failure? Thinking about redundancies during system design helps, but won’t be enough. Working on a distributed system requires a change in mindset. Failure is not an option. Failure is default. We don’t react, we actively look for problems. By exploring your system, experimenting with various scenarios, you can find problems you missed. Chaos engineering is one of approaches you can take to explore how failure affects your product and system. Starting from its “mechanical” parts, like services, to people who maintain the product like me and you, and finally reaching real users. You know how to explore software, let’s now learn how to explore system failures.

Key leanings: -Learn how to kickoff chaos engineering session in your organisation.

  • Learn how to model your system and spot crucial vulnerabilities.
  • Learn vulnerabilities, modes of failure, and mitigation techniques that will help you make your system more reliable.
  • Learn about service level metrics, observability, and what steady state is.

Dataeierskap som grunnlag for applikasjonsutvikling

Experience report 30 min - Suggested by Mufrid Krilic

Tradisjonelt har dataanalyse og rapportering tatt utgangspunkt i spesiallagde datamodeller opprettet på bakgrunn av konvertering og transformasjon av operasjonell data. Det er derimot applikasjonsutviklingen som ligger bak designet av operasjonell data og som regel har denne datamodellen vært lite egnet til analyse og rapportering. En av de direkte årsakene til dette skillet er tilnærmingen som de aller fleste applikasjonsutviklere tar, nemlig funksjonell dekomponering av systemer, basert på systemfunksjoner beskrevet i kravspesifikasjoner, use-case, produkt backlogg etc.

Hva om det fantes en annen måte å utvikle applikasjoner på som gjør at data spiller mye mer sentral rolle i dekomponering av systemer? Hva om denne måten å modularisere systemet på gjør at dataanalyse, rapportering og applikasjonsutvikling plutselig sitter mye nærmere hverandre?

Bli med og se hvordan komplekse systemer kan designes med bakgrunn i dataeierskap og forretningstjenester (business capabilities), noe som fører til et helt annet utgangspunkt for dataanalyse og rapportering. Presentasjonen er basert på reelle historier fra helse- og forsikringsdomenet.

Domain-Driven Design for produkt- og teknologiledere

Workshop 3 hours - Suggested by Mufrid Krilic

Jobber du i en produktorganisasjon der hindringer til produktteamene oppleves som vanskelige å følge opp på grunn av mange avhengigheter på tvers av organisasjonen?

Kjenner du på den krevende ubalansen mellom vedlikehold på legacy systemer og behovet for å skape innovasjon gjennom ny funksjonalitet? Ønsker du å forbedre din IT-arkitektur slik at den er optimalisert for å imøtekomme disse kravene?

Om du kan svare bekreftende på et eller flere av disse spørsmålene anbefaler vi at du sjekker denne workshop’en hvor du lærer å oppnå balanse mellom verdiskapning for kunder og forutsigbar og bærekraftig produktutvikling med utgangspunkt i Domain-Driven Design!

Agenda: Del 1 - Innføring i Domain-Driven Design

  • Modellering, språk og å fokusere på det viktigste
  • Om prinsipper for logisk inndeling av et system
  • Metodikker for tverrfaglig samarbeid i praksis

Del 2 - Produktledelse med Strategisk Domain-Driven Design

  • Finne kjernedomenet
  • Om kompleksitet og hvor den er å finne
  • Fra organisasjonsarkitektur til IT-arkitektur, konsekvenser av Conway’s lov
  • Måle kostnader i en organisasjon

Tree Sitter: incremental parsing for developer tooling

Experience report 30 min - Suggested by Theodor Thornhill

Mot slutten av november klipper vi endelig ut Emacs 29 fra master. Med det følger det to features jeg har jobbet med de siste 3+ årene: støtte for Language Server Protocol, og Tree Sitter, som er det jeg tenkte prate om. Tree Sitter tilgjengeliggjør språket du koder i sitt AST, med et api som kan spørres på, direkte fra editoren. Det gir muligheter som syntaks highlighting, indentering og annet som alle moderne editors forventes å støtte. Fordi AST er tilgjengelig kan en også gjøre svært avanserte refaktoreringer, og sørge for at din kode ikke ender opp i en knukket state dersom du sletter noe i en fil.

Jeg tenkte fortelle om teknologien generelt, hvorfor den er ekstremt viktig for fremtidig språkstøtte, og livekode tooling som gjør en editor enda mer hendig.

Reverse engineering the context with Architecture Decision Record

Experience report 30 min - Suggested by Mufrid Krilic

When working on a software system of moderate size, everything in or around the system exists within a context. Trying to describe any portion of the system requires foremost the deep knowledge of the context that encircles the system. This knowledge constitutes the real competitive advantage for your company.

Realizing that the knowledge of the system lives only in the technical, organizational and business domain context that constructed it, what could be the best way to describe the system context? This is where the Architecture Decision Record (ADR) comes into play, a practice that helps you document the most significant decisions behind the system design.

This presentation goes through the challenges of creating and updating an ADR through a series of examples from different domains. We will summarize the experiences of using the ADR and cover the approaches that can successfully describe the context within which the system was developed.

Arkeologisk utgraving av fremtidens web-tekologi

Lightning talk 10 min - Suggested by Simon Riple

Med et historisk blikk ser vi tilbake på de forskjellige paradigmene som har formet dagens web-teknologi. Er status quo bedre enn før, eller bør vi kanskje revurdere og lete frem gjenglemte ideer fra fortiden?

Antifragility

Lightning talk 10 min - Suggested by Even Stene

Antifragility is about how one can not only handle stress and chaos, but also grow from these experiences and become stronger. We will look at what antifragility is all about and how it relates to positive psychology. We will through everyday examples see how we can react through the mindsets of fragile, resilient, antifragile. Together we can learn how to go from a fragile to an antifragile mindset and be better equipped to face difficult situations - both at home and in our product teams!

Improving JSON-Patch for fame, glory and smaller payloads

Experience report 30 min - Suggested by Eirik Osnes

Communication on the web is diverse. A message can consist of anything from a simple “OK” to an detailed explanation of all mythological creatures known to mankind. Now imagine you’ve just explained all of this - but you made a mistake! “Silly me! It’s ‘Quetzalcoatl’ not ‘Pretzel’ - stupid autocorrect!”. Would you want to explain the whole thing again? Of course not - the correction you just made should suffice. But with how internet communucation is usually done, with HTTP-PUT, you would have to do exactly that, explain it all again. Surely there must be a better choice?

There is! This is where HTTP-PATCH comes riding in as a knight in shining armor, promising to take down the Explanation Beast with precise attacks, changing only what is necessary. Armed with JSON-Patch they charge in. But can they fell the beast? Will the weapon be good enough? And what happens when they realize there are more than one beast to strike?

This is the story of how our application needed to do small changes to large documents, and doing the same change to several documents at once. It is about why we chose PATCH over PUT, and how even JSON-Patch wasn’t good enough. And what we did about it.

API-design - hva skjer med APIet ditt når verden endrer seg?

Experience report 30 min - Suggested by Hege Dreiem

En frontend-utvikler nevnte en gang for meg at han ofte ikke skjønner hva backend-utviklerne har tenkt når de designer et API. Dette foredraget er en historie om hva vi tenkte og hvordan vi jobbet med API hos Entur i en periode der det skjedde store endringer som gjorde at APIet vårt ikke lenger løste klientenes viktigste behov.

Teamet som denne historien handler om lager et API som samtlige togreisende i Norge bruker hver gang de bestiller en billett. Jeg forteller om hvordan vi arbeidet med å finne nye konsepter som gjør oss i stand til å løse klientenes problemer og deler tips til hva man bør tenke på når man jobber med API-design. Vi kommer også innom noen av utfordringene som oppstår når man havner borti forretningssensitiv informasjon.

Erfaringene bør være nyttige for alle som utvikler APIer eller er involvert i tjenestedesign.

Modern API design with... PHP?!

Workshop 1.5 hour - Suggested by Richard Hagen

Let’s explore best practices for APIs with OpenAPI with Symfony and API-Platform!

PHP and Symfony make for a beautiful combo. Both projects have excellent documentation and a long history of great backwards compatibility and deprecation policy. Together with the fact that they are super fun to work with, it’s no surprise there is a the massive community of PHP and Symfony developers out there that keep adding awesome stuff we can build upon!

In the spirit of fun and community, we will build a simple API for a bookstore together in a giant, interactive pair programming session. We’ll keep things modern by leveraging OpenAPI and Typescript to generate types and build a fully typed ReactJS frontend.

Anyone who participates can get involved or just sit back and enjoy the show. Bring popcorn.

Program Verifikasjon - Automatiske bevis for kodekorrekthet

Experience report 30 min - Suggested by Jens Gåsemyr Magnus

Enhetstesting er de facto standarden for å bekrefte at implementasjonene våre samsvarer med målene, eller spesifikasjonen, til produktene vi utvikler. Men finnes det noe bedre? Utviklingen av verktøy som kan automatisk bevise påstander, assertions, om programmene våre går frem med stormskritt. I denne talken vil jeg presentere hvordan programverifikasjon skjer på et teknisk nivå, og vise noen korte eksempler på hvordan det kan gjøres i praksis.

WebAssembly Component Model

Experience report 30 min - Suggested by Jens Gåsemyr Magnus

WebAssembly gjør at man kan kjøre binære programmer “close to the metal” på en sikker måte, med ytelse nær maskinkode. WebAssembly Component Model er et forslag som tillater sømløs binding av webassembly-komponenter til flere “host”-språk. Dette tillater at man for eksempel kan man skrive et komponent i rust og importere den i python som om det var en python modul, men med ytelsen til C (nesten), uten å skrive en eneste binding. Jeg gleder meg til en fremtid hvor vi kan kombinere implementasjoner i alle mulige slags språk uten hodebry!

If WASM+WASI existed in 2008, we wouldn’t have needed to created Docker. — Solomon Hykes, Founder, Chief Technology Officer and Chief Architect of Docker

NEWS ON OPEN-HARDWARE AR HEADSET – PROJECT NORTHSTAR

Lightning talk 10 min - Suggested by Ivan Kolesar

In recent years, technology of AR/VR is getting continuous attention. New generations of VR headsets is coming almost every year with the strong emphasis on VR based on headsets. In the field of AR, the situation is a little-bit different. There is a lot of focus on mobile AR solutions and only few production-ready AR headsets. Moreover, those headsets are strongly focused on the business area and quite expensive. Couple of years ago, there came to the light open-hardware for AR headset solution – Project North Star.

In this lighting talk I would like to briefly introduce the project, it’s history and current development/trends. We will compare different versions of the assembled ProjectNorthStar headsets and also compare them with the existing headsets and showcase the possibilities for the development. Lastly, we’ll showcase the development possibilities with a brief showcase of possible applications in the field of data visualization and healthcare.

Innovative project addressing NP-hard problem in health-care sector

Experience report 30 min - Suggested by Daria Kostiuk

Some time ago we in Rainfall have been honored and lucky to be involved in the exciting innovative project starting from scratch. We had freedom to pick technology and process framework to solve one of the most common and complex mind-breakers-scheduling. 

General scheduling problem is considered one of the NP-hard problems in computer science field. Imperative development would mean, that we would potentially wait for getting the solution infinitely long. To tackle the problem, we have used well-adjusted tool from google – OrTools. The problem is formulated as Constraint Programming of Boolean satisfactory problem (CP-SAT).

We have created and iteratively extended a model to include more and more important properties into available solutions – schedules. We have used principles of open-source development and software craftsmanship, where every newly introduced property has been developed, optimized, reviewed, documented, and included into automated tests.

We invite you to peek behind the scenes and have a chance to observe the whole journey from welcoming a customer’s idea, through solving sophisticated problems and to meeting end-users’ needs.

We will cover technical challenges and solutions, management processes and have a glance at decisions retrospectively.

Project manager’s lessons learnt about the scope creep

Lightning talk 10 min - Suggested by Daria Kostiuk

Scope creep is something everyone is aware of and even knows what to do with, but still many fall into this trap. We all are trying to be agile and welcome changes, even when customer locks the schedule…and cost…and still expects the high quality. Sounds familiar? I will share my experience from an innovative project I’ve been running for last 2 years and tell how I dealt with the scope creep, and what I learnt from it.

ML + UX = sant?

Lightning talk 10 min - Suggested by Siv Holen

Maskinlæring er ikke noe de fleste UX’ere jobber med i det daglige, og mange som faktisk jobber med maskinlæring skjønner ofte ikke hva det har med UX å gjøre. Koblingen mellom maskinlæring og UX er ikke åpenbar for de fleste. Likevel er mulighetene mange i samspillet mellom disse to. Siv og Nora tar debatten!

7 years of OKR-experiences

Experience report 30 min - Suggested by Espen Sjøvoll

Before most Norwegian companies became aware of the OKR-term, I started my journey of ups- and downs of succeeding with OKR’s. I will share my 7 years of OKR-experiences with examples from different companies and will give you some key take aways from typical pitfalls, a how-to-get started guideline and give you a free cheat sheet for how to write good objectives and key results.

Eating dog food considered harmful: Language and Inclusivity at Work

Experience report 30 min - Suggested by Ramón Huidobro

If you’re working in software, the primary function of your role is to turn human and programming languages into common understanding. As you work with your team and collective members, the way you use human languages around your work can have major impacts, even when we don’t intend it to. Together we’ll explore the cultural basis for how we shape the language we use. Let’s explore how and when to avoid analogies and ambiguous language. By the end of this talk, we hope that you’ll be ready to use the ideas and tips shared to help move towards collective understanding with your team.

Sometimes your teammates could get clarification with a web search, but “just Googling that” doesn’t always work in a world where conflicting information exists or internal terms might not be documented on the wider web. Let’s explore what we can do to ensure this lexical onboarding process is as smooth as possible!

Hello World of Reinforcement Learning

Workshop 3 hours - Suggested by Marek Vetter

This workshop will introduce the participants to some simple concepts of reinforcement learning (RL). The workshop will consist of an introduction to RL as well as how to use RL to solve problems. Further we will introduce Gymnasium, former OpenAI Gym, a collection of reference environments. This whole suite of technology wil result in you solving your first problem with reinforcement learning. Now nothing can stop you from solving general artificial intelligence. No prior knowledge of RL/Python is necessary.

Hvordan gjøres en autentisering med OpenID Connect sånn egentlig

Workshop 1.5 hour - Suggested by Øyvind Kallevik Grutle

Du har kanskje oppdaget at flere nettsider og apper de siste årene lar deg logge inn med tredjeparts aktører, som Google, Facebook, Vipps, osv. I denne workshopen skal vi gå gjennom hvordan dette gjøres i praksis med å ta en titt under panseret til OpenID Connect (OIDC) standarden, og hvordan den åpner opp for å gi en tredjeparts aktør ansvaret for å gjennomføre autentiseringen av brukeren.

Autentisering med OIDC er noe som vanligvis bør løses med å bruke biblioteker. I denne workshopen kommer vi derimot til å gjøre alt manuelt for å få en grundig forståelse for hvordan flyten fungerer.

Målgruppen for denne workshopen er utviklere som ikke har noen erfaring med OIDC fra før, eller utviklere som har litt erfaring men ønsker en dypere forståelse av flytene. Vi har laget støttekode i Python, men det er ingen problemer å enten løse oppgaven i et annet språk eller med cURL, Postman, osv.

Control Towers in a Supply Chain

Lightning talk 10 min - Suggested by Michael Schjøtt Hansen

An end-to-end supply chain control tower provides organisations the capability to continuously track specific business issues from symptom to root cause, and drive action management. Including predictive and cognitive capabilities

Estimation is impossible

Lightning talk 10 min - Suggested by Gard Lundh

A lot of people find estimation demotivating. Having experienced that “a small task” suddenly turning into a huge mountain to climb, I must say I am one of them. In my experience estimation can lead to frustration for customers, project managers, product owners and most of all, the person doing the task of estimating. In this talk I will try to answer two questions; is it possible to make good estimates, and what consequences can estimates gone wrong have on people and the products they make?

A beginner’s journey into Test and Test Driven Development

Workshop 3 hours - Suggested by Helena Nandi Formentin

Tests, TDD and Automated Tests are among what we will practice together. The objective is to share learnings from our journeys while enabling us to connect around Test and Test Automation. Some rudimentary knowledge of Python is beneficial but not mandatory.

Hvordan spille kunden god

Experience report 30 min - Suggested by Merete Lunde Bertheau

Som konsulenter er det kritisk å vite hvordan spille kunden god. I dette foredraget skal Hamy og Merete ta publikum gjennom deres erfaringer gjort som konsulenter, med en humoristisk og leken vri. Det å være konsulent krever å ta hensyn til flere aktører og vite hvordan man strategisk kan gå frem for at hver av aktørene styrker hverandre i sine roller. Hamy og Merete har begge god erfaring innenfor design og det å jobbe tett med mennesker, og i dette foredraget vil de belyse noe av det som er viktig å huske på når man jobber med ulike aktører. De kommer til å komme med tips til hvordan man kan spille kunden god og gi publikum en smakebit av hva man kan ta med seg som et ekstra ess i ermet. Dette foredraget passer for alle som jobber med mennesker og i tverrfaglige team i tech-bransjen, men historiene de forteller kan også være anvendelig og nyttig å ta med seg inn i flere aspekter i livet.

Varme i “kaldt salg”

Lightning talk 10 min - Suggested by Ingrid Lindaas

“Kaldt salg” innebærer å aktivt kontakte en person eller bedrift som ikke har vist interesse for deg eller dine tjenester selv, eller ta det første steget i en samtale med noen du ikke har relasjon til fra tidligere. Miles har faglig autoritet og varme som verdier og da er avstanden stor til det som oppleves som “kaldt salg”. Likevel må også vi i Miles åpne nye dører for å kunne etablere varme relasjoner som kommer våre konsulenter til nytte. Hvordan får vi til dette? Tilnærmingen som blir gjennomgått er også relevant for oppstartsbedrifter eller til bruk på din neste Tinder-date.

Devops

Lightning talk 10 min - Suggested by Gunnar Storebø

Internal application tool building in minutes with Appsmith / low code frameworks.

Scenario 1: All companies that have some kind of customer support, end up developing custom made web applications which the customer support team use to help customers. In the end these applications perform some kind of create-read-update-delete operation on a database, or calling an API to perform similar operations. These applications are almost as time consuming to make as the web sites/ mobile apps that the customers use.

Scenario 2: Or have you ever sat writing wiki pages on how to perform a certain task. For example:

  1. Check out repo “X”
  2. Copy, edit and push file “Y”
  3. Log into cloud portal, click this.
  4. Check the status in the logs before that
  5. and so on.. … realizing that there are api endpoints that can do all these tasks, but writing an app for this will be too time consuming to make it pay off.

Low code frameworks like Appsmith and Retool have emerged to deal with these kind of needs, and provide a framework for making small apps fast. We have started making internal tools for devops and developers in Sbanken, and so far it looks like a good tool for solving these kind of needs.

How to replace a monolith without recreating the monolith. Enabling Equinor to utilize large scale Industrial IoT data.

Experience report 30 min - Suggested by Sofija Ivanova

Motivation

Equinor is among the front-runners in becoming a data-driven organization. Integrated Operation Centre & Technical Efficiency (IOCT) is one of the flagship initiatives, where domain experts give recommendations related to long-term production and process optimization based on real-time time series data. To do this, they need to be able to access large amounts of data from several different source systems and continuously perform calculations and analytical evaluations. This relational complexity and users’ need to access results in real time puts great demands on the solution.

Today’s solution was developed based on a system built nearly 10 years ago and is built with monolithic architecture in mind: the solution consists of tightly intertwined pieces, which makes it difficult to modify and scale up to satisfy the increasing need for calculation power. To ensure continued delivery of high-quality services, domain experts need a new and better calculation engine.

Ambition

Two years ago, we started building a replacement for the old solution with the following criteria:

  • It should be based on interactions between smaller components and be therefore easier to scale and maintain (microservice architecture with Microsoft Service Fabric),
  • It should be able to handle huge amounts of data ,
  • It should provide fast, real-time access to data by using in-memory storage.

What we are going to talk about

In this presentation we will talk about the challenges we have encountered along the way, which questions we have had to ask ourselves, and which answers we still don’t have today.
The most important questions to keep asking ourselves have been:

  • How can we create a new system that solves today’s problems without slipping back into old mindsets, that would lead us back to the same mistakes?
  • How can we build a system that can support other additional solutions that would enrich our business, without ending up developing a niche solution ourselves?

Welcome to our reflection session.

Understanding APIs through drinking glasses

Lightning talk 10 min - Suggested by Mauro Lopez Jimenez

API is a very important concept in software development, however it is very abstract and it could be difficult to understand even when the definition is known.

As coders we frequently use more technical abstraction layers when talking about APIs but in this talk we will define APIs using design, metaphors and analogies.

Through a very well known interface as it is the drinking glasses, the concepts of interfaces, fitness, user experience and usability are going to be introduced. This with the intention of understand the context of APIs and identify components, and then being able to use this knowledge to design better solutions.

So get a glass, prepare your favorite drink and let’s talk about APIs.

Første flytur i Figma

Workshop 3 hours - Suggested by Vegard.hesselberg@knowit.no

Har du noen gang hatt lyst til å bli bedre kjent med Figma? Denne workshoppen er myntet på utviklere som har lite eller ingen kjennskap til verktøyet, men som gjerne vil bli bedre kjent med det. Du blir kjent med frames, components og prototyping for å nevne noe. I løpet av workshopen vil jeg også dele av mine erfaringer og fortelle om noen av mine snarveier til design med Figma. Vi vil jobbe i et figma-brett jeg har laget – hver deltaker får sin egen kopi som kan brukes som referanse etter konferansen.

Etter workshoppen vil du være i stand til å lage skisser og prototyper, og du vil ha et innblikk i økosystemet til Figma.

Figma er et verktøy for grensesnittdesign, der utviklere og designere kan samarbeide på designprosjekter i sanntid. Figma brukes av de fleste virksomheter som utvikler programvare, og omtales ofte som “Google Docs for design”.

Ta med egen PC. Jeg anbefaler å laste ned Figma på forhånd, men om nødvending kan det også brukes i nettleseren.

How-to: Running Java in the Cloud

Workshop 1.5 hour - Suggested by Rustam Mehmandarov

Want to know how you can modernize your Java applications?

Join us in exploring different options for running your Java apps in the Cloud and what your app needs to support to be a good Cloud citizen!

The examples will be based on Google Cloud, and we will mention how we can apply that knowledge to other Clouds, including on-prem/private Cloud solutions.

5 tips to make your Java apps more awesome

Lightning talk 10 min - Suggested by Rustam Mehmandarov

But what is awesome? Well, for instance, an awesome app reacts to failure and still remains functional, can provide information about its status, can provide an easy way of enabling easy way of toggling features, is easy to test, and is fast – it is ready to go to prod right away!

We talk about these and other features and show you some options while we build an (slightly opinionated?) demo application from scratch. Join us for this fun evolution of a few lines of code into a modern cloud-native application!

Escaping Developer Nightmares

Experience report 30 min - Suggested by Rustam Mehmandarov

Have you ever worked on a legacy project, like lots of source code, but no unit tests? Or no continuous delivery? Static code analysis completely missing, or even a simple code standard totally absent?

Projects like these are still more often the case than we like to think. In fact, maybe you are a developer stuck in such a project, even though you have tried to raise these issues as problems? Were you told that is gold-plating, or simply too much work to fix?

I would like to share my experiences from a couple of such projects, both from the perspective of a tech lead in a project like this, and as a software reviewer (i.e. doing software auditing). But most important: I would like to help you with some good arguments, to convince your project leader why these things matter.

Design egne ikoner, vær så snill

Workshop 3 hours - Suggested by Christian Buvik

Designere av digitale løsninger tar veldig ofte i bruk ikoner i grensesnittene som lages. Det er mange som sverger til f.eks. Googles Material-ikonsett, eller et av de mange andre gratis settene som finnes.

Men hva skjer når du en dag trenger et ikon som skal representere noe som ikke dekkes av settet du har valgt for løsningen din? Vanligvis blir det litt plukk og miks, og veldig ofte påvirker dette designets helhetsinntrykk.

Her vil dere lære hvor enkelt det kan være å lage sine egne ikonsett. Vi går gjennom verktøy og teknikker for tegning av ikoner i Figma eller Sketch.

Get better in (a multiple of) 4 easy steps

Experience report 30 min - Suggested by Maja Jaakson

Let’s be honest… we could do better, right?

Thankfully, loads of medical doctors have had this thought about their doctoring many times before. Even better—many of them acted on it. And best of all: some of them figured out a great way of getting better at doing things. And not just doctoring things, but things in general. Really, really general.

In this talk, Maja will present this way of getting better at things. She’ll introduce you to a framework for process and outcome improvement so impressive, she’d argue it lives up to its ridiculously bold name: The Model for Improvement. Using it involves asking yourself three little questions, then entering a cycle with just four steps. It’s a thing of beauty: elegant, generic, simple and effective. You’re going to love it… immodest name and all.

How to change your organizations to the better !

Workshop 1.5 hour - Suggested by Tonje Evanger

In this workshop you will learn more about how design can be applied in development of organizations and strategy processes. The landscape for organizations is unpredictable and constantly changing, and traditional strategy processes can make use of design principles to address the need for constant adaptation, to understand new opportunities and innovate.

Together, we will demystify working with strategy, and you will learn some tricks to take on these challenges by YOUR skills.The workshop starts with a short introduction, before we will do fun and practical exercises by using our newly developed Strategy board game.

You will get a board game kit from us, and do not need to bring anything of your own.

Nuclear testing

Experience report 30 min - Suggested by Sindre Fjogstad

Meet your new and best excuse for misbehaving software; neutrons.

Radiation is everywhere and such our hardware is constantly bombarded with strange and sometimes fatal consequences. In this talk you will learn why you need to be aware of radiation and what it means for you and your software. This is a talk that will give you new excuses for bugs, but at the same time explain why smaller and smaller hardware chips makes this more plausible.

DevSecOps: beyond the buzzword

Lightning talk 10 min - Suggested by Eirik Berntsen

DevSecOps has been a popular topic for a few years and Gartner predicts it will see widespread use within the next two years.

In this talk we will explain what DevSecOps is, look at some of its driving forces and see how automated DevSecOps processes can fit within a development pipeline.

Walk away knowing what the fuzz is really about the next time someone throws this buzzword at you.

How to stay on top of your tasks

Experience report 30 min - Suggested by Marius Hauken

We all use some kind of project-management sytem with our team, but what about the tasks you have to do that don’t fit into your Trello-board? Or what if you juggle multiple projects and side projects?

The best way to stay on top of things is to have a flexible strategy that you can adapt to any situation:

Marius Hauken shares his system for task tracking, planning his week and note-taking. This system is flexible and can be adapted to any project, big or small. It’s not tied to any specific tool, though Hauken will share his preferred apps.

The talk will also go into note-taking and share a flexible system for note-taking that makes it easy to find old notes and clients.

Psychological safety in autonomous dynamic teams - how to achieve it in practice?

Experience report 30 min - Suggested by Therese Engen

Inspired by Team Topologies, we have introduced autonomous self-managing and dynamic teams in Capra Consulting. When doing this, knowing that psychological safety is important in good teams and working environments, we tried to introduce a good team culture in the new teams. But how to implement this in practice? In teams with different personalities, experience and motivation, this was a lot easier said than done. In this talk, I will share some experiences from this work. You will be left with three things you can take with you in your team, as well as three learning points on what not do do.

Domain Specific Languages in Kotlin

Lightning talk 10 min - Suggested by Morten Nygaard Åsnes

The Kotlin programming language seems to be particularly well suited for making Domain Specific Languages (DSL). In this talk we’ll take a look at some popular Kotlin based DSL’s, and then dig into the specific language features that we can use to make our own DSL.

Customizing Figma prototypes

Lightning talk 10 min - Suggested by Marius Hauken

Have you ever needed to customize your Figma prototypes to your test subject? This is often a case within Fintech, where test subjects need to recognize their accounts (and numbers) for a test to make sense. In this lightning talk, Hauken shares a simple hack to create multiple personalized prototypes in Figma effortlessly.

Why you should let business people make technical decisions

Lightning talk 10 min - Suggested by Bjørge Solli

What is required to let your business needs drive your day-to-day operational and technical decisions, and still keep control from a technical perspective? This will let your techies stay sane and your business focus on track, and in a true DevOps manner - continous improvement where it matters most.

Free time feature frenzy

Experience report 30 min - Suggested by Elisabeth Whiteley

Hobby projects are supposed to be fun, not stressful, but if your hobby is basically the same as your job, it could lead to more stress and burnout instead of being a way to destress. So how does one complete an ambitious hobby project without making it feel like a second job? In this talk, Elisabeth will describe her experience creating a ghost hunting augmented reality app using a bunch of fun features in both Swift and Kotlin, showing how she managed to make the Apparat offices haunted while keeping her sanity intact.

Hva oppnår vi med grunnleggende åpenhet?

Lightning talk 10 min - Suggested by Lars Ingar Øien

Kulturen i konsulentselskapet 321 er basert på grunnleggende åpenhet og tillit. Hva skjer når all informasjon er tilgjengelig og alle blir oppfordret til å utfordre?

I 321 har alle en mulighet, men også et ansvar for å justere om noe ikke er bra. Dette gjør at vi slipper løs alle kreftene i oss som jobber i selskapet. Dette er både gøy og skaper gode resultater.

How fp-ts made our code coherent and developers happy

Lightning talk 10 min - Suggested by Nils Magne Lunde

Our frontend codebase has been worked on by multiple developers. They all had their own way of structuring the code, some based on OO principles, others closer to FP. The result was a messy codebase that brought sadness and frustration to the team.

fp-ts to the rescue! By using this FP library, the developers were suddenly joyfully writing code the same way and they were loving it! The result was a much more coherent code base that was both easier to understand and maintain. As a bonus, this way of coding resulted in less runtime errors. What’s not to like?!

A brief history of Simula

Lightning talk 10 min - Suggested by Morten Nygaard Åsnes

Programming languages has evolved a lot from the early days, and yet many of the ideas from early programming languages keep inspiring new languages. Simula was invited in Norway in the 60´s as a language for doing simulations, but is best remembers as the language that introduced the consept of Object Oriented Programming. But Simula was also one of the first languages to introduce Coroutines for doing asynchronous programming. So why didn´t Simula become a mainstream programming language? Let´s take a look at the history and features of the Simula programming language.

Advances in data visualization with Plotly Dash, and the importance of thriving open source communities.

Experience report 30 min - Suggested by Arne Petter Drageset

A bold statement: Most of you are using your communities wrong!

And I would like to inspire you to change that while I talk about my experiences with the most popular Python graphing library; Plotly!

My aspirations for a 30 minute talk at the Booster Conference:

  • Introduce newcomers to the amazing visualization capabilities of Plotly and Dash.
  • Give seasoned Dash users a few tips on best practices.
  • Share how the people at Plotly inspired me to become the highest ranked contributor to the Plotly tag on Stack Overflow.
  • Inspire the conference participants to contribute more to their respective communities.
  • Show the conference participants how their own contributions can even make them more efficient in their daily work.

More on my background and motivation to speak at the Booster Conference:

As an IT consultant with a limited formal programming background, I would like to share how the thriving communities on Plotly’s community Forum and Stack Overflow enabled me to go from asking to answering questions about programming in a very short time. And how my contributions has put me in a position where I can collaborate with some truly great programmers from all parts over the world.

With over 12 million monthly downloads of their open-source libraries, and over 326 million total open-source downloads, Plotly is enjoying rapid growth and rising popularity. A large part of their success is undoubtedly owed to their decision to open-source a majority of their visualizaton and dashboarding tools, as well as the thriving communities that have evolved around them. Combined, Plotly’s own Community Forum and contributors to the Plotly tag on Stack Overflow have produced questions and answers on almost 100 000 posts.

I happen to be one of those users, and currently hold the position as the all-time highest ranked contributor to the Plotly tag on Stack Overflow. I have also had the pleasure of working closely with other members of the Plotly community as a Community Ambassador on various projects. One of our latest major contributions is a curriculum that we have written under the guidance of professors from the University of British Columbia and Plotly Community Manager, Adam Schroeder. And I would like to share my story of going from asking questions about programming, to writing a programming curriculum with some of the best programmers you can find.

Teknisk Gjeld er bra🔥

Lightning talk 10 min - Suggested by Martin Larsson

Vi utviklere elsker begrepet ‘Teknisk Gjeld’. Det er vår favorittunskyldning for å somle og sløve.

Men hva skjer om vi ser på teknisk gjeld som en investering?

Bash - scripting for utviklere

Workshop 3 hours - Suggested by Martin Larsson

Bash er limet i mange av bygge- og utviklingsprosessene våre. Språket er svært enkelt med bare 22 reserverte ord. Likevel oppleves det som vanskelig og komplisert. I denne workshoppen prøver vi å avmystifisere dette litt underlige språket. Vi ser på hele spekteret av muligheter, fra enkle aliaser til å forsøke oss på en fullverdig applikasjon.

Det er tre deler, en for nybegynnere, en for de som kan litt og vil automatisere hverdagen, og en for de som har en del erfaring. Workshoppen er i hovedsak selvstyrt, så deltakerne kan velge sin egen vei gjennom oppgavene.

Del 1 - Grunnleggende bash

Variabler
Skript
Parametre
Redirigering
if
for
Funksjoner

Del 2 - Enkel automatisering

Skripting av arbeidsflyt med git

Del 3 - Bussreiseapp

REST og GraphQL fra bash
Parsing av JSON
Konfigurasjon
Brukerinnputt

The Crucial Thing Every JavaScript Framework Lacks

Workshop 1.5 hour - Suggested by Knut Anders Stokke

Stadig dukker det opp nye JavaScript-rammeverk opp, hvert litt mer skinnende enn det forrige. De yter bedre, tar mindre pakkeplass og støttes av bedre utviklerverktøy. Men ingen av de hjelper oss med en av de vanskeligste problemene innen GUI-programmering, nemlig å håndtere kompliserte avhengigheter mellom dataen som brukeren interagerer med. Koden som opprettholder slike avhengigheter blir i stedet spredd ut over event-listenere, noe som enkeklt introduserer bugs og gjør koden vanskelig å forstå og vedlikeholde.

Enda verre blir det når man introduserer asynkron kode, som for eksempel API-kall til en server, noe som er helt vanlig for dynamiske nettsider. Vi vil gjerne holde programmet aktivt for brukeren mens vi venter på svar fra serveren, men hvis andre eventer håndteres samtidig risikerer man å oppdatere variabler som allerede er i bruk, og dermed ende opp i en ulovlig tilstand. Dessverre er slike feil så vanlig at mange brukere ikke blir overrasket når det skjer. Man restarter programmet eller laster inn siden på nytt og håper at det ikke skjer igjen.

I denne workshopen så lærer deltakerne en ny måte å programmere GUI-logikk på, nemlig ved å deklarativt spesifisere avhengigheter som “relasjonsalgoritmer”. Dette gjøres med biblioteket HotDrink, som bygger på forskning fra Universitet i Bergen. Relasjonene utgjør et “relasjons-system”, og hver gang brukeren (eller programmet) oppdaterer en variabel og dermed bryter en relasjon, vil HotDrink oppdatere andre variabler for å gjenopprette relasjonssystemet, og dette på en måte som er intuitiv for brukeren.

Det reaktive systemet til HotDrink støtter flerveis dataflyt, asynkrone handlinger og pinning av variabler, og vi vil i workshopen utforske disse konseptene og lære oss hvordan intuitiv GUI-logikk kan utvikles på en effektiv måte.

Kan holdes på norsk eller engelsk.

Customizing figma prototypes

Lightning talk 10 min - Suggested by Marius Hauken

Have you ever needed to customize your Figma prototypes to your test subject? This is often a case within Fintech, where test subjects need to recognize their accounts (and numbers) for a test to make sense. In this lightning talk, Hauken shares a simple hack to create multiple personalized prototypes in Figma effortlessly.

Javas nye trådmodell - fremtidens vev?

Workshop 3 hours - Suggested by Martin Larsson

Java 19 introduserer en forsmak av Project Loom som gir oss nye verktøy for å håndtere samtidighet. Hvordan virker det?

For å få bedre ytelse og slippe å vente på ting som tar tid, skriver vi kode som kjører samtidig. Ulempen med samtidig kjørende kode er at tråder kan kjøre i feil rekkefølge eller gå i beina på hverandre, og tråder skalerer dårlig når det blir mange samtidige forespørsler. Vi har laget oss en del teknikker for å håndtere dette, men lite av det er direkte støttet av JDK’en. Project Loom endrer dette ved å tilby virtuelle tråder og strukturert samtidighet.

Virtuelle tråder (JEP 425) tar Java tilbake til en trådmodell som er uavhengig av OS’et. Tråder er ikke lenger en kostbar ressurs, noe som gjør at vi kan lage flere og de kan leve til arbeidet de løser er ferdig. Strukturert samtidighet (JEP 428) gjør det lettere å skrive og feilsøke flertrådet kode, som lar oss unngå trådlekkasjer og andre problemer.

Sammen skal disse gi oss muligheten til å skrive effektive og skalerbare applikasjoner på en enkel og intuitiv måte.

I denne workshoppen leker vi oss litt med disse nye teknologiene og ser hvor de kan føre oss.

Workshoppen avsluttes med diskusjon rundt det vi har lært

Når er dette riktig modell? Hvorfor bruker ikke Java async/await?
Hvilke problemer løser det?
Når er andre teknologier bedre?

Fra idé til løsning på 5 uker: Erfaringer med tverrfaglig eierskap og samhandling

Experience report 30 min - Suggested by Sofie Bjørnå

I vårt første prosjekt i arbeidslivet fikk vi gleden av å jobbe på en måte som ga oss ekstremt høy hastighet, og vi gikk fra idé til lansert løsning på snaue fem uker! I ettertid har vi samlet erfaring fra andre team og prosjekter hvor hastigheten ikke har vært like høy og stilt oss spørsmålet “hva gjorde det første prosjektet så veldig bra?”.

Vi har sterk tro på at dette bunnet i teamets eierskap til løsningen og hvordan dette eierskapet ble dyrket gjennom tett og god kommunikasjon, samt felles mål og retning. Eierskap leder ikke bare til høy fart, men også økt kvalitet og tilpasningsdyktighet. Dette mener vi er ekte smidig utvikling! Vi vil gjerne fortelle hvordan vi jobbet for å oppnå dette, slik at flere team der ute også kan sette utviklingen i sjette gir!

Dude! Thats my stuff!!!

Lightning talk 10 min - Suggested by Kristian Andre Kastet

In 2010 Mike Hayden said: “You guys made the Cyberworld look like the North German plains, and then you bitch and moan because you get invaded all the time!” Moreover, it has been known since the mid nineties that Cyber is a domain, but what does it mean? What is the relevance for the stuff you do every day?

Threat intelligence

Lightning talk 10 min - Suggested by Kristian Andre Kastet

Learning what attacks you right now is information available right at your fingertips if you know where to look, (you do). Understanding who is way harder and requires skill and patience. But in all, this is still tactical. What about operational intelligence and even strategic? What is happening in the world that may affect me and the business in the future?

Accessibility testing from A to AAA

Workshop 3 hours - Suggested by Vegard Haugstvedt

Although accessibility/universal design of web content has been required by law in Norway for close to a decade, the introduction of the EU Web Accessibility Directive (WAD), as well as strengthening of existing laws to account for pre-existing software in 2021 has put accessibility on the agenda for a lot of organizations over the last couple of years. By February 2023, all public sector organizations even had to fill out and publish an accessibility statement.

In order to fulfill these requirements, professionals working with software development need to know how to properly test their applications beyond some superficial effort. That is what this workshop will teach you.

We will cover a range of methods for how to explore, scan for and identify accessibility issues. Through this practical approach, you will also acquire a solid, foundational understanding of the Web Content Accessibility Guidelines (WCAG) - beyond the often too technical wording used in the specification.

Under-engineered patterns

Workshop 1.5 hour - Suggested by Adrian Roselli

Sometimes a developer will reach for a library or framework for the most basic kinds of controls, such as form fields. Reasons vary from design flexibility to less time spent coding that one instance. But the impact can be significant for page weight, accessibility, and maintenance. Instead, I will walk through some of what HTML offers already and show how you can still satisfy design and code requirements without the potential side effects. Each example will consider accessibility, beyond WCAG, while walking through the thought process. Even if you don’t use them, you should come away with better understanding of the features built into the web platform and what to consider when building any part of the web.

Three takeaways that the audience will learn from your talk

  1. HTML fundamentals;
  2. Building from an accessible base;
  3. Applying those to other scenarios.

Continuous accessibility testing

Workshop 1.5 hour - Suggested by Vegard Haugstvedt

In modern software development, with short sprints or even continuous deployment of code, time for manual testing can often be scarce. If we want to properly test for accessibility, we need to make every effort to automate what can be automated, so we can spend our time where it is most valuable.

By attending this workshop, you will get hands-on experience with different tools to test for accessibility. We will cover linting, unit testing and ui-/integration testing using Eslint, React Testing Library, Cypress and Axe. You will also learn about which types of tests you can’t automate, and be introduced to some tools to aid your manual testing.

This workshop is best suited for developers and technical testers, or others who know how to run a Node.js application. In order to get the most out of the time at the workshop, it is beneficial to pre-install Git and Node beforehand.

Overlays Underwhelm

Experience report 30 min - Suggested by Adrian Roselli

Overlays are an ongoing accessibility, privacy, and legal concern. Adrian will discuss issues with overlays broadly, avoiding focus on any single platform. Learn the weaknesses and risks in using website overlays on your website. Informing this will be the experience of users, both direct and documented, with the various barriers overlays create.

Looking ahead to WCAG 2.2 ... and 3.0?

Lightning talk 10 min - Suggested by Vegard Haugstvedt

In 2023, the Web Content Accessibility Guidelines (WCAG) 2.1 will turn five years old. Almost ready for elementary school, even though it was just adopted by Norwegian law two years ago. It is now time to look ahead to WCAG 2.2 and the new requirements that look likely to make the cut this time.

We will have a quick look at the new requirements, and the process remaining before this all applies to us in Norway. And before we finish up, we will also have a look in the divining ball at how WCAG 3.0 might look - a completely revamped specification that will break with a lot of what we know today.

Towards a learning organisation

Experience report 30 min - Suggested by Isak Falch

Surviving in the learning economy will require a radical shift in the way we work.

How do we move from a culture of delivery to a culture of learning? In this talk we’ll examine how to facilitate our organisation’s journey from focusing on technology and what we can build, to people and what we can help them achieve.

Workplace: A case study

Lightning talk 10 min - Suggested by Keren Kenzi

We can view the workplace as a case study. As often done in psychology, we will analyze different aspects and situations. In this session, I will go over different scenarios, which are common in workplaces, and I will show you how we can apply knowledge from fields in psychology to improve workplace dynamics and development. In addition, I will talk about the importance of emotional intelligence in the workplace, as what differentiates a good leader from an exceptional one is the EQ, not the IQ. I will cover the basics of Daniel Goleman’s research on emotional intelligence and give tips to improve leadership skills.

Chrome Extensions DIY

Experience report 30 min - Suggested by Keren Kenzi

Wouldn’t it be great if you could use your coding skills to simplify your day to day tasks and boost your productivity with tools like Chrome Extensions? In this session, we will explore the magic behind Chrome Extensions and how you can write your own in just a few steps. We’ll go over the basic manifest fields we need for that and conclude with a demo. I hope to inspire you to write Chrome Extensions, and that one of these days, I will see your creations in the Chrome Web Store.

Channeling your inner tech blogger

Workshop 3 hours - Suggested by Keren Kenzi

There is a saying that the best way to learn something is to teach it to someone else. When we write a tech blog, we share our knowledge with others and deepen our understanding of the subject. We also improve other skills along the way and build our professional brand and signature. In this workshop, we will discuss the benefits of writing a blog and try to remove all the barriers that have stopped us so far from writing a blog. Together we will think about topics to write about and start our draft, and hopefully, publish a blog soon after the workshop.

Dealing with databases

Lightning talk 10 min - Suggested by Karianne Berg

Even in 2022, when you’re not consumed by various hypes, it’s 99% certain that a relational database is going to be the best choice for your data storage needs. However, a lot of people don’t really know what to do when they have performance issues and the database is the bottleneck. In this talk, Karianne will go through the most common issues she’s seen in her 15 years of making databases do stuff quickly, and what you can do to fix them.

The SPACE of Engineering Productivity

Workshop 3 hours - Suggested by Ashley Hunsberger

Abstract:

Have you ever been asked, “how productive is the team?” In our experience, business leaders have asked this question thinking a single metric will answer it. IT WON’T. Not the team velocity. Definitely not bug counts. So what can? Join us in our workshop as we dive into the SPACE of engineering productivity!

Inspired by Dr. Nicole Forsgren’s groundbreaking work with other researchers from around the world, we will introduce how we can take a holistic view of productivity. Come ready to discuss and learn about SPACE - from dimensions like Satisfaction and well-being, Performance, Activity, Collaboration and Communication, and Efficiency and flow, to the various levels we can apply them in (individual, team, and system/organization). Workshop ways to apply this and tell a story to your own leaders, and be able to answer, “so, just how is the team doing?”

Outline (note we can change timings/type of activity, no problem):

  • Introductions - < 5 min – Ashley (Raleigh, NC, USA) – Lorena (Colombia, South America!)

  • Introduce SPACE framework - 10 min – Introduce the Levels: Individual, Team, System/Organization – Introduce the Dimensions: Satisfaction and Well-Being, Performance, Activity, Communication and Collaboration, and Efficiency and Flow

  • Introduce how activities will go (5 min) – Reminder of the dimension – What metrics could you use? (and at each level) – How could you capture them? – How could someone misinterpret them? How could they be used for harm?

  • ACTIVITY 1: Define Satisfaction and Well-Being - 20 min – participants (in groups of no more than 5) work together to define Satisfaction and Well-Being metrics they could use (and ways to gather that information). – SHARE with the broader group (may need to swap or ’travel the room’ depending on size of group)

  • ACTIVITY 2: Performance - 20 min – Participants work together and learn from each other various performance metrics they could use – SHARE with the broader group

  • ACTIVITY 3: Activity - 20 min – Participants work together and learn from each other various activity metrics they could use – SHARE with the broader group

——BREAK?——-

  • ACTIVITY 4: Communication and Collaboration - 20 min – Brief overview / reminder – Breakout groups - work together and learn from each other various communication/collaboration metrics they could use – SHARE with the broader group

  • ACTIVITY 5: Efficiency and Flow - 20 min – Brief overview / reminder – Breakout groups work together and learn from each other various efficiency/flow metrics they could use – SHARE with the broader group

  • ACTIVITY 6: TELL YOUR STORY! - 20 min – What may be most useful to tell a story of how the team is doing? – three dimensions, various levels – How would you tell the story to your boss? Your boss’s boss? – SHARE with the broader group!

Wrap up and Reflections -10 minutes

Getting back on the Horse after 10 rejections

Experience report 30 min - Suggested by Maryam Umar

I was jobless for 6 months. Not by choice but by fate. Updating your CV and interviewing when you are not mentally prepared to do so is a very difficult situation to go through. One would think that the current market is the candidate’s market, so why didn’t I have a job for 6 months? I went through a lot of interviews. And with each interview, I started losing hope in my skill-set. This happened not because I wasn’t doing well. I was continuously told that they really liked you, BUT… and nothing. I still don’t have useful feedback for why I got rejected 10 times. I even started questioning whether I want to be associated with the tech industry. A part of me also started thinking that I am being put forward only because I am a ‘diverse’ candidate. Turns out, it only took one person to give me a job offer during my first interview with them. They saw my strengths which was a great morale boost. However, my imposter syndrome had settled in nicely in these 6 months. So how do I learn to ride the waves again? This is where my previous career and life coaching sessions helped tremendously. In this session, I want to share how we can continue to learn from every interview rejection. And how we can use some help from mentors and coaches to keep our head high.

Retro av retro

Lightning talk 10 min - Suggested by Vilde Sol Vabø

En vanlig felle når teamene kjører retrospektiv er at de samme punktene dukker opp gang på gang. Dette kan være fordi det er utenfor teamet sin påvirkningskraft eller at teamet trenger bistand fra noen utenfor teamet for å gjøre noe med det. Dette kan virke demotiverende på teamdeltakere, og resulterer ofte i at de anser retrospektiv som et rutinemøte de ikke får noe ut av. Formålet med retro av retro er å skape et samlingspunkt for å diskutere forbedringsinitiativer på tvers av teamene, samt eskalere saker som er utenfor teamets påvirkningskraft. Dette er med på å danne et grunnlag for at endringer kommer nedenfra, og at ansatte kan være med å påvirke hvordan man jobber. Samtidig kan det bidra til å styrke relasjoner og samarbeid mellom team.

Landing Zone Architecture

Lightning talk 10 min - Suggested by Vegard Rivenes - but Marius is presenting , i just nominate

In order to build a secure and scalable cloud environment, the Architecture is key - we will present some of or key experineces in order to get going in the cloud with the right fundament for you business!

Development with D3 with React

Lightning talk 10 min - Suggested by Benjamin Rindarøy

React developers love to code with the vast libraries of npm. When it comes to visualizing data, we have vast chart libraries to choose from. Many is highly regarded with lots of customization and easy ready-to-go components. But what if you want to customize the component down to every detail or visualize something that you never seen before in a charting library. If you have heard about D3 before, you know that you can create however custom visualization you want, but maybe sceptic about the learning curve or react compatibility. Don’t worry, it’s not as daunting as it looks. This talk about me sharing my journey to discover how I implemented D3 in React,

Missing anything?
Suggest your own talk!