Presentationer

Här finns presentationer från våra olika event. Håll dig uppdaterad, följ oss på LinkedIn

Callista medarbetare Niklas Antoncic

Stora språkmodeller i praktiken: Hur man använder dem på egen data med hjälp av Retrieval Augmented Generation Presentation

// Niklas Antoncic

Presentation från Cadec 2024 Göteborg

Presentation från Cadec 2024 Stockholm

Stora språkmodeller (LLM:er) är grunden för den kända ChatGPT, men det finns andra tillämpningar. Ibland vill man kunna arbeta med specifik data, t.ex. ny eller privat data, som LLM:en ännu inte har tränats på eller aldrig kommer kunna tränas på. Det är här Retrieval Augmented Generation (RAG) kommer in i bilden. RAG ger oss möjlighet att berika den generella språkkunskapen hos en LLM med specifik kunskap från andra källor.

I detta föredrag kommer Niklas bland annat att gå igenom begrepp som tokenisering, inbäddning, vektordatabaser och hämtning. Han kommer även att beskriva och demonstrera olika användningsfall med hjälp av en LLM och ett RAG-ramverk som båda finns tillgängliga som öppen källkod.

Callista medarbetare Johan Zetterström

Design för hög tillgänglighet i en distribuerad arkitektur Presentation

// Johan Zetterström

Presentation från Cadec 2024 Göteborg

Presentation från Cadec 2024 Stockholm

Att designa ett system med krav på hög tillgänglighet kräver genomtänkta avväganden gällande hur vi hanterar beroenden mellan komponenter, både inom vårt system och mot befintliga komponenter utanför systemet. Dessa befintliga komponenter kommer vi förmodligen ha ytterst begränsade möjligheter att påverka, och systemdesignen måste därmed göras utifrån de givna förutsättningarna.

Callista medarbetare Magnus Larsson

Kubernetes - Ut med den gamla Ingress:en och in med det nya Gateway-API:et Presentation

// Magnus Larsson

Presentation från Cadec 2024 Göteborg

Presentation från Cadec 2024 Stockholm

Kubernetes Ingress har tjänat oss väl genom åren genom att standardisera hanteringen av inkommande extern trafik till ett Kubernetes-kluster. Dock har Ingress-specifikationen ett antal brister och begränsningar vilket ofta leder till användning av leverantörsspecifika tillägg med hjälp av annoteringar eller CRD:er. En och samma Ingress-definition blandar delar som berör både klusteroperatörer och applikationsutvecklare, något som resulterar i ett oönskat delat ansvar för att hålla Ingress-definitionen uppdaterad.

Callista medarbetare Pär-Anton Westbom

Storslaget kul med småskalig ML Presentation

// Pär-Anton Westbom

Presentation från Cadec 2023 Göteborg

Presentation från Cadec 2023 Stockholm

Idag finns det maskininlärning överallt, t.ex. när vi scrollar social media, kollar vädret, tar en bild, letar musik på Spotify etc. Ofta körs detta på stora servrar någonstans i molnet. Men i många fall vill vi ha snabb respons och har kanske inte ens tillgång till ett nätverk. Hur gör man då?

Callista medarbetare Marcus Björklund Callista medarbetare Niklas Antoncic

Stable Diffusion - Machine Learning åt folket? Presentation

// Marcus BjörklundNiklas Antoncic

Presentation från Cadec 2023 Göteborg

Presentation från Cadec 2023 Stockholm

Varför är det sådan hype kring Stable Diffusion? Vi förklarar och demonstrerar state-of-the-art-tekniken för generativa modeller. I april 2022 presenterades DALL-E-2 och därefter Imagen som visade sig vara banbrytande modeller inom text-till-bild-generering. Dessa modeller, av typen Latent Diffusion, var stängd källkod och ägdes av Microsoft respektive Google. I augusti 2022 släpptes dock ytterligare en variant – kallad Stable Diffusion – som öppen källkod av ett tyskt forskningsinstitut. Detta medförde en formidabel explosion av användning av Machine Learning baserad på generativa modeller.

Callista medarbetare Jesper Holmberg

SQL är coolt igen – kolla in jOOQ Presentation

// Jesper Holmberg

Presentation från Cadec 2023 Göteborg

Presentation från Cadec 2023 Stockholm

SQL är coolt igen – eller i alla fall fortfarande relevant. Relationsdatabasen, vars död förutspåddes av NoSQL-förespråkarna för tio år sedan, fortsätter att hålla en central plats i våra lösningar. De alternativ som skulle ersätta den har hittat sina nischer, men relationsdatabasen finns fortfarande kvar.

Callista medarbetare Stephen White

Vill du ha världens svåraste jobb? Bli frontendarkitekt! Presentation

// Stephen White

Presentation från Cadec 2023 Göteborg

Presentation från Cadec 2023 Stockholm

De ansvarsområden och arbetsuppgifter som frontendarkitekten behöver hantera har ökat exponentiellt i mängd och svårighetsgrad under det senaste årtiondet. Det räcker inte med att hantera traditionella funktionella och icke-funktionella krav, man behöver även adressera och hantera en ständigt växande mängd områden.

Callista medarbetare Björn Beskow

Lätta trådar för tunga tillämpningar – vi synar Project Loom & Virtual Threads Presentation

// Björn Beskow

Presentation från Cadec 2023 Göteborg

Presentation från Cadec 2023 Stockholm

Javas programmeringsmodell för trådhantering är konceptuellt enkel, men tyvärr inte särskilt lämpad för massiv skalbarhet. Trådar i JVM:en hanteras och scheduleras av det underliggande operativsystemet och är därför en dyr och begränsad resurs. Reaktiva programmeringsmodeller – som t.ex. RxJava och WebFlux – löser det problemet men på bekostnad av en betydligt mer komplex programmeringsmodell och bristande utvecklarupplevelse.

Callista medarbetare Magnus Larsson

Microservices för nästa årtionde med Spring Boot 3 och Spring Framework 6 Presentation

// Magnus Larsson

Presentation från Cadec 2023 Göteborg

Presentation från Cadec 2023 Stockholm

Tredje generationen av det mest populära applikationsramverket för Java, Spring Boot, är här. Eftersom det går cirka fem år mellan generationsskiftena så kan vi förvänta oss stora förbättringar. Enligt Pivotal ska Spring Boot 3 ihop med Spring Framework 6.0 lägga grunden för det kommande decenniet. Mycket fokus är lagt på att förenkla utveckling av distribuerade system, t.ex. en arkitektur baserad på mikrotjänster eller FaaS (Function as a Service). Det här föredraget kommer belysa och demonstrera bland annat

  • Hur migrerar man från Spring Boot 2?
  • Kommer native-kompilering för snabbare uppstart och lägre minnesutnyttjande med GraalVM att bli vardagsmat nu?
  • Observerbarhet är nu en inbyggd del i Springs ekosystem, hur kan vi utnyttja det?
Callista medarbetare Erik Lupander

Datadriven reseplanering för elbilar – kostnadseffektivt med AWS och InfluxDB Presentation

// Erik Lupander

Presentation från Cadec 2022 Digital

Som nybliven elbilsförare ställs man inför en helt ny värld av laddkontakter, reseplanering och räckviddsångest. Det här föredraget handlar om hur föredragshållaren på ett enkelt och kostnadseffektivt vis byggde en molnbaserad lösning för att samla in mätvärden kring antalet lediga snabbladdare och hur denna data kan analyseras för att förutspå tillgänglighet inför en längre semester- eller tjänsteresa. Föredraget kommer lyfta fram hur en kombination av egenutvecklad kod, AWS-tjänster, API:er och en tidsseriedatabas åstadkom en lösning som är förvånansvärt lättviktig och billig i drift. Viss fördjupning kommer ske kring tidsseriedatabaser och varför de är så ytterst väl lämpade för att effektivt lagra och söka i det vi i dagligt tal kallar “metrics”.

Callista medarbetare Pär-Anton Westbom

Svelte – frontend på frammarsch som gör det lite annorlunda Presentation

// Pär-Anton Westbom

Presentation från Cadec 2022 Digital

Web-app utveckling idag har tre stora spelare React, Angular och Vue. På det stora hela är det inte jättemycket som skiljer dem åt – de är tillståndsdrivna, deklarativa och använder sig av DOM-jämförelser för att uppdatera det visuella användargränssnittet. Idag jagar man prestanda, utvecklarupplevelse (DX) och tillgänglighet. Svelte lovar bättre prestanda, enkelhet för utvecklaren (DX) och bättre tillgänglighet. Det har ett komponentbaserat, deklarativt sätt att göra det på, men gör det annorlunda än de stora spelarna idag. Svelte har ökat mycket i popularitet på sista tiden.

Callista medarbetare Björn Beskow Callista medarbetare Björn Genfors

Ubiquitous Language - från nybörjare till expert på 30 minuter Presentation

// Björn BeskowBjörn Genfors

Presentation från Cadec 2022 Digital

Ubiquitous Language - att låta verksamhetens språk genomsyra IT-miljön ända ner i programkoden - är ett centralt begrepp inom domän-driven design (DDD). Hur vi talar om, klassificerar och benämner de centrala begreppen i vår domän är ofta viktigare för slutresultatet än enskilda teknikval. Vi börjar från början med en genomgång av terminologihantverkets grunder. Därefter följer en beskrivning av hur man kan hantera en kontrollerad vokabulär rent datatekniskt, och vi går igenom några grundläggande principer för begreppshantering i de icke-triviala lösningarna. Slutligen sätter vi in denna kunskap i en praktisk utvecklarkontext - hur terminologiarbetet kan vägleda oss i både smått (såsom datamodellering, identifiering av aggregat och domän-events) som stort (såsom mikrotjänster, utformning av API:er, bounded contexts och context maps)

Callista medarbetare Pär Wenåker

WebAssembly - en runtime som rymt från browsern Presentation

// Pär Wenåker

Presentation från Cadec 2022 Digital

För mer än 25 år sedan introducerades JavaScript för att ge liv åt då ganska platta och livlösa webbsidor. Sedan dess har JavaScript utvecklats enormt och blivit ett av de vanligaste programmeringsspråken och JavaScript-plattformen används på fler ställen än bara i webbläsaren. WebAssembly är den första nya universellt stödda runtimen och språket för webbläsaren som har introducerats sedan JavaScript. Bara det faktum att webbläsare är en av de vanligaste plattformarna gör WebAssembly intressant, men WebAssembly har precis som JavaScript rymt från browsern och används i en massa andra sammanhang, t.ex. som runtime för blockchain, inom serverless och edge computing samt även som en fristående runtime. Det här föredraget kommer att ge en introduktion till WebAssembly och visa på några av användningsområdena, samt ge en inblick i hur framtiden kan se ut för denna fortfarande unga teknologi.

Callista medarbetare Erik Englund

Frontend med finess - kolla in Vue.js Presentation

// Erik Englund

Presentation från Cadec 2022 Digital

Djungeln med JavaScript-baserade frontendramverk kan tyckas snårig och svåröverskådlig för den oinvigde. Vart ska man vända sig för att uppleva den lägsta tröskeln utan att göra avkall på kompetent funktionalitet? Teamet bakom Vue.js utlovar ett högpresterande, progressivt och syntaktiskt enkelt ramverk, där god dokumentation ligger till grund för ett lågt insteg. Under denna presentation tar vi oss an Vue.js “Single File Component”-modell och demonstrerar uppbyggnaden av en Vue-applikation.

Callista medarbetare David Ström

Förstå meningen med meningen med hjälp av NLP Presentation

// David Ström

Presentation från Cadec 2022 Digital

De senaste 10 åren har området maskininlärning formligen exploderat och nya appar och tjänster som använder sig av denna teknik dyker upp som svampar ur jorden. Men vad är grunden till denna exponentiella tillväxt? Vad behöver jag som utvecklare kunna för att dra nytta av och implementera mina egna lösningar med denna teknik? I denna presentation borrar jag djupare i dessa frågor för att hitta svar som förhoppningsvis väcker upptäckarlusten till liv. Vi kommer titta på hur maskininlärning kan användas inom Natural Language Processing (NLP) som ett exempel. En av styrkorna med maskininlärning är dess breda tillämpbarhet och just därför kommer vi att undersöka hur lärdomar från maskininlärning inom NLP även skulle kunna användas inom andra områden. För att demonstrera att detta faktiskt kan leda till någonting praktiskt användbart så kommer vi titta närmare på hur vi med dessa tekniker t.ex. kan bygga en chatbot.

Callista medarbetare Stephen White

Från React till Jetpack Compose Presentation

// Stephen White

Presentation från Cadec 2021 - LIVE Online

React har sedan ett antal år banat vägen för ett nytt sätt att skapa användargränssnitt. Tidigare var det vanligt att imperativt skapa och hantera tillståndet för olika GUIkomponenter, något som kan leda till problem med komplex kod och att användargränssnittet kommer “ur synk” med modelldata. Med React beskriver man istället användargränssnittet och kopplingen till datamodellen på ett deklarativt sätt. Detta gör att oavsett hur eller i vilken ordning data i modellen ändras så kan man vara säker på att användargränssnittet alltid beter sig korrekt.