Post on 24-Feb-2016
description
transcript
Things we love and hate aboutPerl @
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
Tevreden.nl – e.g. Platform
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
Pao
lo M
arga
ri (fl
ickr
)
Love (about Perl)
Love Perl
FlexibleTimtowtdiExpressiveAtmosphereStraightforwardNon pretentiousExclusivitySyntaxTAP
GreatCommunity(perlmonks, perlmongers, CPAN);
Love Perl
paul
bic
a (fl
ickr
)
Challenges - Ugly code
Challenges - Ugly code
ralp
hrep
o
Challenges - CPAN vs Apt
CPANAPI ChangesDependenciesConsistent deployment of packages
AutobundleDeveloper love
AptNo emotion
Challenges - CPAN vs Aptnebojsa m
ladjenovic
digi
talA
RT2
(flic
kr)
Challenges - mod_perl on Apache
Challenges - mod_perl on Apache
Performance per http requestApache::SizeLimit
Band-aidCounterproductiveWorks
Apache::RegistrySoap::Lite
PerlRun
Challenges - Character Encodings
sack
s08
(flic
kr)
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
necessaryutf8::decode($val); # convert UTF-X to the right charactersutf8::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)
Vin
othC
hand
ar(fl
ickr
)
Challenges – Like a Chained Giant
Challenges - timtowtdi
PerformanceUse taint, use strict5.6 vs 5.10 vs 5.18Make research data available
ComprehensibleSummarize, interpret
Even historic data
Pao
lo M
arga
ri (fl
ickr
)
Love (using Perl)
LAMP
LinuxUbuntu Server, Hardy .. Quantal
ApacheRecent 2.4 version
MySQLRecent 5.5 versionOLTP and OLAP
PerlCode runs on 5.10-5.18
How We Scale, Simplified
Our Current Challenge
Choosing the right test frameworkTest::SimpleTest::MoreTesting race conditions
Single point of failureTestingBuildingReleasing
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
Questions?