.:
total 408
-rw-r--r-- 1 wesc wesc 178365 Apr 6 17:37 all.tgz
-rw-r--r-- 1 wesc wesc 138452 Apr 6 17:37 all.zip
drwxr-xr-x 2 wesc wesc 4096 Mar 1 00:25 ch01/
drwxr-xr-x 2 wesc wesc 4096 Feb 25 02:32 ch02/
drwxr-xr-x 2 wesc wesc 4096 Feb 27 13:06 ch03/
drwxr-xr-x 2 wesc wesc 4096 Feb 27 13:09 ch04/
drwxr-xr-x 2 wesc wesc 4096 Feb 28 02:52 ch05/
drwxr-xr-x 2 wesc wesc 4096 Feb 27 14:35 ch06/
drwxr-xr-x 2 wesc wesc 4096 Feb 28 02:52 ch07/
drwxr-xr-x 3 wesc wesc 4096 Feb 27 01:51 ch08/
drwxr-xr-x 2 wesc wesc 4096 Feb 27 14:48 ch09/
drwxr-xr-x 2 wesc wesc 4096 Feb 29 01:49 ch10/
drwxr-xr-x 4 wesc wesc 4096 Mar 1 19:40 ch11/
drwxr-xr-x 2 wesc wesc 4096 Mar 23 14:11 ch12/
drwxr-xr-x 2 wesc wesc 4096 Jul 19 02:53 ch13/
drwxr-xr-x 2 wesc wesc 4096 Feb 29 22:05 ch14/
drwxr-xr-x 2 wesc wesc 4096 Jul 19 02:52 ch15/
-rw-r--r-- 1 wesc wesc 1791 Mar 8 02:50 COLOPHON.txt
-rw-r--r-- 1 wesc wesc 320 Mar 8 02:47 COPYRIGHT.txt
-rw-r--r-- 1 wesc wesc 824 Mar 8 02:48 LICENSE.txt
-rw-r--r-- 1 wesc wesc 11897 Jul 19 02:54 ls-lFR.txt
-rw-r--r-- 1 wesc wesc 12638 Mar 8 02:46 README.html
./ch01:
total 40
-rwxr-xr-x 1 wesc wesc 643 Feb 25 02:06 gendata3.py*
-rwxr-xr-x 1 wesc wesc 591 Feb 25 02:08 gendata-64b.py*
-rwxr-xr-x 1 wesc wesc 620 Feb 25 02:08 gendata.py*
-rwxr-xr-x 1 wesc wesc 745 Feb 25 02:12 gendataU.py*
-rw-r--r-- 1 wesc wesc 347 Feb 25 02:31 README.html
-rwxr-xr-x 1 wesc wesc 236 Feb 23 23:05 retasklist.py*
-rwxr-xr-x 1 wesc wesc 209 Feb 25 02:11 rewho3-hacker.py*
-rwxr-xr-x 1 wesc wesc 162 Feb 23 22:51 rewho3.py*
-rwxr-xr-x 1 wesc wesc 157 Feb 23 22:49 rewho.py*
-rwxr-xr-x 1 wesc wesc 205 Feb 23 23:01 rewhoU.py*
./ch02:
total 60
-rw-r--r-- 1 wesc wesc 452 Feb 25 02:32 README.html
-rwxr-xr-x 1 wesc wesc 429 Sep 11 2010 tsTclnt3.py*
-rwxr-xr-x 1 wesc wesc 424 Sep 11 2010 tsTclnt3V6.py*
-rwxr-xr-x 1 wesc wesc 400 Sep 11 2010 tsTclnt.py*
-rwxr-xr-x 1 wesc wesc 413 Sep 11 2010 tsTclntSS.py*
-rwxr-xr-x 1 wesc wesc 724 Sep 11 2010 tsTclntTW.py*
-rwxr-xr-x 1 wesc wesc 395 Sep 11 2010 tsTclntV6.py*
-rwxr-xr-x 1 wesc wesc 665 Sep 11 2010 tsTserv3.py*
-rwxr-xr-x 1 wesc wesc 666 Sep 11 2010 tsTserv3V6.py*
-rwxr-xr-x 1 wesc wesc 560 Mar 18 2009 tsTserv.py*
-rwxr-xr-x 1 wesc wesc 492 Mar 18 2009 tsTservSS.py*
-rwxr-xr-x 1 wesc wesc 535 Sep 11 2010 tsTservTW.py*
-rwxr-xr-x 1 wesc wesc 561 Sep 11 2010 tsTservV6.py*
-rwxr-xr-x 1 wesc wesc 391 Sep 11 2010 tsUclnt.py*
-rwxr-xr-x 1 wesc wesc 431 Mar 18 2009 tsUserv.py*
./ch03:
total 36
-rwxr-xr-x 1 wesc wesc 1342 Feb 25 02:44 email-examples.py*
-rwxr-xr-x 1 wesc wesc 2390 Feb 27 13:02 getFirstNNTP3.py*
-rwxr-xr-x 1 wesc wesc 2367 Sep 12 2010 getFirstNNTP.py*
-rwxr-xr-x 1 wesc wesc 1129 Feb 27 13:03 getLatestFTP3.py*
-rwxr-xr-x 1 wesc wesc 1119 Feb 27 13:03 getLatestFTP.py*
-rwxr-xr-x 1 wesc wesc 2217 Feb 25 02:50 gmail.py*
-rwxr-xr-x 1 wesc wesc 728 Feb 25 02:40 myMail.py*
-rw-r--r-- 1 wesc wesc 430 Feb 25 02:52 README.html
-rwxr-xr-x 1 wesc wesc 2290 Feb 25 02:49 ymail.py*
./ch04:
total 104
-rwxr-xr-x 1 wesc wesc 861 Feb 27 13:09 bookrank3CF.py*
-rwxr-xr-x 1 wesc wesc 977 Feb 27 13:09 bookrank3.py*
-rwxr-xr-x 1 wesc wesc 951 Feb 27 13:09 bookrank.py*
-rwxr-xr-x 1 wesc wesc 1252 Apr 5 2011 candy3.py*
-rwxr-xr-x 1 wesc wesc 1229 Apr 5 2011 candy.py*
-rwxr-xr-x 1 wesc wesc 1016 Sep 12 2010 mtfacfib3.py*
-rwxr-xr-x 1 wesc wesc 994 Nov 16 2011 mtfacfib.py*
-rwxr-xr-x 1 wesc wesc 515 Feb 27 13:07 mtsleepA3.py*
-rwxr-xr-x 1 wesc wesc 506 Sep 20 2006 mtsleepA.py*
-rwxr-xr-x 1 wesc wesc 732 Feb 27 13:07 mtsleepB3.py*
-rwxr-xr-x 1 wesc wesc 719 Sep 12 2010 mtsleepB.py*
-rwxr-xr-x 1 wesc wesc 726 Feb 27 13:07 mtsleepC3.py*
-rwxr-xr-x 1 wesc wesc 716 Sep 12 2010 mtsleepC.py*
-rwxr-xr-x 1 wesc wesc 978 Feb 27 13:08 mtsleepD3.py*
-rwxr-xr-x 1 wesc wesc 968 Sep 12 2010 mtsleepD.py*
-rwxr-xr-x 1 wesc wesc 897 Feb 27 13:08 mtsleepE3.py*
-rwxr-xr-x 1 wesc wesc 872 Mar 27 2011 mtsleepE.py*
-rwxr-xr-x 1 wesc wesc 1121 Apr 4 2011 mtsleepF3.py*
-rwxr-xr-x 1 wesc wesc 1118 Apr 4 2011 mtsleepF.py*
-rwxr-xr-x 1 wesc wesc 589 Sep 12 2010 myThread3.py*
-rwxr-xr-x 1 wesc wesc 587 Sep 12 2010 myThread.py*
-rwxr-xr-x 1 wesc wesc 423 Sep 12 2010 onethr3.py*
-rwxr-xr-x 1 wesc wesc 423 Sep 20 2006 onethr.py*
-rwxr-xr-x 1 wesc wesc 1039 Sep 11 2010 prodcons3.py*
-rwxr-xr-x 1 wesc wesc 1027 Sep 11 2010 prodcons.py*
-rw-r--r-- 1 wesc wesc 673 Feb 25 03:02 README.html
./ch05:
total 84
-rwxr-xr-x 1 wesc wesc 1575 Feb 27 14:28 animalGtk.pyw*
-rwxr-xr-x 1 wesc wesc 675 Feb 27 14:28 animalPmw3.pyw*
-rwxr-xr-x 1 wesc wesc 675 Feb 27 14:28 animalPmw.pyw*
-rwxr-xr-x 1 wesc wesc 641 Feb 27 14:29 animalTix3.pyw*
-rwxr-xr-x 1 wesc wesc 633 Feb 27 14:29 animalTix.pyw*
-rwxr-xr-x 1 wesc wesc 606 Apr 12 2011 animalTtk3.pyw*
-rwxr-xr-x 1 wesc wesc 597 Apr 12 2011 animalTtk.pyw*
-rwxr-xr-x 1 wesc wesc 1388 Feb 27 14:27 animalWx.pyw*
-rwxr-xr-x 1 wesc wesc 3454 Feb 27 14:30 listdir3.py*
-rwxr-xr-x 1 wesc wesc 3454 Feb 27 14:30 listdir.py*
-rwxr-xr-x 1 wesc wesc 1169 Feb 27 14:34 pfaGUI3.py*
-rwxr-xr-x 1 wesc wesc 1163 Feb 26 23:54 pfaGUI.py*
-rw-r--r-- 1 wesc wesc 886 Feb 27 00:06 README.html
-rwxr-xr-x 1 wesc wesc 146 Feb 27 14:26 tkhelloA3.py*
-rwxr-xr-x 1 wesc wesc 146 Sep 21 2000 tkhelloA.py*
-rwxr-xr-x 1 wesc wesc 168 Feb 27 14:27 tkhelloB3.py*
-rwxr-xr-x 1 wesc wesc 168 Sep 21 2000 tkhelloB.py*
-rwxr-xr-x 1 wesc wesc 273 Feb 27 14:27 tkhelloC3.py*
-rwxr-xr-x 1 wesc wesc 273 Sep 20 2006 tkhelloC.py*
-rwxr-xr-x 1 wesc wesc 550 Feb 27 14:27 tkhelloD3.py*
-rwxr-xr-x 1 wesc wesc 550 Sep 21 2000 tkhelloD.py*
./ch06:
total 32
-rw-r--r-- 1 wesc wesc 337 Feb 27 01:51 README.html
-rwxr-xr-x 1 wesc wesc 4680 Sep 10 2011 ushuffle_db.py*
-rwxr-xr-x 1 wesc wesc 5389 Feb 27 14:35 ushuffle_dbU.py*
-rwxr-xr-x 1 wesc wesc 2169 Sep 10 2011 ushuffle_mongo.py*
-rwxr-xr-x 1 wesc wesc 3474 Feb 12 02:48 ushuffle_sad.py*
-rwxr-xr-x 1 wesc wesc 2832 Sep 10 2011 ushuffle_so.py*
./ch07:
total 52
-rwxr-xr-x 1 wesc wesc 1424 Feb 27 14:40 estock3.pyw*
-rwxr-xr-x 1 wesc wesc 1404 Feb 27 14:40 estock.pyw*
-rwxr-xr-x 1 wesc wesc 754 Feb 27 14:40 excel3.pyw*
-rwxr-xr-x 1 wesc wesc 741 Feb 27 14:40 excel.pyw*
-rwxr-xr-x 1 wesc wesc 908 Feb 27 14:44 olook3.pyw*
-rwxr-xr-x 1 wesc wesc 896 Feb 27 14:44 olook.pyw*
-rwxr-xr-x 1 wesc wesc 1141 Feb 27 01:46 outlook_edit.pyw*
-rwxr-xr-x 1 wesc wesc 874 Feb 27 14:45 ppoint3.pyw*
-rwxr-xr-x 1 wesc wesc 862 Feb 27 14:44 ppoint.pyw*
-rw-r--r-- 1 wesc wesc 437 Feb 27 01:51 README.html
-rwxr-xr-x 1 wesc wesc 3098 Apr 20 2011 txt2ppt.pyw*
-rwxr-xr-x 1 wesc wesc 764 Feb 27 14:45 word3.pyw*
-rwxr-xr-x 1 wesc wesc 752 Feb 27 14:45 word.pyw*
./ch08:
total 16
-rw-r--r-- 1 wesc wesc 891 Sep 20 2006 Extest1.c
-rw-r--r-- 1 wesc wesc 1713 Sep 20 2006 Extest2.c
-rw-r--r-- 1 wesc wesc 272 Feb 27 01:51 README.html
-rwxr-xr-x 1 wesc wesc 164 Apr 30 2006 setup.py*
./ch09:
total 40
-rwxr-xr-x 1 wesc wesc 4180 Feb 27 14:47 crawl3.py*
-rwxr-xr-x 1 wesc wesc 3986 Feb 27 04:31 crawl.py*
-rwxr-xr-x 1 wesc wesc 2366 Feb 27 14:47 mech.py*
-rwxr-xr-x 1 wesc wesc 851 Feb 27 14:46 myhttpd3.py*
-rwxr-xr-x 1 wesc wesc 851 May 22 2011 myhttpd.py*
-rwxr-xr-x 1 wesc wesc 2016 Feb 27 04:32 parse_links.py*
-rw-r--r-- 1 wesc wesc 372 Feb 27 04:35 README.html
-rwxr-xr-x 1 wesc wesc 940 Feb 27 14:47 urlopen_auth3.py*
-rwxr-xr-x 1 wesc wesc 853 Feb 27 14:48 urlopen_auth.py*
./ch10:
total 52
-rwxr-xr-x 1 wesc wesc 6218 Feb 27 12:58 advcgi3.py*
-rwxr-xr-x 1 wesc wesc 6070 Aug 30 2011 advcgi.py*
-rwxr-xr-x 1 wesc wesc 400 Feb 27 12:59 friendsA3.py*
-rwxr-xr-x 1 wesc wesc 399 Dec 30 2000 friendsA.py*
-rwxr-xr-x 1 wesc wesc 1449 Feb 27 13:00 friendsB3.py*
-rwxr-xr-x 1 wesc wesc 1446 Aug 28 2011 friendsB.py*
-rwxr-xr-x 1 wesc wesc 2295 Feb 27 13:00 friendsC3.py*
-rwxr-xr-x 1 wesc wesc 2283 Aug 28 2011 friendsC.py*
-rw-r--r-- 1 wesc wesc 570 Aug 26 2011 friends.htm
-rw-r--r-- 1 wesc wesc 361 Feb 27 04:36 README.html
-rwxr-xr-x 1 wesc wesc 392 Feb 27