CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Tue, 15 Jul 2025 01:13:31 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090807022555
location: https://web.archive.org/web/20090807022555/https://www.oreillynet.com/pub/au/3297
server-timing: captures_list;dur=0.699401, exclusion.robots;dur=0.022671, exclusion.robots.policy;dur=0.008872, esindex;dur=0.010711, cdx.remote;dur=49.130691, LoadShardBlock;dur=260.622980, PetaboxLoader3.datanode;dur=67.703120, PetaboxLoader3.resolve;dur=71.831093
x-app-server: wwwb-app239
x-ts: 302
x-tr: 400
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: SERVER=wwwb-app239; 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: Tue, 15 Jul 2025 01:13:31 GMT
content-type: text/html; charset=ISO-8859-1
x-archive-orig-date: Fri, 07 Aug 2009 02:25:54 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-content-length: 31625
x-archive-orig-connection: close
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: iso-8859-1
memento-datetime: Fri, 07 Aug 2009 02:25:55 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Wed, 07 May 2008 05:36:22 GMT", ; rel="prev memento"; datetime="Sun, 04 Jan 2009 20:13:38 GMT", ; rel="memento"; datetime="Fri, 07 Aug 2009 02:25:55 GMT", ; rel="next memento"; datetime="Mon, 07 Sep 2009 06:11:32 GMT", ; rel="last memento"; datetime="Wed, 19 Feb 2020 10:23:53 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: 51_11_20090807015127_crawl100_IndexOnly.gpg-c/51_11_20090807022455_crawl101.arc.gz
server-timing: captures_list;dur=0.609148, exclusion.robots;dur=0.019016, exclusion.robots.policy;dur=0.007174, esindex;dur=0.011640, cdx.remote;dur=20.529471, LoadShardBlock;dur=207.742180, PetaboxLoader3.datanode;dur=88.948894, PetaboxLoader3.resolve;dur=293.808340, load_resource;dur=315.837604
x-app-server: wwwb-app239
x-ts: 200
x-tr: 639
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
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
Rick Copeland
O'Reilly Community | Authors | Rick Copeland
Rick Copeland
Areas of Expertise:
Python programmer, author, speaker
Areas of Expertise:
- Python programming
- web development
- TurboGears
- SQLAlchemy
- compiler development
- consulting
- speaking
- programming
- training
- writing
Biography
Rick Copeland is a senior software engineer with retail analytics firm
Predictix, LLC, where he uses SQLAlchemy extensively, primarily for web
application development. He has been using Python full-time for
development since 2005, in projects as diverse as demand forecasting,
business web applications, compilers, and hardware synthesis.
Books
|
Blog
Rick's blog posts are hosted at:
https://blog.pythonisito.com/
https://blog.pythonisito.com/
MetaPython 0.2.2 with Hygienic Macros
May 03 2009
In my ever-expanding quest to, as @jgustak recently tweeted, "introduce evil to Python to prevent even scarier evil," I have released MetaPython 0.2.2 Once again, if you aren't familiar with MetaPython, a good place to start is the tutorialwhich walks you through the construction of a macro-ized collections.namedtuple from the… read moreApril 17 2009
For those intrepid souls who are interested in generating Python code from the macros and code quoting facilities of MetaPython, I have spun a new release. If you aren't familiar with MetaPython, a good place to start isthe tutorial, which walks you through the construction of a macro for generating… read moreApril 10 2009
Last night at the Python Atlanta meetup I gave a brief talk on MetaPython, including the motivations for doing something so profane as adding macros and code quoting to Python. The video is on blip.tv and you can find the slides on the MetaPython.org Enjoy! read moreAnnouncing MetaPython - Macros for Python
March 19 2009
As I mentioned in my last post, I have been considering writing some version of macros for Python and was looking for use cases. Well, having gotten the use cases I so desired from my wonderful commenters, I went ahead and put together an import hook and Google Code project… read moreMarch 12 2009
I've been thinking a bit about macros and what use they might be in Python. Basically, I was contemplating writing an import hook that would allow you to use code quoting and unquoting and stuff for your Python modules. My motive was just that Lisp people seem to rave about… read moreAugust 24 2008
Today I had a need to create a property on an object "lazily." The Python builtin property does a great job of this, but it calls the getter function every time you access the property. Here is how I ended up solving the problem: First of all, I had (almost)… read moreAugust 22 2008
Today I had a need to create a property on an object "lazily." The Python builtin property does a great job of this, but it calls the getter function every time you access the property. Here is how I ended up solving the problem: First of all, I had (almost)… read moreNew Domain blog.pythonisito.com
August 21 2008
I just wanted to let you all know that I've changed from the blogger domain to my own blog.pythonisito.com. You should be redirected there automatically, but if you've noticed some hiccups in feeds or weird redirects from Reddit or Delicious, now you know why. read moreNew Domain blog.pythonisito.com
August 21 2008
I just wanted to let you all know that I've changed from the blogger domain to my own blog.pythonisito.com. You should be redirected there automatically, but if you've noticed some hiccups in feeds or weird redirects from Reddit or Delicious, now you know why. read moreAugust 19 2008
One of the things I do in my "spare" time is work on building web applications that will (hopefully) earn some spare money on the side without too much maintenance on my part. Those who have read The Four Hour Work Week will recognize this as my "muse" business. In… read moreAugust 19 2008
One of the things I do in my "spare" time is work on building web applications that will (hopefully) earn some spare money on the side without too much maintenance on my part. Those who have read The Four Hour Work Week will recognize this as my "muse" business. In… read moreAugust 19 2008
One of the things I do in my "spare" time is work on building web applications that will (hopefully) earn some spare money on the side without too much maintenance on my part. Those who have read The Four Hour Work Week will recognize this as my "muse" business. In… read moreAugust 19 2008
One of the things I do in my "spare" time is work on building web applications that will (hopefully) earn some spare money on the side without too much maintenance on my part. Those who have read The Four Hour Work Week will recognize this as my "muse" business. In… read moreMiruku - Migrations for SQLALchemy
August 13 2008
One of the painful things about working with any database-oriented project in production is that you can't just drop the database and re-create every time you have a schema change. (Of course, you could do that, but your users might get a little miffed when their data disappears.) Rails and… read moreMiruku - Migrations for SQLALchemy
August 13 2008
One of the painful things about working with any database-oriented project in production is that you can't just drop the database and re-create every time you have a schema change. (Of course, you could do that, but your users might get a little miffed when their data disappears.) Rails and… read moreHire Rick Copeland
For Inquiries Contact
Press Inquiries
Find Other Authors
Buy Direct and Save

![]() ©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 |
Content Archive Business Technology Computer Technology Microsoft Mobile Network Operating System Digital Photography Programming Software Web Web Design |
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 O'Reilly Insights on Forbes.com |