Blogg / Artiklar / Nyheter

AI AJAX Angular Async BGP C++ Clean-Code Coroutines E-post Firebase GIT Google Helg Historik HTTP IntroScope Java JavaScript JDBC Kursnyheter Log4j Loom Nodejs Nuxt PWA SOAP SPA Spring SSR Templates Threads Vue Zoom

De senaste artiklarna

Har du testat Chat GPT ännu?

Har du testat Chat GPT ännu?

5 april 2023

Vinterns stora snackis inom teknikområdet har helt klart varit Chat GPT. Ett helt enastående AI system, som utgör vårt tids orakel. Jag hade en liten pratstund om ditten och datten med denna. Häng med.

Spring kursen uppdaterad för Boot 3

Spring kursen uppdaterad för Boot 3

18 mars 2023

Kursen om Spring Framework och Spring Boot har blivit uppdaterad för Boot version 3 och Framework version 6.

Uppdaterad kurs om Modern C++ threads

Uppdaterad kurs om Modern C++ threads

17 mars 2023

Kursen om trådprogrammering (threads programming) har genomgått en omfattande uppdatering. Nytt är att den tar avstamp i C++20 och std::jthread. Sedan går vi hela vägen ned till PThreads C API för att förstå hur allt fungerar.

Skriverier under 2023

5 april 2023

Har du testat Chat GPT ännu?

Vinterns stora snackis inom teknikområdet har helt klart varit Chat GPT. Ett helt enastående AI system, som utgör vårt tids orakel. Jag hade en liten pratstund om ditten och datten med denna. Häng med.

Jag utgår från att du inte missat vårvinterns stora teknik-snackis, nämligen Chat GPT från Open AI. Reaktionerna har varit allt från förundran till förskräckelse. Oavsett vad man själv tycker i frågan, så är det ett faktum att AI finns enkelt...

Läs hela texten
Cirka 7 minuter att läsa
18 mars 2023

Spring kursen uppdaterad för Boot 3

Kursen om Spring Framework och Spring Boot har blivit uppdaterad för Boot version 3 och Framework version 6.

Kursen om Spring Framework och Spring Boot har blivit uppdaterad för Boot version 3 och Framework version 6. Notabelt är att Spring nu utgår från Java version 17 (senaste LTS), vilket innebär bl.a. stöd för Java records. Vidare, så har man lagt...

Läs hela texten
Cirka 2 minuter att läsa
17 mars 2023

Uppdaterad kurs om Modern C++ threads

Kursen om trådprogrammering (threads programming) har genomgått en omfattande uppdatering. Nytt är att den tar avstamp i C++20 och std::jthread. Sedan går vi hela vägen ned till PThreads C API för att förstå hur allt fungerar.

Kursen om trådprogrammering (threads programming) har genomgått en omfattande uppdatering. Nytt är att den tar avstamp i C++20 och std::jthread och fokuserar på att beskriva och förklara alla delar av biblioteket som handlar om trådning. Efter att...

Läs hela texten
Cirka 2 minuter att läsa
9 januari 2023

Ny kurs om Spring Batch

Spring Batch är ett ramverk, byggt ovanpå Spring Framework, som tillhandahåller alla man behöver för att designa robusta och skalbara batch applikationer. Denna kurs lär dig allt om item-readers, item-processor, item-writers, tasklets och mycket mer.

Idag har jag glädjen att presentera en helt ny kurs, som lär dig allt du behöver veta om att designa batch applikationer i Java, med Spring Batch. En batch applikation innebär att behandla en stor mängd data sekventiellt utan interaktion eller...

Läs hela texten
Cirka 2 minuter att läsa

Skriverier under 2022

22 november 2022

Vad är virtuella trådar i Java ?

I förra artikeln gjorde jag en historisk exposé om coroutines, som en inledning till denna artikel om virtuella trådar i Java 19. Här går jag igenom vad detta är och hur det på ett markant sätt skiljer sig från vanliga trådar i Java, samt var är poängen med det.

Det har nu gått ett flertal veckor sedan Java 19 släpptes och om du följt nyhetsflödet kring Java så har du troligtvis hört om begreppet virtuella trådar (Virtual Threads). Vad är då detta? I denna artikel tänkte jag reda ut begreppen och förklara...

Läs hela texten
Cirka 9 minuter att läsa
11 oktober 2022

Uppgången, fallet och återkomsten av coroutines

I förra artikeln skrev jag om några av nyheterna i Java 19 såsom moderna former av mönster-matchning (pattern matching). I denna artikel, lägger jag den historiska grunden för en serie artiklar om corutiner och hur Java programmering kommer att förändras med virtual threads och structured concurrency från project Loom, i takt med att detta rullas ut i de följande versionerna av Java.

Det här är andra delen av min artikelserie om nyheterna i Java 19. Det rör sig om väldigt nya nyheter, eftersom de utgör förhandsvisningar (preview) och även s.k. ruvande nyheter (incubating), d.v.s. kort och gott nya språkegenskaper som man håller...

Läs hela texten
Cirka 11 minuter att läsa
29 september 2022

Java version 19 är här

Java 19 innehåller ett antal förhandsvisningar av kommande funktionalitet. Här ska vi kika på några moderna former av mönster-matchning (pattern matching).

Java JDK version 19 släpptes i förra veckan. Nu mera släpper Oracle en ny version två gånger per år (vår och höst). Version 19 innehåller ett antal förhandsversioner av funktionalitet (preview features), som vi ska kika på i detta inlägg. Ny...

Läs hela texten
Cirka 7 minuter att läsa
20 september 2022

Användning av await, del 3 av serien om asynkron programkod

Genom att skriva await framför anropet till en promise-returnerade funktion blir asynkron programkod betydligt enklare att förstå och bygga vidare på. Detta är del 3 i vår serie om asynkron programkod i JavaScript.

Den här artikeln tar vid direkt efter där förra veckans artikel slutade. Det vi diskuterade förra vecka var begreppet promise och hur du använder det i JavaScript. Den första artikeln i denna serie diskuterade call-back funktioner och de problem med...

Läs hela texten
Cirka 7 minuter att läsa
13 september 2022

3 former av asynkron bearbetning i JavaScript, del 2

Ett promise objekt erbjuder ett löfte om ett framtida värde och utgör ett mer angenämt verktyg för att skriva asynkron programkod i JavaScript. Detta är del 2 i vår artikelserie.

Den här artikeln tar vid direkt efter där förra veckans artikel slutade. Det sista vi tog upp förra veckan var begreppet call-back hell, som innebär att varje fortsättning i programexekveringen efter någon form av väntetid, utförs av en nästlad...

Läs hela texten
Cirka 8 minuter att läsa
6 september 2022

3 former av asynkron bearbetning i JavaScript

Asynkron bearbetning/hantering (eng. asynchronous computation)? I korthet, innebär det att anropa en funktion vid ett senare tillfälle när resultatet av en operation (t.ex. ett musklick eller ett HTTP anrop) är klart.

Vad innebär asynkron bearbetning/hantering (eng. asynchronous computation)? I korthet, innebär det att anropa en funktion vid ett senare tillfälle när resultatet av en operation (t.ex. ett musklick eller ett HTTP anrop) är klart. Funktionen som...

Läs hela texten
Cirka 5 minuter att läsa
23 augusti 2022

Node.js kursen uppdaterad

Kursen om Node.js har just blivit uppdaterad och moderniserad. Vi använder nu ESM (ECMAScript Modules) i alla våra större programexempel.

En s.k. disruptiv uppfinning, innebär ett nytillskott till en marknad eller annan form av intressegruppering, som i grunden förändrar spelreglerna, spelplanen och vilka aktörer som blir ledande. Man kan utan tvekan hävda att när Ryan Dahl...

Läs hela texten
Cirka 10 minuter att läsa
5 augusti 2022

Sommaren snart slut

Sommaren går nu mot sitt slut och vi har laddat kurskalendern med många nya datum fram till jul.

Sommaren går nu mot sitt slut, efter en härlig klassisk sommar med ömsom sol och regn. Vi kan dock njuta av ytterligare några fina högsommardagar. När jag skriver detta (en sen eftermiddag) är det 29 grader utanför i skuggan. Jag hoppas du har haft...

Läs hela texten
Cirka 2 minuter att läsa
22 juni 2022

Nu är det äntligen Midsommar

Sommaren och semestern är här och vi håller stängt fram till den 1 augusti.

Efter en osedvanligt sen och kall vår har det blivit dags för Midsommar. Gårdagen bjöd på högsommarväder medan dagens väder mer liknar november. Vi håller tummarna för att fredagens väder, dvs Midsommarafton, blir mer som tisdagen än som onsdagen....

Läs hela texten
Cirka 1 minut att läsa
7 juni 2022

Oj, är sommaren här!

Oj, vad tiden går fort när det är mycket att göra. Vi har under våren genomfört ett flertal företagsanpassade kursen, samt fjärrkurser via Zoom.

Vi har under våren varit helt fullbokade med såväl företagsanpassade kurser, som fjärrkurser via Zoom. Så till den milda grad att vi helt missat att uppdatera vårt kursschema med datum för hösten. 😳 Stay tuned, som man säger. Vi jobbar på det just...

Läs hela texten
Cirka 1 minut att läsa
12 april 2022

Glad Påsk, 2022

Glad Påsk önskar Ribomation

Så är då våren här äntligen, efter att tvekat betänkligt hittills under april. Passa på och njut ute i vårvärmen och ladda D vitaminer. På torsdag börjar Påsken med Skärtorsdag, vilken enligt Wikipedia, har fått namnet efter "Skär" som...

Läs hela texten
Cirka 1 minut att läsa
1 april 2022

Första april, 2022

Om aprilskämt i en svunnen tid.

I dag är det första april och som brukligt publiceras en mängd aprilskämt. Jag tänkte inte göra det här, utan däremot berätta om skämt/pranks jag gjorde på den tiden det begav sig och jag var doktorand på KTH i Stockholm. På den här tiden använde vi...

Läs hela texten
Cirka 1 minut att läsa
25 mars 2022

Java version 18 har publicerats

I mars 2022 släpptes version 18 av Java. Antalet nyheter är tämligen begränsat i denna version, men jag tar upp kompilerbara kodsnuttar i JavaDoc.

Version 18 av programspråket Java är en så kallad Non-LTS, vilket innebär en support-tid på bara sex månader, dvs fram till att nästa version släpps. Numera publicerar Oracle nya versioner två gånger per år, i mars respektive september. Dessa...

Läs hela texten
Cirka 7 minuter att läsa
16 mars 2022

Ny kurs om C++ templates

Idag presenterar vi en helt ny kurs om C++ templates. Du får lära om allt du kan tänkas vilja veta om detta intressanta och för C++ helt vitala teknikområde.

Det går knappast att skriva ett (icke-trivialt = seriöst) program i C++ utan att använda sig av färdiga templates. Huvuddelen av standardbiblioteket i C++ bygger på templates, såsom STL algorithms, iterators och containers. Emellertid, anses också...

Läs hela texten
Cirka 3 minuter att läsa
7 januari 2022

Så här fungerar Log4j buggen Log4Shell

En grundlig genomgång av log4j/log4shell buggen med kompletta kodexempel för att illustrera hur allvarligt hot denna utgör.

I början av december 2021 drabbades Java världen av en shock, som det kommer ta lång tid att hämta sig från. Då publicerades en rapport om ett mycket allvarligt säkerhetshål i det mest vanligaste logging ramverket i för Java applikationer,...

Läs hela texten
Cirka 16 minuter att läsa

Skriverier under 2021

31 december 2021

Gott Nytt År 2021

Vi önskar alla våra kunder ett riktigt Gott Nytt År och ett hopp om att Corona pandemin går mot sitt slut under 2022.

Vi önskar alla våra kunder ett rikigt gott nytt år och ett hopp om att Corona pandemin går mot sitt slut under 2022. Bilden ovan är från nyårs-afton 2012 i centrala London, strax efter tolvslaget då det blivit 2013 och himlen vid Themsen är full av...

Läs hela texten
Cirka 1 minut att läsa
24 december 2021

God Jul 2021

Vi önskar alla våra kunder en riktigt God Jul och skänker en förhoppning att pandemin ska vara över snart.

Så har då Julfriden äntligen lägrat sig, efter ytterligare ett år präglat av Corona pandemin. Vi hoppas att du har klarat dig undan covid-19 eller frisknat till. Tills sist, koppla av nu och vi på Ribomation önskar dig en riktigt God Jul

Läs hela texten
Cirka 1 minut att läsa
13 oktober 2021

Dekompilering och felsökning i Oslo

Hur jag dubblerade antalet samtidiga HTTP anrop genom att dekompilera och hitta en bugg i ett bibliotek för anrop av webb-tjänster

Jag fick ett meddelande från min chef: Jens, we need you in Oslo. The customer cannot scale their new banking system, which is scheduled for deployment next month. Jump on a plane, go by train, ride on a horse or just hitchhike; but get your ass...

Läs hela texten
Cirka 4 minuter att läsa
6 oktober 2021

Kryptering hos den galna kon

Hur jag byggde en krypteringslösning för en bank i Zürich, samtidigt som jag hamnade hos den galna kon i staden

Jag fick ett meddelande från min chef. Jens, we need you in Zürich. You need to brush up your skill-set in cryptography and hash-generating functions. Then come up with a solution for how to authenticate our monitoring Java agents when they attempt...

Läs hela texten
Cirka 3 minuter att läsa
10 september 2021

Felsökning på Arlanda

Hur jag hittade ett allvarligt prestandaproblem för en kund medan jag väntande på ett försenat flyg.

Jag fick ett samtal från min chef: Jens, we need you in Hemel Hempstead. We have prospective customer with a system that keeps crashing. Get your ass up there, first thing tomorrow morning. Det här var för samma företag, jag berättade om i mitt förra...

Läs hela texten
Cirka 3 minuter att läsa
27 augusti 2021

Minnesläckage i Valencia

Hur jag identifierade ett svårfunnet Java minnesläckage i Valencia

Jag var ute och gick med hunden en tidig morgon och min chef ringde på mobilen: God morning Jens, we need you in Valencia. There is a client with a severe hard-to-find memory leak in their business-critical application. Jag skyndade tillbaka hem och...

Läs hela texten
Cirka 3 minuter att läsa
19 augusti 2021

Höstterminen börjar

Hösten är här

Efter en rekordvarm sommar, går vi nu in i hösten. Corona pandemin verkar äntligen bedarra (förhoppningsvis). Vi har uppdaterar vårat kursschema med datum för hösten både som fjärrkurser, men också klassrumskurser i våra lokaler på Östermalmstorg i...

Läs hela texten
Cirka 1 minut att läsa
2 augusti 2021

Spring Framework & Boot

Ny kurs om Spring Framework och Spring Boot

Det finns inget Java ramverk som på ett mer genomgripande sätt förändrat hur vi designar och implementerar affärs-applikation under de senaste 15 åren som Spring Framework. Via Spring Boot är det lekande lätt att bygga själv-konfigurerande...

Läs hela texten
Cirka 1 minut att läsa
24 juni 2021

Glad Midsommar

Så var sommaren äntligen här

Så var sommaren äntligen här. Nu tar vi och firar Midsommar på traditionsenligt vis och så ses vi igen i augusti. Bilden här illustrerar hur det brukar var i praktiken just på Midsommar, men vi brukar ju alltid önska oss att just denna sommar så blir...

Läs hela texten
Cirka 1 minut att läsa
16 juni 2021

Vad är Java Records?

Så här kommer du igång med att använda Records i Java 16.

Java version 16, som släpptes i mars, bjöd på en riktigt stor syntaktisk nyhet, nämligen Records. I korthet, är det oföränderliga (immutable) klasser med förenklad syntax och automatgenererade åtkomst (access) metoder. Så, vad är då vitsen med detta...

Läs hela texten
Cirka 3 minuter att läsa
9 juni 2021

Vad är en Progressive Web App (PWA)?

Kortfattad genomgång av vad som menas med en progressiv webbapplikation (PWA)

Jag har i tidigare artiklar beskrivit hur webben evolverat från MPA (multi-page app) med AJAX till SPA (single-page app). Vidare, hur bristen på SEO (search engine optimization) i SPA resulterat i SSR (server-side rendering) respektive BGP (build...

Läs hela texten
Cirka 2 minuter att läsa
1 juni 2021

Vad är Server-Side Rendering?

Principen för Server-Side Rendering (SSR)

I förra artikeln skrev jag om Single-Page Applications och avslutande med att start-tiden inte är den största invändningen mot SPA, utan det är bristen indexerbart innehåll för sökmotorer, eftersom dessa bara ser rot-taggen. T2FMP När en webbläsare...

Läs hela texten
Cirka 3 minuter att läsa
27 maj 2021

Vad är SPA?

Principen för Single-Page Application (SPA)

I förra artikeln skrev jag om AJAX och avslutande med att den logiska slutpunkten av att dynamiskt bygga upp en webbsida via DOM API, är att enbart skicka över en root app tag, vilken sen ersätts med hela sid-innehållet. <body> <div...

Läs hela texten
Cirka 4 minuter att läsa
12 maj 2021

Vad är AJAX?

Hur den moderna webb-arkitekturen evolverat under tre decennier

När webben skapades för en sisådär 30 år sedan, byggde det på en enkel princip om state-less. Koppla upp, begära en fil, få tillbaka resultatet, samt koppla ned. Och så var det inte mer med det. För varje knapptryckning (state change) på en webbsida...

Läs hela texten
Cirka 2 minuter att läsa
6 maj 2021

När jag av misstag sänkte mail-servern på KTH

En berättelse från en "svunnen tid" om vådan av auto-mail handlers

Det jag ska berätta om denna gång hände för 30 år sedan och är glömt och förlåtet. Det var en tid då e-post fortfarande var en relativt ny företeelse och webben (så som vi känner den) inte startat ännu. KTH / TDS / PPS Vid denna tid jobbade jag som...

Läs hela texten
Cirka 3 minuter att läsa
27 april 2021

Vad fanns före webben?

En kort historik om föregångare till internet under 1980-talet.

För cirka 30 år sedan skapades webben/nätet, eller mer tekniskt formulerat HTTP protokollet tillsammans med HTML som dokumentformat. Men det fanns föregångare! Gopher Gopher protokollet skapades ungefär samtida med HTTP, men betraktas som dess...

Läs hela texten
Cirka 3 minuter att läsa
20 april 2021

Vad är cookies?

En kort historik om cookies med en personlig touch

När HTTP skapades för runt 30 år sedan, dvs webben/nätet, utgick man från en tämligen enkel modell. En webbläsare bad en server att skicka innehållet i en (HTML) fil och sen var det inte mer med det — dvs operationen vara helt state-less. Varje anrop...

Läs hela texten
Cirka 4 minuter att läsa
7 april 2021

Vår teknikstack

Vår teknikstack (Eating our own dog food)

Vi är ju ett utbildningsföretag, som uteslutande vänder sig till verksamma programmerare. Det här innebär bland annat, att vi ständigt monitorerar ny teknik, nya ramverk och nya programspråk. Det här gör vi av två skäl, dels för att det faktiskt är...

Läs hela texten
Cirka 2 minuter att läsa
30 mars 2021

Glad Påsk

Glad Påsk och HTTP 418

Så är då våren här i full fart och Påskhelgen infaller i slutet på denna vecka och inleds med Skärtorsdagen, som också utgör den 1 april. Jag har inte för avsikt att dra ett eget aprilskämt, men tänkte berätta om ett annat. Den 1 april 1998...

Läs hela texten
Cirka 2 minuter att läsa
25 mars 2021

Java 16

Java version 16

Sedan några år tillbaka, kommer det två utgåvor av språket Java per år. Om allt går som planerat, så släpps version 16 under nästa vecka (16/3). Tanken med frekventa utgåvor är att stegvis introducera nya språk-konstruktioner. Vanligtvis förs en ny...

Läs hela texten
Cirka 1 minut att läsa
20 mars 2021

Vad är Node.js?

Några ord om server-side JavaScript, dvs Node.js?

Node.js har på mindre än ett decennium fullständigt ändrat perceptionen av JavaScript och vad språket kan användas för. Plattformen har klart kommit att starkt utmana Java som primär platform för applikationsutveckling. Det tekniska skälet är att...

Läs hela texten
Cirka 2 minuter att läsa
15 mars 2021

Vad är server-less?

Vad innebär begreppet server-less?

Begreppet server-less är inte en materialfråga utan snarare en ägarfråga. Det här utgör också fundamentet för cloud computing. När du designar och implementerar ett system som ska driftsättas på en molnplattform, dvs vara server-less, innebär det att...

Läs hela texten
Cirka 2 minuter att läsa
10 mars 2021

Clean Code

Städa upp i existerande kod

Att ta hand om och förvalta existerande kod är ett särskilt kunskapsområde och förutsätter en viss stoisk attityd. Emellertid, finns det bra metoder för att stegvis omvandla programkod till att vara mer hanterbar. Begreppet Clean Code innebär just...

Läs hela texten
Cirka 2 minuter att läsa
5 mars 2021

Mer om C/C++

Mer om programspråket C++

Jag började programmera i språket C under första halvan av 1980-talet. Ett av mina första gig var att skriva ett plotting system på en IBM PC AT, för ett av våra stora företag som tillverkar vitvaror. Från en textfil genererad av deras stordator...

Läs hela texten
Cirka 2 minuter att läsa
28 februari 2021

Zoom

Att koppla upp sig med Zoom

Att hålla fjärrkurser via Zoom är något vi har blivit experter på sedan i våras. Vid det här laget har vi undervisat många deltagare i ett flertal olika ämnen. Emellertid, det som fortfarande är en sk utmaning är första kursdagen och första...

Läs hela texten
Cirka 1 minut att läsa
20 februari 2021

Om fjärrkurser

Att arbeta och utbilda på distans

Coronan har nog för alltid ändrat vår uppfattning om arbete och utbildning. Efter ett drygt halvår med fjärrarbete känns det helt normalt att sitta hemma framför en kameralins och prata med arbetskamrater och/eller kursdeltagare. De flesta delar nog...

Läs hela texten
Cirka 1 minut att läsa
10 februari 2021

Java 26 år

Språket Java fyller 26 år i vår

Under våren var det 26 år sedan språket Java lanserades. Det hade skapats av James Gosling som en spinn-off på det då nyss nedlagda Project Green för inbyggda system hos SUN Micro Systems och det tillhörande språket Oak. I maj 1995 berättade...

Läs hela texten
Cirka 2 minuter att läsa
30 januari 2021

Ny kurs om C++ för Minnesbegränsade System

Ny kurs om C++ for Memory Constrained Systems

Jag har ju i tidigare nyhetsbrev uttryckt en viss extra omsorg om just språket C++. Under årens lopp har jag utbildat och vässat kunskaperna på 100-tals C/C++ programmerare på våra industriföretag. Ett återkommande spörsmål under kurserna är just...

Läs hela texten
Cirka 1 minut att läsa
20 januari 2021

Mitt C++

Hur jag började programmera i C++

Jag har en bekännelse att göra, som förhoppningsvis är lagd ad acta. Under 1980-talet programmerade jag primärt i C. Jag hade dock börjat kika på C++ under andra halvan av det decenniet. Jag tyckte språket var klart intressant även om det var aningen...

Läs hela texten
Cirka 1 minut att läsa
10 januari 2021

C++

Varför språket C++ skapades

Programspråket C++ skapades av Bjarne Stroupstrup i slutet på 1970-talet, som ett pragmatiskt sätt att implementera händelsedrivna simuleringssystem i programspråket C. Bakgrunden var att Bjarne efter slutförda studier på Århus universitet i Danmark,...

Läs hela texten
Cirka 1 minut att läsa

Skriverier under 2020

31 december 2020

Gott Nytt År 2020

Vi önskar alla våra kunder ett riktigt Gott Nytt År och hoppas på att nästa blir bättre.

Så går då detta pandemi år mot sitt slut. Året har verkligen bjudit på utmaningar, där somliga mist en nära och kära i förtid och andra sjuknat in men återhämtat sig. Vi kan inte låta bli att visa en bild, som verkligen har blivit viral och...

Läs hela texten
Cirka 1 minut att läsa
24 december 2020

God Jul 2020

Vi önskar alla våra kunder en riktigt God Jul, trots att den präglas av Corona pandemin.

Så har då Julfriden äntligen lägrat sig, i detta år som präglats av Corona pandemin. Vi hoppas att du har klarat dig undan covid-19 eller frisknat till. Under året har vi ställt om till att primärt genomföra fjärrkurser via det omåttligt populära...

Läs hela texten
Cirka 1 minut att läsa
-->