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.
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.
Object Relation Mapping gjort kjapt og enkelt
Erlend RommetveitIntro til Progressive Web Apps
Sigurd ChristensenRecommendations with Recurrent Neural Networks
Ole Steinar Lillestøl SkredeImage recognition on a subreddit in order to test a suspicion
Sverre Johann BjørkeRole based security with Power BI
Magnus SöderbergMicroservices - is it really worth it
Krister KartoMultiple Identity providers with OWIN and Episerver
HÃ¥vard EidheimIntro til domenedreven utvikling
Beate_Baier BiribakkenUsing Machine Learning to Find Where to Open Our Next Hotel
David SvenssonLarge scale decoupled torrenting
Niklas TripplerThe 'this' keyword in JavaScript
Alexander BjerkanLearn how to build a mini economy on the blockchain by using Ethereum and Solidity!
Sigurd LundFlexbox - Responsive web made easy
Patrick MonslaupLearn how to build a mini economy on the blockchain by using Ethereum and Solidity!
Sigurd LundDevOps maturity models Knowit and DASA views
Kari KakkonenSmertefri frontend-testing med Cypress
Eirik VÃ¥geskarHow not to suck at Bootstrap.css
Patrick TørresvoldTFS og Octopus - hånd i hånd
Martin LangtvetCentralized (and structured) logging with Serilog + Elastic
Fredrik ClaessonI 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.
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.
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å.
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 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.
Why you should start using Canvas in your projects today.
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.
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!
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.
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.
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.
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 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.
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.
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.
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 is a framework for implementing a recommended app architecture. How can this help us improve the quality of our Android apps?
This talk will introduce you to the concepts around Chaos Engineering and how this can benefit your applications.
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.
Introduksjon til domenedreven utvikling. Hva er det? Hva er det ikke? Hvorfor bør man bruke det? Når kan man bruke det?
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.
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.
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.
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.
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
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.
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.
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 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.
Talk related to Angular2+ and presenting two cases with the good and the bad.
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 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
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!
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.
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!
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.
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!
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 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
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.
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.
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.
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.
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)
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 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.
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 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.
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.
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 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 ER fremtiden, og fremtiden er her. Lær å ta i bruk grid for din applikasjon.
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.