Intro

I was writing notes at YAPC as a focus to encourage memory. As someone with alot of experience in building platforms and infrastructure; I was focussing on Perl specific bits. I really doubt the value in writting these up tidily ~ full English ~ although I will link back to the original lecture slides where I can find them. I tweeted some of this just after the event, not having enough battery for a stable network connection in the event (AJAX continual-read websites are demanding).
As a note on culture, the percentage of people here with long hair was higher than average (~30%) for a group of developers. I was treating this as a “work thing”, and appeared in my normal black suit; there was a high occurrence of metal culture, but few piercings. High percentage in monochrome black (around 60 or 70%). Personally I never dress in black to “be different”, so I am normal to my peers.

Note to designers, authors, librarians etc

I can't put the below text in columns without breaking the semantic whitespace. Sorry if this reads horribly as a consequence.


Tom Hukins
www.exceptone.co.uk
the web client lecture.

IO::Socket::inet ~ ip4
IO::Socket::IP ~ ip4 or 6

HTTP::Tiny

lookup recent RFCs ~ this year
replacing 2616

RFC 7230 (HTTP1.1)
will support apps much better, as soon as all the clients are updated.

see REST 7231
POST = new, PUT=update
status codes, blither,,,

HTTP/2 !!!!
favour TLS not SSL
support null encryption ~ recommended for debugging
public key crypto

Perl will branch between these two.
IO::Socket::SSL
Net::SSL

RFC 5246

LWP now checks the cert/host ~6.03

recommend update for bug fixes.

LWP::UserAgent
available from start of perl5
heritage

HTTP::Tiny ~ has many optional deps
LWP::protocol::Net::Curl ~ wrapper for cURL

there are many HTTPclients and event loops.
POE, Mojo
Hijk ~ minimal
Can do async DB as well

dep injection
recycle UA where possible as they are heavy.
http keep-alive, blither,,,
pipelining...

URI templates  RFC 6570
... my code already

difference between session keys and cookies

http://publicsuffix.org for things like blogspot
http::cookiejar

use of OAuth  v2 ~ fiddly

to test Test::LWP::UserAgent
PLAC / esgi

HTTP2::
tend to crypto, but support debug mode
2.2 back to binary to reduce the number of packets



Toby Inkster
oop

Type::Tiny
MooX::late
... 
see cpan

moo for example
perl -> mutable access to data
get/set vs single access point in moose
moose :: is=>'ro' blither

...private methods...
make lexical or public, (no performance hit)
Lexical::Accessor

little functions that return stuff, see overrides...
class names should be dynamic



CPAN testers
Barbie

toolchain
CPAN-reporter
CPNPLUS-YACSmoke
App-cpanminus-reporter
only new perl
"garu"
CPAN::Testers::Common::Client
...Reports

Dinis Rebolo
Search tools


Inline :: Perl5
Stefen "niner" seifert
http://niner.name/talks
perl 5 throw blessed objects?

Extending syntax
Rolf Langsdorf
functional programming
perl6
marcos again
B::Deparse
"syntax toolkit" for DSL
LINQ
no current name for the project to be able to put in CPAN
"Seven languages in seven weeks", book, o'reilly

Plack::Debugger
Stevan Little
made the first moose
tracking history of errors across several languages.
It seems fundamentally you don't know what you are supposed to be doing, 
so have to look at the state of the machine.
My quick hacks in 2000 was much better than some of those hacks.

from booking.com; they emulate the older apache server via PLack, but use NginX.
functionality split into server roles.
booking.com has 600 devs.
they use KVM
they cant inject further jQuery...

Debugger panels
old platform: transaction pipeline/ stack uses alot of injected data
old platform: limited media type
new platform: layers properly
new platform: better storage format
new platform: collector can record in the absence of db front end
new platform: much better AJAX

p5-plack-debugger ?


Quick notes from YAPC

RSS. Share: Share this resource on your twitter account. Share this resource on your linked-in account. G+

Quick notes from YAPC

RSS. Share: Share this resource on your linked-in account. Share this resource on your twitter account. G+ ­ Follow edited