Willy Dobbe This Blog should have been an instrumental, but the words got in the way. [Blog of Bert Boerland] 2014-09-22T12:23:29+00:00 The Orange Suit, E01 something you have. AKA using the Two Factor Authentication module on a Drupal website http://willy.boerland.com/myblog/the_orange_suit_e01_something_you_have_aka_using_the_two_factor_authentication_module_on_a_drupal_website 2015-07-20T19:48:13+00:00 2015-07-20T19:57:39+00:00 bertboerland bert drupal english geeks/nerds Happy hobby internet culture journalism media

Trust, authentication. The key factors of the internet in this age where hacking, privacy and security are the biggest threat to freedom on the Internet. Trust starts with authentication. Authentication starts with identification. For some good background, the decade old keynote of Dick Hardt with regards to identity, it is still a classic.

The old adagium is that good authentication can be done by using three factors, something you know, something you have and something you are. For example, a pincode (know), a key (have) and a photo (are).

Two factor authentication combines two of these three for identification, often a password and a one-time-usable code delivered via the phone that you have. Two factor authentication is standard in the offline world, a driver's license (have) with a photo (are) or a bank card (have) with a PIN code (know). And it is about time that we use this Two Factor Authentication (TFA) as the basis for our web presence as well, to log in to your mail, your bank account and to your Drupal website.

This will prevent ugly security incidents or frontpage defacements. People reuse passwords, write them down never change the passwords, have listed passwords or share them and if you have a website where editers and administrators can publically can log in, you will have a security incident waiting to happen.

On drupal.org we use TFA for higher roles. The module being used as d.o is https://www.drupal.org/project/tfa and I do think it should be on every Drupal site.

I always wanted to start a screencast series on Drupal modules for site builders. So it was only logical that the TFA module was the first module I used for this vlog. You can see the screencast called "The Orange Suit" episode 1, "Something you have" and hear why you need this module, how to configure the module and what the module does.


Please leave a comment with your feedback on the youtube video, if you just liked it, thumbs up on youtube: and do follow "The Orange Suit" on facebook and twitter

Suggestions for the next episode are welcome as well via one of those channels.

]]>

Trust, authentication. The key factors of the internet in this age where hacking, privacy and security are the biggest threat to freedom on the Internet. Trust starts with authentication. Authentication starts with identification. For some good background, the decade old keynote of Dick Hardt with regards to identity, it is still a classic.

The old adagium is that good authentication can be done by using three factors, something you know, something you have and something you are. For example, a pincode (know), a key (have) and a photo (are).

Two factor authentication combines two of these three for identification, often a password and a one-time-usable code delivered via the phone that you have. Two factor authentication is standard in the offline world, a driver's license (have) with a photo (are) or a bank card (have) with a PIN code (know). And it is about time that we use this Two Factor Authentication (TFA) as the basis for our web presence as well, to log in to your mail, your bank account and to your Drupal website.

This will prevent ugly security incidents or frontpage defacements. People reuse passwords, write them down never change the passwords, have listed passwords or share them and if you have a website where editers and administrators can publically can log in, you will have a security incident waiting to happen.

On drupal.org we use TFA for higher roles. The module being used as d.o is https://www.drupal.org/project/tfa and I do think it should be on every Drupal site.

I always wanted to start a screencast series on Drupal modules for site builders. So it was only logical that the TFA module was the first module I used for this vlog. You can see the screencast called "The Orange Suit" episode 1, "Something you have" and hear why you need this module, how to configure the module and what the module does.


Please leave a comment with your feedback on the youtube video, if you just liked it, thumbs up on youtube: and do follow "The Orange Suit" on facebook and twitter

Suggestions for the next episode are welcome as well via one of those channels.

]]>
Last Clock for iPhone / iPad http://willy.boerland.com/myblog/last_clock_for_iphone_ipad 2015-06-12T19:51:04+00:00 2015-06-12T20:19:31+00:00 bertboerland Apple english Happy hardware
Today I found on lastclock a rather nice free app for the iPhone and iPad where one vertical camer line is user per second to make a hand on the clock.

Sounds complicated?

See this video:

Just like any analog clock, Last Clock has three hands: one for seconds, one for minutes and one for hours.
The hands, however, are made of a slice of live video that gets scanned to the clockface. With different refresh rate for each hand, the three time circles reflect the rhythms of the space at different temporal resolutions.

]]>

Today I found on lastclock a rather nice free app for the iPhone and iPad where one vertical camer line is user per second to make a hand on the clock.

Sounds complicated?

See this video:

Just like any analog clock, Last Clock has three hands: one for seconds, one for minutes and one for hours.
The hands, however, are made of a slice of live video that gets scanned to the clockface. With different refresh rate for each hand, the three time circles reflect the rhythms of the space at different temporal resolutions.

]]>
RoomAlive, project mapping and augmented reality using a kinect http://willy.boerland.com/myblog/roomalive_project_mapping_and_augemnted_reality_using_a_kinect 2015-05-03T19:06:50+00:00 2015-05-03T19:49:22+00:00 bertboerland english geeks/nerds Happy hardware microsoft tv I realy love this MSFT project:

The RoomAlive Toolkit enables developers to network one or more Kinect sensors to one or more projectors and, by so doing, to project interactive experiences across the surfaces of an entire room. The toolkit provides everything needed to do interactive projection mapping, which enables an entirely new level of engagement, in which interactive content can come to virtual life on the walls, the floor, and the furniture. Imagine turning a living room into a holodeck or a factory floor—the RoomAlive toolkit makes such scenarios possible.

Watch this video. Now if only MSFT (or someone else) would release this for the OSX...

see ]]>

I realy love this MSFT project:

The RoomAlive Toolkit enables developers to network one or more Kinect sensors to one or more projectors and, by so doing, to project interactive experiences across the surfaces of an entire room. The toolkit provides everything needed to do interactive projection mapping, which enables an entirely new level of engagement, in which interactive content can come to virtual life on the walls, the floor, and the furniture. Imagine turning a living room into a holodeck or a factory floor—the RoomAlive toolkit makes such scenarios possible.

Watch this video. Now if only MSFT (or someone else) would release this for the OSX...

see ]]> NS, fraude en het spinnen van de media inclusief politiek naar "vals spel" http://willy.boerland.com/myblog/ns_fraude_en_het_spinnen_van_de_media_inclusief_politiek_naar_vals_spel 2015-05-03T07:31:56+00:00 2015-05-03T07:46:10+00:00 bertboerland journalism nederlands politics netherlands Sad weird

Vals spel, hoe de NS haar fraude probeert te verbergen en de media hier op happen

Staff Awards Ceremony

BREAKING: we hebben afschuwelijke aanbestedingen in Nederland bij de overheid. Okay, dat was niet breaking. Onze aanbestedingen en de onmogelijkheden om het beste bod te verkrijgen zijn breed bekend. Wat wel breaking is. Dat een BV waar de overheid 100% aandeelhouder van is een Europese aanbesteding van een overheid wint, door … let op…. FRAUDE te plegen.

U heeft het vast wel gezien, een medewerker in de hogere regionen van Veolia (concurent die ook op aanbesteding aanbood) lekt informatie over een aanbesteding van bus/trein verkeer in Limburg (waar anders) naar een dochteronderneming van de Nederlandse Spoorwegen in ruil voor een goede baan bij deze dochteronderneming . Hierdoor wint de NS de aanbesteding als gevolg van zeer nare fraude. Precies wat we met de die rare aanbestedingen proberen tegen te gaan.

Marklin Schnellzuglokomtive

Tot zover al redelijk absurd, de overheid drukt een bedrijf uit de markt door fraude te plegen op een overheidsaanbesteding. Maar wil je weten wat het nog enger maakt?

De NS weet dat ze met de billen bloot moeten, dit is slecht nieuws en dat moet goed gebracht worden. Hoe dan wel? Ten eerste, je bekent. Daar is dan geen discussie meer over. Maar je bekent niet dat je fraude hebt gepleegd. Maar daar neem je een onschuldig woord voor. Iets met … mmmmh.. Iets kinderlijks. Iets eenvoudigs. Iets onschuldigs.

Fyra V250 4806 in revenue service @ Rotterdam Centraal
"Hebbes", zei de spindokter op de PR afdeling. "We noemen het 'geen eeerlijk spel gespeeld'". Geen eerlijk spel. Fraude. Niet warm, 0 kelvin. Geen halszaak, onthoofding. Treinen op tijd, geen wonder.

Een heerlijke spin. In elk interview. In elke stuk. Zeg je gewon dat er "geen eerlijk spel" is gespeeld en op zijn slechts "vals spel". Nooit het woord 'fraude' in de mond nemen. En dan wachten op dat de media je juist quoten.

En ja hoor.

  • ]]>
Vals spel, hoe de NS haar fraude probeert te verbergen en de media hier op happen

Staff Awards Ceremony

BREAKING: we hebben afschuwelijke aanbestedingen in Nederland bij de overheid. Okay, dat was niet breaking. Onze aanbestedingen en de onmogelijkheden om het beste bod te verkrijgen zijn breed bekend. Wat wel breaking is. Dat een BV waar de overheid 100% aandeelhouder van is een Europese aanbesteding van een overheid wint, door … let op…. FRAUDE te plegen.

U heeft het vast wel gezien, een medewerker in de hogere regionen van Veolia (concurent die ook op aanbesteding aanbood) lekt informatie over een aanbesteding van bus/trein verkeer in Limburg (waar anders) naar een dochteronderneming van de Nederlandse Spoorwegen in ruil voor een goede baan bij deze dochteronderneming . Hierdoor wint de NS de aanbesteding als gevolg van zeer nare fraude. Precies wat we met de die rare aanbestedingen proberen tegen te gaan.

Marklin Schnellzuglokomtive

Tot zover al redelijk absurd, de overheid drukt een bedrijf uit de markt door fraude te plegen op een overheidsaanbesteding. Maar wil je weten wat het nog enger maakt?

De NS weet dat ze met de billen bloot moeten, dit is slecht nieuws en dat moet goed gebracht worden. Hoe dan wel? Ten eerste, je bekent. Daar is dan geen discussie meer over. Maar je bekent niet dat je fraude hebt gepleegd. Maar daar neem je een onschuldig woord voor. Iets met … mmmmh.. Iets kinderlijks. Iets eenvoudigs. Iets onschuldigs.

Fyra V250 4806 in revenue service @ Rotterdam Centraal
"Hebbes", zei de spindokter op de PR afdeling. "We noemen het 'geen eeerlijk spel gespeeld'". Geen eerlijk spel. Fraude. Niet warm, 0 kelvin. Geen halszaak, onthoofding. Treinen op tijd, geen wonder.

Een heerlijke spin. In elk interview. In elke stuk. Zeg je gewon dat er "geen eerlijk spel" is gespeeld en op zijn slechts "vals spel". Nooit het woord 'fraude' in de mond nemen. En dan wachten op dat de media je juist quoten.

En ja hoor.

  • ]]> DrupalJam 2015, come for the Jam, stay for Drupal http://willy.boerland.com/myblog/drupaljam_2015_come_for_the_jam_stay_for_drupal 2015-04-26T07:22:53+00:00 2015-04-26T07:29:05+00:00 bertboerland bert drupal english Happy internet culture work
    Drupal. I didnt come to Drupal code 14 years ago, I came for the community and stayed for the functionality. That is part why I never liked the "Come for the code, stay for the community" slogan. Sure, it is a perfect cheesy slogan. If all you want attract are coders in the community, it is even a perfect slogan. For a perfect community, of perfect happy coders.

    We have got to learn to address humans. Not just humans who can code. That is, if we want to be a true community for a product. A product that is well designed and does attract both the business and the user to participate in the product, the process and hence the community.

    Leaderers. Entrepeneurs. Visionaries. Testesters. Document writers. Project Managers, marketeers. To name just a few. Of course developers can also have the skills to do these jobs, an often overlooked fact. But someone who is "just" a marketeer, will not come for the code. (S)He might come for the job at hand, money that might be involved, the functionality, but the best reason why an external non developer should come to the community to help out, is the community that is helping her/him out. Not clean lines of code, but helping hands of love.


    This is I am active in the Drupal community, to help out to get others on board. With a rocking team ( Marja, Imre, Rolf and Peter and others) we are organising the DrupalJam event in the low lands. The DrupalJam started with 20+ persons and pizzas in a room and is now a big event with over 300 people attending, over 25 sessions and a budget in the tens of thousands.

    DrupalJam -organised by the Dutch Drupal foundation- will be held in Utrecht, April 30 and it really represents the helping hands -not just the lines of code- of the community. With keynotes from Bruce Lawson ( HTML fame), Marco Derksen (digital strategist, entrepreneur) and featured speakers like Jefrey Maguire (moustache fame, D8), Anton VanHouke (leading design agency in the NL, introduced scrum in to strategy and design), Stephan Hay (designer, writer) and Ben van 't Ende (Community Manager for the TYPO3 Asssociation).

    And like last year, Dries will do a virtually Q-and-A. If you want to ask him nearly anything, do so at this form.

    The event will be held in an old industrial complex as can be seen in these shots

    I am really looking forward to this event, it has a long tradition and always strengthened the community and brought in new blood. People who "Come for the business and stay for the community" Those who come of the need for design and stay for the love. Or love the functional and stay for organising the next DrupalJam.

    PS: Now this head has rolled, it is time we decide what we do the body. If you have 5 minutes of your spare time, read this post and if you have one minute more, see this one from 2008 as well.

    ]]>

    Drupal. I didnt come to Drupal code 14 years ago, I came for the community and stayed for the functionality. That is part why I never liked the "Come for the code, stay for the community" slogan. Sure, it is a perfect cheesy slogan. If all you want attract are coders in the community, it is even a perfect slogan. For a perfect community, of perfect happy coders.

    We have got to learn to address humans. Not just humans who can code. That is, if we want to be a true community for a product. A product that is well designed and does attract both the business and the user to participate in the product, the process and hence the community.

    Leaderers. Entrepeneurs. Visionaries. Testesters. Document writers. Project Managers, marketeers. To name just a few. Of course developers can also have the skills to do these jobs, an often overlooked fact. But someone who is "just" a marketeer, will not come for the code. (S)He might come for the job at hand, money that might be involved, the functionality, but the best reason why an external non developer should come to the community to help out, is the community that is helping her/him out. Not clean lines of code, but helping hands of love.


    This is I am active in the Drupal community, to help out to get others on board. With a rocking team ( Marja, Imre, Rolf and Peter and others) we are organising the DrupalJam event in the low lands. The DrupalJam started with 20+ persons and pizzas in a room and is now a big event with over 300 people attending, over 25 sessions and a budget in the tens of thousands.

    DrupalJam -organised by the Dutch Drupal foundation- will be held in Utrecht, April 30 and it really represents the helping hands -not just the lines of code- of the community. With keynotes from Bruce Lawson ( HTML fame), Marco Derksen (digital strategist, entrepreneur) and featured speakers like Jefrey Maguire (moustache fame, D8), Anton VanHouke (leading design agency in the NL, introduced scrum in to strategy and design), Stephan Hay (designer, writer) and Ben van 't Ende (Community Manager for the TYPO3 Asssociation).

    And like last year, Dries will do a virtually Q-and-A. If you want to ask him nearly anything, do so at this form.

    The event will be held in an old industrial complex as can be seen in these shots

    I am really looking forward to this event, it has a long tradition and always strengthened the community and brought in new blood. People who "Come for the business and stay for the community" Those who come of the need for design and stay for the love. Or love the functional and stay for organising the next DrupalJam.

    PS: Now this head has rolled, it is time we decide what we do the body. If you have 5 minutes of your spare time, read this post and if you have one minute more, see this one from 2008 as well.

    ]]>
    Drupal en de kunst van snelheid http://willy.boerland.com/myblog/drupal_en_de_kunst_van_snelheid 2014-12-10T14:38:30+00:00 2014-12-12T14:30:59+00:00 bertboerland Drupal Planet NL geeks/nerds hardware internet culture nederlands routing TCP/IP webhosting dit artikel is als gast blog verschenen op true.nl/blog

    De meeste bedrijven die een website online hebben, hebben als doel om er geld mee te verdienen. Voor sommige websites is dat een directe manier van geld verdienen, omdat ze een webshop hebben, donaties verkrijgen of leadgeneratie hebben. En voor vele bedrijven is het een vorm van marketing, om gevonden te worden door hun prospects. Webperformance is dus niet een technisch trucje, maar een must voor een ieder. Als je geld verdient online, verlies je dat door een langzame website!

    Snelle website

    Content Management Systemen als Drupal zijn geweldig voor een gebruiker, zowel de redacteur als de bezoeker kan eenvoudig content toevoegen. Plaatjes worden automatisch geschaald en de tienduizenden modules leveren vaak de gevraagde functionaliteit. Maar dat komt met een prijs, ook in opensourceland. Voor elke pagina die het systeem samenstelt, moet de inhoud uit de database gehaald worden. Elke pagina die overzichtslijsten heeft (views) is een query naar de database. Elke pagina van een grotere website kan zo al snel honderden queries bevatten, enkel om een enkele pagina aan een enkele gebruiker te serveren. En dus ook met een snelle database vele seconden om de pagina aan de gebruiker te leveren. Een statische HTML-pagina serveren, is vele malen sneller.

    Snelheid is de som van alle elementen

    Dus aan de ene kant wil de business flexibiliteit om met een CMS content te kunnen veranderen. En aan de andere kant is het een eis dat een pagina binnen enkele seconden bij de gebruiker op het scherm staat. Om dit probleem op te lossen, is er niet een enkele actie die je kunt doen. Snelheid is de som van alle elementen tussen content en browser, de oplossing raakt dus ook alle elementen in deze keten; netwerk, operating systeem, het CMS, http en HTML. De enige oplossing om de performance te verbeteren van elke website – ongeacht het CMS – is dan ook er voor te zorgen dat de gehele keten wordt geanalyseerd en verbeterd waar noodzakelijk.

    CSS en JS aggregate

    Voor Drupal geldt dat het natuurlijk standaard is dat je CSS en JS aggregate gebruikt, hierdoor worden de tientallen CSS- en Javascript-bestanden samengevoegd en geminimaliseerd. Mooi. Tientallen minder hits is een aantal seconden sneller door een paar vinkjes. Maar nu begint het grijpen naar het hoger gelegen fruit. Hieronder staan enkel van de best practises, zoals deze geleerd zijn in de gemeenschap.

    Minder hits

    Vanuit de klant is het vaak gewenst om veel derde diensten te integreren, te meten met analystics en te delen via share this en a/b testing met Optimizely. Allemaal valide, maar elk Javascript-bestand is een extra DNS-request, een extra hit en extra parsing aan de browserzijde. Probeer de klant te overtuigen dat minder hits beter is Deze stap is waarschijnlijk het ingewikkeldste te realiseren, maar wel een die van belang is.

    Caching in Drupal

    Standaard heeft een CMS als Drupal caching staan in de database, het verste weg van de gebruiker vandaan. Dus alles wat deze caching kan verbeteren, is noodzakelijk. Dit kan door views en blokken te cachen.

    Memcache en Varnish

    Maar het verder ‘naar voren brengen’ van de cache, zodat deze niet in de database komt of zelfs Drupal ‘raakt’, is nog beter. Memcache is een goede methode, een platte tabel in het geheugen die direct door de webserver geraadpleegd wordt en waarvoor een Drupal module bestaat. Nog beter is het om Varnish te gebruiken, een reverse proxy, waardoor de verzoek nooit bij het CMS komt, maar direct geserveerd wordt. Dit werkt echter enkel voor niet ingelogde gebruikers en wil je in het CMS meten hoe vaak een artikel gelezen is in Drupal dan moet je hier dus omheen werken met een extra Javascript-call bijvoorbeeld. Typisch kan je met Varnish honderden keren meer gelijktijdig bezoek verwerken, terwijl het maken van de ‘index,html’-pagina onder deze druk van seconden naar 20 milliseconde gaat.

    SSL-decrypter

    Om er voor te zorgen dat de content zo ‘vers’ mogelijk blijft, dien je de expiratie-headers in de webserver zo te zetten dat de caching lang genoeg is, zonder dat de site gedateerd wordt en kan je de purge-module gebruiken. Je doet er goed aan om in de headers van de site te controleren dat het verzoek ook daadwerkelijk gecachet wordt en uit Varnish geserveerd wordt. Sommige modules en maatwerk willen dit nog wel eens voorkomen. Als jouw website https gebruikt, kan deze niet door Varnish gecachet worden. Hiervoor kan je een SSL-decrypter gebruiken voor Varnish, bijvoorbeeld pound, zodat Varnish toch gewoon http-verkeer ziet.

    Zoekfunctionaliteit

    Als de website een zoekfunctionaliteit heeft en je deze eigenlijk wil uitbreiden naar zoeken in binaire bestanden (PDF, MS-Word etc), neem dan een extra virtuele server met SOLR, installeer de module. En meest van belang, zorg dat de interne search de content niet meer indexeert, want de searchtabel is vaak de helft van de omvang van de database.

    SPDY

    Als je https gebruikt, denk dan ook aan de optie SPDY te gebruiken, de opvolger van het oude stateless http-protocol en de kandidaat voor http/2.0. Talloze browsers ondersteunen dit protocol al. Met SPDY worden de elementen van de pagina in een keer in een request gecomprimeerd geserveerd en dit kan zeker bij netwerken met een hoge latency het laden van een pagina halveren. Voor vele webservers (waaronder Apache en Nginx) zijn modules voor SPDY beschikbaar. Als dit nog geen optie is, kan je kijken naar de Google module ‘pagespeed’. Deze beschikt over een keur van opties; on the fly Javascript en CSS in de HTML injecteren als dat sneller is, lazyloading van plaatjes ‘onder de vouw’, het genereren van sprites en talloze andere opties die je site aanzienlijk sneller kunnen maken.

    CDN

    Een CDN kan een oplossing zijn voor tal van problemen: DDoS-bescherming, lagere roundtrip-tijden voor internationale gebruikers, maar ook meerdere requests serieel doen om de site sneller te laden. Dit kan je ook doen, zonder een echt CDN te gebruiken. De meeste browsers hebben een laag maximum aan het aantal requests dat men een dergelijke tijd kan doen naar een enkele server. Dus voor een pagina met 40 plaatjes vuurt de browser bijvoorbeeld 16 requests op de webserver af en wordt het volgende request pas geplaatst als er een succesvol is verwerkt. Hiervoor zou men dus kunnen werken subdomainen, om de pagina voor example.com te serveren gebruikt men CNAMES als images1.example.com en images2.example.com en doet men round robin loadlbalancing over deze namen. Hierdoor kan de browser nu 16 requests naar images1 sturen en 16 naar images2 op het zelfde moment. Er is een Drupal-module die dit voor je doet en ook kan integreren met de grote echte CDN’s als Akamai. Deze truc heeft enkele nadelen, je moet voorkomen dat searchengines images1.example.com gaan indexeren en er is een tradeoff omdat een extra DNS-request ook tijd vergt. Daarbij zal in de toekomst mede door SPDY deze techniek snel overbodig zijn.

    Tips op servergebied

    Op het gebied van de server zelf zijn er ook tal van tips van toepassing, al is dit verre van laaghangend fruit. Door bijvoorbeeld het renderbare deel van de pagina binnen de 1400 bytes te houden, kun je ervoor zorgen dat dit binnen een packet valt voor een ethernetverbinding. Het veranderen van de TCP slowstart-paramaters is een kernel hacking-ervaring, maar draagt ook bij aan een snellere website. Als gesteld, op elk gebied van business tot ethernet-frames dient men integraal webperformance te analyseren en verbeteren.

    Meten van de snelheid

    Er zijn vele tools die je kunnen helpen bij het meten van de snelheid en dit te verbeteren. Webpagetest en Yslow! zijn goede punten om te beginnen. Steve Souders is de autoriteit op dit gebied wereldwijd en zijn blog heeft tal van goede aanknopingspunten, 2bits heeft veel Drupal-specifieke artikelen online.

    ]]>
    dit artikel is als gast blog verschenen op true.nl/blog

    De meeste bedrijven die een website online hebben, hebben als doel om er geld mee te verdienen. Voor sommige websites is dat een directe manier van geld verdienen, omdat ze een webshop hebben, donaties verkrijgen of leadgeneratie hebben. En voor vele bedrijven is het een vorm van marketing, om gevonden te worden door hun prospects. Webperformance is dus niet een technisch trucje, maar een must voor een ieder. Als je geld verdient online, verlies je dat door een langzame website!

    Snelle website

    Content Management Systemen als Drupal zijn geweldig voor een gebruiker, zowel de redacteur als de bezoeker kan eenvoudig content toevoegen. Plaatjes worden automatisch geschaald en de tienduizenden modules leveren vaak de gevraagde functionaliteit. Maar dat komt met een prijs, ook in opensourceland. Voor elke pagina die het systeem samenstelt, moet de inhoud uit de database gehaald worden. Elke pagina die overzichtslijsten heeft (views) is een query naar de database. Elke pagina van een grotere website kan zo al snel honderden queries bevatten, enkel om een enkele pagina aan een enkele gebruiker te serveren. En dus ook met een snelle database vele seconden om de pagina aan de gebruiker te leveren. Een statische HTML-pagina serveren, is vele malen sneller.

    Snelheid is de som van alle elementen

    Dus aan de ene kant wil de business flexibiliteit om met een CMS content te kunnen veranderen. En aan de andere kant is het een eis dat een pagina binnen enkele seconden bij de gebruiker op het scherm staat. Om dit probleem op te lossen, is er niet een enkele actie die je kunt doen. Snelheid is de som van alle elementen tussen content en browser, de oplossing raakt dus ook alle elementen in deze keten; netwerk, operating systeem, het CMS, http en HTML. De enige oplossing om de performance te verbeteren van elke website – ongeacht het CMS – is dan ook er voor te zorgen dat de gehele keten wordt geanalyseerd en verbeterd waar noodzakelijk.

    CSS en JS aggregate

    Voor Drupal geldt dat het natuurlijk standaard is dat je CSS en JS aggregate gebruikt, hierdoor worden de tientallen CSS- en Javascript-bestanden samengevoegd en geminimaliseerd. Mooi. Tientallen minder hits is een aantal seconden sneller door een paar vinkjes. Maar nu begint het grijpen naar het hoger gelegen fruit. Hieronder staan enkel van de best practises, zoals deze geleerd zijn in de gemeenschap.

    Minder hits

    Vanuit de klant is het vaak gewenst om veel derde diensten te integreren, te meten met analystics en te delen via share this en a/b testing met Optimizely. Allemaal valide, maar elk Javascript-bestand is een extra DNS-request, een extra hit en extra parsing aan de browserzijde. Probeer de klant te overtuigen dat minder hits beter is Deze stap is waarschijnlijk het ingewikkeldste te realiseren, maar wel een die van belang is.

    Caching in Drupal

    Standaard heeft een CMS als Drupal caching staan in de database, het verste weg van de gebruiker vandaan. Dus alles wat deze caching kan verbeteren, is noodzakelijk. Dit kan door views en blokken te cachen.

    Memcache en Varnish

    Maar het verder ‘naar voren brengen’ van de cache, zodat deze niet in de database komt of zelfs Drupal ‘raakt’, is nog beter. Memcache is een goede methode, een platte tabel in het geheugen die direct door de webserver geraadpleegd wordt en waarvoor een Drupal module bestaat. Nog beter is het om Varnish te gebruiken, een reverse proxy, waardoor de verzoek nooit bij het CMS komt, maar direct geserveerd wordt. Dit werkt echter enkel voor niet ingelogde gebruikers en wil je in het CMS meten hoe vaak een artikel gelezen is in Drupal dan moet je hier dus omheen werken met een extra Javascript-call bijvoorbeeld. Typisch kan je met Varnish honderden keren meer gelijktijdig bezoek verwerken, terwijl het maken van de ‘index,html’-pagina onder deze druk van seconden naar 20 milliseconde gaat.

    SSL-decrypter

    Om er voor te zorgen dat de content zo ‘vers’ mogelijk blijft, dien je de expiratie-headers in de webserver zo te zetten dat de caching lang genoeg is, zonder dat de site gedateerd wordt en kan je de purge-module gebruiken. Je doet er goed aan om in de headers van de site te controleren dat het verzoek ook daadwerkelijk gecachet wordt en uit Varnish geserveerd wordt. Sommige modules en maatwerk willen dit nog wel eens voorkomen. Als jouw website https gebruikt, kan deze niet door Varnish gecachet worden. Hiervoor kan je een SSL-decrypter gebruiken voor Varnish, bijvoorbeeld pound, zodat Varnish toch gewoon http-verkeer ziet.

    Zoekfunctionaliteit

    Als de website een zoekfunctionaliteit heeft en je deze eigenlijk wil uitbreiden naar zoeken in binaire bestanden (PDF, MS-Word etc), neem dan een extra virtuele server met SOLR, installeer de module. En meest van belang, zorg dat de interne search de content niet meer indexeert, want de searchtabel is vaak de helft van de omvang van de database.

    SPDY

    Als je https gebruikt, denk dan ook aan de optie SPDY te gebruiken, de opvolger van het oude stateless http-protocol en de kandidaat voor http/2.0. Talloze browsers ondersteunen dit protocol al. Met SPDY worden de elementen van de pagina in een keer in een request gecomprimeerd geserveerd en dit kan zeker bij netwerken met een hoge latency het laden van een pagina halveren. Voor vele webservers (waaronder Apache en Nginx) zijn modules voor SPDY beschikbaar. Als dit nog geen optie is, kan je kijken naar de Google module ‘pagespeed’. Deze beschikt over een keur van opties; on the fly Javascript en CSS in de HTML injecteren als dat sneller is, lazyloading van plaatjes ‘onder de vouw’, het genereren van sprites en talloze andere opties die je site aanzienlijk sneller kunnen maken.

    CDN

    Een CDN kan een oplossing zijn voor tal van problemen: DDoS-bescherming, lagere roundtrip-tijden voor internationale gebruikers, maar ook meerdere requests serieel doen om de site sneller te laden. Dit kan je ook doen, zonder een echt CDN te gebruiken. De meeste browsers hebben een laag maximum aan het aantal requests dat men een dergelijke tijd kan doen naar een enkele server. Dus voor een pagina met 40 plaatjes vuurt de browser bijvoorbeeld 16 requests op de webserver af en wordt het volgende request pas geplaatst als er een succesvol is verwerkt. Hiervoor zou men dus kunnen werken subdomainen, om de pagina voor example.com te serveren gebruikt men CNAMES als images1.example.com en images2.example.com en doet men round robin loadlbalancing over deze namen. Hierdoor kan de browser nu 16 requests naar images1 sturen en 16 naar images2 op het zelfde moment. Er is een Drupal-module die dit voor je doet en ook kan integreren met de grote echte CDN’s als Akamai. Deze truc heeft enkele nadelen, je moet voorkomen dat searchengines images1.example.com gaan indexeren en er is een tradeoff omdat een extra DNS-request ook tijd vergt. Daarbij zal in de toekomst mede door SPDY deze techniek snel overbodig zijn.

    Tips op servergebied

    Op het gebied van de server zelf zijn er ook tal van tips van toepassing, al is dit verre van laaghangend fruit. Door bijvoorbeeld het renderbare deel van de pagina binnen de 1400 bytes te houden, kun je ervoor zorgen dat dit binnen een packet valt voor een ethernetverbinding. Het veranderen van de TCP slowstart-paramaters is een kernel hacking-ervaring, maar draagt ook bij aan een snellere website. Als gesteld, op elk gebied van business tot ethernet-frames dient men integraal webperformance te analyseren en verbeteren.

    Meten van de snelheid

    Er zijn vele tools die je kunnen helpen bij het meten van de snelheid en dit te verbeteren. Webpagetest en Yslow! zijn goede punten om te beginnen. Steve Souders is de autoriteit op dit gebied wereldwijd en zijn blog heeft tal van goede aanknopingspunten, 2bits heeft veel Drupal-specifieke artikelen online.

    ]]>
    Drupal SplashAwards 2014 http://willy.boerland.com/myblog/drupsl_splashawards_2014 2014-11-25T21:13:41+00:00 2014-11-25T21:20:30+00:00 bertboerland bert drupal english Happy internet culture Drupal-splash-awards-2014_klein_600x400
    On december 12 the Dutch Drupal Foundation will organise the first edition of the "SplashAwards". This award is to put outstanding projects in the spotlight, the best Drupal projects and community contributions from Belgium and The Netherlands.

    Both Drupal agencies and individuals who have achieved extraordinary results get special recognition from inside and outside the Drupal community. The international jury selects winners out of hundreds of contestants in several categories including best government project and best Drupal theme.

    The jury includes well known people in the broader PHP and Drupal community from all around the world: Joost de Valk (SEO WP fame) , Moshe Weitzman (contributor since 2001), Jeffrey "jam" McGuire (evangelist with a mo), Holly Ross (Executive Director DA) , Morten Birch Heide-Jorgensen (enfant terrible and good friend :-)), Stefan Koopmanschap (PHP / Symfony guru from the Netherlands) , Guido Jansen (magento fame) and Robert Douglass (SOLR fame and most of all around friendly chap) will select the ten winners who will walk home along the canals with a great award and a smiling face.

    There are 10 awards to be given, from architecture and commerce to best governmental site and theme. The award self will be held for some 100 people, in an old cinema in the centre of Amsterdam. We are really looking forward to this event. And in fact, it will be the last event of the year for the Dutch and a great year it has been.

    From a record breaking DrupalJam, via the social events around DrupalCon to 100's of students getting a free training on the Drupal Training Day and now the bowtie SplashAwards, showing of the Dutch Drupal community never was better.

    ]]>
    Drupal-splash-awards-2014_klein_600x400
    On december 12 the Dutch Drupal Foundation will organise the first edition of the "SplashAwards". This award is to put outstanding projects in the spotlight, the best Drupal projects and community contributions from Belgium and The Netherlands.

    Both Drupal agencies and individuals who have achieved extraordinary results get special recognition from inside and outside the Drupal community. The international jury selects winners out of hundreds of contestants in several categories including best government project and best Drupal theme.

    The jury includes well known people in the broader PHP and Drupal community from all around the world: Joost de Valk (SEO WP fame) , Moshe Weitzman (contributor since 2001), Jeffrey "jam" McGuire (evangelist with a mo), Holly Ross (Executive Director DA) , Morten Birch Heide-Jorgensen (enfant terrible and good friend :-)), Stefan Koopmanschap (PHP / Symfony guru from the Netherlands) , Guido Jansen (magento fame) and Robert Douglass (SOLR fame and most of all around friendly chap) will select the ten winners who will walk home along the canals with a great award and a smiling face.

    There are 10 awards to be given, from architecture and commerce to best governmental site and theme. The award self will be held for some 100 people, in an old cinema in the centre of Amsterdam. We are really looking forward to this event. And in fact, it will be the last event of the year for the Dutch and a great year it has been.

    From a record breaking DrupalJam, via the social events around DrupalCon to 100's of students getting a free training on the Drupal Training Day and now the bowtie SplashAwards, showing of the Dutch Drupal community never was better.

    ]]>
    Splashbox Kinect Make up kit http://willy.boerland.com/myblog/splashbox_kinect_make_up_kit 2014-11-24T20:34:40+00:00 2014-11-24T20:35:47+00:00 bertboerland Apple english hardware microsoft

    Splash Box from David Sweeney on Vimeo.

    The Fashion Digital Studio used Microsoft’s Kinect to create a virtual make up kit for celebrated make up artist Alex Box. The gesture based real time painting application is used as the finale to her MAC Masterclasses in London, NY, LA and Miami. Applying colour with a sweep of the hand to a 3D scan of the models face.

    ]]>

    Splash Box from David Sweeney on Vimeo.

    The Fashion Digital Studio used Microsoft’s Kinect to create a virtual make up kit for celebrated make up artist Alex Box. The gesture based real time painting application is used as the finale to her MAC Masterclasses in London, NY, LA and Miami. Applying colour with a sweep of the hand to a 3D scan of the models face.

    ]]>
    Kreek - Kinect Controlled Interface http://willy.boerland.com/myblog/kreek_kinect_controlled_interface 2014-11-22T21:52:28+00:00 2014-11-22T21:56:01+00:00 bertboerland english hardware microsoft 25/05/2012 - Kreek

    Kreek is a Kinect controlled interface which extends a normally two-dimensional multi-touch environment by the perception of depth. This allows the user to literally reach into the interface and gives applications the possibility to interprete parameters like pressure or solid distance.

    See the amazing video

    ]]>
    25/05/2012 - Kreek

    Kreek is a Kinect controlled interface which extends a normally two-dimensional multi-touch environment by the perception of depth. This allows the user to literally reach into the interface and gives applications the possibility to interprete parameters like pressure or solid distance.

    See the amazing video

    ]]>
    Working on becoming a VJ/DJ using the kinect http://willy.boerland.com/myblog/working_on_becoming_a_vj_dj_using_the_kinect 2014-11-22T21:32:06+00:00 2014-11-22T21:34:18+00:00 bertboerland Apple english geeks/nerds Happy hardware microsoft mp3 sound Untitled

    Working on scratching and drumming in mid air with the kinect as my turntable on my Mac with ableton live. More to follow

    ]]>
    Untitled

    Working on scratching and drumming in mid air with the kinect as my turntable on my Mac with ableton live. More to follow

    ]]>
    Motion, light & sound / Kinect & Madlight http://willy.boerland.com/myblog/motion_light_sound_kinect_madlight 2014-11-21T22:00:09+00:00 2014-11-21T22:03:35+00:00 bertboerland english geeks/nerds hardware hobby microsoft

    Motion, light & sound / Kinect & Madlight from things happen on Vimeo.

    Motion, light & sound / Kinect & Madlight

    ]]>

    Motion, light & sound / Kinect & Madlight from things happen on Vimeo.

    Motion, light & sound / Kinect & Madlight

    ]]>
    Kinect Graffiti http://willy.boerland.com/myblog/kinect_graffiti 2014-11-21T20:46:21+00:00 2014-11-21T20:48:34+00:00 bertboerland english geeks/nerds Happy hardware microsoft

    Kinect Graffiti™ from Jean-Christophe Naour on Vimeo.

    Kinect Graffiti is a digital graffiti tool using "Microsoft Kinect" camera.
    Idea behind this project is to use the kinect to track the motion behind graffiti. Visualizing the body and drawing trough different angles in realtime, Understanding surrounding space, pausing the time, etc...
    Kinect Graffiti is a tool built in processing & openGL, SimpleOpenNI, openNI and primeSense libraries.

    It is an oldie and only for windows, see innoiz.com/apps

    ]]>

    Kinect Graffiti™ from Jean-Christophe Naour on Vimeo.

    Kinect Graffiti is a digital graffiti tool using "Microsoft Kinect" camera.
    Idea behind this project is to use the kinect to track the motion behind graffiti. Visualizing the body and drawing trough different angles in realtime, Understanding surrounding space, pausing the time, etc...
    Kinect Graffiti is a tool built in processing & openGL, SimpleOpenNI, openNI and primeSense libraries.

    It is an oldie and only for windows, see innoiz.com/apps

    ]]>
    Konami code op StudioBrussel, respect! http://willy.boerland.com/myblog/konami_code_op_studiobrussel_respect 2014-11-08T20:45:12+00:00 2014-11-08T20:49:15+00:00 bertboerland english geeks/nerds Happy humour internet culture media sound Konami Code on the website of Studio Brussel

    Mucho respect!

    Try for yourself; up up, down, down, left right, left, right, B, A

    ]]>
    Konami Code on the website of Studio Brussel

    Mucho respect!

    Try for yourself; up up, down, down, left right, left, right, B, A

    ]]>
    Never trust data, no matter what the source is http://willy.boerland.com/myblog/never_trust_data_no_matter_what_the_source_is 2014-09-22T20:15:05+00:00 2014-09-22T20:19:17+00:00 bertboerland bert drupal english geeks/nerds Happy internet culture weird xss in the zoen boerland.com
    Drupal is becoming increasingly a backend CMS. For editers so they can easy manage their content while for example AngularJSis delivering the content. Or as a backend hup combining content from multiple sources, databases and systems.

    Drupal evolved towards this from a blog alike system 10 years ago, a content type with user generated comments below. Back then everybody knew that you should filter User Generated Content and stripe the HTML if you cared about the site. Many other systems up to today however do not filter UGC good enough; user signups, search input and many other ways a user can give input ot the system.

    Now Drupal is talking to other systems, combining data from multiple sources, devs still need to understand that one should ***never*** trust input data, no matter if the source is another database or a user.

    Because, what could possibly go wrong with just displaying this data directly or injecting it in the database? Why should you "checkplain" the TXT fields in zone of a domain? Why?

    ]]>
    xss in the zoen boerland.com
    Drupal is becoming increasingly a backend CMS. For editers so they can easy manage their content while for example AngularJSis delivering the content. Or as a backend hup combining content from multiple sources, databases and systems.

    Drupal evolved towards this from a blog alike system 10 years ago, a content type with user generated comments below. Back then everybody knew that you should filter User Generated Content and stripe the HTML if you cared about the site. Many other systems up to today however do not filter UGC good enough; user signups, search input and many other ways a user can give input ot the system.

    Now Drupal is talking to other systems, combining data from multiple sources, devs still need to understand that one should ***never*** trust input data, no matter if the source is another database or a user.

    Because, what could possibly go wrong with just displaying this data directly or injecting it in the database? Why should you "checkplain" the TXT fields in zone of a domain? Why?

    ]]>
    Corporate Social Responsibility and using Open Source http://willy.boerland.com/myblog/corporate_social_responsibility_and_using_open_source 2014-09-22T11:53:27+00:00 2014-09-22T12:23:29+00:00 bertboerland drupal english environment Happy Social Software work A star in a network
    It may differ per country and continent, but for most of the regions I know of, Corporate Social Responsibility (CSR) has become a standard within corporations as a way of buying, selling and producing goods and services. We all know that resources are scarce and hence should be used for the best possible use and more important, reused when possible.

    By reusing resources to produce new goods or services, we make optimal use of that what is there. This is no longer a “left" or “green" political statement but is being executed by all parties in the political and economical arena, simply because it is in the interest of the person doing so as well as all other persons. It makes economical sense to reuse resources, be good for persons, the community and the environment. Even if it was just for the tragedy of the commons or from a prioner’s dilemma point of view. For those interested in how doing good or bad impacts the group, this academic PDF might be a good start. If you master Dutch this TED quality keynote during a DrupalJam conference of my friend Yoast on vimeo is truly something to watch.

    Garden city of to-morrow

    So it is my opinion that CSR has moved beyond empty platitudes and has become truly in the genes of people and companies. Many people think that CSR started as corporate philanthropy, a way of the rich to donate to the poor. I don't think this is true, in every revolution, there have been powers to do good for the environment, the people and the community. For example during the Industrial Revolution there was a very strong new socialism trend with taking care of the housing, commnities and villages of the workers, “The garden cities of to-morrow". Not because “the Rich" want to do good perse (“philanthropy"), but because it made sense economically; less death and diseases (less risk) and a richer and happier workforce (and new business models around this growth).

    Urban gardening

    Most of the definitions I have seen of CSR have in common that it is an integral vision towards sustainable business with social responsibility in business decisions to balance the social and economic impact of the decision. That by itself is an excellent definition and one that will be supported by anyone who is been doing business. The implementation most see however is to have a policy on carbon footprint in a company or to only buy agricultural products that are produced in a sustainable way, without pesticides. All fine.

    But it seems that there is a very easy way to have implementation of CSR: by using a product that is produced to be be reused, made with the knowledge of thousands and with target audience of the world. The product that is not wasting a single second of the future and not wasting a drop of the paste. Indeed, I am talking about using open source software (OSS)!
    OSS is by definition made with CSR in mind, it is being produced by different people all over the globe to be reused for you and your knowledge will be direct input for making the product better, iterate on the development and implementation.

    And hence, a company that is using open source has a sustainable competitive advantage by using valuable rare resource in the most optima form. Therefor I dare any company that is using software to produce goods, to take using open source software into account and into its’ Corporate Social Responsibility policy. For by using open source software, we can truly make a better world by using more knowledge and less resources.

    A very healthy situation for any company.

    Untitled

    PS: if you want more information on this vison, do visit the 12 Best Practices from Wunderkraut session at the DrupalCon Amsterdam. Or visit Wunderkraut at booth number 1 in the sponsor lounge, right by the coffee! We are part of the community that uses and make open source software. With passion.

    ]]>
    A star in a network
    It may differ per country and continent, but for most of the regions I know of, Corporate Social Responsibility (CSR) has become a standard within corporations as a way of buying, selling and producing goods and services. We all know that resources are scarce and hence should be used for the best possible use and more important, reused when possible.

    By reusing resources to produce new goods or services, we make optimal use of that what is there. This is no longer a “left" or “green" political statement but is being executed by all parties in the political and economical arena, simply because it is in the interest of the person doing so as well as all other persons. It makes economical sense to reuse resources, be good for persons, the community and the environment. Even if it was just for the tragedy of the commons or from a prioner’s dilemma point of view. For those interested in how doing good or bad impacts the group, this academic PDF might be a good start. If you master Dutch this TED quality keynote during a DrupalJam conference of my friend Yoast on vimeo is truly something to watch.

    Garden city of to-morrow

    So it is my opinion that CSR has moved beyond empty platitudes and has become truly in the genes of people and companies. Many people think that CSR started as corporate philanthropy, a way of the rich to donate to the poor. I don't think this is true, in every revolution, there have been powers to do good for the environment, the people and the community. For example during the Industrial Revolution there was a very strong new socialism trend with taking care of the housing, commnities and villages of the workers, “The garden cities of to-morrow". Not because “the Rich" want to do good perse (“philanthropy"), but because it made sense economically; less death and diseases (less risk) and a richer and happier workforce (and new business models around this growth).

    Urban gardening

    Most of the definitions I have seen of CSR have in common that it is an integral vision towards sustainable business with social responsibility in business decisions to balance the social and economic impact of the decision. That by itself is an excellent definition and one that will be supported by anyone who is been doing business. The implementation most see however is to have a policy on carbon footprint in a company or to only buy agricultural products that are produced in a sustainable way, without pesticides. All fine.

    But it seems that there is a very easy way to have implementation of CSR: by using a product that is produced to be be reused, made with the knowledge of thousands and with target audience of the world. The product that is not wasting a single second of the future and not wasting a drop of the paste. Indeed, I am talking about using open source software (OSS)!
    OSS is by definition made with CSR in mind, it is being produced by different people all over the globe to be reused for you and your knowledge will be direct input for making the product better, iterate on the development and implementation.

    And hence, a company that is using open source has a sustainable competitive advantage by using valuable rare resource in the most optima form. Therefor I dare any company that is using software to produce goods, to take using open source software into account and into its’ Corporate Social Responsibility policy. For by using open source software, we can truly make a better world by using more knowledge and less resources.

    A very healthy situation for any company.

    Untitled

    PS: if you want more information on this vison, do visit the 12 Best Practices from Wunderkraut session at the DrupalCon Amsterdam. Or visit Wunderkraut at booth number 1 in the sponsor lounge, right by the coffee! We are part of the community that uses and make open source software. With passion.

    ]]>