List price: $10.95 (that's 20% off!)
Bruno Schulz not only understood this concept but was one of its greatest practitioners. In his short but incredibly rich "The Street of Crocodiles," summer has a "senile intemperance...[a] lustful and belated spurt of vitality," rays of August heat form a "flaming broom," the moon acquires "milky reflexes, opaline shades, and the glaze of enamel," a cockroach's sudden emergence from a crevice is described as "a crazy black zigzag of lightning," and newly hatched baby birds are "lizards with frail, naked bodies of hunchbacks...[a] dragon brood." Every page of this magnificently odd little book is filled with such gems.
Not quite a novel, but more than just a collection of stories, "The Street of Crocodiles" is a set of loosely connected chapters about Schulz's boyhood in the small Polish town of Drogobych in the earliest years of the twentieth century. His use of figurative language instills his recollections with a dreamlike quality that hovers between reality and fantasy, such as in the chapter entitled "Cinnamon Shops," where the young Schulz's errand home to get money for his family waiting at the theater becomes an exotic journey into the intersection of his mind and the city. In "Nimrod," Schulz writes about the puppy he adopts and its delicate, meticulous process of learning about its environment. But the central episode would have to be "Tailors' Dummies," in which Schulz's eccentric father declaims eloquently on the relationships between God and Man, and Man and Mannequin.
Beautifully translated into English by Celina Wieniewska, this book belongs on every shelf of intelligent bizarre fiction next to the likes of Kafka, Borges, and Thomas Mann.
List price: $13.85 (that's 20% off!)
List price: $29.99 (that's 30% off!)
Book II is a useful set of chapters on building your own digital photography studio, with lots of advice on selecting equipment and accessories. Book III has pro-level advice on taking great photos, with long, detailed chapters on close-up photography, sports, travel, portraiture, and shooting for publication. The other books show you how to edit and restore digital photographs with applications like Photoshop Elements, Photoshop, and Paint Shop Pro.
All in all, I loved this book. If you're going to buy only one book on digital photography, this is the one you need.
I bought a second book to learn how to take digital pictures, but it seemed to concentrate on simple stuff that I already knew. This book does include information for beginning photographers, but the author also reveals many more advanced techniques that should help the beginner and please the more advanced picture taker. This is truly a photography book.
Before I found this book, I'd also purchased a book on image editing with Photoshop Elements. This book also covered Photoshop Elements, and it covered the newer Version 2.0 edition. It also did a better job of telling me how to correct my photographic mistakes in an image editor.
There are chapters on specific kinds of photography, more chapters on selecting from the tempting accessories and add-on gear available for digital cameras, and the color photos are outstanding. This book made me feel like I could read it and become as good a digital photographer as the author. (At least I hope!)
List price: $60.00 (that's 30% off!)
There are no creatures from outerspace here, or handicapped tragic heroes. Instead, A Very Fast Desent Into Hell soars through a more-than-realistic post-apocolyptic world we all fear... one where all hope is lost, and destruction is inevitable.
Drax's eloquent grasp of the language and frightening clairvoyance paints a landscape so real, so horrifying, you simply wonder - with trepidation "could this happen?"
When I first saw this was a "dark fantasy" I couldn't help but think "Dark Tower" series. Fortunately, (and not because Dark Tower isn't masterful) A Very Fast Decent is much different. We've been through worlds where our heroes battle with the forces of evil, saving the universe. But Drax asks, "what if... there is no redemption to be had? what if... there are no heroes left? what if... we're all f**ked regardless?"
Pick this one up... and begin your "decension."
I'm usually more of a Science Fiction/Fantasy buff, but I do enjoy a good mystery now and again, so long as: 1) I don't know who the culprit is in the first five pages; 2) It doesn't start out with "It was a dark and stormy night." 3) When the solution finally comes it doesn't present something implausible, impossible, or downright silly; and 4) It doesn't leave too many loose ends.
This book satisfies all of the above.
Dick Francis has a winning formula: he writes books about a young man of around 30, in a career most people might think is boring, but which turns out to be exciting. His hero is usually taken for granted and under-appreciated by his family, and under-employed, but in the course of the book proves he is far smarter, cleverer, and more observant than anyone supposed. Usually, there's a highly intelligent middle-aged career woman who recognizes his worth and helps him along. It's a formula, but the details that Francis provides makes it work every time.
Our heros in this book include not only Freddie Croft, who owns the horse transport business, but a veterinary epidemiology researcher who is quite a character. We learn more, perhaps, about viruses, parasite-born diseases, and other related things than some people might want to know; if you're squeamish, you might not want all the details of some of the illnesses we hear about along the way.
The stock middle-aged woman character this time is a rather unusual woman truck driver; Francis has always been in the forefront of having women in interesting careers; even back in the 60's, many of the women in his books held jobs. One doesn't tend to think of mystery writers/racing writers as being on the leading edge of trends, but Francis has shown himself to be so, in having career women, gays, and the disabled as important and strong characters in his books, even in the midst of the old-fashioned and conservative racing world.
List price: $44.95 (that's 30% off!)
I haven't found any other books that try to fill this space, but even if there were this would still be the book to buy!
Most of the available documentation on extending and embedding perl is written from the prospective of the core perl developers for core perl developers. This book is written for advanced Perl programmers who for whatever reason need or wish to peer into that netherworld between Perl, C, and the glue that interface Perl with other languages. It is a deliberate thorough guide led by authors that are both extremely knowledgeable and also capable of communicating that knowledge.
While it would greatly reduce the learning curve, no prior knowledge of C is required to read this book. This is a surprising claim and while it won't be easy, this reader is proof that someone with little true knowledge of C can in fact read and for the most part comprehend what the authors wish to convey.
There are clearly areas for improvement. Things like NULL being used throughout chapter 3, only to finally be defined later in a footnote in chapter 4. And other cases of terms being used before they are explained. Things that leave the reader juggling unnecessarily until the information is provided that lets understanding fall into place. But for the most part, if you are a competent juggler and are patient your questions will eventually be answered. You won't walk away a C programmer, but you will learn enough to solve the problems which led you to consider reading this book in the first place.
One thing I liked very much about the layout of the book is how it switches back between presenting sections on C programming and Perl. The authors revisit C each time it is necessary to understand the next Perl internals topic. Those that are learning C or need the review receive the relevant information just before it is required.
Over the course of the book, you'll learn about interfacing from Perl to C and C back to Perl. For those that must plug references to Tolkien in things Perl... you can go back and rephase that into an appropriate reference to Bilbo's book "There and Back Again". You'll also learn the perl api, data structures for core variable types, and how to work with scalars, arrays, hashes, strings, regular expressions, file handles, typeglobs, objects, callbacks and PDL with C and C++. And there is even mention of working with Fortran, Java, and more esoteric alternatives.
The book finishes with an in depth look at Perl internals: the parser, tokenizer, op code trees, execution, and compiler. And closes with a discussion of the Perl development process: How it may be monitored and participated in.
What's missing? Detailed coverage of the I/O subsystem and the regular expression engine. I.e., topics which might themselves make for a good book. There was also light coverage on things like scratchpads. There were times while reading when I didn't know whether the issue being discussed was fully covered or curtailed. But you will certainly find better coverage of the issues in this book than elsewhere. This is an impressive book. I hope it will greatly influence the way Perl6 internals are documented.
The topic is useful as this subject was considered as voodoo done by Perl hackers and "mappers of the Perl internals". I suppose you can say this claim is not true anymore, because this book collects the know-how from the perldocs, the newsgroups, the camel book (and other resources) and the personal experience of authors of the book.
Finally, you don't have to pick up small pieces of information about this subject in many places as people did prior to this book. What one would do, if one wanted to learn how to extend Perl or embed Perl before this book was available was doing one or more of the following:
* Read relevant small parts of the Camel book (preferably the recent edition rather than the 1st or 2nd) and "Advanced Perl Programming" (which is rather old, and only touches this matters).
This would give you some idea about Perl internals and perhaps some clues about XS, but that's about it.
* browse through newsgroups, mail archives and mailing lists to look for clues, and ask expert users, which usually, are not polite to answer newbies questions about such matters.
* figure out some cryptic (though, personally, I like them) incomplete (examples-wise) perldocs such as:
perlembed, perldebguts, perlxstut, perlxs,
perlclib, perlguts, perlcall, perlapi,
perlintern, perliol, perlapio, perlhack
* locate and dig into available CPAN module using this technology.
I think reading one book, with common terminology and many examples, is better than doing one or more of the above.
The book starts with an introduction of C for Perl programmers. It is very short and in my opinion not so accurate (due to its shortness), but since this should be a short introduction - it lives up to the promise. You can write a lot more than a "hello world" program after reading this short chapter, and you get a bonus, how to compile on gcc (gcc is ANSI-C and is available for all platforms), which is a wise idea. Perl programmers might be a bit disappointed to discover how much code and how complicated code you need to write in C to produce something that does the same as any Perl oneliner. The third chapter about Advanced C is a very good continuation to this introduction, especially, becuase the authors can assume you know some Perl (although I'm not sure they do). As someone giving lectures in "introduction to Computer Science, C language", I was tempted to borrow several very nice examples and explenations from this chapter. And I might also do that :-)
The next chapter explains how C code can be incorporated into a Perl Module and more generally into a CPAN package of a Perl module. This is very useful. Many resources (including books), focus on writing C/Perl code, and they say nothing or next to nothing about packaging (what you should do in order to make sure others can use your code, what you can and can't assume about the target system, etc.)
The fourth chapter is a useful cover of Perl variable types. This is somehting you could find in the "camel book", you can also find this in the (rather old) "Advanced Perl Programming", and of course in perldocs - but having it in one place, in order with examples and explenations is a real joy. Now you can figure it our reading one thing, and if you feel you want more, go to the perldocs.
Explaining Perl API, XS and advanced XS, alternatives to XS explain how you can add to your Perl programs some code (or programs or libraries) in C. I, personally wanted to have a module in Perl that gives interface to a data structure. Since the implementation I had is in C and it is tested and verified, I wanted to have a Perl module which exports the functionality, and offers a perl-oriented interface, without needing to reimplement the data structure in Perl. These book chapters made all the difference, and with the knowlede in chapter 2, I can now finish this, and after doing my testing, put it on CPAN. Isn't that great?!
If you are interested in doing the opposite, write Perl in C code, you can learn it in chapter 8. And if theory does not meet practice, you can read chapter 9 (and also try it out yourself) which presents a case study. Pretty useful stuff.
For people who are taking their first steps, the material so far is more than enough. But once you go deeper you want to know more about how to do more complicated stuff, and how stuff actually works. Chapter 10 which introduces you to the Perl internals is just what you would be looking for. Chapter 11 will be the tour into the depts, teaching you some perl hacking, i.e. how to alter Perl's behaviour.
The indices are useful, though can be found (though, not in similar format) elsewhere.
To sum this review, I loved the book. I wish I could take more time to practice what I read there thoroughly. I will surely get a copy of this book to have it on my bookshelf, and when the need comes, on my desk.
The stories all deal with the narrator (Bruno) and his family when Bruno was a child. Each story starts out with a beautiful description of the milieu, then moves into stranger grounds where psychological unease mixes with facts. Kafkaesque would be the word applicable to describe Schulz's work (as there even is a story about a man turning insect-like... in this case, the father, not the son) but as researchers surmised, there is no real evidence that Schulz was influenced by Kafka.
What makes Bruno Schulz's prose so heartbreaking is its ceaseless and painful yearning to remember the past; almost every description is a metaphor that is drenched in almost extrasensory feeling. In consequence, every object, every motion, and every emotion remembered by Schulz throbs with a realism that is hot-wired to our subconscious, to our collective and private myths.
If you like reading, you must read Schulz.