Nyheter och blog

Nyheter och blogg

An image that describes something
Glad Påsk, 2024
27 mars 2024

Glad Påsk önskar Ribomation

An image that describes something
Ny fortsättningskurs om Perl Modules & UDT
18 mars 2024

Ny fortsättningskurs i Perl, där du får lära dig allt om att moduler, referenser, att designa klasser, skriva API dokumentation, enhetstestning och mycket mer.

An image that describes something
1BRC - Summering
16 feb. 2024

Det är dags att summera 1BRC. I denna artikel tabellerar jag topplistan av lösningsförslagen, samt även mina egna lösningar i olika programspråk, jag diskuterat i tidigare artiklar.

An image that describes something
1BRC - C med eller utan malloc
5 feb. 2024

Hur implementerar man en hash-tabell i C? Ska man använda malloc eller kan man klara sig utan? Hur ska man resonera om minneshantering i C. Har det tillkommit något nytt i språket de senaste 30 åren? Hur snabbt blev det i C jämfört med vår tidigare version i C++?

An image that describes something
1BRC - Erlang
29 jan. 2024

Hur klarar språket Erlang utmaningen 1BRC. I denna artikel lär jag ut lite kort om själva språket och går sen i detalj igenom hur lösningsprogrammet fungerar. Givetvis, kör vi programmet och mäter förfluten tid, baserad på olika filstorlekar. Hur snabbt tror du Erlang är?

An image that describes something
1BRC - JavaScript / Node.js
25 jan. 2024

Hur matchar modern JavaScript mot klassisk JavaScript, vad gäller exekveringstid för 1BRC (1 Billion Row Challenge)? I denna artikel implementerar jag två lösningar, dels med moderna förtecken via användning av await och dels enligt klassisk continuation-style med event-handlers. Vilken vinner, tror du?

An image that describes something
1BRC - Python vs. Perl
23 jan. 2024

Hur matchar Python jämfört med Perl, när det kommer till 1BRC? I denna artikel, implementerar jag en lösning till 1BRC (1 Billion Row Challenge) dels i Python och dels i Perl och mäter tiden för att behandla olika filstorlekar. Vem vinner, tror du?

An image that describes something
Optimerad 1BRC i C++
18 jan. 2024

Det här är en direkt fortsättning på förra artikeln. I denna artikel, implementerar jag en betydligt mer optimerad lösning, för att se hur vi kan minska ned totaltiden. Bl.a. memory-mapped I/O, multi-threaded aggregation och thread-private heaps.

An image that describes something
Jag blev nerd sniped - 1BRC++
16 jan. 2024

Här fortsätter jag vidare med 1BRC och visar en rättfram implementation i Modern C++.

An image that describes something
The 1 Billion Row Challenge
10 jan. 2024

Så har det blivit ett nytt år och vi skriver 2024. I detta inlägg tar jag upp nyårets stora snackis 1BRC - The 1 Billion Row Challenge.

An image that describes something
Gott Nytt År
31 dec. 2023

Vi önskar ett riktigt Gott Nytt År till alla våra befintliga, nya och kommande kursdeltagare.

An image that describes something
God Jul
18 dec. 2023

Vi önskar en riktigt God Jul till alla våra befintliga, nya och kommande kursdeltagare.

An image that describes something
Ny kurs om programspråket Perl
16 dec. 2023

Vår nya Perl-kurs är utformad för att ge en omfattande förståelse för språket. Vi börjar med att täcka grunderna i Perl-programmering, inklusive variabler, datatyper, kontrollstrukturer och funktioner. Därefter fokuserar vi på avancerade koncept som reguljära uttryck, filhantering, databehandling och modulär kodning.

An image that describes something
Ny kurs om programspråket Erlang
15 dec. 2023

Ny kurs om programspråket Erlang. Kursen vänder sig till programmerare som snabbt behöver lära sig språket Erlang. Detta gör vi genom att konsekvent jämföra syntax och semantik för Erlang med andra mer konventionella programspråk som Java, JavaScript, Python och C++.

An image that describes something
Maven kursen uppdaterad
11 dec. 2023

Kursen om byggnationsverktyget Maven har blivit uppdaterad och förlängd till två kursdagar.

An image that describes something
CMake kursen uppdaterad
26 nov. 2023

Kursen om byggnationsverktyget CMake har blivit uppdaterad till att omfatta version 3.28, med ett helt nyskrivet kapitel om presets.

An image that describes something
Vintern nalkas
3 nov. 2023

Vintern är på väg, eller med en popkulturell referens "Winter is coming". Här berättar jag lite hur hösten har varit.

An image that describes something
Ny kurs om Docker och Docker Compose
22 aug. 2023

Docker är helt klart en kolossalt användbar och populära teknik. Att kunna dra igång en databas-server på mindre än en minut, att kunna kompilera och köra C++ applikationer utan att först installera GCC/Make/CMake/..., att kunna dra igång en Express.js server direkt utan att a rätt version Node.js/NPM på plats är helt enkelt fantastiskt!

An image that describes something
Välkommen tillbaka - Höstterminen börjar
10 aug. 2023

Semestervädret efter midsommar har väl lämnat en hel del extra att önska. Här på Ribomation har vi inte legat på latsidan, utan genomfört en hel del kodmässiga renoveringar av våra system.

An image that describes something
Glad Midsommar!
20 juni 2023

Vädret i juni så här långt har ju varit helt fantastiskt och vi håller tummarna för att det fortsätter på det viset, varvat med lite regn så att inte all växtlighet torkar ut. Nu tar vi sommarledighet och öppnar återigen i augusti.

An image that describes something
Glöm AI, har du testat TI ännu?
1 juni 2023

I ett tidigare utskick diskuterade jag Chat GPT och för- och nackdelar med att använda AI stöd i sitt arbete. Ett annat relaterat AI stöd; är GitHub's Co-pilot, som par-programmerar direkt med dig och den kod du skriver i din moderna IDE. Ytterligare en variant att känna till, är TI.

An image that describes something
Har du testat Chat GPT ännu?
5 apr. 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.

An image that describes something
Spring kursen uppdaterad för Spring Boot 3
18 mars 2023

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

An image that describes something
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.

An image that describes something
Ny kurs om Spring Batch
9 jan. 2023

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.

An image that describes something
Vad är virtuella trådar i Java?
22 nov. 2022

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.

An image that describes something
Uppgången, fallet och återkomsten av coroutines
11 okt. 2022

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.

An image that describes something
Java version 19 är här
29 sep. 2022

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

An image that describes something
Användning av await - asynkron programkod
20 sep. 2022

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.

An image that describes something
3 former av asynkron bearbetning i JavaScript, del 2
13 sep. 2022

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.

An image that describes something
3 former av asynkron bearbetning i JavaScript
6 sep. 2022

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.

An image that describes something
Node.js kursen uppdaterad
23 aug. 2022

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

An image that describes something
Sommaren snart slut
5 aug. 2022

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

An image that describes something
Nu är det äntligen Midsommar
22 juni 2022

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

An image that describes something
Oj, är sommaren här!
7 juni 2022

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.

An image that describes something
Glad Påsk, 2022
12 apr. 2022

Glad Påsk önskar Ribomation

An image that describes something
Första april, 2022
1 apr. 2022

Om aprilskämt i en svunnen tid.

An image that describes something
Java version 18 har publicerats
25 mars 2022

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.

An image that describes something
Ny kurs om C++ templates
16 mars 2022

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.

An image that describes something
Så här fungerar Log4j buggen Log4Shell
7 jan. 2022

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

An image that describes something
Gott Nytt År 2021
31 dec. 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.

An image that describes something
God Jul 2021
24 dec. 2021

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

An image that describes something
Dekompilering och felsökning i Oslo
13 okt. 2021

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

An image that describes something
Kryptering hos den galna kon
6 okt. 2021

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

An image that describes something
Felsökning på Arlanda
10 sep. 2021

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

An image that describes something
Minnesläckage i Valencia
27 aug. 2021

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

An image that describes something
Höstterminen börjar
19 aug. 2021

Hösten är här

An image that describes something
Spring Framework & Boot
2 aug. 2021

Ny kurs om Spring Framework och Spring Boot

An image that describes something
Glad Midsommar
24 juni 2021

Så var sommaren äntligen här

An image that describes something
Vad är Java Records?
16 juni 2021

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

An image that describes something
Vad är en Progressive Web App (PWA)?
9 juni 2021

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

An image that describes something
Vad är Server-Side Rendering?
1 juni 2021

Principen för Server-Side Rendering (SSR)

An image that describes something
Vad är SPA?
27 maj 2021

Principen för Single-Page Application (SPA)

An image that describes something
Vad är AJAX?
12 maj 2021

Hur den moderna webb-arkitekturen evolverat under tre decennier

An image that describes something
När jag av misstag sänkte mail-servern på KTH
6 maj 2021

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

An image that describes something
Vad fanns före webben?
27 apr. 2021

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

An image that describes something
Vad är cookies?
20 apr. 2021

En kort historik om cookies med en personlig touch

An image that describes something
Vår teknikstack
7 apr. 2021

Vår teknikstack (Eating our own dog food)

An image that describes something
Glad Påsk
30 mars 2021

Glad Påsk och historien bakom HTTP 418

An image that describes something
Java 16
25 mars 2021

Java version 16 har just blivit tillgänglig

An image that describes something
Vad är Node.js?
20 mars 2021

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

An image that describes something
Vad är server-less?
15 mars 2021

Vad innebär begreppet server-less?

An image that describes something
Clean Code
10 mars 2021

En kurs om hur du kan städa upp i existerande kod med hjälp av clean code

An image that describes something
Mer om C/C++
5 mars 2021

Mer om programspråket C++

An image that describes something
Zoom
28 feb. 2021

Att koppla upp sig med Zoom

An image that describes something
Om fjärrkurser
20 feb. 2021

Att arbeta och utbilda på distans

An image that describes something
Java 26 år
10 feb. 2021

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

An image that describes something
Ny kurs om C++ för Minnesbegränsade System
30 jan. 2021

Ny kurs om C++ for Memory Constrained Systems

An image that describes something
Mitt C++
20 jan. 2021

Hur jag började programmera i C++

An image that describes something
C++
10 jan. 2021

Varför språket C++ skapades

An image that describes something
Gott Nytt År 2020
31 dec. 2020

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

An image that describes something
God Jul 2020
24 dec. 2020

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