Lærelysten? Vi deler gjerne!

I Kodemaker sitter vi på mye kunnskap og erfaring innen et bredt spekter av forretningsområder og teknologi. Dette ønsker vi å dele med deg slik at vi sammen kan bli gode, og levere IT-prosjekter vi begge ønsker å skryte av og vise frem. I tillegg til kostnadsfrie ekspertdager for våre kunder selger vi workshops og kurs og foredrag. Kanskje du vil prøve før du kjøper? Sjekk ut video av tidligere foredrag og våre screencasts.

Ekspertdager

Har du leid én Kodemaker har du tilgang til hele gjengen. Vi har jevnlig kontakt og sparrer med hverandre for å løse hverdagens floker. I tillegg har vi såkalte ekspertdager — lån en annen Kodemaker til ditt prosjekt en dag for en konkret problemstilling, helt uten ekstra kostnad.

Snuser prosjektet ditt på Elm til frontenden sin? Book en ekspertdag med Magnus for en flyvende start. Har dere utfordringer i AWS, eller snuser dere på Kubernetes? Be om en dag med Kristian, Anders eller Christian. Har du sett et foredrag med en Kodemaker som syntes relevant for prosjektet ditt? Spør om en ekspertdag.

Ekspertdager brukes også aktivt av Kodemakerne selv der de øyner en mulighet for aksellerert læring. Dette kommer både oss og deg som kunde til gode.

Workshop og kurs

Skal prosjektet ditt i gang med noe nytt kan det være greit med en workshop eller et kurs for å få alle opp på samme nivå på kort tid. Våre workshops og kurs holdes i dine lokaler. Prisene under gjelder Oslo-regionen. Vi holder workshop og kurs i resten av landet også, ta kontakt for pris.

Building Web Apps with Elm

Elm er et funksjonelt, typet språk for utvikling i nettlesere. I denne praktiske hands-on workshoppen får du en gjennomgang av språket og the Elm architecture. Når du er gjennom er du klar til å bygge dine egne webapper med Elm.

Varighet: Én dag

Deltakere: Minimum 3, maks 15

Ta kontakt for pris og bestilling

Opp og stå med Clojure

Clojure er en Lisp-dialekt som kjører på JVM-en (i tillegg til CLR-en og JavaScript). Det er et dynamisk og kompilert programmeringsspråk, og i denne workshoppen får du en innføring i basic syntaks, bruk av REPL og utvikling av web applikasjoner med Clojure.

Varighet: 3 timer

Deltakere: Minimum 3, maks 15

Ta kontakt for pris og bestilling

Testing og arkitektur i JavaScript-frontends

JavaScript får en større og større rolle i web-prosjekter, og en gjennomtenkt arkitektur og tilnærming til testing er essensielt for å lykkes. I denne workshoppen får deltakerne en gjennomgang av teknikker for å forme skalerbare arkitekturer som ivaretar testbarhet og sikrer deg og ditt web-prosjekt en mer feilfri hverdag.

Varighet: 1 dag

Deltakere: Minimum 3, maks 15

Ta kontakt for pris og bestilling

Webutvikling med ClojureScript

ClojureScript er en Lisp-dialekt som kompilerer til JavaScript. Med sine immutable datastrukturer går det som hånd i hanske med React og lignende biblioteker, og sammen med toolingen som har vokst opp rundt språket har ClojureScript blitt en virkelig kraftpakke for utvikling av web-frontends. I denne workshoppen får du en gjennomgang av språkets viktigste egenskaper, bruk av REPL, live reloads med figwheel og mer.

Varighet: 1 dag

Deltakere: Minimum 3, maks 15

Ta kontakt for pris og bestilling

Foredrag

Har du sett et foredrag av en Kodemaker du gjerne skulle vist frem i din bedrift? Trenger dere en presentasjon av en spesifikk teknologi for å vurdere hva dere skal bruke videre? Kunne dere trenge litt inspirasjon i prosjektet? Vi kommer gjerne og holder et foredrag. Vi setter av en time i etterkant til diskusjon. Er du allerede kunde av oss? Da får du disse foredragene gratis. Hva venter du på?

ClojureScript - Mer enn bare et programmeringsspråk

ClojureScript og verktøyene rundt har vokst til å bli en utviklingsplatform for web-frontender som byr på uslåelige muligheter: live reload med full tilstand, tilgang til kodebasen og tilstanden i nettleseren via et REPL, clojure.spec for validering av data og valgfri typing av funksjoner og mye mer. I tillegg unngår ClojureScript "JavaScript fatigue" ved å by på et økosystem som er mindre motepreget og tar bakoverkompatibilitet på alvor. I løpet av denne timen kommer teamet ditt helt garantert til å få lyst til å følge opp med en workshop.

Varighet: 1 time

Ta kontakt for pris og bestilling

Datomic - Databasen du ikke visste at du trengte

Datomic er en relativt ny database som byr på et spennende featuresett: den er relasjonell, den er en event sourcing-implementasjon, den har en CQRS-inspirert arkitektur. Skal du starte et nytt prosjekt hvor det skal lagres data, eller du snuser på event sourcing bør du invitere Christian til å fortelle om Datomic før dere tar de store beslutningene om hva og hvordan.

Varighet: 1 time

Ta kontakt for pris og bestilling

Emacs Rocks! kommer på besøk

Mange har latt seg imponere av hva Magnar får til med sin 40 år gamle teksteditor gjennom screencasten Emacs Rocks! Nå kan du få en live oppvisning i hva som er mulig å få til med et fleksibelt verktøy og litt pågangsmot. Med foredraget ønsker Magnar å inspirere utviklere - ikke nødvendigvis til å bli Emacs-brukere - men til å omfavne verktøyene sine, mestre dem og lære hvordan man kan få dem til å "do their bidding".

Varighet: 30 minutter

Ta kontakt for pris og bestilling

Offentlig IT v2.0

Tanker om hva vi må få til og hva som så ofte går galt med IT i offentlig sektor

Varighet: 1 time

Ta kontakt for pris og bestilling

Foredrag fra konferanser

Strøm data til nettleseren uten å lage det på nytt hver gang

Vi gikk bort fra skreddersydd data-streaming per feature og kvittet oss med kilovis med kode. Ikke var det noe moro å skrive den koden heller. Når vi legger til nye features nå, så får vi streaming med på kjøpet. I dette foredraget prater jeg om den snedige løsningen vår -- hvordan og når den funker bra, og i hvilke tilfeller den ikke funker så bra.

Ta kontakt for pris og bestilling

To the Cloud

AWS lover uendelig skalering og fleksibilitet ved klikk på en knapp. Men er det egentlig så enkelt? Jeg går gjennom en del problemstillinger du møter når du går til skyen, og viser til erfaringer fra flere AWS-prosjekter.

Ta kontakt for pris og bestilling

I put 7 years of meal data in Datomic - Here's what I learned

Datomic 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.

Ta kontakt for pris og bestilling

Reuse? Refuse

Fallgruver innen gjenbruk og felleskomponenter.

Ta kontakt for pris og bestilling

Offentlig IT v2.0

Tanker om hva vi må få til og hva som så ofte går galt med IT i offentlig sektor

Ta kontakt for pris og bestilling

3 grunner til at ClojureScript gir deg superkrefter

Trenden i webutvikling går mot mer og mer avanserte klienter skrevet i JavaScript. ClojureScript er et pragmatisk språk som hjelper deg til å lage enklere løsninger. Her belyser jeg flere grunner til at ClojureScript er verdt å vurdere til ditt neste prosjekt.

Ta kontakt for pris og bestilling

5 approaches to concurrency in Java - which one is the best?

Presentasjon fra JavaZone 2016 om forskjellige rammeverk/paradigmer for å gjøre applikasjoner concurrent. Mye live eksempel.

Ta kontakt for pris og bestilling

Functional Frontends with Elm

Lyntale hvor jeg lager en enkel Chat klient med Elm

Ta kontakt for pris og bestilling

Functional Reactive Programming for the Web using Elm

I dette foredraget får du en oversikt over hvordan Elm omfavner Funksjonell Reaktive Programmering vha signaler (verdier som endrer seg over tid). Du vil lære litt om Elm platformen og arkitekturen for en typisk Elm applikasjon. Live koding står også på blokka !

Ta kontakt for pris og bestilling

What developers need from their product/project manager

Hva er det utviklere trenger og forventer av sine prosjektledere/produkteiere?

Ta kontakt for pris og bestilling

Sammenligning av GC-alternativer

Lyntale hos javaBin som viser hvordan man kan sammenligne de forskjellige GC implementasjonene i standard JVM.

Ta kontakt for pris og bestilling

16 minutter om Pure Functions

Jeg snakker hva, hvorfor og hvordan om Pure Functions, i et utbrudd av entusiasme etter å ha jobbet med en kodebase basert på disse prinsippene et par år.

Ta kontakt for pris og bestilling

How to make your code last forever

Hvordan skrive kode som kan vedlikeholdes over tid.

Ta kontakt for pris og bestilling

Bruk og kast utvikling

Innen IT er bruk og kast en god ting.

Ta kontakt for pris og bestilling

Interaktiv programmering med ClojureScript

Interaktiv programmering er en teknikk som gir deg en umiddelbar nærhet til koden din og åpner opp for en ekstremt kort feedbackloop.

Ta kontakt for pris og bestilling

Sustainable code - what they don't teach you

En applikasjon koster mer å forvalte enn å utvikle. Likevel blir de fleste kodebaser optimalisert for arbeidet gjort i prosjektfasen før prodsetting. Jeg kommer med noen tanker rundt hva vi kan gjøre annerledes for å gjøre applikasjoner lettere å forvalte.

Ta kontakt for pris og bestilling

EcmaScript 2015: The Close Future of JavaScript

I juni 2015 ble siste versjon av EcmaScript - spec-en til JavaScript - ferdigstilt. EcmaScript 2015 (eller EcmaScript 6 som det en gang het) er tidenes største oppgradering av språket, og i dette foredraget gjennomgås en hel haug med eksempler på nye features og hvordan de kan brukes. Alt kodes live med hjelp av Emacs.

Ta kontakt for pris og bestilling

Plugin-basert arkitektur i Java!

Presentasjon fra JavaZone 2015 om bruk av plugins for å lage en modulær arkitektur. Spesielt relevant forhold til micro-services og muligheten for å splitte en applikasjon i separate tjenester på et senere tidspunkt.

Ta kontakt for pris og bestilling

Erfaringer med Clojure og Scala (og Java 8)

På Javazone 2015, snakket Alf Kristian erfaringer med de funksjonelle språkene på JVM'en. I tillegg sammenlignet han dem med "FP" i Java 8.

Ta kontakt for pris og bestilling

You can't change this: Immutability in JavaScript

Hva er immutability? Hva er hensikten? Kan man benytte seg av det i JavaScript? Hvordan? Hvilke konsekvenser har immutability for UI-programmering? Dette foredraget gir deg svar på disse spørsmålene, med mer til.

Ta kontakt for pris og bestilling

Immutable JavaScript

When it comes to functional programming techniques seeing widespread adoption in the JavaScript community, immutability is a strong contender for "next in line". In this talk I'll show you what immutability is all about, why it's useful, and how to work with it. We'll even put immutability to work in a React app and observe how we can reduce complexity while increasing performance.

Ta kontakt for pris og bestilling

Calculating Taxes Using Functional Programming and Akka

Presentasjon fra flatMap 2015 - om erfaringer med Akka og Java 8 ifm. prosjekt hos Skatteetaten.

Ta kontakt for pris og bestilling

Erfaringsrapport fra eSøknad Bostøtte

Kjapp gjennom gang av sukksesser og utfordringer med å innføre elektronisk søknad for Bostøtte

Ta kontakt for pris og bestilling

Webutvikling med Clojure

Det finnes et utall plattformer for å lage webapplikasjoner; så hvorfor skal du vurdere Clojure? Fordi det gir deg enklere løsninger, raskere utvikling og færre feil. Ta sjansen til å bli kjent med et språk som vil forandre måten du tenker på.

Ta kontakt for pris og bestilling

Design for asynkronitet og høy ytelse!

Presentasjon fra JavaZone 2014 om skalering og concurrent programmering i Java. Sammenligner forskjellige rammeverk og prøver å gi noen gode scenarier for bruk.

Ta kontakt for pris og bestilling

Fix that!

Når alle skriver rundt problemet istedenfor å løse det...

Ta kontakt for pris og bestilling

Lyntale: Du MÅ ikke velge et rammeverk!

Lyntale fra JavaZone 2014 rundt valg av JavaScript-rammeverk.

Ta kontakt for pris og bestilling

ZombieCLJ: Live parprogrammering

Se Christian og Magnar parprogrammere på nettspill med Clojure og ClojureScript. Denne økten er for de som syns det er moro å se folk parprogrammere mens de prater om hva de driver med. Det blir Clojure med hanskene av, så man må tåle å ikke forstå alt. De som er helt nye til funksjonell programmering kan muligens få eksplodert hodet. Definitivt live koding.

Ta kontakt for pris og bestilling

Really understanding Clojure, getting into macros

På Javazone 2014, snakket Alf Kristian om Clojure sine makroer. Det ble et dypdykk inn i en av Clojure sine kraftigste features

Ta kontakt for pris og bestilling

Anbud eller ta ansvaret selv?

Bør staten drive med softwareutvikling? Hva skjer når man setter utvikling ut på anbud?

Ta kontakt for pris og bestilling

Functional UI Programming

En introduksjon til React.js, med sammenligning av populære MC*-rammeverk, samt et eksempel på bruk i form av live-koding av minesveiper med ClojureScript og Om (en React-wrapper).

Ta kontakt for pris og bestilling

The imminent revolution of functional append-only databases

I de fleste domener har gammel data høy verdi. Det bør ikke være ditt ansvar å løse dette manuelt med tradisjonelle muterbare databaser. Få en introduksjon til ny grensesprengende database-teknologi som løser dette problemet for deg.

Ta kontakt for pris og bestilling

Intro to Clojure

Workshop på flatMap(Oslo)

Ta kontakt for pris og bestilling

Datomic - a functional database

Datomic is more than just nosql. The server only does writes, not queries. Reads from data and index happens via storage services, which can be mysql, riak, dynamo, and others. The queries happen on the client itself. The database is represented as an immutable data structure. You can at any point in time get your database as of e.g 2 weeks ago. This talk will explain how all of the above works, what "functional database" means, and which tradeoffs and benefits Datomic has chosen when compared to other database paradigms. Some experience in database concepts (ex: MVCC, dynamo style high write availability) and a general urge to know what happens under the hood is expected of the listener.

Ta kontakt for pris og bestilling

Fra Grid til Akka!

Presentasjon fra JavaZone 2013 som sammenligner grid-produktet Hazelcast med Akka forhold til concurrency og ytelse.

Ta kontakt for pris og bestilling

Elektronisk tekstbehandling

Moderne programmeringsspråk er kraftige saker; de kjemper om å overgå hverandre med høyere og høyere abstraksjonsnivåer. Men av og til kan den korteste veien til målet befinne seg i verktøy som ble laget før internett ble oppfunnet. Her får du en oversikt over Unix-verktøy for å strukturere og filtrere tekst.

Ta kontakt for pris og bestilling

So SQL

Et konkret eksempel på hvordan man kan skrive egen kode fra bunnen av, uten generiske rammeverk.

Ta kontakt for pris og bestilling

You probably don't know how the internet actually works

En slags kjapp intro til hvordan internett egentlig funker. Halvparten om routing og slikt, resten om krypto.

Ta kontakt for pris og bestilling

Emacs Rocks WebDev Special

A high speed tour through some pretty darn snazzy features of Emacs when developing for the web. Even if you're not looking to change editors any time soon, this talk should have you hacking at your own editor in the following break.

Ta kontakt for pris og bestilling

WTF is Datomic?

Introduksjon til hvordan i alle dager en immutable database kan funke, og hvorfor det er bra greier.

Ta kontakt for pris og bestilling

Programmeringsspråket betyr alt!

Hovedverktøyet til programmerere er programmeringsspråket. Likevel velge vi sjeldent det beste riktige verktøyet for å løse oppgavene. Denne presentasjonen fokuserer på hvor viktig det er å velge riktig programmeringsspråk.

Ta kontakt for pris og bestilling

Better and groovier tests with Spock

Spock er et elegant testrammeverk for Java og Groovy- baserte applikasjoner. Det hjelper deg å skrive lesbare og presise tester, samtidig som det optimaliserer for utviklerproduktivitet.

Ta kontakt for pris og bestilling

De første delleveransene skal være stygge

I smidig produktutvikling er det viktig med fortløpende validering av løsningen. Man vil finne potensielle feil raskt. Man skal ikke vente med at applikasjonen er ferdig før man viser den. Det at de første leveransene er mangelfulle er en del av den nødvendige prosessen og må ikke sees som feil.

Ta kontakt for pris og bestilling

Gradle - Det er faktisk ditt bygg

Mange klamrer seg fortsatt til illusjonen at alle bygg er (nesten) helt like. Det stemmer kanskje i knøtteligaen, men i litt større organisasjoner finner man alltid spesielle krav til bygge/leveranseprosessene. Det virker logisk å velge et byggeverktøy som er svært fleksibelt og samtidig er basert på konvensjoner. Det verktøyet heter Gradle.

Ta kontakt for pris og bestilling

Hazelcast: Open Source In-Memory Data Grid

Presentasjon fra JavaZone 2012 som introduserer Hazelcast. Gir en innføring til grid og Hazelcast med en del erfaringer fra bruk av rammeverket i Skatteetaten.

Ta kontakt for pris og bestilling

Readable code

Når det gjelder kode - er lett å lese det samme som god?

Ta kontakt for pris og bestilling

Smidige utviklere spør ikke om råd

Smidig utvikling handler om å være reaktiv fremfor proaktiv. Istedenfor å analysere i forkant, validerer man antakelsene sine fortløpende. Vi må slutte å be om avklaringer i forkant og heller test ut teoriene våre og sjekke om de faktisk fungerer i virkeligheten.

Ta kontakt for pris og bestilling

Hypermediadrevet API i praksis

Presentasjon fra JavaZone 2012 om praktisk bruk av hypermedia og lenker i REST-apier

Ta kontakt for pris og bestilling

Zombie TDD: Live parprogrammering

Magnar og jeg setter oss ned med emacsen og parprogrammerer foran publikum. Se hvordan to typer som digger JavaScript angriper problemer og gjør koden testbar.

Ta kontakt for pris og bestilling

Lisp er vakkert!

Mange misliker Lisp på grunn av annerledes syntaks. Men når man forstår hvorfor syntaksen er som den er, så blir språket vakkert!

Ta kontakt for pris og bestilling

Architects in Scrum is like mayonnaise in cake

Hvorfor hierarkisk rollefordeling med ledere og arkitekter ikke fungerer så bra med smidige prinsipper.

Ta kontakt for pris og bestilling

Pure JavaScript

Kast de objekt-orienterte krykkene og se denne introduksjonen til funksjonell programmering med JavaScript

Ta kontakt for pris og bestilling

Bedre tester med Groovy

Ta kontakt for pris og bestilling

Groovy collection API

En oversikt over groovy's collection api

Ta kontakt for pris og bestilling

Det er de smarteste folkene som innfører byråkrati

Alle klager over byråkrati, så hvordan har det seg at vi til stadighet innfører mer av det?

Ta kontakt for pris og bestilling

Hibernate should be to programmers what cake mixes are to bakers. Beneath their dignity

Jeg snakker om problemene med generiske rammeverk generelt og Hibernate og ORMer spesielt.

Ta kontakt for pris og bestilling

Clojure - JVM språket som er "multi-core ready"

En introduksjonspresentasjon om Clojure, som går igjennom språkets oppbygning og filosofi. Forklarer også hvorfor Clojure er et bedre rustet språk for fremtiden enn andre.

Ta kontakt for pris og bestilling

JavaScript design and architecture

En liten inspirasjonsprat om å finne gode abstraksjoner for frontend-programmering

Ta kontakt for pris og bestilling

Lyntale: Tracking location of your neighbours wearable

På javazone 2016 viste jeg frem hvor lett det er å overvåke alle bluetooth-enheter i nærheten med en egenlaget Android app og en backend skrevet i Go. Det blir ekstra skummelt når jeg sender dataene til google-appengine og lar alle med appen installert abonnere på puls-klokken til han som sitter ved siden av deg. Bluetooth var ikke bygd med tanke på personvern, det du har rundt håndleddet er en digital sauebjelle! Lyntalen ble senere holdt som foredrag på ISF sin høstkonferanse 2017.

Ta kontakt for pris og bestilling

Lyntale: Wrap Ajax'en din

Jeg tegner og forteller hvordan du får ryddig kode og trivelig testing ved å wrappe ajaxen din.

Ta kontakt for pris og bestilling

Mythbusters: JavaScript Edition

Få programmeringsspråk er omgitt av så mye unøyaktig, irrelevant og direkte feil informasjon og misforstått 'hjelpematriell'. I dette foredraget tar jeg for meg noen av de vanligste misforståelsene, og prøver gjennom eksempler å oppgradere publikums JavaScript-kunnskap.

Ta kontakt for pris og bestilling

Test-driven JavaScript Development

En praktisk gjennomgang av TDD i JavaScript. Foredraget er en times live-kode-sesjon der jeg lager et autocomplete/type-ahead søk, test-first.

Ta kontakt for pris og bestilling

Show and Tell, Jens og Jonas iOs-app

Ta kontakt for pris og bestilling

Funksjonell Programmering på JVM

Presentasjon fra JavaZone 2010. Hovedsaklig en presentasjon av arbeidet Eivind gjorde med master-oppgaven. Snakker om forskjellige aspekter ved funksjonell programmering og hvordan man oppnår dette med forskjellige språk på JVM.

Ta kontakt for pris og bestilling

Elm - Awesomesauce or just yet another language for the frontend

Elm er kanskje et av de mest spennende språkene og platformene for å lage solide, raske og vedlikeholdbare web frontends. I dette fordraget får du en liten smakebit av fordelene med funksjonell programmering (med typer) i Elm. Du får også en innføring i hvordan Elm er mere enn bare et språk. Språket, plattformen og arkitekturen promoterer en ny måte å tenke på som virkelig fanger ens oppmerksomhet. Foredraget består av noen få slides og en solid dose med live-coding !

Ta kontakt for pris og bestilling

Screencasts

Elm package docs preview in Light Table

Ta kontakt for pris og bestilling

Managing and diagramming elm packages with d3 in Light Table

Ta kontakt for pris og bestilling

Elm plugin for Light Table

Ta kontakt for pris og bestilling

A pinch of Clojure love to Light Table

Ta kontakt for pris og bestilling

Clojure refactoring in Light Table

Ta kontakt for pris og bestilling

The Groovy Light Table Plugin

Ta kontakt for pris og bestilling

Creating and Using Snippets in Light Table

Ta kontakt for pris og bestilling

InstaBuster Part 2: Powerful JavaScript testing using Light Table and Buster.JS

Ta kontakt for pris og bestilling

InstaBuster: JavaScript testing with LightTable & Buster.JS

Ta kontakt for pris og bestilling

Emacs Rocks!

En serie med kjappe, små videoer om hvorfor Magnar syns Emacs er en skikkelig trivelig editor.

Ta kontakt for pris og bestilling

Parens of the dead

En screencast i samme ånd som Zombie CLJ, denne gangen på engelsk.

Ta kontakt for pris og bestilling

Zombie CLJ - Clojure og ClojureScript

I denne oppfølgeren til Zombie TDD lager [Magnar](/magnar/) og [Christian](/christian/) nettspill fra scratch med Clojure og ClojureScript.

Ta kontakt for pris og bestilling

Zombie TDD - Testdrevet JavaScript

Følg med når [Magnar](/magnar/) lager et nettspill fra scratch med JavaScript på klient og server. Testdrevet etter beste evne. Har du lyst til å være med?

Ta kontakt for pris og bestilling