woensdag 17 september 2008

Case Studie - extreem upscalen van Shaklee

Shaklee is terecht gekomen op een landelijke (US landelijk dus) talkshow waarbij de site werd getoond. Vantevoren was ze verteld dat hun website zou crashen, want dat gebeurde bij elke website die daar getoond werd. Met 20MIO (20.000.000) kijkers is daar een aardige groep mensen die mogelijk zouden surfen naar hun site. Vóór deze show hebben ze hun infrastructuur onder de loep genomen en ontdekten dat ze 5 jaar niets eraan hadden gedaan,
omdat ze maar zo'n 10% per jaar groeien.

Welke uitdagingen hebben ze zichzelf opgelegt? Het beperken van zo'n beetje alles per transactie. Hieronder hun strategie in een notedop:

Beperken van Server Requests per Transaction
Je kunt de request naar je eigen server beperken door statische content naar andere sites te verplaatsen. Dus plaatjes, flash, video's werden naar gedistribueerde netwerken geporteerd (CDN, Akamai, Limelight).

Beperken van server CPU en geheugen gebruik per transactie
SSL encryptie werd door gespecialiseerde hardware op zich genomen. Alle pagina's werden weer statisch gemaakt, met maar een paar uitzonderingen (standaard is dat tegenwoordig meeste pagina's dynamisch zijn). En het gebruik van Layer 4 load balancing. Ook hebben ze zoveel mogelijk module's uit Apache gestript en er werd níet geclusterd (voor een eenvoudige
webshop was clustering geen voordeel). Session management was uitgezet, omdat de enige belangwekkende informatie zou zijn: product en prijs.

Beperken van netwerkbelasting per transactie
Om te beginnen werd alle HTML geoptimaliseerd dus Dreamweaver eruit en HTML met de hand doen. De plaatjes die gebruikt werden waren zeer strikt qua formaat en geoptimaliseerd voor het web. Verder werd er alleen HTTP1.1 gebruikt en werd de NAS er uit gegooid.

Beperken van zwakke punten in het netwerken
Ze hebben meerdere ISP's genomen waardoor ze meerdere lijnen binnenkregen in hun datacenter en ze hebben een aantal 'slapende' systemen ingezet (routers, switches, firewalls, ethernet cards in de servers).

Beperken van zwakke punten in applicaties
Hun applicaties zijn zo gebouwd dat ze minimaal gebruik maakten van webservices en (verbazingwekkend) hebben ze de database er uit gegooid om deze schakel te elimineren. Verder hebben ze ook de realtime verbindingen met bijvoorbeeld de Creditcard companies en met hun magazijn uitgeschakeld. Ook werd zoveel mogelijk rekenkracht aan de client kant gebruikt (creditcard check met javascript, naam- en adrescheck met javascript (waardoor je ongeveer 0,5% van je klanten misloopt) en een cookie-based shopping cart om het gemis van een dB op te vangen).

Andere dingen
De analysefunctie van de website was uitgezet, met name omdat de pakketleverancier niet kon garanderen dat onder de druk hij niet zou bezwijken. Verder hebben ze het zo gemaakt dat checkout op slechts één pagina komt. En, als extra backup: een pagina met 'sorry' en het telefoonnummer van de tele-winkel. Orders werden gebatched en pas verwerkt zodra het verkeer het toeliet (zodat je bevestigingsmail pas later verwerkt, CreditCard/adres en orders later controleert, etc).

Feathterweight Design Pattern
Ze hebben gebruik gemaakt van het Featherweight DP waarover ik echter op het 'net weinig heb kunnen vinden. Een paar kernpunten eruit zijn: geen externe service calls, zoals adress verificatie. Elke webserver was standalone en zónder cluster management. Stateless server sessions.

Het eindresultaat?
HTML traffic op 60MBit/seconde, grafisch 200MBit/seconde, 8500 requests/seconde op de servers. En dit alles gebouwd in 20 dagen (én getest) met Zend.

Geautomatiseerd websites testen met Selenium

Selenium werd gepresenteerd door Stefan Priebsch en zijn statement is heel duidelijk: automatiseer zoveel mogelijk, want een test zoekt alleen maar uit of de output komt zoals hij voorspeld is.

Hiertoe hebben ze een Firefox plugin gemaakt (die in zichzelf bijna een IDE is) waarmee je een pagina of website geautomatiseerd kunt testen. Het systeem is gebaseerd op het testen van de events die een bepaalde handeling oproept, inplaats van het emuleren van handelingen (dus niet de coördinaten van de muis wanneer hij klikt, maar het specifieke event dat hij afvuurt). Dit heeft als voordeel dat layout van een site veranderd kan worden als de namen maar gelijk blijven, zonder je test te storen.

Behalve de IDE zelf hebben ze ook een Remote Control Server waarmee je, in combinatie met de IDE per browser, meerdere sites kunt testen.

IDE: http://selenium-ide.openqa.org/
RC: http://selenium-rc.openqa.org/

Andere handige weetjes:
Continuous Integration met Cruisecontrol en phpundercontrol en het gebruik van PhPUnit en kijk ook eens naar KVM als alternatief voor VMWare.

Met Selenium kun je dus diverse Browsers, OS'en, Databases, configuraties en versies testen met slechts één pakket. Ziet er goed uit.

PHP op Windows

De derde presentatie die ik volg expliciet over Microsoft en Open Source. Garrett Serack werkt voor het Open Source Lab van Microsoft. Microsoft, zo geeft hij aan, is aan het veranderen.

PHP op Windows bestaat al een jaar of 10 zelfs. Het draait namelijk op Apache en IIS en biedt veel ondersteuning voor Windows Features. PHP binnen Windows wordt meestal gebruikt in een ontwikkelomgeving maar daarna meestal buiten een Windows omgeving gedeployed.

Microsoft accepteert dat PHP belangrijker (in meerdere of mindere mate gedwongen en/of geassisteerd door de community) wordt en is bezig te onderzoek hoe het beter kan draaien op Windows. Actueel voorbeeld hiervan is FastCGI voor IIS waardoor PHP stabieler én sneller draait (standaard op Windows Server 2008) en te downloaden voor XP en Vista.

SQL Server is een ander voorbeeld waarbij de community betrokken is geworden en waarbij ook het SQL Server team van MS native support voor PHP in SQL Server heeft gebracht. De code van deze driver is te vinden op CodePlex met een OS licence.

Verder legt hij uit dat er een proces binnen Microsoft is ontstaan voor het geven van patches aan de community voor hun Open Source producten. ADODB is hier een voorbeeld van.

PHP5.3 wordt voor Windows een belangwekkende update. Elke afhankelijke library is bijgewerkt. Leuk om te weten: PHP5.3 is gecompileerd met Visual C++ in Visual Studio 2008 en verkrijgbaar in x86 én x64 versies.

Windows SDK: http://tinyurl.com/6z57rv
FastCGI: http://iis.net/php
PHP 5.3 builds: http://snaps.php.net/

Na deze presentatie begin ik er inmiddels van overtuigd te raken dat het Microsoft menens is met de steun voor PHP.

PHP voor desktop applicaties - PHP-GTK2

Wederom door Elisabeth Smith. PHP op de desktop? Nou, ja dus. Je bent namelijk niet altijd online, hebt voor sommige applicaties (zoald 3D en animaties) teveel bandbreedte nodig, data kan gewoon té gevoelig zijn om online te bewaren, embedded software doet het niet altijd goed en Browsers zijn gewoon onbetrouwbaar.

Nadelen van PHP ontwikkelen op de desktop is vooral snelheid, distribueren, veiligheid en het gebruik van threading.

Een paar mogelijkheden zijn PHP-GTK2 en Winbinder (alleen voor PHP4 deze laatste). Er zijn ook nog wat programma's in ontwikkeling zoals PHP-QT, Win::Gui en WxWidgets.

Elizabeth gaat dieper op GTK in en begint met een installatie-hulp die niet in de GTK documentatie te vinden is: http://oops.opsat.net/doc/install.html

Hierna was ik haar kwijt, ik hoop dat Robert aanvullingen kan geven. :)

Meer info op http://callicore.net/php-gtk/php-gtk-twitter.zip en ../php-on-the-desktop.pdf

Server onafhankelijk PHP programmeren

Eddo Rotman heeft me meegenomen op een reis door de wondere wereld van serveronafhankelijk programmeren. Het voorbeeld dat hij aandraagt (PHP code die wel locaal draait maar dan niet op hosting provider X of Y) sprak mij erg aan.

Hij geeft gedurende de presentatie een 3voudige demo met een site op 2 apache configuraties en op IIS7 laten zien dus het was goed aanschouwelijk!

Constanten
PHP_EOL, DIRECTORY_SEPARATOR, PATH_SEPARATOR en PHP_INT_MAX zijn al in PHP ingebouwd.

Als voorbeeld, dus niet
fopen ('data\datafile.xml');
maar
fopen ( 'data' . DIRECTORY_SEPARATOR . 'datafile.xml');

Directives
Deze kunnen door verschillende distributies verschillen geïnterpreteerd worden.
Tags kunnen verschillen geïnterpreteerd worden, afhankelijk of asp_tags[off] staat bijvoorbeeld. Gebruik dus altijd volle tags , want die werkt altijd. Ook register_globals en magic_quotes_gps zouden uit kunnen staan, als veiligheidsmaatregel. Ook errors moet je zelf afvangen, voor als display_errors of error_reporting op off staat. max_execution_time, upload_max_filesize en include_path moet je ook rekening mee houden.

Gebruik dan ook een stricte php.ini bestand, gebaseerd op php.ini-recommended. Pas verder de PHP_INI_ALL en PHP_INI_USER runtime aan om te doen wat je wil.

Core Functions
Omdat PHP van origine op Linux is ontwikkeld kan er nog wat achtergebleven zijn wat anders werkt op Windows bijvoorbeeld. Denk hierbij aan setlocale(), chmod(), is_link() , proc_open() en shell_exec(). Voor tijd kun je bijvoorbeeld date_default_timezone_set("GMT"); doen.
Ook handig zijn sys_get_temp_dir() en tempnam() die je kan helpen runtime informatie op te halen over de server.
Er zouden ook extentions kunnen missen waardoor je bepaalde functies mist. Vang dit dan op met function_exists() en extention_loaded().

disable_functions en disable_classes kunnen in de directive staan, daarvoor ook is function_exists() te gebruiken, die dan false teruggeeft.

Frameworks
De meeste frameworks zullen over het algemeen betrouwbaar zijn qua cross-server coding. Gelukkig is het allemaal OS dus kun je kijken of dat klopt.. :)

Bootstrapping
Gebruik een bootstrap.php om op diverse zaken te controleren en die ventueel af te vangen.

Kort en goed: wees je bewust hiervan!

Stand van zaken AJAX

Deze after lunch keynote van Dion Almaer gaat in op het gebruik van AJAX (RIA's) in de tegenwoordige en toekomstige tijd. Eén van de belangrijke dingen die hij aangeeft is dat er veel te maken heeft met de verwachtingen; door de huidige ontwikkelingen op grafisch gebied gaan de verwachtingen van gebruikers omhoog en zul je dus ook mooiere dingen moeten maken, zelfs als de functionaliteit van de site daar niets mee te maken heeft.

Balangrijk om te onthouden is dat de User Interface opgebouwd is uit Visual Design én Interaction Design. Voorbeeld van hoe het niet moet, is Vista.

Een leuk open source project is Google Gears is een systeem dat background treads in browsers kan aansturen waardoor je de user experience vergroot op het gebied van reactiesnelheid. Demo helaas niet gezien, weer een demo die niet werkt. (sidenote: belangrijke les van dit seminar: demo's werken niet, hou me tegen als ik dat ooit eens wil gebruiken).

Een nieuwe HTML5 standaard die er aan komt is Canvas die enorm veel snelle grafische mogelijkheden heeft vanuit de browser. Deze kan in IE geïmplementeerd worden in Flash en via Silverlight, en google schijnt er een bridge voor gemaakt te hebben; het bestaat al voor Safari (SquirrelFish) en Firefox (TreaceMonkey); Google heeft Chrome V8.

Verder liet hij zien hoe je met een Wii in een Javascript Dartgame kunt spelen. Ja, Javascript, dus in een browser!

Het is echter niet alleen client side dat belangrijk is. De Google App Engine ondersteunt nu all Python RIA Backends.

Leuke en informatieve presentatie!

Digitale Identiteit

Rob Richards is onze huis-neuroot die wat dingen vertelt over digitale identiteit en de zaken die daarmee te maken hebben. Hij geeft duidelijk aan wat de problemen zijn met digitale identiteiten, met name het bewijzen dat je bent wie je zegt dat je bent.

Ander problemen zijn dat je veel moet onthouden en goochelen me je logins en wachtwoorden, dat je informatie ergens wordt opgeslagen, dat jij als gebruiker geen idee hebt wie of wat jouw informatie gebruikt, dat authenticatie heel divers is en steeds opnieuw wordt uitgevonden.

Iets om te onthouden is bijvoorbeeld de 7 Laws Of Identity. Ook is het goed om na te denken over verschillende soorten van identiteit die je uit wil geven.

OpenID
Dit nieuwe initiatief maakt dat je Singe Sign On kunt gebruiken en toch je privacy kunt behouden. Het is gedecentraliseerd (dus niet afhankelijk van één instituut), geeft jou controle over je informatie, zorgt dat je minder info aan individuele sites hoeft te geven en kan je volop laten genieten van wat het Web biedt zonder aan privacy in te boeten. Het is overigens een volkomen gratis en OS community initiatief.
Het gebruikt een URL om je te verificeren, het is volkomen hardware onafhankelijk (wel makkelijk, niet veilig) en vrij eenvoudig.

OpenID (voor versie 2.0) is nog niet perfect. Je kunt nog steeds Phishen en Pharmen, XCC, CSRF doen en diverse andere nare zaken, plus dat jouw OpenID provider elke site weet waar je komt.

OpenID 2.0 kan hier beter mee omgaan en heeft wat voordelen. Zend OpenID propositie hier.

Information Cards
Een alternatief is Information Cards waarmee je Identities kunt aanmaken online, vergelijkbaar met een aantal identiteiten (pasjes) in een portemonnee. Het biedt unieke identifiers per site, heeft phishing bescherming, een x509 certificaat en gbruikt complexe technologieën (waar OpenID simpele techniek gebruikt). Het lijkt beter te zijn maar is nog erg beperkt qua verspreiding. MicroSoft doet hier veel mee met Windows Cardspace.

Al met al een leuke kennismaking met Identities en ik ga zeker iets er mee doen zelf de komende tijd!

PHP Architectuur

Na de weinig spectaculaire keynote nu een presentatie van Elisabeth Smith over PHP Architectuur. Ik verwacht er veel van en, gezien de opkomst in het zaaltje, de anderen ook. Eerste keer dat ik een zaaltje 'uitverkocht' zie. Haar statement is heel duidelijk: zaken die draaien op PHP5 zijn toch anders dan zaken die geschreven zijn voor PHP5. Duidelijk ADV (advanced) dus ik ga mijn best doen het bij te houden.

Een belangrijke Rule Zero: C is altijd sneller dan PHP (aangezien PHP uiteindelijk op C is gebouwd).

Overpeinzingen
En gelijk wat dingen over PHP5: als je nog bij 5.0 of 5.1 bent... direct upgraden naar 5.2.6. En ja, PHP is OO maar ook precedureel kun je leuke dingen doen, aldus Elizabeth.

Toolbox
Eerst een stukje over Visibility, maar dit is standaard Public, Private en Protected zoals ook in de ZCE certificering zit. Ook vertelt ze over Magic Methods, oftewel alle methodes met __ (double underscore) ervoor, zoals __clone (en dat je met MM voorzichtig moet zijn). Dan een kort stukje over Interfaces en het voordeel daarvan (meervoudige implementaties van interfaces in een class). Dan over Abstract Classes, oftewel Global Classes, gelijk aan interfaces met die restrictie dat je daarvan in een klasse maar één instantie kunt hebben. Tot nu toe, allemaal ZCE stuff die ik maandag ook al heb gehoord.
Dan iets nieuws voor me, namelijk Overloading. Belangrijk hierbij is dat je het wel documenteert én becommentarieërt (net zoals Magic Methods). Dan het voordeel van Class Constants (leeghouden van je Global constants) en Autoload en het bijbehorende gebruik van spl_autoload_stack().

Prcedural & extentions
Dan het gebruik van Steams en Filters. Een klein codestukje voor een filter:

$fp = fopen ('php/output','w');
stream_filter_append(etc)
stream_filter_prepend(etc)
fwrite()
file_put_contents(url, "this is a test");


Dan volgt er een stukje over de nieuwe gave dingen in PHP 5.2.x, een lange lijst functies. Ook vertelt ze over SPL, de Standard PHP Libarary (ook al een onderdeel van ZCE).
PDO is een Database Access Layer waarmee je makkelijk dB toegang kunt maken. Je kunt er bijvoorbeeld Prepared Statements mee maken, zelfs als de dB dat niet ondersteunt. MySQLi heeft twee API's om de MyQQL Improved te gebruiken. JSon is JavaScript Object Notation en ku je bereiken via json.org. Elizabeth zegt dat het erg veel en veel sneller kan zijn dan PHP. Vergeet ook niet dingen te schonen met Filter. SimpleXML is eigenlijk een vereenvoudigde versie van XML voor luie ontwikkelaars, oftewel XML for dummies, ook gebouwd in C overigens.

Architecting for PHP5
De kernboodschap hier is: Gebruik meer C en gebruik meer Design Patterns. En 'begin bij het begin'. Verder wat tips over architectuur zoals 'gebruik de krachten van PHP en vermijdt de zwakheden'. (duh!) Sterk bijvoorbeeld is http_build_query, gebruik SPL met recursivedirectoryiterator en andere zaken.

En voor de laatste keer de reminder: C is sneller dan PHP... gebruik dus ook wat je al hebt en gebruik niet PHP alleen maar omdat het PHP is. :)

Al met al een leuke presentatie, maar wel grotendeels gewoon een ZCE herhaling.

PHP: Next generation

Een leuke presentatie over het verleden, heden en toekomst van PHP. Verleden en heden hoef ik jullie niet te vertellen, we hebben nog steeds de legacy van het beeld van de kleine website ontwikkelaar.

De toekomst is heel anders echter en sluit aan bij de andere grote moderne ontwikkeltalen. Hierbij moet je dus denken aan grote ontwikkelteams, miljoenen gebruiken, OO ontworpen, MVC enabled, multi-tier én commercieel interessant.

Een sprekend voorbeeld hiervan is Magento (een 'enterprise' OS eCommerce programma met een waarde van miljoenen $ in transacties, ontwikkeld in < 1 jaar).

dinsdag 16 september 2008

Test Driven Development

Ik heb net een presentatie bijgewoond die nogal... oppervlakkig was. Voor mij althans, want de techniek er achter boeit me niet zoveel en de uiteindelijke case die Derick Rethans wilde maken was: Test Driven Development is helemaal de shizzle.

Een paar studies van IBM en Microsoft bevestigen dit. Nou ja, nu weet ik tenminste het verschil tussen unit-testen, systeem-testen en non-functional testen.

Robert is klaar

Zo, Robert heeft zijn presentatie gedaan over Secure Development Lifecycle Management. Inhoudelijk zal ik er niet op in gaan, dat doet hij zelf maar lekker.. :)

Ondanks dat hij erg snel klaar was, was het wel een van de betere presentaties vergeleken met de rest van de sessies die ik tot nu toe heb bijgewoond. En gezien het aantal mensen dat de sessie bezocht en hem na afloop nog vragen stelde, een onderwerp dat ook leeft.

Verder heeft hij uitstekend Sogeti en PaSS verkocht, dus chapeau!

Lunch met een paar PHP geeks

De lunch van vandaag (een volledige warme maaltijd) heb ik benut op een paar PHP'ers uit de beide Amerika's te bevragen. Het was me namelijk opgevallen dat vooral Java tegenwoordig het bokje leek te zijn bij vergelijkingen met PHP; in de Keynote werden 3 'representatieve' voordelen gegeven waarbij Java was vervangen door PHP.

Een rondje langs mijn tafelgenoten liet zien dat zij het allemaal iets minder ernstig opvatten; Java is zeker nog niet op zijn retour. Ze erkennen echter wel dat Java nogal zwaar is op het gebied van resources of, zoals één het zei, 'java was unique in that it ran on any platform... slowly'. PHP is dus gewoon sneller en lichter in het gebruik.

Het lijkt er dan ook op dat PHP wellicht het gat aan het opvullen is van wat Java had moeten zijn; die vraag stelde ik ook maar dat beaamden ze niet. Ik heb wel geleerd dat Java '...is the King of reports...'. Ook leuk om te weten.

De consensus aan de tafel was: PHP is klaar voor de sprong naar de Enterprise

ASPHP oftewel gebruik van PHP met ASP

Deze presentatie, gegeven door Joe Stagner, blijft me eigenlijk niet of nauwelijks bij. De kernboodschap is eigenlijk: ja het kan.

Volgens Joe zijn er een aantal voordelen aan het benutten van Microsoft met PHP, namelijk dat MS erg veel producten heeft, 600.000 partnerships heeft (hoe indrukwekkend is een partnership met MS dan nog) en veel standaarden ondersteund.

De demo die hij probeerde te geven met IIS7 ging niet goed dus ik kon geen Oeh en Ah doen; het schijnt te kunnen, helaas niet gezien.

IBM i5 en PHP

Jon Paris heeft een leuk en enthousiast verhaal verteld over het gebruik van PHP op IBM i5 backends.

Het is (bijna vanzelfsprekend) begonnen met een paar succesverhalen die overigens aansprekend zijn. Een leuke is rugerauction.com waar i5 met RPG werd gebruikt en in een maand met PHP live is gegaan. Een aantal andere voorbeelden hiervan zijn sugarcrm.com en mantis400.com (een helpdeskpakket dat draait op DB2/i5/PHP)

Daarna een verhandeling over de handigheid van toepassingen van PHP als RPG niet toereikend is, bijvoorbeeld bij het gebruik van XML bestanding (veel minder code met PHP), het gebruik van WebServices (10 regels PHP tegenover 50+ in RPG).

Toen een stukje over een alternatief voor het ZEND framework dat speciaal ontwikkeld is voor Business Applications, het ATK framework. Hiervan is een speciale i5 versie gemaakt die alleen nog in het Nederlands verkrijgbaar is (wat vervelend). Het is te vinden op www.i7.nl (i5 + PHP + ATK = i7).

De presentatie eindigde met een stuk over de ZEND 5250 bridge toolkit die het werken met 'green screens' een stuk makkelijker maakt. Je kunt dan bijvoorbeeld services, portals, mashups, AJAX en meer gebruiken op oude i5 applicaties. Het voordeel van het gebruiken van deze Bridge is dat het gebruikt maakt van de formele IBM WebFacing zerver. Een codetips: var_dump() en print_r() zijn je vrienden bij het gebruik van deze bridge.

Microsofts OS propositie

Ik zit nu in een presentatie van Microsoft (Tom Hanrahan to be precise) waarin hun visie op PHP en Open Source wordt weergegeven. Het is leuk om te zien hoe MS probeert aan te haken bij de Open Source community. Eén van de dingen die daarbij hoort is 'show me the code' als variant op Show Me The Money. Dat heeft Microsoft begrepen en daar zijn al een aantal zaken van te zien. Zo heeft Microsoft ondersteuning in SQL Server '08 voor PHP, is IIS7 met Fast CGI geoptimaliseerd voor PHP en zo nog wat zaken.

Verder heeft Microsoft haar eigen variant op Sourceforge, namelijk codeplex. Andere leuke plekken om te kijken zijn een paar blogs en sites van MS: port25.technet.com, www.microsoft.com/opensource, windows.php.net.

Het is nu echt begonnen: keynote

De start van de dag was een presentatie van Harold Goldbert (CEO van Zend) en Andi Gutmans, één van de founders van ZEND. Zoals verwacht was het vooral een ululatie van successen en hoe goed het allemaal gaat, maar ik moet toegeven dat het best indrukwekkend klinkt.

Vooral in de telecomsector lijkt PHP (en ZEND dus) het erg goed te doen. Kargo, Zero9 (italië), Orange UK zijn allemaal op PHP overgegaan, geheel of gedeeltelijk. Opvallend genoeg was dit meestal ten koste van Java, dus ik vraag me af wat daarvan de oorzaak is.

Ook in de financieële sector lijkt PHP door te dringen, zo hebben BNP Paribas en de Stock Exchange van Canada gekozen voor (gedeeltelijke) PHP oplossingen.

Verder is nu officieel de certificering van het ZEND Framework aangekondigd, eens kijken of we dat in de basisopleiding moeten gaan opnemen.

Andi Gutmans gaf 4 belangrijke factoren voor de acceptatie en adaptie van PHP:
- het is heterogeen en kan praten met bijna elke taal;
- er is veel tooling beschikbaar, met name voor Eclipse;
- er is integratie met veel andere technologieën en databases, en;
- er zijn al veel applicaties (vooral CMS'en) die werken met PHP.

maandag 15 september 2008

Tutorial day voorbij

Zo, het is voorbij. Mijn medewerkers kunnen weer rustig slapen want deze UM is niet gecertificeerd in PHP. Niet zozeer omdat ik niet wilde, maar omdat alle slots voor certificering op waren.

Zometeen lekker eten, en eens kijken wat we morgen precies gaan doen!

Halverwege dag 1

Zo, even pauze, was wel nodig ook. Een stoomcursus PHP is best intensief, als je in één dag wordt voorbereid op het examen. Ik ben in goed gezelschap, ik denk een professional of 80 die ook deze track volgen, waarvan minstens de helft al 3 jaar of langer aan PHP doet!

Ik moet dan ook best aan de mentale kuierlatten trekken om bij te blijven. Vooral die enorme hoeveelheid array functies wordt er in een noodtempo doorheen gejast, om nog maar niet te spreken over classes en interfaces en wanneer je wat gebruikt.

Ik hoop maar dat ik het niet haal dat examen deze week, want mijn professionals hebben dan geen leven meer... 3 weken doen over ZCE is dan geen optie meer.

zondag 14 september 2008

Aangekomen


Zo, na een wereldreis van (alles bij elkaar) zo'n 16 uur zijn we dan op locatie gekomen (eindelijk) in Santa Clara, California, ook wel bekend als Silicon Valley. We zijn al langs (lege, want het is zondag) kantoren gereden van Cisco, Google, Yahoo en zo nog een handjevol IT dingesten.


Zometeen om 20u locale tijd (da's om 5u 'snachts jullie tijd en ja, ik ben nog steeds wakker) hebben we een eerste meeting met vertegenwoordigers van Zend om eens te bespreken wat we voor elkaar kunnen betekenen. Ben benieuwd of ik een beetje wakker kan blijven.


Jullie horen van ons!

Onderweg

Zo, het gaat gebeuren. Gisteren het Sogeti jaarfeest en pas on 1u of zo het bed in (gisteren wel om 6:50 wakker, lange dag) en vandaag om 7:30 weer het bed uit om op tijd op Schiphol te zijn.

Ik zit nu samen met Robert in de KLM Crown Lounge (courtesy of American Express creditcard company) draadloze dingen te doen, kopje thee met een koekje en wachten maar. Zometeen eens de PHP ontwikkelomgeving openen, als ik morgen Zend Certified Engineer wil worden mag ik me inmiddels wel gaan voorbereiden.

vrijdag 12 september 2008

Hello world

Hallo,

dit wordt de blog van Christiaan & Robert om verslag te doen van alles wat we op de Zendcon 2008 meemaken, welke sessies we bezoeken, en meer.

Grtz

Chris