{"sessions":[{"intendedAudience":"Anyone interested in blockchain and how it could be an important piece our future as humans (and developers!). Little to no code in slides.","level":"beginner","length":"20","format":"lightning-talk","language":"en","abstract":"Blockchain technology is being talked about everywhere. Some people say it's just the underlying technology of some scammy digital currency, while others say it's the new Internet.  If you have spent any time looking at what Blockchain is in technical terms, it's a fair chance that you are more confused than before you started learning about it. How can this technology that essentially is meant for storage be that important? Sure, it makes sense for Bitcoin, but what else can it be used for?\n\nThis talk is for anyone who is curious about which possibilities Blockchain enables. We will not go into technical detail about how blockchain works but instead will focus on some of the potential use cases.\n\nYou will be taken through some of the most exciting and promising use cases for Blockchain technology. We will talk about everything from currency and democracy to IoT and Big Data.","video":"https://vimeo.com/233648689","title":"Blockchain, what is it good for?","room":"Room 7","startTime":"2017-09-13T10:40","endTime":"2017-09-13T11:00","startTimeZulu":"2017-09-13T08:40:00Z","endTimeZulu":"2017-09-13T09:00:00Z","speakers":[{"name":"Gjermund Bjaanes","twitter":"@gjermundbjaanes","pictureId":"252b52e3ef794d87b623bacc6fd174c4","bio":"Gjermund is a passionate innovation engineer & software wizard. He works on new exciting technology and business cases for innovation. He plays around with Augmented Reality, Blockchain, IoT, Machine Learning and anything else that will make the future a bright and awesome place to live.\n\nHe also runs a blog where he writes about innovation and technology. He writes because teaching is the absolute best way to learn, and learning is what he loves the most. He considers himself a lifelong learner - and probably a bit of a geek.\n\nIf you want to have a chat about anything, approach him at any time!"}],"id":"20bfa82c7c764d67a9527cf9c5390fea","sessionId":"20bfa82c7c764d67a9527cf9c5390fea","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle med en interesse for å teste Blockchain-utvikling selv. Ingen kode, noe handwaving.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"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!\n\nFor 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. \n\nHyperledger 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. \n\nI denne lyntalen vil du se at du kan implementere din egen private Blockchain med Hyperledger Fabric, og for å komme kjapt i gang kan du modellere nettverk og logikk i Hyperledger Composer. \n","video":"https://vimeo.com/233648592","title":"Lag din egen Blockchain med Hyperledger Fabric","room":"Room 7","startTime":"2017-09-13T10:20","endTime":"2017-09-13T10:40","startTimeZulu":"2017-09-13T08:20:00Z","endTimeZulu":"2017-09-13T08:40:00Z","speakers":[{"name":"Anders Breivik","twitter":"@anders_b","pictureId":"4ba307310a794e1c8eb0dc7c79266652","bio":"Anders is a fallen mathematician with over 10 years of experience from his backup plan as a software developer. As a manager and senior consultant with the Nordic consultancy Knowit, Anders is focused on creating truly innovative solutions while never losing sight of building the right product.\n\nCurrently Anders is passionate about exploring business opportunities for machine learning and blockchain technology. He is an enthusiastic adopter of the ideas behind Lean Startup, and to spread the enthusiasm to clients and colleagues he teaches these ideas through board game play as a Certified Playing Lean Facilitator.\n"}],"id":"93d1fb7730494f65973fd289c79870be","sessionId":"93d1fb7730494f65973fd289c79870be","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som er interesert i lesbarhet av kode og i epiriske eksperimenter innen programmvareutvikling.","level":"beginner","length":"10","format":"lightning-talk","language":"no","abstract":"I denne presentasjonen vil jeg presentere et eksperiment som ble utført for å evaluere en metrikk for lesbarhet av små Java kodesnutter som ble utviklet av Buse og Weimer basert på et eksperiment der studenter ble bedt om å evaluere et stort antall kodesnutter. Eksperimentet ble utført på på JavaZone i 2013 ved at deltaker ble bedt om å rangere lesbarheten til 20 kodesnutter på en skala 1-5. Eksperimentet bestod av to deler med hver sitt sett kodesnutter. Den første delen var en begrenset gjentakelse av Buse-Weimer eksperimentet og evaluerte hvorvidt resultatene også er gyldige for profesjonelle utviklere, eksemplifisert med JavaZone deltakere. Den andre delen evaluerte lesbarheten til generert og håndskrevet kode for nettverk protokoller direkte. Resultatet fra den siste evalueringen ble også brukt til å evaluere metrikken direkte.\n\nResultatene fra dette eksperimentet har tidligere blitt publisert i programmet til PNSE ’14 (http://ceur-ws.org/Vol-1160/paper17.pdf) og ble presentert på julemøtet til Javabin Bergen i 2016.","video":"https://vimeo.com/233817410","title":"Validering av en metrikk for lesbarhet av kode","room":"Room 7","startTime":"2017-09-14T10:50","endTime":"2017-09-14T11:00","startTimeZulu":"2017-09-14T08:50:00Z","endTimeZulu":"2017-09-14T09:00:00Z","speakers":[{"name":"Kent Inge Fagerland Simonsen","twitter":"","bio":"Kent Inge er senior konsulent hos EVRY på dagtid og hobbyforsker på fritiden. Han har tidligere også vært stipendiat ved Høgskolen i Beren og har Ph.D. fra Danmarks Tekniske Universitet."}],"id":"118b1363f8424ed2a56cf2754bec0431","sessionId":"118b1363f8424ed2a56cf2754bec0431","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"People who are interested in data science, machine learning and telecommunications. There will be no code during this lightning talk.","level":"beginner","length":"10","format":"lightning-talk","language":"en","abstract":"Telecom data is highly interesting, but also extremely private. Machine learning and probabilistic programming allows us to build a simulated telecom provider, generating seemingly real data without breaching an individuals privacy or regulatory concerns. This allows us to freely test ideas and concepts without infringing on our users privacy. \nIn this talk I show how I used machine learning methods to create a model of crowd aggregates working towards individual agents. Data generated from this model is scored against real data in order to asses how near-real the simulated data is. Finally we wrap up by looking at more advanced methods, and future methods in data generation.","video":"https://vimeo.com/233805036","title":"Probabilistic Programming: Building a simulated telecom.","room":"Room 7","startTime":"2017-09-13T14:40","endTime":"2017-09-13T14:50","startTimeZulu":"2017-09-13T12:40:00Z","endTimeZulu":"2017-09-13T12:50:00Z","speakers":[{"name":"David Crompton","twitter":"","bio":"Worked as a data scientist and Tech-Lead in Telia Norge for the last year, and 2 years before that in EVRY Financial Services. Currently researching A.I and machine learning applications within a Digital Telco."}],"id":"b051066f7dc54dc8be0613b4fdfc4513","sessionId":"b051066f7dc54dc8be0613b4fdfc4513","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The target audience is for Java programmers who are interested in improving their coding craft, particularly with a focus on techniques associated with functional programming. There will be Java code in slides. Participants should leave with a better idea of how to approach both new and existing code in a more immutable style.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"It has been said that immutability changes everything. But what does that mean in practice? What does it mean for existing code that looks more like the mutant apocalypse than an elegant application of mathematical thinking?\n\nImmutability can be an ideal that is hard to reach. Refactoring, on the other hand, is all about the art of the possible. In this talk we'll be clarifying motivation and exploring some approaches to help reducing state mutability in code.","video":"https://vimeo.com/234107745","title":"Refactoring to Immutability","room":"Room 8","startTime":"2017-09-14T10:20","endTime":"2017-09-14T11:20","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T09:20:00Z","speakers":[{"name":"Kevlin Henney","twitter":"@KevlinHenney","pictureId":"f0a57f00a87e4a02b6a2927ec1e40069","bio":"Kevlin is an independent consultant, trainer and writer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and web sites and is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of the 97 Things Every Programmer Should Know."}],"id":"84da3dd55b6d432c8da384a6a343ea2d","sessionId":"84da3dd55b6d432c8da384a6a343ea2d","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som er interesserte i AR/VR, frontendprogrammering, grafikk og interaksjon med mobile enheter.","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"Ved hjelp av JavaScript-APIene i HTML5 er det ikke vanskelig å lage en enkel webapplikasjon som demonstrerer Augmented Reality. Denne lyntalen viser hvordan du skal gå fram, hvilke APIer du skal bruke og hvor lite kode som skal til.\n\nLyntalen vil gi deg en kort intro til AR og hvilke typer AR-applikasjoner som finnes, angi de mest aktuelle APIene og hjelpebibliotekene til bruk i webutvikling, gi deg siste nytt når det gjelder nettleser-støtte og også ta med noen praktiske tips for utvikling og testing.","video":"https://vimeo.com/233629282","title":"Slik lager du en AR-webapp på mobilen din","room":"Room 7","startTime":"2017-09-13T09:20","endTime":"2017-09-13T09:40","startTimeZulu":"2017-09-13T07:20:00Z","endTimeZulu":"2017-09-13T07:40:00Z","speakers":[{"name":"Kristoffer Dyrkorn","twitter":"@kristofd","pictureId":"23b63e44fd8f472e824d5c181df22090","bio":"Kristoffer er Manager i BEKK. De siste 18 årene har jobbet som utvikler, prosjektleder og løsningsarkitekt på store IT-prosjekter. Kristoffer startet karrieren sin med å skrive software for 3D-visualisering og har vært svært interessert i datagrafikk siden det. Han trives aller best når han kan jobbe hands-on med teknologi. Spesialområdene hans er løsningsarkitektur og skalerbarhet (når han ikke pusler med grafikk)."}],"id":"3baecc248e7948379a041f918a8f81a4","sessionId":"3baecc248e7948379a041f918a8f81a4","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som programmerer i java og som ikke kjenner til begrepene Either eller Validation","level":"intermediate","length":"10","format":"lightning-talk","language":"no","abstract":"Exceptionkasting i java er en vanlig og ofte foretrukket måte å komme unna avvik i kontrollflyt på. Men altfor ofte glemmer man hvor man kaster dem, eller får en i fleisen når du bruker andres kode. \nLøsningen er selvfølgelig å bruke exceptions kun når du vil at systemet skal kræsje.\n\nJeg gir en kort innføring i alternativer til Exceptions som gir bedre semantisk mening og kompileringsfeil istedenfor kjøretidsfeil.","video":"https://vimeo.com/233817384","title":"Aldri mer Exceptions!","room":"Room 7","startTime":"2017-09-14T10:40","endTime":"2017-09-14T10:50","startTimeZulu":"2017-09-14T08:40:00Z","endTimeZulu":"2017-09-14T08:50:00Z","speakers":[{"name":"Atle Prange","twitter":"@atleprange","pictureId":"36ccd9a0e4334adf90a075523ca934e6","bio":"Systemutvikler i Kantega. Vil veldig gjerne at du er lærevillig. Har gjort mange feil, lært av dem og forteller gjerne om det."}],"id":"be27b361d75c4a6ca9d724831ee9c702","sessionId":"be27b361d75c4a6ca9d724831ee9c702","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This presentation will review concepts, data model and architecture. It will show a little demo code in javascript and java, but code expertise isn't required. When you leave, you'll at least know something about distributed tracing, and hopefully be on your way to blaming things for causing latency!","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Latency analysis is the act of blaming components for causing user perceptible delay. In today's world of microservices, this can be tricky as requests can fan out across polyglot components and even\ndata-centers. This session will overview how to debug latency problems, using call graphs created by Zipkin.","video":"https://vimeo.com/233970759","title":"How to Properly Blame Things for Causing Latency: An Introduction to Distributed Tracing and Zipkin","room":"Room 1","startTime":"2017-09-14T14:20","endTime":"2017-09-14T15:20","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T13:20:00Z","speakers":[{"name":"Adrian Cole","twitter":"@adrianfcole","pictureId":"b2c0ee9fcace446195e8079f206aa103","bio":"Adrian works at Pivotal, on the Spring Cloud team. He spends most on Zipkin, usually in Java. He also runs a distributed tracing working group for implementors."}],"id":"c06222300e704ceb9f6aa23f5e6aa253","sessionId":"c06222300e704ceb9f6aa23f5e6aa253","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This session will do a deep dive into Java Serialization and assumes you are well versed in Java programming. It helps if you have dabbled with serialization, but it is not required knowledge. You will see code on the slides and during the session I'll perform some quizes about serialization to keep you on your toes. ","level":"advanced","length":"60","format":"presentation","language":"en","abstract":"Java Serialization has been the bane of many developers: frustration and hours of debugging. This session will do a deep dive into Java Serialization: why, how and what problems can arise from serialization. You will learn how serialization works, how to tweak the default serialization of Java object, how to keep your singletons singletons when deserializing your objects. Of course we'll spend quite some time on the problematic areas of Java serialization: performance, NotSerializableException, Lambda's, versioning, and security. After this session Java serialization won't have any secrets for you and you can confidently combat NotSerializalableExceptions.\n","video":"https://vimeo.com/233798178","title":"Java Serialization Deep Dive","room":"Room 2","startTime":"2017-09-13T17:00","endTime":"2017-09-13T18:00","startTimeZulu":"2017-09-13T15:00:00Z","endTimeZulu":"2017-09-13T16:00:00Z","speakers":[{"name":"Martijn Dashorst","twitter":"dashorst","pictureId":"7461a8156540483ca50827472e415692","bio":"Although Eclipse, IntelliJ, Netbeans and Maven try their best to thwart that happiness, for almost 20 years Martijn Dashorst considers himself lucky with the best job of the world: programming. At Topicus he develops and maintains applications for most of the educators in the Netherlands, and uses Apache Wicket to build those applications. As Wicket uses Java serialization to maintain state between requests, Martijn is well versed in the intricacies of Java Serialization and likes to share his experience."}],"id":"bb17150794f147d8a07f37ff844f9ecf","sessionId":"bb17150794f147d8a07f37ff844f9ecf","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Only real nerds should attend please.\n\nLots of live coding and if you're not smart enough, we'll lose you.","level":"advanced","length":"45","format":"presentation","language":"en","abstract":"Fork/Join is a framework for parallelizing calculations using recursive decomposition, also called divide and conquer.  These algorithms occasionally end up duplicating work, especially at the beginning of the run.  We can reduce wasted CPU cycles by implementing a reserved caching scheme.  Before a task starts its calculation, it tries to reserve an entry in the shared map.  If it is successful, it immediately begins.  If not, it blocks until the other thread has finished its calculation.  Unfortunately this might result in a significant number of blocked threads, decreasing CPU utilization.  In this talk we will demonstrate this issue and offer a solution in the form of the ManagedBlocker.  Combined with the Fork/Join, it can keep parallelism at the desired level.","video":"https://vimeo.com/233817518","title":"Turbo Charge CPU Utilization in Fork/Join Using the ManagedBlocker","room":"Room 4","startTime":"2017-09-14T11:40","endTime":"2017-09-14T12:25","startTimeZulu":"2017-09-14T09:40:00Z","endTimeZulu":"2017-09-14T10:25:00Z","speakers":[{"name":"Dr Heinz M. Kabutz","twitter":"@heinzkabutz","pictureId":"bb6f8b2963fe4831b884df196066d0c4","bio":"Dr Heinz Kabutz writes the popular \"The Java Specialists' Newsletter\" read by tens of thousands of enthusiastic fans in over 139 countries.  To sign up, visit http://www.javaspecialists.eu"}],"id":"ef746eef280541868555df6569e4bb79","sessionId":"ef746eef280541868555df6569e4bb79","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This session is relevant for all those interested in the IoT, Cloud Computing and AI.  If you are a hobbyist you might just get inspiration for your next project!\n\nThere will be lots of demo's and a small amount of code displayed on screen, but no live coding.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"In this session, I’ll share how I transformed a lowly Raspberry Pi Zero W webcam into a smart security camera (with motion detection, threat analysis and alert notifications) by combining open source software with cloud based image analysis.\n\nAttendees can expect a short explanation of how to set up their own motion activated webcam, followed by a demonstration of how they can use Java and a range of AWS Services (including Rekognition, Lambda Functions and Step Functions) to help their camera distinguish between an unwanted guest and the neighbour’s cat.\n\nFinally we'll compare Node.js and Java versions of this solution and compare them in terms of execution speed, operating cost and ease of development.","video":"https://vimeo.com/233849443","title":"Building a Smart Security Camera with Raspberry Pi Zero, Java and AWS","room":"Room 5","startTime":"2017-09-14T14:20","endTime":"2017-09-14T15:20","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T13:20:00Z","speakers":[{"name":"Mark West","twitter":"@markawest","pictureId":"2673a3ae521b4cc7a5b08f93a8c55464","bio":"Originally from the UK, Mark is now based in Oslo where he works at Bouvet. He is an avid Maker and IoT hobbyist who enjoys learning new technologies by applying them to real world problems.\n\nIn his spare time Mark is involved in javaBin (the Norwegian JUG) where he helps organise community events such as JavaZone and JavaZone Kids. He has spoken at a range of conferences in the US and Europe, including GeeCon, JavaOne, Riga Dev Days, IoT Tech Day and JavaZone.\n"}],"id":"0ee4e5cd6f0d44399632b375d5d50156","sessionId":"0ee4e5cd6f0d44399632b375d5d50156","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"No matter if you have some or no experience with securing your (Java) apps, but want to know what current security technology can do for you, then this talk is for you. Developers and managers, all are welcome!\nThis is a conceptional talk, so no code, sorry. ;)","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"Distributed systems (and/or microservices) and the use of web-based APIs on many different devices make it a MUST to use SSO systems based on OAuth 2.0, OpenID Connect and JSON Web Token (JWT). But Java standards not always offer easy ways to use and integrate these (relatively new) technologies into your (mobile) apps and services. And if you're in the cloud, using API gateways, you have to consider possible constraints and restrictions of the service provider.\n\nYou'll see various solutions, how to secure APIs and different kinds of applications in the cloud and on-premise. Additionally you'll know at any time, which user executes your procedures with which roles, even if they are called indirectly in the backend.","video":"https://vimeo.com/233981331","title":"Security and Single-Sign-on for Web-APIs","room":"Room 3","startTime":"2017-09-14T11:40","endTime":"2017-09-14T12:25","startTimeZulu":"2017-09-14T09:40:00Z","endTimeZulu":"2017-09-14T10:25:00Z","speakers":[{"name":"Niko Köbler","twitter":"@dasniko","pictureId":"bd80423092804923b3222a91cf7136ac","bio":"Doing stuff with computers, often serverless in the cloud, mostly hacking (functional) on the JVM.\nAlso consulting and training business. Co-Lead of a local german Java User Group.\nAuthor and Speaker at international tech conferences.\nCurrently writing a book about serverless computing."}],"id":"7613806989e34aac9830c5c7e61018c0","sessionId":"7613806989e34aac9830c5c7e61018c0","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Arkitekter og utviklere som er interessert i å vite hvilke data de offentlige har og hvordan disse kan utnyttes i nye tjenester. Utviklere som ønsker å integrere mot offentlige felleskomponenter.","level":"beginner","length":"45","format":"presentation","language":"no","abstract":"Offentlige virksomheter samarbeider for tiden med å etablere en nasjonal datakatalog som skal dokumentere hvilke datasett det offentlige Norge har ansvar for (metadata). Katalogen skal gi oversikt over og være et hjelpemiddel til gjenbruk av informasjon mellom ulike offentlige etater. Dette for å lage bedre tjenester til innbyggere og næringsliv. Ambisjonen er at det offentlige i langt større grad skal utveksle informasjon seg i mellom og levere bedre tjenester, slik at man f.eks. skal få tjenester som man har krav på uten at man må søke om det.\n\nDatakatalogen vil være tilgjengelig for alle, og utvikles av Brønnøysundregistrene som et av de første offentlige åpne kildekode prosjekter i Norge. Systemet bygges med Java, Spring Boot, Angular, Javascript, Elasticsearch, Fuseki/RDF-database, Docker/Openshift og kildekoden legges ut på GitHub. Datakatalogen tilbyr en søkeportal og et REST-basert søkeapi. Jeg vil demonstrere søkeportalen og søkeapiet og oppfordre utviklere til å ta i bruk systemet og komme med innspill til hvordan det kan forbedres. ","video":"https://vimeo.com/233847809","title":"Datakatalog - en oversikt over alle offentlige datasett i Norge","room":"Room 4","startTime":"2017-09-14T14:20","endTime":"2017-09-14T15:05","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T13:05:00Z","speakers":[{"name":"David Skogan","twitter":"@DavidSkogan","pictureId":"cf6a72ec8325492184d7ecb5720f4d39","bio":"Erfaren løsningsarkitekt som nå jobber som Scrum Master og leder for utviklingsteamet for Datakatalogen. Har tidligere jobbet for flere offentlige virksomheter. Programmerer gjerne i Java og Javascript i tillegg til å lage informasjonsmodeller. Pusler med Arduino som hobbyprosjekt. Er ansatt som rådgiver/arkitekt i Acando AS."}],"id":"c2ea2f5c90a04e188fafe8047c52d4a1","sessionId":"c2ea2f5c90a04e188fafe8047c52d4a1","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne presentasjonen er ment for folk vil få en smakebit på hvordan en relativt enkel matematisk modell kan brukes gjennom maskinlæring til å skape spennende resultater. Målet er både å informere og inspirere deltakerne til å ville forsøke å lage noe kult selv ved hjelp av markov-kjeder.\n\nDet vil ikke inngå noe kode i denne presentasjonen.","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"Hva har den irriterende autocorrect ordlista på mobilen din til felles med programvare for analyse av DNA-sekvenser? Svaret er at begge deler sannsynligvis benytter seg av markov-kjeder i en eller annen grad. En markov-kjede er en relativt simpel matematisk modell som kan benyttes til å generere ny data basert på et sett med treningsdata, med andre ord en form for maskinlæring.\n\nI denne presentasjonen vil jeg gi en introduksjon til markov-kjeder, hvordan de fungerer, og hvordan de kan brukes. Som eksempel vil jeg bruke et eget hobbyprosjekt der jeg bruker markov-kjeder til å generere musikk.","video":"https://vimeo.com/233786084","title":"Markov-kjeder, og hvorfor de er alt annet enn kjedelig!","room":"Room 7","startTime":"2017-09-14T09:40","endTime":"2017-09-14T10:00","startTimeZulu":"2017-09-14T07:40:00Z","endTimeZulu":"2017-09-14T08:00:00Z","speakers":[{"name":"Eivind Lysne","twitter":"","bio":"Eivind er utdannet fra NTNU, og jobber til daglig som javautvikler hos Bouvet med Spring, Hibernate og andre godsaker. Han er aktiv korsanger på fritiden og driver gjerne med små hobbyprosjekter som kombinerer kode og musikk."}],"id":"ba39d987955e452e968fe87375267cd3","sessionId":"ba39d987955e452e968fe87375267cd3","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Utviklere med noe frontenderfaring, og gjerne erfaring med React og/eller Redux","level":"beginner","length":"60","format":"presentation","language":"no","abstract":"Mye er sagt om frontendlandskapet og JavaScript de siste årene. Etter fem år med fulltidshyre som frontendutvikler, mener jeg noe av det mest spennende på fagområdet om dagen skjer utenfor JavaScript - nemlig Elm.\n\nElm er et helt eget språk som kompilerer til JavaScript, og det har noen ganske spreke lovnader. Kompilatorfeilmeldinger som faktisk hjelper deg. Ingen kjøretidsfeil. Refaktorering som en lystbetont opplevelse. Kan det virkelig være sant? Jeg mener det.\n\nI dette foredraget får du et grundig innblikk i Elm, samt en sammenligning det med ser ut til å være alles favorittpakke innen JavaScript for tiden: React sammen med Redux. I tillegg får du høre om hvem som bruker Elm i produksjonssystemer i Norge, og hva deres erfaringer er så langt.","video":"https://vimeo.com/233648151","title":"Kast rammeverkene og bytt språk: refaktorerbar og feilsikker frontendkode med Elm","room":"Room 4","startTime":"2017-09-13T10:20","endTime":"2017-09-13T11:20","startTimeZulu":"2017-09-13T08:20:00Z","endTimeZulu":"2017-09-13T09:20:00Z","speakers":[{"name":"Erik Wendel","twitter":"@ewndl","pictureId":"a5701b31b4934c34bcc0527d5202faf5","bio":"Konsulent, frontendarkitekt og fagleder i BEKK Consulting i Oslo. "}],"id":"a50ab3bcacf44df38dbd9739c2b6af60","sessionId":"a50ab3bcacf44df38dbd9739c2b6af60","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers who need to understand how to add HTTPS into web applications by integrating their application with a Certificate Authority by means of the ACME REST API. \n\nSample code in slides. ","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"More and more websites need to add TLS (Transport Layer Security) to its protocol stack. HTTPS or HTTP over TLS will be required for all web communication in the future. Browsers like Chrome and Firefox browsers will show a Not Secure warning for all pages served over HTTP.\n\nAn important and required component to “turn on” TLS is the TLS certificate, preferably from at publicly trusted Certificate Authority. The traditional issuance models for applying for a TLS certificate and installing it on the web site is a manual and time consuming process. Renewal of existing certificates is also a nightmare for administrators. \n\nThe Automatic Certificate Management Environment (ACME) protocol is a  protocol for automating interactions between web sites and Certificate Authorities, allowing for automated deployment of TLS certificates. \n\nThis presentation will give an introduction to the ACME protocol (and the ACME API) and how this can be used to fully automate the deployment of Public Key Infrastructure on a website.\n","video":"https://vimeo.com/233648488","title":"Automating the S in HTTPS using ACME","room":"Room 2","startTime":"2017-09-13T10:20","endTime":"2017-09-13T11:05","startTimeZulu":"2017-09-13T08:20:00Z","endTimeZulu":"2017-09-13T09:05:00Z","speakers":[{"name":"Mads Henriksveen","twitter":"","bio":"MSc in Computer Science with more than 30 years of IT experience and the last 18 years working with IT security, focusing on PKI, eID/eSignature and other hard core security technology.  Manager of Buypass Certificate Authority (CA), a trusted root CA used for publically trusted TLS certificates according to industry standards. \n\nRepresenting Buypass in CA/Browser Forum, a forum establishing standards for the TLS certificate industry. "}],"id":"db6b5b5d9e73484cadc8a1f2e6097532","sessionId":"db6b5b5d9e73484cadc8a1f2e6097532","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne sesjonen passer for alle som liker å lage ting ved bruk av IoT-dingser som Arduino, ESP8266, Raspberry med mer.\n\nHar du ikke gjort noe av dette før? Fortvil ikke! Denne sesjonen passer for både nybegynnere og de som har noen år på baken med IoT-utvikling.","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"I løpet av denne lyntalen blir du geleidet gjennom hele prosessen med å sette opp en rask, sikker og batteribesparende toveiskontroll av din IoT dings via en native app på mobilen din. Og aller best - alt dette i løpet av noen få minutter ved bruk av rammeverket Blynk!\n\nVær forberedt på få slides, live koding, firmware flashing og ikke minst live demonstrasjon. Etter denne lyntalen håper jeg det vil krible i hacker-genet ditt, og at egentlig ønsker å dra rett hjem for å sette opp mobilstyring av garasjeporten, rullegardinene, persiennene eller overvåkning av ølbryggingen din.\n\nVel møtt!\n","video":"https://vimeo.com/233825372","title":"Hvordan fikse mobilstyring av IoT-dingsen din i løpet av 5 min!","room":"Room 7","startTime":"2017-09-14T09:20","endTime":"2017-09-14T09:40","startTimeZulu":"2017-09-14T07:20:00Z","endTimeZulu":"2017-09-14T07:40:00Z","speakers":[{"name":"Erik Sogge","twitter":"","pictureId":"11ac8c77edfb46959dd64dfe96d0c495","bio":"Erik har i løpet av de siste 15 årene har han jobbet som utvikler, arkitekt og rådgiver for flere av Norges største virksomheter. Han har bakgrunn som teknolog og jobber som avdelingsleder på Bouvet sitt kontor i Sandvika.\n\nSiden han ikke får utsprang for sin teknologiske skapertrang i sin lederstilling, har dette resultert i mange IoT-prosjekter både hjemme, hos naboer og i Bouvet sin IoT-lab hvor han blant annet printet ut sin egen 3D-printer ved bruk av Bouvet sin 3D-printer."}],"id":"6c627736093a45a68c501344b53cf1b3","sessionId":"6c627736093a45a68c501344b53cf1b3","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Code in slides + live coding is going to make this session super exciting!","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Service registration, discovery and horizontal scalability are key operational requirements of a microservice architecture.Each service needs to replicate. A standard mechanism by which services can easily scale up and down based upon metadata is important. The exact address of a service may not be known until the service is deployed and ready to be used. The dynamic nature of a service’s endpoint address is handled by service registration, discovery and a load balancer. This is all the more important in a containerized world where each container is like a cattle.\n\nDocker, Kubernetes, DC/OS and ECS are commonly used container orchestration platforms. They all have built-in support for service discovery and scalability. This talk will explain how this requirement of microservices are met in these orchestration frameworks. Specifically, configuration files for a Java application talking to a database will be shown for different frameworks.","video":"https://vimeo.com/233820215","title":"Service Discovery in Container Orchestration Frameworks","room":"Room 6","startTime":"2017-09-14T13:00","endTime":"2017-09-14T14:00","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T12:00:00Z","speakers":[{"name":"Arun Gupta","twitter":"arungupta","pictureId":"6fbf1a70672e48b3a1e2bef3c095a435","bio":"Arun Gupta is the vice president of developer advocacy at Couchbase. He has built and led developer communities for 10+ years at Sun, Oracle, and Red Hat. He has deep expertise in leading cross-functional teams to develop and execute strategy, planning and execution of content, marketing campaigns, and programs. Prior to that he led engineering teams at Sun and is a founding member of the Java EE team.\n\nGupta has authored more than 2,000 blog posts on technology. He has extensive speaking experience in more than 40 countries on myriad topics and is a JavaOne Rock Star for three years in a row. Gupta also founded the Devoxx4Kids chapter in the US and continues to promote technology education among children. An author of several books on technology, an avid runner, a globe trotter, a Java Champion, a JUG leader, NetBeans Dream Team member, and a Docker Captain, he is easily accessible at @arungupta."}],"id":"2aa86b7e3468460191dd069641d96d1b","sessionId":"2aa86b7e3468460191dd069641d96d1b","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Jobber du med containere eller tenker dere på å ta i bruk containere? Kom for å se en tilnæring til hvordan man kan få til en kontinuerlig prosess.","level":"intermediate","length":"60","format":"presentation","language":"no","abstract":"Skatteetatens nye plattform Aurora Openshift gir oss nye muligheter for å få på plass kontinuerlig utvikling, testing og utrulling.\n\nKom for å høre hvordan vi byger Docker containere, hvordan vi sikrer oss mot regresjonsfeil i alle nivå og hvordan vi ruller ut applikasjoner til forskjellige miljøer.\n\nHvor mye må dere gjøre for å oppdatere alle relevante applikasjoner hvis det kommer en ny sikkerhetsfeil i ditt baseimage? ","video":"https://vimeo.com/234002048","title":"Kontinuerlig bygging, testing og utrulling på Openshift","room":"Room 5","startTime":"2017-09-14T09:00","endTime":"2017-09-14T10:00","startTimeZulu":"2017-09-14T07:00:00Z","endTimeZulu":"2017-09-14T08:00:00Z","speakers":[{"name":"Bjarte Karlsen","twitter":"@bjartek","bio":"Bjarte Karlsen er en engasjert og allsidig teknolog som jobber for SITS i Grimstad. Der jobber han som Teknisk Arkitekt for Openshift plattformen med ansvar for SITS sine tilpassninger på toppen av Openshift.\n\nPå fritiden er Bjarte en småbarns pappa som liker å leke med teknologi og lese bøker. "}],"id":"da894dee983848168ed25015b43fd110","sessionId":"da894dee983848168ed25015b43fd110","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Hvis du noen gang har vært frustrert fordi du ikke huska argumentene `tar` trenger for å unzippe et arkiv, så er denne lyntalen for deg. Spaced repetition learning vil hjelpe deg å huske de flaggene til den dagen du dør. Hvis du har lyst til å bruke mindre tid på å lære deg nye ting, så er denne lyntalen for deg. Jeg kommer til å fortelle deg alt om spaced repetition learning - den enkle teknikken som gjorde at jeg gikk opp en karaktér i alle emnene mine på universitetet, og som har hjulpet meg mye i mitt første år i arbeidslivet.\n\nHer blir det ingen koding, men litt teori, en demo av spaced repetition learning-programmet Anki, og en haug av tips til hvordan it-folk kan ta nytte av spaced repetition learning.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Hvorfor er det slik at kunnskapen du tilegner deg gjennom læring forsvinner dersom den ikke brukes? Og hva kan du gjøre for å hindre at det skjer?\n\nSpaced repetition learning handler om å la et dataprogram minne deg på ting du er i ferd med å glemme - akkurat når du er i ferd med å glemme det.\n\nI denne lyntalen skal jeg vise deg hvordan jeg gikk opp én karakter i samtlige emner i studiene mine ved å ta i bruk spaced repetition learning, og hvordan jeg har hatt nytte av det så langt i arbeidslivet.","video":"https://vimeo.com/233848102","title":"Husk alt du lærer med Spaced Repetition Learning","room":"Room 7","startTime":"2017-09-14T14:20","endTime":"2017-09-14T14:40","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T12:40:00Z","speakers":[{"name":"Stian Lågstad","twitter":"@stianlagstad","pictureId":"b3dc3be5b8ee4e4a9d46abd770bd5d2a","bio":"Stian har vært frelst av Spaced Repetition Learning helt siden han kom over begrepet ca halveis i studiene sine. Det hjalp han raskt å heve karaktersnittet med en hel karakter over hele fjøla, og med å få A på masteroppgaven i bioinformatikk på Universitetet i Oslo.\n\nStian Lågstad er systemutvikler for Knowit, der han hovedsakelig jobber med det beste JVM'en har å tilby: Java og Scala. Når han ikke pleier lidenskapen for JVM'en, bruker han tiden på maskinlæring og bioinformatikk med sine to beste venner: Python og R."}],"id":"74be29641cef47dbad09024f288dee35","sessionId":"74be29641cef47dbad09024f288dee35","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This talk is for pragmatic developers and architects interested in modularity and the benefits it can achieve compared to an all-in microservices approach. Code in slides. No hype.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Microservices are everywhere. Everyone seems to be either going into that direction or is talking about doing so. But are they really the best choice for you?\n\nDevelopers! Architects! Buckle up as we're going to cut through the hype. Instead of going all-in on microservices or all-in on big ball of mud, we'll introduce a third choice: the Majestic Modular Monolith! We'll look at what this brings to the table, when this may be a good fit and how it compares to the other two approaches in terms of code organization, productivity, scalability and much more. We'll look at how this can be designed and implemented in practice, we won't shy away from the hard questions and we may even throw in a little bit of Java 9 for good measure :-)","video":"https://vimeo.com/233980163","title":"Majestic Modular Monoliths","room":"Room 3","startTime":"2017-09-14T10:20","endTime":"2017-09-14T11:20","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T09:20:00Z","speakers":[{"name":"Axel Fontaine","twitter":"@axelfontaine","pictureId":"5cd09dc183ea41939e8ec3765fa71cc8","bio":"Axel Fontaine is the founder and CEO of Boxfuse (boxfuse.com), the easiest way to deploy JVM, Node.js and Go applications to AWS.\n\nAxel is also the creator and project lead of Flyway (flywaydb.org), the open-source tool that makes database migration easy.\n\nHe is a Continuous Delivery and Immutable Infrastructure expert, a Java Champion, a JavaOne Rockstar and a regular speaker at many large international conferences including JavaOne, Devoxx, Jfokus, JavaZone, QCon, JAX, ..."}],"id":"71f6d0cfcbee4885b95b241922cf59cc","sessionId":"71f6d0cfcbee4885b95b241922cf59cc","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Anyone working with a database and/or modern web applications. There will be lots of code.","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"TLDR; I'll show you the Datomic and Datascript databases. They're both really cool.\n\nDatomic is an append-only database, designed from the ground up with modern applications and hardware in mind. It never loses data, it has an RDF-like approach to schemas, it's really fast, and it has a powerful query language borrowed from Prolog that expresses queries as data structures. In short: it's pretty awesome.\n\nAs both a geek and a food nerd, I combined two of my passions in a spare-time project where I put 7 years of meal plans into Datomic to build an application around the data. In this talk I'll take you through what using Datomic is like, show some examples from the app I built, and show you what kind of cool things you can do with a modern database.\n\nIf one database wasn't enough, I'll also show you Datascript, which takes Datomic's APIs to the browser (but can be used without Datomic as well). Forget about REST APIs to marshall data between server and client, with Datomic and Datascript, you can leverage generic replication to power real-time browser UIs.\n","video":"https://vimeo.com/234054197","title":"I put 7 years of meal plans into Datomic, here's what I learned","room":"Room 1","startTime":"2017-09-14T17:00","endTime":"2017-09-14T17:45","startTimeZulu":"2017-09-14T15:00:00Z","endTimeZulu":"2017-09-14T15:45:00Z","speakers":[{"name":"Christian Johansen","twitter":"@cjno","pictureId":"810847abaee14f268872e1e30f0001db","bio":"Christian is a programmer with a passion for simpler solutions, less accidental complexity, and higher quality software. His approach of choice is functional programming, and his current main languages are Clojure(Script) and JavaScript. Christian is the author of \"Test-Driven JavaScript Development\", has worked on several small and large open source projects, and has tought countless 1, 2, and 3 day courses in testing/TDD, JavaScript, and node.js.\n"}],"id":"b334906441754e7b9b282dfdf533738b","sessionId":"b334906441754e7b9b282dfdf533738b","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Participants should have some experience with software development and/or administration of public cloud computing. There will be code. The audience should agree that security is important.","level":"advanced","length":"60","format":"presentation","language":"en","abstract":"The revolution of cloud computing has bootstrapped a transformation of harnessing IT as we know it. The power and potential of cloud computing has never been clearer. If you're resisting it because of security concerns, you risk being left behind, missing out on the most disruptive and innovative period in technology so far.\n\nEmerging with cloud computing is a second revolutionizing philosophy. The one of DevOps and Continuous Delivery. In contrast to the old ways of ensuring that our software is available, stable and secure, we no longer have the time to let it block progress and speed. Security is not only failing to protect, it's also hindering the organization’s productivity. Because if security blocks progress and speed, it will be ignored and marginalized.\n\nThe last year we have been working on migrating applications from internal hosting to the cloud at Norwegian Railways (NSB). We have also created a handful of new services and split up many of the legacy ones. Our main focus has been to enable fast flow of features into production while preserving world-class availability, stability, and last but not least security. In this talk I will share with you our experiences and choices made along the way. Furthermore I will show you our tooling, technology choices and explain our process adaptations.","video":"https://vimeo.com/233630475","title":"Continuous Security in the Cloud","room":"Room 4","startTime":"2017-09-13T09:00","endTime":"2017-09-13T10:00","startTimeZulu":"2017-09-13T07:00:00Z","endTimeZulu":"2017-09-13T08:00:00Z","speakers":[{"name":"Stein Inge Morisbak","twitter":"@steinim","pictureId":"05ef7ccabc1047deb9763f2c9ea7f01c","bio":"Stein Inge Morisbak is Manager and Head of Bekk Consulting’s commitment to Continuous Delivery, DevOps, and the Cloud. Stein Inge is a true Agile evangelist with 20 years of experience both contributing to and helping others become better at producing excellent software together with demanding customers. He is also an experienced speaker at conferences, organizer of DevOpsDays Oslo and the founder of DevOps Norway Meetup.\n"}],"id":"f6d367a79f4a433b998c8982c324f52f","sessionId":"f6d367a79f4a433b998c8982c324f52f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Passer for alle med en interesse for funksjonell programmering og/eller data-prosessering i Google Dataflow. Det vil bli kode i presentasjonen og en live demo.","level":"intermediate","length":"60","format":"presentation","language":"no","abstract":"Transformasjon av data i prosesserings-pipelines som de som lages i Google Dataflow er en \"perfect match\" for funksjonell programmering. Dette er en erfaringsrapport om hvordan vi i Unacast har brukt Clojure-biblioteket Datasplash (https://github.com/unacast/datasplash) til å lage flere høyvolums data-pipelines som kjører på Google Cloud Platform.\n\nVi vil ta en kikk på hvordan Datasplash gir oss muligheten til å lage Dataflow pipelines og legge på datatransformasjoner i idiomatisk, funksjonell Clojure-kode og gjøre en sammenligning med det offisielle Java SDK'et (Både i Java 7 og i det mer funksjonell'ishe Java 8). \nFor å trigge batch-pipelines har vi tatt i bruk Google serverless-teknologi Cloud Functions, og vi vil gå gjennom de forskjellige måtene dette kan brukes i kombinasjon med Dataflow på.","video":"https://vimeo.com/233978072","title":"Taming Google Dataflow with Datasplash and Cloud Functions","room":"Room 2","startTime":"2017-09-14T17:00","endTime":"2017-09-14T18:00","startTimeZulu":"2017-09-14T15:00:00Z","endTimeZulu":"2017-09-14T16:00:00Z","speakers":[{"name":"Torbjørn Vatn","twitter":"@torbjornvatn","pictureId":"7259bdd7e41744a78574bf002df680eb","bio":"Torbjørn Vatn is currently a Senior Platform Engineer at the Norwegian startup Unacast where he programs Scala, Devs'n'Ops and brews a lot of coffee. He has 4-5 years experience as a full-time Scala developer working for both penger.no and BEKK Consulting, that last year and a half he has been working mainly with Clojure and Go.\n\nTorbjørn Vatn jobber for tiden som Senior Platform Engineer i Unacast. Der programmerer han Clojure og Go, DevOps'er og brygger mye god kaffe. Han har ~10 års erfaring fra BEKK og penger.no, og har i hovedsak drevet med funksjonell programmering i Scala og Clojure de siste 5 årene."}],"id":"d66babf3b55e440aab52ea06958d136f","sessionId":"d66babf3b55e440aab52ea06958d136f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"More experienced developers and senior performance engineers who knows that the JVM contains more than one GC algorithm. Developers who are interested in getting a deeper understanding of the trade-offs involved with regards to memory management. The audience doesn't have to know what a GC is, but the talk will be probably be more enjoyable if one has some GC experience.","level":"advanced","length":"60","format":"presentation","language":"en","abstract":"This talk will focus on the fundamental trade-offs when designing a memory management algorithm - throughput, latency and footprint. When designing an memory management algorithm, you can only optimize for two out these three features. However, an algorithm is always made up of smaller parts and this talk will show how various design choices, small and large, all shape a memory management algorithm. Examples of optimization being presented are:\n- Dense prefix for Parallel and Serial (latency over footprint)\n- Concurrent refinement of remembered sets (latency over throughput)\n- Using cards instead of references (footprint over latency)","video":"https://vimeo.com/233975875","title":"Throughput, latency and footprint - pick two","room":"Room 2","startTime":"2017-09-14T14:20","endTime":"2017-09-14T15:20","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T13:20:00Z","speakers":[{"name":"Erik Duveblad","twitter":"","pictureId":"c83b21815a88428db286e624ab50ac0b","bio":"Erik Duveblad (formerly Helin) is a developer at Oracle working in the Java group as a senior member of the JVM Garbage Collection team. For the past four years Erik has been working on the trace events framework, diagnostic tools for the Metaspace and for the last two years on the G1 garbage collector. Erik has worked on most parts of the G1 garbage collector and lately with a special focus on the policies."}],"id":"89ab4c1aa667443d98596c0cf7179019","sessionId":"89ab4c1aa667443d98596c0cf7179019","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som bryr seg om domenet sitt.","level":"beginner","length":"45","format":"presentation","language":"no","abstract":"Har DDD noe for seg på et legacy-prosjekt? Funker teknikkene også på 15 år gammel java-kode? Kan vi bruke DDD på en avgrensa del av en monolitt, eller er det bare brukbart for microservice-prosjekter? Er det umulige mulig?\n\nVi stilte oss disse spørsmålene, og bestemte oss for å finne det ut ved å prøve i vårt komplekse prosjekt. Hva ville skje hvis vi ga DDD en reell sjanse? Hva funka og hva funka ikke, hvor møtte vi veggen, og ga veggen etter?\n \nVi deler våre erfaringer og problematiserer bruk av DDD så vel som manglende bruk av DDD, og hvilke feil du ikke trenger å gjenta etter oss.\n","video":"https://vimeo.com/233979187","title":"DDD + legacy-monolitt = sant?","room":"Room 3","startTime":"2017-09-14T09:00","endTime":"2017-09-14T09:45","startTimeZulu":"2017-09-14T07:00:00Z","endTimeZulu":"2017-09-14T07:45:00Z","speakers":[{"name":"Mads Opheim","twitter":"madsopheim","pictureId":"68bc60cf8f394888b5e8cecb104d7f08","bio":"Lead developer og fagnettsleiar for Java i Computas. Over gjennomsnittet opptatt av kvalitet og kontinuerlege forbetringar, og av at det umoglege ofte er mogleg. Liker metodikk, liker ikkje å gjenta feil.\n\nOpptatt av at vi skal levere så høg verdi så ofte som mogleg. Pressar på for å eksperimentere meir og for at vi som fagfolk heile tida skal forbetre oss, og har tatt mange grep i noverande prosjekt for å oppnå nettopp det."},{"name":"Anne Landro","twitter":"","bio":"Anne Landro er fagnettverksleder for funksjonell metodikk og har jobbet med systemutvikling i mange år. Den siste tiden har hun hatt mest fokus på det funksjonelle aspektet av det å lage gode systemer. Hun liker godt å prøve forskjellige roller, og trives best når hun kan få en god forståelse av helheten og behovene bak et system. "}],"id":"bcbb8c889b204ddbb59a4c5d67035897","sessionId":"bcbb8c889b204ddbb59a4c5d67035897","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som skriver REST-tjenester som skal brukes av single-page applikasjoner og som vurderer å  legge inn CORS-headere for å gi Javascript som hostes på et annet domene tilgang.","level":"intermediate","length":"10","format":"lightning-talk","language":"no","abstract":"Hvis du har laget en single-page applikasjon som bruker rest-ressurser fra andre nettsteder har du også møtt problemet med CORS-headere. Du får ikke lov å gjøre kall fra applikasjonen din til andre nettsteder uten at de sender med en Access-Control-Allow-Origin header hvor nettstedet ditt er listet opp.\nMen hva slags sikkerhetsmekanisme er egentlig dette? Er det noen grunn til å ikke ta med \"Access-Control-Allow-Origin: *\" på alle rest-ressurser i hele verden? Hva er det egentlig denne sikkerhetsmekanismen beskytter oss mot?\nCORS-headere er en beskyttelse mot cross-site request forgery. Denne typen angrep som utnytter tilliten brukere har til nettleseren og trygge nettsteder står høyt på listen over de mest vanlige sikkerhetsproblemene i webløsninger.\nHvis du noen gang har lagt til en \"Access-Control-Allow-Origin: *\" header eller har tenkt på å gjøre det uten at du er helt sikker på hva konsekvensen er bør du komme.\nVi ser på noen ulike angrep som utnytter for liberale CORS-headere og avslutter med helt konkrete tommelfinger-regler for hvordan du skal tenke neste gang du vurderer å legge til CORS-headere på rest-tjenestene dine.","video":"https://vimeo.com/233788194","title":"Bruk CORS-headere uten å lage et sikkerhetshull","room":"Room 7","startTime":"2017-09-13T16:00","endTime":"2017-09-13T16:10","startTimeZulu":"2017-09-13T14:00:00Z","endTimeZulu":"2017-09-13T14:10:00Z","speakers":[{"name":"Sigurd Stendal","twitter":"","pictureId":"a903521d04524244a4fef3a673211a77","bio":"Sigurd Stendal er systemutvikler med fokus på webløsninger. Han har over 15 års erfaring fra utvikling av webløsninger både som konsulent og i sikkerhetsbransjen. De siste årene har han jobbet som teknologisjef hos Signicat, men er i dag konsulent i Kantega."}],"id":"58c6b5e3420c435985d356fab7a1c65a","sessionId":"58c6b5e3420c435985d356fab7a1c65a","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Any Java programmer running code or planning to run code on a Java 9 VM, no matter if Java 9 features are used or not.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Java 9 introduces modules to the Java programming language and its runtime. This talk introduces modules and discusses the practical implications of module encapsulation, its advantages and limitations such as the restricted access of the Java reflection API. This talk explains how reflection is currently used by popular frameworks like Spring, Hibernate or Mockito and showcases why many existing applications break or change their behavior when facing modularized code. Finally, this talk showcases solutions to overcome these new limitations and weights their robustness with regard to the Java releases 10 and upward.\n\nThe presenter is an active contributor to open source and helped to migrate several popular Java libraries to supporting Java 9. As a consequence, he as been working with Java 9 for almost two years and will share his experience with working with modules.","video":"https://vimeo.com/233647882","title":"Using Java 9 modules: chances and challenges","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/46acce896566443281319552a42f96af","room":"Room 1","startTime":"2017-09-13T09:00","endTime":"2017-09-13T10:00","startTimeZulu":"2017-09-13T07:00:00Z","endTimeZulu":"2017-09-13T08:00:00Z","speakers":[{"name":"Rafael Winterhalter","twitter":"@rafaelcodes","bio":"Rafael works as a software consultant in Oslo, Norway. He is a proponent of static typing and a JVM enthusiast with particular interest in code instrumentation, concurrency and functional programming. Rafael blogs about software development, regularly presents at conferences and was pronounced a JavaOne Rock Star. When coding outside of his work place, he contributes to a wide range of open source projects and often works on Byte Buddy, a library for simple runtime code generation for the Java virtual machine. For his work, Rafael received a Duke's Choice award and was elected a Java Champion."}],"id":"d5476d1189e24c27a6ce4d3aa4a282a8","sessionId":"d5476d1189e24c27a6ce4d3aa4a282a8","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers, architects and ux-people. Noe kode i slides.","level":"intermediate","length":"45","format":"presentation","language":"no","abstract":"Språk er vanskelig.\nÅ implementere språk-forståelse selv er utrolig vanskelig.\nI dette foredraget vil jeg gå gjennom ulike fremgangsmåter for å implementere språkforståelse i din applikasjon. Vi vil gå gjennom alt fra regulære uttrykk, via grammar-parsing til full nlp-implementasjon med api.ai.\nMen en ting er språket, dersom du ønsker en samtale med applikasjonen din så er du avhengig av så mye mer. En samtale er så mye mer enn bare språket. Brukerene skal ikke lære seg å snakke med en datamaskin, din applikasjon skal lære seg å snakke med mennesker.\nEtter å ha sett dette foredraget vil du få vite hvordan din applikasjon kan bli noens samtalepartner!","video":"https://vimeo.com/233848072","title":"Snakk med din applikasjon!","room":"Room 6","startTime":"2017-09-14T14:20","endTime":"2017-09-14T15:05","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T13:05:00Z","speakers":[{"name":"Ole-Martin Mørk","twitter":"@olemartin","pictureId":"8d44a3a5cbc74c7e888f51a778cf9f1a","bio":"Ole-Martin er entusiastisk opptatt av det meste som dukker opp i teknologi-horisonten. Nå har han det gøy med maskinlæring og chatbots. Han forstår NLP, men samtidig kan han garantere at foredraget vil være spennende og uten kjedelig teori. Stort fokus på KISS, og få noe til å funke, og så får noen andre ta seg av grunnforskningen."}],"id":"50866b4d56e44c48a6f4fd1d6bad72f4","sessionId":"50866b4d56e44c48a6f4fd1d6bad72f4","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som har en fot innen programvareutvikling. Utviklere, kravstillere, designere, arkitekter, testere, prosjektledere.\nNo code.","level":"intermediate","length":"60","format":"presentation","language":"no","abstract":"I mai 2018 får vi nye personvernregler (GDPR). Innbyggerne får nye og bedre rettigheter, og virksomheter får nye plikter. En viktig nyhet er kravet om at alle nye løsninger skal ha innebygd personvern (Privacy by Design) og personvern skal være standardinnstilling. Hva betyr det og hvordan kan det løses? Datatilsynet har tatt utgangspunkt i Secure Software Development LifeCycle (S-SLDC), og med gode innspill fra utviklere i privat og offentlig sektor, har vi laget en veiledning for hvordan personvern og sikkerhet kan bygges inn i løsninger. Følger du denne kan du ha løsningen til morgendagens personvern. ","video":"https://vimeo.com/233819047","title":"Utviklere har nøkkelen til morgendagens personvern","room":"Room 5","startTime":"2017-09-14T10:20","endTime":"2017-09-14T11:20","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T09:20:00Z","speakers":[{"name":"Martha Eike","twitter":"@marthaeike","pictureId":"eef176b0e0144bfeb1cc884e5ccb2d65","bio":"Martha er utdannet dataingeniør med ni års erfaring fra QA og programvareutvikling i privat sektor. Hun begynte å jobbe i Datatilsynet for fem år siden og har opparbeidet seg erfaring med skytjenester, digitalisering av offentlig sektor, opplæringssektoren, innebygd personvern, og Big Data. Martha koordinerer det utadrettede arbeidet med informasjonssikkerhet hvor det kommende personvernregelverket har høyeste prioritet. "},{"name":"Veronica Jarnskjold Buer","twitter":"@veronica_buer","pictureId":"4bed9c95e034480dbf6dc5512d67508e","bio":"Veronica er forskerutdannet fra UiO, og har mer enn 25 års erfaring fra IKT og informasjonssikkerhet i offentlig og privat sektor. Hun begynte sin karriere i Datatilsynet, har siden vært IKT-leder for Aurskog-Høland kommune, Head of Security i politiet, CISO i Norges bank, Cyber Security Leader i Capgemini og hun er nå tilbake igjen i Datatilsynet. Veronica har fokus på personvern og sikkerhet innen forskning og i helsesektoren, innebygd personvern, hendelseshåndtering, testing, personvernfremmende teknologi, risikovurderinger og vurdering av personvernkonsekvenser. "}],"id":"0742d32a6d4c4bd998b8adb49adeb2ce","sessionId":"0742d32a6d4c4bd998b8adb49adeb2ce","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle. Ingen kode.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Dette er en talk for for alle som er litt mer paranoide enn det som anses som normalt. Jeg skal vise noe av det jeg har oppdaget ved å overvåke internett-trafikken hjemme fra ulike enheter og applikasjoner jeg har kjøpt de siste årene. Er det egentlig så trygt som utviklerne skal ha det til? Har vi solgt sjelen vår for at vi skal kunne leve behagelig med alle de kule integrasjonene som eksisterer der ute?\n\nBli med meg på et eventyr inn i paranoiaens verden!","video":"https://vimeo.com/233788100","title":"Paranoia > 9000","room":"Room 7","startTime":"2017-09-13T15:40","endTime":"2017-09-13T16:00","startTimeZulu":"2017-09-13T13:40:00Z","endTimeZulu":"2017-09-13T14:00:00Z","speakers":[{"name":"Thuc Hoang","twitter":"@TinfoilThuc","pictureId":"a9c7957033b64af5aca39bde0f696ca5","bio":"Thuc er konsulent hos Knowit, hvor han jobber med applikasjonsutvikling, infrastruktur og microservices!\nHan har mange interesser, men innenfor IT er sikkerhet, skyløsninger, smart home og gode APIer høyt på listen. På kveldstid er han kjent (blant sine kollegaer) som TinfoilThuc hvor han bruker en god del tid på å sniffe datapakker som flyr igjennom hans nettverk hvor hovedmålet er å finne svakheter i systemene han eier."}],"id":"5375648e1a36421da90d5fc39f019fe1","sessionId":"5375648e1a36421da90d5fc39f019fe1","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Any developer that is embracing microservices architecture and wants to use continuous delivery/deployment as well. Slides and live coding","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"In a monolithic application, different services are developed within same project side by side.\nIn these kind of applications you don't need to worry about breaking the compatibility between contract interfaces since there is an invisible verifier called compiler that checks that all method calls follows the defined signature.\nBut in case of microservices, different services are deployed in different runtimes and using different separated networks.\nIn this scenario, any change on the contract of one service cannot be caught by the compiler since there is no typesafe connection between services..\nNow breaking the compatibility between services can be really easy and hard to detect (maybe until your new version of the service is on production).\n\nIn this talk we are going to explore why deploying a new version of a service might break everything in microservices architecture, and how to fix with consumer-driven contracts pattern.","video":"https://vimeo.com/233651337","title":"Deploy microservices with Certainty","room":"Room 6","startTime":"2017-09-13T11:40","endTime":"2017-09-13T12:40","startTimeZulu":"2017-09-13T09:40:00Z","endTimeZulu":"2017-09-13T10:40:00Z","speakers":[{"name":"Alex Soto","twitter":"@alexsotob","pictureId":"bd60bd7e29c947d786cd67cb6767f49b","bio":"Alex is a software engineer at Red Hat. He is a passionate of Java world, software automation and he believes in the open source software model.\n\nAlex is the creator of NoSQLUnit project and team member of Arquillian, Asciidoctor and Apache TomEE projects. He is a member of JSR374 (Java API for JSON Processing) Expert Group. Currently Alex is co-writing Arquillian in Action book for Manning and he is an international speaker presenting his talks at software conferences like Devoxx, JavaOne, JavaZone or JavaLand."}],"id":"87956decfb9c467ab4f3bef24cee5064","sessionId":"87956decfb9c467ab4f3bef24cee5064","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers who want to know more about reactive programming - and especially reactive Java - should attend! Attendees will learn about the reactive streams initiative, Project Reactor, and how Spring 5 integrates a fully reactive model throughout the entire stack. LIVE CODING and testing are employed to go past the theoretical and into real understanding.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Spring 5 is almost here! One of the most exciting introductions in this release is support for reactive programming, building on Pivotal's Project Reactor to support message-driven, elastic, resilient, and responsive services. Spring 5 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we'll dive into the net-new Netty-based web runtime and see how to integrate it with existing Spring-stack technologies, learn how to leverage powerful new testing mechanisms to make code better and life easier, and tie it all together with a live coding demo. If there's more to your life than CRUD, you need to be there!\n","video":"https://vimeo.com/234051695","title":"Going Reactive with Spring 5 & Project Reactor","room":"Room 1","startTime":"2017-09-14T15:40","endTime":"2017-09-14T16:40","startTimeZulu":"2017-09-14T13:40:00Z","endTimeZulu":"2017-09-14T14:40:00Z","speakers":[{"name":"Mark Heckler","twitter":"@MkHeck","pictureId":"39161371a1dd40e2a3f4d7b23b6d87de","bio":"Mark Heckler is a Pivotal Principal Technologist & Developer Advocate, conference speaker, published author, & Java Champion focusing upon developing innovative production-ready software at velocity for the Cloud and IoT applications. He has worked with key players in the manufacturing, retail, medical, scientific, telecom, and financial industries and various public sector organizations to develop and deliver critical capabilities on time and on budget. Mark is an open source contributor and author/curator of a developer-focused blog (http://www.thehecklers.org) and an occasionally interesting Twitter account (@MkHeck)."},{"name":"Josh Long","twitter":"@starbuxman","pictureId":"3dd313fda0ad4256b98ad6d394f22d64","bio":"Josh (@starbuxman) is the Spring Developer Advocate at Pivotal. Josh is a Java Champion, author of 5 books (including O'Reilly's upcoming Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry) and 3 best-selling video trainings (including Building Microservices with Spring Boot Livelessons with Spring Boot co-founder Phil Webb), and an open-source contributor (Spring Boot, Spring Integration, Spring Cloud, Activiti and Vaadin)."}],"id":"072ca72e7e1c452197f9903093e3b4cb","sessionId":"072ca72e7e1c452197f9903093e3b4cb","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Utviklere, arkitkter, driftere, og devops mennesker som har jobbet med store og distribuerte arkitekturer.\n\nLitt kode i slides","level":"intermediate","length":"45","format":"presentation","language":"no","abstract":"Denne presentasjonen er for utviklere som har noe erfaring med å jobbe med store og distribuerte arkitekturer, og vil lære om hvordan de kan gjøre det enklere med å lage en sterk applikasjonsplattform. Du vil lære om docker, kubernetes og kontinuerlig utvikling.\n\nJeg vil fortelle om hva jeg har lært av å lage, og forsøke å lage en sterk applikasjonsplattform tre ganger i forskjellige bedrifter.","video":"https://vimeo.com/234013062","title":"Hva kjennetegner en moderne applikasjonsplattform?","room":"Room 6","startTime":"2017-09-14T15:40","endTime":"2017-09-14T16:25","startTimeZulu":"2017-09-14T13:40:00Z","endTimeZulu":"2017-09-14T14:25:00Z","speakers":[{"name":"Audun Fauchald Strand","twitter":"audunstrand","bio":"k8s, ddd, jvm, distributed systems, kafka, testing, resilience.\nWorked for FINN, Schibsted and now NAV"}],"id":"15c0f38aa8c84d9bbf7565359dd09284","sessionId":"15c0f38aa8c84d9bbf7565359dd09284","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The talk is intended for people who have previous experience with stream processing and Kafka, and want to learn more about Kafka Streams at scale. There will be code examples in Scala in the slide deck.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"The Schibsted Data Platform is the global processing hub for data in Schibsted, and we receive roughly 700 million user behaviour events from more than 40 sites worldwide each day. The Data Platform’s responsibility is not only to collect, structure, and index the incoming data, but also add extra value by adding additional information to the events, known as enrichments.\n\nOne such enrichment is to add location data. More specifically, we look up the IP for each event using a 3rd party location API and get coordinates, country, and postal code back, which we append to the events.\n\nTo perform these location enrichments in real-time on large data volumes, we utilize Kafka and Kafka streams. In this presentation, I will dig into the details of the Kafka Streams DSL and the Processor API and explain how it can be used for branching, caching, bulking, asynchronous HTTP lookups, and joining. I will also talk about experiences related to operations, performance, and scaling.","video":"https://vimeo.com/233998184","title":"Translating 700 million events from IP to coordinates each day using Kafka Streams","room":"Room 4","startTime":"2017-09-14T09:00","endTime":"2017-09-14T10:00","startTimeZulu":"2017-09-14T07:00:00Z","endTimeZulu":"2017-09-14T08:00:00Z","speakers":[{"name":"Håkon Åmdal","twitter":"@hawk_aa","pictureId":"c91774b65977496f8bcf43392c6a88ca","bio":"Håkon Åmdal is a Software Engineer at Schibsted, working in the Data Platform team with data collection, data indexing, and data enriching. In his time at Schibsted, he has fallen in love with Kafka and stream processing, in addition to functional programming and Scala."}],"id":"a235f42c53fc4245ad9c050131f7fae5","sessionId":"a235f42c53fc4245ad9c050131f7fae5","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"I will share experiences on how we work with microservices.\nThis talk is open to all audiences and consists of slides and stories; there'll be a bit of code in the slides.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Microservices? At the Police? Definitely! At the Cloud, Big Data and Internet division of the Dutch National Police, 3 DevOps teams use the latest open source technology to build high tech web applications. These applications are used to support digital investigation and incident response with data from open, online sources and are built using Spring Boot, Angular 2.x, Spark, Kafka and Jenkins 2. In this session, I'll share our experiences and real-world use cases for microservices. I'll explain our architecture, why we chose it, which challenges we face and what this all brings us. I'll show how 3 teams work together on one product, loosely based on the models used by Spotify and Netflix, and I'll talk about how we apply the principles of DevOps and Continuous Delivery. I'll show how we handle security, build pipelines, test automation, performance tests, automated deployments and monitoring. You'll leave this session with an understanding of how this approach enables us to have the agility of a startup within the large Police organisation.","video":"https://vimeo.com/233788662","title":"Microservices in action at the Dutch National Police","room":"Room 6","startTime":"2017-09-13T17:00","endTime":"2017-09-13T18:00","startTimeZulu":"2017-09-13T15:00:00Z","endTimeZulu":"2017-09-13T16:00:00Z","speakers":[{"name":"Bert Jan Schrijver","twitter":"@bjschrijver","pictureId":"7bee5b4457654c2d9adddce332693d42","bio":"Bert Jan is a software craftsman at JPoint in the Netherlands and CTO at OpenValue. His focus is on Java, Continuous Delivery and DevOps. Bert Jan is a Java Champion, JavaOne Rock Star speaker and user group leader for NLJUG, the Dutch Java User Group. He loves to share his experience by speaking at conferences, writing for the Dutch Java magazine and helping out Devoxx4Kids with teaching kids how to code. Bert Jan is easily reachable on Twitter at @bjschrijver."}],"id":"7693eb89c0c74ecbac0aa907c7a160a2","sessionId":"7693eb89c0c74ecbac0aa907c7a160a2","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Anybody who is interested in developing IoT devices and has basic programming knowledge !","level":"beginner","length":"20","format":"lightning-talk","language":"en","abstract":"In Dec 2016, Google announced its new Internet of Things initiative based on Android, which it aptly named Android Things. By adding Android to the name, Google is emphasizing that developers are able to use familiar Android SDKs, APIs and services including the Google Cloud Platform.\n\nAndroid Things is only a developer preview at the moment and there is much to be done, however enough of the final operating system is in place so that developers can start creating Android Things based projects. The developer preview offers support for Intel Edison, Intel Joule, NXP Pico, NXP Argon and the Raspberry Pi 3 hardware boards.\n\nUsing the Things OS, Android Studio, Google Cloud APIs and in combination with one of the hardware boards, any developer can create smart devices for various use cases in few hours. \n\nIn this talk, you will see a sample ready code written using Android Studio, live deploying to the hardware board and a quick demo of it working.","video":"https://vimeo.com/233648514","title":"Build your own IoT Smart Device with Android Things","room":"Room 7","startTime":"2017-09-13T11:00","endTime":"2017-09-13T11:20","startTimeZulu":"2017-09-13T09:00:00Z","endTimeZulu":"2017-09-13T09:20:00Z","speakers":[{"name":"Binny Mathew","twitter":"","pictureId":"3daf92bc0f15469ab442698344a755fd","bio":"Have 9+ years of experience in IT working in different roles as developer, technical architect and solution architect for wide variety of projects. Expertise in API Management and an IoT Enthusiast. Develops hobby projects using various IoT solutions/platforms."}],"id":"4da17a0af8734b67a634436edb73c453","sessionId":"4da17a0af8734b67a634436edb73c453","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"For å få mest ut av dette foredraget, er det anbefalt å ha noen grunnleggende JavaScript-kunnskaper, men man trenger på ingen måte å være ekspert. Jeg kommer til å live-kode mesteparten av foredraget.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Asynkron kode i JavaScript har alltid vært forvirrende. Man sender inn en funksjon som argument til en funksjon, som på magisk vis blir kalt når den asynkrone operasjonen er ferdig. Dette førte til hva bransjen vår så kjærlig har kalt callback-helvetet - en nett av nøstede funksjoner som selv erfarne utviklere fikk frysninger av.\n\nI 2012 fikk JavaScript Promises, en teknikk for å unngå callbacks og simplifisere det å skrive asynkrone operasjoner. Koden ble lettere å lese, men man måtte fortsatt definere opp nye funksjoner som ble kalt slik man var vant til fra callbacks, og feilhåndtering var fortsatt forvirrende.\n\nDen største nyheten i årets versjon av JavaScript-standarden - ES2017 - var støtte for en mer intuitiv måte å skrive asynkron kode på. `async` og `await` er to nye kodeord som lar deg skrive asynkron kode på samme måte som annen kode - uten callbacks eller annet krimskrams. Det lar deg  for eksempel skrive kode som dette: `console.log(await api.getData());`\n\nDette foredraget viser deg hvordan du kan ta eksisterende callback-basert kode, og raskt forandre den til å være mye lettere å lese, teste og vedlikeholde.","video":"https://vimeo.com/233825462","title":"Fra callback hell til async heaven","room":"Room 7","startTime":"2017-09-14T09:00","endTime":"2017-09-14T09:20","startTimeZulu":"2017-09-14T07:00:00Z","endTimeZulu":"2017-09-14T07:20:00Z","speakers":[{"name":"Kristofer Selbekk","twitter":"@selbekk","pictureId":"ec47da6d7e8740c6b3ad3fea98f9d3f0","bio":"Kristofer er seniorkonsulent og fullstack-utvikler hos BEKK Consulting, og har jobbet med store React-applikasjoner de siste årene. Frontend har seglet opp som en real hobby ved siden av jobb også. Han bruker mesteparten av fritiden sin på å utvikle web-apper, bidra til open source og å leke med bulldogen Burger."}],"id":"e9457aefcc9b4a59a955b2f5c622e379","sessionId":"e9457aefcc9b4a59a955b2f5c622e379","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne workshoppen passer for de som er nysgjerrige eller interessert i blockchainteknologi, og som lurer på hvordan man kan skrive og eksekvere kode på blockchainen. Grunnleggende programmeringskunnskaper er anbefalt som et minimum.","level":"beginner","length":"240","format":"workshop","language":"no","abstract":"Begrepet “blockchain” har eksistert siden bitcoin ble lansert i 2009, og har fått mye hype de siste årene. I denne workshoppen skal vi vise hvordan man kan kjøre kode på blockchainen ved å bruke 'Ethereum', en såkalt public blockchain. \n\nMålet er at vi på fire timer skal lage og deploye på blokchainen, et lite økonomisystem hvor vi kan generere og sende ‘penger’ mellom registrerte og verifiserte brukere ved hjelp av Ethereums ‘smart contracts’. \n\nTeknologier du vil støte på under workshoppen vil være Ethereumnettverket, språket Solidity, rammeverket Truffle og Ethereum-browseren Mist. Syns du dette høres spennende ut, er nysgjerrig på hva disse blockchaingreiene er for noe, og ikke minst liker at tester går fra røde til grønne er dette en workshop for deg!","title":"Lær deg å lage et lite økonomisystem på blockchainen med Solidity og Ethereum!","room":"Workshop C","startTime":"2017-09-12T09:00","endTime":"2017-09-12T13:00","startTimeZulu":"2017-09-12T07:00:00Z","endTimeZulu":"2017-09-12T11:00:00Z","speakers":[{"name":"Simen Skoglund","twitter":"","pictureId":"f6625813c14a428f92f4ad8bd45481cd","bio":"Blockchainentusiast og konsulent hos Knowit. Bedriver til daglig utvikling på JVMen med Java og Scala i et stort offentlig prosjekt hvor han i tillegg til å være en utvikler fungerer til tider både som team lead og arkitekt. Simen er også interessert i devops, mikrotjenester, cloud og blockchainteknologi, og prøver så godt han kan og holde seg oppdatert på det som skjer i bransjen."},{"name":"Sigurd Lund","twitter":"","pictureId":"85964546f65b4564ad3cf490e9ef7a26","bio":"Blockchainentusiast og konsulent hos Knowit. Løser til daglig Norges fremtidige samferdselsproblemer med Java og Scala. Har master i maskinlæring fra NTNU og prøver fortsatt å holde seg oppdatert på dette feltet, men nå for tiden er det blockchainteknologi som fanger mest interesse."}],"id":"f82157b6f0ff435ea966f286afc15a60","sessionId":"f82157b6f0ff435ea966f286afc15a60","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Nesten ingen koding.\nPasser i hovedsak for de som jobber eller har jobbet med Android. Det vil også være mulighet for andre typer utviklere å få et innblikk i hva som gjør livet surt for android-utviklere. ","level":"beginner","length":"10","format":"lightning-talk","language":"no","abstract":"Alle har problemer i hverdagen, store og små. Som Android-utvikler støter jeg på  problemer hver eneste dag. Problemer som føles urettferdige. Problemer som bare vil forsvinne dersom Google tar grep. Problemer som ødelegger 4 av 5 dager i uka. Her smeller det.","video":"https://vimeo.com/233788951","title":"10 ting i Android som gjør livet mitt til et helvete","room":"Room 7","startTime":"2017-09-13T17:20","endTime":"2017-09-13T17:30","startTimeZulu":"2017-09-13T15:20:00Z","endTimeZulu":"2017-09-13T15:30:00Z","speakers":[{"name":"Esben Aarseth","twitter":"EsbenAarseth","pictureId":"1f566aa85d8145a2b329ff3fe4da1505","bio":"Jeg er en seniorkonsulent i BEKK Consulting med 2 års erfaring innen mobilutvikling. Jeg har høy smerteterskel, men det får da finnes grenser. "}],"id":"a87fc3c8552b4d6eb6a021c0b3e7756f","sessionId":"a87fc3c8552b4d6eb6a021c0b3e7756f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"dev- and -ops responsible for JVM  based applications. There will be live demonstration and a tiny bit of Java and javascript. You will get at good overview of the technology, even without code experience. ","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"Do you have a good way to see how your Java application is doing? Or are you just about to implement an application specific system monitoring interface?\nYou will find that good old JMX in combination with Jolokia and hawt.io offers well defined solutions to these problems. This works particularly well in todays world of elastically scaled microservices, where traditional JVM monitoring tools may not be available.\nYou get great insight into any Java VM out of the box, and in addition excellent support and visualisations of many common Java technologies.\nIf you know the power of these tools already, you will also benefit from some significant new features, as well as in depth coverage, such as application specific plugins and monitoring. ","video":"https://vimeo.com/233817010","title":"Hawt and spicy Java monitoring","room":"Room 6","startTime":"2017-09-14T10:20","endTime":"2017-09-14T11:05","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T09:05:00Z","speakers":[{"name":"Martin Skarsaune","twitter":"@MSkarsaune","pictureId":"dcdd8c259b8e4262936d92ba53d87c15","bio":"Martin is a developer and co-owner at Kantega. He is most interested in programming languages and developer tools. This has led him to become an active hawt.io project member. "}],"id":"bbe08ad550174e16abd954733e018590","sessionId":"bbe08ad550174e16abd954733e018590","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Lite koding, en del scripting og kommandoer.","level":"beginner","length":"120","format":"workshop","language":"no","abstract":"Har du lyst til å sette opp en egen applikasjon i skyen, men vet ikke helt hvor du skal starte? Da er denne workshopen fin for deg. \n\nI denne workshopen vil du sette opp ditt første cluster av docker images ved bruk av Kubernetes i Google Cloud. Ved å bruke docker images kan du bygge og produksjonssette applikasjonen din uten å tenke på miljøet det skal kjøre i på serveren.\n\nI workshopen skal vi sette opp et cluster bestående av en webapplikasjon og en mysql database, samt se på autoskalering av applikasjonen. Workshopen krever ikke forkunnskaper om Docker eller Kubernetes, og passer fint for deg som har lite erfaring med Google Cloud fra tidligere. ","title":"En introduksjon Kubernetes - deployment av applikasjoner ved bruk av docker images","room":"Workshop D","startTime":"2017-09-12T09:00","endTime":"2017-09-12T11:00","startTimeZulu":"2017-09-12T07:00:00Z","endTimeZulu":"2017-09-12T09:00:00Z","speakers":[{"name":"Line Moseng","twitter":"@linemoseng","pictureId":"da8fe958af4840268335e88e1b2c5891","bio":"Line er utvikler i VIBBIO, og jobber med Java, React og Kubernetes. Hun har også vært aktiv i Lær Kidsa Koding siden 2013 og er en selverklært Linux-nerd 🤓."},{"name":"Ingrid Guren","twitter":"@ingridguren","pictureId":"33007a5e2b674005a79d1a7e8cbbb888","bio":"Ingrid jobber som Tech Lead i VIBBIO og er tidligere seminarlærer på Universitetet i Oslo. Jobber til daglig med React, Java og Google Cloud 😎."}],"id":"d496a82561a4466d9dd5fb565055f250","sessionId":"d496a82561a4466d9dd5fb565055f250","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Everybody can attend the session. A lot of people think they 'know' SonarQube, but there are so many excellent features that most people don't know. For example IDE integration, Pitest for mutation testing and the possibility to measure the coverage of a running application. With the last functionality you can see the coverage of for instance a performance test or a acceptance test. After this session the attendees know what's possible with SonarQube and they can manage their code quality even better.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"SonarQube is (becoming) more or less the standard tool for managing Java code quality. Unfortunately most developers use it just as a replacement for separate Checkstyle, PMD and code coverage tools. SonarQube is capable of so much more than that. \n\nThis presentation will explain a lot of the more advanced features and plugins SonarQube has to offer. The topics include: measuring coverage of a running Java application in an application server, using SonarLint for immediate feedback in your IDE, JavaScript plugin, Pitest plugin, code review, hotspots, architectural constraints, PMD rules for unit test quality and more.\n\nAfter this session you will be able to get more out of SonarQube and increase the quality of your Java applications even further.\n","video":"https://vimeo.com/233984456","title":"Beyond the basics of SonarQube: improve your Java(Script) code even further","room":"Room 3","startTime":"2017-09-14T14:20","endTime":"2017-09-14T15:20","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T13:20:00Z","speakers":[{"name":"Johan Janssen","twitter":"@johanjanssen42","pictureId":"f3c695b8b1ed44d8bbb029e3c269c5f5","bio":"Johan is working as a Java architect, trainer and competence center Java lead at Info Support. Next to that he’s the founder and organizer of JVMCON. The conference where the audience creates the program. He has been working for various demanding companies where rapidly delivering quality software was very important. Johan regularly writes articles and presents about various subjects at conferences like JavaOne, Devoxx BE/UK, J-Fall, Jfokus, JAX, various Voxxed events, JavaLand, Scala Days Berlin/New York, GeeCON, JBCNConf, Java Forum Nord, Coding Serbia, Javantura, JavaCro and ConFESS. Johan received the JavaOne Rock Star award."}],"id":"bc9fc4a175a94424853fcd4700215c5d","sessionId":"bc9fc4a175a94424853fcd4700215c5d","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Presentation will contain code. Audience should be familiar with Java or Kotlin and, ideally but not essentially, Android development in general.","level":"intermediate","length":"20","format":"lightning-talk","language":"en","abstract":"Android ecosystem is huge: it is in your TV, in your car, on your wrist, in your pocket. Every year Google ships dozens of new features for Android and it's nearly impossible to keep track of all of them and even harder to allocate time to experiment with them. However, going this extra mile, you can enrich your customers' experience, uncover new horizontals or bump up your chances to be featured.\n\nIn this talk I'll cover some of the features which are not particularly mainstream nowadays but probably deserve a closer look: Android App Shortcuts, Google Play Campaign Measurement and many more. I'll go through integration process, common pitfalls we have experienced in FotMob and what new scenarios have been covered.\n","video":"https://vimeo.com/233789006","title":"Atypical Android: uncover new horizontals with neat Android features you never thought of","room":"Room 7","startTime":"2017-09-13T17:30","endTime":"2017-09-13T17:50","startTimeZulu":"2017-09-13T15:30:00Z","endTimeZulu":"2017-09-13T15:50:00Z","speakers":[{"name":"Konstantin Loginov","twitter":"@klogi_norge","pictureId":"2278b839e4924dd3a6eef725a5138954","bio":"Konstantin is a senior mobile-developer with 9 years of experience currently working on FotMob app @ NorApps AS. Throughout these 9 years he's developed & shipped wide range of applications for iOS, Android, Windows Phone, webOS and Windows Mobile and put hands on all trendy mobile-technologies. Being a mobile-minded fanatic, he is passionate about organizing mobile developers community in Oslo."}],"id":"cff081c3292a4d85a28f04644d14bc23","sessionId":"cff081c3292a4d85a28f04644d14bc23","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The talk is geared towards Java developers who have to make sure that the data in their application is in a valid state in all layers. Attendees will learn how Bean Validation 2.0 helps them to do so, e.g. by allowing to validate Java collections in a concise and intuitive way (using Java 8 type annotations). Having some previous knowledge of Bean Validation will be an advantage but it's not required. There will be code on slides as well as some live coding in the IDE.","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"Rich UIs, schemaless datastores, microservices communicating with each other - the need for powerful and easy-to-use data validation services has never been bigger.\n\nThe Bean Validation standard is here to help, providing Java developers with a rich validation API based on annotations. Bean Validation 2.0 (JSR 380) makes validation even more powerful and expressive by leveraging Java 8 features such as additional annotation locations, repeatable annotations and default methods. This opens up exciting opportunities for Bean Validation - e.g. List<@Email String>. There is also support for java.util.Optional, the new java.time API, JavaFX and more.\n\nIn this code-centric talk we’ll explore many Bean Validation features right in the IDE. You’ll learn how constraint validation is triggered via JAX-RS, JPA and even on the client side via AngularJS. You’ll find out how to adjust the validation system to your own requirements, ensuring your data is sane at all times.","video":"https://vimeo.com/233797511","title":"Keeping your data sane with Bean Validation 2.0","room":"Room 2","startTime":"2017-09-13T14:20","endTime":"2017-09-13T15:05","startTimeZulu":"2017-09-13T12:20:00Z","endTimeZulu":"2017-09-13T13:05:00Z","speakers":[{"name":"Gunnar Morling","twitter":"@gunnarmorling","bio":"Gunnar Morling is a software engineer and open-source enthusiast by heart. He’s part of the Hibernate team at Red Hat where he focuses on Hibernate Search, OGM and Validator. Gunnar is the spec lead for Bean Validation 2.0 (JSR 380). In his spare time he leads the MapStruct project. Prior to joining Red Hat, he worked on a wide range of Java EE projects in the logistics and retail industries. He's based in Hamburg, Germany."}],"id":"c96ca4909bdb42eba546accfd0f21a8c","sessionId":"c96ca4909bdb42eba546accfd0f21a8c","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne presentasjonen er rettet mot utviklere og arkitekter som bruker/har tenkt til å bruke event-drevet arkitektur i sine systemer gjennom Kafka.","level":"intermediate","length":"60","format":"presentation","language":"no","abstract":"FINN.no's arkitektur har de senere årene gått fra en monolittisk arkitektur til mikrotjenestebasert arkitektur. En mikrotjeneste har sin egen domenemodell og database, men summen av FINN.no's forretningtransaksjoner er større enn en samling mikrotjenester. Vi hadde et behov for at forretningshendelser fra mikrotjenestene ble delt, samt at vi hadde datakonsistens på tvers. Vi valgte å løse dette med event-drevet kommunikasjon og Apache Kafka (Confluent) som en meldingsplattform.\nForedraget vil ta for seg FINN.no's reise inn i event-drevet arkitektur, både på opp- og nedturene, hvilke områder en må tenke når man bygger event-drevet arkitektur, og spesielt gjennom Kafka.","video":"https://vimeo.com/233787884","title":"Event-drevet arkitektur med Kafka hos FINN.no","room":"Room 6","startTime":"2017-09-13T15:40","endTime":"2017-09-13T16:40","startTimeZulu":"2017-09-13T13:40:00Z","endTimeZulu":"2017-09-13T14:40:00Z","speakers":[{"name":"Geir André Lund","twitter":"@geiralund","pictureId":"a7f760c4fb7047b6b43a54fdc9d204ea","bio":"Geir André jobber som utvikler i FINN.no og har de siste årene jobbet med omskrivning av systemene rundt annonseinnlegging. Har gått fra å ha et nærmest hatforhold til ESB'er i forrige SOA hype til å ha et elskforhold til dagens tilnærming med mer lettvekst meldingssystemer (og SOA). Fremtiden er event-drevet!"}],"id":"10099331d2f14cf0bf34006fd91a5db6","sessionId":"10099331d2f14cf0bf34006fd91a5db6","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"any developers looking into microservice development. session is mostly live coding.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. gRPC is based on many years of Google's experience in building distributed systems - it is designed to be low latency, bandwidth and CPU efficient, to create massively distributed systems that span data centers, as well as power mobile apps, real-time communications, IoT devices and APIs. It's also interoperable between multiple languages.\n\nBut beyond that fact that it's more efficient than REST, we'll look into how to use gRPC's streaming API, where you can establish server-side streaming, client-side streaming, and bidirectional streaming! This allows developers to build sophisticated real-time applications with ease.\n\nRay offers an overview of gRPC’s capabilities as he live-codes a real-time chatroom, demonstrating how to use gRPC’s streaming API to establish server-side streaming, client-side streaming, and bidirectional streaming. This allows developers to build sophisticated real-time applications with ease. Ray also deep-dives into integration with existing build systems like Maven and Gradle and frameworks like Spring Boot and RxJava.\n\nTopics include:\n- Configuring projects to generate gRPC stub code\n- Using Protobuffer 3 to define messages and services\n- Creating synchronous and asynchronous services with streaming\n- Load balancing\n- Interceptors","video":"https://vimeo.com/233788634","title":"Fast & Efficient Microservices with HTTP/2 and gRPC","room":"Room 4","startTime":"2017-09-13T17:00","endTime":"2017-09-13T18:00","startTimeZulu":"2017-09-13T15:00:00Z","endTimeZulu":"2017-09-13T16:00:00Z","speakers":[{"name":"Ray Tsang","twitter":"@saturnism","pictureId":"89831601c2bd477482beefab152fcd8a","bio":"Ray is a Developer Advocate for the Google Cloud Platform. Ray had extensive hands on cross-industry enterprise systems integration delivery and management experiences during his time at Accenture, managed full stack application development, DevOps, and ITOps. Ray specialized in middleware, big data, and PaaS products during his time at Red Hat while contributing to open source projects, such as Infinispan. Aside from technology, Ray enjoys traveling and adventures.\n\nFollow Ray on Twitter @saturnism (https://twitter.com/saturnism)"}],"id":"eb2898499a60467d8849eae12eca13ce","sessionId":"eb2898499a60467d8849eae12eca13ce","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Lyntalen vil gi god innsikt i hvordan Ruter arbeider for å bedre kollektivtilbudet i Oslo og omegn ved help av sensorer og innsamling av sanntidsdata, \nAlle med interesse for mikrotjenester, sensorer/IoT og back-end arkitektur for behandling av data fra sensorer vil kunne ha interesse av presentasjonen.\nKafka Streams vil bli illustrert med et kodeeksempel.","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"Ruter anskaffer i 2017 nytt utstyr for rapportering av informasjon fra bussene. I denne omgang er dette sensorer for automatisk passasjertelling og en kommunikasjonsenhet med innebygd GPS. Med dette nye utstyret vil Ruter kunne motta data fra bussene i sanntid. Hensikten med dette er todelt: samle inn data til analyseformål samt å legge til rette for å utvikle nye publikumstjenester.\n\nFor å ta imot og behandle data fra bussene etablerer Ruter en skybasert arkitektur basert på mikrotjenester, MQTT, Kafka og Kafka Streams. I denne lyntalen presenteres prosjektet, utstyret og arkitekturen som etableres i back-end.","video":"https://vimeo.com/233788234","title":"Hvor er bussen?","room":"Room 7","startTime":"2017-09-13T16:10","endTime":"2017-09-13T16:30","startTimeZulu":"2017-09-13T14:10:00Z","endTimeZulu":"2017-09-13T14:30:00Z","speakers":[{"name":"Bjørn Hjelle","twitter":"@bjornhjelle","pictureId":"11936d5e570c404e8e71588c6e7ee7d2","bio":"Bjørn Hjelle har mange års erfaring som arkitekt og utvikler i små og store organisasjoner, i hovedsak med utstrakt bruk av åpen kildekode. På fritiden er han spesielt interessert i naturen og i å lære om artene og hvordan de inngår i kompliserte prosesser."},{"name":"Rune Magnussen","twitter":"","pictureId":"01764ead0f8a4b328701dc982c68895e","bio":"Rune Magnussen har flere års erfaring i kollektivbransjen som systemadministrator, systemansvarlig og arkitekt innenfor billettering- og reiseinformasjonsområdet. De siste årene har han jobbet som IT-arkitekt i Ruter AS med fokus på utvikling av nye kundetjenester."}],"id":"091bb74fe6384c2eb6bd526ead8bf400","sessionId":"091bb74fe6384c2eb6bd526ead8bf400","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The audience will be developers who are familiar with the Java Collections Framework, and encounter situations in which their performance is important. They will benefit from a deeper understanding of the factors that affect that performance and an ability to change them to improve it. There will be pre-written code in the talk, with live demonstrations of measurements of it.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"It’s no simple matter to explain the performance of even a simple Java program, when instruction execution time is often overshadowed by other costs. Even when network and IO have been taken into account, two programs with similar computational complexity—their big-O characteristics—can differ in cache usage, with big resulting differences in performance.\n\nFor the Java programmer, this means that big-O analysis no longer gives enough guidance in choosing a collection implementation for performance-critical code. In this talk we’ll explore optimization of the memory layout and performance of some simple programs via alternative collection implementations and frameworks, and object layout libraries. \n\n","video":"https://vimeo.com/233851019","title":"Complicating Complexity: Algorithm Performance in the New Machine Age","room":"Room 5","startTime":"2017-09-14T15:40","endTime":"2017-09-14T16:40","startTimeZulu":"2017-09-14T13:40:00Z","endTimeZulu":"2017-09-14T14:40:00Z","speakers":[{"name":"Maurice Naftalin","twitter":"@mauricenaftalin","bio":"Developer, trainer, author. Speaks a lot. Forty years in computing. Co-author \"Java Generics and Collections\", author \"Mastering Lambdas\". Java Champion, JavaOne Rockstar."}],"id":"bd6cd3fa239c4a5db4e8e4892e09b6b7","sessionId":"bd6cd3fa239c4a5db4e8e4892e09b6b7","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This talk is targetted at Operation and DevOp teams","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"One of the hardest activities and strategies of DevOps team or should we say production is how to transition from one version of an application to another version of an application with cascading consequences of service dependencies.   There are a number of strategies for managing this concern.   In this talk, we will outline a few of them along with required conditions of the underlying infrastructure to achieve it.","video":"https://vimeo.com/233964825","title":"The World is Blue / Green","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/758181af7ba745748fd8cd23295f75ce","room":"Room 1","startTime":"2017-09-14T09:00","endTime":"2017-09-14T10:00","startTimeZulu":"2017-09-14T07:00:00Z","endTimeZulu":"2017-09-14T08:00:00Z","speakers":[{"name":"Ken Sipe","twitter":"kensipe","bio":"Ken Sipe is a Cloud Solution Architect at Mesosphere, focused on helping companies simplify the development and operation of large scale infrastructure and distributed systems with Apache Mesos and the new Datacenter OS.   As a JavaOne Rockstar, Ken is an author and award winning international speaker on the practices of software architecture and engineering, continuous delivery and agile practices.   Ken is also an Apache Mesos contributor and an Apache committer on the Myriad, HDFS, Cassandra and Kafka Apache Mesos framework projects."}],"id":"620e11c348ea4c6fbd3eec52f8cae43a","sessionId":"620e11c348ea4c6fbd3eec52f8cae43a","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The expected audience is developers that want to improve the security of the systems they are building. No code.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Security companies estimate that 50% of security issues are the result of problems in the system design. Such weaknesses cannot be found by automated tools.\n\nThreat modeling is the process of analysing your system and try to identify weaknesses in design and missing security controls. This talk will introduce you to threat modeling and explain some of the techniques you can use to identify those threaty threats in your systems.","video":"https://vimeo.com/234010802","title":"An introduction to threat modeling","room":"Room 4","startTime":"2017-09-14T15:40","endTime":"2017-09-14T16:40","startTimeZulu":"2017-09-14T13:40:00Z","endTimeZulu":"2017-09-14T14:40:00Z","speakers":[{"name":"Erlend Oftedal","twitter":"webtonull","pictureId":"7ad41f394f4b44f19f59b5c4f0addfd1","bio":"Erlend works as a developer, architect and security tester, and CTO at Blank. He is passionate about application security and also builds open source security tools. Erlend has spoken at JavaZone and other international conferences many times before."}],"id":"9b5c704cea654c1da273f1be93c240aa","sessionId":"9b5c704cea654c1da273f1be93c240aa","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Anyone","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Live Coding systems encourage us to think extremely differently about programming languages. In addition to considering standard requirements such as reliability, efficiency and correctness we are also forced to deal with issues such as liveness, coordination and synchronization all whilst working in real time. Live Coders not only run and modify our code live — they often performing with it live on stage in front of large crowds of people who really don't want the code to miss a beat. In this code and demo-heavy talk, Sam will take a deep technical dive into the internal ideas and innovations of Sonic Pi — a system designed specifically for live coding music. The audience will explore Sonic Pi's novel temporal semantics which allows multiple concurrent threads to execute in synchronization whilst still allowing live hot-swapping of code. For example, participants will examine cue and sync, techniques which allow users to coordinate, manipulate and synchronize threads whilst they're still running and playing music. Along with Sam we will discover what it means for lambdas to close over temporal as well as a lexical scope and finally come to an understanding of the importance and challenges in achieving repeatable, deterministic execution semantics. Ultimately, everyone will discover an exciting an exciting area of programming language research in an approachable and instructive manner all whilst making some sick beats and drops. \n","video":"https://vimeo.com/233793840","title":"Live Coding Time and State with Sonic Pi","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/a701bd19f416463aa6ab252154abbc34","room":"Room 1","startTime":"2017-09-13T18:20","endTime":"2017-09-13T19:20","startTimeZulu":"2017-09-13T16:20:00Z","endTimeZulu":"2017-09-13T17:20:00Z","speakers":[{"name":"Sam Aaron","twitter":"","pictureId":"88fe52594e3d40c691e1f7916e836075","bio":"I am a researcher, software architect and computational thinker with a deep fascination surrounding the notion of communicative programming. I see programming as one of the many communication channels for descriptions of formalised process of any kind, be it a business process, a compiler strategy or even a musical composition."}],"id":"32bf4b2f5e9f41bf8e45c2bf0531d783","sessionId":"32bf4b2f5e9f41bf8e45c2bf0531d783","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Programmers that are interested the development and future of Java.\ncode in slides","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"Oracle has announced: after lambdas in Java 8 and modules in Java 9, the next big thing  for Java will be the support for value types directly in the programming language. With this Java is getting a feature that other languages have already had for some time.\n\nIn this talk  we will look at:\n\n* what's behind the motto \"Codes like a class - works like an int\"\n* why value types  make your code at the same time better readable and more efficient\n* the difference between refence and value types\n* the new syntax to support value types in Java\n* how value types are implemented in other languages\n* what inheritance means for value types\n* the advantages of storing data on the stack versus storing data on the heap\n* and most important: how value types can help us to provide a better domain model","video":"https://vimeo.com/233972739","title":"Value types - The Next Big Thing for Java","room":"Room 2","startTime":"2017-09-14T10:20","endTime":"2017-09-14T11:05","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T09:05:00Z","speakers":[{"name":"Henning Schwentner","twitter":"@hschwentner","pictureId":"d2d441769aae4229b8e2c30b89cf9bbf","bio":"Henning loves to code. He follows this passion as a software architect and consultant at WPS - Workplace Solutions in Hamburg, Germany. His projects are domain-driven designed, agile and preferably in Java, which is his favourite language since version 1.0. But his path is also often crossed by C# and even ABAP. Henning is interested in the evolution of programming languages, long-living software architectures and big refactorings. Henning is married and has children."}],"id":"c9f0432e95554cdb99a0cdb65d837fa9","sessionId":"c9f0432e95554cdb99a0cdb65d837fa9","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Dette er et no-code foredrag og passer for alle. Det er veldig aktuelt, og med en morsom vri inn mot noe alle møter i hverdagen. Nemlig mat. ","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"IBM Watson gir oss en helt ny å benytte oss av maskinberegninger, og vi beveger oss enda nærmere hvordan vi mennesker selv resonerer rundt problemer. IBM Watson Chef er et dataprogram som hjelper kokker å oppdage å lage original og nye oppskrifter ved hjelp av smaksalgoritmer. Mmmm... Mulig at folk blir litt ekstra sultne etter dette foredraget, men det passer jo bra, for det er jo JavaZone!","video":"https://vimeo.com/233786132","title":"Lag mat med IBM Watson Chef","room":"Room 7","startTime":"2017-09-13T14:50","endTime":"2017-09-13T15:10","startTimeZulu":"2017-09-13T12:50:00Z","endTimeZulu":"2017-09-13T13:10:00Z","speakers":[{"name":"Carl Joachim Rørvik","twitter":"@cjrorvik","pictureId":"d5fd7e7a930b42f79078894bac688b5f","bio":"Utvikler og seniorkonsulent i Bekk Consulting. Har jobbet mye fullstack de siste årene med særlig fokus på frontendarkitektur. Liker å utforske nye teknologier og kombinere det fysiske med det digitale."}],"id":"282c5827d0fe41eebae130d64a881f75","sessionId":"282c5827d0fe41eebae130d64a881f75","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Utviklere og arkitekter som er interessert i integrasjon. ","level":"intermediate","length":"10","format":"lightning-talk","language":"no","abstract":"Du har masse bra data. Et sted. Hvordan skal resten av systemene følge med på hva som skjer? Feeds er enkle, lettfattelige og asynkrone. Men av og til skjærer det seg. ","video":"https://vimeo.com/233820589","title":"Open source integrasjon med Atomfeed","room":"Room 7","startTime":"2017-09-14T13:20","endTime":"2017-09-14T13:30","startTimeZulu":"2017-09-14T11:20:00Z","endTimeZulu":"2017-09-14T11:30:00Z","speakers":[{"name":"Aase Mestad","twitter":"","bio":"Aase Mestad har vært konsulent i 20 år og jobber nå hos JProfessionals. Hun har gjennom årene jobbet med mange forskjellige integrasjonsteknologier, mer og mindre gjennomtenkte og gjennomtestede. "}],"id":"284f496061ce48c6998b388d5e8f3df2","sessionId":"284f496061ce48c6998b388d5e8f3df2","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"We will target anybody with an interest for AI and personal assistants. \n\nFor beginners - We will demonstrate how they easily can get going building solutions with frameworks such as Wit.ai (target attendants looking for quick fixes and simple getting started guides). We will also describe the shortcomings of such frameworks. This part of the presentation will give attendants an awareness of available chat frameworks and the ease of use.\n\nFor advanced users - We will show how to extend the off-the-shelf chat frameworks with a knowledge focused backend utilizing open linked data sources such as wikidata (wikidata.org), dbpedia (wiki.dbpedia.org/), or yago (yago-knowledge.org). This part of the presentation will give attendants an awareness of open and community driven data sources that many software projects can benefit of.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"The personal assistant industry and chatbots is still in its early days, but growing very fast. Tech giants like Google, Facebook, Microsoft, IBM and Amazon are pushing this technology heavily. Their investments and current user growths of platforms such as WeChat are strong signals that this technology will play a key role in future human-computer interaction and commerce.\n\nThere is an extensive amount of chatbot frameworks out there. -Each, with different complexity levels, expressive powers and integration capabilities. This talk will cover 1) How you easily can get going building your own personal assistant on Facebook Messenger. 2) How knowledge graphs and open linked data to provide rich, meaningful and personalized contents in personal assistants. \n\nWe will provide practical examples of challenges we at Mito.ai faced when developing our first chatbot, and how we solved them. We will also show how chatbot-frameworks and open linked data can work together to give users a simple, yet powerful interface for accessing knowledge and personalized contents.","video":"https://vimeo.com/233785261","title":"Building personal and intelligent assistants","room":"Room 3","startTime":"2017-09-13T13:00","endTime":"2017-09-13T14:00","startTimeZulu":"2017-09-13T11:00:00Z","endTimeZulu":"2017-09-13T12:00:00Z","speakers":[{"name":"Jon Espen Ingvaldsen","twitter":"@je_ingvaldsen","pictureId":"437b575cd1f440338dbf6ecf483cf82e","bio":"Jon Espen is the CTO and Co-Founder of Mito.ai. He has many years experience and software consultant, and academic researcher in the fields of scalable semantics and big data analytics. Throughout his career, Jon Espen has worked on the border line of industrial needs and research inventions. At Mito.ai, he is leading the development of the next generation trading platform where media monitoring and trading is combined in one chat-based and mobile interface."},{"name":"Christian Budde Christensen","twitter":"","pictureId":"07cf0dac4f7947b1b5b920a02251ecca","bio":"Christian is a full-stack developer graduated from Aarhus University currently living in Trondheim.\nHe is working at Mito.ai, which is a startup creating an intelligent investment \nadvisory platform, and is co-owner of Laundree.io, another startup dealing with\nbooking of shared laundry facilities. He has contributed to numerous open source \nprojects on GitHub and is a big fan of JavaScript, React, and Docker.\n\nSee his GitHub profile at https://github.com/budde377"}],"id":"be09277b8d224359bc58b9786f6eafe4","sessionId":"be09277b8d224359bc58b9786f6eafe4","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Dette er et foredrag med masse kode, og mye kodeeksempler.","level":"advanced","length":"45","format":"presentation","language":"no","abstract":"Automatiserte tester har gitt programmutvikling ufattelig mye verdi. Men alt er ikke bra i Hakkebakkeskogen. Det er mange måter å skrive og å strukturere autamatiserte tester på, og mange prosjekt har kommet inn i et uføre, med mange tester som må endres for selv den minste ting. I tillegg har rammeverk som fitness og cucumber ikke levert. I dette foredraget skal jeg fortelle hvorfor vi trenger færre og mer funksjonsnære tester, hvordan vi kan lage produksjonsdatatester og regnearktester som gir ekte verdi, samt en del andre jUnit hemligheter etter 17 år som en ivrig jUnit fan.","video":"https://vimeo.com/233647970","title":"Innovative jUnit tester!","room":"Room 2","startTime":"2017-09-13T09:00","endTime":"2017-09-13T09:45","startTimeZulu":"2017-09-13T07:00:00Z","endTimeZulu":"2017-09-13T07:45:00Z","speakers":[{"name":"Trond Pedersen","twitter":"","pictureId":"619026c57f5f474fb460f6e3eb63c62f","bio":"Trond er en engasjert og løsningsorientert utvikler og arkitekt og CTO i Monner. Han er en ivrig deltager i Oslos utvikler-miljø, og var blant annet med på å etablere  Smidig-Konferansen og XP-meetup. Han har vært en forkjemper for smidig systemutvikling siden 2001 og setter stor pris på gode diskusjoner om alle aspekter ved systemutvikling"}],"id":"243c712758904783baae47b1eb49f1e5","sessionId":"243c712758904783baae47b1eb49f1e5","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This session will give an overview of the new/updated API in Java EE 8 (code in slide).\nThis session is not limited to Java EE users as some of the discussed API are also pertinent outside the Java EE platform, e.g. JAX-RS, Servlet.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Java EE 8 has –finally- been finalized! \n\nThis session will give an overview of the main capabilities added to the platform such as \n- JAX-RS 2.1’s new Reactive client API\n- CDI 2.0 Asynchronous events\n- Bean Validation 2.0 improvements\n- Servlet 4.0 HTTP/2 support\n- A new JSON Binding API\n- Various security enhancements, etc.\n\nMost of the discussed APIs (e.g. Servlet, JAX-RS, Bean Validation...) are also widely used outside of the Java EE Platform. Come to this session to understand what those updated APIs really brings!","video":"https://vimeo.com/233785936","title":"Java EE 8 – What’s new","room":"Room 6","startTime":"2017-09-13T14:20","endTime":"2017-09-13T15:20","startTimeZulu":"2017-09-13T12:20:00Z","endTimeZulu":"2017-09-13T13:20:00Z","speakers":[{"name":"David Delabassee","twitter":"@delabassee","pictureId":"3661904867c54505abf520ee50d83a4c","bio":"David Delabassée is a Software Evangelist working for Oracle; his primary focus is Java on the Server-Side, i.e. Java Enterprise Edition. Prior to Oracle, David spent a decade at Sun Microsystems focusing on Java end-to-end. In his various roles, David has been involved in numerous Java projects since the early days of this technology.\n \nDavid lives in Belgium. In his spare time, he tinkers with technologies such as Home Automation, electronics, pinballs, etc. But more importantly, he enjoys playing video games with his daughter."}],"id":"8e226cefaa474791b6d3b356dad0d260","sessionId":"8e226cefaa474791b6d3b356dad0d260","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne talken rettes mot utviklere som er nysgjerrige på eller allerede har kjennskap til React Native-rammeverket. Gjennom er praktisk tilnærming vil lytterne lære å utvide funksjonaliteten til rammeverket ved å skrive native-kode som kan kommuniseres med i React Native. Det vil foregå live-koding under talken, så kjennskap til Swift og JavaScript er et pluss.","level":"intermediate","length":"45","format":"presentation","language":"no","abstract":"React Native har i det siste vært den store snakkisen i mobilmiljøet. Rammeverket fra Facebook lar deg skrive kode én gang og kjøre på både iOS og Android. Features som hot-reloading og liveoppdatering av kode har gjort React Native til et lavterskelalternativ for utviklere som ønsker å lage native apps for mobil. Men hva gjør du når du skal implementere funksjonalitet som ikke støttes av rammeverket ut av boksen? \n\nI denne talken skal vi snakke om React Native-arkitekturen og lage en app som kommuniserer mellom kode i Swift og JavaScript for å demonstrere at mulighetene til rammeverket er endeløse.","video":"https://vimeo.com/233651063","title":"Brobygging med Native Modules i React Native","room":"Room 3","startTime":"2017-09-13T11:40","endTime":"2017-09-13T12:25","startTimeZulu":"2017-09-13T09:40:00Z","endTimeZulu":"2017-09-13T10:25:00Z","speakers":[{"name":"Sigurd Hagen Falk","twitter":"","pictureId":"422093e9084646f69e6ae411c0f00b03","bio":"Sigurd er medlem i Bekk sin faggruppe for mobil og har lang erfaring med mobilutvikling fra studier og sin jobb som konsulent. Han brenner spesielt for å tenke ut gode arkitekturer for moderne mobilapper og webapplikasjoner."},{"name":"Petter Samuelsen","twitter":"@pettersamuelsen","pictureId":"003ac36b27804f0f9ed0d1b50f2c9003","bio":"Petter er en mobil- og webutvikler som er opptatt av mobile flater, animasjoner og krysningen mellom design og teknologi. Han var en early adopter av React Native da det ble lansert offentlig. I dag er Petter ansatt i BEKK og jobber med React Native på prosjekt hos kunde."}],"id":"7cb7bcab5dc34ce38dad01068c278b48","sessionId":"7cb7bcab5dc34ce38dad01068c278b48","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers willing to learn about machine learning. Prior knowledge of machine learning not needed. Live coding in python.\n","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"There is more cool data in the world than people able to use it. Instead of waiting for big infrastructure projects and distant analytics departments, how can a developer get enough knowledge on machine learning and model validation to build a predictive model?\n\nThis presentation is a step-by-step guide on how the author trained a machine learning algorithm to buy his new campervan.","video":"https://vimeo.com/233848280","title":"Bli en Data Scientist på 20 minutter","room":"Room 7","startTime":"2017-09-14T14:50","endTime":"2017-09-14T15:10","startTimeZulu":"2017-09-14T12:50:00Z","endTimeZulu":"2017-09-14T13:10:00Z","speakers":[{"name":"Simen Eide","twitter":"simeneide","pictureId":"b2725a6248d24d6984c1c5be99121ffd","bio":"Simen is a mathematician working at FINN.no's Data Intelligence department. There, he plays around with recommendation algorithms and other data driven products together with a team of developers."}],"id":"01ceaef93d094c43a3a4ed6435fb4ed7","sessionId":"01ceaef93d094c43a3a4ed6435fb4ed7","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Dette er workshopen for deg som liker sjakk, og som vil lære noen av de grunnleggende byggesteinene for kunstig intelligens.\n\nWorkshopen fokuserer på programmering, og du vil reise hjem med praktisk erfaring og kunnskap om flere klassiske AI-teknikker.\n\nTa med deg laptopen og bli med å lage din helt egen hjemmelagde sjakkmotor!","level":"intermediate","length":"120","format":"workshop","language":"no","abstract":"Kunstig intelligens holder på å revolusjonere verden. Alt fra selvstyrende biler til automatisk kassebetjening i matbutikken er med å gi store omveltninger i mange bransjer, og dataprogrammer utkonkurrerer mennesker i stadig flere oppgaver. Ord som som nevrale nett, maskinlæring og intelligente agenter kastes rundt, og det kan være vanskelig å vite hvor man skal starte for å lære om kunstig intelligens.\n\nI denne workshopen tar vi for oss det grunnleggende, og du vil få en introduksjon til en del fundamentale temaer innen klassisk kunstig intelligens. Det du lærer vil du bruke til å lage din helt egen sjakkcomputer og konkurrere mot de andre kursdeltakerne.","video":"x","title":"Lag din egen sjakkcomputer og revolusjoner verden!","room":"Workshop D","startTime":"2017-09-12T11:15","endTime":"2017-09-12T13:15","startTimeZulu":"2017-09-12T09:15:00Z","endTimeZulu":"2017-09-12T11:15:00Z","speakers":[{"name":"Simen Haugerud Granlund","twitter":"@_hgranlund","pictureId":"7892e43d54ef426590c1c331db75da27","bio":"Simen er senior kunnskapsingeniør hos Computas. Han er en ivrig sjakkspiller og brenner for kunnskapsbaserte systemer, spesielt hvis de inneholder en del matematikk og fysikk."},{"name":"Teodor Ande Elstad","twitter":"@_teodoran","pictureId":"b6bcebf254af46559cf89d3595a2643f","bio":"Teodor er senior kunnskapsingeniør hos Computas. Når han ikke surrer med sjakkmotorer, jobber han med automatisering av beslutninger og vurderinger hos Utlendingsdirektoratet."}],"id":"c2420bfe5e6e41c4b77509e7d08e6a46","sessionId":"c2420bfe5e6e41c4b77509e7d08e6a46","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som vil lære mer om maskinlæring og som ønsker erfaring med hvordan det kan brukes","level":"beginner","length":"240","format":"workshop","language":"no","abstract":"Har du lyst til å lære mer om maskinlæring? Lurer du på hvordan du kan komme i gang og hva du kan bruke maskinlæring til? I denne workshopen vil du lære maskinlæring ved å bruke Java og Apache Sparks maskinlæringsbibliotek MLib til å løse stegvise oppgaver som leder fram til fullstendige og velfungerende maskinlæringsmodeller. I løpet av workshopen vil du forutsi hvilke studenter som består eksamen, lage ferdig en java applikasjon som forteller hvilket tall du tegner, og analysere bysykkeldata for å predikere antall sykkelturer på et gitt tidspunkt.\n\nDu vil få erfaring med ulike maskinlæringsmodeller og lære hva de forskjellige kan brukes til, hvordan du kan trene og teste modellene, og hva som kan gjøres for å forbedre dem.\n\nFor at det skal bli ekstra morsomt kan du (hvis du vil) underveis i workshopen teste modellene du lager mot våre data og konkurrere med resten av deltakerne om å lage de beste maskinlæringsmodellene.","title":"Lær maskinlæring med Apache Spark","room":"Workshop D","startTime":"2017-09-12T13:30","endTime":"2017-09-12T17:30","startTimeZulu":"2017-09-12T11:30:00Z","endTimeZulu":"2017-09-12T15:30:00Z","speakers":[{"name":"Heidi Mork","twitter":"@heidicmork","pictureId":"78f9743cdb634d18a82ed7f0ed4b4c0d","bio":"Heidi er utvikler i Kantega, har doktorgrad i matte, og har mange års erfaring med systemutvikling. Hun er interessert i det meste som har med programmering å gjøre, men hun blir ekstra glad når hun kan kombinere programmering og matte. Det er nok derfor hun liker maskinlæring så godt."}],"id":"aa4930f583cf40a0a9cf2b7d896dafaa","sessionId":"aa4930f583cf40a0a9cf2b7d896dafaa","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The target audience is for Java programmers who are interested in improving their coding craft, particularly with a focus on techniques associated with functional programming. There will be Java code in slides. Participants should leave with a better idea of how to approach both new and existing code in a more immutable style.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"It has been said that immutability changes everything. But what does that mean in practice? What does it mean for existing code that looks more like the mutant apocalypse than an elegant application of mathematical thinking?\n\nImmutability can be an ideal that is hard to reach. Refactoring, on the other hand, is all about the art of the possible. In this talk we'll be clarifying motivation and exploring some approaches to help reducing state mutability in code.","video":"https://vimeo.com/234107745","title":"Refactoring to Immutability (Rerun)","room":"Room 8","startTime":"2017-09-14T13:00","endTime":"2017-09-14T14:00","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T12:00:00Z","speakers":[{"name":"Kevlin Henney","twitter":"@KevlinHenney","pictureId":"f0a57f00a87e4a02b6a2927ec1e40069","bio":"Kevlin is an independent consultant, trainer and writer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and web sites and is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of the 97 Things Every Programmer Should Know."}],"id":"9e106687fbc941c6881934620c771c6f","sessionId":"9e106687fbc941c6881934620c771c6f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Techies, and curious business people. If you are interested, come, if you already know blockhain, definitively come! There is not much code or demo, rather connecting the dots of the blockchain world.","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"'Blockchain technology will revolutionise far more than money, it will change your life' \n'Dubai aims to be a city built on blockchain'. \nAre you curious on whats cooking in the blockchain world today? This speech takes you through the possibilities, technological innovations and challenges the community has to tackle. It will briefly introduce you to blockchain before it dives deep into the heart of the reasons why it is at the top of the hype curve. You will walk away from this with much deeper insight in what blockhain is, for us today, and what it can do for us in the future.","video":"https://vimeo.com/233629394","title":"What blockchain means for you, today!","room":"Room 5","startTime":"2017-09-13T09:00","endTime":"2017-09-13T09:45","startTimeZulu":"2017-09-13T07:00:00Z","endTimeZulu":"2017-09-13T07:45:00Z","speakers":[{"name":"Snorre Lothar von Gohren Edwin","twitter":"@vongohren","pictureId":"af0aee0636fa40e29b03f6a0739dd701","bio":"Senior consultant at BEKK. During the last year or so much of my focus have gone to blockchain and its technology. I have had internal workshops about blockchain and attended what I could attend regarding blockchain. I have also certified myself to become an Ethereum developer!"}],"id":"bfdc7e11d1754f65b72ff8d6beb119e8","sessionId":"bfdc7e11d1754f65b72ff8d6beb119e8","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Code in slides and some live conding","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Virtual Reality (VR) is one of the most discussed emerging technologies of the past years. Especially in 2016, which marked the release of the first consumer VR headsets. Game developers all over the world are making awesome games for VR and companies are searching for cool new solutions using VR. \n\nThe most popular platform to build VR applications is Unity3D which sadly is based on .NET. As Java enthusiasts, we went on a challenging adventure to discover the possibilities of coding VR applications in Java.\n\nDuring this session we will dive into the cool world of VR and we will show the ups and downs of this adventure. We will give the attendees a good understanding on how VR works and how you should code for it. Then we will discuss if Java is a feasible platform for VR development. Whatever the outcome we aim to inspire the attendees to embark on a VR adventure of themselves and make awesome applications.","video":"https://vimeo.com/233789057","title":"Virtual Reality in Java, is it possible?","room":"Room 5","startTime":"2017-09-13T15:40","endTime":"2017-09-13T16:40","startTimeZulu":"2017-09-13T13:40:00Z","endTimeZulu":"2017-09-13T14:40:00Z","speakers":[{"name":"Erik Pronk","twitter":"@erikjpronk","pictureId":"7ef63694aad44a3ebb4b1bd39705d474","bio":"Erik Pronk is a passionate software engineer that has been working in the ICT sector since 2001. During this period he has gained a lot of experience in a variety of technologies, roles, development environments and market segments. His main focus is on implementing enterprise solutions in an agile way. In his spare time Erik loves to run and experiment with VR and domotics. Erik has just started to work at JDriven where he shares his passion and drive with other colleagues."},{"name":"Alexander Chatzizacharias","twitter":"@alex90_ch","pictureId":"d6fa3d37c35f4221b79e4eb30a1439ed","bio":"Alexander Chatzizacharias is a 26-year old java developer at CGI. He is of Dutch/Greek nationality. Alexander has a bachelor in Game Development (University of applied sciences of Amsterdam) and a master in Game studies (University of Amsterdam). During his master Alexander developed a passion for gamification and new technologies. Combining the two in order to create new innovative solutions is one of his greatest hobbies. Within CGI he is busy with promoting gamification and virtual reality. He is always on the lookout for hot new technologies (such as the Microsoft Hololens). His biggest hobby (and this might come as a surprise) is gaming. From shooters to role playing games, he plays everything."}],"id":"bfa00ea951844b61a5a519302784b257","sessionId":"bfa00ea951844b61a5a519302784b257","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers interested in developer tooling are very much welcomed! The talk doesn't go deep into JVM so you won't need to be aware of the inner workings of the virtual machine to understand the topic. I will have code both in slides and in IDE for live coding demo, which will be available at GitHub so the attendees could experiment with it later.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"In Java, a typical workflow involves restarting the application (almost) with every class change. For some applications it is not a problem at all, for some - it is a disaster.\n\nFrom HotSwap to agent-based reloading. In this session, we are going to take a look at the options available for Java class reloading. There is plenty of tools that you can use for this task: rely on standard JVM HotSwap, redesign your application to rely on dynamic class loaders, to comprehend the Zen of OSGi, or to integrate a reloading agent. Every option has its own drawbacks and benefits and we're going to take a deep dive on the subject.\n\nFinally, there are also the conceptual challenges in reloading Java classes. What to do with the state? What should happen with the static initialisers? What if super class changes? Join this session to gain a better understanding of class reloading technologies and become more productive Java developer.","video":"https://vimeo.com/233647820","title":"The hitchhiker’s guide to Java class reloading","room":"Room 3","startTime":"2017-09-13T09:00","endTime":"2017-09-13T10:00","startTimeZulu":"2017-09-13T07:00:00Z","endTimeZulu":"2017-09-13T08:00:00Z","speakers":[{"name":"Anton Arhipov","twitter":"@antonarhipov","pictureId":"963f29a564464b56871712d5d6a3c7f1","bio":"Anton is a Developer Advocate at ZeroTurnaround. Professional interests include programming languages, middleware and tooling. Nominated Java Champion title in 2014, Anton is also involved with GeekOut Java conference in Tallinn, Estonia. He blogs at http://arhipov.blogspot.com, speaks at Java conferences, occasionally writes articles for RebelLabs at http://rebellabs.org"}],"id":"7e40cc57c73344f384959114cbb07d96","sessionId":"7e40cc57c73344f384959114cbb07d96","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The workshop is accessible for all developers, but you'll have an easier time if you have some experience with some of the following topics:\n\n- HTML\n- Basic JavaScript\n- Basic functional programming\n- Modern JS-libs and frameworks, particularily React and Redux","level":"beginner","length":"480","format":"workshop","language":"en","abstract":"Like learning new languages? Tried functional programming yet? Enjoy games and interactive digital experiences? Join us in creating classic arcade-style video games in the browser with Elm!\n\nElm is a typed, functional programming language that compiles to JavaScript. It's famous for ensuring robust applications, and Elms wildly developer friendly compiler helps developers write elegant, long-lived and safe frontend code. It has recently started drawing widespread attention and is starting to position itself as something other compile-to-js languages hasn't achieved yet - a viable alternative to JavaScript.\n\nElm utilizes a React-like rendering system, using a tree of pure view functions, while structuring its app using the so-called Redux architecture (which Redux actually borrowed from Elm in the first place). All data is immutable, of course, and the language supports fancy features such as algebraic data types, pattern matching and type inference.\n\nDid this pique your interest? We're the organizers of the Oslo Elm Meetup group are we're bringing our workshop material to JavaZone to get you started with Elm. This includes a thorough explanation of syntax and semantics, with comparison to JavaScript.\n\nThe workshop also serves as a introduction to ML-style typed functional programming, and after this workshop you'll be able to judge for yourself whether a language like Elm could ever replace JavaScript as our go-to tool for large-scale web development.","title":"Fun And Games With Elm and Typed Functional Programming","room":"Workshop A","startTime":"2017-09-12T09:00","endTime":"2017-09-12T17:00","startTimeZulu":"2017-09-12T07:00:00Z","endTimeZulu":"2017-09-12T15:00:00Z","speakers":[{"name":"Erik Wendel","twitter":"@ewndl","pictureId":"b1bd9596c1954f739d26c222d76f342f","bio":"Developer, JavaScript and frontend guy with 5 years experience from building large-scale web applications for desktop and mobile in large organizations. Most recently employed as a frontend architect orchestrating React and Redux in a business with over a hundred developers, optimizing user experience and development speed through building a shared component library.\n\nCurrently working at Bekk Consulting and discovering the joy of functional programming.\nHosting Oslo Elm Meetup."},{"name":"Ingar Almklov","twitter":"@ingara","pictureId":"cbd9b9a440d54ac39bd8c81b1218622d","bio":"Ingar has been working as a developer for 5 years, primarily with .Net and web.\n\nHe got exposed to functional programming through F# and is now trying to use that as much as possible when on the .Net platform.\n\nOn the frontend side of things, Elm is Ingar's main focus. He discovered the joy of Elm two years ago and is now a co-organizer of the Oslo Elm Meetup. He loves telling people about it and showing others that there is a world outside of JavaScript.\n\nAt work he is currently spending the days as the frontend tech-lead on a project with 15 developers, managing a large multi-page React/Redux/TypeScript application."}],"id":"7360af550b314d40ad112a8801e6da21","sessionId":"7360af550b314d40ad112a8801e6da21","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"De som ønsker å se leveranser i en historisk sammenheng sammen med noen erfaringer på hvordan vi håndtere legacy og moderne rammeverk i praksis. Det vil bli vist noe kode i slides.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Gründer Per Egil Røshol stiftet Driw i 1982, Jon Vidar Eidsaa ble med på laget i 2016. Her får du key takaways på veien fra 1982 til 2017 – våre erfaringer og veien videre!\n\nNår man jobber som konsulent er man ofte inn og ut av prosjekter – man får ikke følge løsningene over tid. Her kan du få et innblikk i en løsning og dens evolusjon over 35 år! \n\nHistorien starter i brytningsfasen når papir i varehandelsbransjen ble erstattet av online data og du får høre nøkkelpunkter fram til dagens miljø som er en moderne arkitektur, men som fortsatt har innslag av legacy.\n\nDu får høre om:\n-\tVoksesmerter fra legacy til moderne arkitektur\n-\tKontinuerlig integrasjon legacy/moderne arkitektur\n-\tAutomatisk oppsett av testmiljøer\n-\tOur DevOp toolstack\n-\tMonitorering og visualisering av miljøer\n-\tOg litt snadder om framtida: Testmiljø med bots!\n\nDriw er det største utviklingsmiljøet mellom Bergen og Trondheim, vi har forretningsutvikling, UX, utvikling, DevOps og support innenfor fire glassvegger med utsyn til Norges vakreste natur.\n","video":"https://vimeo.com/233803002","title":"Fra 1982 til DevOp","room":"Room 7","startTime":"2017-09-13T13:10","endTime":"2017-09-13T13:30","startTimeZulu":"2017-09-13T11:10:00Z","endTimeZulu":"2017-09-13T11:30:00Z","speakers":[{"name":"Jon Vidar Eidsaa","twitter":"","pictureId":"eddaeef0c5244eb397698ae1637a836e","bio":"Jon Vidar startet i Driw i 2016 og har bakgrunn som utvikler og leder fra Tieto, tidligere Provida, innen Capital Market Systems. Har vært med å «digitaliserer» finansnæringen fra Excel til OMS-systemer. Jon Vidar er tett på utviklingen og har en fasinasjon for domenekunnskap og databaser. \n\nJon Vidar brenner for effektiv utvikling, automatisert test, performance, og ikke minst bruke mulighetene og funksjonaliteten som en database gir. Sitat «Jeg skal ikke se et timeglass», da har VI et problem."},{"name":"Per Egil Røshol","twitter":"","pictureId":"cabfc7c22f4944a98249310b35631960","bio":"Per Egil startet Driw i 1982 og har vært med siden. Vært med er en understatement. Han gir råd til store kunder i varehandelen, han utvikler integrasjoner og kjernefunksjonalitet, og han er generelt alltid på. \n\nPer Egil er en gründer i ordets rette forstand. Inspirasjon og leveransekraft! \n"}],"id":"4e760f5d3cb44dfeb829737a1cabbe3e","sessionId":"4e760f5d3cb44dfeb829737a1cabbe3e","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Everyone with an interest in machine learning. Some brief code examples will be included.","level":"intermediate","length":"20","format":"lightning-talk","language":"en","abstract":"The problem of detecting and recognizing a human face was addressed already at the early days of computer vision. Even though other identification methods like fingerprints and iris scans are far more accurate, face recognition has for long remained a major focus for research, partly because of the vast amount of available imagery, but perhaps also because it is the primary method for people to identify a person in everyday life.  \nFrom the first unsuccessful attempts made some 50 years ago, to the situation today, face detection methods have matured to a point where reliable technology with proven applications have existed for some time already. Thus, digital face detection is more available than ever, through surveillance systems as well as mainstream software and mobile applications.\n\nIn this talk, we will visit some of the underlying techniques used to detect and recognize faces, from eigenfaces to deep learning and convolutional neural networks. Practical examples involving how  state of the art commercial APIs can be integrated with your application, as well as using open source software libraries to program your own face detector and train a classifier to recognize familiar faces will be given. \n","video":"https://vimeo.com/233820665","title":"Face recognition available for all","room":"Room 7","startTime":"2017-09-14T13:30","endTime":"2017-09-14T13:50","startTimeZulu":"2017-09-14T11:30:00Z","endTimeZulu":"2017-09-14T11:50:00Z","speakers":[{"name":"Martin Kermit","twitter":"","bio":"Martin Kermit is a seasoned data scientist with a special interest in image analysis and neural networks. He holds a Ph.D. in machine learning and has a broad experience in data driven modelling from various fields in both industrial and academic research. He now works as a senior consultant in the advanced analytics group at Acando AS."}],"id":"80f354405f044b1cb24b1474bd23a511","sessionId":"80f354405f044b1cb24b1474bd23a511","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Publikum er tredelt. Gruppe en er de som jobber i forvaltning og har fått et system i fanget og vet ikke helt hva de skal gjøre. Gruppe to er de som lager et system nå, men regner med å være en av de som skal forvalte systemet senere og ønsker noen \"do's and do not's\". Gruppe tre er de som blir tiltrukket av ulykker og lurer på hvor ille det kan bli.\n\"pseudokode\"","level":"intermediate","length":"45","format":"presentation","language":"no","abstract":"Er du en av de uheldige som har kommet ut på skråplanet og har havnet i applikasjonsforvaltning. Er du mange år unna \"the bleeding edge\" og de nye språkene som skal frelse brukerene og redde verden? Du er IKKE alene. Det er flere av oss enn du tror. Alltid når du ser på gammel kode er det noe banning og sverting. Du tenker hvorfor i all verden har de gjort dette? Men ville det alltid blitt bedre hvis jeg gjorde det? Dette foredraget handler om å få en forferdelig kodebase i fanget og beskjed om å \"løse problemet\". Den eneste forvarsel er løse rykter om systemet. Hva kan du forvente? Hvordan går du fram? Hvor ille kan det være? Jeg går igjennom min opplevelse fra denne mørke tiden, og håper det kan gi deg tips og hint til hvordan jobbe med en slik oppgave. ","video":"https://vimeo.com/233986707","title":"AA-møte for Anonyme Applikasjonsforvaltere","room":"Room 4","startTime":"2017-09-14T17:00","endTime":"2017-09-14T17:45","startTimeZulu":"2017-09-14T15:00:00Z","endTimeZulu":"2017-09-14T15:45:00Z","speakers":[{"name":"Erlend Flaten","twitter":"","pictureId":"c516907108ae42379e9e5771dba36993","bio":"Erlend har jobbet med å forbedre, forverre og ombygge applikasjoner i over ti år. Opp  igjennom årene har han sett gode, dårlige og tvilsomme løsninger. Noen av systemene har gitt inspirasjon til foredrag, blandt annet lyntaler på tidligere javazones. Samme hvilket prosjekt, platform og språk er i bruk, mener Erlend hovedfokuset alltid må være vedlikeholdbarhet og god kode. God kode som er mulig å forandre og tilpasse til nye mål og krav. Han har også ledet et prosjekt for å bearbeide og jobbe med teknisk gjeld."}],"id":"e0b99a591daa43d698a31ecf947b0287","sessionId":"e0b99a591daa43d698a31ecf947b0287","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"All kinds of developers using Java or interested in using Java.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Learn how to take part in Java technology evolution through the Java Community Process (JCP) program. You can participate as an individual, corporation, or nonprofit such as a Java user group (JUG). This session outlines why and how to participate in the JCP Program. You will also learn about the global Adoption programs and how you can participate in the programs. We will discuss details such as how to run hack days, collaborate with other JUG leads on Adopt-a-JSR activities, and review use cases from other JUGs around the world contributing to the Java EE 7 and Java SE 8 JSRs. Currently there are new JSRs being submitted and developed for the Java EE 8 and Java SE 9 platforms. Find out how you have contribute to the future editions of the Java Standard and Java Enterprise Editions.","video":"https://vimeo.com/233792397","title":"The JCP & The Future of Java","room":"Room 7","startTime":"2017-09-13T18:20","endTime":"2017-09-13T19:20","startTimeZulu":"2017-09-13T16:20:00Z","endTimeZulu":"2017-09-13T17:20:00Z","speakers":[{"name":"Heather VanCura","twitter":"@heathervc, @jcp_org","bio":"Heather VanCura is Chair of the JCP. In this role she leads the activities of the JCP Program Office including driving the process, managing its membership, guiding specification leads and experts through the process, leading the Executive Committee (EC) meetings, and managing the JCP.org web site.  She is also responsible for the community building activities, such as the global Adopt-a-JSR program, events, hack days, marketing, social media, communications, and growth of the membership. Heather has a front row seat for studying trends within the community and recommending changes. Several changes to the JCP program in recent years have included enabling broader participation, increased transparency and agility in JSR development. Before arriving at the JCP community in 2000, Heather worked with various technology companies. Heather enjoys speaking at and traveling to international developer conferences, such as Devoxx, Java Zone, and the JavaOne Conferences. "}],"id":"a0f1478948db46459dd3e4c78a6fd4a1","sessionId":"a0f1478948db46459dd3e4c78a6fd4a1","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The audience: web front-end developers who have just heard about progressive web apps and want to start creating, as well as seasoned developers, who created some basic or advanced PWAs, and want to deepen knowledge in it.\n\nAlso the session could be useful for mobile developers, who want to know about the new native app \"neighbours\" possibilities.\n\nSome code of the best practices will present on the slides.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"The collection of modern web browsers APIs and set of best practices on creating the applications turned into a new software creation methodology called Progressive Web Apps (PWA). The Service Worker API is a key API of the whole concept. Let me unleash its power for you! But with great power comes great responsibility - trivially, but true: I'll show the examples of how easy the \"Progressive\" part of the PWA term could become \"Regressive\", how to fix this, and how to test our Service Worker before deploying your app.\n\nFirst, we'll go through the well-known PWA functionality (App Shell, Offline Cache, Push) with focusing on the pitfalls we could easily get into, and how to avoid these.\n\nNext, I'll expand your horizons with the new PWA features, like Foreign fetch, Periodic sync, Navigation Preloads. And again - \"handle with care\". I'll share the points we have to pay attention to, as well as best practices.\n\nAs a practical result, you will get a full overview of basic and advanced Service Worker features, as well as knowledge on how to solve a real life project issues in the best possible way.\n\nBONUS: I'll share the latest additions to Service Worker and satellite APIs, so you will be ready to build the applications for the future!\n\n","video":"https://vimeo.com/233788474","title":"Tame your Service Worker before your Progressive Web App go into the wild","room":"Room 3","startTime":"2017-09-13T17:00","endTime":"2017-09-13T18:00","startTimeZulu":"2017-09-13T15:00:00Z","endTimeZulu":"2017-09-13T16:00:00Z","speakers":[{"name":"Maxim Salnikov","twitter":"@webmaxru","pictureId":"5fb24ba1903f41a5bb032b9db2cd4079","bio":"Maxim Salnikov is Oslo-based Web UI Engineer, a Google Developer Expert in Web Technologies and Angular. He develops complex web applications since the end of the last century and has extensive experience with all aspects of web front-end: UX/UI prototyping, HTML/CSS/JS, main frameworks, progressive web apps.\n\nMaxim is a founder and active contributor to two conferences: Mobile Era and ngVikings - Nordics’ main conferences for mobile and Angular developers respectively. Also, he leads Norway’s largest meetups dedicated to web front-end and mobile: Framsia, Angular Oslo, Mobile Meetup Oslo.\n\nMaxim is passionate about sharing his web front-end experience and knowledge with the community. He travels extensively for visiting developers events and speaking/training at conferences and meetups around the world."}],"id":"6cefef17497f4dc789502e03633ea959","sessionId":"6cefef17497f4dc789502e03633ea959","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Utviklere som jobber med eller er nysgjerrige på JavaScript. \nMan vil få bedre kjennskap til, eventuelt en oppfriskning av, JavaScript sin historie, menneskene bak og hvorfor språket har blitt som det har blitt og utvikler seg slik det gjør.\nDet vil ikke være så mye kode, men jeg kommer med ett eksempel knyttet til hvorfor de valgte å introdusere let-syntaksen, og i den forbindelse noen kodeeksempler som illustrerer problemene med var-hoisting.","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"Fra JavaScript først så dagens lys i 1995, har det hatt en broket historikk med mer og mindre vellykkede forsøk på forbedringer. Etter den gigantiske releasen av ES6 i 2015 har nye versjoner av EcmaScript-standarden blitt sluppet årlig. Men hvem er menneskene bak disse oppdateringene? Hvordan fungerer egentlig prosessen med å ta inn nye features, og kan hvem som helst komme med forslag?\n\nI denne lyntalen ser jeg på standardiseringsorganisasjonen ECMA og den berømte TC39-komiteen i søken etter svar på hvem, hva, hvorfor og hvordan i EcmaScript-økosystemet. Vi starter reisen med de ti mytiske dagene i 1995 som la grunnlaget for JavaScript, og beveger oss frem til dagens dato, med mål om å forstå hvilke hensyn som ligger til grunn for de valgene som tas og har blitt tatt. På veien får du innsikt i hvordan du selv kan bidra med innspill i fremtidige standarder.","video":"https://vimeo.com/233650855","title":"På omvisning i JavaScript-fabrikken","room":"Room 7","startTime":"2017-09-13T11:50","endTime":"2017-09-13T12:10","startTimeZulu":"2017-09-13T09:50:00Z","endTimeZulu":"2017-09-13T10:10:00Z","speakers":[{"name":"Johanne Håøy Horn","twitter":"","pictureId":"3c72181d34904cff9748b061cfbafc64","bio":"Johanne Håøy Horn jobber som fullstack-utvikler i BEKK Consulting. Hun har en mastergrad i programmering og nettverk fra UiO, hvor hun fullførte utdannelsen sin i 2016. "}],"id":"755f9649c2014fd2894f97457ee3750d","sessionId":"755f9649c2014fd2894f97457ee3750d","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som er intressert i hvordan en enkel machine learning-algoritme virker fra bunnen av. Det vil bli en del teori, men ikke så mye ren matematikk.\n\nDet vil bli en kort demo med Python-kode, men ikke noen \"live\" koding.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Hva er egentlig forskjellen mellom \"supervised\" og \"unsupervised machine learning\"? Og hva gjør disse algoritmene?\n\nIkke all maskinlæring trenger å kjøres i AWS eller Google. Iblant kan det være gøy å faktisk se det på en litt mer grunnleggende nivå.\n\nJeg vil gå igjennom forskellen mellom supervised og unsupervised learning og deretter gå på dybden i hvordan en av de vanligste Clustering-algoritme virker. \n\nFra teori til en live-demo med clustering av Whisky!\n\n","video":"https://vimeo.com/233820489","title":"Unsupervised Machine Learning - Clustering 101","room":"Room 7","startTime":"2017-09-14T13:00","endTime":"2017-09-14T13:20","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T11:20:00Z","speakers":[{"name":"Mattias Lundmark","twitter":"","bio":"IT-konsulent på Bouvet. Javakodare som koder Javascript. Har vært intressert av big data og machine learning i noen år. Jeg synes det gøy å grave meg ned i algoritmer for å faktisk forstå hvordan de virker."}],"id":"7a2dfa9f92724b28a0293a920950dac1","sessionId":"7a2dfa9f92724b28a0293a920950dac1","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Lyntalen passer for alle som er nysgjerrige på VR. Ingen kode.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Bli med på en reise gjennom oppdagelser av hva både skjermer og selve brukeren har å si for gjengivelsen av 3D-verdener. Visste du at to personer som står og ser på samme skjerm ikke faktisk ser det samme? Og at jo nærmere virkeligheten man kommer, jo mer må på plass for at det skal oppleves realistisk?\n\nVi hopper elegant over det meste av vanskelig matematikk, og går heller for intuitiv forståelse gjennom fysiske hjelpemidler og illustrasjoner. Vi skal innom riktig bruk av skjerm, og forklare hvorfor VR er, eller kan bli, svært mye mer naturlig enn tradisjonelle flater. Av denne lyntalen kan du forvente å få en forståelse av ting du bør justere for å bedre din egen opplevelse som bruker. Og som utvikler vil du forstå hvordan du bedre skal legge til rette for at brukerne nettopp får sin egen optimale opplevelse.\n\nTrenger du å overbevises om at VR er fremtiden? Eller trenger du argumenter for å overbevise andre? Da er dette lyntalen for deg!","video":"https://vimeo.com/233788880","title":"Utvid din horisont - om synsvidde og VR","room":"Room 7","startTime":"2017-09-13T17:00","endTime":"2017-09-13T17:20","startTimeZulu":"2017-09-13T15:00:00Z","endTimeZulu":"2017-09-13T15:20:00Z","speakers":[{"name":"Carl Fredrik Hersoug","twitter":"","pictureId":"02eeeda2d5d0463b90cb8fc241896aa7","bio":"Carl Fredrik er en Java-utvikler som på fritiden har interessert seg for bilsimulatorer, og dermed gode og korrekte gjengivelser av tredimensjonale verdener. I løpet av årene har det blitt en del aha-opplevelser, som blant annet har fått ham til å innse at VR er fremtiden. Carl Fredrik har også fått prøvd seg i virkelig racing, og har i så måte gode forutsetninger for å observere hva simulatorer klarer å gjenskape korrekt."}],"id":"fc1c282d7d2e4ca6a253e0d4f46eb03f","sessionId":"fc1c282d7d2e4ca6a253e0d4f46eb03f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Arkitekter, prosjektledere og utviklere","level":"beginner","length":"60","format":"presentation","language":"no","abstract":"Jeg har laget en info-pakke til deg som er arkitekt eller utvikler, og skal jobbe med personopplysninger. \n- Kort intro til grunnbegrepene i personvern, og hva GDPR medfører av plikter og rettigheter\n- En gjennomgang av hva de viktigste artiklene i forordningen vil medføre av krav til funksjonalitet\n- En introduksjon til mekanismene for å anonymisere og pseudonymisere data\n- Hva slags kompetanse du må ha, og viktige elementer i utviklingsprosessen\n- Nyttige design- og arkitekturføringer\n- Hva du bør spørre etter for å kunne jobbe bra med personvern\n- Noen relevante verktøy som du kan bruke\n\nOm du er arkitekt eller utvikler, vil du ha stor nytte av denne introen til GDPR: Lovverket trår i kraft 25.mai 2018, og setter helt absolutte krav til sikkerhet og personvern. Med bøter på opp til 4% av global konsernomsetning, blir vi tvunget til å lage nye systemer helt annerledes, og mange eksisterende må skrives om. \n\nOm sjefen kommer bortom og ber om et kvarter for å høre hvor lang tid det vil ta å skrive om det systemet dere lanserte for fire år siden, slik at det er i tråd i GDPR. Hva innebærer det? Hvor lang tid vil det ta? Hva må dere kunne? Her finner du noen av svarene.","video":"https://vimeo.com/233648462","title":"Slik kommer du i gang med EUs nye personvernforordning","room":"Room 1","startTime":"2017-09-13T10:20","endTime":"2017-09-13T11:20","startTimeZulu":"2017-09-13T08:20:00Z","endTimeZulu":"2017-09-13T09:20:00Z","speakers":[{"name":"Simen Sommerfeldt","twitter":"@sisomm","pictureId":"5134fff9570e466da2d7f64d4c84727f","bio":"Simen Sommerfeldt er rådgiver og teknologisjef ved Bouvet. I sitt daglige virke jobber han som rådgiver innen virksomhetsarkitektur og strategisk IT.  Han har i de senere år skrevet mye om tingenes internet og holdt mange foredrag om temaet.  Han har også engasjert seg mye i om EUS nye personvernforordning, og opprettet en GDPR meetup i april 2017\nSommerfeldt stiftet Lær Kidsa Koding! i februar 2013 med ambisjon om at at barna som nå vokser opp skal få mulighet til å være skapere og ikke bare forbrukere av digital teknologi. \n"}],"id":"aa359b5268d84653aca80a65bd92858e","sessionId":"aa359b5268d84653aca80a65bd92858e","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Workshopen vil være nyttig for dem som har noe erfaring med skyplattformer, men ikke nødvendigvis har jobbet med å drifte skyløsninger i produksjon. Vi starter med introduksjon og benytter gradvis mer avanserte verktøy, så man trenger ingen tidligere erfaring med skydrift for å få utbytte av workshopen. ","level":"beginner","length":"240","format":"workshop","language":"no","abstract":"Buzzordet serverless høres overalt om dagen, men hva innebærer det egentlig? I denne workshopen setter vi opp en fullstack serverless-applikasjon fra A til Å, og gir med det et konkret eksempel på hva serverless-begrepet faktisk kan bety i praksis.\n\nServerløse applikasjoner bygges ved å sy sammen ulike skytjenester til en fullstendig applikasjon. Til og med webserveren er borte, og er erstattet av frittstående kodesnutter som skyplattformen kjører når applikasjonen får trafikk. Servere og annen lavnivå infrastruktur er abstrahert bort, og vi forholder oss i stedet til høynivåtjenester der skyleverandøren håndterer all underliggende infrastruktur.\n\nServerless-paradigmet kommer med lovnader om reduserte driftskostnader, kortere utviklingstid og automatisk skalering. I denne workshopen lærer du hvordan du kan bygge serverløse applikasjoner i praksis. Vi gir en introduksjon til serverless, og setter opp en applikasjon basert på skytjenester hos Amazon Web Services, inkl. Lambda, DynamoDB, API Gateway, S3 og CloudFront. Vi også ser på hva som skal til for å ta applikasjonen fra prototype til produksjon, bl. a. ved å se på verktøy for lokal kjøring, testing, versjonering, automatisering og deploy.","title":"Look ma, no servers! En introduksjon til serverless-arkitektur","room":"Workshop B","startTime":"2017-09-12T09:00","endTime":"2017-09-12T13:00","startTimeZulu":"2017-09-12T07:00:00Z","endTimeZulu":"2017-09-12T11:00:00Z","speakers":[{"name":"Fredrik V. Mørken","twitter":"","pictureId":"4fdca4fa9a9c4896b6c92e0bec52bcf6","bio":"Fredrik jobber som seniorkonsulent i BEKK, og har 5 års erfaring som Javautvikler. Han er lidenskapelig opptatt av devops, cloud og automatisering, og er medlem av BEKKs faggruppe for avanserte cloudteknologier."},{"name":"Henrik Wingerei","twitter":"henrikwingerei","pictureId":"608a34882ba049ce879518bfed3e8236","bio":"Henrik Wingerei jobber som seniorkonsulent i BEKK hvor han har jobbet som fullstack Java-utvikler i 5 år. Henrik er interessert i cloud og alt som rører seg rundt en applikasjon, og har den siste tiden hatt et spesielt fokus på å bygge kompetanse på Amazon Web Services. Henrik har tidligere holdt foredrag på både JavaZone og meetups."},{"name":"Harald Ringvold","bio":"Harald er seniorkonsulent i BEKK og jobber til vanlig med både backend og frontend. Han er opptatt av å produsere applikasjoner og systemer av høy kvalitet, og mener DevOps, kontinuerlig leveranse og automatisering er viktig for å få til dette."}],"id":"f5b91e7fa8fd4640b9b1a8968e444da7","sessionId":"f5b91e7fa8fd4640b9b1a8968e444da7","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Java programmers at any level","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"There is only one trick to being a better programmer: Use your tools effective to maximize your feedback loop. In this live and conversational talk, I will be demonstrating effective programming skills while having a fun chat with the audience.\n\nIn the talk, you will see code grow almost organically. Through many changes, the code will always be in a correct working state. We will be focusing on realistic problems that demonstrates how techniques like evolutionary architecture, refactoring and test-driven development work in a realistic setting.\n\nIf you have seen Johannes' talks before, a lot of the message is familiar to you. What's new is the approach to use fewer tests to drive more code and the more advanced examples.","video":"https://vimeo.com/233967725","title":"Thinking by coding: A veteran coder demonstrates","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/11f55031400341a3a9f806bfab4d4605","room":"Room 1","startTime":"2017-09-14T11:40","endTime":"2017-09-14T12:40","startTimeZulu":"2017-09-14T09:40:00Z","endTimeZulu":"2017-09-14T10:40:00Z","speakers":[{"name":"Johannes Brodwall","twitter":"@jhannes","pictureId":"1cd56ceb0596423d8611a33ce990a885","bio":"Johannes Brodwall works as principal software engineer for Sopra Steria Norway where he builds software.\n\nJohannes has been working as a programmer, architect, agile coach and programmer again for 15 years. He has worked as architect in large public sector projects to create nationally strategic infrastructure, in small 1-2 person private sector teams to create internal apps to improve work processes and everything in between.\n\nHe has been studying, practicing and sharing Extreme Programming practices like Test-Driven Development, Continuous Integration, Continuous Deployment and Pair-Programming since 2000 and founded the Oslo XP meetup.\n\nHe has been a speaker at conferences in Norway, eastern Europe and south Asia and is also active as a conference organizer in Norway. He is the only person who have given a talk at every JavaZone conference."}],"id":"89fc62292670404c8d722bd0d9430480","sessionId":"89fc62292670404c8d722bd0d9430480","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"People interested in programming robots, building Augmented and Virtual Reality experiences as well as IoT solutions","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Using humanoid robots, virtual reality glasses and 3D camera sensors you can experience the world through the eyes of a robot and control it via gestures. The hardware hacking team of TNG Technology Consulting has built a telepresence robotics system based on a Nao robot, an Oculus Rift and a Kinect One. Using these components you can realize an immersive \"out-of-body experience\" - similar to that of the film \"Avatar\".\n\nThis talk shows how easy it is to program the robot using Java. We will do this by some live coding examples. Following a live demonstration of the showcase we will guide you through the complete program flow of the telepresence system. The speakers will share some insights about the challenges they faced during its implementation. The history of telepresence robotics, current trends and examples for real world fields of application will also be focused.","video":"https://vimeo.com/233788316","title":"Avatar - Telepresence robotics with Nao and Kinect","room":"Room 1","startTime":"2017-09-13T17:00","endTime":"2017-09-13T18:00","startTimeZulu":"2017-09-13T15:00:00Z","endTimeZulu":"2017-09-13T16:00:00Z","speakers":[{"name":"Thomas Endres","twitter":"@originalOne1984","pictureId":"8c8f2bf60db645dd93c0c81958bc837c","bio":"Thomas Endres is an IT consultant working for TNG Technology Consulting in Munich. Besides his normal work for the customer he is creating various prototypes like a see-through Augmented Reality device or a telepresence robotics system with the company's hardware hacking team. In his spare time, he is working on gesture control applications, i.e. for controlling quadrocopters with bare hands. But he is also involved in other open source projects written in Java, C# and all kinds of JavaScript languages. Apart from this, he is working as a lecturer at the University of Applied Sciences in Landshut.\n\nThomas studied IT at the TU Munich and is passionate about software development and all the other aspects of technology. As an Intel Software Innovator and Black Belt, he is promoting new technologies like gesture control, AR/VR and robotics around the world. He has recently received a JavaOne Rockstar award."},{"name":"Martin Förtsch","twitter":"@MartinFoertsch","pictureId":"c4a939dc5daa46be89adcdb13db67252","bio":"Martin Förtsch studied computer science and is working as a software consultant for the IT consulting company TNG Technology Consulting GmbH (http://tngtech.com) which is based in Unterfoehring near Munich (Germany). Occupational his focus areas are Agile Development in Java, Search Engine Technologies, Information Retrieval and Databases. As an Intel Software Innovator and Intel Black Belt Software Developer he is strongly involved in the development of open-source software for gesture control with 3D-cameras like e.g. Intel RealSense and has built an Augmented Reality wearable prototype device based on this technology. Furthermore he gives many talks on national and international conferences about Internet of Things, 3D-camera technologies, Augmented Reality and Test Driven Development as well. He is an author for the technical blog ParrotsOnJava.com (http://parrotsonjava.com) and Oracle JavaOne Rockstar."}],"id":"b6cbd16b68d6499292ee646ab46ea930","sessionId":"b6cbd16b68d6499292ee646ab46ea930","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Presentasjonen passer alle som jobber med Java til daglig. Enten man har et continuous integration/continuous delivery oppsett fra før eller ønsker å se et eksempel på hvordan det kan gjøres. Forvent kode på skjerm.","level":"intermediate","length":"60","format":"presentation","language":"no","abstract":"Det er lett å bli DevOps-frelst når man hører selskaper som Netflix snakke om hvordan de gjør tusenvis av deploys hver dag. Drømmen om pipelines, automatisert testing og canary-releases står ofte i sterk kontrast til hvordan vi dødelige utviklere bygger og produksjonssetter våre applikasjoner.\n\nFor det vanskeligste med \"å jobbe DevOps\" er ikke å lage en build pipeline og scripte deployments. Det mest krevende er å få med alle ulike ledd i organisasjonen på de omstillingene man må gjøre underveis. Dette foredraget skal handle om hvordan vi kan nyte fordelene av at vi lever og koder i 2017, selv når det finnes begrensninger med tanke på teknologivalg, infrastruktur og utrulling.\n\nVårt case? Vi har tatt over Autosys, et ti år gammelt Java-system bestående av flere applikasjoner. Vi rullet på 40 utviklere og hadde et brennende ønske om å innføre ulike DevOps-praksiser for å forenkle og automatisere “all the things”. Når vi i dag kan provisjonere et nytt testmiljø på 15 sekunder fra en vilkårlig branch og et vilkårlig bygg mener vi å ha gjort noe riktig.\n\nVi skal snakke om hvordan vi bruker Flyway, Docker, Rundeck, Jenkins og litt magisk integrasjon mellom disse verktøyene for å gjøre vår utviklerhverdag mer effektiv og ikke minst morsom. For selv mellom barken og veden er det plass til litt automatisering!","video":"https://vimeo.com/233973812","title":"DevOps for oss dødelige","room":"Room 2","startTime":"2017-09-14T11:40","endTime":"2017-09-14T12:40","startTimeZulu":"2017-09-14T09:40:00Z","endTimeZulu":"2017-09-14T10:40:00Z","speakers":[{"name":"Kristian Haugene","twitter":"","pictureId":"ec82459714fd479ba401130e14a0330f","bio":"Kristian er en utvikler og arkitekt med 6 års erfaring fra store Java-prosjekter. Han trives over hele stacken, men har de siste årene fått en særskilt interesse for Docker og bruker derfor mye tid på å putte ting i containere.\n\nKristian er glad i å høre om, og prøve ut, ny teknologi.  gjennom alt fra meetups til hobbyprosjekter. Etter årevis med repetitiv bygging, pakking og deploy av applikasjoner har scripting blitt en interesse og det uoppnåelige målet er satt: automatiser alt!"}],"id":"4f3007834a614089be77746722daa931","sessionId":"4f3007834a614089be77746722daa931","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This talk is mainly designed for a JavaScript developers. \n\nMost of them might have heard of type systems like TypeScript / Flow, but are still afraid of adding another tooling layer to their codebase... some of them might be a little bit fatigued by the fastness of the JavaScript community and are probably looking for alternatives... maybe even in the FP context, like Elm, PureScript or ReasonML.\n\nI also believe that Java developers with webapplication background might find this interesting, since Flow will make it possible to get a more familiar coding experience with compiler messages and type definitions .\n\nI expect developers to be in an intermediate level, so they should be comfortable with ES6 syntax and the concepts a modern UI framework (preferably ReactJS). This is not going to be a talk for juniors or casual JS users.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"JavaScript's dynamic nature and rich and expressive syntax are strengths of the language, making it an approachable and beginner-friendly language to get started with. However, this same flexibility through dynamic typing and runtime evaluation increases the difficulty of debugging and makes it tough to confidently change existing code.\n\nIn this talk I will discuss my personal journey and experience on using existing type systems within and outside of the JavaScript ecosystem, specifically Flow and ReasonML, and demonstrate how they can improve your workflow.\n\nI will talk about general concepts of why we need type definitions, how types will influence API designs, the differences between static and runtime types and how we can bridge the gap between a statically compiled, type-safe language and the JavaScript ecosystem.","video":"https://vimeo.com/233821619","title":"The Road to a Typed JavaScript Future","room":"Room 5","startTime":"2017-09-14T11:40","endTime":"2017-09-14T12:40","startTimeZulu":"2017-09-14T09:40:00Z","endTimeZulu":"2017-09-14T10:40:00Z","speakers":[{"name":"Patrick Stapfer","twitter":"@ryyppy","pictureId":"d1d88206cb344deea42562baccbca64a","bio":"Patrick Stapfer is a JavaScript Software Engineer and freelancer from Vienna, who is mostly known for his contributions to the Flow ecosystem and his past work at Runtastic, where he spent most of his time working on the Mobile News Feed feature which was built in React-Native. Most of his Open Source time is dedicated to Facebook’s Flow and ReasonML platform to improve JavaScript code quality and to talk about related technologies."}],"id":"e3a8f2030ed149faa3002d0b03bda850","sessionId":"e3a8f2030ed149faa3002d0b03bda850","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Anyone working with front end code. None-coders will also benefit from pointers on accessibility pitfalls to check for.\nCode in slides.","level":"beginner","length":"45","format":"presentation","language":"en","abstract":"Accessible websites are crucial for those unlucky enough to have some form of disability or limited sight, hearing or movement. Unfortunately it is extremely \"easy\" to accidentally preventing websites from working with accessibility tools. It is our responsibility as developers to make sure the systems we develop can be used by anyone, and to achieve that we need the right \"tools\".\n\nIn this talk I will not only explain how to write proper, accessible HTML, but I will also show you what happens if you do not. We will look at how HTML5 and WAI-ARIA can improve navigation, understanding and perception, and how to make screen readers react to changes made by JavaScript code.\n\nBy attending this talk you will learn the most common pitfalls and the best techniques when it comes to accessibility.","video":"https://vimeo.com/233789865","title":"Resistance is futile - start writing accessible websites now!","room":"Room 5","startTime":"2017-09-13T17:00","endTime":"2017-09-13T17:45","startTimeZulu":"2017-09-13T15:00:00Z","endTimeZulu":"2017-09-13T15:45:00Z","speakers":[{"name":"Vegard Haugstvedt","twitter":"@it_vegard","pictureId":"9ea27d13e6d645e898bec89dbca38a98","bio":"Full-stack developer by title but frontender by heart.\nPassionate advocate for making accessibility a first-class priority in software projects.\nWant people to understand that #a11y is really just about usability taken a step further.\n\nIn charge of training events for the technology department @ Itera.\nPublic speaker at conferences nationally and abroad.\n\nHusband to a talented test lead and father of an amazing boy. Trying to read \"JavaScript for babies\" to him, but so far he is more into the IoT Christmas lights over his bed."}],"id":"80f03ac99fde448fb27bedb451ab14af","sessionId":"80f03ac99fde448fb27bedb451ab14af","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Presentasjonen er rettet mot folk som er interessert i:\n- hvorfor og hvordan maskinlæring kan brukes for å berike lyd & video materiale\n- å lære hvordan NRK bruker maskinlæring for å ekstrahere \"hidden features\" fra sitt multimedia materiale til dette foremålet\n- å få delt erfaringer med Google Cloud Machine Learning og Microsoft Cognitive Services\n- å høre hvordan NRK integrerer maskin læring i systemarkitekturen","level":"intermediate","length":"45","format":"presentation","language":"no","abstract":"NRK eier og forvalter store arkiv med multimedia innhold som vokser i stadig større fart. Det er umulig å tilrettelegge alt arkivmateriale for hånd, og noe må derfor gjøres. Ikke kommer nye opptak raskere og raskere inn i systemene, også det gamle materiale blir i stadig større grad tilgjengelige digitalt. \nÅ navigere i slike mengder med multimedia innhold krever nytenking og nye løsninger. Kringkastere og mediehus i hele verden ser på muligheter, og NRK er selvsagt med på det. I foredraget forteller vi mer om hva vi gjør, kan tenke oss å gjøre og hvordan det fungerer så langt. ","video":"https://vimeo.com/233786662","title":"Hva ble sagt, hva ble sendt? Maskinlæring på lyd og videoinnhold i NRKs arkiv","room":"Room 6","startTime":"2017-09-13T10:20","endTime":"2017-09-13T11:05","startTimeZulu":"2017-09-13T08:20:00Z","endTimeZulu":"2017-09-13T09:05:00Z","speakers":[{"name":"Robert Engels","twitter":"@robeng","bio":"Robert H.P. Engels har utdannelse i \"Artificial Intelligence\" og har tatt doktorgrad i siviløkonomi/informatikk med en avhandling om algoritmer for \"Machine Learning\" og prosesser for analyse av store datamengder (1999). Han driver til daglig ESIS Norge AS, som leverer konsulenttjenester innenfor dataforvaltning i distribuerte systemer (f.eks Intranett/internett). Han har også vært den tekniske drifkraften bak diverse digitale rammeverk og systemer innenfor kultursektoren, bla POPSENTERET i Oslo som vant prisen \"Årets Museum\" i 2013, med henvisning til fremtidsrettede og nyskapende løsninger.\nHan ser på semantisk teknologi og machine learning som komplementær og har de siste årene arbeidet som programleder i ORIGO programmet i NRK og ledet utviklingen av en ny fundament for innholdspublikasjon. \nSemantikk har vært viktig i alle prosjekter han har jobbet med. \n\n"},{"name":"André Lynum","twitter":"","bio":"Senior Consultant at ACANDO specializing in advanced search technology and machine learning.\nPhD Candidate at Norwegian University of Science and Technology.\nParticipated in national and international research projects in Machine Translation.\nPublished several state of the art results in Natural Language Processing\nWide experience in machine learning and text analysis."}],"id":"15a3dc0f866948369ba03bfa9d85dade","sessionId":"15a3dc0f866948369ba03bfa9d85dade","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers at any level of experience, and anyone who is curious about algorithms. The talk will be highly accessible.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"How do you find the optimal configuration for running your Spark job\neffectively? Or the optimal tuning of your search engine to return the\nmost relevant results? This type of problem occurs frequently in IT,\nand usually we approach them by manual trial and error. This is not\nvery efficient, and can often make things worse because we don't test\nour solutions carefully.\n\nThis talk describes how to recognize simple machine learning problems\nin common IT challenges, and how to use very simple tools to solve\nthem. Support vector machines, random forests, and neural networks are\npowerful tools, but require quite a bit of mathematical\nsophistication.  Simple nature-inspired algorithms can be a good and\neffective substitute in many cases.\n\nAs long as you have a way to measure how good a solution is, there is\na whole host of solutions that can be used. Genetic algorithms is one\nway, but there are others which are much simpler. Particle-swarm\noptimization sounds very complicated, but is actually very simple to\nimplement.\n\nThe downside to both genetic algorithms and particle-swarm\noptimization is that the solvers are \"blind\". They have no idea in\nwhat direction they should go, and so have to spend a lot of resources\non trying every possible direction. A new set of nature-inspired\nalgorithms, such as the firefly algorithm, the cuckoo algorithm, the\nflower pollination algorithm, and so on, improve on particle-swarm\noptimization, and remain fairly simple.\n\nThis talk describes a set of nature-inspired algoritms, how they work,\nhow to implement them yourself without much effort, and how to verify\nthat they work.","video":"https://vimeo.com/233975012","title":"Nature-inspired algorithms","room":"Room 2","startTime":"2017-09-14T13:00","endTime":"2017-09-14T14:00","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T12:00:00Z","speakers":[{"name":"Lars Marius Garshol","twitter":"@larsga","pictureId":"28a91dcbc835421e9593d40523c4e67b","bio":"Lars Marius is a software engineer at Schibsted, where he works in the data platform team, collecting and managing tracking data from >200 million monthly users. He has been an active open source developer for 20+ years, and worked in ISO standardization for about 10 years. He was responsible for the Unicode support in the Opera browser, and invented and implemented his own query language."}],"id":"44daf1c2053049bc9934f4fff1d19c7b","sessionId":"44daf1c2053049bc9934f4fff1d19c7b","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This session will be particularly helpful for both companies who are new to embracing Scala/functional programming as well as those who have used the language for a while, but are looking for ways to scale it even further. Code does not play a strong factor in the presentation, but participants should have a foundational understanding of Scala in order to benefit. This is also not just limited to Scala engineers, as many people in functional programming will find the best practices and information helpful. Dag has Java experience as well, so can tie the talk back to this main theme, too. ","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"At any company’s start, they will face the decision of which programming language will define their technology stack. For Tapad, this was in 2010, when languages like Scala were in their very early stages and many engineers weren’t looking beyond Java. It was at that time that CTO and co-founder, Dag Liodden, made the decision to use Scala, which arguably provided the technical foundation needed to scale Tapad to what it is today -- a 200+ person company, managing 20+ PB of data, that was recently acquired for $360 million. While adoption has gained significant momentum for Scala since Tapad first embraced the language, it is still in the fairly early stages of maturity, which poses challenges for experienced and novice Scala developer teams alike. In this session, Dag will address the source of some of these challenges, how they can be resolved, and how Scala can help deliver high quality code at high velocity. Ultimately, all leading up to how engineers and entrepreneurs alike can overcome these barriers to build a team, or even a whole company, on Scala. \n","video":"https://vimeo.com/233649102","title":"Building a Company on Scala ","room":"Room 3","startTime":"2017-09-13T10:20","endTime":"2017-09-13T11:05","startTimeZulu":"2017-09-13T08:20:00Z","endTimeZulu":"2017-09-13T09:05:00Z","speakers":[{"name":"Dag Liodden","twitter":"@daggerrz","pictureId":"589dba30199f45dfb9768ce75b43b306","bio":"Dag Liodden is co-founder and CTO of Tapad. He oversees all technological advancements for the company, including Tapad’s notable breakthroughs in delivering targeted advertising across platforms. Under his leadership, Tapad has evolved from a novel idea to a global technology powerhouse. With engineering offices in New York City and Oslo and five data centers across three continents, Tapad's technology processes trillions of events each month and every day serves billions of users at a rate of millions of requests per second.\n\nPrior to Tapad, he was the co-founder and CTO of Giant Leap Technologies AS, a premier Business Mobility solutions provider in the Nordic region. While there, Dag managed some of the largest wireless enterprise solution rollouts in Europe. He began programming at 6-years-old and consulted as a software developer for several years before gaining a Master of Science degree in Industrial Economics and Technology Management from the Norwegian University of Science and Technology."}],"id":"98bee4618d804d61b0934c92e6c5c164","sessionId":"98bee4618d804d61b0934c92e6c5c164","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers that have some interest in the kubernetes platform and want a lightweight credentials management system.\n\nLive demo of kubernetes, git secrets and the simple tooling we have built at unacast to combine them.","level":"intermediate","length":"10","format":"lightning-talk","language":"en","abstract":"Secret handling is often a pain, and the solution many times involve a somewhat complex tool or is a naive insecure solution. Is there a way more lightweight way to deal with secrets in kubernetes?\n\nIn this lightingtalk I will show you how we at Unacast use git secret as a secret storage with automatic update of kubernetes secrets. ","video":"https://vimeo.com/233670736","title":"Handling secrets in kubernetes using git secrets","room":"Room 7","startTime":"2017-09-13T13:00","endTime":"2017-09-13T13:10","startTimeZulu":"2017-09-13T11:00:00Z","endTimeZulu":"2017-09-13T11:10:00Z","speakers":[{"name":"Tomas Jansson","twitter":"@TomasJansson","pictureId":"73fa03ea518e4fa1a89af84a03ab2555","bio":"Tomas Jansson works as a platform engineer at Unacast in Oslo. Tomas is a well known figure in the developer space in Norway and has presented at many multiple conferences in Norway and abroad.\n\nWith more than a decade of consulting experience from both Sweden and Norway Tomas has now found his place at Unacast implementing the Real World Graph using every bit he can of the Google Cloud Platform.\n\n"}],"id":"08f148e9938049379d0e8dea3e8eb75e","sessionId":"08f148e9938049379d0e8dea3e8eb75e","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers, architects, testers and other technical people","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"FINN.no, Norway's number one online market place, used to be a monolith but has migrated to Microservices during the last 5 years. The daily life of developers has become a lot better with Microservices, instead of everyone working on the same monolith. However, a problem arises when testing services thoroughly, as each service is dependent on other Microservices. This has been a big challenge, and has led to a lot of manual testing. However, lately we have started using a Java based tool called WireMock which helps us stubbing out other Microservices. We will explain how this tool has helped us. Hopefully, the talk will help other developers with similar problems to get better testing when using Microservices.","video":"https://vimeo.com/233817735","title":"Challenges Testing Microservices in Distributed Systems: One Possible Solution","room":"Room 6","startTime":"2017-09-14T11:40","endTime":"2017-09-14T12:25","startTimeZulu":"2017-09-14T09:40:00Z","endTimeZulu":"2017-09-14T10:25:00Z","speakers":[{"name":"Lotte Johansen","twitter":"@lotte_johansen","pictureId":"96f3288090b04e0bab2d2871f6fd1c58","bio":"Senior developer at FINN.no. Primarily a backend java developer interested in software architecture, communication technology, and accessibility. Worked on distributed systems in both telecommunications and Microservices. Worked as a researcher on an EU project about future mobile systems before joining FINN.no in 2008. Master's degree in Communications technology and distributed systems from NTNU, Trondheim, Norway. Enjoys talking at conferences and has given several talks (JavaZone, CSUN and MicroXchg)."}],"id":"784c8190f29149c6be243790c5668cdc","sessionId":"784c8190f29149c6be243790c5668cdc","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne lyntalen er for deg som ønsker å være oppdatert på endringene i JavaScript, selv om du har mye eller bare litt kjennskap til JavaScript fra før av.\nDet blir kode i slides og visning av små kjørende kodesnutter.","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"EcmaScript 2015 (ES6) var den største oppdatering til JavaScript noensinne.\nTC-39 (den tekiske komiteen til EcmaScript) har siden det gått inn for å gi oss årlig oppdateringer.\nVi tar en titt på hva vi kan forvente å se mot ES2018 og ES2019 ut i fra oppdateringen som er foreslått til TC-39.","video":"https://vimeo.com/233650941","title":"Mot ES2018 - Hva ligger i loopen for EcmaScript?","room":"Room 7","startTime":"2017-09-13T12:10","endTime":"2017-09-13T12:30","startTimeZulu":"2017-09-13T10:10:00Z","endTimeZulu":"2017-09-13T10:30:00Z","speakers":[{"name":"Eirik Vigeland","twitter":"","pictureId":"99ab317d759c4a2c93635cb8803c97c9","bio":"Eirik jobber i teknologiavdelingen til BEKK og driver daglig med stor JavaScript- og frontendapplikasjoner. Han er ekstremt interessert i JavaScript og webapps, og en pådriver på å bruke det nyeste innen JavaScript og webteknologi."}],"id":"3666df852ec64a05973ddb4fb60b261f","sessionId":"3666df852ec64a05973ddb4fb60b261f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Demo of tools, methodology","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Managed runtime performance expert, Monica Beckwith will divulge her survival guide which is essential for any application performance engineer to get to the bottom of a performance issue. The presentation will provide a step-by-step approach to finding the root cause of any performance problem. Following the simple rules highlighted in the presentation and applying performance engineering patterns will make you and your stakeholders happy.","video":"https://vimeo.com/233787344","title":"Java Performance Engineer's Survival Guide","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/6cadb73b8ebd4f1e8824be8e5c40a40b","room":"Room 1","startTime":"2017-09-13T15:40","endTime":"2017-09-13T16:40","startTimeZulu":"2017-09-13T13:40:00Z","endTimeZulu":"2017-09-13T14:40:00Z","speakers":[{"name":"Monica Beckwith","twitter":"@mon_beck","pictureId":"a57209f582d248c99f310aec09957095","bio":"Monica Beckwith is an independent performance consultant and instructor optimizing customer applications and systems running the Java Virtual Machine. She has worked with Java HotSpot VM optimizing the JIT Compiler, the generated code, the JVM heuristics and garbage collection and collectors. Monica is a regular speaker at various conferences and has several published articles on topics including garbage collection, the Java memory model and others. Monica led Oracle's Garbage First Garbage Collector performance team, and was named a JavaOne Rock Star. Monica also co-authored the 'Java Performance Companion' book. Monica was recently considered one of the influential women in Java and Scala: http://blog.takipi.com/10-influential-women-in-java-scala-and-everything-in-between/"}],"id":"31d7e476662f48f8bcdfcac88d9ff742","sessionId":"31d7e476662f48f8bcdfcac88d9ff742","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers building JVM systems that communicate using HTTP. They will get to know what happens behind the scenes when HTTP calls are made and how to tune & monitor HTTP clients.\n\nsome code in slides","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Communication is the cornerstone of distributed systems. Our services often communicate using HTTP protocol and it is difficult to imagine a modern project without a HTTP client. However we often forget how important role they play. Have you ever wondered what hides behind different clients APIs? How does the magic work? What properties and options should be set in HTTP client and why do they matter?\n\nDuring this talk i will show what happens behind the scenes when using popular high-level HTTP APIs: RestTemplate, Jersey and Retrofit. What settings are crucial to make the most out of them, how to detect failures quickly, what are the bottlenecks and how to monitor them. I will also talk about lower level clients hiding behind those APIs: Apache Client and OkHttp. Come and listen if you want to be an informed user of these fundamental tools.","video":"https://vimeo.com/233798451","title":"HTTP clients: silent heroes of distributed systems","room":"Room 2","startTime":"2017-09-13T18:20","endTime":"2017-09-13T19:20","startTimeZulu":"2017-09-13T16:20:00Z","endTimeZulu":"2017-09-13T17:20:00Z","speakers":[{"name":"Adam Dubiel","twitter":"@dubieladam","pictureId":"acdbc9ef8b4241d1912c3e93c151ccfa","bio":"Passionate developer and technical team leader. Loves programming for the power to create usable software out of nothing and seeing the effects immediately. Values working code and metrics over declarations and promises."}],"id":"d512b8103967478990dc9008c5f48d9c","sessionId":"d512b8103967478990dc9008c5f48d9c","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Målgruppen er utviklere med mye data som inneholder et budskap de vil formidle. De trenger inspirasjon, og de trenger å få vite hvilke tekniske muligheter de har. \n\nDet blir absolutt fravær av langdryge gjennomganger av boiler plate code, men jeg skal vise noen prinsipielle kodelinjer som beskriver hvordan animasjonene oppnås, og datastrukturene bak de store datamengdene.","level":"intermediate","length":"45","format":"presentation","language":"no","abstract":"Med enorme mengder data blir visualisering essensielt for å formidle budskapet ditt. Hvor kan datavisualisering ligge mellom rå statistikk og ren kunst? Jeg utnytter den enorme kraften i grafikkortet, og sexifyer dataene med WebGL. Jeg skal demonstrere ulike måter å visualisere data med webgl, og forklare hvordan det fungerer teknisk under panseret. Til slutt viser jeg hvordan man kan gjøre dette med live data via web sockets rett inn i visualiseringen.","video":"https://vimeo.com/233792113","title":"Visualisering av en million datapunkter i sanntid","room":"Room 4","startTime":"2017-09-13T18:20","endTime":"2017-09-13T19:05","startTimeZulu":"2017-09-13T16:20:00Z","endTimeZulu":"2017-09-13T17:05:00Z","speakers":[{"name":"Holger Ludvigsen","twitter":"","pictureId":"069c73f150c94754aacebb1099dec671","bio":"Holger har spesialisering i tungregning og datagrafikk fra NTNU og nå 7 års erfaring med fullstackutvikling på JavaScript og Java. Interessene inkluderer visualisering, programmeringsspråk og sandbox-spill. Han har laget spillet playsprett.com og det funksjonelle programmeringspråket hilvl som ikke har gange eller dele."}],"id":"78766e8ba7dc4cfc8b2cc4ceb4cf077f","sessionId":"78766e8ba7dc4cfc8b2cc4ceb4cf077f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"If you are running a distributed system, this talk is made for you. It will include a lot of live coding (you will interact with our service) and show you how to monitor your services from all possible angles.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"\"With microservices every outage is like a murder mystery\" is a common complaint. But it doesn't have to be! This talk gives an overview on how to monitor Spring Boot applications, since they are increasingly popular for building microservices. We dive into:\n* System metrics: Keep track of network traffic and system load.\n* Application logs: Collect and parse your logs.\n* Uptime monitoring: Use Heartbeat to ping services and actively monitor their availability.\n* Application metrics: Get the information from Boot's metric and health endpoints, store it, and visualize it.\n* Request tracing: Use Sleuth to trace requests through a distributed system and Zipkin to show how long each call takes.\n\nAnd we will do all of that live, since it is so easy and much more interactive that way.","video":"https://vimeo.com/234068541","title":"360° Monitoring of Your Microservices","room":"Room 3","startTime":"2017-09-14T17:00","endTime":"2017-09-14T18:00","startTimeZulu":"2017-09-14T15:00:00Z","endTimeZulu":"2017-09-14T16:00:00Z","speakers":[{"name":"Philipp Krenn","twitter":"@xeraa","pictureId":"d6e48598c4d847d6befd15d42f5ec12f","bio":"Philipp is part of the infrastructure team and a Developer Advocate at Elastic, spreading the love and knowledge of full-text search, analytics, and real-time data. He is a frequent speaker at conferences and meetups about all things search & analytics, databases, cloud computing, and devops. Philipp lives in Vienna where he enjoys experimenting with software, organizing meetups, and sports."}],"id":"0f43b768c1034753be586b9c9b1429cb","sessionId":"0f43b768c1034753be586b9c9b1429cb","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"anyone ","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Those who cannot remember the past are condemned to repeat it.  –George Santayana\nThe past is never dead. It’s not even past. –William Faulkner\n\nMost architects pursue the Latest and Greatest with great fervor, yet the history of engineering, including software projects, contains rich lessons that we risk repeating ad nauseam. This keynote recounts a variety of stories of projects that failed architecturally…and why. Ranging from the Vasa in 1628 to Knight Capital in 2012, each story tells of a mistaken interpretation of some architectural fundamental principle and the consequences–some good, some less so. I also look at the common threads for these stories, which points to pitfalls to avoid when looking into the future.","video":"https://vimeo.com/233966656","title":"12 Stories Every Architect Should Know","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/8d06664f0ccd45c3963ebad2fb75801d","room":"Room 1","startTime":"2017-09-14T10:20","endTime":"2017-09-14T11:20","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T09:20:00Z","speakers":[{"name":"Neal Ford","twitter":"@neal4d","bio":"Neal is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals, who thinks disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He is an internationally recognized expert on software development and delivery, especially in the intersection of agile engineering techniques and software architecture. Neal has authored magazine articles, seven books (and counting), dozens of video presentations, and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting edge software innovations, and includes a business-focused book and video on improving technical presentations. Check out his web site at nealford.com."}],"id":"523373426ecc48fd872d294efbdfb0c2","sessionId":"523373426ecc48fd872d294efbdfb0c2","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This will be of importance for every programmer, beginner to veteran. It focuses on you as developer, your development process and your code. Small code examples are in the slides. ","level":"beginner","length":"45","format":"presentation","language":"en","abstract":"Identity theft is perhaps the most concerning kind of Cybercrime nowadays. The most concerning aspect of identity theft is that once you are a victim it is hard to get rid of the consequences. Although as developers we are probably well aware of the risks towards cybercrime and identity theft in particular, in many parts we as developers play a big role in making identity theft happen. It is not only about how secure is your program, but how aware are you? Or better said how naive are we in practice as developers in this big bad world.","video":"https://vimeo.com/233787661","title":"Identity theft: Developers are key","room":"Room 4","startTime":"2017-09-13T15:40","endTime":"2017-09-13T16:25","startTimeZulu":"2017-09-13T13:40:00Z","endTimeZulu":"2017-09-13T14:25:00Z","speakers":[{"name":"Brian Vermeer","twitter":"@BrianVerm","pictureId":"9c2757737ec741a3b25431d75acb8ccb","bio":"Brian is a Software Engineer at the dutch company Blue4IT. He works mainly consultancy based on al sorts of java based project all over the country. His passion is in Java, (Pure) Functional Programming and Cybersecurity. Besides being an engineer he is a Reservist at the Royal Netherlands Air Force and a Taekwondo Teacher."}],"id":"53c8800bf6674f8ebe4911fcd1094495","sessionId":"53c8800bf6674f8ebe4911fcd1094495","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"For utviklere, testere, testledere og arkitekter som jobber med ytelseskritiske applikasjoner.\n\nKrever litt kodeforståelse. Kode i slides.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Ytelsesproblemer i produksjon er lite gøy og utilgjenglighet av store virksomhetskritiske \nsystemer kan ha store konsekvenser. Det er samtidig utfordrene å etablere og vedlikeholde gode ytelsestestrutiner.\nNAV vil utvikle flere tjenester på nett til norske borgere. Systemporteføljen består av mange tjenster, lange verdikjeder og store mengder data. Stabil drift og korte responstider er viktig for å levere gode brukervenlige opplevelser til sluttbrukerene. Gatling er et verktøy som gjør det mulig å teste last med mange brukere over en tidsperiode før man går i produksjon. I denne lyntalen vil vi gjennomgå eksempler og best practises fra erfaringen ved å ta i bruk Gatling i prosjekter på NAV.","video":"https://vimeo.com/233843140","title":"Skyt systemet i senk med Gatling","room":"Room 7","startTime":"2017-09-14T11:40","endTime":"2017-09-14T12:00","startTimeZulu":"2017-09-14T09:40:00Z","endTimeZulu":"2017-09-14T10:00:00Z","speakers":[{"name":"Vegar Engen","twitter":"","pictureId":"9ab801b1b5894928925920175cbb99a0","bio":"Vegar er konsulent i Visma Consulting og har lang erfaring innenfor ytelsestest, blant annet gjennom prosjekter på NAV og UDI, hvor han har vært ansvarlig for innføring og gjennomføring av rutiner for å sikre stabil ytelse."}],"id":"4825b5c1716c45858d3e0b99a4f0870b","sessionId":"4825b5c1716c45858d3e0b99a4f0870b","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"You're familiar with containers on a conceptual level, and want to know what went wrong when FINN.no deployed (many) Java apps inside them. Kubernetes is used as the case, but most lessons learned are applicable to all sorts of deployments. There's no code, but plenty of useful real-world cases!","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"It's hard to walk when the earth quakes, and it's hard to run when the infrastructure doesn't rock. We've had both.\n\nFINN.no is moving about four hundred apps from a legacy deployment system to Docker and Kubernetes, and most of those are written in Java. We've failed at (and fixed) a lot of things, including common security patches and secrets in the environment, and we've improved our application code along the way. Time to share our solutions to these mess-ups!\n\nLearn how we're using Docker and Kubernetes at FINN; how we've ensured quick security patches across all Java apps; what we've spent days on to simplify the migration path for the developers; which requirements and restrictions we've found useful to place on the developers; and how we've been forced to improve our code throughout the migration.","video":"https://vimeo.com/233669822","title":"Things that go wrong when deploying Java with containers (and how to avoid them)","room":"Room 5","startTime":"2017-09-13T13:00","endTime":"2017-09-13T14:00","startTimeZulu":"2017-09-13T11:00:00Z","endTimeZulu":"2017-09-13T12:00:00Z","speakers":[{"name":"Martin Lehmann","twitter":"@theneva","pictureId":"ebf1495c47d84e06a529978801e89c72","bio":"Martin spends most of his time at FINN.no writing Java and JavaScript, and got involved in FINN's migration to Docker and Kubernetes. Some days that's fun, and some days there's craft beer after work. He runs his own server based on Docker but not Kubernetes.\n\nMost of his team's stack is built from Java and Node, which puts him right in the target audience for things like company-wide common Java Docker images and their (sometimes strange) behaviour. His love for software development leads him to promote his team's interests in infrastructure discussions, but his passion for infrastructure makes him frequently side with the infrastructure team in product talk.\n\nHe's done a few in-house talks to spread the love for Kubernetes and its tooling; he's teaching web development to final-year Bachelor students; and he firmly believes it's important to share some of FINN's experiences with the world."}],"id":"bb136075325b49e5823dad94da7295bd","sessionId":"bb136075325b49e5823dad94da7295bd","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"code in slides + live coding","level":"beginner","length":"45","format":"presentation","language":"en","abstract":"Oh Java, my old, lousy and boilerpalted friend. For ages, trying any thing new (which luckily wasn't that frequent afterall) was to start new project, followed by a `Sandbox` class and a `public static void main` method. Alternatively, a simple JUnit test was a nice entrypoint as well - if we were lucky enough to have some dependency management sorted out. \n\nHopefully things changed. With the Java9 a REPL has been added to the JDK. Everybody can just run an up-to-date Java shell and try out new syntax, new APIs, new libraries. \n\nIn this talk I'll walk through how you can use REPL to explore new API and language elements in isolation, try out new libraries, build complete apps with an immediate feedback. ","video":"https://vimeo.com/233816281","title":"Java9 and REPL. Forget debugging, welcome joy and productivity.","room":"Room 6","startTime":"2017-09-14T09:00","endTime":"2017-09-14T09:45","startTimeZulu":"2017-09-14T07:00:00Z","endTimeZulu":"2017-09-14T07:45:00Z","speakers":[{"name":"Jakub Marchwicki","twitter":"@kubem","pictureId":"c4d58d4c4f964d47b9ba475c4754c369","bio":"Jakub is a software craftman with over a decade of commercial experience in programming, wearing multiple hats, getting hands dirty in multiple environments. Some languages, some frameworks, blah blah blah - doesn’t really matter. Architect, programmer, manager, technical trainer, tech lead, wannabe entrepreneur, JUG leader."}],"id":"916d2157492543f7adbd0bfd0e294b81","sessionId":"916d2157492543f7adbd0bfd0e294b81","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"There's little to no code in the talk, the core is the profiles and their interpretations.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"FlameGraphs provide a great visual of where 'time' is spent and in what context and can be powerful aids in performance analysis. Now that the JVM better supports the Linux perf profiler we can have mixed Java/JVM/Native/OS FlameGraph profiles to aid our performance investigations. This is a powerful tool, but the information it offers is often foreign to us.\nIn this talk we will explore the benefits of this new tool chain, explore the new data and its meaning, and see how the tool chain can be further expanded to the Java community benefit.\n","video":"https://vimeo.com/233671554","title":"Exploring Java Perf FlameGraphs","room":"Room 6","startTime":"2017-09-13T13:00","endTime":"2017-09-13T14:00","startTimeZulu":"2017-09-13T11:00:00Z","endTimeZulu":"2017-09-13T12:00:00Z","speakers":[{"name":"Nitsan Wakart","twitter":"@nitsanw","bio":"A blogger and a coder with a pedantic passion for performance. My work has spanned army intelligence systems, dot.com era startups, financial institutions and innovative product companies. Performance Consultant by day, main contributor to lock free data structures library JCTools by night.\n"}],"id":"56179b136b91458a843383e13fd2efa1","sessionId":"56179b136b91458a843383e13fd2efa1","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers who are decently experienced with Java and curious about ways to do async/reactive stream processing, with no to little experience with Akka Streams in particular. Slides will contain code in Java (and possibly the same samples in Scala)","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Akka Streams is an implementation of Reactive Streams (http://www.reactive-streams.org) for the JVM making it close to effortless writing asynchronous streams in bounded memory. In this talk we'll cover what Reactive Streams is, why you shouldn't implement it yourself and how Akka Streams makes it very easy to define and compose simple streams and possible to achieve more complex streaming graphs as well as writing extensions to what comes out of the box.","video":"https://vimeo.com/233787491","title":"Reactive stream processing with Akka Streams","room":"Room 3","startTime":"2017-09-13T15:40","endTime":"2017-09-13T16:40","startTimeZulu":"2017-09-13T13:40:00Z","endTimeZulu":"2017-09-13T14:40:00Z","speakers":[{"name":"Johan Andrén","twitter":"","bio":"Johan Andrén is a senior developer and member of the Akka Team at Lightbend based out of Stockholm, Sweden. He has been working as a consultant and mentor around Scala, Akka and Play Framework the last 5 years and Java the last 10. In his spare time he co-organizes Scala Usergroup Stockholm and when not in front of a keyboard he enjoys mountainbiking and bouldering."}],"id":"4b23dc66157c4b72bcd741c260810fd6","sessionId":"4b23dc66157c4b72bcd741c260810fd6","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Utviklere, arkitekter\nNo code ","level":"intermediate","length":"60","format":"presentation","language":"no","abstract":"Et innblikk i hvorfor størrelsen på leveranseenheter (deployment units) er viktig og hvordan denne metrikken påvirker kostnadseffektivitet, sikkerhet og arbeidsorganisering innen utvikling. Vi ser på hvordan leveranseenheter har utviklet seg over tid og hvordan de sannsynlig vil forandre seg fremover. Fokus vil være på effektene som oppnås ved kontinuerlig arbeid for å redusere størrelsen på leveranseenhetene og hvordan dette iterativt påvirker arkitekturmålbildet.\n\nPraktiske teknologier og tilnærminger som vil bli omtalt vil være Java, Docker, AWS ECS, Microservices, Function as a Service (“Serverless”) og Alpine Linux. ","video":"https://vimeo.com/233786664","title":"Det ER størrelsen det kommer an på! ","room":"Room 5","startTime":"2017-09-13T14:20","endTime":"2017-09-13T15:20","startTimeZulu":"2017-09-13T12:20:00Z","endTimeZulu":"2017-09-13T13:20:00Z","speakers":[{"name":"Erik Drolshammer","twitter":"@sherriff1","pictureId":"0cdf7af3943643e0bebae36d3b5b98b4","bio":"Erik brenner for arkitektur og utvikling på Java-plattformen. Han er spesielt interessert i komplekse og kompliserte problemstillinger som f.eks. distribuerte systemer som kommuniserer med hardware-dingser. Erik er aktiv i community-miljøet i Oslo og tror OpenSource og deling av kunnskap er nøkkelen til å bli flink. Han er utdannet sivilingeniør data fra NTNU og har jobbet som konsulent siden 2007. Han jobber nå som sjefskonsulent og fagansvarlig i Capra Consulting. "}],"id":"3524df3d758f4ffab45c39eb9891e35d","sessionId":"3524df3d758f4ffab45c39eb9891e35d","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"It should be interested for any kind of Java developers, however software designers and architects should benefit most as I will discuss technical details of two quite different approaches to modular software.\nThere will be no code in slides.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Modules appear in Java 9 at last, but why? After all, OSGi has been around for more than 15 years and serves as the foundation of many desktop, server, and IoT applications. Its authors state that OSGi solves various dependency management problems in the most powerful way - at run time. \n\nIn this session, we will explore the problems that OSGi tries to solve, understand its approach, and identify its failures. Then we will figure out which of those problems the authors of Jigsaw ignored (and why), and which ones they solved (and how). Finally, we will talk about the challenges that Jigsaw brings with itself to the Java ecosystem and what we the developers have to do about them.","video":"https://vimeo.com/233822684","title":"Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose","room":"Room 5","startTime":"2017-09-14T13:00","endTime":"2017-09-14T14:00","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T12:00:00Z","speakers":[{"name":"Nikita Lipsky","twitter":"@pjBooms","pictureId":"5d3ab9020c774acbb780ce1bcaff964c","bio":"Nikita is an initiator and a product lead of Excelsior JET project – certified Java SE implementation with AOT compiler developed by Excelsior LLC. Working on the project since 1997 he took part in almost every activity of the project from the JVM core to product management and support. In particular, he is an author of OSGi support at the JVM level in Excelsior JET, Java Runtime Slim-down technology - Java SE modularisation implemented in Excelsior JET since 2007, both Java bytecode verifiers and many others."}],"id":"83eb9ed50ba74946ad418a3abea0467a","sessionId":"83eb9ed50ba74946ad418a3abea0467a","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Programmers developing on or around the JVM. There will be some code in slides.","level":"intermediate","length":"20","format":"lightning-talk","language":"en","abstract":"What do you do when you have a memory leak your normal tools can't find? You need to go deeper.\nThe JVM has a \"Native Memory Tracker\", which tracks all allocations the JVM does, so it should be able to tell you where the memory outside of the heap goes. But what if even that doesn't catch it?\nYou need to go even deeper, into \"native space\".\n\nI'll take you on a journey on how we tracked down a native memory leak in Elasticsearch, and how we fixed it.","video":"https://vimeo.com/233843335","title":"How to find memory leaks even Yourkit can't find","room":"Room 7","startTime":"2017-09-14T12:10","endTime":"2017-09-14T12:30","startTimeZulu":"2017-09-14T10:10:00Z","endTimeZulu":"2017-09-14T10:30:00Z","speakers":[{"name":"Henrik Nordvik","twitter":"","pictureId":"a0136c7cc46644e7b442020a9810978e","bio":"Henrik works in Elastic, on the Cloud service. While running thousands of Elasticsearch instances, even the smallest problems eventually become big enough and needs to be investigated. Henrik likes to track down hard to find bugs, and fixing them."}],"id":"151a17ac9d4140e8bfa2cd994d88fbfd","sessionId":"151a17ac9d4140e8bfa2cd994d88fbfd","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Some code will be presented in the slides. A good understanding of javascript is an advantage, and knowledge about Redux or the flux pattern.","level":"intermediate","length":"20","format":"lightning-talk","language":"en","abstract":"When starting a frontend project we're often ending up with a form of hipster stack like React with Redux and a lot of middlewares. We also started there, but ended in a cross road where we jumped over to a simpler stack without all the middleware cruft. This is our experience of moving from Redux to RxJS with a more functional reactive programming approach.\n\nWe'll dive into the problems with the old frontend architecture we were using, then try to explain what RxJS is and how it works, and finally we shed some light on how we transitioned from Redux to RxJS without having to rewrite everything.","video":"https://vimeo.com/233990109","title":"Fuck redux! The true story about “Replacing Redux with RxJS”","room":"Room 7","startTime":"2017-09-14T17:20","endTime":"2017-09-14T17:40","startTimeZulu":"2017-09-14T15:20:00Z","endTimeZulu":"2017-09-14T15:40:00Z","speakers":[{"name":"Jarl André Hübenthal","twitter":"","pictureId":"a792800b835d427ea856982bc50c0563","bio":"Jarl has developed scala and java applications and is quite fan of the functional reactive approach. This is something he has taken with him into the javascript and frontend stack."},{"name":"Ingar Abrahamsen","twitter":"@ingarabr","pictureId":"245a0bf9cec546f4905a4c87797b8e4d","bio":"Ingar is a developer with a passion for functional programming and code quality. He have experience with developing flux like libs and love the unidirectional data flow that’s described by facebooks flow pattern"}],"id":"bdae7f7ed1c143fb98fa9542d7d887a2","sessionId":"bdae7f7ed1c143fb98fa9542d7d887a2","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Ingen kode. Foredraget forteller om algoritmer, men av tidshensyn går det ikke dypt nok til at kode er nødvendig.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"AlphaGo er Google DeepMind sin AI for brettspillet Go. Go er et flere tusen år gammelt brettspill fra Kina. Resultatene AlphaGo har oppnådd er mildt sagt oppsiktsvekkende. Foredraget vil forklare litt om generelle teknikker for brettspill-AI samt beskrive hvordan AlphaGo sin AI virker.","video":"https://vimeo.com/234005499","title":"AlphaGo, det største som har skjedd innen brettspill-AI","room":"Room 7","startTime":"2017-09-14T15:40","endTime":"2017-09-14T16:00","startTimeZulu":"2017-09-14T13:40:00Z","endTimeZulu":"2017-09-14T14:00:00Z","speakers":[{"name":"Are Engebråten","twitter":"","pictureId":"7e6d0c05485e42489f64f962022d7233","bio":"Software-utvikler fra Bouvet. Spiller mye brettspill på fritiden. Har jobbet med AI i Funcom tidligere."}],"id":"3ccdaf3da547434aa573619eae110ce9","sessionId":"3ccdaf3da547434aa573619eae110ce9","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This talk is interesting for SREs, developers and architects alike.\n\nNo code, but we will be talking about the technical side of HTTP and HTTPS, so some familiarity with how those work is expected.","level":"beginner","length":"45","format":"presentation","language":"en","abstract":"Enabling HTTPS on your web site is trivial, right? It turns out that when you run FINN.no, one of Norway's largest web sites, it's not, especially not when you need to do it without downtime.  We'll cover the motivation for why we wanted to enable HTTPS in the first place, the tools and techniques used, as well as challenges encountered.\n\nAt the end of this talk, you'll have an understanding of various ways you can use to safely enable HTTPS for your site. You'll also be familiar with the most important acronyms you're likely to encounter.","video":"https://vimeo.com/233988050","title":"HTTPS for FINN.no – the road to security","room":"Room 6","startTime":"2017-09-14T17:00","endTime":"2017-09-14T17:45","startTimeZulu":"2017-09-14T15:00:00Z","endTimeZulu":"2017-09-14T15:45:00Z","speakers":[{"name":"Tollef fog Heen","twitter":"@tfheen","bio":"Tollef is an experienced infrastructure engineer at FINN.no where he currently manages a small team. Previously, he's worked on internet-scale infrastructure at Fastly, worked on Varnish Cache and is also part of the Debian and Freedesktop.org infrastructure teams, a long-time Debian Developer and contributor to various free software projects.\n\nIn his free time he likes to walk his two dogs, take pictures, drink and make beer, and go hiking. He also plays around with home automation and writing software."},{"name":"Ivar Conradi Østhus","twitter":"@ivarconr","pictureId":"e43d4519292644518a4b62d5c4f94e7e","bio":"Ivar is an experienced developer and is currently having the position as front-end architect in FINN.no. In addition he is actively maintaining Unleash, an open-sourced feature toggle system. Before joining FINN.no, Ivar was an consultant in Itera gaining experience from various projects in the Oslo area. \n\nOn his spare time Ivar loves to travel the world, drink craft beer with friends and go hiking. "}],"id":"af43f289d8ab4775be8df3116f07ceef","sessionId":"af43f289d8ab4775be8df3116f07ceef","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne presentasjonen er relevant for alle som jobber i større virksomheter i både offentlig og privat sektor. Det vil bli lite kode, men mange eksempler på teknikker og praktiske erfaringer.","level":"beginner","length":"45","format":"presentation","language":"no","abstract":"NAV IT reorganiserer fra en Plan-Build-Run-tilnærming til en organisering som åpner for dedikerte utviklingsteam og kontinuerlige leveranser. Applikasjonsporteføljen strekker seg fra Infotrygd på stormaskin med røtter fra 1976, via komplekse Oracle og J2EE-løsninger, til moderne webapplikasjoner. Hva betyr denne nye retningen for forvaltning av de eksisterende applikasjonene samtidig som det foregår omfattende nyutvikling? Hvilke teknikker og tiltak har vi satt i gang og i hvilken grad er det mulig å få til kontinuerlig leveranse i dette landskapet?","video":"https://vimeo.com/233792237","title":"Fra Plan-Build-Run til kontinuerlig leveranse i NAV","room":"Room 6","startTime":"2017-09-13T18:20","endTime":"2017-09-13T19:05","startTimeZulu":"2017-09-13T16:20:00Z","endTimeZulu":"2017-09-13T17:05:00Z","speakers":[{"name":"Trond Arve Wasskog","twitter":"@ilmyggo","pictureId":"5c50fd89706145cb83824f2e55d73eef","bio":"Trond Arve er utvikler og arkitekt med et spesielt engasjement for offentlig sektor. Han jobber for tida som konsulent i NAV, i tillegg til sin rolle som CTO i Bekk Consulting."}],"id":"0953ad44456645cbb97af1b3e095bef4","sessionId":"0953ad44456645cbb97af1b3e095bef4","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers who are tired of hearing complaints after building exactly what they were told to build . No code in slides","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"There are a lot of technologies out there that will help you determine if you're building the system right. That's good but really no help at all if it turns out you're building the wrong system. If you really want to speed up development and deliver value to your customers as fast as possible you need something more than another language, framework, platform or library.\n \nHow can you make sure you're building the right system before you start coding? How can you get fast feedback on what you're building while developing? How can you check that you're delivering actual value to your customers before you send your code to production? How can you get more time to play and eat cake in the office? \n\nSubjects include shift-left, personas, BDD, mob programming and exploratory testing.","video":"https://vimeo.com/233985611","title":"Build the right system / It's not enough to build the system right","room":"Room 3","startTime":"2017-09-14T15:40","endTime":"2017-09-14T16:40","startTimeZulu":"2017-09-14T13:40:00Z","endTimeZulu":"2017-09-14T14:40:00Z","speakers":[{"name":"Cecilie Haugstvedt","twitter":"@chaugstvedt","pictureId":"0f5eca83c1e743c0bf1df777330574d6","bio":"Cecilie is a Test Lead in Computas with a technical background. She's been working with test in the public sector for the last couple of years and enjoy spending her time improving the testing process.\n\nCecilie believes the quality of the system is the responsibility of the entire team and not something you leave to testers alone. She loves working in agile teams, is a proponent of automating all manual processes, and has a special interest in making applications accessible for all."}],"id":"ed52f64d65234d48b9cfbdfcc852678a","sessionId":"ed52f64d65234d48b9cfbdfcc852678a","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Anyone involved in software development.","level":"beginner","length":"10","format":"lightning-talk","language":"en","abstract":"Our enterprise portfolio is growing out of control! We need to consolidate and harmonise our IT systems.  Create a uniform user experience.  We should remove all duplication, extract common functionality into reusable, common modules every system can make use of.\nNo you shouldn't.\nLet me tell you why.","video":"https://vimeo.com/233817459","title":" Reuse? Refuse!","room":"Room 7","startTime":"2017-09-14T11:00","endTime":"2017-09-14T11:10","startTimeZulu":"2017-09-14T09:00:00Z","endTimeZulu":"2017-09-14T09:10:00Z","speakers":[{"name":"Christin Gorman","twitter":"@ChristinGorman","bio":"Christin Gorman is a programmer working for Kodemaker who cares loudly about coding and how we go about developing software. She has presented strong views at JavaZone every year since 2011, two of her previous rants are still in the top 10 most viewed JavaZone presentations.  "}],"id":"50f25ef2e7a74797aeb3e05292713116","sessionId":"50f25ef2e7a74797aeb3e05292713116","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Dette passer for utviklere, arkitekter og IT-ledere med teknisk forståelse. \n\nDeltakere vil få en dypere forståelse gjennom et praktisk eksempel for hva som skal til for å komme seg fra PoC til fullt supportert applikasjon i allmenn sky. Det viser også veien fra en arkitektur bygget rundt servere til fullstendig serverløst.\n\nCode in slides.\n\n","level":"intermediate","length":"20","format":"lightning-talk","language":"no","abstract":"Det er for gjort å få seg en konto hos en allmenn skyleverandør og få opp en kjørende web-applikasjon. Det er noe ganske annet å skysette en løsning som tilfredsstiller kravene til etablert driftsorganisasjon. Skatteetaten har produksjonssatt \"Skattekalkulatoren\" for inntektsårene 2015, 2016 og 2017 i skyen, og vi forteller om skrittene fra en proof-of-concept på servere i skyen til et serverløst og fullverdig medlem av applikasjonsporteføljen.","video":"https://vimeo.com/233803464","title":"Serverløst i Skatteetaten - skysetting i den virkelige verden","room":"Room 7","startTime":"2017-09-13T13:30","endTime":"2017-09-13T13:50","startTimeZulu":"2017-09-13T11:30:00Z","endTimeZulu":"2017-09-13T11:50:00Z","speakers":[{"name":"Jørn Ola Birkeland","twitter":"","bio":"Erfaren teamlead, arkitekt og utvikler med stor interesse for skyløsninger, spesielt i offentlig sektor. Har jobbet for Skatteetaten i 5 år på ymse samfunnskritiske systemer"},{"name":"Hans Olaf Borch","twitter":"","pictureId":"bb6686e30a384a4986b0ec1c50110dae","bio":"Hans Olaf har vært utvikler og arkitekt i tre forskjellig offentlig etater de siste ti årene, nå sist Skatteetaten. Han er lidenskapelig opptatt av løse kompliserte oppgaver med de enkleste midlene mulig."}],"id":"fbb57b1d5c2b426ea47b05cd585eee38","sessionId":"fbb57b1d5c2b426ea47b05cd585eee38","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"åpent for alle. Deltakerne vil lære å lodde og programmere gjennom enkle oppgaver. Opplegget er kjørt på studenter ved flere anledninger, med stor suksess. Dette er veien å gå for å komme i gang med hardwareprogrammering, IoT og lodding. Vi vil ha assistenter og hjelpere som kan få alle gjennom workshopen.","level":"beginner","length":"240","format":"workshop","language":"no","abstract":"Fått deg en plante? Vanskelig å holde den i live? La oss bruke teknologi for å hjelpe deg med å beholde planten lenge!\n\nI denne workshopen vil du lære å lodde din egen dings med en spesifikk mikrokontroller: ESP8266. Denne mikrokontrolleren tok verden med storm da den tilbød WiFi, analog GPIO og en haug av digitale GPIO-porter for noen få dollar stk. Med denne skal du lodde terminaler og koble sammen en fuktighetssensor. Programmeringen er ikke avansert, den har som formål å lære deg å lese data og sende ut på nettet slik at det kan brukes senere i visualiseringer.\n\nAlle deltakere får utdelt en goodiebag som skal loddes, programmeres og tas med hjem. Denne goodiebaggen inneholder blant annet en ESP8266 mikrokontroller, fuktighetssensor og egendesignet kretskort.\n\nTa med din egen laptop. For å spare tid kan du laste ned og installere Arduino IDE fra Arduino sin hjemmeside.","title":"Redd plantene med teknologi","room":"Workshop C","startTime":"2017-09-12T13:15","endTime":"2017-09-12T17:15","startTimeZulu":"2017-09-12T11:15:00Z","endTimeZulu":"2017-09-12T15:15:00Z","speakers":[{"name":"Nikhil André Luthra","twitter":"9khil","pictureId":"7c18dca4b3ac4e448eb56d667be246ed","bio":"Utvikler som jobber i Bouvet Norge, hvor han startet et internt maker-/hackerspace med gadgets og elektronikk som 3D-printere, mikrokontrollere, verktøy og morsomme dingser. Har arrangert flere kurs innen 3D-printing, modellering og lodding. Holder foredrag om IoT og fremtidsteknologi for kunder og på eksterne arrangementer. Har vunnet flere priser for sitt forrige IoT prosjekt; Zero Waste for Viasat.\n\nNikhil organiserer også Internet of Things Oslo meetup, hvor folk som er interessert i IoT kan presentere og følge med på prosjekter som blir kjørt rundt omkring i landet."},{"name":"Martin Gravråk","twitter":"","pictureId":"a4473ced59324c368daaeed1c2cb6046","bio":"Martin  har jobbet som systemutvikler i 10 år, og har bygget systemer for alt fra bank og forsikring til olje og jernbane.  Elsker konseptet med internet of things, og mener at hvis noe ikke har wifi så er det ikke verdt å eie. Dette har ført til at det meste i hjemmet inkludert tannbørste,  belysning, baderomsvekt, seng,  og kjøleskap er koblet på nett.Har vunnet flere priser for sitt forrige IoT prosjekt; Zero Waste for Viasat, og er en av de bak Forbrukerrådets #toyfail hvor han avdekket svakheter i leker som blir solgt verden over. "}],"id":"8f5e720e476140889a3e497be97f2c44","sessionId":"8f5e720e476140889a3e497be97f2c44","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle utviklere! Frontend-, backend- og app-utviklere. Vil vise du kan hvordan undersøke egen sikkerhet i mobilapper. Vi har alle ett ansvar for å sikre dataene vi lagrer.","level":"beginner","length":"10","format":"lightning-talk","language":"no","abstract":"Hvis din REST-tjeneste er på Internett, så bør du forvente at noen aksesserer den direkte med alternative parametre. Hallvard Nygård ønsket å undersøke egne data samlet inn av Æ-appen til Rema 1000, men fant alle sine data. I 2 uker var handledata for opptil 500000 kunder tilgjengelig for alle med en nettforbindelse. Security by obscurity.\n\nI denne lyntalen vil Hallvard vise hvordan Æ-appen ble undersøkt med Mitmproxy (Man-in-the-middle proxy) og Curl. Lyntalen vil fokusere på hva vi kan lære av dette og hvordan du kan undersøke og sikre din egen app/backend.","video":"https://vimeo.com/233650806","title":"Æ fant data","room":"Room 7","startTime":"2017-09-13T11:40","endTime":"2017-09-13T11:50","startTimeZulu":"2017-09-13T09:40:00Z","endTimeZulu":"2017-09-13T09:50:00Z","speakers":[{"name":"Hallvard Nygård","twitter":"@hallny","pictureId":"8afbd093b25f470698b597cbeee8e0fc","bio":"Utvikler. Koder ofte på front-end, men sørger også for å sikre backenden. Sjekker sikkerheten i din applikasjon på fritiden."}],"id":"a181ba49a1e1450c9a37d0d793a3e4ec","sessionId":"a181ba49a1e1450c9a37d0d793a3e4ec","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Ingen forkunnskaper nødvendig, men kjennskap til Javascript er en fordel.\n\nHusk å ta med deg en PC til workshoppen. På denne burde git og node være installert:\n​Installer git om ikke git --version fungerer i terminalen din\nInstaller nodejs om ikke node --version fungerer i terminalen din. Om du har eldre versjon en 6.11.2, anbefaler vi deg å oppgradere.","level":"beginner","length":"240","format":"workshop","language":"no","abstract":"Har du hørt mye kult om ChatOps, men vet ikke helt hva det er, hvilke fordeler det kan gi og hvordan komme i gang? Da er dette workshopen for deg!\n\nVi starter med å vise hvordan vi har tatt i bruk chat og bots i våre prosjekter for å nærme oss ChatOps. Deretter vil dere få servert noen hands-on oppgaver. Her tar vi i bruk Slack og tilhørende integrasjoner, hvor vi setter opp hver vår hubot-instanse som vi utvider med funksjonalitet.\n\nMålet er å lære hvordan du kan komme igang med ChatOps og få erfaring med å lage egne scripts og legge til integrasjoner. Vi vil at du skal sitte igjen med mer kunnskap om hvordan du kan innføre mer og mer ChatOps i din prosjekthverdag.","title":"Slack, Hubot & ChatOps","room":"Workshop B","startTime":"2017-09-12T13:15","endTime":"2017-09-12T17:15","startTimeZulu":"2017-09-12T11:15:00Z","endTimeZulu":"2017-09-12T15:15:00Z","speakers":[{"name":"Alexander Svendsen","twitter":"","pictureId":"e49f8635545d404192a9a15dc12ecd25","bio":"Alexander Svendsen er en full-stack utvikler hos BEKK. Når han ikke jakter etter kodebugs så er han på utkikk etter nye måter å forbedre kodehverdagen for seg og sitt team. ChatOps har derfor blitt et tema som har fått ekstra oppmerksomhet den siste tiden. Han har brukt tid på å koble flere av app’ene og verktøyene fra hans prosjekt til chatten for å forenkle kommunikasjon og kontroll i hverdagen."},{"name":"Tine Kleivane","twitter":"","pictureId":"f8d1024db8a04866a8000bd46ebcfd0b","bio":"Tine Kleivane jobber som utvikler i BEKK. De siste årene har hun jobbet med flere større og sammenhengende selvbetjeningsapplikasjoner, som frontendutvikler, backendutvikler, arkitekt og automatiseringsentusiast. Hun har vært med å innføre og vedlikeholde en hubot på prosjektet og opplevd hvordan ChatOps kan være med å gjøre ting enklere og gøyere."},{"name":"Tomas Fagerbekk","twitter":"@tommfa","pictureId":"3fba0c369601419f98126a550aa9e3e4","bio":"Til daglig er Tomas som utvikler i Otovo, hvor han jobber for å bringe solceller og grønn kraft til folket på en automatisert platform. Den er basert på Django, React/Redux og Heroku/AWS, i tillegg til en bot som heter Otto."}],"id":"39ec9e13abdb40049d5ee9f11325cfdf","sessionId":"39ec9e13abdb40049d5ee9f11325cfdf","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Java developers who might have some experience building a distributed system, or at least some familiarity with modern scalable databases and data processing systems. There will be live coding.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Hailing from the Persian city of Ephesus in around 500 BC, the Greek philosopher Heraclitus is famous for his trenchant analysis of stream processing systems, saying “You never step into the same river twice.” Central to his philosophy was the idea that all things change constantly. His close readers also know him as the Weeping Philosopher—perhaps because dealing with constantly changing data at low latency is actually pretty hard. It doesn’t need to be that way.\n\nAlmost as famous as Heraclitus is Apache Kafka, the de facto standard open-source distributed stream processing system. Many of us know Kafka’s architectural and pub/sub API particulars as well as we know the philosophy of Heraclitus, but that doesn’t mean we’re equipped to build the kind of real-time streaming data systems that the next generation of business requirements are doing to demand. Like Heraclitus was telling us 2,500 years ago: we need to get on board with streams.\n\nThis talk is a thorough introduction to the Streams API, an important recent addition to Kafka that lets us build sophisticated stream processing systems that are as scalable and fault-tolerant as Kafka itself, and also happen to align quite well with the microservices sensibilities that are so common in contemporary architectural thinking. We’ll talk about how to deploy Streams applications and look at actual working code that will bring your thinking about streaming data systems from the ancient history of pub/sub paradigms into the current era.\n","video":"https://vimeo.com/233969352","title":"Heraclitus Teaches Kafka Streams","room":"Room 1","startTime":"2017-09-14T13:00","endTime":"2017-09-14T14:00","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T12:00:00Z","speakers":[{"name":"Tim Berglund","twitter":"@tlberglund","pictureId":"1622f550e10a4501a539e75d06b3d538","bio":"Tim is a teacher, author, and technology leader with Confluent, where he serves as the Senior Director of Developer Experience. He can frequently be found at speaking at conferences in the United States and all over the world. He is the co-presenter of various O’Reilly training videos on topics ranging from Git to Distributed Systems, and is the author of Gradle Beyond the Basics. He tweets as @tlberglund, blogs very occasionally at http://timberglund.com, is the co-host of the http://devrelrad.io podcast, and lives in Littleton, CO, USA with the wife of his youth and their youngest child, the other two having mostly grown up."}],"id":"92c93788d1714deb892502dcfc951282","sessionId":"92c93788d1714deb892502dcfc951282","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Alle som er interessert i å lære Actions on Google.\nDet forutsettes ingen forkunnskaper om Actions on Google.\nPresentasjonen inneholder kode i slides.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Lurer du på hva som skjer innenfor stemmestyring og viktigere, hvordan du kan skrive kode for det?\nDa er dette et foredrag du burde gå på! Actions on Google er rammeverket som brukes for å skrive samtale apper for Android.\nVi går igjennom hvordan man skriver en samtale app for Actions on Google ved å bruke API.AI. Deretter går vi igjennom hvordan man ved hjelp av webhooks kan få denne appen til å hente info fra vanlige APIer i bakkant.","video":"https://vimeo.com/233629352","title":"Snakk med meg Google","room":"Room 7","startTime":"2017-09-13T09:40","endTime":"2017-09-13T10:00","startTimeZulu":"2017-09-13T07:40:00Z","endTimeZulu":"2017-09-13T08:00:00Z","speakers":[{"name":"Kristian Lund","twitter":"","pictureId":"20ac462594954e598223de78d9cd69e6","bio":"Kristian er utvikler, konsulent og medeier i Kantega. \nHan brenner for å finne nye verktøy og metoder som gjør livet bedre for utviklere og brukere.\n"}],"id":"e0b81055621f4c06888f4f5bc3224b4d","sessionId":"e0b81055621f4c06888f4f5bc3224b4d","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Architects and developers who wants to know about Microprofile, the implementations and how it relates to Java EE. There will be live coding and samples demonstrating key principles.","level":"advanced","length":"60","format":"presentation","language":"en","abstract":"Architectures based on microservices introduce new challenges for architects and developers. An ever-increasing list of languages and tools brings with it the capabilities to conquer this challenge. Java is no exception.\n\nThe latest addition in this area is the microprofile.io initiative. In this session, we will explore different approaches to building microservices using the Java ecosystem and compare them to using Microprofile.\n\nAll strategies for building microservices with Java that are presented will be compared and demoed in live coding demos. The demos will include technologies such as Java, Java EE, microprofile.io, Spring Boot, Docker and more.","video":"https://vimeo.com/233982410","title":"Microprofile - by Example","room":"Room 3","startTime":"2017-09-14T13:00","endTime":"2017-09-14T14:00","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T12:00:00Z","speakers":[{"name":"Ivar Grimstad","twitter":"@ivar_grimstad","pictureId":"2f2b95046468409996dd2533006db34e","bio":"Ivar Grimstad is a Java Champion, JUG Leader and software architect focusing on\nEnterprise Java. He is participating in the Java Community Process as a member of the Executive Committee, Spec Lead for JSR 371 (MVC 1.0) and Expert Group Member for JSR 375 (Java EE Security API). He is also a member of the NetBeans Dream Team.\n\nIvar is always focusing on quality and on using the right tools and technologies\nfor the right task to optimize the software development process.\n\nIvar is a frequent speaker at international developer conferences.\n"}],"id":"395da3139b524ad8af632f68533ff622","sessionId":"395da3139b524ad8af632f68533ff622","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne lyntalen krever ingen forkunnskaper. Alle som vil ha litt inspirasjon til hva slack kan brukes til er velkommen ;-)","level":"beginner","length":"10","format":"lightning-talk","language":"no","abstract":"Stadig flere bruker Slack til å kommunisere både privat og i prosjekter. Likevel er det mye slack kan by på som kanskje ikke like like kjent og eller vanlig å bruke. Denne lyntalen tar for seg erfaringer med å la serverne kommunisere til utviklingsteamet via slack, og hvordan dette påvirker vårt forhold til serverne våre.","video":"https://vimeo.com/233848237","title":"Slipp serverne til på Slack!","room":"Room 7","startTime":"2017-09-14T14:20","endTime":"2017-09-14T14:30","startTimeZulu":"2017-09-14T12:20:00Z","endTimeZulu":"2017-09-14T12:30:00Z","speakers":[{"name":"Andreas Lowzow Morland","twitter":"","pictureId":"0e5bac20b05b4841ab49621c2d87890a","bio":"Andreas har jobbet for SopraSteria de siste tre årene og bidrar aktiv i fagmiljøet for Java der. Det siste halvåret har han også hatt ansvar for den tekniske løsningen på prosjektet han sitter på og er derfor over snittet opptatt av å ha kontroll på de ulike serverne han har ansvaret for."}],"id":"ea06f209a0354f95ab05fc5d331fc6fb","sessionId":"ea06f209a0354f95ab05fc5d331fc6fb","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Presentasjonen egner seg for alle som er interessert i å forstå mer av NAV sin IT-historie. ","level":"intermediate","length":"60","format":"presentation","language":"no","abstract":"Vi liker å skryte av at Norge har verdens beste velferdsordninger. Vi har blant annet ordninger som dagpenger, arbeidsavklaringspenger, sykepenger, pensjon, barnetrygd og kontantstøtte.\nVåre systemer modellerer hver sin bit av velferdsstaten - med lover og regler som er under konstant endring.Til sammen utgjør disse systemene et av de største og dessverre mest komplekse IT-landskapene i Norge.  \n\nNoen av systemene har NAV arvet fra sine foreldre Aetat og Rikstrygdeverket. Noen systemer har vi kjøpt som hyllevare og tilpasset til det ugjenkjennelige. Noen systemer har andre laget for oss, og nå har vi begynt å lage noen systemer selv også.\n\nNAV har satt ny og ambisiøs kurs, og vi ønsker å fortelle hvordan den ser ut med fokus på applikasjonsarkitekturen. Men for å forstå hvor vi skal, er det nyttig å reflektere litt over hvordan vi har havnet der vi er nå. \n\nAlle våre 300-ish ulike datasystemer har mye historikk. De ble alle realisert med de beste intensjoner og med en teknologi som var relativt moderne da de ble unnfanget. I dag har vi derfor ikke bare lettvektsapplikasjoner kjørende i Kubernetesclustre og hippe React/Redux-frontends. Vi har Cobol, ESB, Oracle Forms, PL/SQL og applikasjonsservere. Vi har JSF, Wicket og Angular.\n\nI denne presentasjon vil vi ta dere med på innsiden i NAV, og fortelle litt om disse systemene og deres historikk, og dele noen tanker om hvor vi er på vei, og hvorfor vi tror dette er riktig.","video":"https://vimeo.com/233628961","title":"En reise i systemene bak verdens beste velferdsstat","room":"Room 6","startTime":"2017-09-13T09:00","endTime":"2017-09-13T10:00","startTimeZulu":"2017-09-13T07:00:00Z","endTimeZulu":"2017-09-13T08:00:00Z","speakers":[{"name":"Terje Heen","twitter":"@tlheen","pictureId":"b80aa0585b604bada043d0939a8eab71","bio":"Over 15 års erfaring som konsulent fra WebStep og Accenture. Begynte å jobbe i NAV fordi jeg ønsker å påvirke. Mener mye om alt fra kode, arkitektur, metodikk og ledelse, og deler i dag fagansvarlig for utvikling i NAV IT med Truls.\nBrenner for iterativ utvikling med fokus på forretningsdomenet, og er ofte å treffe på en av Oslos mange Meetups. Har holdt flere presentasjoner på JavaZone og Smidig tidligere."},{"name":"Truls Jørgensen","twitter":"@trulsjor","pictureId":"44e4be6e4fbb4871917b007f8e696758","bio":"Over ti års erfaring som konsulent fra Miles og Capgemini. Blir ofte kalt arkitekt, men insisterer på å kalle seg selv utvikler. Fagansvarlig for utvikling i NAV IT.  Søker enkle løsninger på komplekse problemstillinger, og jobber for at produksjonssettinger i NAV skal være dritkjedelige. Smidigfyr. Kodefjes. Radioheadnerd. Pappa til to gutter."}],"id":"be56374ec5a847d9a1cbeca1174dc637","sessionId":"be56374ec5a847d9a1cbeca1174dc637","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Foredraget vil passe for ikke-tekniske produkteiere/prosjektledere, designere og utviklere som jobber med innloggingstjenester. Med utgangspunkt i Avinor sine kunders behov og bruksmønster vil deltakerne lære om våre erfaringer ved å lage en ny tjeneste for kundeinnlogging, hvor krav til god brukeropplevelse for de reisende er i forsetet. Deltakerne vil også høre våre erfaringer fra da vi vurderte Identity-as-a-Service (IDaaS) i skyen opp mot å lage tjenesten selv med open-source rammeverk.\n\nKode i et par slides.","level":"beginner","length":"45","format":"presentation","language":"no","abstract":"Å lage gode innloggingsopplevelser er vanskelig. Vårt team på Avinor har det siste året lagd en ny innloggingstjeneste for Avinors kunder, og på veien har vi lært mye. Dine brukere forventer at innloggingen er rask og sømløs når de logger seg inn i dine løsninger, men av ulike årsaker kan det oppstå uromomenter som trekker ned brukeropplevelsen. Frustrasjon hos brukeren blir en distraksjon som i ytterste konsekvens gir økonomiske tap. \n\nÅ lage en best mulig innloggingstjeneste krever kompetanse innen bl.a. design, sikkerhet, ytelse og teknologi. Det er en stor utfordring å vite hvilke områder man bør legge mest vekt på, og hva som er de viktigste tiltakene å gjennomføre på veien mot en god innloggingsopplevelse.\n\nJeg vil dele av de viktigste erfaringene vi har hatt innen brukeropplevelse, innlogging i front-end apps og Identity i skyen. Du vil lære om sentrale temaer som effektiv on-boarding, bevare brukerkontekster under innlogging for skreddersydde innloggingsopplevelser, gode klientbiblioteker for sømløs innlogging i ReactJS-apper og mye mer.","video":"https://vimeo.com/233785597","title":"Sømløs Identity - dette bør du vite","room":"Room 3","startTime":"2017-09-13T14:20","endTime":"2017-09-13T15:05","startTimeZulu":"2017-09-13T12:20:00Z","endTimeZulu":"2017-09-13T13:05:00Z","speakers":[{"name":"Henrik Walker Moe","twitter":"@henrikwm84","pictureId":"b29698cc376c4ab1ac4491c0a732ec7d","bio":"Henrik jobber i BEKK som en samvittighetsfull og entusiastisk utvikler og har over 10 års erfaring i bransjen. Når han finner noe han brenner for å dele med bransjen, enten det er prosjekterfaringer eller inntrykk fra konferanser og meetups, så kommer det gjerne i form av blogginnlegg eller innlegg i sosiale medier. \n\nI de siste årene har han jobbet med å utvikle innloggingstjenester for flere kunder, både som arkitekt og rådgiver. Han har bygget mye kompetanse på fagområdet \"Identity\" og blitt godt kjent med tilhørende disipliner som sikkerhet, design og brukeropplevelse i søket etter å lage den best mulige innloggingsløsningen for sine kunders ansatte og kundes kunder."}],"id":"eca2ca8d04ca4e648642d72599b774b4","sessionId":"eca2ca8d04ca4e648642d72599b774b4","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers who are knowledgeable about the module system and may even have started migrating their own application but still have questions about how exactly to do that.\n\nThis will be mostly live coding with some slides. The length can be adapted to be either 45 or 60 minutes but the latter is preferable.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"I'm sure you've heard about compatibility issues with upgrading to Java 9 and the new module system but did you try it yourself yet?\nThis live coding session starts with a typical Java application and runs up against and eventually overcomes the common hurdles:\n\n* build system configuration\n* dependency analysis with `jdeps`\n* dependencies on internal APIs and Java EE modules\n* split packages\n* stepwise modularization with automatic modules\n\nTo get the most out of this talk, you should have a good understanding of the module system basics - afterwards you will know how to approach <em>your</em> application's migration to Java 9 and the module system.","video":"https://vimeo.com/233801793","title":"To JAR Hell And Back - A Live Migration to the Java 9 Module System","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/e02d727fff0b45648ee8299ea7990b12","room":"Room 1","startTime":"2017-09-13T13:00","endTime":"2017-09-13T14:00","startTimeZulu":"2017-09-13T11:00:00Z","endTimeZulu":"2017-09-13T12:00:00Z","speakers":[{"name":"Nicolai Parlog","twitter":"@nipafx","pictureId":"63f84819a5e54a6da2a7b160690969fe","bio":"Nicolai is a thirty year old boy, as the narrator would put it, who has found his passion in software development. He constantly reads, thinks, and writes about it, and codes for a living as well as for fun.\n\nNicolai used to edit <a href=\"http://sitepoint.com/java/\">SitePoint's Java channel</a>, writes <a href=\"https://www.manning.com/books/the-java-9-module-system?a_aid=nipa&a_bid=869915cb\">The Java 9 Module System</a> with Manning, blogs about software development on <a href=\"http://codefx.org\">codefx.org</a>, and is a long-tail contributor to several open source projects.\n"}],"id":"cf1d1c8380994a24a86b87251b58ace3","sessionId":"cf1d1c8380994a24a86b87251b58ace3","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"We will show some JavaScript code in slides, but they are just there to illustrate a point, understanding Java is sufficient.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"React, Angular 2, and lately also Vue govern the realm of modern frontend frameworks. Largely independent of which framework you choose there is a variety of architectural approaches you can use. The challenges you face in frontend architecture are very different from backend architectures in that the control and data flow rather goes in cycles than traversing through layers. Additionally, decoupling of parts of the application must not impact the user experience, so that the user has the impression of one consistent and coherent system. These challenges are often underestimated and most attention goes to the backend. \n\nWe will shed some light into the matter and talk about MVC, Transparent Reactive Programming, State Management, Reactive Streams. We will also cover the main architectural challenges including\n\n\t* where to maintain state\n\t* how to change relevant parts of the UI when state changes\n\t* how to structure your application when it grows\n\t* there is no ideal solution, but you can still choose which compromise you are willing to take\n\n\nIf you are not interested in JavaScript or the browser, this session can still be interesting as all these patterns are applicable to any other language and any other runtime environment.\n","video":"https://vimeo.com/233797785","title":"Overview of current (JavaScript) frontend architectures","room":"Room 2","startTime":"2017-09-13T15:40","endTime":"2017-09-13T16:40","startTimeZulu":"2017-09-13T13:40:00Z","endTimeZulu":"2017-09-13T14:40:00Z","speakers":[{"name":"Oliver Zeigermann","twitter":"DJCordhose","pictureId":"1424086431454f4a8fa7ad4f4a9e721f","bio":"Over the past couple of decades he has developed Web Applications in many different languages and technologies , including C, C++, Java, Scala, Python, and JavaScript (including Angular and React). Recently he has co-authored a book on building Web Applications with React."},{"name":"Nils Hartmann","twitter":"@nilshartmann","pictureId":"d82e81e1a6d14f86a5145f7653b7b578","bio":"Nils Hartmann is software developer from Hamburg, Germany. For more than 15 years he writes applications for various domains mainly in Java using different technologies and frameworks including JEE, Spring and OSGi. For some years now he also develops with JavaScript and tries to find solutions for the specific needs for frontend architectures. \n\nNils is a co-author of two german books on OSGi (2008) and React (2016)."}],"id":"5ddf7fcd3cdd41d78091f0677eb4eec0","sessionId":"5ddf7fcd3cdd41d78091f0677eb4eec0","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers using Spring Boot or looking to use Spring Boot will benefit from this talk. ","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Preparing for the challenges of 2017 and beyond, Spring Framework 5 focuses on several key themes: in particular reactive web applications, comprehensive support for JDK 9, and a general focus on lambda-oriented programmatic setup. This session will walk through how those features are being introduced in the upcoming Spring Boot 2.0 release and present selected feature highlights.","video":"https://vimeo.com/233816622","title":"A sneak peak into Spring Boot 2.0","room":"Room 4","startTime":"2017-09-14T10:20","endTime":"2017-09-14T11:20","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T09:20:00Z","speakers":[{"name":"Madhura Bhave","twitter":"@madhurabhave23","bio":"Madhura Bhave is a developer at Pivotal on the Spring Boot team. Before joining the Spring Boot team, Madhura worked on Cloud Foundry, another open source project. "}],"id":"67b11b3798a64b028314a686e2aad1ca","sessionId":"67b11b3798a64b028314a686e2aad1ca","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Javautviklere som er nysgjerrig på hvordan man kan bruke Go. Arkitekter som tror på standardisering på en plattform og ett språk. Ikke Go-syntax, men andre egenskaper ved Go.","level":"intermediate","length":"45","format":"presentation","language":"no","abstract":"Skatteetaten har de siste par årene tatt i bruk OpenShift som en utviklingsplattform. Etter et par års tid, så man at de verktøyene man hadde til rådighet ikke egnet seg til alle oppgaver, særlig oppgaver rundt automatisering. Denne presentasjonen forklarer hvorfor Go ble tatt i bruk, og hvilke erfaringer man har gjort seg med å bruke Go i et miljø et utviklingsmiljø som i all hovedsak er et Java-miljø.","video":"https://vimeo.com/233976949","title":"Innføring av Go i et tradisjonelt Java-miljø. Hvorfor, hvordan og hvilke gevinster gir det?","room":"Room 2","startTime":"2017-09-14T15:40","endTime":"2017-09-14T16:25","startTimeZulu":"2017-09-14T13:40:00Z","endTimeZulu":"2017-09-14T14:25:00Z","speakers":[{"name":"Øyvind Bø Syrstad","twitter":"@obosyr","bio":"Jobber i Systek. Har de siste tre årene jobbet hos Skatteetaten med blant annet OpenShift, som er en PaaS basert på Kubernetes. Er utdannet Sivilingeniør i Datateknikk fra NTNU."}],"id":"1d5d0f0068f047999de5bf647061cd50","sessionId":"1d5d0f0068f047999de5bf647061cd50","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Devs and Ops interested in running persistent and/or big data together with microservices.\nTalk contains a bigger demo part including code of spring boot app as well as showcase of developing/deploying/operating these services.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"In the era of docker, big data and microservices it is really important to distribute your applications reasonable across your cluster and keep a good overview of all of your running applications. Because of this, cluster management software like Apache Mesos and DC/OS are very important and popular. In this session we will implement a java based service using spring boot and will start him locally and with docker-compose. Then we will deploy our service to DC/OS and see how easy it is to scale, upgrade, monitor and do other fancy stuff. And the best thing for the demo: We will have a nice UI and super cool CLI.","video":"https://vimeo.com/233650471","title":"Container orchestration on Apache Mesos - DC/OS for java devs","room":"Room 5","startTime":"2017-09-13T10:20","endTime":"2017-09-13T11:20","startTimeZulu":"2017-09-13T08:20:00Z","endTimeZulu":"2017-09-13T09:20:00Z","speakers":[{"name":"Johannes Unterstein","twitter":"@unterstein","pictureId":"43225d00a8fe40d28ee36a8eca931094","bio":"Johannes (@unterstein) organizes the java user group in his home town Kassel, teaches at DHBW Stuttgart and works as distributed applications engineer at Mesosphere. He is working at the marathon container orchestration framework to provide twitter scale for everyone. In his previous life he worked in java projects for large german customers. Besides his fascination for container orchestration he loves to talk about elasticsearch and neo4j."}],"id":"9dcf3b23f008402481ce30044a9c60e0","sessionId":"9dcf3b23f008402481ce30044a9c60e0","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Denne lyntalen er for alle som er interessert i kunstig intelligens, hvordan det vil innvirker på samfunnet, og hvordan det vil påvirke livene våre i fremtiden. Du bør høre denne lyntalen dersom du er interessert i å få en historisk bakgrunn, og hvilke muligheter som ligger for fremtiden.\n\nIngen koding.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Hva har Commodore PET, en turbindrevet bil og en maur til felles?\n\nUtviklingen innen kunstig intelligens går i høyt tempo, og vil bli en av de viktigste teknologiske og samfunnsmessige endringskreftene i årene som kommer. AI dekkes mer og mer i massemedia, med positivt og negativt fortegn. \n\nDenne lyntalen er både et historisk tilbakeblikk og et utsyn mot en mulig ny vidunderlig verden. En ny virkelighet som kanskje allerede i vår generasjon vil transformere forholdt til store spørsmål i samfunnet.\n","video":"https://vimeo.com/234004399","title":"Kunstig intelligens - reisen til singulariteten","room":"Room 7","startTime":"2017-09-14T16:10","endTime":"2017-09-14T16:30","startTimeZulu":"2017-09-14T14:10:00Z","endTimeZulu":"2017-09-14T14:30:00Z","speakers":[{"name":"Ole Kristian Nystrøm","twitter":"","pictureId":"e6edfa336aef4ab99a86086fe340e2df","bio":"Ole Kristian er ansatt i Bouvet som rådgiver og prosjektleder. Han har jobbet med IKT-prosjekter i 20 år, og har vært dypt fascinert av datamaskiner siden tidlig på det glade 80-tallet. Ole Kristian har bred erfaring, og har jobbet med både privat og offentlig sektor, store og små organisasjoner, etablerte miljøer og selv vært med på oppstarter. Han er flink til å se sammenhenger og sette sammen fragmenter til et større bilde, og å se dette i et bredt perspektiv. Det gjør han nå med kunstig intelligens.\n"}],"id":"7a39db3742eb46fd95d5e4d761e8d077","sessionId":"7a39db3742eb46fd95d5e4d761e8d077","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"If you're looking to better understand the tools you rely on every day to maintain your JavaScript app, this is the talk for you. It's also a perfect match if you're maintaining a larger app and want to learn about a powerful toolset for performing incremental changes to the code base. (Or maybe you just want to learn about ASTs in JavaScript?)","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"Tooling has improved immensely in JavaScript over the last years. We have ESLint (and its predecessors) to keep our code under control, we have Babel to transform ES6 (and beyond) into something that runs in old versions of IE, we have Prettier that beautifully formats our JavaScript, and lots of other fantastic tools that we rely on every day. Common among these is that they rely on the JavaScript AST (Abstract Syntax Tree) instead of treating the JavaScript source code as just a string.\n\nIn this talk you'll learn what the AST is and how these tools rely on it (and work with it) in different ways, but more importantly: you'll learn how you can wield the power of the AST yourself.\n\nYou'll learn about how to write Babel and ESLint plugins, and then we'll take it a step further and dig deep into jscodeshift, which is a collection of tools to help you perform transformations on your code. At Elastic we've used jscodeshift to move from using CommonJS to ES6 imports, move from `var` to `const` and `let`, change assertion library in our tests, automatically add a i18n setup to all our React components, and many other changes, both small and large. And best: All without any regexes and hours of search-and-replace in our IDEs.\n\nAfter this talk you'll be able to wield this new power that enables you to incrementally evolve your complex applications over time, in a safe and efficient manner.","video":"https://vimeo.com/233792603","title":"Wielding the powers of the JavaScript AST","room":"Room 5","startTime":"2017-09-13T18:20","endTime":"2017-09-13T19:05","startTimeZulu":"2017-09-13T16:20:00Z","endTimeZulu":"2017-09-13T17:05:00Z","speakers":[{"name":"Kim Joar Bekkelund","twitter":"@kimjoar","pictureId":"b6f8a0ba33ae43db804b9714a197043a","bio":"I'm a JavaScript developer at Elastic, the company behind open source products such as Elasticsearch, Logstash and Kibana. I work on the platform team at Kibana, where we focus on making our code base more maintainable and to enable the huge list of features we want to build.\n\nAs Elastic is a truly distributed company I've taken a break from the Norwegian weather and I'm currently nomading my way around the world. So if you want to talk about travelling the world, definitely drop by me for a chat!"}],"id":"70cca9922c554b3ab9093a2b481fe082","sessionId":"70cca9922c554b3ab9093a2b481fe082","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Developers, and architects interested in the Serverless programming paradigm. Internet connectivity permitting, there will be lots of demos.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Are you still using Docker in production? Get over it! Serverless (and also containerless) is the new future of the Cloud. But since the Cloud is still someone else's computer, that needs to be managed too. And if it is sitting idle, you probably have to pay for it whether you like it or not. No server can be more easily managed than no server. Therefore: meet Serverless, the new paradigm that truly approaches the Pay-as-You-Go philosophy once promised by the Cloud. \n\nThis talk explores Serverless, its impact on existing architectures, and assesses it's usability for Mobile Back-ends as a Service (MBaaS), Functions-as-a-Service (FaaS) and also for Microservices based architectures hosted in a cloud environment. Internet connectivity permitting, there will be lots of demos too. ","video":"https://vimeo.com/233785407","title":"Serverless, the future of the Cloud?","speakernoteUrl":"https://sleepingpill.javazone.no/public/picture/61463a50c87c4234873a32be8b67f0cd","room":"Room 1","startTime":"2017-09-13T14:20","endTime":"2017-09-13T15:20","startTimeZulu":"2017-09-13T12:20:00Z","endTimeZulu":"2017-09-13T13:20:00Z","speakers":[{"name":"Bert Ertman","twitter":"@BertErtman","bio":"Bert Ertman is a Fellow at Luminis. In addition to his day job he has served as the leader for NLJUG (4,500 members) for the past decade. A frequent speaker on Java and software architecture all over the world, he is also the author of Building Modular Cloud Applications with OSGi and a serial conference organizer. In 2008, Bert was honored with the coveted title of Java Champion by an international panel of Java leaders and luminaries. Bert Ertman is a JavaOne RockStar speaker and a Duke’s Choice award winner."}],"id":"9a760afae10e40e7b860a191bba7edf7","sessionId":"9a760afae10e40e7b860a191bba7edf7","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Everyone. There will be some code examples in the slides. ","level":"beginner","length":"45","format":"presentation","language":"en","abstract":"Availability of natural language processing frameworks led to millions of chatbots that barely can answer one question and lead to frustration, not to fascination amongst users. Which problems chatbot developers meet and how to address them to make the bot that people will like to talk to.","video":"https://vimeo.com/233971695","title":"Is AI the new UI? Common pitfalls in building conversational bots(and how to avoid them)","room":"Room 2","startTime":"2017-09-14T09:00","endTime":"2017-09-14T09:45","startTimeZulu":"2017-09-14T07:00:00Z","endTimeZulu":"2017-09-14T07:45:00Z","speakers":[{"name":"Ekaterina Orlova","twitter":"@cheerypick","pictureId":"636de67e45064866aac6d432895b2662","bio":"Frontend developer in Accenture, Angular trainer and co-organizer of Mobile era conference. Passionate about diversity and AI. "}],"id":"ce7de5a715aa4410a04ea05e1a57dabc","sessionId":"ce7de5a715aa4410a04ea05e1a57dabc","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"No code.\nPresentasjonen skal være til inspirasjon for alle som føler de sitter fast i en ond sirkel hvor de aldri kan skrive om kodebasen fordi det stadig kommer mer og mer funksjonelle krav, og hver gang må man lappe på eksisterende kodebase enda litt til, og den tekniske gjelden bare øker.","level":"beginner","length":"20","format":"lightning-talk","language":"no","abstract":"Mange utviklere er flinke til å holde seg oppdatert på ny teknologi, og har et driv etter å få teste ut og jobbe med det nyeste og kuleste. Men for å kunne benytte det nyeste og kuleste i jobbsammenheng så må man ofte også skrive om den gamle koden i en slik grad at kost/nytte ikke kan forsvares. Jeg vil vise deg hvorfor du bør gjøre det likevel.","video":"https://vimeo.com/233817291","title":"Hvorfor du bør skrive om koden hele tiden","room":"Room 7","startTime":"2017-09-14T10:20","endTime":"2017-09-14T10:40","startTimeZulu":"2017-09-14T08:20:00Z","endTimeZulu":"2017-09-14T08:40:00Z","speakers":[{"name":"Cecilie Bøe","twitter":"","pictureId":"8c7fe87f95634328a6d1f304011c7ad9","bio":"Jeg er en helt vanlig allround utvikler med 10 års erfaring. Har vært med på en reise de siste årene fra java backend-utvikling til mer og mer fokus på frontend-utvikling i javascript. Er ikke den som bruker fritiden til å teste ut nye teknologier selv, men prøver fascinert å henge med på det mine supre kolleger innfører."}],"id":"3c8ff00eca004e138c031066c26bc9d0","sessionId":"3c8ff00eca004e138c031066c26bc9d0","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Anyone can attend. No code.","level":"beginner","length":"20","format":"lightning-talk","language":"en","abstract":"In this talk you will learn how to start and manage a meetup group! I will give you my insights from almost seven years of organizing meetups in Oslo. You will learn about how to attract audience, how to find speakers, how to create a team to help you and how you can cooperate with other communities and meetup groups. \n\nAfter listening to this lightning talk, you will be able to take responsibility to manage a professional community and where to find help. I share my experiences as an organizer and guide you through the landscape of tons of meetups and communities in Oslo and Norway.","video":"https://vimeo.com/233629237","title":"How To Manage A Community - A Meetup Organizers Guide!","room":"Room 7","startTime":"2017-09-14T17:40","endTime":"2017-09-14T18:00","startTimeZulu":"2017-09-14T15:40:00Z","endTimeZulu":"2017-09-14T16:00:00Z","speakers":[{"name":"Dervis Mansuroglu","twitter":"@dervis_m","pictureId":"bfea7147390f49c1a554604258c58185","bio":"Dervis is a developer who has several years of experience on backend and frontend development with Java. He is passionate about machine learning, electronics  and programming languages. Dervis is also an active contributor to the Java community and is the Oslo JUG lead and meetup organizer for javaBin in his spare time."}],"id":"c9b6c915b69c4c039f157a01d5d4c69e","sessionId":"c9b6c915b69c4c039f157a01d5d4c69e","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Any web developer. There's some code in the slides.","level":"beginner","length":"20","format":"lightning-talk","language":"en","abstract":"Nearly every new development project today makes the assumption that a large Javascript framework (i.e. React, Ember, Angular, et. al.) is required to solve a rather simple problem: rendering HTML pages. In some contexts this is perfectly fine, for instance if you're creating rich interactive applications like spreadsheets, calendars, or media players, but in web development we're often making glorified blogs, and in this case it’s completely overkill.\n\nThe problem with this assumption is that one creates a large, complex Javascript application to maintain the browser history, perform routing, pre-render for SEO optimisation, handle analytics, perform caching etc. when all these problems are already solved natively by your browser. And while you do gain complete control of your user experience you also sacrifice a lot of what the browser gives you for free, in addition to willingly enter into the world of headaches that is modern Javascript development at scale.\n\nNot to mention that by introducing a complex stack of external Javascript libraries for handling data-flow, history, routing, etc. in addition to the code for simply rendering your views (i.e. the React components) you have less time to spend on actual application logic - you know, that thing the user actually cares about. These external libraries are often written by disparate teams with their own taxonomy which often entail steep learning curves that all members of your team need to traverse in order to become productive.\n\nThis lightning talk will illuminate the cost/benefit of adding these powerful tools, and talk about when, perhaps, it's better to avoid them. Let’s not shoot sparrows with cannons, let’s save those bad boys for the invading pirates instead.","video":"https://vimeo.com/233989418","title":"JavaScript in 2017: shooting sparrows with cannons","room":"Room 7","startTime":"2017-09-14T17:00","endTime":"2017-09-14T17:20","startTimeZulu":"2017-09-14T15:00:00Z","endTimeZulu":"2017-09-14T15:20:00Z","speakers":[{"name":"Nicolay Hvidsten","twitter":"@nicohvi","pictureId":"90ab195f1ae643058c0a98b0680e972d","bio":"During my career as a web development consultant these past four years I've encountered all manner of approaches to solving the complex problem of creating rich client-side applications. I've seen everything from global state management to complex Redux reducers that no-one really understood, and written countless client-side applications using whatever framework the client had chosen for no apparent reason (even Dojo). \n\nOnce I started digging into JavaScript to understand the basic building blocks of the web I never looked back, and have dedicated my professional life since then to simplify a domain that never seems to slow down."}],"id":"3fac275e7ae74cb38041a69ccc2145af","sessionId":"3fac275e7ae74cb38041a69ccc2145af","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"The expected audience is experienced Java developers and architects, who want to learn more about the Kotlin language. I will show numerous code examples, demonstrating how regular Java solutions can be more elegantly expressed in Kotlin. The main benefit from attending will be understanding how easy it is to get started using Kotlin within existing Java projects.","level":"intermediate","length":"45","format":"presentation","language":"en","abstract":"In 2016, the JVM programming language Kotlin was finally released in a 1.0 release. The uptake in the Java community has accelerated since then, and the latest releases of open source frameworks and tools such as Spring Framework, Vert.x and Gradle all feature support for using Kotlin. During 2017 we have seen releases from these frameworks where the use of Kotlin allows for powerful and elegant solutions. \n\nThis talk will demonstrate what advantages Kotlin brings to programmers working on the JVM in general, and how these frameworks make elegant and powerful solutions available using Kotlin. After an introduction to Kotlin in general, I will show how to use the Kotlin extensions in Spring Framework 5.0, and how to use Kotlin for writing Gradle build scripts. The talk will feature numerous code examples.","video":"https://vimeo.com/233651072","title":"Kotlin - the new darling of open source frameworks","room":"Room 4","startTime":"2017-09-13T11:40","endTime":"2017-09-13T12:25","startTimeZulu":"2017-09-13T09:40:00Z","endTimeZulu":"2017-09-13T10:25:00Z","speakers":[{"name":"Jesper Holmberg","twitter":"","pictureId":"805dc4574359467e89eb2e1cead0d5c5","bio":"Jesper Holmberg is an experienced Java developer and architect, working as a consultant in Stockholm. He has worked with Spring Framework and Gradle for many years to create powerful solutions for his clients. Since a couple of years, he has had a large interest in the Kotlin language, and the way the language makes it possible to create elegant, easily maintained code while staying within the Java eco system."}],"id":"2a946108d3d046168cfe01279ec6ac3f","sessionId":"2a946108d3d046168cfe01279ec6ac3f","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This is an experience talk aimed at tech leads, architects and senior developers who want to know what's hiding behind those shiny clouds with silver and golden edges all the way around. Don't expect any code, but there will be some gory details from the trenches we digged ourselves into.","level":"advanced","length":"60","format":"presentation","language":"en","abstract":"So you're going to run your project in a public cloud. That should be easy, because everything is taken care of, “as a Service”, right? Well, think again, because it turns out clouds have trenches too. And sharp, bleeding edges.\n\nSure enough, you don't have to set up any hardware. But you still have to set up virtual machines, nodes, containers, or whatever it is you'll be deploying your software to. This will have to be configured in a development environment. And a test environment. A staging environment. A production environment. And a couple of environments more, because it’s easy and cheap to create more environments, right? You better think that through from the start of your project.\n\nThen there’s security. Not just the firewalls that have to be configured, but authentication and authorization. Your data isn’t just sitting around on a local server in an internal zone protected by your corporation’s firewall. It’s in the cloud! Uploading data to the development environment is suddenly the same thing as running a production system.\n\nPerformance becomes a new challenge in the cloud. You probably won’t be able to outscale Google, Microsoft or Amazon, but they can pretty easy outscale you with a large bill.\n\nAnd finally, the joy of beta versions, or if you’re a privileged partner, alpha versions! Are you sure you want to touch them? Or can’t you afford to not touch them? You’ll be bleeding anyway.\n\nDeveloping software in and for the cloud is a lot of fun, but don’t expect to always be on cloud nine!\n\n","video":"https://vimeo.com/233791971","title":"Clouds with Trenches and Sharp, Bleeding Edges","room":"Room 3","startTime":"2017-09-13T18:20","endTime":"2017-09-13T19:20","startTimeZulu":"2017-09-13T16:20:00Z","endTimeZulu":"2017-09-13T17:20:00Z","speakers":[{"name":"Filip van Laenen","twitter":"@filipvanlaenen","pictureId":"2f5050c33b684b65bfce14fd3823a157","bio":"Filip van Laenen is a Chief Architect at the Norwegian software company Computas AS, which supplies IT solutions to the public and the private sector in Norway. He has twenty years of experience in the software industry, and has worked the last years mainly as an architect and technical project leader. For the last year or so, he has been heavily involved in a project running in the cloud, and gained some insights about what really happens between the earth and cloud nine."}],"id":"89254021f89d4976b532a5013962c972","sessionId":"89254021f89d4976b532a5013962c972","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"no code","level":"beginner","length":"10","format":"lightning-talk","language":"en","abstract":"This is a story of how a misinterpretation between a designer and a developer became the starting point of a living design system. Design systems does not only ensure a coherent design and user experience across multiple applications but can also function as a common ground that minimizes miscommunication between designer and developer and makes working in multidisciplinary teams more effective and enjoyable. This will not be a how-to since I have found there to be no universally applicable recipe on how to make a complete design system. It will however perhaps offer some inspiration on why and how you could get started with your own system.","video":"https://vimeo.com/234006406","title":"Sketches are sketchy - how design systems help designers and developers communicate, ideate and develop solutions","room":"Room 7","startTime":"2017-09-14T16:00","endTime":"2017-09-14T16:10","startTimeZulu":"2017-09-14T14:00:00Z","endTimeZulu":"2017-09-14T14:10:00Z","speakers":[{"name":"Ingrid Herigstad","twitter":"","pictureId":"18cc18577def43c7bc82bcf78afe9728","bio":"Ingrid is a UX-designer currently working at Posten and Bring and at the moment trying to wrap her head around CSS, HTML and JavaScript. She has no interest in limiting what user experience design can and should be about, and therefore her interests range from the smallest of micro interactions to tangible interactions in large scale data installations to systems oriented design."}],"id":"0973b722b71442e9aa9fa0a28776f51b","sessionId":"0973b722b71442e9aa9fa0a28776f51b","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Eve is a new take on software development. It offers a systematic approach to solving very many problems we, as developers, have, but are so accustomed to, that we don't notice or want to think there's a solution. \n\nSo a participant should have some experience with Java, seen maybe a few projects to recognize certain patterns both architectural and code wise: monoliths, maybe CQRS systems, how we typically call third-party APIs, etc. \n\nWe'll do a bit of live coding, I will have the slides as well. \n\nAfter the session, the attendees would recognize that despite the software development being mostly successful is still something we often do in a very inefficient, ad-hoc way. The domain complexity is multiplied by the complexity the software itself adds. \n\nLooking at a new platform that offers a fresh start and acknowledges the problems and the complexity is a good thing. \n\nAnd while they won't be able to change what they do day to day (not the most practical talk, it's about the new technology, etc) they hopefully get inspired to look how they build software and maybe do better next time and build a simpler thing. ","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Creating software is hard and unnecessarily complex. Layers upon layers of complexity and abstractions are common among applications, frameworks, and libraries we see and use. \n\nIn this session, we’ll talk about Eve — the programming language that tries to lower the complexity of software development by treating everything as a record that you read and write. Eve offers a human-first programming platform and makes a number of interesting design choices, the most prominent of which are reactive blocks of code. It allows you to focus on what you want to achieve, rather than how you want to achieve it. \n\nJoin me to look at Eve, the platform and the language. We’ll cover how treating everything as a record allows Eve to be a declarative programming language and how it provides an alternative solution for the typical use-cases in software development.  \nYou'll get inspired to find whether you can even do things Eve offers out-of-the-box in your Java projects and will be eager to try tools that promise to help you do it :)\n\n","video":"https://vimeo.com/233651011","title":"What if everything was a database?","room":"Room 2","startTime":"2017-09-13T11:40","endTime":"2017-09-13T12:40","startTimeZulu":"2017-09-13T09:40:00Z","endTimeZulu":"2017-09-13T10:40:00Z","speakers":[{"name":"Oleg Šelajev","twitter":"@shelajev","pictureId":"4b36405eaa2b4e4784169170198d736e","bio":"Oleg Šelajev is an engineer, author, speaker, lecturer and advocate at ZeroTurnaround. He spends his time writing code and some words about the written code, giving conference talks; Oleg was once a part-time lecturer at the University of Tartu and enjoys speaking and participating in Java/JVM development conferences such as JavaOne, JavaZone, Devoxxes. In his free time, Oleg plays chess at a semi-grandmaster level, loves puzzles and solving all kinds of problems."}],"id":"c49bcc44727a4f0f82ba38ffa1b0c763","sessionId":"c49bcc44727a4f0f82ba38ffa1b0c763","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Anyone who has ever dealt with any aspects of cryptographic system designing, coding, reviewing or testing would benefit from this talk. At the end of the talk, attendees will have a clear understanding of what the Java Cryptography Architecture can offer developers, and how to code it up securely. \n\nThis will be a code snippet heavy presentation, supplementing talking points to give a very clear picture on how to use each cryptographic primitives securely. \n\nWorking code examples, used in the presentation, will be make available via GitHub, for future reference.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Are you overwhelmed with the over-abundance of choices provided by the Java Cryptography API, when  choosing an encryption algorithm or a randomness provider? Are you on top of all the latest happenings in cryptographic communities, to know which cryptographic primitives can be broken, and how? Due to time constraints, do you find yourself copy/pasting from Oracle documentation or GitHub, hoping and praying that it's secured? Do you find yourself frustrated with the complicated Java architecture that you need to get your functionality working?  \n\nIf any of these answers are \"yes\", come join me in this talk. I will be going over each cryptographic primitive like Random Number Generators, Encryption/Decryption algorithms, HMACs, digital signatures, Key Management etc. We will go into details on not just how to get it working, but how to use it securely and simultaneously future-proofing your applications. I will point out areas which require careful attention and help to make correct algorithmic and keying material choices, along with plenty of code examples showing correct and incorrect usages.","video":"https://vimeo.com/233652489","title":"How to use Java Cryptography API Securely ?","room":"Room 5","startTime":"2017-09-13T11:40","endTime":"2017-09-13T12:40","startTimeZulu":"2017-09-13T09:40:00Z","endTimeZulu":"2017-09-13T10:40:00Z","speakers":[{"name":"Mansi Sheth","twitter":"1MansiS","bio":"Mansi Sheth is a Principal Security Researcher at Veracode Inc. In her career, she has been involved with breaking, defending and building secure applications. Mansi researches various languages and technologies, finds insecure usage in customer code and suggests automation measures in finding vulnerabilities for Veracode's Binary Static Analysis service. She is an avid traveller with the motto \"If not now, then when?”"}],"id":"c305c46014624f02b86a8864b54555b3","sessionId":"c305c46014624f02b86a8864b54555b3","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Dette er primært for utviklere, men også personer som i varierende grad av frivillighet må forholde seg til en bør få utbytte av det. Det blir noen minutter med kode, men fokus er regneark og hvordan utvikere og businessnisser kan bruke de til å samarbeide. ","level":"beginner","length":"10","format":"lightning-talk","language":"no","abstract":"Hvem har noen gang fått businessnissen sin til å skrive BDD tester i det siste hippe og kule domenespråket? Businissnisser snakker regneark og det er enklere enn man skulle tro å implementere parameteriserte regnearkbaserte junit tester.","video":"https://vimeo.com/233843280","title":"Til regnearkets forsvar!","room":"Room 7","startTime":"2017-09-14T12:00","endTime":"2017-09-14T12:10","startTimeZulu":"2017-09-14T10:00:00Z","endTimeZulu":"2017-09-14T10:10:00Z","speakers":[{"name":"Kim A. Betti","twitter":"@kimbetti","pictureId":"4abeb60795ab46a9bf83178bb960abe4","bio":"Jeg liker, nei ELSKER problemer som kan løses med KODE! "}],"id":"a702928c0e224692822944253bf87986","sessionId":"a702928c0e224692822944253bf87986","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"This talk should satisfy the curiosity of almost every Java developer. The covered topics include\n 1) interesting facts about JVM internals;\n 2) an overview of Stack Waling API in Java 9;\n 3) practical tips and tricks;\n 4) and the live demo.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Stack traces and heap dumps are not just debugging tools; they open a doorway to the very heart of the Java Virtual Machine. This session is focused on peculiarities of JDK related to heap walking and thread stacks.\n\n - How to create dumps in production without side effects?\n - What is the performance impact of getting stack traces?\n - How do jmap and jstack work under the hood, and what is special about 'forced' mode?\n - Why do sampling profilers lie, and how to deal with it?\n - What is good about Stack-Walking API (JEP 259) in Java 9?\n\nThe presentation supported by the live demo will address all these questions and more. It will also reveal some useful but little known features of HotSpot JVM.","video":"https://vimeo.com/233820012","title":"Everything you wanted to know about Stack Traces and Heap Dumps","room":"Room 4","startTime":"2017-09-14T13:00","endTime":"2017-09-14T14:00","startTimeZulu":"2017-09-14T11:00:00Z","endTimeZulu":"2017-09-14T12:00:00Z","speakers":[{"name":"Andrei Pangin","twitter":"@AndreiPangin","pictureId":"ffaf59e5a1e346d88f3311808aebb7d0","bio":"Andrei Pangin leads the development of Odnoklassniki social network, where he squeezes every bit out of Java server performance. He previously worked on the HotSpot JVM, which became his favorite topic and area of expertise. Andrei is fond of sharing knowledge about unfamiliar features of OpenJDK. He is also known as one of the top JVM answerers on Stack Overflow."}],"id":"c5577d90198b474cbf14c7867209d96c","sessionId":"c5577d90198b474cbf14c7867209d96c","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Example code in slide will be presented, but no live coding","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"The way we design, develop and run applications on Cloud Native platforms like Kubernetes differs significantly from the traditional approach. When working with Kubernetes, there are fewer concerns for developers to think about, but at the same time, there are new patterns and practices for solving every-day challenges. \n\nIn this talk, we will look at a collection of common patterns for developing Cloud Native applications. These patterns encapsulate proven solutions to common problems and help you to prevent inventing the wheel again.\n\nAfter a short introduction into the Kubernetes platform we will look at the following pattern categories: \n\n* \"Foundational Patterns\" which build the basis of the Kubernetes platform\n* \"Behavioral Patterns\" describe concepts for different types of applications\n* \"Structural Patterns\" are for structuring your Cloud Native application\n* \"Configurational Patterns\" provide various approaches to application configuration.\n\nIn the end, you will have a solid overview how common problems can be solved when developing Cloud Native application for Kubernetes.","video":"https://vimeo.com/233785743","title":"Kubernetes Patterns","room":"Room 4","startTime":"2017-09-13T14:20","endTime":"2017-09-13T15:20","startTimeZulu":"2017-09-13T12:20:00Z","endTimeZulu":"2017-09-13T13:20:00Z","speakers":[{"name":"Dr. Roland Huß","twitter":"@ro14nd","pictureId":"09fd182ae11143229e282bc79f7bcd01","bio":"Dr. Roland Huß is a Principal Software Engineer at Red Hat working in the Fuse team where he is responsible for the fabric8-maven-plugin and the Java Docker base images. He has been developing in Java for eighteen years now but never forgot his roots as a system administrator.\n\nRoland is an active Open Source contributor, lead developer of the JMX-HTTP bridge Jolokia and the popular fabric8io/docker-maven-plugin. And he loves chilli pepper.\n"}],"id":"877bd912e4c340c0ad12ab27a9328611","sessionId":"877bd912e4c340c0ad12ab27a9328611","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"All whom need to know about Java SE 9,\nThey will lear about the new Java SE 9 and most significant features.\nLive coding.","level":"beginner","length":"60","format":"presentation","language":"en","abstract":"Java SE 9 is a major release for the Java programming language and the Java virtual machine. It includes many changes. Some have gotten more coverage than others, but I'm going to talk about both the major changes and a few of the minor ones. Probably the most attention has gone to REPL and Project Jigsaw, a set of new modularity capabilities that let you package the code and interact with it as modules. This includes module System, visibility, linking and a few other capabilities.\n\nSo, let’s take a tour of the new features in Java SE 9, powered by code, the platform designed to support faster, easier, and modular Java development.","video":"https://vimeo.com/234021887","title":"Java SE 9, and its hidden treasures walkthrough","room":"Room 5","startTime":"2017-09-14T17:00","endTime":"2017-09-14T18:00","startTimeZulu":"2017-09-14T15:00:00Z","endTimeZulu":"2017-09-14T16:00:00Z","speakers":[{"name":"Mohamed Taman","twitter":"@_tamanm","pictureId":"b595798355a340f08bade5a4a1708687","bio":"Co-Founder / International business solutions, Sr. Software development manager @efinance, an Enterprise Architect,  a Java Champions, Adopts Java SE 9, EE 7, 8 & JavaFX, JCP member, Was JCP Executive Committee member, JSR 354, 363 & 373 Expert Group member, MoroccoJUG member, EGJUG leader, Oracle Egypt Architects Club board member, speaks Java, love mobile, international speaker, Books Author of \"JavaFX essentials\" and \"Mastering JDK 9\", Won Duke’s choice 2015, 2014 awards, and JCP outstanding adopt-a-jar participant 2013 awards, IoT Geek."}],"id":"e7edc7c29e7e4a619aa2bcd5bd577f57","sessionId":"e7edc7c29e7e4a619aa2bcd5bd577f57","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"},{"intendedAudience":"Code in slides. Expected audience is Java developers in general and Java App developers in particular. I expect them to have little to no experience with C++, especially modern C++.","level":"intermediate","length":"60","format":"presentation","language":"en","abstract":"Ever wanted to learn C++ but never had the time? This presentation will introduce you to the C++ language while touring the C++ layer of Android hiding just beneath the Java layer. What is the underlying implementation of a SurfaceView vs TextureView? How does Binder work? How does decoding of media work? This talk will hopefully give you enough C++ background to read and understand the Android source when you find yourself in a C++ class after doing a Google search.","video":"https://vimeo.com/233796869","title":"C++ for Java Developers, Android Edition","room":"Room 2","startTime":"2017-09-13T13:00","endTime":"2017-09-13T14:00","startTimeZulu":"2017-09-13T11:00:00Z","endTimeZulu":"2017-09-13T12:00:00Z","speakers":[{"name":"Patricia Aas","twitter":"@pati_gallardo","pictureId":"9af80aa93fa84f6abb5bd59fff58f719","bio":"Patricia Aas is a software developer with 12 years professional experience in C++ and Java, in addition to various other languages. She is used to continuously delivering from the same code-base to a large number of both corporate and consumer users, and has done so working for Opera Software, Cisco and now Vivaldi. To provide cutting edge user experiences, she often focuses on tight integration with the underlying platform specifically for graphics and media, mainly on Linux, but also cross-platform. She has a passion for the web to provide an open platform for expression, and has therefore worked on two browsers so far in her career."}],"id":"9adae528264d414e841ff30687f25d7b","sessionId":"9adae528264d414e841ff30687f25d7b","conferenceId":"30d5c2f1cb214fc8b0649a44fdf3b4bf"}]}