CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Sat, 02 Aug 2025 23:41:01 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090425230613
location: https://web.archive.org/web/20090425230613/https://www.oreillynet.com/pub/au/3029
server-timing: captures_list;dur=0.535607, exclusion.robots;dur=0.019509, exclusion.robots.policy;dur=0.009304, esindex;dur=0.010291, cdx.remote;dur=10.126539, LoadShardBlock;dur=280.709146, PetaboxLoader3.datanode;dur=89.135829, PetaboxLoader3.resolve;dur=146.709027
x-app-server: wwwb-app224
x-ts: 302
x-tr: 315
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app224; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Sat, 02 Aug 2025 23:41:01 GMT
content-type: text/html; charset=ISO-8859-1
x-archive-orig-date: Sat, 25 Apr 2009 23:05:49 GMT
x-archive-orig-server: Apache
x-archive-orig-p3p: policyref="https://www.oreillynet.com/w3c/p3p.xml",CP="CAO DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONo OUR DELa PUBi OTRa IND PHY ONL UNI PUR COM NAV INT DEM CNT STA PRE"
x-archive-orig-connection: close
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: iso-8859-1
memento-datetime: Sat, 25 Apr 2009 23:06:13 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 01 Jun 2007 03:38:09 GMT", ; rel="prev memento"; datetime="Tue, 24 Feb 2009 15:40:32 GMT", ; rel="memento"; datetime="Sat, 25 Apr 2009 23:06:13 GMT", ; rel="next memento"; datetime="Wed, 22 Jul 2009 20:29:58 GMT", ; rel="last memento"; datetime="Sat, 10 Apr 2021 21:56:36 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090425210759_crawl102-c/52_9_20090425230520_crawl101.arc.gz
server-timing: captures_list;dur=0.732498, exclusion.robots;dur=0.024617, exclusion.robots.policy;dur=0.009591, esindex;dur=0.018319, cdx.remote;dur=5.774667, LoadShardBlock;dur=62.867017, PetaboxLoader3.datanode;dur=140.831739, load_resource;dur=171.668459, PetaboxLoader3.resolve;dur=45.542601
x-app-server: wwwb-app224
x-ts: 200
x-tr: 314
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
Phlip Plumlee
O'Reilly Community | Authors | Phlip Plumlee
Phlip Plumlee
Biography
Phlip applies his compulsion for art and logic to complex problems in games, linguistics, bioinformatics, statistical process control, e-commerce, and software visualization. Advocating Agile methodologies increases the odds he can actually get to use them himself at work.
Books
|
Blog
Recent Posts | All Posts
April 20 2009
Well-factored code often has many small functions. If each adds value, and doesn't just pass the buck, then what do they all do? Typically, they contract their input by making it more specific. Then they delegate these specific data to a delegatee. read moreHow to upgrade to the latest version of Rails
March 29 2009
I have upgraded several Rails 1.2.x programs to 2.x. This can be quite a leap, and some of the steps are counterintuitive, so this post attempts to put everything together, like a recipe. read moreFebruary 16 2009
All blogs correlate their posts with tags. This blog post shows how to use these tags to display a mind map, hooking the current post into a tree of related posts. read moreOctober 15 2008
Test Driven Development works best when each test case targets one aspect of a class's interface. So this post will demonstrate a simple and direct way to test a partial without testing the Views, layouts, and Controller actions surrounding it. On very complex projects, this technique keeps your partials decoupled.… read moreOctober 09 2008
Test Driven Development works best when each test case targets one aspect of a class's interface. So this post will demonstrate a simple and direct way to test a partial without testing the Views, layouts, and Controller actions surrounding it. On very complex projects, this technique keeps your partials decoupled. read moreRecent Posts | All Posts
Buy Direct and SAVE
Buy 2 Books or Videos, Get the 3rd FREE!

Use discount code: "OPC10"
Orders over $29.95 qualify for
FREE SHIPPING within the US.
See details.

Use discount code: "OPC10"
Orders over $29.95 qualify for
FREE SHIPPING within the US.
See details.
![]() ©2009, O'Reilly Media, Inc. (707) 827-7000 / (800) 998-9938 All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. |
About O'Reilly
Academic Solutions Authors Contacts Customer Service Jobs Newsletters O'Reilly Labs Press Room Privacy Policy RSS Feeds Terms of Service User Groups Writing for O'Reilly |
More O'Reilly Sites
O'Reilly Radar Ignite Tools of Change for Publishing Digital Media Inside iPhone O'Reilly FYI makezine.com craftzine.com hackszine.com perl.com xml.com Partner Sites InsideRIA java.net |
Content Archive Business Technology Computer Technology Microsoft Mobile Network Operating System Digital Photography Programming Software Web Web Design |