diff --git a/case-study-porting-chardet-to-python-3.html b/case-study-porting-chardet-to-python-3.html
index 0cbb231..fd6e061 100644
--- a/case-study-porting-chardet-to-python-3.html
+++ b/case-study-porting-chardet-to-python-3.html
@@ -3,8 +3,8 @@
Case study: porting chardet to Python 3 - Dive into Python 3
-
+
-Dive Into Python 3 will cover Python 3 and its differences from Python 2. Compared to the original Dive Into Python , it will be about 50% revised and 50% new material. I will publish drafts online as I go. The final version will be published on paper by Apress. The book will remain online under the CC-BY-3.0 license.
-
There is a changelog , a feed , and discussion on Reddit . The final version will be downloadable as HTML and PDF. During development, the only way to download it is to clone the Mercurial repository:
+
Dive Into Python 3 will cover Python 3 and its differences from Python 2. Compared to the original Dive Into Python , it will be about 50% revised and 50% new material. I will publish drafts online as I go. The final version will be published on paper by Apress. The book will remain online under the CC-BY-3.0 license.
+
Here’s what I’ve written so far:
+
+
+There is a changelog , a feed , and discussion on Reddit . During development, you can download the book by cloning the Mercurial repository:
you@localhost:~$ hg clone http://hg.diveintopython3.org/ diveintopython3
-Below is the draft table of contents. It is not finalized . Only a few chapters have been written so far. The rest is just stubs and random notes to myself.
-
Installing Python
-Python on Windows
-Python on Mac OS X
-Python on Linux
-Python from source
-The interactive shell
-Summary
-
-Diving in
-Declaring functions
-How Python's datatypes compare to other programming languages
-Writing readable code
-Why bother?
-Docstrings
-Function annotations
-Style conventions
-Everything is an object
-The import search path
-What's an object?
-Indenting code
-Testing modules
-Summary
-Native Python datatypes
-
-Lists
-Differences from Python 2
-Creating new a list
-Modifying a list
-Searching a list
-Deleting elements from a list
-List operators
-Looping through a list (list comprehensions)
-Tuples
-Dictionaries
-Differences from Python 2
-Creating a new dictionary
-Modifying a dictionary
-Deleting items from a dictionary
-Looping through a dictionary (dictionary comprehensions)
-Dictionary views
-Sets
-Differences from Python 2
-Creating a new set
-Modifying a set
-Deleting elements from a set
-Common set operations: union, intersection, and difference
-Frozen sets
-Numbers
-Differences from Python 2
-Integers
-Long integers
-Floating point numbers
-Complex numbers
-Common numerical operations
-
-
-Iterators
-Generators
-Views
-...
-Strings
-There ain't no such thing as "plain text"
-A brief history of character encoding
-What's a character?
-How strings are stored in memory
-Converting between different character encodings
-Differences from Python 2
-Formatting strings
-What's my string?
-Lists and strings
-Historical note on the string module
-Byte streams
-Summary
-The power of introspection
-Diving in
-Using optional and named arguments
-Keyword-only arguments
-Using type, str, dir, and other built-in functions
-The type function
-The str function
-Built-in functions
-Getting object references with getattr
-getattr with modules
-getattr as a dispatcher
-Filtering lists
-The peculiar nature of and and or
-Using the and-or trick
-Using lambda functions
-Real-world lambda functions
-Putting it all together
-Summary
-Objects and object-orientation
-...major changes afoot...
-...stuff about decorators...
-...stuff about importing modules...
-...mention why "from module import *" is only allowed at module level
-Exceptions
-...
-Files
-File objects
-Reading files
-Close your files... or don't
-Handling I/O errors
-Writing to files
-Regular expressions
-Diving in
-Case study: street addresses
-Case study: Roman numerals
-Checking for thousands
-Checking for hundreds
-Using the {n,m} syntax
-Checking for tens and ones
-Verbose regular expressions
-Case study: parsing phone numbers
-Summary
-HTML processing
-Diving in
-html5lib
-Installing html5lib
-Using html5lib
-Extracting data from HTML documents
-Building HTML documents
-Putting it all together
-Summary
-XML Processing
-...major changes afoot...
-HTTP web services
-Diving in
-How not to fetch data over HTTP
-Features of HTTP
-User-Agent
-Redirects
-Last-Modified/If-Modified-Since
-ETag-If-None-Match
-Compression
-Differences from Python 2
-httplib2 (note: needs port)
-Installing httplib2
-Why httplib2 is better than http.client
-Debugging HTTP web services
-Setting the User-Agent
-Handling Last-Modified and ETag
-Handling redirects
-Handling compressed data
-Putting it all together
-Summary
-Unit testing
-Introduction to Roman numerals
-Diving in
-Introducing romantest.py
-Testing for success
-Testing for failure
-Testing for sanity
-Test-first programming
-roman.py, stage 1
-roman.py, stage 2
-roman.py, stage 3
-roman.py, stage 4
-roman.py, stage 5
-Refactoring your code
-Handling bugs
-Handling changing requirements
-The art of refactoring
-Postscript
-Summary
-Dynamic functions
-Diving in
-plural.py, stage 1
-plural.py, stage 2
-plural.py, stage 3
-plural.py, stage 4
-plural.py, stage 5
-plural.py, stage 6
-Summary
-Metaclasses
-...once I figure out WTF metaclasses are...
-Performance tuning
-Diving in
-Using the timeit module
-Optimizing regular expressions
-Optimizing dictionary lookups
-Optimizing list operations
-Optimizing string manipulation
-Summary
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Packaging Python libraries
-
-A brief history of packaging (and why it's harder than you think)
-setuptools
-distutils
-Eggs
-pip
-Platform-specific packaging
-Packaging by Linux distributions
-Py2exe
-Creating graphics with the Python Imaging Library
-
-Where to go from here
-Tentative because most of these have not been ported to Python 3 yet.
-
WSGI
-Django
-Pylons
-TurboGears
-AppEngine
-IronPython
-Jython
-PyPy
-Stackless Python
-Scripts and streams
-...will be folded into other chapters...
-Functional programming
-...bits and pieces will be folded into other chapters...
-SOAP web services
-...no one will miss you...
-
+The final version will be downloadable as HTML and PDF.
This site is optimized for Lynx just because fuck you. I’m told it also looks good in graphical browsers.
© 2001-4, 2009 ℳ ark Pilgrim, CC-BY-3.0
+
© 2001-4, 2009 ℳ ark Pilgrim, CC-BY-3.0
+
+