<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Johan Loeckx &#8211; Smals Research</title>
	<atom:link href="https://www.smalsresearch.be/author/loeckx/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.smalsresearch.be</link>
	<description></description>
	<lastBuildDate>Thu, 09 Apr 2026 12:11:31 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.smalsresearch.be/wp-content/uploads/2026/01/cropped-cropped-Smals_Research-32x32.png</url>
	<title>Johan Loeckx &#8211; Smals Research</title>
	<link>https://www.smalsresearch.be</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Database Activity Monitoring (DAM)</title>
		<link>https://www.smalsresearch.be/database-activity-monitoring-dam/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Sun, 25 Nov 2012 12:11:44 +0000</pubDate>
				<category><![CDATA[Research Note]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.smalsresearch.be/database-activity-monitoring-dam/</guid>

					<description><![CDATA[Oplossingen voor Database Activity Monitoring registreren alle database queries om op deze manier interne en externe aanvallen op te sporen en het lekken van informatie of misbruiken van privileges te kunnen vaststellen. Doordat ze georiënteerd zijn rond data en redelijk transparant ontplooid kunnen worden, zijn ze een krachtig middel om de veiligheid van uw systemen [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Oplossingen voor Database Activity Monitoring registreren alle database queries om op deze manier interne en externe aanvallen op te sporen en het lekken van informatie of misbruiken van privileges te kunnen vaststellen. Doordat ze georiënteerd zijn rond data en redelijk transparant ontplooid kunnen worden, zijn ze een krachtig middel om de veiligheid van uw systemen aanzienlijk te verhogen. Bovendien kunnen ze ook dienen om uw audit trails te verfijnen en de integriteit ervan te verbeteren.</p>







            <div data-wp-interactive="core/file" class="wp-block-file">
                <object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.smalsresearch.be/wp-content/uploads/2012/11/Database-Activity-Monitoring-DAM.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of Database-Activity-Monitoring-DAM."></object>
                <a id="wp-block-file--media-3477d483-b439-4e53-883c-31744c8ce46b" href="https://www.smalsresearch.be/wp-content/uploads/2012/11/Database-Activity-Monitoring-DAM.pdf">Database-Activity-Monitoring-DAM</a><a href="https://www.smalsresearch.be/wp-content/uploads/2012/11/Database-Activity-Monitoring-DAM.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-3477d483-b439-4e53-883c-31744c8ce46b">Download</a>
                </div>
            ]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pingdom &#8211; Network Monitoring</title>
		<link>https://www.smalsresearch.be/pingdom-network-monitoring/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Thu, 25 Oct 2012 11:10:39 +0000</pubDate>
				<category><![CDATA[Quick reviews]]></category>
		<guid isPermaLink="false">https://www.smalsresearch.be/pingdom-network-monitoring/</guid>

					<description><![CDATA[Pingdom est une solution Software-as-a-Service pour le monitoring de services en ligne tels que les sites web, le DNS, la messagerie électronique… Pingdom est fortement recommandé pour les utilisateurs débutants et professionnels qui souhaitent rapidement et facilement mettre en place un monitoring de leur service. Pingdom is een Software-as-a-Service-oplossing voor de monitoring van online services [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Pingdom est une solution Software-as-a-Service pour le monitoring de services en ligne tels que les sites web, le DNS, la messagerie électronique… Pingdom est fortement recommandé pour les utilisateurs débutants et professionnels qui souhaitent rapidement et facilement mettre en place un monitoring de leur service.</p>




<p>Pingdom is een Software-as-a-Service-oplossing voor de monitoring van online services zoals websites, DNS, e-mail, etc. Pingdom wordt sterk aangeraden voor beginnende én professionele gebruikers die op een snelle en eenvoudige manier een effectieve monitoring van hun dienst willen opzetten.</p>







            <div data-wp-interactive="core/file" class="wp-block-file">
                <object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.smalsresearch.be/wp-content/uploads/2012/10/Pingdom-Network-monitoring.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of Pingdom-Network-monitoring."></object>
                <a id="wp-block-file--media-77447e50-8c7f-453c-b5bb-e7de51aba799" href="https://www.smalsresearch.be/wp-content/uploads/2012/10/Pingdom-Network-monitoring.pdf">Pingdom-Network-monitoring</a><a href="https://www.smalsresearch.be/wp-content/uploads/2012/10/Pingdom-Network-monitoring.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-77447e50-8c7f-453c-b5bb-e7de51aba799">Download</a>
                </div>
            ]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Gegevens delen van vitaal belang</title>
		<link>https://www.smalsresearch.be/gegevens-delen-van-vitaal-belang/</link>
					<comments>https://www.smalsresearch.be/gegevens-delen-van-vitaal-belang/#comments</comments>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Tue, 08 May 2012 08:02:08 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[egov]]></category>
		<category><![CDATA[Vitalink]]></category>
		<guid isPermaLink="false">/?p=4229</guid>

					<description><![CDATA[Het stoomt binnen het Vitalink team! Terwijl Smals naarstig bezig is met de ontwikkeling van het platform, is het Vlaams 03Agentschap voor Zorg en Gezondheid (VAZG) druk bezig met de uitrol van de eerste pilot projecten.  Een eerste project zal het medicatieschema zijn: Promotiefilmpje over het medicatieschema Zo getuige de media-aandacht dat het Vitalink project [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Het stoomt binnen het Vitalink team! Terwijl Smals naarstig bezig is met de ontwikkeling van het platform, is het Vlaams 03Agentschap voor Zorg en Gezondheid (VAZG) druk bezig met de uitrol van de eerste pilot projecten.  Een eerste project zal het <strong>medicatieschema</strong> zijn:</p>
<ul>
<li><a href="https://vimeo.com/41279683">Promotiefilmpje over het medicatieschema</a></li>
</ul>
<p>Zo getuige de media-aandacht dat het Vitalink project kreeg, na de officiële voorstelling van de pilootprojecten voorbije maandag 30 april:</p>
<ul>
<li><a href="https://www.rtv.be/artikels/nieuws/2012043011240359_turnhout-stapt-in-pilootproject-voor-gevensdeling-gezondheid">Turnhoutse regionale televisie</a></li>
<li><a href="https://www.tvl.be/nl/2012-04-30/pilootproject-voor-meer-transparante-medische-gegevens/">TV Limburg</a></li>
<li><a href="https://www.deredactie.be/cm/vrtnieuws/regio/oostvlaanderen/120502_Vitalink_proefproject">De redactie</a></li>
</ul>
<p>De aanpak van VAZG in het bijzonder vind ik erg snugger &#8212; in plaats van de &#8220;mastodont&#8221; aanpak die vaak aangewend wordt (en faalt) bij de eHealth projecten in het buitenland, kiest VAZG voor een <strong>tragere maar zekere uitrol vanuit de basis. </strong>Naar mijn mening heeft deze aanpak het meeste succes op slagen op lange termijn.</p>
<p>Het gaat immers om een zeer ingrijpende verandering en erg gevoelige gegevens&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smalsresearch.be/gegevens-delen-van-vitaal-belang/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>High Availability Concepts</title>
		<link>https://www.smalsresearch.be/high-availability-concepts-2/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Wed, 25 Jan 2012 09:21:29 +0000</pubDate>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Availability]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">https://www.smalsresearch.be/high-availability-concepts-2/</guid>

					<description><![CDATA[Centraal in het debat rond High Availability staat het zogenaamde &#8220;CAP theorema&#8221; dat stelt dat de consistentie van gegevens en beschikbaarheid niet beide kunnen gegarandeerd worden en bijgevolg strikt tegen elkaar afgewogen moeten worden. Concreet komt het erop neer dat systemen niet op elk ogenblik over de meest up-to-date informatie kunnen bezitten, als men hoge [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Centraal in het debat rond High Availability staat het zogenaamde &ldquo;CAP theorema&rdquo; dat stelt dat de consistentie van gegevens en beschikbaarheid niet beide kunnen gegarandeerd worden en bijgevolg strikt tegen elkaar afgewogen moeten worden. Concreet komt het erop neer dat systemen niet op elk ogenblik over de meest up-to-date informatie kunnen bezitten, als men hoge beschikbaarheid vereist.</p><p>Hoewel dit onoverkomelijk en dramatisch lijkt, kan men dit euvel in praktijk vaak verhelpen op voorwaarde dat men hier reeds tijdens de requirements analyse rekening mee houdt. De levensduur en vluchtigheid van de gegevens moet in kaart gebracht worden evenals de eisen op vlak van beschikbaarheid voor elke use-case, in plaats van voor het volledige systeem.</p><p>Als dit proces rigoureus uitgevoerd wordt, kan tijdens de architectuurfase de beschikbaarheid aanzienlijk verhoogd worden met een factor 40x (van 90 tot 99.75%). De uiteindelijke beschikbaarheid wordt bepaald door de kans op falen (menselijk, configuratie, hardware, software), maar ook door de tijd die nodig is voor de detectie en het herstellen van het incident. Om deze reden is een goed geoliede organisatie essentieel.</p><p>In deze nota worden aanbevelingen geformuleerd ter verhoging van de beschikbaarheid tijdens requirements analyse, wanneer de architectuur wordt uitgetekend, tijdens development, op infrastructuurvlak. Ook wordt het belang van transparantie, governance en automatisering aangetoond. Gezien de breedte van het onderwerp, zal de bespreking beperkt blijven tot een high-level overzicht.</p>







                <h1 class="wp-block-heading">Presentation</h1>
            
            


            <div data-wp-interactive="core/file" class="wp-block-file">
                <object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.smalsresearch.be/wp-content/uploads/2012/01/slides-High-Availability.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of slides-High-Availability."></object>
                <a id="wp-block-file--media-ec84a830-a53e-474d-88a8-15cfeeb5c97e" href="https://www.smalsresearch.be/wp-content/uploads/2012/01/slides-High-Availability.pdf">slides-High-Availability</a><a href="https://www.smalsresearch.be/wp-content/uploads/2012/01/slides-High-Availability.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-ec84a830-a53e-474d-88a8-15cfeeb5c97e">Download</a>
                </div>
            ]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>High Availability Concepts</title>
		<link>https://www.smalsresearch.be/high-availability-concepts/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Wed, 25 Jan 2012 09:18:37 +0000</pubDate>
				<category><![CDATA[Research Note]]></category>
		<category><![CDATA[Availability]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">https://www.smalsresearch.be/high-availability-concepts/</guid>

					<description><![CDATA[Centraal in het debat rond High Availability staat het zogenaamde “CAP theorema” dat stelt dat de consistentie van gegevens en beschikbaarheid niet beide kunnen gegarandeerd worden en bijgevolg strikt tegen elkaar afgewogen moeten worden. Concreet komt het erop neer dat systemen niet op elk ogenblik over de meest up-to-date informatie kunnen bezitten, als men hoge [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Centraal in het debat rond High Availability staat het zogenaamde “CAP theorema” dat stelt dat de consistentie van gegevens en beschikbaarheid niet beide kunnen gegarandeerd worden en bijgevolg strikt tegen elkaar afgewogen moeten worden. Concreet komt het erop neer dat systemen niet op elk ogenblik over de meest up-to-date informatie kunnen bezitten, als men hoge beschikbaarheid vereist.</p>




<p>Hoewel dit onoverkomelijk en dramatisch lijkt, kan men dit euvel in praktijk vaak verhelpen op voorwaarde dat men hier reeds tijdens de requirements analyse rekening mee houdt. De levensduur en vluchtigheid van de gegevens moet in kaart gebracht worden evenals de eisen op vlak van beschikbaarheid voor elke use-case, in plaats van voor het volledige systeem.</p>




<p>Als dit proces rigoureus uitgevoerd wordt, kan tijdens de architectuurfase de beschikbaarheid aanzienlijk verhoogd worden met een factor 40x (van 90 tot 99.75%). De uiteindelijke beschikbaarheid wordt bepaald door de kans op falen (menselijk, configuratie, hardware, software), maar ook door de tijd die nodig is voor de detectie en het herstellen van het incident. Om deze reden is een goed geoliede organisatie essentieel.</p>




<p>In deze nota worden aanbevelingen geformuleerd ter verhoging van de beschikbaarheid tijdens requirements analyse, wanneer de architectuur wordt uitgetekend, tijdens development, op infrastructuurvlak. Ook wordt het belang van transparantie, governance en automatisering aangetoond. Gezien de breedte van het onderwerp, zal de bespreking beperkt blijven tot een high-level overzicht.</p>







            <div data-wp-interactive="core/file" class="wp-block-file">
                <object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.smalsresearch.be/wp-content/uploads/2012/01/High-Availability-Concepts.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of High-Availability-Concepts."></object>
                <a id="wp-block-file--media-5e2dbc09-92a4-4aee-a969-bcec767dee8d" href="https://www.smalsresearch.be/wp-content/uploads/2012/01/High-Availability-Concepts.pdf">High-Availability-Concepts</a><a href="https://www.smalsresearch.be/wp-content/uploads/2012/01/High-Availability-Concepts.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-5e2dbc09-92a4-4aee-a969-bcec767dee8d">Download</a>
                </div>
            ]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Een man kijkt naar de wolken</title>
		<link>https://www.smalsresearch.be/een-man-kijkt-naar-de-wolken/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Wed, 21 Dec 2011 09:01:34 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[ethics]]></category>
		<category><![CDATA[High Availability]]></category>
		<category><![CDATA[NFRs]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">/?p=3608</guid>

					<description><![CDATA[Meten is weten, zo wordt er verteld.  Doet software wel wat je belooft wat ze doet? In enterprise applicaties is functionaliteit een belangrijk, maar vaak ook het gemakkelijkere deel van software ontwerp.  Zolang iedereen maar weet wat ie wilt: dat heeft meer  te maken met visie, duidelijke communicatie, verantwoordelijkheden en overleg, ethiek, eerlijkheid, psychologisch en [&#8230;]]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Meten is weten, zo wordt er verteld.  <strong>Doet software wel wat je belooft wat ze doet?</strong></p>
<p style="text-align: justify;">In enterprise applicaties is functionaliteit een belangrijk, maar vaak ook het gemakkelijkere deel van software ontwerp.  Zolang iedereen maar weet wat ie wilt: dat heeft meer  te maken met visie, duidelijke communicatie, verantwoordelijkheden en overleg, ethiek, eerlijkheid, psychologisch en sociologisch inzicht, dan met informatica.</p>
<h3 style="text-align: justify;">Niet-functionele requirements (NFRs) zijn de uitdaging</h3>
<p style="text-align: justify;">De niet-functionele requirements maken software ontwerp echter moeilijk op een andere manier omdat ze niet dicteren wàt de software moet doen, maar hoé ze haar werk moet doen.  Behalve dat het verband tussen niet-functionele requirements en een ontwerp <strong>minder expliciet</strong> zijn (hoe druk je robuustheid van software formeel uit in functie van de geschreven code?), <strong>verhogen ze ook aanzienlijk de dimensionaliteit</strong> van het op te lossen vraagstuk. Het is niet moeilijk om snelle code te schrijven, het wordt moeilijk als ze ook functioneel correct moet zijn, hoogbeschikbaar, schaalbaar, elegant, uitbreidbaar, goedkoop in onderhoud en ga zo maar voort.</p>
<p style="text-align: justify;">De vraag is: <strong>hoe kun je software leveren die een bepaalde beschikbaarheid belooft</strong> (bv. max. 8u downtime per jaar voor 99.9%) <strong>als je de beschikbaarheid nog nooit gemeten hebt?</strong> Of maar gedurende 3 maand in Acceptatie? Misschien had je geluk (goede statistische corner)? Is deze meting wel onder een realistische load gebeurd? Dezelfde redenering gaat op voor schaalbaarheid, fail-over, aanpasbaarheid, robuustheid, continuous operations, &#8230;</p>
<h3>Meet de test de applicatie of omgekeerd?</h3>
<p style="text-align: justify;">Uit ethisch standpunt zou dus elke applicatie die in productie gezet wordt, rigoureus getest moeten worden op alle NFRs.  Hiervoor moet uiteraard test-software geschreven worden.  Essentieel hierbij is dat de test-software zeer goed geschreven en beheersd wordt, zodat we bij het verkijgen van een resultaat zeker weten dat deze beïnvloed werd door de applicatie en niet door de test.  Dit is de reden waarom test-apparatuur in elektronica zo duur is, bijvoorbeeld.</p>
<h3 style="text-align: justify;">De arrogantie van de onwetendheid</h3>
<p style="text-align: justify;">Als een mens naar de wolken kijkt en zegt welke figuur zij/hij ziet, zegt dit meer over die persoon dan over de wolken. Niemand heeft de arrogantie om anders te beweren &#8211; waarom kunnen we dan niet hetzelfde bij software ontwerp?</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Waarom McDonalds niet synchroon werkt</title>
		<link>https://www.smalsresearch.be/waarom-mcdonalds-niet-synchroon-werkt/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Mon, 21 Nov 2011 08:57:12 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[asynchronous design]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">/?p=3479</guid>

					<description><![CDATA[De laatste tijd moet ik vaak de discussie voeren waarom traditioneel silo-based synchrone ontwerpen niet geschikt zijn voor schaalbare systemen.  Een systeem wordt schaalbaar genoemd als elke verdubbeling van de infrastructuur voor een gelijkaardige toename van het aantal parallelle requests zorgt, zonder verlies van performantie. Dit klinkt niet zo uitdagend? Dit kunnen we op de [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>De laatste tijd moet ik vaak de discussie voeren <strong>waarom traditioneel silo-based synchrone ontwerpen niet geschikt zijn voor schaalbare systemen</strong>.  Een systeem wordt schaalbaar genoemd als elke verdubbeling van de infrastructuur voor een gelijkaardige toename van het aantal parallelle requests zorgt, zonder verlies van performantie. Dit klinkt niet zo uitdagend? Dit kunnen we op de standaard manier bekomen?</p>
<p>Tijd dan voor een denkoefening: we gaan de klassieke manier van ontwerpen toepassen op de werking van een McDonalds restaurant&#8230;</p>
<h2><span id="more-3479"></span>Synchrone verwerking</h2>
<p>Bij McDonalds is <strong>de verwerking van de bestellingen ontkoppeld van het vervaardigen van de hamburgers.  </strong>Beeld u in dat een verkoper verantwoordelijk zou zijn voor de hele (verticale) keten.   Hij zou de bestelling opnemen, de hamburger klaarmaken,de afrekening geven en slechts dan de volgende klant bedienen.  Als deze handeling 5 minuten duurt, kun je met één verkoper 12 klanten kunnen bedienen per uur.</p>
<p>Hij zou niet weten dat de volgende bestelling identiek zou zijn.. Hij zou voortdurend van context moeten veranderen (handen wassen), geld in ontvangst nemen.   Ook zou er erg moeilijk samengewerkt kunnen worden tussen de verschillende verkopers. Niet echt efficiënt dus.</p>
<p>&nbsp;</p>
<h2>Geen concurrency control (volledige parallellisatie)</h2>
<p>Wat als je 24 klanten per uur wil bedienen? Per veelvoud van 12 moet er een extra verkoper aangeworven worden.  En wat als op een bepaald moment  deze 12 klanten tegelijk zouden aankomen?  De 12de zou een uur moeten wachten&#8230;</p>
<p>Maar wacht &#8212; deze verkoper kan misschien wel verschillende bestellingen tegelijk aannemen? (cf. multithreading) In het extreme geval wordt elke nieuwe bestelling meteen door een verkoper behandeld.  Hij is dan tegelijk bezig met het afhandelen van een betaling, het maken van een paar hamburgers, het opnemen van enkele bestellingen.  Iedereen ziet wel in dat de <strong>efficiëntie van deze verkoper drastisch zal dalen door deze &#8220;parallellisatie&#8221; &#8211;</strong>&#8211; hij beschikt immers slechts over beperkte resources (kan bv. maar N woorden per minuut schrijven &#8211; I/O)</p>
<p>Het is duidelijk dat er een <strong>optimale trade-off moet gevonden worden tussen de hoeveelheid parallellisatie</strong> (# tegelijk behandelde requests door een machine) <strong>en de grootte van de wachtrijen</strong>.  Stel dan nog dat je &#8220;oneindig&#8221; veel verkopers kunt aannemen&#8230; Op een bepaald moment is er een plaatsgebrek, niet?  Het evenwicht bevindt zich typisch niet aan een van de extremen en <strong>hangt af van de bezoekpatronen van de McDanolds</strong> &#8212;  misschien komen er nooit 12 mensen tegelijk aan?</p>
<p>&nbsp;</p>
<h2>Centraal register met recepten (centrale database)</h2>
<p>Omwille de kwaliteit te garanderen, stelt de chef-kok een centraal register op waarin beschreven staat hoe elke hamburger bereid moet worden.  Omdat de chef zeker wil zijn dat de juiste recepten gevolgd worden, is het een verplichting  om het register steeds te raadplegen voor het klaarmaken van een hamburger.  5 verkopers kunnen wel samen lezen, maar als de chef een wijziging aanbrengt, is het register niet meer zichtbaar.</p>
<p>Wat als er 50 verkopers een recept willen lezen? Of wat als er heel vaak wijzigingen gebeuren?  Hoeveel verkopers er ook aangeworven worden, de bottleneck bevindt zich op het centraal register.  En wat als iemand het register per ongeluk onleesbaar maakt?</p>
<p>&nbsp;</p>
<h2>Caching aan het eind van de keten</h2>
<p>Een ingrediënt voor een bepaald type hamburger is niet meer in stock.  Het is dus onmogelijk om deze hamburger te bereiden.   Omdat de verkoper echter geen korte-termijn geheugen heeft (geen cache), moet hij telkens het recept gaan opzoeken in het centraal register.  Hier haalt hij de ingrediënten op en vraagt of ze nog beschikbaar zijn.  Niet dus &#8212; de verkoper loopt terug naar de klant en brengt het spijtige nieuws. Hij loopt onnodig heen, en weer.</p>
<p>&nbsp;</p>
<h2>Bottom line</h2>
<p>Het is belangrijk om bepaalde ontwerp-reflexen in vraag te stellen. Vaak zijn het dogma&#8217;s die niet universeel geldig zijn en een serieuze performantie, beschikbaarheid en schaalbaarheidsimpact hebben.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Egoless Programming</title>
		<link>https://www.smalsresearch.be/egoless-programming/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Wed, 25 May 2011 08:30:56 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[egoless programming]]></category>
		<category><![CDATA[HR]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[recruitment]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[team work]]></category>
		<guid isPermaLink="false">http://blogs.smals-mvm.be/research/?p=2253</guid>

					<description><![CDATA[Misschien is het mijn grootvader die reeds lang geleden de belangrijkste regel in software development onthulde: over het huwelijk verkondigde hij namelijk steevast, &#8220;Een mens is niet gemaakt om alleen te leven, en vanaf twee maakt ge ruzie&#8220;. Of, het gezond omgaan met conflicten maakt een wezenlijk deel uit van elke relatie. Deze les geldt [&#8230;]]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Misschien is het mijn grootvader die reeds lang geleden de belangrijkste regel in software development onthulde: over het huwelijk verkondigde hij namelijk steevast,</p>
<p style="text-align: center;">&#8220;<em>Een mens is niet gemaakt om alleen te leven,<br />
en vanaf twee maakt ge ruzie</em>&#8220;.</p>
<p style="text-align: justify;">Of, het gezond omgaan met conflicten maakt een wezenlijk deel uit van elke relatie. Deze les geldt ook voor een professionele relatie: het ontwikkelen van een applicatie gebeurt immers steeds in team.  <strong>Het succes van het uiteindelijke resultaat is volgens mij dan ook meer een gevolg van een vlotte samenwerking dan van de individuele competenties</strong>.</p>
<p style="text-align: justify;"><span id="more-2253"></span></p>
<p style="text-align: justify;">Hoewel dit al reeds begin jaren &#8217;70 als cruciale succesfactor werd opgetekend, wordt het belang hiervan volgens mij onderkend, en wordt er (bijvoorbeeld tijdens aanwerving) teveel gefocused op technische competenties (die gemakkelijk aangeleerd worden als de nodige basis aanwezig is),<strong> </strong>In deze context stootte ik op het interessant artikel<strong> </strong>over<strong> &#8220;Egoless Programming&#8221;.</strong></p>
<p style="text-align: justify;">Voor meer informatie verwijs ik naar het artikel <a href="https://www.codinghorror.com/blog/2006/05/the-ten-commandments-of-egoless-programming.html" target="_blank"><em>The Ten Commandments of Egoless Programming</em></a> &#8211; ik herneem kort de tien geboden:</p>
<p style="text-align: justify;">
<p style="text-align: center;"><strong>&#8212; 1 &#8212;</strong><br />
Understand and accept that you will make mistakes.</p>
<p style="text-align: center;"><strong>&#8212; 2 &#8212;</strong><br />
You are not your code.</p>
<p style="text-align: center;"><strong>&#8212; 3 &#8212;</strong><br />
No matter how much &#8220;karate&#8221; you know,<br />
someone else will always know more.</p>
<p style="text-align: center;"><strong>&#8212; 4 &#8212;</strong><br />
Don&#8217;t rewrite code without consultation.</p>
<p style="text-align: center;"><strong>&#8212; 5 &#8212;</strong><br />
Treat people who know less than you<br />
with respect, deference, and patience.</p>
<p style="text-align: center;"><strong>&#8212; 6 &#8212;</strong><br />
The only constant in the world is change.</p>
<p style="text-align: center;"><strong>&#8212; 7 &#8212;</strong><br />
The only true authority stems from<br />
knowledge, not from position.</p>
<p style="text-align: center;"><strong>&#8212; 8 &#8212;</strong><br />
Fight for what you believe,<br />
but gracefully accept defeat.</p>
<p style="text-align: center;"><strong>&#8212; 9 &#8212;</strong><br />
Don&#8217;t be &#8220;the guy in the room.&#8221;</p>
<p style="text-align: center;"><strong>&#8212; 10 &#8212;</strong><br />
Critique code instead of people &#8212;<br />
be kind to the coder, not to the code.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Patentaanvraag voor de Eerstelijnskluis</title>
		<link>https://www.smalsresearch.be/patentaanvraag-voor-de-eerstelijnskluis/</link>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Mon, 16 May 2011 23:00:48 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[Data vault]]></category>
		<category><![CDATA[egov]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[patent]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[threshold encryption]]></category>
		<guid isPermaLink="false">http://blogs.smals-mvm.be/research/?p=1952</guid>

					<description><![CDATA[In het kader van het &#8220;Eerstelijnskluis&#8221; project van VAZG, heeft Smals een patentaanvraag ingediend.  Het betreft een (volgens ons) nieuwe manier om zogenaamde threshold encryptie te gebruiken bij de veilige opslag van patiëntengegevens.  De methode laat toe om gegevens centraal op te slaan op zo&#8217;n manier dat enkel de bestemmeling de gegevens kan zien, zelf [&#8230;]]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">In het kader van het &#8220;Eerstelijnskluis&#8221; project van VAZG, heeft Smals een <strong>patentaanvraag </strong>ingediend.  Het betreft een (volgens ons) nieuwe manier om zogenaamde <strong>threshold encryptie</strong> te gebruiken bij de veilige opslag van patiëntengegevens.  De methode laat toe om gegevens centraal op te slaan op zo&#8217;n manier dat <strong>enkel de bestemmeling </strong>de gegevens kan zien, zelf al krijgt een system administrator volledige toegang tot de kluis&#8230;</p>
<p style="text-align: justify;"><span id="more-1952"></span></p>
<h2 style="text-align: justify;">Wegschrijven van gegevens naar de kluis</h2>
<p style="text-align: justify;">Kort komt threshold encryptie neer op traditionele asymmetrische encryptie met één publieke encryptiesleutel maar met <strong>twee private decryptiesleutels</strong>.  Het schrijven van een medisch dossier naar de &#8220;kluis&#8221; (de plek waar alle dossiers centraal worden opgeslagen) gebeurt op traditionele manier. Elk veld wordt apart aan de hand van een telkens unieke symmetrische sleutel vercijferd.  De symmetrische sleutel zelf wordt aan de hand van de publieke sleutel van het systeem, vercijferd:</p>
<p style="text-align: left;"><a href="/wp-content/uploads/2011/04/blog_kluis_write.png"><img decoding="async" class="aligncenter size-full wp-image-1956" title="Schrijven naar de eerstelijnskluis" src="/wp-content/uploads/2011/04/blog_kluis_write.png" alt="" width="100%" srcset="https://www.smalsresearch.be/wp-content/uploads/2011/04/blog_kluis_write.png 799w, https://www.smalsresearch.be/wp-content/uploads/2011/04/blog_kluis_write-300x81.png 300w, https://www.smalsresearch.be/wp-content/uploads/2011/04/blog_kluis_write-768x210.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></a></p>
<h2 style="text-align: left;">Lezen van een dossier uit de kluis</h2>
<p style="text-align: justify;">Het lezen van een dossier is echter verschillend van standaard asymmetrische encryptie, en geschiedt in 3 fases:</p>
<ol>
<li>De dokter vraagt een dossier op in de kluis en ontvangt de vercijferde unieke sessiesleutel, samen met de data vercijferd met deze sleutel</li>
<li>De vercijferde unieke sessiesleutel wordt naar 2 verschillende partijen gestuurd &#8211; elk met hun eigen private key &#8211; die een deel van de decryptie voor hun nemen.</li>
<li>De dokter combineert de twee delen tot een ontcijferde unieke sessiesleutel, waarme de werkelijke gegevens ontcijferd kunnen worden.</li>
</ol>
<p><a href="/wp-content/uploads/2011/04/blog_kluis_read.png"><img decoding="async" class="aligncenter size-full wp-image-1960" title="blog_kluis_read" src="/wp-content/uploads/2011/04/blog_kluis_read.png" alt="" width="100%" srcset="https://www.smalsresearch.be/wp-content/uploads/2011/04/blog_kluis_read.png 926w, https://www.smalsresearch.be/wp-content/uploads/2011/04/blog_kluis_read-300x167.png 300w, https://www.smalsresearch.be/wp-content/uploads/2011/04/blog_kluis_read-768x428.png 768w" sizes="(max-width: 926px) 100vw, 926px" /></a></p>
<p style="text-align: justify;">Merk dus op dat de gegevens enkel zichtbaar zijn bij de dokter en dat géén gegevens (zelfs niet vercijferd), door  een van de externe partijen, vloeien.  Het is op dit gebruik van threshold encryptie, dat een patent is genomen.</p>
<p style="text-align: justify;">
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Dood aan de standaardisatie!</title>
		<link>https://www.smalsresearch.be/dood-aan-de-standaardisatie/</link>
					<comments>https://www.smalsresearch.be/dood-aan-de-standaardisatie/#comments</comments>
		
		<dc:creator><![CDATA[Johan Loeckx]]></dc:creator>
		<pubDate>Fri, 06 May 2011 11:35:44 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[operations]]></category>
		<category><![CDATA[stack]]></category>
		<category><![CDATA[standardisation]]></category>
		<category><![CDATA[standards]]></category>
		<guid isPermaLink="false">http://blogs.smals-mvm.be/research/?p=2138</guid>

					<description><![CDATA[Dilemma: Vernieuwing vs. Beheersing Het beheersen van complexiteit wordt steeds belangrijker in het huidige IT landschap. In een poging om de complexiteit te beheersen, kiezen vele bedrijven voor het pad van &#8220;standaardisatie&#8221;, bijvoorbeeld  op vlak van gebruikte softwares of middlewareplatformen. Hoewel standaardisatie een manier is tot simplificatie, mag de strategie niet beperkt worden tot één [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify;">Dilemma: Vernieuwing vs. Beheersing</h2>
<p style="text-align: justify;">Het beheersen van complexiteit wordt steeds belangrijker in het huidige IT landschap. In een poging om de complexiteit te beheersen, kiezen vele bedrijven voor het pad van &#8220;standaardisatie&#8221;, bijvoorbeeld  op vlak van gebruikte softwares of middlewareplatformen. Hoewel <strong>standaardisatie </strong>een manier is tot simplificatie, <strong>mag </strong>de strategie <strong>niet beperkt worden tot één logisch niveau omdat dit de complexiteit kan verhogen ipv. te verlagen. </strong>Bovendien worden bedrijven geconfronteerd met een fundamenteel conflict, ten gevolge van de onstopbare technologische vooruitgang&nbsp;:</p>
<p style="text-align: center;"><strong><span style="font-size: medium;"><span style="color: #ff0000;">Vernieuwing vs. Beheersing</span></span><br />
</strong></p>
<p style="text-align: justify;">In deze blogpost pleit ik dan ook voor een <strong><em>verticaal-georiënteerde standaardisatie</em></strong> <em><strong>over de gehele stack </strong></em>hardware-OS-middleware-software, rekening houdend met zowel vernieuwing als beheersing.   Noodzakelijkerwijs zal deze visie voor sommige lagen een <strong>destandaardisatie inhouden.</strong></p>
<p style="text-align: justify;"><strong><span id="more-2138"></span><br />
</strong></p>
<h2 style="text-align: justify;">Standaardisatie kan de complexiteit verhogen</h2>
<p style="text-align: justify;">Samenspraak tussen de verschillende lagen in de stack (bv. OS, middleware, software) is noodzakelijk,omdat de beperking van de keuzes op een bepaald niveau (bv. OS), de complexiteit op een hoger niveau aanzienlijk kan verhogen.  De realiteit is nu eenmaal dat bepaalde technologieën beter draaien en eenvoudiger integreren op een specifiek platform.</p>
<p style="text-align: justify;">Behalve dat bij standaardisatie het luik &#8220;configuratie&#8221; over het hoofd gezien wordt (ook configuraties moeten gestandaardiseerd worden &#8212; het beheersen van configuraties is meestal moeilijker dan het beheersen van de software zelf), heeft standaardisatie op één bepaald logisch niveau tot gevolg dat de <strong>complexiteit op een hoger niveau toeneemt.</strong></p>
<p style="text-align: justify;">Stel bv. dat een bedrijf qua Web Server enkel IIS toelaat.  Stabiele Out-Of-The-Box oplossingen zoals Drupal op een LAMP stack, worden hierdoor onnodig complex gemaakt omdat Drupal ontplooid wordt op een platform of in een configuratie waar het oorspronkelijk niet voor gebouwd is.  Best-of-breed aanpakken, waarbij &#8220;de juiste aanpak&#8221; wordt gebruikt voor een specifiek probleem, worden hierdoor dus onmogelijk, waardoor we dus komen tot <strong>suboptimale oplossingen</strong>, die vaak ook nog <strong>complexer </strong>zijn.</p>
<p style="text-align: center;"><span style="color: #ff0000;"><strong>Destandaardisatie kan dus de complexiteit verlagen, omdat de stack <em>in zijn geheel </em>eenvoudiger wordt. </strong></span></p>
<p style="text-align: justify;">Last but not least speelt er een cultureel aspect:  met het steeds hoger tempo van technologische innovatie,is het misschien beter om werknemers deze realiteit te laten omarmen, eerder dan ze er van af te schermen?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smalsresearch.be/dood-aan-de-standaardisatie/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
