• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

beCamp2009Recap

This version was saved 14 years, 10 months ago View current version     Page history
Saved by Keith Bennett
on May 13, 2009 at 4:55:44 am
 

List links to presentations, slides, blog articles abut beCamp2009 sessions on this page for future referral.  You can see the schedule and who participated on the main beCamp2009 page.

 

 

Twitter Search

http://twitter.com/#search?q=becamp

 

Presentations

 

  • Keith Bennett - Unix Command Line Productivity Tips (based on slideshow here)
  • Keith Bennett - Translating a Java Swing Program to JRuby and Clojure — (based on blog articles here and here)
  • Keith Bennett - Applying User Interface Design Guidelines to Source Code (based on article here)

 

Lightning Talks 

(in chronological order) 

 

 

 

Redis Links:

http://code.google.com/p/redis/

http://github.com/dambalah/blackboard (TupleSpace implementation on top of Redis)

http://github.com/dambalah/api-throttling (A use case for Redis: throttling an API, uses atomic INCR redis command)

 

Project Spotlight: Redis (with a list of links/resources at the end)

 

Erlang Links:

http://www.erlang.org/course/course.html

http://pragprog.com/screencasts/v-kserl/erlang-in-practice

http://pragprog.com/titles/jaerlang/programming-erlang

 

Web Application Performance Optimization:

 

  • download production db and recreate in development
  • use profiling tools to figure out where your application is slow
  • make the thing faster
  • optimize the code parts of the application
    • query review (tools / mysqlslow log)
    • decide what's slow (no limit / no index / table scan ... )
  • optimize the front-end part
    • javascript (externalize / position / minification / consolidation)
    • css (position / minification / consolidation)
    • http pipelining request limit per domain (create multiple subdomains)
    • big stuff? use a CDN (Akamai / Amazon Cloudfront / Limelight)
  • optimize the server part
    • set up your cnames / aliases for asset hosting
    • mod_expires
    • mod_gzip
    • etags (off!!!)
  • other tools
    • benchmarking (ab / httperf / jmeter / ...)

 

Tools Discussed:

 

MySQL Slow query log (http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html)

Query Reviewer (Rails plugin) (http://github.com/dsboulder/query_reviewer/tree/master)

ScoutApp (Rails monitoring) (http://www.scoutapp.com/)

FiveRuns (Rails monitoring) (http://www.fiveruns.com/)

NewRelic (Rails monitoring) (http://www.newrelic.com/)

Google Analytics (http://google.com/analytics) - find parts of your application to hone in on for optimization (Eric Pugh)

YSlow (browser performance) (http://developer.yahoo.com/yslow/)

Akamai (CDN) (http://akamai.com)

Amazon Cloudfront (CDN) (http://aws.amazon.com/cloudfront/)

YUI Compressor (Minification) (http://developer.yahoo.com/yui/compressor/)

JSMin (Minification) (http://www.crockford.com/javascript/jsmin.html)

JSLint (http://www.jslint.com/)

RPXNow (OpenID) (http://rpxnow.com/)

 

Example Apache config:

 

# Setup for dynamic asset hosting
ServerName feedstitch.com
ServerAlias www.feedstitch.com assets0.feedstitch.com assets1.feedstitch.com assets2.feedstitch.com assets3.feedstitch.com

# Turn off ETags
FileEtag None

# mod_deflate configuration (a2enmod on ubuntu)
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml \
  application/xhtml+xml application/x-javascript text/css application/javascript

# workarounds for non-awesomeness of older browsers 
BrowserMatch ^Mozilla/4 gzip-only-text/html 
BrowserMatch ^Mozilla/4.0[678] no-gzip 
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

# mod_expires configuration (a2enmod on ubuntu)
ExpiresActive on 
ExpiresByType image/gif "access plus 1 year" 
ExpiresByType image/jpeg "access plus 1 year" 
ExpiresByType image/png "access plus 1 year" 
ExpiresByType text/javascript "access plus 1 year" 
ExpiresByType application/javascript "access plus 1 year" 
ExpiresByType application/x-javascript "access plus 1 year" 
ExpiresByType text/css "access plus 1 year"