Hacking YSlow
      @stoyanstefanov
      http://phpied.com
SF WebPerf Meetup Aug 2, 2012
Configuring
Customizing
 Extending
Messing
Fiddling
Hacking
Tool -> Platform
Scores
Strike of a genius?
   Lucky strike?
 Marketing plot?
How come I get an...
Coding horror:

"Yahoo's problems
   are not your
    problems"
Disagree with scores?
Your own CDN?
Expires not important?
Customize the scores
Customize the rules
New rules
Remove the owner
   bottleneck
Lint all the things!
Contribute to the
    project
Written in JS

barrier for entry =
     !existent
Architecture

 1. Peel
  2. Lint
 3. Show
Architecture

 1. Peel
  2. Lint
 3. Show
Running your own
 hackable copy
 (bookmarklet)
1.   Git
2.   Build
3.   Deploy
4.   Install client
1.   Git (click)
2.   Build (make)
3.   Deploy (scp)
4.   Install client
                (drag)
Hack:

1. customize
2. extend
Hack:

1. customize
YSLOW.registerRuleset()
2. extend
Hack:

1. customize
YSLOW.registerRuleset()
2. extend
YSLOW.registerRule()
Spread:
* send a patch
* BYO
Thanks!

YSlow hacking