Loading...

QCon New York 2016 – en kommentar

16.06.16 -

Knowit er på plass i New York på en av årets QCon. For de som ikke kjenner QCon er det en konferanse for arkitekter og team leads m.m. Foredragene er ofte fra selskaper som driver trender og innovasjon, som f.eks. Netflix, Über, SlackHQ, Twitter, LinkedIn, Docker etc. Dette er selskaper som ofte driver i stor skala og tradisjonelt har helt andre behov enn lille oss i Norge.

Jeg tror likevel trendene de driver frem er veldig relevante for oss, mye pga. tidsseriedata (det kommer raskt nå i Smart City og i andre sammenhenger ifbm. Internet of Things) og overgang til sky også for våre kunder. Men også fordi flere av våre nye kunder, som NDLA og Skatteetatens folkeregister, krever god skalering og har mange samtidige brukere.

I stedet for å blogge generelt fra foredragene, skal jeg forsøke å si noe om det jeg opplever er de overordnede trendene.

Distribuerte systemer

Nesten alt dreier seg om mikrotjenester (fremdeles) og distribuerte systemer. Uansett hva man lager i dag kommuniserer det med andre tjenester; gjerne både synkront og asynkront. Mikrotjenester og DevOps har nå gått over i en fase hvor mange snakker om det i Enterprise-context, og da har det blitt skikkelig mainstream.

Alle jobber i team som også overvåker sine egne løsninger – gjerne 24/7, og er minst like opptatt av driften av systemet som hvordan man implementerer forretningslogikken.

Adrian Cockcroft snakket om Microservices – state of the union. Et blikk inn i hva han tror blir fremtiden, dersom man skal etablere større mikrotjenestearkitekturer. En veldig bra talk som jeg anbefaler alle som er interessert i mikrotjenester å se.

Følgende mikrotjeneste-referanse-stack er visstnok det som gjelder nå i følge guruene. Men det aller viktigste er å bygge for endring i dagens raske teknologiske utvikling. Man snakker om evolusjonsarkitekturer. Det er vanlig å ha et “innovasjons-“team som jobber bleeding edge og videreutvikler arkitektur/plattform, samt andre mer stabile team som driver funksjonalitet frem.

(fra Adrian Cockcroft – Microservices – state of the Union)

APIer

Det er vanlig å bygge API-klientbiblioteker for de mest brukte språkene. Dette for å få riktig og raskt bruk av APIene, spesifikasjoner om Open API Specification/Swagger er ikke godt nok – det er kun dokumentasjon. Det er kode som gjelder! For interne APIer bruker protokoller som Thrift, Protobuf/gRPC, Avro, SBE – mens eksterne APIer bruker JSON og HTTP.

Cloud runtime

Ingen kjører lokalt. Så godt som alle her kjører på Amazon sin sky (AWS) og mange bruker også AWS sine tjenester i stor utstrekning. De sier ting som: – Hvorfor skal vi implementere dette bra? Amazon kommer helt sikkert med en tjeneste på AWS som løser dette bedre om kort tid. Google Cloud henger litt etter, men kommer fort – Azure er det ingen som snakker om her.

Infrastruktur som kode

Det å konfigurere opp infrastrukturen sin i kode, slik at man kan ha immutable infrastruktur og servere er en kjempetrend. Spinnaker som deployment pipeline er visstnok AMAZING (sitat CloudBees, de som committer på Jenkins)! Så Jenkins-fans, ta en titt på Spinnaker fra Netflix.

Testing av distribuerte systemer

Var også en veldig bra talk om testing av distribuerte systemer. F.eks. Game day – å bruke tid på å forsøke å ødelegge for systemet ved å sette av en dag til å fikse fremprovoserte feil; enten i test eller produksjon. Et eksempel kan være å drepe en databaseprosess e.l. Et område vi bør absolutt bli bedre på!

Andre to viktige begreper jeg leste meg opp på er: property-based testing og failure injection. Good stuff!

Monitorering / logging

Veldig mye av det som har vært gjort tidligere i utviklingsprosessen, som verifisering, sikkerhetsanalyser etc. gjøres nå underveis med faktiske produksjonsdata. Man logger alt som gjøres i applikasjonen og monitorerer ALT underveis. Canary-testing er en ting jeg tok med meg, samt det å monitorere jevnlig testing i produksjon ved å sende gjennom spesielle meldinger som man forventer kommer frem. ALLE bruker logstash (evt. streamstash) og Elastic, så ELK-stacken gjelder fremdeles (smile)

Sikkerhet

Sikkerhet har fått en egen track. Og det er helt vanlig å ha egne sikkerhetsteam som hele tiden overvåker og skrur på løsninger. Også her er det veldig fokus på applikasjonen som kjører og driften av den. Kule produkter er: auditd, audisp, cloudtrail, osquery, elastalert, persondb, geoip, securitybot, carbon black.

Var også på en annen bra sikkerhetstalk om “secrets in the cloud“. Hvor gjør man av passordene sine i skyen? Hvilke repository skal de ligge i, etc. Her har vi mye å lære.  Stikkord for verktøy: travisci, markmonitor, thousandeyes, digicert, stripe, fastly, twilkio, zendesk, kiss, looker.

Kultur

Det er et stort track på kultur og hvordan man kan effektivt jobbe og motivere mennesker. Man snakker ikke om smidig og slike ting, men mer om hvordan man kan tilrettelegge for læring, få forskjellige type mennesker til å snakke sammen (diversity) og team som kan løse alt. Alt dette krever veldig flinke folk for å få til – så det er det bra at vi har 🙂

Språk og “polyglot”

Alle de hippe bruker Go. Evt. Python for scripting, Javascript på web og noen Java 8. Java 8 har fått eget track, og nå som Java endelig har fått lambdas og streaming-api er det inne i varmen igjen. Polyglot (flere språk i samme prosjekt/arkitektur) er ikke like populært, fordi man ser at kompetanse er viktig på sikt. Det kan være lurt å begrense seg til noen få språk.

Maskinlæring

Vi forsøkte oss på en talk om maskinlæring, men fikk beskjed om at vi trengte en doktorgrad for å forstå det ordentlig. Men det kommer nå tjenester som gir deg maskinlæring i sky as-a-service uten at det trenger å være alt for komplisert. Dette er i startgropa, men vi gleder oss!

Big data

Vel, folk snakker egentlig ikke om Big data lengre. Men man snakker om tidsserie-data som gjør at det blir mye når man drar det ut i tid. Logger skal analyseres mtp. sikkerhet, IoT-data skal tolkes og analyseres og lagres. Så både Stream processing og analytics blir viktige områder å jobbe med videre hos oss i Knowit.

I det hele tatt fantastiske faglige dager her i NYC!

Build 2016 – it’s a wrap!

02.05.16 -


@Microsoft-Build-2016

Da er årets Microsoft Build-konferanse over. Det har vært tre dager i sunny (men ekstremt trekkfulle) San Francisco stappfulle av inntrykk – med et veldig tett program. Vi har måttet stå opp 0600 hver dag, og har vært ferdig en gang rundt syv-åtte på kvelden, før vi har klart å få i oss noe mat og et par øl før vi måtte legge oss igjen.

Vi har valgt å ikke skrive om spesifikke talks, men prøve å formidle det vi har lært tematisk for ikke å stykke det opp for mye.

Konferansen

Det var en del endringer i opplegget fra tidligere år – noen bra, noen ikke fullt så vellykket. Den største endringen er at de har kuttet ned på antall rene talks, men kompenserer for dette ved å ha mange parallelle workshops hver time. De har utvidet arealet, og brukte i år konferansefasilitetene til Marriott Hotel som ligger “over gata” for Moscone West i tillegg til rommene på Moscone. Dette gjorde at de kunne ha talks med over 1000 deltakere nå, noe som har vært et problem tidligere.

Workshops / CodeLabs

Workshoppene var på rom med PCer som var helt klare til bruk. Det var fire medhjelpere og en “foreleser” på alle workshoppene. Workshoppene hadde forskjellige nivåer – noen hele 7 forskjellige nivåer. Vi har opplegget til samtlige av workshoppene og skal se om vi kan gjøre noe med dem internt – en del av dem vil være av interesse også for the light side of the force:

For de interesserte finnes workshoppene her: https://github.com/microsoft-build-2016/

Vi gikk på codelabs om Unity, Win 10 on Raspberry Pi 3, IoT Analytics og Xamarin. Det var et bra og gjennomtenkt opplegg, og en god mulighet til å prøve ting i praksis. Det var også et greit avbrekk fra bombardementet av informasjon man får på talks.

Lyntaler

I tillegg var det satt av områder i markedshallen “The Hub” til lyntaler (typisk 20 minutter, noen kortere og noen lengre). Even deltok på en av disse, ellers var vi bare på talks og codelabs, men uansett et positivt tiltak.

Hardware Giveaways

…er det nå slutt på. Vi fikk noe mat og drikke, og det var det. “I went to this conference and all I got was this stupid t-shirt” :p

 

Windows Insiders

En hyggelig gest til oss som betatester Windows for Microsoft var at de inviterte alle som er del av Insider-programmet til en pre-keynote-meet kvelden før konferansen startet. Dit kom sjefene for de aller fleste relevante avdelingene (Windows, Cortana, XBox, HoloLens, Corporate VP Engineering) og pratet litt og svarte på spørsmål på betingelse av at vi ikke la ut noe på social media før etter keynotene var ferdig. Etter Q&A minglet de med bermen. Vi fikk reserverte seter på keynoten – noe som var svært hyggelig. Det var også PhotoOp – men vi valgte å drikke øl i stedet…

Misc

Cloud first, mobile first – men Windows Phone ble ikke nevnt i løpet av 6 timer med keynotes, og det var så vidt det var talks om den. Nå støtter Windows Phone Universal Apps som det var masse om, men allikevel noe merkelig.

Visual Studio 15 er nå i preview (utrolig merkelig navneskifte), og installasjonstiden har gått fra rundt halvtimen til rett over minuttet. Endelig!

Det var lite om HoloLens i keynoten i forhold til i fjor, men nå veldig mange talks om det. Vi tar det som et tegn på at teknologien har modnet seg. Interessen var da også minst like stor i år blant deltakerne.

Keynotes

Satya Nadella åpnet selvfølgelig konferansen, og var spesielt opptatt av hvordan intelligens og digitale assistenter blir en større del av applikasjonsutvikling fremover. På selve konferansen ga det seg utslag i endel foredrag rundt machine-learning, Cortana, search, bots, big data og teknologi-stacken som støtter opp om å få til dette i praksis. De viktigste annonseringene var:

  • Windows 10 Anniversary Update; dette er neste update av Windows 10 – skal bli tilgjengelig for fast-ring i løpet av kort tid. Denne har bl.a.

    • Oppdatering av Windows Ink med en smart linjal som del av standard funksjonaliteten, samt en ny ink-hub som samler de viktigste å mest brukte Ink-programmene. Linjal-featuren er en utrolig kul feature (coming soon to iOS tipper vi).

    • Nye Cortana features; bl.a. tilgang til Cortana fra lock-screen.

    • Windows Hello har blitt utbedret med støtte for bruk av fingeravtrykk og ansiktsgjenkjenning som autentisering mot apps og websites,

    • Bash shell som integrert del av Windows 10. Dette er en en native Ubuntu command line, primært fokusert på utviklere som ønsker tilgang til Linux-baserte verktøy.

  • Cortana Intelligence Suite har blitt oppdatert med noen nye produkter:

    • Microsoft Cognitive Services; en samling intelligence API’er som muliggjør systemer som tar i bruk bl.a. tale- og bildegjenkjenning som del av en mer naturlig kommunikasjon (http://www.microsoft.com/cognitive-services )

    • Microsoft Bot Framework; API’er som støtter opp om chat i naturlig språk på en rekke ulike platformer (text/SMS, Office 365, Skype, Slack, Web)

(https://dev.botframework.com/ )

 

build_14_print.jpg

 

  • XBox Dev Mode; enhver XBoxOne kan nå tas i bruk som developer kit.

  • Azure Service Fabric er nå tilgjengelig; dette er en microservices applikasjonsplattform.

  • Azure Functions ble lansert i preview.

  • Azure IoT Starter Kits; nybegynner-kits for IoT med tilhørende samples og tutorials
    (https://azure.microsoft.com/en-us/develop/iot/starter-kits/ )

 

Hololens Mars-demo

På konferansen var det mulig å teste ut Hololens. Nasa og Microsoft har sammen laget en demo kalt “Destination: Mars”. Her kunne man se en virtuell verden satt sammen av bilder tatt av Mars Curiosity-roboten. For å få tilgang til denne demo’en måtte man reservere tids-slot, men billettene ble revet bort kjapt etter enorme køer. Even hadde flaks på fredagen, og fikk komme inn via “Stand-by line” – hvor man fikk plassen til de som ikke møtte opp. Demoen var, etter Evens mening, veldig proff. Demoen bar mer preg av å være en VR-opplevelse, ikke en ren hologram AR-demo. Man kunne se seg rundt som om man stod på overflaten på Mars. Oppløsning, oppfriskningshastighet osv. meget bra. Enheten var lett med god “surround-lyd”. Selvfølgelig kunne man ønske at field-of-view var enda større, kan jo håpe at endelig sluttprodukt blir bedre her.

En nyhet på konferansen var at Microsoft var klar med å shippe utviklingsversjoner av Hololens fom 30. mars. Dessverre foreløpig kun til utviklere i USA og Canada. 🙁

 

Xamarin

Xamarin er et verktøy for å lage native cross-platform apps for Android, iOS og Windows UWP – med kun én kodebase. Ved bruk av dette verktøyet lover Xamarin 100% støtte for alle API’er for disse mobile plattformene, samt støtte for native GUI-opplevelse. Kodespråket er de som Visual Studio støtter (C#, F# og VB (av alle ting!)). For mer info, se https://www.xamarin.com/university Xamarin ble nylig kjøpt opp av Microsoft (18. mars), og nyhetene denne gangen er:

  • Enda bedre integrasjon i Visual Studio og bedre støtte for designer/emulator for samtlige plattformer.

  • Xamarin er nå gratis for alle! Se https://blog.xamarin.com/xamarin-for-all/

  • 2d gfx-bibliotek SkiaSharp (Google Skia-bibliotek som benyttes av bla. Chrome and Android)

  • 3d gfx-motor Urhoshape

  • Xamarin har blitt open-source, dvs. som gir teoretisk støtte for alle mobile plattformer.

 

Nano server og støtte for Docker containers

I neste technical preview av Windows Server 2016 (dvs TP5) har Microsoft laget støtte for Docker containere. Denne støtten gjelder i første omgang Nano Server, men det vil også komme støtte for Server Core (som vi regner som mindre interessant enn Nano). Nano Server er en minimalistisk nedstrippet Windows server uten GUI, hvor de bla. har tunet oppstartstiden (1 sec. startup). Den støtter kun moderne applikasjoner – det betyr at en del eldre apper/tjenester må enten kjøre i Server Core-container eller gis litt kjærlighet for å kunne kjøre på Nano.

Andre relaterte nyheter er at Windows 10 (altså ikke Server) også vil ha støtte for Docker, samt at Powershell også vil ha innebygget støtte for Docker slik at man kan styre Docker (både på Windows og Linux) fra Windows. Det er veldig positivt at vi får docker-støtte i Win10 – det vil gjøre livet til oss utviklere enklere.

Mer info her: http://blogs.technet.com/b/nanoserver/

Universal App Model

Det går heldigvis mot slutten for en god del features ingen liker med Windows – som DLL-helvete, registry som vokser og vokser og vokser, uninstall som ikke fjerner nok eller fjerner andres avhengigheter osv, mao all moroa som fører til at Windows har en tendens til å bli tregere og mer ustabilt jo lengre man har det installert.

Nå kommer det kjøreregler som apps må følge fra de installeres til de avinstalleres, hvor prosessen for å lage disse vil sørge for at man unngår tidligere problemer. Applikasjonene vil leve i sandkasser, hvor avhengigheter og registry-nøkler ligger sammen med applikasjonen og ikke i C:\Windows\System32 e.l., og applikasjonen skriver registry til en lokal registry-fil. Dette fører til at install/uninstall går raskere, og at uninstall vil kan gjøres på svært mye kortere tid, og ALT vil bli borte – ikke noe rusk og rask igjen. Yay! Applikasjoner må nå også signeres med et sertifikat. Det er oppdatert støtte for LiveTiles. Det er også innebygd støtte for silent updates og en hel del andre ting.

Debugging i Visual Studio

Det er gjort en god del forbedringer i debuggingen i Visual Studio. Den har allerede vært svært god, men har nå blitt enda bedre. Man har bl.a. nå muligheten til å debugge direkte i et Intermediate-vindu selv når man ikke kjøre appen i debug-modus. Det er utvidet kode-støtte for debuggeren ala:

if (Debugger.IsAttached) { Debugger.Break(); }

For å alltid få et breakpoint der når appen kjører i debug-modus. Ellers var det mange små-ting som var gjort for å gjøre livet i Visual Studio noe enklere. Disse featurene er selvfølgelig mest nyttig for de som ikke skriver korrekt kode med en gang, men vi føler det allikevel relevant å følge med på hva som skjer på den fronten. For de som bruker Visual Studio en del er det verdt å få med seg sesjonene om debugging – så kan  man heller spole forbi det man visste fra før.

 

Talk: Building Resilient Services: Lessons from (making) Azure

Denne talken bør sees og nevnes derfor spesielt (https://channel9.msdn.com/events/Build/2016/B863). Mark Russinovich (tidligere SysInternals) har jobbet med Azure i mange, mange år og har som i fjor en talk med war stories og lessons learned. Azure er naturlig nok et enormt stort system, og små feil kan få store konsekvenser. Det er kult at de er åpne og deler hva de har lært fra feil de har begått så vi andre kan lære fra dem.

Det som kom ut av sesjonen var egentlig en rekke kjøreregler de har i Azure-prosjektet – som de har lært seg the hard way (sliter med norsken). Se denne, den er verdt å få med seg. Noen av reglene er:

  • Gir kompilatoren warnings under kompilering – så rydd opp – alltid.

  • Logging skal inneholde mye detaljer – tenk at du skal finne en feil på bakgrunn av log-statementet. Logging av typen “Service failed because user subscription is invalid” fører til uendelig mange spørsmål: Hvilken service, hvilken bruker, hvilket subscription.

  • Exceptions er dyrt – ikke kast Exceptions for alt mulig.

  • Alltid logg alt i UTC.

  • Use KeyVaults e.l. for keys & secrets. (jupps, de har sjekket inn public kode i Azure med secrets :)). Det anbefales å bruke Check-In Gates som scanner koden for ting som kan være sensitive data og avbryter dersom den finner noe “mistenkelig”.

  • Alltid, alltid ha muligheten til å rulle tilbake en release

  • En tjeneste kan aldri være avhengig av at en annen tjeneste allerede kjører for å starte. Den må da kunne vente på at tjenesten kommer opp, og ikke tryne – alt annet er å be om bråk.

  • Når mulig bør man sjekke med en “outside observer” for å se at tjenesten har kommet opp korrekt – dvs noe utenfor byggesystemet.

  • Test skal aldri kunne prate med stage som aldri skal kunne prate med prod (og motsatt vei). Miljøene skal være helt isolert.

  • Alltid test med prod-data og prod-load.

…og mye mer.

 

ASP.NET CORE

Som de fleste har fått med seg så har det kommet en cross platform runtime for .NET – også kjent som .NET Core. I forlengelsen av dette har de skrevet om sitt mest brukte web-rammeverk fra scratch med støtte for .NET Core (.NET Core er subsett av .NET CLR for Windows).

De har valgt å gjøre det ultramodulært – det vil si at grunnpakken ikke gir mye funksjonalitet utover å kunne ta i mot requests og svare på disse – ingen sikkerhet, ingen Json/XML-formattering, ingen templating, ingen routing (defaulter naturlig nok til noe). Fordelen med dette er at man sparer en god del i pipelinen ved å kun ha de modulene som trengs for den jobben som skal gjøres. Uten noen moduler koblet på – mot en “Hello World”-metode klarer den på en enkelt maskin (med svært heftig hardware) å besvare 3.500.000 requests i sekundet – det er veldig imponerende tall. Optimaliseringene som er gjort er til en stor del gjort av community – flere og flere deltar på Microsofts prosjekter, og i tilfellet ASP.NET Core har mange av bidragene kommet med.

En annen fordel med det modulære designet er at de kan legge til nye features oftere, og dermed ha en raskere release-takt.

Den er 100% open source, kjører på en 100% open source vm, og kjører på Linux, OSX og Windows. Det kan kjøres fra terminal eller fra et IDE – det kan benytte IIS eller være self hosted. Det kan serve REST eller websider.

Det følger med en enkel DI-løsning, men man står (i modularitetens navn) selvfølgelig fritt til å kjøre et eget DI-rammeverk.

Tidligere skrev man “C#” (Razor) i template-sidene (noe man fortsatt kan), men det oppfordres til å benytte Tag-Helpers. Dvs man lager egne tags eller attributter til tags i kode på en svært enkel måte (som også gir code completion).

Man kan nå rendre deler av siden async – dvs man sender deler av siden til klienten mens man jobber med å rendre deler av siden som tar lengre tid. På den måten får klienten raskt noe opp.

Det er også lagt til god støtte for å unngå å sjekke inn secrets og andre innstillinger i koden. Denne kan hentes fra en rekke forskjellige kilder, og dette er selvfølgelig utvidbart til egne kilder eller helt egen kode for dette.

 

Machine Learning

Det var mange foredrag og workshops om Machine Learning på alt fra 101 til deep dives, og MS har et stort fokus på dette området. Vi var på noen av disse talkene, men det beste for å få et inntrykk av hvordan Microsoft tenker er å prøve det selv (gratis med noen begrensninger på datasettstørrelse): https://studio.azureml.net/

 

 

Microsoft ❤ Linux

“Who would have though… 5 years ago… that we would all be sitting here on our Windows 10 and be able to run Ubuntu natively?”

                – John Cleese

Men det er altså sant. Man kan fra sommeren av (eller fra nå av som Windows Insider) kjøre opp et Ubuntu-bash-shell i Windows – helt native. Det er altså et helt ordinært Ubuntu-image som ligger bak – det er ikke noen form for rekompilering eller virtualisering. Det er bash. Har du lyst til å installere noe med apt-get? Kjør på! Kjøre Python? No problem. Jobbe i Emacs eller VI? Go ahead! Dette kommer til å gjøre livet vårt en god del enklere i mange tilfeller.

Noen begrensninger er det – bl.a. vil antagelig ikke X støttes, og Windows-programmer kan ikke prate med Linux-programmer, men Linux har selvfølgelig tilgang til filsystem, nettverk osv.

Dette får de til ved å intercepte kall mot Linux-kernelen og sende disse videre til “Windows Linux Subsystem” hvor de blir oversatt til windowsk. Kosten ved å gjøre dette er svært liten. For detaljer rundt hvordan dette gjøres kan følgende artikkel anbefales: http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html

Som en bi-effekt av dette måtte de utvide kommandovinduet i Windongs til å støtte VT100 ANSI, så nå kan vi endelig vise utrolig fin ASCII-art i kommandovinduet.

C# 7

Vi fikk et lite innblikk i hva de driver med på C#-teamet for tiden. De jobber ikke med de helt store tingene for neste versjon, men noen godbiter kommer.

Roslyn (den nye C#-kompilatoren som er CaaS (Compiler as a Service) muliggjør code completion og refactorings i alle editorer – f.eks. Emacs og vim). Dette vil bli utnyttet framover.

Ellers:

  • Støtte for binære tall (0b10 0b10101101 osv)

  • Funksjoner inne i funksjoner (lokale funksjoner)

  • Flere navnede returverdier fra funksjoner via en spesialvariant av tupler f.eks. (int sum, int count) DoSomething(List<int> collectionOfSomething)

  • Pattern checking med conditions og automatisk casting:

    • if (variable is int i) (tilordner da variable til i dersom den er en int)

    • if (p is Professor { Subject is var s, FirstName is “Donald”})

  • Switch-statements kan gjøres med alle typer objekter nå. Støtter også pattern matching og conditions

 

Og noen småting til. Ikke så mye nytt, men en del av dette er kult.

 

 

Ressurser

knowit labs

Security Day 2016

28.01.16 -

Fredag 22. januar ble Security Day 2016 avholdt i Oslo, og Knowit var representert ved Thuc Hoang og Anders Thorbeck. Security Day er, som navnet tilsier, en endagskonferanse med fokus på IT-sikkerhet, og arrangeres av {} ProgramUtvikling (som viser seg å bestå av kun 5 personer). Konferansen hadde kun ett track, med 5 én-times foredrag, men det var til gjengjeld bra kvalitet på samtlige foredrag. Mellom foredragene var det pauser og en fantastisk lunsj, og på slutten av dagen en Q&A sesjon etterfulgt av mingling. Arrangørene la (under minglinga) ikke skjul på at Troy Hunt var hovedtrekkplasteret, og var litt skuffet over at det kun var 50 deltagere på årets konferanse, men innrømmet at en del av skylden nok lå i relativt mangelfull markedsføring av konferansen. Alle foredragene ble filmet, og vi fikk inntrykket av at de ville bli lagt ut på nettet etter hvert (EDIT: Disse videoene er nå på nettet, og er blitt linket til i paragrafene under).

Under første foredrag snakket Troy Hunt om “Lessons from a quarter of a billion breached records“, og gjorde et punkt ut av at tittelen opprinnelig var mer finkornet, men at han måtte oppdatere den hele tiden fordi det stadig kom nye datalekkasjer på flere titalls millioner records. Denne talken tok utgangspunkt i tjenesten hans haveibeenpwned.com, som lar deg finne ut om dine personlige opplysninger har blitt lekket som en del av store datalekkasjer.
Han tok opp blant annet hvordan medias oppfatning av hackere—sittende i mørke rom med fjeset dekket av hette, Guy Fawkes maske og solbriller, med binær i bakgrunnen og hackertyper.net på skjermen—ikke stemmer helt med virkeligheten, der man får stadige eksempler av at faktiske hackere er tenåringsgutter som kjeder seg og bruker google og hacking-for-dummies applikasjoner (som gjør absolutt alt grovarbeidet for deg, med et felt for URL og en knapp for å starte angrepet), uten å forstå implikasjonene. Han rørte innom måter folk prøver å tjene penger på lekket informasjon, hvordan man verifiserer at dataen som er lekket faktisk er fra en ekte breach, riktig og feil måte for et firma å reagere på nyheten om at de har hatt en massiv datalekkasje, at firmaer fortsatt ikke har noe sterkt nok insentiv til å sikre seg tilstrekkelig, samt diverse eksempler på hva slags sikkerhetsmessige glipper av varierende nivå som hadde ledet til datalekkasjer.
Troy avsluttet med 3 punkter han mente var viktige etter en datalekkasje: 1. bedriften må reagere på datalekkasjen så fort som mulig, ikke vente i en uke; 2. gi offerne en mulighet til å lære eksplisitt hva slags informasjon om dem du mistet; 3. bedrifter burde få en straff som svir etter en datalekkasje, som et insentiv på å ta IT-sikkerhet alvorlig.

;--have i been pwned?

Logo fra Troy Hunt sin nettside haveibeenpwned.com

Andre foredrag ble også holdt av Troy Hunt, og het “Web Security Essentials by Example“. Dette foredraget var akkurat det det høres ut som, en variert samling av forskjellige sikkerhetsrelaterte verktøy, trusler og forsvarsmekanismer.
Blant de “snille” verktøyene han nevnte var: ssllabs.com, for å analysere hvor bra en nettside gjør SSL; amiunique.org, for å demonstrere at du sannsynligvis er unikt sporbar på internett også uten cookies; fiddler, for å proxe all nettverkstrafikk fra mobilen din via PCen din; map.ipviking.com, for å se realtime DDOS-angrep som foregår; hackyourselffirst.troyhunt.com, hans egen nettside for å lære hvordan 50 forskjellige vanlige sikkerhetshull kan utnyttes, og hvordan man så kan beskytte mot dem.
Blant de “slemme” verktøyene han nevnte (som ofte kan brukes uten å kunne noe som helst om IT-sikkerhet) var: sqlmap og Havij, to verktøy som automatiserer utnyttelse av SQL-svakheter via bl.a. SQL injection; LOIC, et verktøy for automatisk DoSing av en nettside; hashcat, som med brute force via GPU kan finne passord fra hashes veldig (type milliarder i sekundet) fort.
Han snakket også litt om nettleseren Tor, om hvordan mennesker selv er veldig lette å lure med social engineering, og hvordan med Internet-of-Things selv toalettet ditt kunne hackes til å skru på bideten eller avsløre nettverk credentials.
Han anbefalte forøvrig alle å bruke en password manager, der han selv foretrakk 1password.

Real-time DDOS map

Snapshot fra real-time DDOS kart

Tredje foredrag ble holdt av Erlend Oftedal, lederen i OWASP Norge, og het “Broken Crypto is Broken“. Dette var et veldig fint foredrag som tok for seg diverse krypteringsalgoritmer, viste hvorfor de så ut som de funket, demonstrerte hvilke svakheter de hadde for angrep og forklarte hvorfor de ikke funket i disse tilfellene og at man derfor ikke burde bruke dem, og oppgraderte så til stadig bedre krypteringsalgoritmer som løste det nåværende problemet, men ikke det neste. Blant krypteringalgoritmene man ikke måtte bruke var blant annet MD5, SHA1 og SHA256. Foredraget var (bortsett fra mot slutten) greit å følge med på, og gav en god forståelse av mange av overveielser som må gjøres når man utvikler og tar i bruk en krypteringsalgoritme, hvor lett det er å gjøre det feil, og hvorfor man derfor ikke burde forsøke å lage sin egen.
Han hadde også mange gode tips om kryptografi, som at security-by-obscurity er dårlig; man alltid burde bruke en secure random generator; at de fleste krypteringsalgoritmer kun gir konfidensialitet, men ikke integritet, autentisering eller identifisering; at selv “sidekanaler” som responstid, CPU bruk, strømforbruk, elektromagnetisk lekkasje, osv. kan gi informasjon som kan utnyttes dersom de viser forskjell mellom f.eks. valid og invalid input.

CBC based encryption

Foil fra tidligere kryptografiforedrag av Erlend Oftedal

Det fjerde foredraget ble holdt av Einar Otto Stangvik, en sikkerhetsinteressert utvikler som var blitt ansatt hos VG innen sikkerhet og drift, etter å i 2013 ha sporet opp og avslørt at en lokalpolitiker hadde hacket seg inn på mange unge jenters kontoer og stjålet og distribuert deres intime bilder på nettet. Foredraget het “Security in the Media“, og handlet om hans personlige erfaringer fra både barnepornosaken og stillingen hos VG, og inkluderte jevnlige key takeaways. Det var interessant å følge hvordan han hadde sporet opp hvem som hadde distribuert disse bildene, med mange snedige steg involvert. Han gav også et overblikk over trusselbildet hos VG som Norges desidert største nettside, med noen anekdoter derfra.
Det kom veldig mange takeaways i løpet av foredraget, blant annet: at fødselsdato og fødselsnummer (og annen statisk data) ikke burde brukes til å identifisere folk i dagens samfunn, det er effektivt ikke lenger privat info nåtildags som det er altfor lett å finne/dedusere disse; at enhver handling man kan gjøre med en konto kan misbrukes sammen med social engineering for å få tilgang til kontoen; at 2-factor autentisering løser mange problemer; at hashing uten salt nesten alltid er et tegn på trøbbel; at også legacykode må få sikkerhetsgjennomgang, for det er ofte dette som kan inneholde en successful angrepsvinkel; at man burde undersøke selv og ikke bare overlate det til andre; at man burde modellere trussel; at man burde inkludere sikkerhetstiltak under utviklingen og ikke prøve å patche det på etterpå; at man ikke burde sende sensitiv data over usikre kanaler (f.eks. Slack); at man også burde ha sikkerhetstiltak mot angrep innenfra bedriften; at mennesker ofte er the weakest link; at utviklere burde sikre seg selv før de sikrer andre.

Slik avslørte hackeren lokalpolitikeren

Overskrift fra Drammens Tidende

Femte og siste foredrag ble holdt av Troy Hunt & Niall Merrigan i samarbeid, het “Both Sides of the Attack” og var et experimentelt og i stor grad improvisert foredrag der de to foredragsholderne spilte angriper og offer i forskjellige angrepsscenarier, mens de forklarte hva som foregikk og hvordan det fungerte. Denne fremgangsmåten fungerte egentlig ganske bra.
De var innom reflected XSS (cross site scripting) angrep for session hijacking; nyttige HTTP headere som Content-Security-Policy (CSP) for å whiteliste hvilke ressurser som kan lastes inn til din nettside og fra hvor (samt Content-Security-Report-Only for å hjelpe deg bygge denne whitelisten) for å beskytte mot cross-site scripting/injection angrep, og HTTP Strict-Transport-Security (HSTS) for å enforce HTTPS og dermed beskytte mot man-in-the-middle angrep; WiFi pineapple, et billig stykke hardware som kan spoofe Wifi SSIDer som devicet ditt søker etter, få deg til å koble opp mot et av disse SSIDene og utføre man-in-the-middle angrep på deg; Browser Exploitation Framework (BeEF) som på mange forskjellige vis lar deg angripe nettleseren på andre devices på samme nettverk som deg; og NWebsec sikkerhetsbibliotekene for .NET.

Computer: Are you my preferred wireless network? WiFi Pineapple: Yes.

WiFi pineapple spoofer WiFi SSIDer maskinen din søker etter

Det kom også noen interessante spørsmål under Q&A sesjonen på slutten av konferansen. Et av de mest interessante var hva de 4 foredragsholderne selv gjør for å sikre seg. Der hadde de mange veldig gode tips, inkludert følgende: kryptere harddisken; bruke VPN (f.eks. freedome); bruke passordmanager; passordbeskytte BIOSen; bruke en ordentlig og sandboxed nettleser; teste malware i en isolert virtuell maskin; gjøre sensitiv research i virtuell maskin eller på egen laptop, eller med egen session og IP; ikke koble til tilfeldige WiFis; ikke sette inn tilfeldige USB sticks; disable autorun; ikke lagre informasjon du ikke vil skal lekkes (f.eks. nakenbilder), du kan ikke miste hva du ikke har; forvente at devicet ditt vil bli stjålet og derfor sanitere det regelmessig, slik at det ikke inneholder noe du ikke vil miste eller lekke; ta minst 3 separerte backups av innhold (f.eks. bilder) du ikke vil miste; akseptere at vi alle er kompromitert uansett (på kombinasjon av sosiale medier og andre spor rundt omkring).

I løpet av konferansen kom det opp et par alternativer for å få mer hands-on erfaring med sikkerhetshull og hvordan man beskytter mot dem:
http://cryptopals.com/
http://hackyourselffirst.troyhunt.com/

Alt i alt var dette en spennende og veldig lærerik konferanse, og kan anbefales til folk som er ute etter litt faglig sikkerhetspåfyll til neste år. Foredragene holdt et bra faglig nivå, uten å være hverken for vanskelige eller for lette, og ble godt presentert.

Knowits Julekalender 2015

27.11.15 -

Knowit er tilbake med fjorårets julekalendersuksess! Hver dag frem til julaften finner du bak luka en ny julenøtt i form av en programmeringsoppgave. Du kan selv velge teknologi for å løse oppgaven.


https://julekalender.knowit.no/

Meld deg på allerede nå, første luke kan åpnes 1. desember.

Den heldige (og flinke) vinneren kan glede seg til en valgfri smarttelefon.

Knowit ønsker deg en fin og geeky førjulstid!

Brewit – faggruppen for ølbrygging

06.11.15 -

I Knowit har vi ansatt-drevne faggrupper. Hvem som helst kan opprette en faggruppe så lenge den deler med andre i form av en blogpost, foredrag eller annet.

“Vi kobler noe IoT-hardware til bryggeprosessen, kaller det en faggruppe og brygger vårt eget øl!” Det var utgangspunktet vårt når vi opprettet Brewit, faggruppen for ølbrygging. MEN! Det har blitt så mye mer, så mye mye mer!

.NET ANdroid app ASP.NET C# Code first Coffeescript Continuous delivery DevOps Dijit Dojo Elasticsearch Electronics Enterprise Entity framework EPiServer 7 Git GitHub Groovy HTML5 iOS Java JavaScript log4net logging Maven Messaging mobile MVC.NET native Node.js nosql release Ruby RubyMotion SignalR simplify Søk Test Driven Development thinking Unit testing usability Vagrant Windows 8 Windows Store

Big Data, tekstanalyse og skytjenester

02.11.15 -

Alle gode ting er tre, det vet jo alle som er glade i kinderegg. Men Knowits nye skytjeneste gir deg ingen uventede overraskelser, kun en solid plattform hvor du kan utforske og visualisere dataene dine. Vår første løsning på den nye plattformen, «TV 2 Program Monitor» vant Dataforeningens pris for det mest innovative Business Intelligence (BI) prosjektet i 2015. Juryen pekte blant annet på hvordan data fra sosiale medier integreres og analyseres med data fra interne kilder, og hvordan resultatet presenteres visuelt for sluttbrukerne.

TV 2 har over 1 million følgere i sosiale medier på sine programmer og kanaler. Disse kommenterer, deler og synser om innholdet til TV 2. Dette er svært verdifulle data som de frem til nå ikke har vært i stand til å utnytte på noen god måte. Sentralt i prosjektet er derfor innhenting og analyse av tekst fra sosiale- og trykte medier, blant annet Facebook. Enkel tilgang på all relevant informasjon vil gi mer kunnskap om seeradferden, og hvilke faktorer som påvirker programvalg. Målet er å kunne ta raskere og bedre beslutninger om kanal-/programinnhold for å øke seerantallet.

Figuren nedenfor viser løsningens overordnede systemarkitektur. Meldinger fra ulike medier leses inn, analyseres og kategoriseres. Resultatet fra tekstanalysen sammenstilles med blant annet data om seerantallet for de enkelte programmene. TV 2 logger seg på løsningen fra en helt vanlig web-leser eller iPad, og kan se informasjonen visuelt fremstilt i ulike interaktive rapporter og dashbord. Dette er en «in-memory analytics»-løsning, som lynraskt prosesser data og oppdaterer rapportene etter som brukerne klikker seg rundt i løsningen.

Avanserte språkmodeller og algoritmer ligger til grunn for tekstanalysen. Sentimentanalysen angir om teksten har positiv, negativ eller nøytral ordlyd. Emoticons og emojis (smileys J) er blitt en meget viktig del av meldinger på sosiale medier, og har avgjørende betydning for hvordan vi oppfatter «ordlyden» i teksten, noe som modellene våre ivaretar. Figuren nedenfor viser et søylediagram over antall meldinger og type sentiment for programmet Norske Talenter. Ved å klikke på en søyle/farge, får man opp en tabell med alle meldingene i det sentimentet på den valgte dagen.

Vi klassifiserer også innlegg etter faktorer som kan forklare hvorfor seeren likte/ikke likte innholdet i et program – dette kaller vi «driverne». Tradisjonell markedsanalyse har bidratt til å forklare hvilke drivere som er viktige for ulike programsjangere, som f.eks. humor, livsstil og drama. Vi ønsker å identifisere tekst som kan forklare seeradferden. Modellen er bygd opp av ord og uttrykk som seerne bruker. Disse matches mot meldinger for de enkelte programmene og sammen gir disse oss «driverne», eller profilen til et program. Profilen sier noe om seeradferden, og i hvilken grad man treffer målgruppene.

Nedenfor er en visualisering av tekstanalysen for Norske Talenter. Denne gir en rask oversikt over hva som styrker og svekker seerantallet til Norske Talenter over tid. Ved å klikke på en av driverne, får vi se nøyaktig hva som blir skrevet, og dermed direkte tilbakemeldinger på typiske spørsmål programavdelingen spør seg: “Er det personer, sendetid eller temavalg som ikke fungerer?”

Ved å kombinere data fra tekstanalysen med blant annet data for seertall (seerutviklingen minutt for minutt) kan programavdelingen i TV 2 ikke bare se hvor godt et program har slått an, men også hva som har påvirket seerutviklingen. Dette er kunnskap som kan utnyttes til å fortløpende endre og forbedre programinnholdet. Tekstanalysen brukes også til utvikle algoritmer som kan predikere sannsynlighet for suksess for nye programmer, og optimal sammensetning av programmer på en kanal.

Løsningen er et samarbeid mellom ID Management og Knowit. ID Management har utviklet forretningskonseptet, Knowit står for applikasjonsutvikling, forvaltning og infrastruktur knyttet til skyløsningen. SAS Institute er leverandør av software. Dette er en tjeneste som blant annet kombinerer rådgivning innen virksomhetsutvikling og informasjonsforvaltning, Data Management og avansert analyse, inklusive SAAS (software as a service) og IAAS (infrastructure as a service).

Løsningskonseptet kan lett videreutvikles og tilpasses nye prosjekter og behov. Sammen innehar partnerne en unik og omfattende kompetanse når det gjelder å skape verdier ut av dine data. Ta kontakt med enten Knowit (ingvar.larsson@knowit.no) eller ID Management (espen@idmanagement.no) hvis du vil høre mer om våre innovative og fremtidsrettede løsninger.

Vi gratulerer TV 2 som årets vinner av BI-prisen for innovasjon, her representert ved programdirektør Trond H. Kvernstrøm (foto: Mattis Thørud).

 

Hvor går VG-trafikken?

19.10.15 -

 

En forsideanalyse av VG.no viser at Schibsteds største trafikkmaskin kun sender trafikk til sine egne nettsteder.

Hva kan vi lære av Medier24?

14.10.15 -

På kort tid har den lille nettavisen Medier24 fått et solid fotfeste i mediebransjen. Det kan være skremmende for de etablerte aktørene, men det bør først og fremst være en inspirasjon for andre journalister som vil starte sin egen nettavis.

Video fra JavaZone 2015

22.09.15 -

Knowit deltok med 4 lyntaler på årets JavaZone. De er ute på Vimeo, ta en kikk!

Bygg for endring – Jan Henrik Gundelsby from JavaZone on Vimeo.

Farvel til JavaScript med Scala.js – Sigmund Marius Nilssen from JavaZone on Vimeo.

Mine containere er lettere enn dine. Enklere uviklingsmiljø med Boot2Docker og Docker Compose. – Anders Breivik from JavaZone on Vimeo.

Retrofit – mobil REST på 1-2-3 – Christian Askeland from JavaZone on Vimeo.

Mobilstatistikk mai 2015

23.06.15 -

I Knowit jobber vi i flere fagfelt. Mobilutvikling er en av disse. I samarbeid med to av våre kunder ønsker vi å presentere statistikk fra det norske mobilmarkedet.

Med tall fra Ruters billettapp og TV 2s apper har vi et datagrunnlag vi tror vil være av interesse for både utviklere og beslutningstagere som jobber med mobilutvikling.

Windows uten Microsoft – Eller korleis klare seg som utvikler på Windows

19.05.15 -

Eg har jobba som utvikler i snart 15 år og alle disse åra har eg brukt Windows som utviklingsmaskin. Eg er for så vidt godt fornøgd med Windows, men det er ikkje alle verktøya som følger med OS-et som er så bra som dei kunne ha vore. Så i løpet av denne perioden har eg plukka opp eit sett med verktøy som eg bruker i mitt daglige virke som gjør dagen min lettare. Det er ikkje berre program som erstatter eller utvider Windows-funksjonaltet her, men også andre program som fortjener å få eit større publikum.

NB! Artikkelen er oppdatert.

Angular.js og Spring Security

23.03.15 -

I prosjektet mitt lager vi ein ny applikasjon der vi bruker Angular.js som rammeverk. Alle andre applikasjoner i prosjektet er laga i java og bruker spring-remoting for å snakke med baksystemet så det var naturlig å lage ein java-backend i applikasjonen som ligg som eit lag mellom angular og baksystemet . Applikasjonen krever innlogging så då bruker vi spring-security for å sikre både applikasjonen og forretningslogikken i baksystemet.

Java 8, TLS og IDPorten

15.09.14 -

I over to veker, fra 6. juni til 22. juni var prosjektet mitt sine innmeldingsskjema utilgjengelig for innlogging. Det vil seie at skjemaene var tilgjengelig, og pålogging fungerte sporadisk, men dei aller fleste påloggingsforsøk feila. Skjemaene er registrerte som lenketjenester i Altinn og dermed integrert med IDPorten. Integrasjonen er basert på Difi sin referanseimplementasjon som dei aller fleste slike integrasjoner, vil eg tru.

Det som skjedde i forkant av at pålogginga begynte å feile, var at vi hadde lagt ut ny versjon av applikasjonen i produksjon dagen før, der vi blant anna hadde oppgradert til Java 8. Denne konfigurasjonen hadde vi kjørt i test i ein god periode uten at vi hadde sett problemer med dette. Eg testa også å logge inn i skjemaet etter prodsetting, og såg at det fungerte som det skulle. Først på morgenen dagen etter begynte vi å sjå feilmeldinger i loggen som antyda at idporten.difi.no ikkje svarte på kalla våre.

Video fra JavaZone 2014

12.09.14 -

Knowit var synlig tilstede på årets JavaZone, med stand, konkurranser, fire lyntaler og ett foredrag. JavaZone er raske med å legge ut video, så her er våre bidrag tilgjengelig for alle:

Hvordan jeg fikk tredd Scala ned over hodet. – Tanja Milijana Gruschke from JavaZone on Vimeo.

Min hverdag som DevOps-utvikler – Runar Furenes from JavaZone on Vimeo.

Erfaringer fra 150 mikrotjenester – fordeler og ulemper – Jan Henrik Gundelsby from JavaZone on Vimeo.

Introduksjon til iBeacon – Anders Breivik, Hans Olav Nome from JavaZone on Vimeo.

Fem år med Scala i produksjon – Sigmund Marius Nilssen from JavaZone on Vimeo.

 

Alle nettavisenes forsider på ett sted

23.05.14 -

Jeg er en nyhetsjunkie som følger nyhetsbildet gjennom en rekke forskjellige nettaviser og andre kilder. Noe får jeg gjennom sosiale medier som Twitter og Facebook, men jeg er fortsatt en stor fan av å se på nettavisenes forsider.

Redigerbar webside med contenteditable

19.05.14 -

Det finnes forskjellige måter å få på plass muligheter for å redigere innhold på en nettside, ofte med hjelp av omfattende bruk av JavaScript. Med HTML5 kom attributtet contenteditable. Dette attributtet er en standard og fungerer i alle nyere nettlesere, inkludert IE8.

Nye standarder for responsive bilder er på vei

13.05.14 -

Responsive bilder er i dag en av de større utfordringene innen responsivt design. Hvilken løsning man skal velge er alltid et vanskelig valg.

Her bor Norges hundreåringer

09.05.14 -

For kort tid siden så jeg og sønnen min filmen Hundreåringen som klatret ut av vinduet og forsvant på vår Apple TVs. Det er en artig svensk film som tydelig har latt seg inspirere av Forrest Gump. I filmen følger vi hundreåringen Allan Karlsson som har opplevd mye i sitt hundre år lange liv, og på samme måte som Forrest Gump har han hatt en finger med i spillet ved en rekke historiske hendelser.

XBMC Plugin: Nectarine Demoscene Radio

02.05.14 -

Har de siste årene holdt et lite øye med Digitally Imported pluginen. Diverse endringer fra Digitally Imported har hatt en tendens til å brekke funksjonalitet. Siden jeg ser på denne pluginen som en nødvendighet i hverdagen, har jeg bidratt med mindre feilsøking og feilretting når problemer har oppstått. Dette var også det som inspirerte meg til å børste støv av pythonkunnskapene (som sist ble brukt for alvor i TDT4120 under algoritmeregimet til Magnus Lie Hetland) og prøve meg på pluginutvikling i påskehelgen.

En flørt med Android (og konvertering til GPE)

28.04.14 -

Katastrofen et faktum

Jeg ble bitt av et øyeblikks galskap og bestemte meg for å kjøpe en Android-telefon. Det er 3 år siden mitt forhold til Android ble endret fra “Married” til “It’s complicated” og alle mine devices sakte men sikkert fikk et halvspist eple som logo. Jeg har med andre ord levd i total symbiose med Apples vidunderlige gadgets. Frem til nå.

Klokken som viser hvilken uke det er

23.04.14 -

Jeg har ikke gått med klokke på armen siden jeg begynte i IT-bransjen i 1996. Den gangen tok mobiltelefonen over klokkefunksjonaliteten, og datidens mobiler hadde lite funksjonalitet utover å kunne brukes til å ringe og vise hva klokken til enhver tid er.

Hvor åpent er Android?

05.03.14 -

Google har brukt mye ressurser på å promotere Android som et «gratis og åpent» operativsystem for smarttelefoner. Kildekoden er lagt ut på nettet med en åpen lisens slik at alle kan laste ned og endre eller utvide den etter eget ønske. Men er det nok til åpent nok?

Ett år med RuterBillett

17.01.14 -

17. desember 2012 ble første versjon av appen RuterBillett lansert. Appen har nå vært tilgjengelig i litt mer enn et år og det er på tide med en oppsummering av status.

Har du sikret din Android-telefon?

16.01.14 -

Har du sensitiv informasjon på Android-telefonen din er det to ting du må gjøre: Kryptere innholdet og skru på fjernsletting. Skjermlås er kun en bra start.

Det norske Android-landskapet

02.01.14 -

Denne artikkelen presenterer statistikk over Android-telefoner i bruk i Norge, med nedlastninger av RuterBillett som kilde.

Native eller HTML5

23.12.13 -

Markedet for apps til smarttelefoner blomstrer, og det er ikke så rart når over 70% av alle nordmenn over 15 år har en smarttelefon i lommen. Det finnes flere alternative tilnærminger til utvikling av en mobil applikasjon, men disse kan i hovedsak deles inn i to grupper; native og HTML5.

Data configuration with Entity Framework 6 (Fluent API goodies!)

28.11.13 -

EF  6 came (finally!)  in october with huge improvements concerning the way a Code-First developer can control how data will be stored in the database (Control freak… I know!).
We will see in this short article how and where this could be done.

RubyConf

19.11.13 -

Jon har vært  på RubyConf i Miami. Til tross for forstyrrende elementer  som South Beach, South Beach og South Beach har han skrevet et referat fra oppholdet.

” Dag 1: 

Årets utgave av RubyConf arrangeres på Miami Beach. Det hele foregår på ett fancy hotell rett på stranda i South Beach, så beliggenheten er det ikke noe å si på.

Devoxx.be 2013

17.11.13 -

Øyvind og Tobias er på konferanse i Belgia og har gitt oss denne rapporten fra Devoxx.be

Dag 1: 

Etter en liten trikketur var vi på plass i Metropolis Business Center, som huser Devoxxkonferansen. Så langt har konferansen vært en bra opplevelse, på tross av mye køståing for å få mat, komme inn på foredrag, komme ut av foredrag, gå på do, og det meste annet. Etter å ha opplevd og blitt vant til det etegildet JavaZone er, så er vi litt for bortskjemte på konferansemat til å være

Öredev

15.11.13 -

Jan-Henrik har vært på Öredev og under følger en oppsummering han har skrevet fra konferansen:

Dag 1: 

Jeg vet ikke hva det var med meg i dag, men jeg klarte ikke helt å fokusere på de tekniske foredragene. Der jeg satt, på fjerde rad, i en foredragssal i Malmø, midt i en talk om management av distribuerte teams, fikk jeg vite at erfaring viser at det tar max 6 måneder fra man slutter å kode til man mister bakkekontakten med teknikerne. Et halvt år. Hmm.