Dag 1

Det är med ett kunskapstörstande hjärta jag förbereder mig inför DevSum, detta år på Folkets hus i Stockholm.
En för mig tidigare obekant lokal som i mitt tycke reder sig rätt skapligt för ändamålet.
Tidigare år hölls det på Münchenbryggeriet som dög det också, och precis som förra året så är det lokalerna för keynotes och de ”större ämnena” som är i huvudsalarna där det blir som bäst, och de mindre rummen är ofta för varma med lite taskig luftkonditionering.

Keynote
Being Human – Hannah Fry

Hannah är en matematiker från UCL som visade skönheten via matematik.
Mänskliga faktorn är en del till varför det ofta blir fel vid trafiksituationer, hon visade CCTV från när bilar bytte fil till att gå igenom en stor klunga människor. Det är inget maskiner har problem med.

Hon visade att 97% av alla artiklar på Wikipedia till slut leder till filosofi sidan om man klickade på första länken i själva artikel texten.
Däribland om man gick via artikeln om One Direction så passerade man via E.Coli.

Hon erbjöd också en mängd intressanta grafer däribland den som visar hur kommunala infrastrukturen ser ut under ett dygn i London, och genom den data räkna ut var den mest kritiska punkten finns då det uppstår fel.

Något fascinerande, men också lite snuskigt, var när hon visade upp en mätning av nunors kognitiva förmåga och sedermera granska deras hjärnor när de avlidit för att hitta paralleller i forskning mot demens. Modigt att offra sin hjärna i forskningens namn.

Essential C# 8.0 – Mark Michaelis

Mark börjar med att fråga publiken vilka nya features vi skulle vilja ha i C# 8. Det enda publiken kommer på är att bli av med NullReferenceException. Och han belyser då att det talar väl för hur välutvecklat C# är idag. Och att det är den stora featuren i C# 8, som inte har ett satt release datum ännu.

Han visade exempel på hur man använder Nullable Reference Types och hur typerna måste matchas då det inte går att tilldela en NonNullable sträng till en nullable, och vi kan exempelvis inte skydda oss i metoder med att våra parametrar inte accepterar null. Detaljer kring detta blev för komplicerade att anteckna, jag hänvisar till länk längre ned.
Talaren förklarade också ihop med NonNullableTypes blir det vanskligt att deklarera variabler med  var.

Andra saker som kommer är Range, som används precis som i Swift. Samt Index, Async Streams och Records.

Det blev väldigt mycket och man försökte efter bästa förmåga hänga med och iscensätta egna scenarion i sitt huvud, men allt fastnade inte. Däremot kul att se denna feature introduceras och vad den kommer innebära för språket i framtiden.

Jag hittade en bra länk om man vill läsa mer om C# 8 här.

Deep probabilistic programming, the road to smarter AI – Michael Green.

Det här var ett spår som var lite för beroende av förkunskaper och förståelse inom Machine Learning, AI och dess begrepp. Michael körde igenom sina slides utan att vidare förklara något om innehållet. Något nytt som jag inte visste tidigare var att vi kan klassificera AI inom tre kategorier:

  • En begränsad version som är till för att exempelvis lära sig köra bil och klassificera sjukdomar.
  • En generell som använder kunskapen om att köra bil för att tillämpa det i en annan uppgift.
  • Super intelligens, att skala intelligens ovanför mänsklig kapabilitet på alla sätt. Det som Elon Musk är övertygad kommer hända.

 

Michael har under sina 23 år som han jobbat med AI aldrig sett några mordiska tendenser. Han tycker också att alla uttryck som existerar inom ML är överflödiga och de flesta är fundamentalt likadana och i sin essens väldigt simpla. Han nämner flera gånger vikten av att förstå modellerna vi använder och inom linjär regression så blir det oftast missvisande där det kan tas för stor höjd och resultat blir förvanskat. Och att vikten av visualisering så det visar vad man vill visa.

Vi behöver veta mer idag om vad vi deployar då för mycket av det som släpps är vet vi inte hur det egentligen fungerar. Exempelvis Uber bilen som körde ihjäl en cyklist.

Av alla talare hittills är Michael överlägset mest passionerad och tar nästan i så pass att han blåser ofta i mikrofonen.
Däremot hängde jag inte med riktigt här på varken filosofin eller innehållet. Kanske får ett tillfälle att se den igen senare.

You might not need a native app for that – Sam Bellen

Efter en hyffsad lunch fortsätter vi med något jag förväntade mig skulle handla om PWA, som var något helt annat.

Sam tog upp hur man kan använda browsers, i de flesta fall Chrome och Opera, för att replikera det som annars finns i native appar. Han refererade till trackingjs.com för polyfills på det som kanske inte stöds.

Han använde en egen gjord sida som slide, vilket var ett häftigt och nytt grepp och gjorde det presentationen mer engagerande.

Men i korthet så visade han en ansiktsdetektor, som kan känna av landmärken såsom ögon samt mun och på det viset placera ut Snap Chat liknande saker i sina bilder, eller filmer.
Han visade också hur man parkopplar en pulsmätare via bluetooth, men underströk vikten att begränsa sin filtrering vid sökningen.

Det finns även stegräknare och hur man plockar fram position via longitud och latitud. Häftigast var nog att se en virtuell assistant och via taligenkänning använda den som Siri, Alexa, Cortana eller andra liknande tjänster.
Annat häftigt var uppläsning av text och kunna ställa in om man ville ha man eller kvinna och hur rösten skulle låta.

Han belyste sin kärlek till webben och hur teknologin går framåt men man ska tänka efter på vilka features man vill använda. Mycket är fortfarande under utveckling.

Riktigt fräsiga grejer som erbjuder en hel del alternativ, precis som titeln föreslog. Ska försöka hålla ett öga på framfarten. Har tidigare bevittnat att Browser APIs är full med potential. Jag när ju en dröm att ha en fullfjädrad PWA app en vacker dag. Mozilla har en bra introduktion till dessa APIs här.

Hela Sams presentation finns att ta sig igenom på egen hand här.

Technology, Structure and Culture, the sweetness of Candy Crush – Marcus Walter

Marcus presenterade lite kort att titeln var en skenmanöver till att egentligen prata om hur de själva bedriver sin utveckling. Han presenterade däremot lite korta fakta:

  • 100 miljoner dagliga spel.
  • 1.4 miljarder avslutade spel.
  • 600 000 http requests per sekund.
  • 1.1 miljoner SQL queries per sekund.
  • Omkring 45 miljarder events per dag.

 

Sedan berättade Marcus om Kings resa genom åren. King.com var startskottet och en av världens 100 största sidor.
Däremot när Facebook introducerades så stal de nästan alla användare och King var nära att gå under.
Då kom Bubble Saga och då vände det.

Men när de släppte Candy Crush och spelarbasen exploderade höll allt som kunde gå sönder, sönder. De fortsatte så i åratal och de försökte komma ikapp. Marcus presenterade sedan varför de lyckades.

  1. Technology alignment. Att använda rätt verktyg till rätt saker. Eftersom backend och klienter delar samma kodbas kan de lätt skala ut sina servrar.
  2. Freedom. De kör med intern Open-Source. Alla som vill får bidra till kodbasen på deras interna GitHub. Deras filosofi är att man får alltid tillbaka mer genom att inte tala om vad alla ska göra. Alla har åtkomst till alla konton om de inte förhindras av legala skäl. Annars tar man inte ägarskap för sin kod.
  3. Mandate and Ownership. Genom att alla tar ansvar för sin kod, det man implementerar är ens eget ansvar. Det är däremot helt okej att misslyckas, de uppmuntrar att man lär från det istället. Marcus själv fick på sin första dag kravet att skriva något som sedan kom direkt ut i produktion. De rullar hellre framåt än att rulla tillbaka kod. De utvecklar det som de tycker verkar kul.

 

Buggar existerar inte förrän man hittar en, och hittar man en skall man åtgärda den omedelbart och inte rapportera in i ett verktyg.

De hade ett spännande och rätt unikt sätt att arbete som väckte många nyfikna frågor från publiken och tankar från undertecknad.
En fråga är ju vilken typ av utvecklare som passar för denna typ av arbetsmiljö? Jag personligen fungerar inte väl med hastiga byten mellan saker, men det är jag. Eller blir det lättare när man får välja själv enligt det Marcus beskrev?

Avslutningsvis

Jag hann tyvärr inte bevittna fler sessioner, men det här blir ett långt inlägg så jag delar jag upp det till två stycken.

Sammanfattningsvis tycker jag det varit en inspirerande och spännande dag. En aning ledsen över att jag inte kunnat mingla runt och se alla sessioner.

Frukosten hade goda mackor men koncentrerad juice (blä) men riktigt gott kaffe och croissanter.

Del två kommer om någon dag. Håll till godo så länge och ha en bra helg!