Gave Technologie

Papers we love: Solving the bank with rebel

01 juli 2017

Soms kom je een paper tegen waar een aantal dingen op een verrassende manier samenkomen. Voor mij was dit bij Solving the bank with rebel. Het gaat over DSL’s, twee van de auteurs zijn docenten van me geweest, het bedrijf waarbij het onderzoek in de praktijk is gebracht is een partner van Sogyo waar velen van ons mee bekend zijn en ik heb het met een collega al eens over dit onderzoek gehad, zij het op een informele manier en puur vanuit interesse.
Lees verder >>

Soms kom je een paper tegen waar een aantal dingen op een verrassende manier samenkomen. Voor mij was dit bij Solving the bank with rebel. Het gaat over DSL’s, twee van de auteurs zijn docenten van me geweest, het bedrijf waarbij het onderzoek in de praktijk is gebracht is een partner van Sogyo waar velen van ons mee bekend zijn en ik heb het met een collega al eens over dit onderzoek gehad, zij het op een informele manier en puur vanuit interesse.
Lees verder >>

Papers we love: Dapper – het debuggen van gedistribueerde systemen

01 juni 2017

Voor deze keer wil eens een heel ander type paper bekijken. Anders als gebruikelijk staat er nu een systeem centraal dat direct is ontstaan uit de industrie. Het is een paper van een team bij Google en heet Dapper, a Large-Scale Distributed Systems Tracing Infrastructure. Opvallend aan de context van deze paper is dat hij “from the trenches” is, echt ontstaan omdat er een praktisch probleem was waar een oplossing voor benodigd was.
Lees verder >>

Voor deze keer wil eens een heel ander type paper bekijken. Anders als gebruikelijk staat er nu een systeem centraal dat direct is ontstaan uit de industrie. Het is een paper van een team bij Google en heet Dapper, a Large-Scale Distributed Systems Tracing Infrastructure. Opvallend aan de context van deze paper is dat hij “from the trenches” is, echt ontstaan omdat er een praktisch probleem was waar een oplossing voor benodigd was.
Lees verder >>

Papers we love: What every computer scientist should know about floating-point arithmetic

15 mei 2017

Een van de meest onderschatte onderwerpen uit ons vakgebied zijn wat mij betreft ‘getallen’ of ‘cijfers’. Er zijn bijna geen onderwerpen te vinden waar de samenhang tussen geschiedenis, abstracties en technische beperkingen je zo hard om de oren slaat: signed en unsigned numbers , underflow , overflows, containers als BigInteger etc. Voor de mensen onder ons die een computer science en/of software engineering achtergrond hebben zal herinneren dat er menig college aan dit soort onderwerpen geweid is terwijl er voor veel mensen van de acadamy geldt dat zij hier proefondervindelijk het een en ander van hebben geleerd. Om iedereen nog eens op het hart te drukken hoe lastig iets conceptueel eenvoudigs als een getal kan zijn heb ik voor deze maand gekozen om dit onderwerp nader te belichten.
Lees verder >>

Een van de meest onderschatte onderwerpen uit ons vakgebied zijn wat mij betreft ‘getallen’ of ‘cijfers’. Er zijn bijna geen onderwerpen te vinden waar de samenhang tussen geschiedenis, abstracties en technische beperkingen je zo hard om de oren slaat: signed en unsigned numbers , underflow , overflows, containers als BigInteger etc. Voor de mensen onder ons die een computer science en/of software engineering achtergrond hebben zal herinneren dat er menig college aan dit soort onderwerpen geweid is terwijl er voor veel mensen van de acadamy geldt dat zij hier proefondervindelijk het een en ander van hebben geleerd. Om iedereen nog eens op het hart te drukken hoe lastig iets conceptueel eenvoudigs als een getal kan zijn heb ik voor deze maand gekozen om dit onderwerp nader te belichten.
Lees verder >>

Papers we love: Efficiency of projectional editing: A controlled experiment

01 mei 2017

De paper van deze keer heet Efficiency of Projectional Editing: A Controlled Experiment en beschrijft een experiment waarbij de auteurs proberen de efficiëntie van projectional editing te meten. Voordat we naar de paper kijken wil ik dit eerst ook even toelichten.
Lees verder >>

De paper van deze keer heet Efficiency of Projectional Editing: A Controlled Experiment en beschrijft een experiment waarbij de auteurs proberen de efficiëntie van projectional editing te meten. Voordat we naar de paper kijken wil ik dit eerst ook even toelichten.
Lees verder >>

Papers we love: Reactors, channels and event streams for composable distributed programming

15 april 2017

Deze maand wil ik het over een paper hebben die ergens vorig jaar is gepubliceerd. Het onderwerp, de betrokkenen en het gebruikte platform zijn vrij high-profile, waardoor het me gelijk prikkelde. De paper heeft de (lange) titel Isolates, channels, and event streams for composable distributed programming.
Lees verder >>

Deze maand wil ik het over een paper hebben die ergens vorig jaar is gepubliceerd. Het onderwerp, de betrokkenen en het gebruikte platform zijn vrij high-profile, waardoor het me gelijk prikkelde. De paper heeft de (lange) titel Isolates, channels, and event streams for composable distributed programming.
Lees verder >>

Papers we love: Black magic: het aantal elementen in een verzameling bepaald door de meest significante bits die sequentieel nul zijn

01 april 2017

Deze keer wil ik even stilstaan bij een probleem wat in eerste instantie heel triviaal lijkt, maar wat op grote schaal voor enorme uitdagingen kan zorgen. Dit probleem is het tellen van het aantal elementen in een verzameling, waarbij de verzameling technisch een zogenaamde multiset is. Concreet: gegeven een verzameling {2, 3, 2, 2, 3, 4, 5} zou je, vragend om het aantal unieke elementen, het antwoord 4 terug willen krijgen. De meest eenvoudige en trefzekere manier om dit te doen is door sequentieel door de verzameling heen te lopen en voor ieder element bij te houden dat je hem hebt gezien. Deze naïeve implementatie heeft als nadeel dat deze in lineaire tijd uitvoerbaar is en dat het geheugengebruik ook proportioneel is aan het aantal unieke elementen in de multiset.
Lees verder >>

Deze keer wil ik even stilstaan bij een probleem wat in eerste instantie heel triviaal lijkt, maar wat op grote schaal voor enorme uitdagingen kan zorgen. Dit probleem is het tellen van het aantal elementen in een verzameling, waarbij de verzameling technisch een zogenaamde multiset is. Concreet: gegeven een verzameling {2, 3, 2, 2, 3, 4, 5} zou je, vragend om het aantal unieke elementen, het antwoord 4 terug willen krijgen. De meest eenvoudige en trefzekere manier om dit te doen is door sequentieel door de verzameling heen te lopen en voor ieder element bij te houden dat je hem hebt gezien. Deze naïeve implementatie heeft als nadeel dat deze in lineaire tijd uitvoerbaar is en dat het geheugengebruik ook proportioneel is aan het aantal unieke elementen in de multiset.
Lees verder >>

Papers we love: Crash-Only Software

15 maart 2017

Instabiele software is iets wat we allemaal kennen. Het blijft hangen, is ineens onverklaarbaar langzaam, geeft timouts of crasht. Het is op zijn best irritant, maar in het slechtste geval kost dit zelfs mensenlevens. Gelukkig is het meestal niet zo desastreus en is het resultaat vooral dataverlies of data-corruptie. Onze software schrijven we dan ook (meestal) op een dusdanige manier dat we data duurzaam opslaan in systemen die zijn ontworpen om met onverwachte omstandigheden om te gaan. Dit kan bijvoorbeeld door gebruik te maken van een database welke zelf met o.a. een transaction log werkt om duurzame schrijfactie te garanderen. Ook denken we na over de levensduur van onze applicatie en introduceren we mogelijkheden om software op een deterministische manier te starten en te stoppen.
Lees verder >>

Instabiele software is iets wat we allemaal kennen. Het blijft hangen, is ineens onverklaarbaar langzaam, geeft timouts of crasht. Het is op zijn best irritant, maar in het slechtste geval kost dit zelfs mensenlevens. Gelukkig is het meestal niet zo desastreus en is het resultaat vooral dataverlies of data-corruptie. Onze software schrijven we dan ook (meestal) op een dusdanige manier dat we data duurzaam opslaan in systemen die zijn ontworpen om met onverwachte omstandigheden om te gaan. Dit kan bijvoorbeeld door gebruik te maken van een database welke zelf met o.a. een transaction log werkt om duurzame schrijfactie te garanderen. Ook denken we na over de levensduur van onze applicatie en introduceren we mogelijkheden om software op een deterministische manier te starten en te stoppen.
Lees verder >>

Papers we love: Debugging for Reactive Programming

01 maart 2017

Een van de onderwerpen waar Sogyo steeds meer om bekend begint te raken is Reactive Programming. Dit doen we meestal (altijd?) met de libraries van ReactiveX, welke een generieke en open source API aanbiedt voor een groot aantal talen. Mocht je nu denken: huh? Waar heb je het over, verdiep je dan eens in hun introductie.
Lees verder >>

Een van de onderwerpen waar Sogyo steeds meer om bekend begint te raken is Reactive Programming. Dit doen we meestal (altijd?) met de libraries van ReactiveX, welke een generieke en open source API aanbiedt voor een groot aantal talen. Mocht je nu denken: huh? Waar heb je het over, verdiep je dan eens in hun introductie.
Lees verder >>

Papers we love: Regular Expression Search Algorithm

15 februari 2017

Regular expressions zijn gaaf. Het zijn op het eerste gezicht obscure tekenreeksen die worden gebruikt om een patroon te definiëren wat gematcht kan worden aan een reeks tekst. Nu denk je misschien: het zoeken in tekst is toch niet zo’n ingewikkeld probleem? Helaas, dat is het wel.
Lees verder >>

Regular expressions zijn gaaf. Het zijn op het eerste gezicht obscure tekenreeksen die worden gebruikt om een patroon te definiëren wat gematcht kan worden aan een reeks tekst. Nu denk je misschien: het zoeken in tekst is toch niet zo’n ingewikkeld probleem? Helaas, dat is het wel.
Lees verder >>

Papers we love: Collaborative editing: hoe werkt dat eigenlijk?

01 februari 2017

Google drive, Microsoft office 365. Iedereen kent minimaal een van die producten. Maar hoe werken ze? Hoe kan er zo gemakkelijk met meerdere mensen aan een document gewerkt worden? Dat is precies wat ik me dus afvroeg. Na wat googlen kwam ik uit bij een artikel op Wikipedia, over Operational Transformation. Die pagina linkte weer naar een onderliggende paper die Concurrency control in groupware systems heet. Dit is dan ook de paper die ik deze maand wil bekijken.
Lees verder >>

Google drive, Microsoft office 365. Iedereen kent minimaal een van die producten. Maar hoe werken ze? Hoe kan er zo gemakkelijk met meerdere mensen aan een document gewerkt worden? Dat is precies wat ik me dus afvroeg. Na wat googlen kwam ik uit bij een artikel op Wikipedia, over Operational Transformation. Die pagina linkte weer naar een onderliggende paper die Concurrency control in groupware systems heet. Dit is dan ook de paper die ik deze maand wil bekijken.
Lees verder >>