|| Learning Python,
Ascher, 2004, ISBN 0596002815, O'Reilly.
The first edition was published in 1999 and was subsequently updated to
the 2.2 version of Python in 2004. I
highly recommend this book as the first book on Python you should
get. Its a very
readable language reference, with lots of short examples. It
chapters on some of the more advanced topics and some of the
Slashdot has a review of the new version.
Even if you have a copy of the original edition I think you should get a copy of the new edition, it has a lot of new material, as well, some of the general sections have been significantly improved.
Even if you are an experienced C++ programmer you'll benefit from reading this when you start coding Python as Python's object system and language have may built-in capabilities that C++ lacks (so you will be unaware of and probably will not even think to look for).
|| The Python
(second edition) by Alex
Anna Ravenscroft and David
Ascher, 2005, ISBN 0596007973, O'Reilly.
This is a collected set of recipes for doing all sorts of common (and
so common) tasks in Python. The recipes are grouped into task-specific
chapters, so you can often just glance down the list of chapters and
then skim the contents of one or two chapters to find what you are
looking for. The recipes are usually less than a page long, often short
enough to just type into the Python interpreter shell directly to play
with, and come with a write up that will cover what the recipe does and
go into details about any additional background material you might need
If you are a lone programmer who's looking to get productive in Python fast, this is a good book to get. Its the sort of thing where you could find a solution in this book in 5 minutes that will save you a few hours of web searching and experimentation. If you've got a few people at work who use Python, then at least get one copy for the office, it'll pay for itself in one use.
|| Python Programming on
Win32, by Mark
Hammond and Andy
Robinson, 2000, ISBN 1565926218, O'Reilly.
If you are working with Python in a Windows environment and you want to talk to other applications (say by using COM or DCOM) or control or modify the operating system from Python (perhaps using Python as your operating system scripting language), you simply must get a copy of this book. Like the Python Cookbook, each time you use this book it'll save you hours of "interesting" times. I highly recommend this book.
It's also the sort of book where a programming team needs at least one copy. The sample code and errata page is here.
An introductory presentation by Mark Hammond and Greg Stein on COM given at a conference. In Feb'06 an announcement of a website dedicated to this was made: win32com.goermezer.de.
||Programming Python, Mark Lutz, 2006, ISBN 0596009259, O'Reilly. If you need to integrate Python with a C++ application (embed it or extend the application with Python) this is the book for you. I bought a copy of the first edition from 1999 but I have not really made much use of my copy, especially compared with Learning Python. There are probably some problems where the more in depth coverage in this book will help, but for the sort of coding I've been doing I have only rarely found the need to open this. So I would say browse through a copy before buying. A second edition has been released and a third edition is on the way.|
in Action, 2006, by Noel Rappin and Robin Dunn, published by
Manning Publications. ISBN: 1932394621.
Here's an artical
interviewing Robin Dunn. Reviewed
on voidspace. Reviewed
on Slashdot by Ron Stephens.
This is a very good introduction to using wxPython to create GUI applications in Python. Currently I've read about 70% of the book and found it quite easy to follow, the examples are quite concise, but still illustrate some powerful concepts (especially the grid table in Chapter 5 and the simple drawing application in chapter 6). Source code to the examples is available from the publisher's web site, but sometimes one learns more from actually typing in some of these that just downloading and running them. That's one of the beauties of Python, you can actually type in some stuff in the Python shell window and interactively experiment with things.
Incorporating HTML into wxPython. Using PIL (Python Imaging Library) within a wxPython application.
Programming with wxWidgets, 2005, by Julian Smart, Kevin Hock
Stefan Csomor, ISBN: 0131473816. wxWidgets is the toolkit that wxPython
is based on, as such this book is not essential for the use of
wxPython, but it does help to fill in some of the gaps, If you are
considering using wxPython in a major way this book would probably also
prove useful to have on hand.
Of course, if you are using wxWidgets directly, rather than indirectly from Python, then this book would be very useful to have on hand. I got my got of this because the wxPython in Action book was not available at the time I started to use wxPython and found that it was quite useful to have on hand.
First, the Board has stated, in obiter dicta, on several occasions that the Private Copying regime legalizes copying for the private use of the person making the copy, regardless of whether the source is non-infringing or not. Therefore, according to the Board, downloading an infringing track from the Internet is not infringing, as long as the downloaded copy is made onto an 'audio recording medium'the key here would be that to be legit you need to save a copy of the song to an audio recording medium, i.e. you need to burn it onto a CDR on which you will have paid the levy.  
Speaking with Canon, I found the following:
Of course, every image is different, but in Canon's testing, the company used the ISO Standard #5 image to estimate inktank usage. (This image provides a fair and accurate ratio of colors to approximate the average digital photograph.) Here are the results, according to Canon:
Cyan: 1100 pages
Magenta: 790 pages
Yellow: 540 pages
Photo Cyan: 380 pages
Photo Magenta: 280 pages
Red: 2300 pages
Green: 2300 pages
The new red and green tanks, obviously, are used far less often than the others because they're primarily used for accent work. They're the last tanks you'd have to replace.
I purchased the i9900 about 6 weeks ago to replace my S9000. The S9000 is no slouch and a top rated printer from 2 years ago but i9900 is much better. I now shoot with a Canon 10D and Canon L lenses even though I have thousands of transparencies to scan on a Canon FS4000US film scanner. The 10D was purchased just prior to a trip to Rome where I shot about 1000 images.
I just finished assembling 170 of the best Rome images into an album using Canon PhotoRecord software that comes with most Canon digital products. I printed the album on both Epson dual-sided matte paper and Pictorico dual-sided semi-gloss paper. The results are amazing. Both papers work extremely well with the i9900 although they each have their own subtle tinting difference. This can be corrected easily with color adjustment through the printer driver. Printing the entire album on the dualsided 8.5 x 11 stock (68 pages total) used no more than half of some of the ink cartridges and almost none of the red and green. People who have viewed the album are stunned and amazed with the quality and can't believe it came from an inkjet printer. The color punch and tone is incredible and the level of detail and resolution equals or exceeds wet chemistry printing. If you want to see dots you'll need at least a 4X loupe and there is absolutely no banding.
It is a mistake to not consider this printer because of the limited selection of Canon papers. Epson papers work extremely well on the Canon printers as do Pictorico, Mitsubishi and Konica. These are the only papers I've had the opportunity to try.
Needless to say, I am very happy I bought this printer.
||Season six, more farce.
The Allo' Allo' series is great source of cheap laughs.
Wikipedia has an episode list.
|This is supposed to be a
very good spanish dance flick.
|One of the best American
sit comms, pity the disks don't have much in the way of extras. TV.com
has a very good episode guide.
Well it didn't take long for this to die, it lasted from about 30-Oct-07 to 15-May-08. Let's hope SanDisk learned something here and come back to the table with something capable of playing HiDef. 
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
This Slashdot article references some other articles that seem to be similarly concerned with section 6 of the LGPL.
I encountered the "busy drive" bug while checking to see if any of my Seagate drives might be affected. Quite ironic, you shutdown the system to check the serial numbers and drive labels; and then, when you power up the system again one of the drives is no longer responding to the BIOS. Seagate now has a few online tools that you can use to find out if you need new firmware - the best is to get the drive's serial number and enter it. If your drive is one that is known to be at risk they will send you to a page from which you can download a small ISO image that you can burn to CD and then boot from to flash the drive.
Seagate's firmware upgrade procedure is described here, if you have an X86 PC which can boot from CD then it is pretty simple to flash the drives (just detach all your other drives first to be on the safe side).
I was able to unbrick my drive that had entered the busy state by following this procedure. If you just unscrew the screw near the drive power connector a few turns, then you can slide some insulating material (say the corner of a business card) between the connector and the controller board quite easily. I used one of these RS-232 to TTL level shifters (here from www.robotcraft.ca) and used a pair of AA batteries to power it at 3 volts. For the connector to the RX/TX pins I used a piece of cable from an old computer case, one of the two pin headers that is used to connect the front panel (lights or switches) to the motherboard. This had the correct pin spacing but was slightly too thick to insert into the drive's socket, so I used sand paper to thin it down a bit. Once I had found a serial cable (which I have not used for many years) I was able to connect the drive to the computer and verify that it did have the "busy error" symptoms (the drive will keep sending, about once a minute, a string like "LED:000000CC FAddr:0025BF67" to the terminal). At this point things worked up to issuing the "Z" command to spin down the drive. For me as soon as I issued that command the drive would enter the busy error state. The command sequence looked like:
F3 T>/2 F3 2>Z LED:000000CC FAddr:0025BF67 LED:000000CC FAddr:0025BF67In the end I reviewed the various drive commands (a list is listed here) and noted that the "Z" command was also available at other "levels", so I gave level 8 a try and this worked. The output from my command session looked like:
F3 T>/8 F3 8>Z Spin Down Complete Elapsed Time 0.161 msecs F3 8> F3 8>U Spin Up Complete Elapsed Time 9.250 secs F3 8>/1 F3 1>N1 F3 1>/T F3 T> F3 T>i4,1,22 F3 T>m0,2,2,,,,,22 Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewr ite Retries = 00C8 User Partition Format 5% complete, Zone 00, Pass 00, LBA 00004339, ErrCode 000 User Partition Format 5% complete, Zone 00, Pass 00, LBA 00008DED, ErrCode 000 00080, Elapsed Time 0 mins 10 secs User Partition Format Successful - Elapsed Time 0 mins 10 secs F3 T>After I had done this I was able to remove the drive, test it and confirm that it was working fine. I then did a firmware update which took it from SD15 to SD1A.
And one more thing, my drives were "made in China" so this problem was not just with the drives from Thailand.