Jun
16
Dutch PHP Conference 2008: elePHPants, mayo, ogres and rabbits
Filed Under Tech, WebDev | 6 Comments
This saturday saw the second edition of the Dutch PHP Conference. Organized by iBuildings and Zend, and with a number of big names from the PHP community in the line-up, the program looked promising. With 4 separate tracks on friday’s tutorial day and 3 tracks on conference day it was impossible to attend everything, so I’ll just go over some of the highlights.
Ivo Jansch of iBuildings kicked off the conference by throwing 20 elePHPants into the crowd (of course, I sat at the back and Ivo will never make it as a Major League pitcher, so fat chance there). The fluffy blue mascots were “generously” donated by co-sponsor Oracle. Apparently for more than 20 you need to get an enterprise license first, and hire a certified Oracle DBA to do the throwing.
Zeev Suraski, one of the creators of PHP as we know it today and co-founder of Zend gave the opening keynote, an overview of the origins of PHP and the challenges PHP faces in the future. Unfortunately he felt the need to include the obligatory snide remarks about Ruby on Rails and Twitter.
Next up was Marco Tabini, who’s talk entitled “Software and the taste of mayo” turned out the be the highlight of the day. In a funny, engaging and insightful talk Tabini even managed to slip in some jabs at Ruby that where actually funny. Of course it helps if the speaker displays a keen insight into the subject matter instead of just taking cheap shots. His talk was extremely enlightening, looking at developing websites in terms of “Profit Density” (as in profit per page) and ways of using cloud computing services like Amazon’s to create the perfect balance between costs and scalability.
After that the conference was split in to three different tracks, and this is where the main weakness of the program became clear: a lot of the talks partially covered the same subject matter like version control, unit testing, continuous integration, packaging and deployment, in short: professional, “enterprisey” software development in PHP. Besides that, the speakers covered the material largely from the same angle, with almost identical tools and strategies, and mostly preaching to the already converted. The latter is in itself of course good news, compared to the situation some years ago.
However all of the talks were all quite good, and well worth the relatively low pricetag. But some more variation and maybe even some dissenting voices would have been welcome. With some exceptions (I was told the session on PHP security was very interesting), there was a bit too much of the mutual admiration society going on here.
The closing speaker of the conference, the highly anticipated Terry “the PHP Terrorist” Chay was very entertaining and despite the warning labels his “The Internet Is An Ogre” talk was not particularly offensive (at least not to a mostly Dutch audience). Albeit somewhat incoherent and rambling at times, making it seem more like a “best of Terry Chay” compilation than actually getting to a point, he did manage impart a lot of useful information.
Some of which was implemented on the spot by Folke Lemaitre of Netlog (if you see smileys appear on the subject line of your Netlog invites, that’s where it comes from). And of course Chay mercilessly dissed Ruby. What the f*** did you expect?
All in all it was a lovely, entertaining and educational day out of the coding dungeon for us PHP geeks, thanks to the iBuildings crew for putting this all together!
Some random observations
- Lorna Jane should start selling Nabaztags after her talk. Seriously, she could have sold at least 5 or 6 right there. Using the WiFi rabbits as ambient alerts is an awesome idea.
- Catering at the RAI conference center isn’t great, but the summit of suckyness was formed by the lukewarm brownish water that was quite mistakenly referred to as “coffee”.
- Dissing Ruby on Rails is a sign of weakness if at the same time we fail to address the reasons why RoR has captured the imagination of a generation of developers that has come up with some of the most awesome new web 2.0 applications. This not a coincidence. RoR may not be the answer, but that doesn’t mean we can afford to ignore the question. Besides that, it’s just getting old.
- We need more elePHPants! Seriously. These kind of “social objects” ( (c) Hugh Macleod) are at least as important in promoting PHP as rational arguments…
Some quotes
Lorna Jane Mitchell: “I think I might be the world’s most ditzy developer”
Gaylord Aulke: “Java and J2EE, I love it!” (on his slides)
Sebastian Bergmann: “I blame it on my brain not working proberly at this time”
Terry Chay: (every other sentence)
For pics, search Flickr for ‘dpc08′, and check out Summize for what was said on Twitter.
May
30
Some thoughts on PHP advocacy
Filed Under WebDev | Leave a Comment
These days, PHP is being taken more and more seriously as a professional web development platform instead of just a simple scripting language for quick & dirty web hacks. However, one of the main strenghts of PHP, the diversity of it’s community and it’s low barrier to entry, also leads to the kind of shallow, badly informed PHP advocacy we can do without.
Nate Abele’s talk on CakePHP at this weeks Kings of Code conference, with it’s baseless dissing of Rails and personal attacks on DHH, led me to think we could use some basic guidelines for
spreading the PHP gospel.
So here’s a start. Feel free to critize/contribute:
- Thou shalt not dis Ruby on Rails. Rails is awesome. Repeat after me: “Rails is awesome”. So let’s learn and steal from it as much as possible.
- Thou shalt not dis Microsoft. Microsoft sometimes does awesome stuff. Okay, I’m not gonna make you repeat that. I feel dirty enough typing it. And no cute Blue Monster is going to stop them from being evil either, but you can still be evil and do cool stuff. Think Tom Cruise.
- Admit PHP is one of the most inelegant, inconsistent languages every invented by mankind. Or as Jeff Attwood put it recently “PHP isn’t so much a language as a random collection of arbitrary stuff, a virtual explosion at the keyword and function factory“. Don’t argue about PHP on the basis of elegance, structure and logic. You’re gonna loose. Besides, do you really want to waste your time on a “yo’ momma dresses you funny” argument with language design purists when you could be coding the next Facebook?
- It’s not about making PHP ready for the “enterprise”. That’s just the sales pitch. It’s much more about making the enterprise ready for PHP, and the culture and values of the web that come with it.
- PHP4 is dead. Bury it already. Don’t take it out on stage and show it to the world pretending nobody’s gonna notice the funky smell. (That even includes you, Matt Mullenweg…)
- Native performance is irrelevant. Seriously. Screw the benchmarks. If you absolutely, positively have to squeeze every inch of processing power out of your servers, code in C. Otherwise, learn about architecture and how to cache the crap out of everything. The chance that native language performance is relevant for your web application is very, very small, so stop arguing about it.
- PHP doesn’t begin and end with Zend. PHP is neither a language nor a product. PHP is a above all a community. PHP is you. That’s why PHP rawks. Because you do.
May
28
Kings of Code, quick recap
Filed Under Tech, WebDev | 2 Comments
Attended Kings of Code yesterday. Awesome conference for web devs, just a quick recap:
- PPK is great speaker, did his bit on javascript event handling, most of which was news to me. Some jabs at W3C and surprising praise for Microsoft (that is, for the 1% of things they do get right). Big revelation: PPK was the only guy in the room who doesn’t use Firebug. (slides of his talk)
- Folke Lemaitre gave us a great insight into how Netlog was made to scale, especially interesting was how they used memcache. Big surprise: despite having many more users and using the same technology, Netlog uses a lot less servers than Hyves. Several Hyves dudes in the room btw…. (slides)
- Mark Birbeck walked us through the new W3C standards for the semantic web, RDFA, XForms etc. Interesting, but not really riveting stuff.
- Nate Abele didn’t make himself any new friends by dissing Rails, Symfony et all, mostly for the wrong reasons. But it was good to know many of the attending coders were more professional. Somebody might have to explain to him most pro-PHP coders would rather use real RoR than CakePHP’s php4 imitation of Rails. Too bad, with the right input Cake could be going places, ’cause there is plenty of room for something other then Zend’s pick-and-choose approach and Symfony’s enterprisy framework.
- Nate Koechley did his bit about front-end performance tuning. Little news to me, but an excellent and very convincing presentation. YSlow rules! There was a rush for Yahoo stickers at the end, yes, we’re still amongst geeks here.
- The Open Source pitches were fun. Roomware already had it’s fanclub in the room, Bert managed to squeeze GIT into 5 minutes and still be convincing, Simon made an excellent case for oAuth (gotta check out oAuthernoon). Ruben was less convincing with Javeline (probably the wrong audience), and Tinco was too badly prepared and nervous to make the case for Rails. Should have stuck to Phusion, which could become a breakthrough project for Rails.
- Menno van Slooten from eBuddy made a smooth presentation about the growing professionalization of front-end development. Cool bit about the MySpace cross-site scripting worm.
- John Resig did a very thorough presentation of the big javascript frameworks JQuery (of course), Dojo, Prototype an YUI. Really helpful to me, but I got the feeling a lot of the front-enders would have preferred to hear him go into the technical details of JQuery.
Other stuff:
- WiFi was excellent most of the time.
- Backchannel was funny but kinda useless for one day, single track conference.
- Few people bothered to bag a free eBuddy mug.
- Total sausage fest, 4, 5 women tops. Maybe add some Flash and a female speaker next time?
- Looks like the PHPGG is gonna come out of hibernation. Nice.
- Everything went very smoothly and on schedule for a first time conference. Guess the experience of the NextWeb dudes helps.
- The conference room could seriously use some airco.
- After the drinks at Club 11 we organized an impromptu geekdinner with about 25 dudes from Hyves, Mediamonks, Lost Boys ao.
Thanks to Sander for putting an great event together!
(Sorry for the messy incoherent post, I just wanted to write this down while it’s still fresh. It’s not like I’m trying to write War and Peace here…)
May
23
XS4ALL, 15 jaar jong of nu al te oud?
Filed Under Uncategorized | 2 Comments
Ik had onderstaande vorige week ingestuurd voor XS4ALL’s eigen Opinie-blog (tenslotte viel blijkbaar onder maatschappelijke issues ook het prijzen van de nieuwe website), maar de reactie van XS4ALL was dat ze er telefonisch over wilden “overleggen”. Dat is dus precies het soort gebrek aan openheid waar ik me in dit stukje aan stoor, dus daar heb ik voor bedankt.
XS4ALL, die naam stond ooit ergens voor. Innovatief, eerlijk, open, betrokken, bevlogen. Een bedrijf met haar wortels diep in de internetgemeenschap, dat haar afkomst niet verloochende. Ik parafraseer even hoe XS4ALL zichzelf op haar eigen site beschrijft.
XS4ALL was een bedrijf waarbij je trots kon zijn dat je er klant van was, waar je als het gevoel van kreeg dat je ergens bij hoorde. Dat je bovendien ook nog op kwalitatief hoogwaardig internet kon rekenen en een
uitstekende service (even afgezien van de administratie) was een bonus, maar ook als het even wat minder liep bleef men XS4ALL trouw.
Tijdens de grote ADSL storing van de afgelopen dagen (volgens XS4ALL zelf de grootste storing uit haar geschiedenis) heeft XS4ALL zich echter van een heel andere kant laten zien. Een gesloten, autistisch
bedrijf, dat niet de moeite neemt om de getroffen klanten goed te informeren, en dat uitsluitend communiceert via de pers en middels enkele sporadische, routineuze, nietszeggende storingsmeldingen.
Een bedrijf dat zich verstopt achter een zwart-gele muur van stilte en non-communicatie, en zwijgt in alle talen, inclusief HTML. Terwijl de internetgemeenschap elkaar probeerde te informeren en helpen via de vele kanalen die internet rijk is, waaronder XS4ALL’s eigen good old usenet newsgroups, maar ook webfora, blogs, social networks, instant messaging en Twitter, was XS4ALL zelf in geen velden of wegen te bekennen.
Tot overmaat van ramp bleek zelfs het oude eenrichtings-kanaal van de teletekst storingspagina, ooit een voorbeeld van hoe serieus XS4ALL het informeren van haar klanten nam, niet te functioneren “vanwege een
storing” (sic). Iets dat door XS4ALL pas meer dan 30 uur later werd opgepikt nadat het op internet al een soort running gag was geworden.
(Het gerucht ging dat de teletekst-pagina al 3 weken lang stuk was, maar zoals inmiddels symptomatisch, XS4ALL bevestigt noch ontkent.)
Voor de mensen die met hun met internet uitgerustte mobieltje informatie probeerde te krijgen bleek XS4ALL anno 2008 niet over een voor mobiel geschikt site te beschikken. Sterker nog, verwachtte urls als
xs4all.mobi en m.xs4all.nl bleken respectievelijk te verwijzen naar Kieskeurig.nl (?!) en wat lijkt op de ADSL aansluiting van een klant…
Wie toegang had weten te vinden tot het gewone web, of de RSS-feeds wist te vinden, stond ook nog een leuke puzzel te wachten: de schaarse mededelingen werden op inconsistente wijze verspreid over verschillende nieuws- en storings-rubrieken, die elkaar aldus ogenschijnlijk tegenspraken over de huidige status.
Dat na meer dan 32 uur nauwelijks iets van XS4ALL te hebben vernomen uiteindelijk de telefooncentrale van het bedrijf bezweek mag nauwelijks een verrassing heten. Ja, ook dat is slechts speculatie, want ook over
de oorzaak van de falende telefooncentrale laat XS4ALL zich niet uit…
Het heeft er alle schijn van dat XS4ALL, dat ooit zo’n belangrijke rol speelde bij de veranderingen die het internet de afgelopen 15 jaar met zich mee heeft gebracht, zelf die veranderingen niet heeft kunnen
bijbenen. En daarom maar teruggrijpt op de oude vertrouwde communicatie strategieen van voormalige overheids-monopolisten als moederbedrijf KPN. Zich hullen in stilzwijgen, en slechts via de persvoorlichter de buitenwereld te woord staan.
Laat staan dat XS4ALL het aan zo durven om een dialoog aan te gaan met haar klanten. Van dat soort nieuwlichterij moet het huidige XS4ALL al helemaal niks hebben, ook niet als er geen storing is. Dat proces is al een tijdje aan de gang, maar werd de afgelopen dagen wel erg pijnlijk duidelijk. Oh, men wil nog wel eens een poging tot innovatieve communicatie sponsoren en hosten en daar publicitair voordeel uit halen, maar zelf meedoen, ho maar. Het bedrijf dat zegt midden in de internetgemeenschap te staan lijkt totaal geen idee te hebben waar een groot deel van die internetgemeenschap zich tegenwoordig bevindt en wat zich er afspeelt.
XS4ALL leek de afgelopen dagen verworden tot hetzelfde soort conservatieve, gezichtsloze telecom bedrijf waar het ooit rebels tegen aan schopte, en waarvan het zich in de marketing nog zo krampachtig probeert te onderscheiden. Maar meer dan een marketing-gimmick lijkt het niet meer. Die marketing bleef in tegenstelling tot dienstverlening zelf wel gewoon op volle toeren te blijven draaien. Ze bleek het bij XS4ALL zelfs na meer dan 2 dagen storing niet op te komen om een bannercampagne waarin 99% uptime wordt gegarandeerd in te trekken…
Misschien is dit alles wel onvermijdelijk in deze branche met z’n moordende concurrentie van prijsstuntende telecom bedrijven. Maar als je als voormalige hackersclub inmiddels minder toegankelijk en transparant bent geworden dan het huidige, ooit door dezelfde hackers zo verfoeide Microsoft, dan lijkt mij het 15-jarig bestaan een goed moment om ook eens stil te staan bij de vraag of er niet ergens iets een beetje fout is gegaan.
Doe mij dit jubileum maar even geen XS4ALL T-shirt. Ik weet niet of ik hier nog wel bij wil horen.
Naschrift: ondertussen blijkt ook de actie waarmee XS4ALL jubileum-kadootjes uitdeelt aan klanten dankzij een amateuristische opzet ook aan alle kanten te rammelen, waardoor de kans op het bemachtigen van zo’n felbegeerd t-shirt sowieso erg klein wordt…. Zoals te verwachten, XS4ALL zwijgt ook over deze problemen.
May
2
…but does it scale?
Filed Under Tech, WebDev | Leave a Comment
A lot of non-developer blogs are writing about Twitter’s scaling issues, and the possibility they may ditch Ruby-on-Rails. The good thing is: the relevance of technological choices is finally being made visible for a (slightly) broader audience. The bad thing is: it’s largely being simplified to a “does platform X scale” issue.
Now I’m not going to defend the use of RoR, because I think it’s a naive choice to use relatively unproven technology for a project like Twitter. And I’m certainly not going to join the choir of clueless RoR fanboys who believe just using RoR makes them more professional developers. At least most of “our” PHP scriptkiddies are clueless without the major attitude problem…
But RoR is not the issue here. Virtually every platform can scale. You can probably write Twitter in VBscript and make it scale. Just as long as it allows you to cache the crap out of everything and optimize and de-normalize the database-interaction, you’re pretty much set.
Unless you’re looking for out-of-the-box “enterprise” scalability, which in practice means “keep adding more hardware to achieve mere ‘acceptable’ performance”, creating a scalable web application is a matter of architecture rather then platform choice. If the platform you choose allows you to tweak every inch of your app, and mix & match various technologies best suited to solve particular issues, there’s no reason why your app won’t scale. Many high-traffic websites for instance have bits and pieces coded in C, and/or certain services running on highly tweaked servers just to solve particular bottlenecks. It’s only if your technology of choice is so monolithic doesn’t allow for such hacks it becomes a blocking issue. This is a serious risk when choosing not only a particular programming language but an entire framework, but most frameworks will allow you to work around it if necessary.
The key is not to let your entire application depend on one single platform or vendor, and work on the principle of “small pieces, loosely joined”, in which the pieces can be made from any technology that scratches your itch*). Which by the way seems to be exactly what Twitter is currently doing.
*) This is of course one of the main reasons why Microsoft sux so very badly for web apps, but even Microsoft seems to have figured that out by now.













