By Developers,

For Developers

26 - 27 January 2018
Oslo

Knowit Developer Summit (KDS) is Knowit's annual company-wide software developer conference. The 2018 conference will be held on Friday, 26th - Saturday, 27nd January 2018 at the Thon Hotel Opera in Oslo, Norway.

Practical information

If you have questions during the conference, please feel free to contact us on Slack. We have created a slack-channel, #kds2018, for everything regarding the conference, join us and get the latest news! No account on slack? Then sign up first. You can also text/call +46 70 6070835 (Jan Stenberg).

Dinner. The conference dinner will happen in small groups at different restaurants in central Oslo on Friday at 20.00. Meet in the hotel lobby at 19.40 to find your group, or go directly to the restaurant. On Friday, you will be able to find the name and address of the restaurant, as well as name and contact details of your group leader, in an attachment inside the #kds2018 Slack channel. After dinner, we will meet up at Himkok bar, where you will get one drink on us.

Name badges will be handed out in order to make it easier with names and companies.

Hotel check inn. You will be able to pick up your room key at the hotel reception sometime after 15:00 on Friday.

Please stay until the end on Saturday. All speakers deserve an audience.

Be prepared to change room. We do not know how popular sessions will be. Perhaps we will have to switch the room just before a session starts. Please help us make it as smooth as possible.

A speaker slot may become available last minute. Do you have a talk that you can present? Please prepare to quickly jump in as a speaker.

The talks with this symbol 🎥 next to them will be recorded. These will either be uploaded to the official Knowit YouTube channel or Shareit, depending on speakers’ preferences. Look out for a newsletter from Creative Crew following the conference with links to the talks. NB: please be aware that there might be some last minute changes in the program. Hence, it is always better to attend the talk at the conference rather than relying on being able to watch a recording at a later time.

We have, once again, made a cool KDS t-shirt. Please, just take one and note that there are different sizes for men and women.

Share! Use hashtag #kds2018 on twitter, blog on your company blogs and make this conference visible to everyone! There is lots of great content to be shared. But, please be careful not to share something that is marked as confidential or is customer related.

Schedule

Friday, 26th

11:00-11:30 Welcome / meet and greet (room: Flagstad)

11:30-12:30 Lunch

12:30-13:25 Lightning talks

Room Flagstad 🎥

Intro til Progressive Web Apps

Sigurd Christensen
Room La Boheme 🎥

Practical Canvas

Patrick Monslaup
Room La Traviata

Reklamefri Web 2020

Eirik Nesje
Nataniel Pedersen

Lei av din dårlige REPL?

Alexander Premer
Room Rigoletto

Recommendations with Recurrent Neural Networks

Ole Steinar Lillestøl Skrede

13:25-13:40 Break

13:40-14:10 Short talks

Room Flagstad 🎥

Role based security with Power BI

Magnus Söderberg
Room La Boheme 🎥

Error handling in JavaScript

Øyvind Marthinsen
Room La Traviata
Room Rigoletto

Smidig utvikling i stor skala med autonome team

Thomas Malt
Jan Henrik Gundelsby

14:10-14:20 Break

14:20-14:50 Short talks

Room Flagstad 🎥
Room La Boheme 🎥
Room La Traviata

Android Architecture Components

Andreas Færøvig Olsen
Jørgen Jacobsen Rognerud
Room Rigoletto

Chaos Engineering 101

Petter Barvik

14:50-15:00 Short break and hotel check-in

15:00-15:30 Short talks

Room Flagstad 🎥
Room La Boheme 🎥

Intro til domenedreven utvikling

Beate_Baier Biribakken
Room La Traviata
Room Rigoletto

15:30-15:40 Short break and hotel check-in

16:10-16:30 Break with wraps and other snacks, and hotel check-in

16:30-17:00 Short talks

Room Flagstad 🎥
Room La Boheme 🎥
CANCELLED!
Room La Traviata

In Rust I Trust

Sverre Johann Bjørke
Room Rigoletto

Machine Learning, Challenges and Approaches.

Ivan Starenius
David Svensson

17:00-17:10 Short break and hotel check-in

17:10-17:30 Open Space preparation (room: Flagstad)

17:30-18:30 Open Space (room: Flagstad)

18:30-19:40 Break with hotel check-in, relaxing, waiting for dinner

19:40-19:45 Dinner groups meet in the lobby

20:00-23:00 Conference dinner, around Oslo

Saturday, 27th

09:00-09:30 Keynote (room: Flagstad)

Erik Amundrud, Business Area Manager, Knowit Solutions Norway

09:30-09:40 Break

09:40-10:10 Short talks

Room Flagstad 🎥

Angular Warstories

Alf Hammerseth
Hazar Askari
(Note! 50 min. Continues into Intro to Angular in next slot)
Room La Boheme 🎥

Intro to Vue.js

Aulon Mujaj
Room La Traviata
Room Rigoletto

10:10-10:20 Break

10:20-11:50 Workshops

Room Flagstad 🎥

Intro to Angular

Alf Hammerseth
Hazar Askari
(Starts after Angular Warstories from previous slot)
Room La Boheme 🎥

So you think you can frontend?

HÃ¥vard Olsen
Johannes Giske
Room La Traviata
Room Rigoletto

11:50-12:00 Break

12:00-13:00 Long talks

Room Flagstad 🎥

Chrome DevTools

Michael Johansen
Room La Boheme 🎥
Room La Traviata

Animation you can believe in

Christoffer Eliesen
(30 min, Beginner)
Room Rigoletto

13:00-13:50 Conference Lunch

13:50-14:30 Medium talks

Room Flagstad 🎥

AI-Guided Software Testing

Juhani Teeriniemi
Room La Boheme 🎥
Room La Traviata

Azure Machine Learning

Zeeshan Ahmed
Room Rigoletto

14:30-14:40 Break

14:40-15:10 Short talks

Room Flagstad 🎥
Room La Boheme 🎥
Room La Traviata

How not to suck at Bootstrap.css

Patrick Tørresvold
Room Rigoletto

15:10-15:20 Break

15:20-15:50 Short talks

Room Flagstad 🎥
CANCELLED!
Room La Boheme 🎥
Room La Traviata

CSS Grid

Filip Egge
Room Rigoletto

Javascript: State of Affairs

Christoffer Eliesen
(lightning talk)

KDS is over! See you all next time!

Talks and Speakers

Maskinlæring for Parkeringsgebyr-klager i Oslo kommune

Joakim Lehn - Knowit Objectnet

Lightning talk (15 min), Norsk, Friday 12:30-13:25 slot - room Flagstad 🎥

I sommer ble det utviklet en maskinlæringsalgoritme som skal predikere utfallet av klager på parkeringsgebyr, formålet med denne algoritmen var at den skulle effektivisere behandlingen av klager. I denne lyntalen vil jeg gå gjennom hvordan vi gikk frem for å lage løsningen og en kort oppsummering av resultatene.

Object Relation Mapping gjort kjapt og enkelt

Erlend Rommetveit - Knowit Experience Bergen

Lightning talk (10 min), Norsk, Friday 12:30-13:25 slot - room Flagstad 🎥

Hvilket ORM passer best for deg? Prioriterer du hastighet, enkelhet, eller er det funksjonalitet som er viktigst? Denne talken er en kort sammenligning av tre ulike biblioteker for .NET: Entity Framework, NPoco, og Dapper. Derav den første er et fullverdig ORM med mye innebygd funksjonalitet, mens de andre er såkalte Micro-ORM-biblioteker der hastighet har hovedfokus.

Intro til Progressive Web Apps

Sigurd Christensen - Knowit Reaktor Solutions

Lightning talk (15 min), Norsk, Friday 12:30-13:25 slot - room Flagstad 🎥

Lag nye web-applikasjoner som direkte kan lastes ned på enheter, bli listet på Google Play, ha offline-funksjoner eller masse annet - alt dette uten å røre et native eller hybrid app-rammeverk. Progressive Web Apps holder på å vokse frem som et raskt og enkelt alternativ til dedikerte mobil-apper der man ikke har behov for native APIer. Det er under aktiv utvikling fra flere av de største browser og app-aktørene og mulighetene med denne teknologien ser ut til å utvides raskt. Noe av det beste? Det er fort gjort å legge til på en eksisterende web-app, liten eller stor. I denne talken tar vi en rask kikk på hva Progressive Web Apps er og hva man kan bruke det til. I tillegg tar vi en snikkikk på hva fremtiden kan by på for denne lovende måten å forbedre web-applikasjoner på.

Why I fell in love with Elm

Tale Prestmo - Knowit Objectnet

Lightning talk (15 min), English, Friday 12:30-13:25 slot - room La Boheme 🎥

As a developer with minimal experience with functional programming and front-end, I decided to learn Elm. This talk gives an easy introduction to the language, and shows some reasons as to why I enjoy writing code in Elm.

Gothenburg Startup Hack - Bringing the community together

Max Witt - Knowit SysDev Göteborg

Lightning talk (10 min), English, Friday 12:30-13:25 slot - room La Boheme 🎥

Gothenburg Startup Hack is an annual event that since 2014 has brought the technical and entrepreneurial communities together to create amazing ideas, prototypes and ventures, all in one day. In 2017, Knowit Systems Development was one of the five major sponsors that made the event possible. I'd like to tell you about the event and how it brings inspiration to seasoned professionals, promotes talented students and facilitates cross-disciplinary collaboration.

Practical Canvas

Patrick Monslaup - Knowit Experience Bergen

Lightning talk (15 min), English, Friday 12:30-13:25 slot - room La Boheme 🎥

Why you should start using Canvas in your projects today.

Reklamefri Web 2020

Eirik Nesje - Knowit Experience Bergen

Lightning talk (15 min), Norsk, Friday 12:30-13:25 slot - room La Traviata

Ingen liker reklame eller betalingsmurer. Hvordan skal nyhetsnettsider som VG livnære seg, nå som vi lever i Adblock-æraen? Finnes det et alternativ som ikke er forstyrrende for brukeren og samtidig gir en bærekraftig inntekt for innholdsskaperne? Vi skal utforske mining av kryptovaluta i nettleseren og vise hvordan et nettsted kan få en stabil inntekt ved å bruke klienten sin datakraft. Denne talken vil ta for seg fordeler og ulemper ved dette, samt se på konkrete implementasjoner av teknologien.

Lei av din dårlige REPL?

Alexander Premer - Knowit Objectnet

Lightning talk (15 min), Norsk, Friday 12:30-13:25 slot - room La Traviata

Er du en av de som skriver feil i blant? Er litt usikker noen ganger? Liker konfigurerbarhet? Nysgjerrig på Scala? Lei av din Scala-REPL?Om minst et av disse utsagnene passer deg, da har du noe du kan ta med deg fra denne talken! Denne talken tar på seg oppgaven med å demonstrere at Scala-REPL er en antikvitet i forhold til Ammonite-REPL!

Recommendations with Recurrent Neural Networks

Ole Steinar Lillestøl Skrede - Knowit Objectnet

Lightning talk (15 min), English, Friday 12:30-13:25 slot - room Rigoletto

Research in recent years has shown that recurrent neural networks (RNN) can outperform other state-of-the-art recommendation models at session-based recommendations. This talk is about how RNNs can be used in this domain, and why they work so well.

Image recognition on a subreddit in order to test a suspicion

Sverre Johann Bjørke - Knowit Objectnet

Lightning talk (15 min), English, Friday 12:30-13:25 slot - room Rigoletto

After spending too many hours on Reddit, a pattern in one of the subreddits I follow seemed to appear. In an attempt to prove my suspicion I was led down the path of image recognition APIs and beyond.

Role based security with Power BI

Magnus Söderberg - Knowit Decision Linköping

Presentation (30 min), English, Friday 13:40-14:10 slot - room Flagstad 🎥

In this presentation we will take a closer look at a few different scenarios how an organization can distribute reports and dashboards within Power BI with role based security. This kind of implementation enables large organizations to have a set of common reports but making sure that report consumers only sees what they are supposed/allowed to see.

Error handling in JavaScript

Øyvind Marthinsen - Knowit Objectnet

Presentation (30 min), Norsk, Friday 13:40-14:10 slot - room La Boheme 🎥

Norsk: I denne presentasjonen gjennomgår jeg hvordan du kan rapportere både håndterte og uhåndterte feil i JavaScript, til en backend. Jeg fokuserer på hvordan vi kan fange uhåndterte feil, hvordan hente ut mest mulig informasjon fra disse feilene (f.eks. stacktraces), hvilken annen informasjon som kan være nyttig å rapportere og i tillegg viser jeg noen farlige fallgruver. Presentasjonen avsluttes med en demonstrasjon av hvordan man kan bruke source maps for å slå opp hvor feilen oppsto i kildekoden. Engelsk: In this presentation I’ll walk you through how to report both handled and unhandled errors in JavaScript, to a backend. I will focus on how we can capture unhandled errors, how to extract the most information from these errors (such as stack traces), highlight other useful information to report. In addition I'll show some dangerous pitfalls. The presentation ends with a demonstration of how to use source maps to determine where the error occurred in the source code.

Microservices - is it really worth it

Krister Karto - Knowit Experience Bergen

Presentation (30 min), English, Friday 13:40-14:10 slot - room La Traviata

Microservices has been the talk of the town for a little while now, but Microservices is a fancy new concept and it has been around for a while. There are also many benefits of Microservices that has been covered in many talks and articles. However, is MicroServices really worth the effort? In this talk we will draw from lessons learned across several MicroService projects in Knowit, look at the percieved benefits we get from this style of architecture and see if we are actually utilizing those benefits. We will also look at the pains that one get from a MicroService architecture and see if the actual benefits we get outweigh the pains.

Smidig utvikling i stor skala med autonome team

Thomas Malt - Knowit Experience Oslo

Presentation (30 min), Norsk, Friday 13:40-14:10 slot - room Rigoletto

Alle snakker om autonome tverrfaglige team. Vi prøver å forklare hva det er, og hvordan det har blitt implementert i stor skala hos organisasjoner som Oslo kommune, NRK og Fronter. Foredraget viser hvordan vi kan håndtere koordinering av team, og litt om hvorfor det også kan være smart at organisasjonen blir tilpasset arkitekturen, og ikke nødvendigvis omvendt.

Multiple Identity providers with OWIN and Episerver

HÃ¥vard Eidheim - Knowit Experience Oslo

Short talk (20 min), English, Friday 14:20-14:50 slot - room Flagstad 🎥

A presentation on how to set up one or more identity providers with OWIN and Episerver, why you might want to do this and some technical details on how to get it done.

IoT från grunden - så bygger du en internetuppkopplad lampa

Jon Johnson - Knowit Uppsala

Presentation (30 min), Svenska, Friday 14:20-14:50 slot - room La Boheme 🎥

Jag kommer att visa hur enkelt det är att modda t.ex. en lampa, koppla den till en mikrokontroller och koppla upp den på nätet. Mikrokontrollers såsom Arduino eller ESP8266 är billiga och enkla att komma igång med, och kan användas såväl för spännande hobbyprojekt som för att bygga prototyper till verkliga IoT-projekt.

Android Architecture Components

Andreas Færøvig Olsen - Knowit Objectnet

Presentation (30 min), English, Friday 14:20-14:50 slot - room La Traviata

Android Architecture Components is a framework for implementing a recommended app architecture. How can this help us improve the quality of our Android apps?

Chaos Engineering 101

Petter Barvik - Knowit Reaktor Solutions

Presentation (30 min), English, Friday 14:20-14:50 slot - room Rigoletto

This talk will introduce you to the concepts around Chaos Engineering and how this can benefit your applications.

UI Test Automation - how and why YOU should start automation on your project!

Christopher Olsen - Knowit Objectnet

Lightning talk (15 min), English, Friday 15:00-15:30 slot - room Flagstad 🎥

An introduction to the field of UI test automation with an emphasize on encouraging people with no experience other than programming knowledge to try and pick up this ball in their projects. All thats needed is knowing where to start and how it fits into your project.

Intro til domenedreven utvikling

Beate_Baier Biribakken - Knowit Experience Oslo

Presentation (30 min), Norsk, Friday 15:00-15:30 slot - room La Boheme 🎥

Introduksjon til domenedreven utvikling. Hva er det? Hva er det ikke? Hvorfor bør man bruke det? Når kan man bruke det?

Koden din betyr ingenting

Astrid Tessem - Knowit Experience Bergen

Presentation (30 min), Norsk, Friday 15:00-15:30 slot - room La Traviata

Nesten 3/4 av alle klikk på søkeresultater fra Google går til de fem øverste treffene. 1/3 av alle klikk går til det første søkeresultatet. Koden din kan være så smud du bare vil, men uten god SEO har den ingen betydning. Allmektige Google lar siden din drukne om du ikke er lydig. Dette innebærer mye mer enn å legge til riktige redirects og passende nøkkelord. Nå til dags må vi tilgjengeliggjøre dataene våre på en strukturert måte. For du skjønner, Google skal ikke bare indeksere siden din, Google skal FORSTÅ siden din.

Using Machine Learning to Find Where to Open Our Next Hotel

David Svensson - Knowit Decision Helikopter

Presentation (30 min), English, Friday 15:00-15:30 slot - room Rigoletto

Knowit Analytics Lab has worked on a machine learning prototype with one of the largest hotel chains in the Nordics. The question was ""Where should we open our next hotel"". Or more specifically, ""Can we use machine learning to find locations where a new hotel would be profitable?"". The answer is YES. This session is a technical walk-through covering all aspects of the project - From problem statement and data collection to applied machine learning and visualization of the results.

In-memory database for black box testing using Entity Framework and Effort

Endre Vestbø - Knowit Reaktor Solutions

Presentation (40 min), English, Friday 15:40-16:10 slot - room Flagstad 🎥

This presentation will show you how to use Effort to create an in-memory database for blackbox testing using Entity Framework. Inlcuding the different ways Effort can be used and how to seemlessly add Effort to your projects using dependency injection.

Large scale decoupled torrenting

Niklas Trippler - Knowit Reaktor Solutions

Presentation (30 min), English, Friday 15:40-16:10 slot - room La Boheme 🎥

How well does torrenting scale? How far can the torrent components be spread apart? What will the performance be? Torrenting has been used a long time to share everything from Linux distributions, to game patches and pirated content, and consists of seeders (uploaders), and leechers (downloaders). Seedboxes, that are fast servers for uploading data, are usually dedicated to the purpose with harddrives, torrent clients and networking that are tightly coupled together. I will talk about how to construct a decentralized system where the data, the torrent clients and the networking is hosted at three different locations, using VPNs to create virtual clouds to seed torrents, and which advantages that gives over traditional seedboxes. This talk will show you how to use ZFS, VPNs, containers, VMs and multiple servers to build a distributed file sharing platform where all components are decoupled and can be moved from one site to another in seconds.

Web app security by and for someone who doesn’t really know security

Martin Valen - Knowit Experience Bergen

Presentation (30 min), English, Friday 15:40-16:10 slot - room La Traviata

If you are a web developer, chances are that you've deployed a web app at some point. But did you actually think about its security, or did you mostly worry about your fancy dashboard breaking in some old version of Safari? In this talk I'll show some tools that grade your websites security and show how you can go from an ugly F to a respectable C with a few minutes of work. I'll also try to explain concepts like CSP, HSTS, and PKP, allowing you to move towards the top grades.

The accessible web - a talk on WCAG2.0, accessibility and frontend in modern applications

Sigurd Wahl - Knowit Experience Oslo

Presentation (30 min), English, Friday 15:40-16:10 slot - room Rigoletto

The accessible web - a talk on WCAG2.0, accessibility and frontend in modern applications

Deploy microservices confidently using Consumer Driven Contracts

Henrik Stene - Knowit Objectnet

Presentation (30 min), English, Friday 16:30-17:00 slot - room Flagstad 🎥

Consumer Driven Contracts is a testing paradigm that let API-consumers communicate to the API-providers how they are using their services. This talk discusses software testing, how and when to use Consumer Driven Contract, and how Consumer Driven Contracts can make developers more confident. It also includes live coding to show how to implement Consumer Driven Contracts using the Pact framework. To increase the velocity and reduce the cost of microservices development, it is key to be able to build and deploy new versions with confidence that you don't break any dependencies. Microservices are easy to build and run, but they quickly become a tangled web of dependencies that slow down development and result in broken dependencies. Organizations that transition from a traditional monolithic design to a microservice architecture, will soon realize that it is hard to keep track of all dependencies. Consumer Driven Contracts is a testing paradigm that helps developers keep control on all dependencies in a distributed system and this talk will tell more about how to use it and show how to do so in a live demo.

Lag din egen blockchain med Hyperledger Fabric

Anders Breivik - Knowit Objectnet

Presentation (30 min), Norsk, Friday 16:30-17:00 slot - room La Boheme 🎥

Blockchain er teknologien bak Bitcoin, og hevdes å være like transformerende som Internet, men hvordan skal du som utvikler klare å se gjennom all hypen? Gjennom å lage din egen Blockchain selvsagt! For en utvikler kan teknologistøtten for Blockchain-utvikling føles som en tidsmaskin tilbake til 90-tallet. Rammeverk, verktøy og testbarhet er lagt fra modne, og dette utgjør en høy terskel for å komme i gang med utvikling og prototyping. Hyperledger Fabric er et open source samarbeidsprosjekt med mange aktører fra blant annet finans og IT, inkludert IBM. IBM tilbyr ""Blockchain as a Service"" basert på Hyperledger og utgjør en fin plattform for å komme i gang med Blockchain-utvikling. Jeg skal vise deg hvordan du kan implementere din egen private Blockchain med Hyperledger Fabric, og hvordan du kommer kjapt i gang med modellering av nettverk og logikk i Hyperledger Composer.

In Rust I Trust

Sverre Johann Bjørke - Knowit Objectnet

Presentation (30 min), English, Friday 16:30-17:00 slot - room La Traviata

Rust is a systems programming language that tries to combine the holy trifecta of memory safety, concurrency, and blazing fast speed. Voted the most loved language in Stack Overflows developer survey two years in a row, it combines the performance of low-level languages with high level abstractions, a great package manager and other modern comforts. In this presentation I will talk about what makes Rust a language worth exploring, and will showcase its highlights with some code examples.

Machine Learning, Challenges and Approaches.

Ivan Starenius - Knowit Decision Helikopter

Presentation (30 min), English, Friday 16:30-17:00 slot - room Rigoletto

Machine Learning is all the rage. But how does one apply these exciting, powerful techniques in a responsible, sustainable and ""scientific"" way? Having a well thought out and flexible approach to selecting data (features, train/test/validate) and the appropriate algorithms can make all the difference when applying and deploying Machine Learning to real world applications... In this talk we will make a case for why this is so important and try to provide a baseline for how to do it.

Angular Warstories

Alf Hammerseth - Knowit Experience Oslo

Presentation (60 min), English, Saturday 09:40-10:10 slot - room Flagstad 🎥

Talk related to Angular2+ and presenting two cases with the good and the bad.

Intro to Vue.js

Aulon Mujaj - Knowit Objectnet

Presentation (30 min), English, Saturday 09:40-10:10 slot - room La Boheme 🎥

In this talk I'll introduce the vuejs framwork. How does it work, and how extremely easy it is to set up a new project using vuejs. And in the end, discuss the difference between vuejs and react

The 'this' keyword in JavaScript

Alexander Bjerkan - Knowit Objectnet

Presentation (30 min), English, Saturday 09:40-10:10 slot - room La Traviata

The 'this' keyword in JavaScript is a bit of a mystery, especially if you have background from other languages. During this talk we'll cover how 'this' works so you'll avoid the most common pitfalls and sources of confusion

Learn how to build a mini economy on the blockchain by using Ethereum and Solidity!

Sigurd Lund - Knowit Objectnet

Workshop (120 min), English, Saturday 09:40-10:10 slot - room Rigoletto

Blockchain has existed since Bitcoin was launched in 2009, are now more hyped than ever before. In this workshop we will show you how to write and run code on the Ethereum blockchain. The goal is that within four hours we will develop and deploy a mini economy system where we generate coins that we can send between verified users with smart contracts on Ethereum. The technologies you will use in this workshop will be the Ethereum network, the programming language Solidity, the framework Truffle, and the Ethereum browser Mist. Tests are written to test the functionality to be implemented, so if you like to see the tests go from red to green, this is the workshop for you!

Intro to Angular

Alf Hammerseth - Knowit Experience Oslo

Workshop (50 min), English, Saturday 10:20-11:50 slot - room Flagstad 🎥

Introducing angular and creating a to do list. In this workshop we will demonstrate how easy it is to get up and running with Angular and create your first application. Then we will move on to make a ToDo list with a JSON backend. This is not ment to be a code along course but more a demo of how to get started. You as a participant will observe the magic. There will be an extended time for questions.

So you think you can frontend?

HÃ¥vard Olsen - Knowit Experience Bergen

Workshop (90 min), English, Saturday 10:20-11:50 slot - room La Boheme 🎥

As a developer in 2018, you make amazing and impressive solutions, but what happens when we strip away all those ""fancy pants"" tools & frameworks that you love so much? Can you make a website without emmet, sass/less, and without watching your own work along the way? We are hosting a ""Coding in the dark"" competition with a small twist. The competition involves creating a website using a simple editor and a desired endresult. Your task is to make a website described by our designer. Only he knows how the endresult should look like, and you will all be left ""in the dark"" until the end of the workshop. In this workshop your frontend skills as well as your ability to communicate with a UX-designer will be tested. The winner will be announced at the end of the workshop, and in addition to fame & glory, will receive an amazing price!

Flexbox - Responsive web made easy

Patrick Monslaup - Knowit Experience Bergen

Workshop (90 min), English, Saturday 10:20-11:50 slot - room La Traviata

This workshop will teach you how to quickly create powerful and responsive web components using flexbox. Flexbox is a html5 / css3 property which is finally becoming mature enough that most projects not only can, but should use it. I will in this presentation share my best tips and design patterns, while outlining potential pitfalls that you'll come across when using flex. The workshop features a a short presentation followed by progressively harder components, which should present both fledling web-developer and more experienced code-monkeys a challenge. Requirement to participate is a laptop (or a partner with one), any code editor, and preferably several browser installed such as IE / Safari, Firefox, and Chrome.

Learn how to build a mini economy on the blockchain by using Ethereum and Solidity!

Sigurd Lund - Knowit Objectnet

Workshop (120 min), English, Saturday 10:20-11:50 slot - room Rigoletto

Blockchain has existed since Bitcoin was launched in 2009, are now more hyped than ever before. In this workshop we will show you how to write and run code on the Ethereum blockchain. The goal is that within four hours we will develop and deploy a mini economy system where we generate coins that we can send between verified users with smart contracts on Ethereum. The technologies you will use in this workshop will be the Ethereum network, the programming language Solidity, the framework Truffle, and the Ethereum browser Mist. Tests are written to test the functionality to be implemented, so if you like to see the tests go from red to green, this is the workshop for you!

Chrome DevTools

Michael Johansen - Knowit Objectnet

Presentation (60 min), English, Saturday 12:00-13:00 slot - room Flagstad 🎥

In technical talks one usually hears a lot about libraries and frameworks. And that is natural. However, we need more talks about tooling and workflow. So this talk will be about Chrome DevTools. The tools people use, and the way the use them, can vary a lot. Experienced developers often take their tools and workflows for granted, while new developers don't know what they're missing before they stand behind you at work, wondering how you did something. We will go in depth on some features of Chrome DevTools that even daily users of the tool may have missed.

DevOps maturity models Knowit and DASA views

Kari Kakkonen - Knowit OY Group

Presentation (60 min), English, Saturday 12:00-13:00 slot - room La Boheme 🎥

DevOps introduction. *Business benefits. *Terminology, e.g. Continuous Delivery. *Faster feedback. *Automate everything you can. DevOps Culture. *DASA DevOps principles. Organization. *Lean & Agile- *Autonomous teams. *Microservices and Cloud. DevOps Maturity. *Step by Step to DevOps. *Maturity Model

Animation you can believe in

Christoffer Eliesen - Knowit Objectnet

Presentation (30 min), English, Saturday 12:00-13:00 slot - room La Traviata

Pictures are nice but movies are better. Are you a frontend developer that is thinking about spicing up your products? Or maybe you just want to make things move across your screen for fun? In this talk I’ll give an introduction to animations on the web.

Securing your application with Azure Active Directory using OAuth.

Krister Karto - Knowit Experience Bergen

Presentation (60 min), English, Saturday 12:00-13:00 slot - room Rigoletto

Setting up authentication can be a daunting task for developers. What is Audience? What is a token? Where do I do what? In this talk we will cover how to secure a Javsacript frontend, backend services and how to do service-to-service authentication the modern way without creating a system user. We will also show how to setup custom login pages. We will be focusing on using .Net and Microsoft technology, but will be covering the basics around how this works behind the scenes and the basic ideas can be used for different technologies. This talk will be based around real life experience using the .net framework and Azure AD to secure an application that is in production today.

AI-Guided Software Testing

Juhani Teeriniemi - Knowit OY Group

Presentation (40 min), English, Saturday 13:50-14:30 slot - room Flagstad 🎥

It has been estimated that software bugs cost $59.5 billion annually in U.S. alone. To diminish costs of a software development life cycle, software testing activities should be focused on critical areas of an application. Recently, machine learning methods have been discovered as a powerful tool for software testers. In this presentation, current state of AI-guided software testing is outlined. Also, machine learning based code quality metrics are demonstrated.

Smertefri frontend-testing med Cypress

Eirik VÃ¥geskar - Knowit Objectnet

Presentation (30 min), Norsk, Saturday 13:50-14:30 slot - room La Boheme 🎥

Skriver du frontend-tester og synes det er tungtvint? Har du aldri prøvd? Har du prøvd og gitt opp? Om du svarte ja på minst ett av disse spørsmålene, burde du prøve Cypress: Et nytt testrammeverk som installeres og settes opp med én kodelinje (spoiler: det er `npm install cypress`) og som kan teste hva som helst som kjører på webben. (Og til de som måtte lure: Nei, det har ingenting med Selenium Webdriver å gjøre.) I dette foredraget vil Eirik Vågeskar, som har jobbet i Knowit Objectnet siden høsten 2017, vise deg hvordan man setter opp og bruker Cypress. Han kommer også til å fortelle om hvordan billett- og arrangementssystemet Hoopla har tatt i bruk Cypress for å utvikle og produksjonssette ny funksjonalitet raskere og med større selvtillit. Ingen forkunnskaper om automatisk testing er nødvendig. Passer for utviklere av alle ferdighetsnivåer.

Azure Machine Learning

Zeeshan Ahmed - Knowit OY Group

Presentation (40 min), English, Saturday 13:50-14:30 slot - room La Traviata

In this session I will discuss: - What is Machine Learning. - What are the important pre-steps that are needed before getting into the Machine learning itself. - Why we need Machine Learning. - How we can create Machine Learning models using Azure Machine Learning Studio. (Demo) - How we can deploy AML model as web service and use it in custom our applications. (Demo)

Doobie - Principled Database Access for an Unprincipled World

Imre Kerr - Knowit Objectnet

Presentation (40 min), English, Saturday 13:50-14:30 slot - room Rigoletto

Functional programming teaches us that immutability, side-effect-free code and determinism are Good Things. But in the land of databases, mutability, side effects and nondeterminism are a fact of life. We will look at how these differences can be reconciled, using Doobie - a database access library for Scala.

How I built a power meter reader, micro service, docker container, API gateway for my house

Thomas Malt - Knowit Experience Oslo

Presentation (30 min), English, Saturday 14:40-15:10 slot - room Flagstad 🎥

How can you stay technologically up to date as a CTO? Working on a strategy to modernise the technology stack at the company I worked I build a proof of concept api gateway, interfacing the electricity meter at my house to create a proof of concept API-first architecture. This talk is about how I did that, the technology I used and why.

Cryptography Illustrated

Hannah Hansen - Knowit Experience Bergen

Presentation (30 min), English, Saturday 14:40-15:10 slot - room La Boheme 🎥

Are you curious about how messages are kept secret in this digital world? Do bullet points and lectures bore you? Fear not. This talk will temporarily satisfy your curiosity without bullet points. Everything will be illustrated. No text. It will be a fun challenge. Come and see if I manage to convey the topic to your satisfaction. No previous knowledge required. This is a talk for all who wish to learn about modern cryptography.

How not to suck at Bootstrap.css

Patrick Tørresvold - Knowit Experience Oslo

Presentation (30 min), Norsk, Saturday 14:40-15:10 slot - room La Traviata

How should you really use Bootstrap as a developer or designer? Change your mindset and learn how I want you to use third party frameworks like Bootstrap to improve your daily work.

TFS og Octopus - hånd i hånd

Martin Langtvet - Knowit Experience Oslo

Presentation (30 min), Norsk, Saturday 14:40-15:10 slot - room Rigoletto

Gjennomgang av hvordan skape smidig løsning for bruk av TFS (team foundation server) sammen med octopus for å styre alt av builds, kjøring av unittest, kodeanalyse og deployments.

Azure AD B2C - identity services done easy

HÃ¥vard Slettvold - Knowit Experience Oslo

Presentation (30 min), English, Saturday 15:20-15:50 slot - room Flagstad 🎥

The past few years we have seen an increase in demand for identity providers (idp) to take over the task of the humble login form. Many good solutions have surfaced, but one of the best I've ever tried must be Azure AD B2C. A good implementation which supports the entire .Net platform and combines easily with Active Directory, all hosted in the cloud, this identity provider makes development and maintaining a breeze!

Centralized (and structured) logging with Serilog + Elastic

Fredrik Claesson - Knowit SysDev Göteborg

Presentation (30 min), English, Saturday 15:20-15:50 slot - room La Boheme 🎥

Centralized logging isn't only about having all the logs in one place (which will be a mess). In this session I'll talk about some best practices and how Serilog can help you achieve success.

CSS Grid

Filip Egge - Knowit Objectnet

Presentation (30 min), Norsk, Saturday 15:20-15:50 slot - room La Traviata

CSS Grid ER fremtiden, og fremtiden er her. Lær å ta i bruk grid for din applikasjon.

Javascript: State of Affairs

Christoffer Eliesen - Knowit Objectnet

Lightning talk (15 min), English, Saturday 15:20-15:50 slot - room Rigoletto

Do you want to be a front end developer? Do you know what you’re getting yourself into? Well I do, and in this talk I present an overview of the complex beast that awaits you in the web.

Location

Thon Hotel Opera

Oslo