view etc/unicode/unicode-consortium/oreilly.html @ 5911:48386fd60fd0

GMP functions that take doubles choke on non-finite values, avoid that. src/ChangeLog addition: 2015-05-10 Aidan Kehoe <kehoea@parhasard.net> * floatfns.c (double_to_integer): Rename this from float_to_int to fit our newer, bignum-compatible terminology. GMP can signal SIGFPE when asked to turn NaN or infinity into a bignum, and we're not prepared to handle that signal if the OS float library routines don't do that, so check for those values explicitly. * floatfns.c (ceiling_two_float): * floatfns.c (ceiling_one_float): * floatfns.c (floor_two_float): * floatfns.c (floor_one_float): * floatfns.c (round_two_float): * floatfns.c (round_one_float): * floatfns.c (truncate_two_float): * floatfns.c (truncate_one_float): Call double_to_integer() with its new name. * number.c: Don't use the {bignum,ratio,bigfloat}_set_double functions directly here, with GMP they can choke when handed non-finite C doubles, call Ftruncate() and the new float_to_bigfloat() from floatfns.c. Maybe we should extend number-gmp.c with GMP-specific implementations that check for non-finite values. tests/ChangeLog addition: 2015-05-10 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Backslash a few parentheses in the first column for the sake of fontification. * automated/lisp-tests.el: Check that the rounding functions signal Lisp errors correctly when handed positive and negative infinity and NaN.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 10 May 2015 19:07:09 +0100
parents e51807f9eedd
children
line wrap: on
line source

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title>O'Reilly -- O'Reilly Policy on Re-Use of Code Examples from Books</title>
	<meta name="keywords" content="O'Reilly,O'Reilly Network,oreillynet,oreillynet.com,O'Reilly,OREILLY,,Ask Tim,,Bruce Epstein,policy,re-use of code examples" />
	<meta name="description" content="What is our policy with regard to programmers incorporating code examples from books into their work?" />
	<meta name="date" content="Nov. 01, 2001" />
	<meta name="pagename" content="O'Reilly Policy on Re-Use of Code Examples from Books" />
	<meta name="site" content="O'Reilly" />
	<meta name="author" content="" />
	<meta name="safariu_url" content="" />


<!-- common javascript, css and hitbox -->
<link rel="stylesheet" rev="stylesheet" href="http://www.oreillynet.com/styles/all.css" type="text/css"/>

<script language="JavaScript" type="text/javascript" src="http://www.oreillynet.com/engine.js"></script>
<script language="JavaScript" type="text/javascript" src="http://www.oreillynet.com/common.js"></script>

 <!--WEBSIDESTORY CODE HBX1.0 (Universal)-->
    <!--COPYRIGHT 1997-2004 WEBSIDESTORY,INC. ALL RIGHTS RESERVED. U.S.PATENT No. 6,393,479B1. MORE INFO:http://websidestory.com / privacy-->
    <script language="javascript" type="text/javascript">
    var _hbEC=0,_hbE=new Array;function _hbEvent(a,b){b=_hbE[_hbEC++]=new Object();b._N=a;b._C=0;return b;}
    var hbx=_hbEvent("pv");hbx.vpc="HBX0100u";hbx.gn="ehg-oreilly.hitbox.com";

    //"BCB: oreilly.com,/a/oreilly/ask_tim/2001/codepolicy.html, DM52032830WV";

    hbx.acct="DM52032830WV;DM520404M4ZR"; //ACCOUNT NUMBER(S)
    hbx.pn="OReilly+Policy+on+Re-Use+of+Code+Examples+from+Books"; //PAGE NAME(S)
    hbx.mlc="/a/oreilly/ask_tim/2001/;/oreilly.com/a/oreilly/ask_tim/2001/"; //MULTI-LEVEL CONTENT CATEGORY
    hbx.pndef="title"; //DEFAULT PAGE NAME
    hbx.ctdef="full"; //DEFAULT CONTENT CATEGORY

    hbx.lt="auto"; //LINK TRACKING 
    hbx.dlf="n"; //DOWNLOAD FILTER
    hbx.dft="n"; //DOWNLOAD FILE NAMING
    hbx.elf="n"; //EXIT LINK FILTER

    //SEGMENTS AND FUNNELS
    hbx.seg=""; //VISITOR SEGMENTATION
    hbx.fnl=""; //FUNNELS

    //CAMPAIGNS
    hbx.cmp=""; //CAMPAIGN ID
    hbx.cmpn="CMP"; //CAMPAIGN ID IN QUERY
    hbx.hra=""; //RESPONSE ATTRIBUTE
    hbx.hqsr=""; //RESPONSE ATTRIBUTE IN REFERRAL QUERY
    hbx.hqsp="ATT"; //RESPONSE ATTRIBUTE IN QUERY
    hbx.hlt=""; //LEAD TRACKING
    hbx.hla=""; //LEAD ATTRIBUTE
    hbx.gp=""; //CAMPAIGN GOAL
    hbx.gpn=""; //CAMPAIGN GOAL IN QUERY
    hbx.hcn=""; //CONVERSION ATTRIBUTE
    hbx.hcv=""; //CONVERSION VALUE
    hbx.cp="null"; //LEGACY CAMPAIGN
    hbx.cpd=""; //CAMPAIGN DOMAIN

    //CUSTOM VARIABLES
    hbx.ci="";//CUSTOMER ID
    hbx.hc1="";//CUSTOM 1
    hbx.hc2="";//CUSTOM 2
    hbx.hc3="";//CUSTOM 3
    hbx.hc4="";//CUSTOM 4 
    hbx.pec="";//ERROR CODES
    </script><script language="javascript1.1" defer="defer"  src="http://www.oreillynet.com/hbx.js" type="text/javascript"></script><!--//-->  
    <!-- END WEBSIDESTORY CODE  -->
 

<link rel="stylesheet" rev="stylesheet" href="http://www.oreillynet.com/styles/about.css" />

<!-- feed autodiscovery links -->






</head>
<body onload="setMenu();" id="about">

<div id="page">


<div id="header">
<h1><a href="http://www.oreilly.com"><img src="/images/oreilly/oreilly.gif" width="228" height="67" alt="O'Reilly" /></a></h1>
<ul>
<li><a href="https://epoch.oreilly.com/account/default.orm" class="acct">My Account</a></li>
<li><a href="https://epoch.oreilly.com/shop/cart.orm" class="cart">View Cart</a></li>
</ul>
<span id="animal">
</span>
</div><!-- /#header -->

<div id="nav">
<ul>
<li><a href="http://www.oreilly.com/">Home</a></li>
<li><a href="http://www.oreillynet.com/">Network</a></li>
<li><a href="http://www.oreilly.com/store/">Store</a></li>
<li><a href="http://safari.oreilly.com">Safari Books Online</a></li>
<li><a href="http://conferences.oreillynet.com/">Conferences</a></li>
<li><a href="http://www.oreillylearning.com">Courses</a></li>
<li><a href="http://academic.oreilly.com/">Academic Solutions</a></li>
<li class="nav_selected"><a href="http://www.oreilly.com/about/">About</a></li>
</ul>
<div class="clear"></div>
</div><!-- /#nav -->

<div id="subnav">
<ul>
<li>
<a href="http://www.oreilly.com/contact.html">Contacts</a></li>

<li>
<a href="http://www.oreilly.com/history.html">History</a></li>

<li>
<a href="http://tim.oreilly.com">Tim O'Reilly</a></li>

<li>
<a href="http://labs.oreilly.com/">Labs</a></li>

<li>
<a href="http://press.oreilly.com/">Press Room</a></li>

<li>
<a href="http://jobs.oreilly.com/">Jobs</a></li>

<li>
<a href="http://www.oreillynet.com/cs/nl/home">Newsletters</a></li>

<li>
<a href="http://www.oreilly.com/oreilly/author/intro.csp">Writing for O'Reilly</a></li>

<li>
<a href="http://www.oreilly.com/feeds/">RSS Feeds</a></li>

</ul>
<div class="clear"></div>
</div><!-- /#subnav -->


<div id="content">



<!-- begin  print-safariu-del.icio.us options -->
<div style="float:right;width:150px;margin: 0px 0px 6px 6px;">

<div style="padding-bottom:5px;"><a class="tool" title="Go to a print-friendly version of this page." href="/lpt/a/3883" class="secondary"><img src="/images/icons/print_18.gif" width="18" height="18" hspace="3" vspace="0" alt="Print." border="0" />Print</a></div>

<div style="padding: 5px 1px 5px 1px; border-top: 2px solid #ccc; border-bottom: 2px solid #ccc;" class="secondary"><a href='http://del.icio.us/post?url=http%3A%2F%2Fwww.oreilly.com%2Fpub%2Fa%2Foreilly%2Fask_tim%2F2001%2Fcodepolicy.html&title=O'Reilly%20Policy%20on%20Re-Use%20of%20Code%20Examples%20from%20Books'>Bookmark with del.icio.us</a></div>

</div>
<!-- end  print-safariu-del.icio.us options -->


<!-- content here -->
<span id="intelliTxt">
                        <p> <font size="4"><b>O'Reilly Policy on Re-Use 
                            of Code Examples from Books</b></font> </p>
                        <p> Bruce Epstein, author of <i>Director in a Nutshell</i> 
                            (out of print) and <a href="http://www.oreilly.com/catalog/lingonut/">Lingo 
                            in a Nutshell</a>, who is now working as a part-time 
                            editor for O'Reilly (he is editor of Colin Moock's 
                            recently published <a href="http://www.oreilly.com/catalog/actscript/">ActionScript: 
                            The Definitive Guide</a>) sent in the following 
                            question: </p>
                        <p> "What is our policy with regard to programmers 
                            incorporating code examples from books into 
                            their work? I get asked this all the time." 
                        </p>
                        <p> The short answer is this: </p>
                        <p> You can use and redistribute example code from 
                            our books for any non-commercial purpose (and 
                            most commercial purposes) as long as you acknowledge 
                            their source and authorship. The source of the 
                            code should be noted in any documentation as 
                            well as in the program code itself (as a comment). 
                            The attribution should include author, title, 
                            publisher, and ISBN. </p>
                        <p> As is often the case, there's a longer answer 
                            as well. Bruce made it really easy for me to 
                            put this response together, since he forwarded 
                            an unofficial reply on this subject that he'd 
                            sent to the FlashCoders mailing list. What appears 
                            below is based on his message. (Hey, anyone 
                            else who wants to send the answer as well as 
                            the question to Ask Tim can make my job a lot 
                            easier :-) Thanks, Bruce.) </p>
                        <p> As per the copyright notice in our books, O'Reilly 
                            reserves all rights to the material in the book, 
                            including the code examples. This literally 
                            means that you can use the example code all 
                            you like, but you can't publish or redistribute 
                            it without our permission. In reality, we are 
                            comfortable with any reasonable "fair use" of 
                            the code, and you can assume permission is granted 
                            without contacting us. The threshold of what 
                            is reasonable (fair use) depends on a number 
                            of factors. First, if the book is published 
                            under an open source or open publication license, 
                            you can use the code examples without any obligation 
                            to us. Otherwise, use the following sanity tests: 
                        </p>
                        <ol>
                            <li> 
                                <p>If the code is incorporated into a software 
                                    product, Web site, or Web service, is 
                                    the product, site, or service a commercial 
                                    venture? We don't object to commercial 
                                    ventures, but if someone is looking 
                                    to profit from our work (or that of 
                                    our authors'), and the use is substantial, 
                                    we may want to consider a license fee. 
                                    (Send licensing queries to <a href="mailto:permissions@oreilly.com">permissions@oreilly.com</a>.) 
                                </p>
                            </li>
                            <li> 
                                <p>Is the O'Reilly material incidental to 
                                    the entire product? Are you using only 
                                    a small excerpt? For example, you can't 
                                    publish a CD-ROM of code examples from 
                                    O'Reilly books without our explicit 
                                    permission. But we aren't going to worry 
                                    if you use a routine taken from our 
                                    books as part of a huge software project, 
                                    in which the borrowed code is incidental. 
                                </p>
                            </li>
                            <li> 
                                <p>Does the work compete with O'Reilly? 
                                    For example, if you are a book publisher, 
                                    you can't use anything from our books 
                                    without our permission. </p>
                            </li>
                            <li> 
                                <p>Is proper credit given? Such credit would 
                                    include a statement specifying the source 
                                    of the material, such as "Derived from 
                                    Example 10-2, <i>ActionScript: The Definitive 
                                    Guide</i> by Colin Moock. Copyright 
                                    2001 O'Reilly &amp; Associates." Note 
                                    that giving credit does not insulate 
                                    you from prosecution if you improperly 
                                    use copyrighted material! </p>
                            </li>
                            <li> 
                                <p>Does your use fall within fair use provisions 
                                    of copyright law? (Academic research, 
                                    commentary, etc.) For example, you don't 
                                    need O'Reilly's explicit permission 
                                    to post a snippet of code on a mailing 
                                    list if you are pointing out a bug, 
                                    asking a question, or answering one. 
                                    We especially like it when people answer 
                                    questions by pointing to our books, 
                                    quoting from them, and citing their 
                                    examples, as long as they acknowledge 
                                    the source! </p>
                                <p> Acknowledging the source is particularly 
                                    important. Bruce didn't mention this 
                                    in his posting to FlashCoders, but I 
                                    know that he personally was bit by this 
                                    one. Someone was routinely answering 
                                    Lingo questions on a mailing list by 
                                    supplying examples from Bruce's book, 
                                    without acknowledging the source (and 
                                    leading people to believe that the poster 
                                    had written them). </p>
                            </li>
                        </ol>
                        <p> We put the code from our books online because 
                            we want it to be used. (Who wants to type it 
                            in?) That's why we make it available in lots 
                            of ways: for download from the Web (all examples 
                            are linked from the book's catalog page on <i>oreilly.com</i>), 
                            in our CD Bookshelf products, and in our new 
                            Safari online service. </p>
                        <p> If you are interested in licensing O'Reilly 
                            book content as a third party, send your request 
                            to <a href="mailto:corporate@oreilly.com">corporate@oreilly.com</a>. 
                        </p>
                        <p> --Tim </p>
                        <!-- End main text here -->
                        <p align="center"> <a href="http://www.oreilly.com/ask_tim/asktim_form.html"><b>Got 
                            a question? Just ask!</b></a> </p>
                        <b>Return to: <a href="http://www.oreilly.com/ask_tim/">Ask Tim Archive</a></b> 
</span>
<!-- end content -->


<img src="/images/trans.gif" alt=" " width="490" height="1" /><br />









<br /><br />



</div> <!-- /#content -->

<!-- navbar and footer -->

<div id="netnav">
<h3>Topics</h3>
<ul>
<li><a href="#" onclick="toggleSheet('business'); return true" id="businessButton" class="rollup">Business &amp; Culture</a>
<ul id="business">
<li>


<a href="http://www.oreilly.com/pub/topic/business" class="showtopic">


Business</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/culture" class="showtopic">


Digital Culture</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/finance" class="showtopic">


Personal Finance</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/projectmanagement" class="showtopic">


Project &amp; Career Management</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('databases'); return false" id="databasesButton" class="rollup">Databases</a>
<ul id="databases">
<li>


<a href="http://www.oreilly.com/pub/topic/access" class="showtopic">


Access</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/mysql" class="showtopic">


MySQL</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/oracle" class="showtopic">


Oracle</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/otherdatabases" class="showtopic">


Other Databases</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/sql" class="showtopic">


SQL</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/sqlserver" class="showtopic">


SQL Server</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/theory" class="showtopic">


Theory</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('design'); return false" id="designButton" class="rollup">Design &amp; Graphics</a>
<ul id="design">
<li>


<a href="http://www.oreilly.com/pub/topic/flash" class="showtopic">


Flash &amp; Actionscript</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/graphics" class="showtopic">


Illustration &amp; Graphics</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/photomanipulation" class="showtopic">


Photoshop &amp; Photomanipulation</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/printdesign" class="showtopic">


Print Design</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('audiovideo'); return false" id="audiovideoButton" class="rollup">Digital Audio &amp; Video</a>
<ul id="audiovideo">
<li>


<a href="http://www.oreilly.com/pub/topic/digitalaudio" class="showtopic">


Digital Audio</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/digitalvideo" class="showtopic">


Digital Video</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('photography'); return false" id="photographyButton" class="rollup">Digital Photography</a>
<ul id="photography">
<li>


<a href="http://www.oreilly.com/pub/topic/digiphoto" class="showtopic">


Digital Photography</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/photomanipulation" class="showtopic">


Photoshop &amp; Photomanipulation</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('hardware'); return false" id="hardwareButton" class="rollup">Hardware</a>
<ul id="hardware">
<li>


<a href="http://www.oreilly.com/pub/topic/devices" class="showtopic">


Devices &amp; Peripherals</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/hardwarehacking" class="showtopic">


Hacks &amp; Modifications</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/pchardware" class="showtopic">


PC Hardware</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('homeoffice'); return false" id="homeofficeButton" class="rollup">Home &amp; Office</a>
<ul id="homeoffice">
<li>


<a href="http://www.oreilly.com/pub/topic/security" class="showtopic">


Computer Security &amp; Privacy</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/games" class="showtopic">


Games</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/homeentertainment" class="showtopic">


Home Entertainment</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/homenetworking" class="showtopic">


Home Networking</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/mac" class="showtopic">


Mac OS X</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/macprograms" class="showtopic">


Macintosh Programs</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/pchardware" class="showtopic">


PC Hardware</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/finance" class="showtopic">


Personal Finance</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/windows" class="showtopic">


Windows 2000 &amp; earlier</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/windowsprograms" class="showtopic">


Windows Programs</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/windowsvista" class="showtopic">


Windows Vista</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/windowsxp" class="showtopic">


Windows XP</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('sysadmin'); return false" id="sysadminButton" class="rollup">Networking &amp; Sys Admin</a>
<ul id="sysadmin">
<li>


<a href="http://www.oreilly.com/pub/topic/apache" class="showtopic">


Apache</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/certification" class="showtopic">


Certification</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/cisco" class="showtopic">


Cisco &amp; other Routers</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/email" class="showtopic">


Email</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/homenetworking" class="showtopic">


Home Networking</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/projectmanagement" class="showtopic">


Project &amp; Career Management</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/protocols" class="showtopic">


Protocols</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/serveradmin" class="showtopic">


Server Administration</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/serversecurity" class="showtopic">


Server Security</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/spam" class="showtopic">


Spam</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/telephony" class="showtopic">


Telephony</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/wireless" class="showtopic">


Wireless</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('os'); return false" id="osButton" class="rollup">Operating Systems</a>
<ul id="os">
<li>


<a href="http://www.oreilly.com/pub/topic/linux" class="showtopic">


Linux/Unix</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/mac" class="showtopic">


Mac OS X</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/windows" class="showtopic">


Windows 2000 &amp; earlier</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/windowsvista" class="showtopic">


Windows Vista</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/windowsxp" class="showtopic">


Windows XP</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('programming'); return false" id="programmingButton" class="rollup">Programming</a>
<ul id="programming">
<li>


<a href="http://www.oreilly.com/pub/topic/dotnet" class="showtopic">


.NET &amp; Windows Programming</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/ajax" class="showtopic">


Ajax</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/csharp" class="showtopic">


C#</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/cprog" class="showtopic">


C/C++</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/certification" class="showtopic">


Certification</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/games" class="showtopic">


Games</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/java" class="showtopic">


Java</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/otherprogramming" class="showtopic">


Other Programming</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/perl" class="showtopic">


Perl</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/php" class="showtopic">


PHP</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/projectmanagement" class="showtopic">


Project &amp; Career Management</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/python" class="showtopic">


Python</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/ruby" class="showtopic">


Ruby</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/secureprogramming" class="showtopic">


Secure Programming</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/vb" class="showtopic">


Visual Basic</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/webservices" class="showtopic">


Web Services</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/xml" class="showtopic">


XML</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('science'); return false" id="scienceButton" class="rollup">Science &amp; Math</a>
<ul id="science">
<li>


<a href="http://www.oreilly.com/pub/topic/mapping" class="showtopic">


Mapping</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/math" class="showtopic">


Math</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/science" class="showtopic">


Science</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('security'); return false" id="securityButton" class="rollup">Security</a>
<ul id="security">
<li>


<a href="http://www.oreilly.com/pub/topic/security" class="showtopic">


Computer Security &amp; Privacy</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/secureprogramming" class="showtopic">


Secure Programming</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/serversecurity" class="showtopic">


Server Security</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/spam" class="showtopic">


Spam</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('softwareengineering'); return false" id="softwareengineeringButton" class="rollup">Software Engineering</a>
<ul id="softwareengineering">
<li>


<a href="http://www.oreilly.com/pub/topic/designpatterns" class="showtopic">


Design Patterns</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/enterprisedev" class="showtopic">


Enterprise Development</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/projectmanagement" class="showtopic">


Project &amp; Career Management</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/secureprogramming" class="showtopic">


Secure Programming</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/testing" class="showtopic">


Testing</a>
</li>
</ul>
</li>
<li><a href="#" onclick="toggleSheet('web'); return false" id="webButton" class="rollup">The Web</a>
<ul id="web">
<li>


<a href="http://www.oreilly.com/pub/topic/ajax" class="showtopic">


Ajax</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/flash" class="showtopic">


Flash &amp; Actionscript</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/mapping" class="showtopic">


Mapping</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/webapplications" class="showtopic">


Web Applications</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/browsers" class="showtopic">


Web Browsers</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/webdesign" class="showtopic">


Web Design</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/webdev" class="showtopic">


Web Development</a>
</li><li>


<a href="http://www.oreilly.com/pub/topic/webservices" class="showtopic">


Web Services</a>
</li>
</ul>
</li>
</ul>

<h3>International Sites</h3>
<p><a href="http://www.oreilly.com.cn/"><img src="/images/oreilly/flags/new/china2.gif" alt="O'Reilly China" height="16" width="23" style="border: 1px solid black;" /></a> <a href="http://www.oreilly.fr/"><img src="/images/oreilly/flags/new/france2.gif" alt="O'Reilly France" height="16" width="23" style="border: 1px solid black;" /></a> <a href="http://www.oreilly.de/"><img src="/images/oreilly/flags/new/germany2.gif" alt="O'Reilly Germany" height="16" width="23" style="border: 1px solid black;" /></a> <a href="http://www.oreilly.co.jp/"><img src="/images/oreilly/flags/new/japan2.gif" alt="O'Reilly Japan" height="16" width="23" style="border: 1px solid black;" /></a> <a href="http://www.oreilly.com.tw/"><img src="/images/oreilly/flags/new/taiwan2.gif" alt="O'Reilly Taiwan" height="16" width="23" style="border: 1px solid black;" /></a></p>

<p>&nbsp;</p>

</div><!-- /#nav_net -->

<div class="clear"></div>


<div id="footer">
<p class="footer-links"><a href="http://www.oreilly.com/about/">About O'Reilly</a> | <a href="http://www.oreilly.com/oreilly/contact.html">Contact</a> | <a href="http://jobs.oreilly.com">Jobs</a> | <a href="http://press.oreilly.com">Press Room</a> | <a href="http://www.oreillynet.com/mediakit/">How to Advertise</a> | <a href="http://www.oreillynet.com/pub/a/mediakit/privacy.html">Privacy Policy</a>
</p>

<p>&copy; 2006, O'Reilly Media, Inc.<br />
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.</p>
</div><!-- /#footer -->

</div><!-- /#page -->
 <!--WEBSIDESTORY CODE HBX1.0 (Universal)-->
    <!--COPYRIGHT 1997-2004 WEBSIDESTORY,INC. ALL RIGHTS RESERVED. U.S.PATENT No. 6,393,479B1. MORE INFO:http://websidestory.com / privacy-->
    <script language="javascript" type="text/javascript">
    var _hbEC=0,_hbE=new Array;function _hbEvent(a,b){b=_hbE[_hbEC++]=new Object();b._N=a;b._C=0;return b;}
    var hbx=_hbEvent("pv");hbx.vpc="HBX0100u";hbx.gn="ehg-oreilly.hitbox.com";

    //"BCB: oreilly.com,/a/oreilly/ask_tim/2001/codepolicy.html, DM52032830WV";

    hbx.acct="DM52032830WV;DM520404M4ZR"; //ACCOUNT NUMBER(S)
    hbx.pn="OReilly+Policy+on+Re-Use+of+Code+Examples+from+Books"; //PAGE NAME(S)
    hbx.mlc="/a/oreilly/ask_tim/2001/;/oreilly.com/a/oreilly/ask_tim/2001/"; //MULTI-LEVEL CONTENT CATEGORY
    hbx.pndef="title"; //DEFAULT PAGE NAME
    hbx.ctdef="full"; //DEFAULT CONTENT CATEGORY

    hbx.lt="auto"; //LINK TRACKING 
    hbx.dlf="n"; //DOWNLOAD FILTER
    hbx.dft="n"; //DOWNLOAD FILE NAMING
    hbx.elf="n"; //EXIT LINK FILTER

    //SEGMENTS AND FUNNELS
    hbx.seg=""; //VISITOR SEGMENTATION
    hbx.fnl=""; //FUNNELS

    //CAMPAIGNS
    hbx.cmp=""; //CAMPAIGN ID
    hbx.cmpn="CMP"; //CAMPAIGN ID IN QUERY
    hbx.hra=""; //RESPONSE ATTRIBUTE
    hbx.hqsr=""; //RESPONSE ATTRIBUTE IN REFERRAL QUERY
    hbx.hqsp="ATT"; //RESPONSE ATTRIBUTE IN QUERY
    hbx.hlt=""; //LEAD TRACKING
    hbx.hla=""; //LEAD ATTRIBUTE
    hbx.gp=""; //CAMPAIGN GOAL
    hbx.gpn=""; //CAMPAIGN GOAL IN QUERY
    hbx.hcn=""; //CONVERSION ATTRIBUTE
    hbx.hcv=""; //CONVERSION VALUE
    hbx.cp="null"; //LEGACY CAMPAIGN
    hbx.cpd=""; //CAMPAIGN DOMAIN

    //CUSTOM VARIABLES
    hbx.ci="";//CUSTOMER ID
    hbx.hc1="";//CUSTOM 1
    hbx.hc2="";//CUSTOM 2
    hbx.hc3="";//CUSTOM 3
    hbx.hc4="";//CUSTOM 4 
    hbx.pec="";//ERROR CODES
    </script><script language="javascript1.1" defer="defer"  src="http://www.oreillynet.com/hbx.js" type="text/javascript"></script><!--//-->  
    <!-- END WEBSIDESTORY CODE  -->
 </body>

</html>