20130202 fosdem love n hateperl latest

23
Things we love and hate about Perl @

description

2013-02-02, FOSDEM, Perl Dev Room. We presented how we use Perl at Tevreden.nl, what we love about it, which challenges it allows us to solve and which challenges is presents us with.

Transcript of 20130202 fosdem love n hateperl latest

Page 1: 20130202 fosdem love n hateperl latest

Things we love and hate aboutPerl @

Page 2: 20130202 fosdem love n hateperl latest

Tevreden.nl - Facts & Figures

Vision: Improving the general satisfaction for the Netherlands

4th gen. satisfaction research

Divided into approx. 25 marketsGeneric market platforms Specific customer platforms

Page 3: 20130202 fosdem love n hateperl latest

Tevreden.nl – e.g. Platform

Page 4: 20130202 fosdem love n hateperl latest

Facts & Figures – Evaluation RMS

25 markets, 80 specific platforms5M invitations sent1M responses and counting200k responses in 2012 alone268,793 lines of Perl 5 code5 full time developersSteady 30% growth

Page 5: 20130202 fosdem love n hateperl latest

Pao

lo M

arga

ri (f

lickr

)

Love (about Perl)

Page 6: 20130202 fosdem love n hateperl latest

Love Perl

FlexibleTimtowtdiExpressiveAtmosphereStraightforwardNon pretentiousExclusivitySyntaxTAP

Page 7: 20130202 fosdem love n hateperl latest

GreatCommunity(perlmonks, perlmongers, CPAN);

Love Perl

Page 8: 20130202 fosdem love n hateperl latest

paul

bic

a (f

lickr

)

Challenges - Ugly code

Page 9: 20130202 fosdem love n hateperl latest

Challenges - Ugly code

ralp

hrep

o

Page 10: 20130202 fosdem love n hateperl latest

Challenges - CPAN vs Apt

CPANAPI ChangesDependenciesConsistent deployment of packages

AutobundleDeveloper love

AptNo emotion

Page 11: 20130202 fosdem love n hateperl latest

Challenges - CPAN vs Aptnebojsa m

ladjenovic

Page 12: 20130202 fosdem love n hateperl latest

digi

talA

RT

2(fli

ckr)

Challenges - mod_perl on Apache

Page 13: 20130202 fosdem love n hateperl latest

Challenges - mod_perl on Apache

Performance per http requestApache::SizeLimit

Band-aidCounterproductiveWorks

Apache::RegistrySoap::Lite

PerlRun

Page 14: 20130202 fosdem love n hateperl latest

Challenges - Character Encodings

sack

s08

(flic

kr)

Page 15: 20130202 fosdem love n hateperl latest

Challenges - Character Encodings

Multiple choice (UTF8 vs the rest)use Encode;

Encode::_utf8_off($val);

utf8::downgrade($val); # remove utf8-flag, convert to 8bit if necessary

utf8::decode($val); # convert UTF-X to the right characters

utf8::upgrade($val); # convert the string to utf8, set the utf8 bit

$val =~ s/\\x(.{2})/decode("iso-8859-1",sprintf("%c",hex($1)))/eg;

Input (Web, Templates, SOAP, Excel)

TransformationOutput (PDF, browser, e-mail)

Page 16: 20130202 fosdem love n hateperl latest

Vin

othC

hand

ar(f

lickr

)

Challenges – Like a Chained Giant

Page 17: 20130202 fosdem love n hateperl latest

Challenges - timtowtdi

PerformanceUse taint, use strict5.6 vs 5.10 vs 5.18Make research data available

ComprehensibleSummarize, interpret

Even historic data

Page 18: 20130202 fosdem love n hateperl latest

Pao

lo M

arga

ri (f

lickr

)

Love (using Perl)

Page 19: 20130202 fosdem love n hateperl latest

LAMP

LinuxUbuntu Server, Hardy .. Quantal

ApacheRecent 2.4 version

MySQLRecent 5.5 versionOLTP and OLAP

PerlCode runs on 5.10-5.18

Page 20: 20130202 fosdem love n hateperl latest

How We Scale, Simplified

Page 21: 20130202 fosdem love n hateperl latest

Our Current Challenge

Choosing the right test frameworkTest::SimpleTest::MoreTesting race conditions

Single point of failureTestingBuildingReleasing

Page 22: 20130202 fosdem love n hateperl latest

Bio

Pascal Vree BscOpen source tinkering since 1996Twitter: @pascalvreenl.linkedin.com/in/pascalvree

Bas Bloemsaat LL.M.Open source tinkering since 1993Twitter: @bbloemsaatnl.linkedin.com/in/basbloemsaat

Page 23: 20130202 fosdem love n hateperl latest

Questions?