Artikel top billede

Han gør dine programmer hurtigere, del 2

Hvordan får en århusiansk gård betydning for japanske mobiltelefoner, og hvad er de fremtidige planer for Chrome? Læs anden del af interviewet med den virtuelle maskinmester Lars Bak.

Efter Lars Bak stoppede med at arbejde for Sun, fortsatte han samarbejdet med de to studenterprogrammører Kasper Lund og Jakob Roland Andersen.

Denne gang med at konstruere en Smalltalk-baseret virtuel maskine til embeddede enheder. Det skete via selskabet OOVM.

"Vi ville forsøge at lave et meget dynamisk system til embeddede enheder. Ideen var, at vi ville lave det, som vi gerne ville have det til at være.

Derfor tog vi ingen investorer ind til at starte med. Vi tog ud på min gård og kodede. Kasper og Jakob skrev speciale, mens jeg var vejleder. Efter et års arbejde tog vi venture kapital ind, og Steffen Grarup startede på projektet," fortæller Lars Bak.

OOVM blev solgt i 2004 til schweiziske Esmertec. Ifølge Lars Bak er det især i japanske mobiltelefoner, at den Smalltalk-baserede VM er blevet anvendt.

I forbindelse med salget af OOVM til Esmertec fulgte Lars Bak med ind i Esmertec.

Da kontrakten med Esmertec udløb i 2006, spurgte Google, spurgte om han ikke ville lave noget hos dem.

"Man skal veksle mellem forskellige ting," mener Lars Bak, som derfor tog imod tilbuddet.

Etableringen af Google Århus

Da jeg spørger, om Google Århus blev etableret på grund af ham, svarer han lidt undvigende og beskedent:

"Hovedformålet med Google Århus var at udvikle V8. Vi startede to personer (Kasper Lund og Lars Bak, red.), og vi sad på min gård udenfor Århus og programmerede.

Vi åbnede så kontor i Forskerparken nogle måneder senere. Virtuelle maskiner er et håndværk; man går ikke bare hen og læser en bog om det. Der er en masse forskellige discipliner, man skal forstå sammenhængen af, og her har jeg selvfølgelig en del ekspertise.

Vi har nu en lille gruppe her i Århus, der er meget effektiv," fortæller Lars Bak, som ikke vil fortælle, hvor mange udviklere, der har været med i V8-udviklingen.

"Normalt taler vi ikke om, hvor mange vi er, og da vi ofte arbejder på tværs af landegrænser i projektgrupper, giver det sjældent mening at tale om, hvor mange vi er," lyder det.

JavaScript og DOM vil smelte sammen

Nu, da Chrome er lanceret, hvilke projekter vil Lars Bak så kaste sig over?

"Det er klart, at med min erfaring indenfor VM er der mange andre programmeringsplatforme, der kunne gøres bedre. Men vi er ikke færdige med V8. Den skal gøres endnu hurtigere," siger Lars Bak.

Skel mellem JavaScript og DOM forsvinder

En af måderne at gøre Chrome endnu hurtigere er ved at udviske skellet mellem JavaScript og DOM.

"Vi vil lave en tættere integration mellem DOM og JavaScript. I rigtige webapplikationer opererer du tit på DOM'en fra JavaScript, og fra DOM'en sker der også noget med JavaScript.

Så hele den interaktion, der sker med DOM-knuder, er kompleks. Vi anvender Webkit (open source browser engine, red.) som er skrevet i C++ til at håndtere DOM'en.

For hver DOM-knude skal der allokeres et JavaScript-objekt, så der skal oprettes en pegepind mellem de to verdener.

Det er en meget kompliceret proces med at håndtere garbage-collection og en del andre ting mellem de to verdener. Hvis man smelter det sammen, så kan vi bruge JavaScript-garbage collectoren til at operere hurtigt på knuderne i DOM'en.

Det er det langsigtede projekt; at få DOM til at være en del af JavaScript.

Jeg regner med en kæmpe performanceforbedring og samtidigt sparer vi noget plads," siger Lars Bak begejstret.

JavaScript i stedet for C++

Det lyder umiddelbart som et dårligt bytte; at erstatte C++-kode med JavaScript?

"Jamen, vi har også implementeret libraries i JavaScript. Vi forsøger at presse det mest muligt.

Over tid er det en stor fordel, at bibliotekerne er skrevet i JavaScript. Det betyder, at bibliotekerne kan udvides uden at ændre den virtuelle maskine.

Debuggeren i V8 er også skrevet i JavaScript. Den loades dynamisk, når der er brug for det.

Vi kan på den måde bruge hele dynamikken i JavaScript. Jo mere du kan begrænse, hvad der kører i C++, jo bedre chance er der for, at det er robust," siger Lars Bak med et grin, inden han kommer ind på tiden efter V8.

"Vi er ikke færdige endnu. Der kommer nok et nyt projekt. Jeg er bedst i første del af et projekt. Når V8 går over i vedligehold, så er det nok bedst at fase mig ud," siger Lars Bak, der bedyrer, at han ikke har nogle konkrete ideer om, hvilket projekt han kaster sig over efter V8.

Chrome og sikkerheden

Da jeg bringer spørgsmålet om sikkerhed og privatlivsforstyrrelse op i forbindelse med Googles Chrome-browser, virker Lars Bak irriteret for første gang under interviewet.

"Jeg er uforstående over for noget af kritikken. Specielt fordi det er open source, så man kan se, hvordan det virker. I stedet for at man blot postulerer noget," påpeger Lars Bak.

Udover at speede performance op, var et andet design-kriterie for Chrome nemlig at forbedre sikkerheden.

"Vi har lavet forskellige tiltag for sikkerhed. Blandt andet sandboxing, så renderprocessen ikke har adgang til operativsystemet eller andet faneblad i samme browser.

Renderprocesen, der danner billedet og kører JavaScript, har en meget snæver protokol tilbage til browseren. Selvom du finder et hul i renderprocessen, kan du ikke udnytte det.

Fanebladet kan crashe, men du kan ikke få adgang til noget. Du kan allokere mere memory, men det er sådan set det eneste. Og så har brugeren mulighed for at dræbe den proces," siger Lars Bak.

Chrome er også blevet kritiseret for, at sikkerhedsopdateringer foregår automatisk.

"Der har også været kritik af, om man kan tillade sig den slags automatiske opdateringer af sikkerhedshuller. Give me a break," sukker Lars Bak.

"Det er det, som anti-virusprogrammer gør hele tiden. Jeg er uforstående over for den slags kritik. Vi ønsker at forbedre browser-miljøet. Hvordan det kan blive vendt til noget negativt, er mig en gåde," lyder det fra en nærmest hovedrystende Lars Bak.

Giv noget tilbage

Noget som Lars Bak ikke ryster på hovedet af er Århus Universitet, hvor han startede sin karriere.

Nu, da han er blevet en kapacitet på sit område, underviser han i sin fritid studerende fra universitet i virtuelle maskiner.

"Det med at komme tilbage er vigtigt. Når man har specialiseret sig så meget, som jeg har, er det godt at kunne give noget tilbage," siger Lars Bak.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Hewlett-Packard ApS
Udvikling og salg af software, hardware, konsulentydelser, outsourcing samt service og support.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Compliance og strategisk it-sikkerhed efter DORA

Finansielle koncerner har i snit 85 sikkerhedsløsninger i drift – men er i snit op til 100 dage om at opdage et igangværende cyberangreb. Ydermere viser øvelser, at det typisk tager 4-6 uger at rense og genetablere sikker drift af centrale systemer efter et stort angreb. Fokus for dagen vil derfor være på henholdsvis governance samt om, hvordan du som it-leder i den finansielle sektor skal kunne håndtere fremtidens cybertrusler og arbejde effektivt med sikkerhed på et strategisk niveau.

04. april 2024 | Læs mere


EA Excellence Day

Hvad er det, der gør it-arkitektens rolle så vigtig? Og hvad er det for udfordringer inden for områder som cloud, netværk og datacentre, som fylder hos nogle af landets bedste it-arkitekter lige nu? Det kan du her høre mere om og blive inspireret af på denne konference, hvor du også får lejlighed til at drøfte dette med ligesindede.

16. april 2024 | Læs mere


IAM - din genvej til højere sikkerhed uden uautoriseret adgang og datatab

På denne dag udforsker vi de nyeste strategier, værktøjer og bedste praksis inden for IAM, med det formål at styrke virksomheders sikkerhedsposition og effektiviteten af deres adgangsstyringssystemer og dermed minimere risikoen for uautoriseret adgang og datatab. Og hvordan man kommer fra at overbevise ledelsen til rent faktisk at implementere IAM?

18. april 2024 | Læs mere