Domain: wrox.com
Stories and comments across the archive that link to wrox.com.
Stories · 9
-
Professional Apache Tomcat
Liam writes "Tomcat is a subproject of the Apache Software Foundation's Jakarta project, its purpose being to serve Java Servlets and JavaServer Pages. It's a complex piece of software and though the documentation is very comprehensive, it helps to have a good reference work to hand. There aren't many books on the subject to choose from, so a publisher could make a fast buck putting out an incomplete work lacking in depth. Fortunately Wrox Press has done a great job with its new publication Professional Apache Tomcat." Read on for the rest of Liam's review. Professional Apache Tomcat author Chanoch Wiggers et al pages 600 publisher Wrox Press Ltd rating 9 reviewer Liam ISBN 1861007736 summary Comprehensive guide to Apache's Tomcat serverThe book covers every aspect of installing and configuring Tomcat in a great deal of depth, detailing its every aspect. From standalone use (where Tomcat is used as a general web server as well as for serving Java content), to integration with the leading web servers Apache (both Unix and Windows versions) and Microsoft's Internet Information Services, nothing appears to have been left out (however, integration with Netscape's Enterprise Server is mentioned in passing early on, but doesn't appear again).
Being only a month old, it's pretty much bang up to date, covering Tomcat 3.x, 4.0.x and 4.1.x with Apache 1.3.x and 2.0.x and IIS 4 and 5.
The book starts with an introduction to the Apache project, and Tomcat's place in the wider scheme of things. The historical progression in serving dynamic web content from CGI to Servlets and JSP is charted, and there's an overview of JSP tags and general web application architecture. This is interesting enough and useful as background, but as this book is intended for administrators, it's covered quickly in the first two chapters, and the main business of installing Tomcat gets underway in chapter 3.
Installation is discussed with both Windows and Linux users in mind, from both binary and source distributions. As the Tomcat source is usually built with Ant, build and installation of this tool is also discussed (Ant and Log4j, both also part of Jakarta, get chapters of their own later in the book). From there, basic configuration of the standalone server followed by detailed examinations of the components that make up Tomcat's architecture fills the next 200 or so pages.
Serious users of Tomcat will wish to employ Tomcat with an existing web server, and four chapters concentrate on this job. There is more emphasis on Apache than IIS, though given Apache's dominance of the web server field, this is understandable. There is inevitably a certain amount of detail aimed at Apache and IIS configuration, and a basic knowledge of both is assumed throughout. However, any necessary information is included in detail; for example the (Apache) connector modules mod_webapp and mod_jk/jk2 are given a thorough treatment, describing their use from source installation to configuration, together with the pros and cons of the various connectors available. Beyond that, we learn how to design larger-scale setups, with an explanation of load balancing techniques and scaling of the system, and performance testing with JMeter, yet another Jakarta project component.
As ever, security is a major concern and gets a lot of emphasis. Before client authentication and the use of SSL are discussed, there's an overview of basic system security with Unix and Windows. This should be teaching granny to suck eggs for a book aimed at administrators, but it's only a few pages and completes the subject. More interesting are the sections on security realms and user/client authentication. We are presented with examples of authenticating against a MySQL database with JDBC (database connectivity with JDBC is a big enough subject in its own right, and so gets a separate chapter too), and digest authentication. We then move on to encryption with SSL: using Tomcat itself with the JSSE and PureTLS Java SSL implementations, then later with Apache and SSL (setting up mod_ssl with Apache gets a very useful appendix of its own, taken from Professional Apache 2.0, another Wrox book). Again, there's lots of detail, right down to how to get hold of signed certificates for your server. Here the book's general emphasis on Apache over IIS is most apparent, as SSL with IIS is not discussed at all. However, I have no experience with IIS, so I can't say for sure how serious this omission might be.
There's a very brief appendix on setting up Apache's Axis SOAP toolkit, but without any mention of SOAP appearing elsewhere in the book. As other concepts are introduced so well, it's a curious addition.
With nine co-authors (though only four got onto the cover photograph - I wonder if they drew straws?), one might expect wildly different styles throughout the book, but each chapter is consistently and clearly laid out with diagrams and relevant configuration file fragments where necessary. There's little levity and it's all written in a very business-like manner, but then this is hardly a subject you'd choose for holiday reading.
Professional Apache Tomcat is surely the definitive book on the subject. I recently used it to integrate Tomcat 4 with an existing Apache 2 installation, and everything went very smoothly. More than just a set of tutorials, it offers a thorough description of the whole architecture, and makes an excellent companion to either of Wrox's Professional Apache books.
There's no CD with the book, but Wrox's website provides some support code, and there are lively forums for readers at p2p.wrox.com.
You can purchase Professional Apache Tomcat from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Professional Apache Tomcat
Liam writes "Tomcat is a subproject of the Apache Software Foundation's Jakarta project, its purpose being to serve Java Servlets and JavaServer Pages. It's a complex piece of software and though the documentation is very comprehensive, it helps to have a good reference work to hand. There aren't many books on the subject to choose from, so a publisher could make a fast buck putting out an incomplete work lacking in depth. Fortunately Wrox Press has done a great job with its new publication Professional Apache Tomcat." Read on for the rest of Liam's review. Professional Apache Tomcat author Chanoch Wiggers et al pages 600 publisher Wrox Press Ltd rating 9 reviewer Liam ISBN 1861007736 summary Comprehensive guide to Apache's Tomcat serverThe book covers every aspect of installing and configuring Tomcat in a great deal of depth, detailing its every aspect. From standalone use (where Tomcat is used as a general web server as well as for serving Java content), to integration with the leading web servers Apache (both Unix and Windows versions) and Microsoft's Internet Information Services, nothing appears to have been left out (however, integration with Netscape's Enterprise Server is mentioned in passing early on, but doesn't appear again).
Being only a month old, it's pretty much bang up to date, covering Tomcat 3.x, 4.0.x and 4.1.x with Apache 1.3.x and 2.0.x and IIS 4 and 5.
The book starts with an introduction to the Apache project, and Tomcat's place in the wider scheme of things. The historical progression in serving dynamic web content from CGI to Servlets and JSP is charted, and there's an overview of JSP tags and general web application architecture. This is interesting enough and useful as background, but as this book is intended for administrators, it's covered quickly in the first two chapters, and the main business of installing Tomcat gets underway in chapter 3.
Installation is discussed with both Windows and Linux users in mind, from both binary and source distributions. As the Tomcat source is usually built with Ant, build and installation of this tool is also discussed (Ant and Log4j, both also part of Jakarta, get chapters of their own later in the book). From there, basic configuration of the standalone server followed by detailed examinations of the components that make up Tomcat's architecture fills the next 200 or so pages.
Serious users of Tomcat will wish to employ Tomcat with an existing web server, and four chapters concentrate on this job. There is more emphasis on Apache than IIS, though given Apache's dominance of the web server field, this is understandable. There is inevitably a certain amount of detail aimed at Apache and IIS configuration, and a basic knowledge of both is assumed throughout. However, any necessary information is included in detail; for example the (Apache) connector modules mod_webapp and mod_jk/jk2 are given a thorough treatment, describing their use from source installation to configuration, together with the pros and cons of the various connectors available. Beyond that, we learn how to design larger-scale setups, with an explanation of load balancing techniques and scaling of the system, and performance testing with JMeter, yet another Jakarta project component.
As ever, security is a major concern and gets a lot of emphasis. Before client authentication and the use of SSL are discussed, there's an overview of basic system security with Unix and Windows. This should be teaching granny to suck eggs for a book aimed at administrators, but it's only a few pages and completes the subject. More interesting are the sections on security realms and user/client authentication. We are presented with examples of authenticating against a MySQL database with JDBC (database connectivity with JDBC is a big enough subject in its own right, and so gets a separate chapter too), and digest authentication. We then move on to encryption with SSL: using Tomcat itself with the JSSE and PureTLS Java SSL implementations, then later with Apache and SSL (setting up mod_ssl with Apache gets a very useful appendix of its own, taken from Professional Apache 2.0, another Wrox book). Again, there's lots of detail, right down to how to get hold of signed certificates for your server. Here the book's general emphasis on Apache over IIS is most apparent, as SSL with IIS is not discussed at all. However, I have no experience with IIS, so I can't say for sure how serious this omission might be.
There's a very brief appendix on setting up Apache's Axis SOAP toolkit, but without any mention of SOAP appearing elsewhere in the book. As other concepts are introduced so well, it's a curious addition.
With nine co-authors (though only four got onto the cover photograph - I wonder if they drew straws?), one might expect wildly different styles throughout the book, but each chapter is consistently and clearly laid out with diagrams and relevant configuration file fragments where necessary. There's little levity and it's all written in a very business-like manner, but then this is hardly a subject you'd choose for holiday reading.
Professional Apache Tomcat is surely the definitive book on the subject. I recently used it to integrate Tomcat 4 with an existing Apache 2 installation, and everything went very smoothly. More than just a set of tutorials, it offers a thorough description of the whole architecture, and makes an excellent companion to either of Wrox's Professional Apache books.
There's no CD with the book, but Wrox's website provides some support code, and there are lively forums for readers at p2p.wrox.com.
You can purchase Professional Apache Tomcat from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Professional Linux Programming
WrinkledShirt contributed this review of a Professional Linux Programming, a tome he says can "bend light" by its sheer size -- 1155 pages of multi-author, multi-language instruction and examples. Read on for his thoughts on the book's shortcomings as well as its strengths, and remember, lift with your knees, not with your back. Professional Linux Programming author Neil Matthew, Richard Stones, et. al. pages 1155 publisher Wrox rating 8 reviewer WrinkledShirt ISBN 1-861003-01-3 summary A brilliant book for anyone wanting to gain new Linux programming skills.
IntroductionLarge programming books have a special sort of gravitational pull to them. It's a sort of siren's song for us techie types, with lyrics promising an endless fountain of information, more than you could ever possibly hope to use, superfluous only in the same way that you don't plan on reading the Encyclopaedia Britannica cover-to-cover anytime soon, either.
Unfortunately, this branch of the publishing industry responsible for these books is well aware of this, and as such there's a veritable critical mass of crap in that corner of the bookstore, some of it reading like blood being squeezed from a stone, with any number of useless chapters thrown in there just to meet some predefined page quota. Which is why it's such a relief to get a book like Professional Linux Programming that's 1155 pages long and contains a ton of material, with very little of it page-filler. Unless you already know it all, there is something valuable in this book for just about every Linux developer out there.
The GoodThis book is loaded. Go straight to the table of contents if you need to see what I mean. The book's sheer ambition almost makes it worth picking up a copy. We need more like this -- not just for Linux, not just for programming, but for computer references in general.
If you've thought about developing for Linux, you've probably rubbed up against the impression that Linux and C go together like a wink and a smile. This book delivers on that impression, and it delivers huge. There are chapters on how to use C with PostgreSQL and MySQL databases, LDAP services, GTK+/Gnome/libglade and Qt/KDE, Flex and Bison, XML, sockets, RPC and CORBA (using ORBit). There are also sections on applied professional development theory, like design, debugging, security, deployment, and encryption.
If C isn't your bag, you might not find as much to get out of this book, but there are still sections on PHP, Python, documentation, package deployment, internationalization and shell database manipulation. Ever wondered how CVS or patching worked? It's in there. There's even material on device drivers and Beowulf clusters. By the end of this book you'll have more than just proof-of-concept familiarity with just about all the topics. For all but the more exotic subjects, you start at the simplest example, and the complexity gets increased with subsequent scenario, until the point where the chapter gets applied to the book's ongoing case study, which is the development of a hypothetical system to track a DVD store's business operations.
To give you an idea about what sort of depth to expect from this book, I'll talk about what it does with PostgreSQL. It shows you how to install it and maintain it from the command line; walks you through how to create basic databases; gets you comfortable with running SQL queries from the command line or scripts from a file; shows you how to interface with it using C (using both libpq functions and embedded techniques); shows you how to handle different kinds of transactions and cursors; talks about bringing it into PHP; and uses PostgreSQL for the core engine for the case study. Now, database work is obviously going to be getting special treatment when it comes to commerce development, but that's still only one of many subjects that this book tackles, most of which are designed to get you on the ground running before needing to resort to supplementary material.
As an aside, from a coordinating standpoint, this book is a marvel. Content was contributed from 15 separate authors and yet continuity is practically a non-issue.
The Not-So-GoodTypos. Oy vey. It's like getting a buddy to lend you his Ferrari, only to discover that there's a little bit of bird crap on the windshield that nobody can wipe off. Nice car, shame about the bird crap. Now, this book isn't horribly bad for it, but you shouldn't be surprised to find the odd error at the rate of one or two per chapter, usually in the form of an incorrect diagram symbol here or there or a formatting character that didn't quite translate into a code listing. Not too bad, but it's enough to be a mentionable problem. The Wrox people were good about putting up an errata page, but, unfortunately, it's empty. This may speak to the fact that the intended audience are hackers who can probably figure out the problem for themselves anyway.
Then there's the timeliness factor. This is a review of the first edition, which came out in September 2000, and it's unfortunate that with all the new technologies coming out (Bonobo, KParts, Mono, etc.) there isn't a second edition in the works as of yet. As such, people hoping to find useful information on programming with the more volatile APIs (specifically the GUI stuff) might want to look elsewhere. The information in this area isn't completely obsolete, just not as cutting edge as it was when the book first came out. Most of the other chapters are still current, and had this review been done near the publication date, the rating would easily be a 9 out of 10. That it still merits a review at this point, after being out for almost a year and a half, hopefully says something.
There's also the fact that even though this book contains so much, it doesn't really act as a definitive reference in any area that it describes. For instance, I was toying with the idea of making a code mangler for an XML-type language, so the chapter on Flex and Bison had me drooling. It wasn't long after reading it, though, that I found myself needing to go to GNU's Flex website just to get a better listing of all the regular expressions I'd need to use. That's symptomatic of pretty much all the chapters here -- it doesn't take long to outgrow the material when you need to apply it to your personal project. In this sense the title seems misleading; if you wanted to program in some of these areas at a professional level, this book would only be a starting point to another, deeper reference.
The huge breadth of knowledge also makes some omissions seem glaring. There is nothing on Perl or some of the other popular shell languages. Outside of two chapters, C++ is avoided like the plague. The section on deployment using automake is tiny enough that it's practically not there, which is surprising given the amount of time a reader spends churning out source code throughout the rest of the book. There's also a brief section on multimedia that, given the context of the rest of the topics, just feels out of place. Some of these shortcomings are made up in the intended predecessor to this book, Beginning Linux Programming , so you might want to give that book a whirl as well (TCL, BASH, and Perl all get treatment there).
And just to leave no superficial stone unturned, the cover is just awful -- it looks like a police lineup. Although I suspect there's a focus group somewhere that needs to answer for this, maybe it bodes well knowing that, considering the slightly expensive nature of this book, none of that money went into its outer design.
ConclusionThere are some people who aren't going to want to buy this book. Specialists, or people who want to specialize, likely won't get enough of what they want on any of the subjects here. Also, this isn't so much a learning guide that will give you exercises and quizzes, so if you're still at the stage where you need that sort of thing, this book might be a bit rich. If you're hoping for bleeding-edge stuff, wait for a second edition.
Also, it's taken for granted that the reader understands C pretty well, so if you don't, invest some time in that area first.
However, if you've got the fundamentals of Linux programming down pat but don't know where you want to go next, buy this book. If you're a seasoned developer and just need to get the basics of a new area in order to apply it to your ongoing projects, buy this book. If you're a generalist or a hobbyist, buy this book. If you need to design application prototypes for the Linux platform, buy this book. If you want to compare different APIs without having to commit to buying different textbooks, buy this book. If you get off on knowing you can do more Hello Worlds than any of your friends, buy this book. And if you like your references so big and fat that they bend light, buy this book.
Table of Contents Introduction
Chapter 1: Application Design
Chapter 2: Concurrent Versions System (CVS)
Chapter 3: Databases
Chapter 4: PostgreSQL interfacing
Chapter 5: MySQL
Chapter 6: Tackling Bugs
Chapter 7: LDAP Directory Services
Chapter 8: GUI programming with GNOME/GTK+
Chapter 9: GUI Building with Glade and GTK+/GNOME
Chapter 10: Flex and Bison
Chapter 11: Testing Tools
Chapter 12: Secure Programming
Chapter 13: GUI programming with KDE/Qt
Chapter 14: Writing the dvdstore GUI using KDE/Qt
Chapter 15: Python
Chapter 16: Creating Web interfaces with PHP
Chapter 17: Embedding and extending Python with C/C++
Chapter 18: Remote Procedure Calls
Chapter 19: Multi-media and Linux
Chapter 20: CORBA.
Chapter 21: Implementing CORBA with ORBit
Chapter 22: Diskless systems
Chapter 23: XML and libxml
Chapter 24: Beowulf Clusters
Chapter 25: Documentation
Chapter 26: Device Drivers
Chapter 27: Distributing the application
Chapter 28: Internationalization
Appendix A: GTK+/GNOME Object Reference
Appendix B: DVD RPC Protocol Definition
Appendix C: Open Source Licenses
Appendix D: Support, Errata & P2P.Wrox.Com Related Links- Wrox website
- Sample chapter from the book
- Wrox's P2P page for this book
- Linux Journal's Review of this book
- ACCU's Review of this book
You can purchase Professional Linux Programming at Fatbrain. -
Professional Linux Programming
WrinkledShirt contributed this review of a Professional Linux Programming, a tome he says can "bend light" by its sheer size -- 1155 pages of multi-author, multi-language instruction and examples. Read on for his thoughts on the book's shortcomings as well as its strengths, and remember, lift with your knees, not with your back. Professional Linux Programming author Neil Matthew, Richard Stones, et. al. pages 1155 publisher Wrox rating 8 reviewer WrinkledShirt ISBN 1-861003-01-3 summary A brilliant book for anyone wanting to gain new Linux programming skills.
IntroductionLarge programming books have a special sort of gravitational pull to them. It's a sort of siren's song for us techie types, with lyrics promising an endless fountain of information, more than you could ever possibly hope to use, superfluous only in the same way that you don't plan on reading the Encyclopaedia Britannica cover-to-cover anytime soon, either.
Unfortunately, this branch of the publishing industry responsible for these books is well aware of this, and as such there's a veritable critical mass of crap in that corner of the bookstore, some of it reading like blood being squeezed from a stone, with any number of useless chapters thrown in there just to meet some predefined page quota. Which is why it's such a relief to get a book like Professional Linux Programming that's 1155 pages long and contains a ton of material, with very little of it page-filler. Unless you already know it all, there is something valuable in this book for just about every Linux developer out there.
The GoodThis book is loaded. Go straight to the table of contents if you need to see what I mean. The book's sheer ambition almost makes it worth picking up a copy. We need more like this -- not just for Linux, not just for programming, but for computer references in general.
If you've thought about developing for Linux, you've probably rubbed up against the impression that Linux and C go together like a wink and a smile. This book delivers on that impression, and it delivers huge. There are chapters on how to use C with PostgreSQL and MySQL databases, LDAP services, GTK+/Gnome/libglade and Qt/KDE, Flex and Bison, XML, sockets, RPC and CORBA (using ORBit). There are also sections on applied professional development theory, like design, debugging, security, deployment, and encryption.
If C isn't your bag, you might not find as much to get out of this book, but there are still sections on PHP, Python, documentation, package deployment, internationalization and shell database manipulation. Ever wondered how CVS or patching worked? It's in there. There's even material on device drivers and Beowulf clusters. By the end of this book you'll have more than just proof-of-concept familiarity with just about all the topics. For all but the more exotic subjects, you start at the simplest example, and the complexity gets increased with subsequent scenario, until the point where the chapter gets applied to the book's ongoing case study, which is the development of a hypothetical system to track a DVD store's business operations.
To give you an idea about what sort of depth to expect from this book, I'll talk about what it does with PostgreSQL. It shows you how to install it and maintain it from the command line; walks you through how to create basic databases; gets you comfortable with running SQL queries from the command line or scripts from a file; shows you how to interface with it using C (using both libpq functions and embedded techniques); shows you how to handle different kinds of transactions and cursors; talks about bringing it into PHP; and uses PostgreSQL for the core engine for the case study. Now, database work is obviously going to be getting special treatment when it comes to commerce development, but that's still only one of many subjects that this book tackles, most of which are designed to get you on the ground running before needing to resort to supplementary material.
As an aside, from a coordinating standpoint, this book is a marvel. Content was contributed from 15 separate authors and yet continuity is practically a non-issue.
The Not-So-GoodTypos. Oy vey. It's like getting a buddy to lend you his Ferrari, only to discover that there's a little bit of bird crap on the windshield that nobody can wipe off. Nice car, shame about the bird crap. Now, this book isn't horribly bad for it, but you shouldn't be surprised to find the odd error at the rate of one or two per chapter, usually in the form of an incorrect diagram symbol here or there or a formatting character that didn't quite translate into a code listing. Not too bad, but it's enough to be a mentionable problem. The Wrox people were good about putting up an errata page, but, unfortunately, it's empty. This may speak to the fact that the intended audience are hackers who can probably figure out the problem for themselves anyway.
Then there's the timeliness factor. This is a review of the first edition, which came out in September 2000, and it's unfortunate that with all the new technologies coming out (Bonobo, KParts, Mono, etc.) there isn't a second edition in the works as of yet. As such, people hoping to find useful information on programming with the more volatile APIs (specifically the GUI stuff) might want to look elsewhere. The information in this area isn't completely obsolete, just not as cutting edge as it was when the book first came out. Most of the other chapters are still current, and had this review been done near the publication date, the rating would easily be a 9 out of 10. That it still merits a review at this point, after being out for almost a year and a half, hopefully says something.
There's also the fact that even though this book contains so much, it doesn't really act as a definitive reference in any area that it describes. For instance, I was toying with the idea of making a code mangler for an XML-type language, so the chapter on Flex and Bison had me drooling. It wasn't long after reading it, though, that I found myself needing to go to GNU's Flex website just to get a better listing of all the regular expressions I'd need to use. That's symptomatic of pretty much all the chapters here -- it doesn't take long to outgrow the material when you need to apply it to your personal project. In this sense the title seems misleading; if you wanted to program in some of these areas at a professional level, this book would only be a starting point to another, deeper reference.
The huge breadth of knowledge also makes some omissions seem glaring. There is nothing on Perl or some of the other popular shell languages. Outside of two chapters, C++ is avoided like the plague. The section on deployment using automake is tiny enough that it's practically not there, which is surprising given the amount of time a reader spends churning out source code throughout the rest of the book. There's also a brief section on multimedia that, given the context of the rest of the topics, just feels out of place. Some of these shortcomings are made up in the intended predecessor to this book, Beginning Linux Programming , so you might want to give that book a whirl as well (TCL, BASH, and Perl all get treatment there).
And just to leave no superficial stone unturned, the cover is just awful -- it looks like a police lineup. Although I suspect there's a focus group somewhere that needs to answer for this, maybe it bodes well knowing that, considering the slightly expensive nature of this book, none of that money went into its outer design.
ConclusionThere are some people who aren't going to want to buy this book. Specialists, or people who want to specialize, likely won't get enough of what they want on any of the subjects here. Also, this isn't so much a learning guide that will give you exercises and quizzes, so if you're still at the stage where you need that sort of thing, this book might be a bit rich. If you're hoping for bleeding-edge stuff, wait for a second edition.
Also, it's taken for granted that the reader understands C pretty well, so if you don't, invest some time in that area first.
However, if you've got the fundamentals of Linux programming down pat but don't know where you want to go next, buy this book. If you're a seasoned developer and just need to get the basics of a new area in order to apply it to your ongoing projects, buy this book. If you're a generalist or a hobbyist, buy this book. If you need to design application prototypes for the Linux platform, buy this book. If you want to compare different APIs without having to commit to buying different textbooks, buy this book. If you get off on knowing you can do more Hello Worlds than any of your friends, buy this book. And if you like your references so big and fat that they bend light, buy this book.
Table of Contents Introduction
Chapter 1: Application Design
Chapter 2: Concurrent Versions System (CVS)
Chapter 3: Databases
Chapter 4: PostgreSQL interfacing
Chapter 5: MySQL
Chapter 6: Tackling Bugs
Chapter 7: LDAP Directory Services
Chapter 8: GUI programming with GNOME/GTK+
Chapter 9: GUI Building with Glade and GTK+/GNOME
Chapter 10: Flex and Bison
Chapter 11: Testing Tools
Chapter 12: Secure Programming
Chapter 13: GUI programming with KDE/Qt
Chapter 14: Writing the dvdstore GUI using KDE/Qt
Chapter 15: Python
Chapter 16: Creating Web interfaces with PHP
Chapter 17: Embedding and extending Python with C/C++
Chapter 18: Remote Procedure Calls
Chapter 19: Multi-media and Linux
Chapter 20: CORBA.
Chapter 21: Implementing CORBA with ORBit
Chapter 22: Diskless systems
Chapter 23: XML and libxml
Chapter 24: Beowulf Clusters
Chapter 25: Documentation
Chapter 26: Device Drivers
Chapter 27: Distributing the application
Chapter 28: Internationalization
Appendix A: GTK+/GNOME Object Reference
Appendix B: DVD RPC Protocol Definition
Appendix C: Open Source Licenses
Appendix D: Support, Errata & P2P.Wrox.Com Related Links- Wrox website
- Sample chapter from the book
- Wrox's P2P page for this book
- Linux Journal's Review of this book
- ACCU's Review of this book
You can purchase Professional Linux Programming at Fatbrain. -
Professional Linux Programming
WrinkledShirt contributed this review of a Professional Linux Programming, a tome he says can "bend light" by its sheer size -- 1155 pages of multi-author, multi-language instruction and examples. Read on for his thoughts on the book's shortcomings as well as its strengths, and remember, lift with your knees, not with your back. Professional Linux Programming author Neil Matthew, Richard Stones, et. al. pages 1155 publisher Wrox rating 8 reviewer WrinkledShirt ISBN 1-861003-01-3 summary A brilliant book for anyone wanting to gain new Linux programming skills.
IntroductionLarge programming books have a special sort of gravitational pull to them. It's a sort of siren's song for us techie types, with lyrics promising an endless fountain of information, more than you could ever possibly hope to use, superfluous only in the same way that you don't plan on reading the Encyclopaedia Britannica cover-to-cover anytime soon, either.
Unfortunately, this branch of the publishing industry responsible for these books is well aware of this, and as such there's a veritable critical mass of crap in that corner of the bookstore, some of it reading like blood being squeezed from a stone, with any number of useless chapters thrown in there just to meet some predefined page quota. Which is why it's such a relief to get a book like Professional Linux Programming that's 1155 pages long and contains a ton of material, with very little of it page-filler. Unless you already know it all, there is something valuable in this book for just about every Linux developer out there.
The GoodThis book is loaded. Go straight to the table of contents if you need to see what I mean. The book's sheer ambition almost makes it worth picking up a copy. We need more like this -- not just for Linux, not just for programming, but for computer references in general.
If you've thought about developing for Linux, you've probably rubbed up against the impression that Linux and C go together like a wink and a smile. This book delivers on that impression, and it delivers huge. There are chapters on how to use C with PostgreSQL and MySQL databases, LDAP services, GTK+/Gnome/libglade and Qt/KDE, Flex and Bison, XML, sockets, RPC and CORBA (using ORBit). There are also sections on applied professional development theory, like design, debugging, security, deployment, and encryption.
If C isn't your bag, you might not find as much to get out of this book, but there are still sections on PHP, Python, documentation, package deployment, internationalization and shell database manipulation. Ever wondered how CVS or patching worked? It's in there. There's even material on device drivers and Beowulf clusters. By the end of this book you'll have more than just proof-of-concept familiarity with just about all the topics. For all but the more exotic subjects, you start at the simplest example, and the complexity gets increased with subsequent scenario, until the point where the chapter gets applied to the book's ongoing case study, which is the development of a hypothetical system to track a DVD store's business operations.
To give you an idea about what sort of depth to expect from this book, I'll talk about what it does with PostgreSQL. It shows you how to install it and maintain it from the command line; walks you through how to create basic databases; gets you comfortable with running SQL queries from the command line or scripts from a file; shows you how to interface with it using C (using both libpq functions and embedded techniques); shows you how to handle different kinds of transactions and cursors; talks about bringing it into PHP; and uses PostgreSQL for the core engine for the case study. Now, database work is obviously going to be getting special treatment when it comes to commerce development, but that's still only one of many subjects that this book tackles, most of which are designed to get you on the ground running before needing to resort to supplementary material.
As an aside, from a coordinating standpoint, this book is a marvel. Content was contributed from 15 separate authors and yet continuity is practically a non-issue.
The Not-So-GoodTypos. Oy vey. It's like getting a buddy to lend you his Ferrari, only to discover that there's a little bit of bird crap on the windshield that nobody can wipe off. Nice car, shame about the bird crap. Now, this book isn't horribly bad for it, but you shouldn't be surprised to find the odd error at the rate of one or two per chapter, usually in the form of an incorrect diagram symbol here or there or a formatting character that didn't quite translate into a code listing. Not too bad, but it's enough to be a mentionable problem. The Wrox people were good about putting up an errata page, but, unfortunately, it's empty. This may speak to the fact that the intended audience are hackers who can probably figure out the problem for themselves anyway.
Then there's the timeliness factor. This is a review of the first edition, which came out in September 2000, and it's unfortunate that with all the new technologies coming out (Bonobo, KParts, Mono, etc.) there isn't a second edition in the works as of yet. As such, people hoping to find useful information on programming with the more volatile APIs (specifically the GUI stuff) might want to look elsewhere. The information in this area isn't completely obsolete, just not as cutting edge as it was when the book first came out. Most of the other chapters are still current, and had this review been done near the publication date, the rating would easily be a 9 out of 10. That it still merits a review at this point, after being out for almost a year and a half, hopefully says something.
There's also the fact that even though this book contains so much, it doesn't really act as a definitive reference in any area that it describes. For instance, I was toying with the idea of making a code mangler for an XML-type language, so the chapter on Flex and Bison had me drooling. It wasn't long after reading it, though, that I found myself needing to go to GNU's Flex website just to get a better listing of all the regular expressions I'd need to use. That's symptomatic of pretty much all the chapters here -- it doesn't take long to outgrow the material when you need to apply it to your personal project. In this sense the title seems misleading; if you wanted to program in some of these areas at a professional level, this book would only be a starting point to another, deeper reference.
The huge breadth of knowledge also makes some omissions seem glaring. There is nothing on Perl or some of the other popular shell languages. Outside of two chapters, C++ is avoided like the plague. The section on deployment using automake is tiny enough that it's practically not there, which is surprising given the amount of time a reader spends churning out source code throughout the rest of the book. There's also a brief section on multimedia that, given the context of the rest of the topics, just feels out of place. Some of these shortcomings are made up in the intended predecessor to this book, Beginning Linux Programming , so you might want to give that book a whirl as well (TCL, BASH, and Perl all get treatment there).
And just to leave no superficial stone unturned, the cover is just awful -- it looks like a police lineup. Although I suspect there's a focus group somewhere that needs to answer for this, maybe it bodes well knowing that, considering the slightly expensive nature of this book, none of that money went into its outer design.
ConclusionThere are some people who aren't going to want to buy this book. Specialists, or people who want to specialize, likely won't get enough of what they want on any of the subjects here. Also, this isn't so much a learning guide that will give you exercises and quizzes, so if you're still at the stage where you need that sort of thing, this book might be a bit rich. If you're hoping for bleeding-edge stuff, wait for a second edition.
Also, it's taken for granted that the reader understands C pretty well, so if you don't, invest some time in that area first.
However, if you've got the fundamentals of Linux programming down pat but don't know where you want to go next, buy this book. If you're a seasoned developer and just need to get the basics of a new area in order to apply it to your ongoing projects, buy this book. If you're a generalist or a hobbyist, buy this book. If you need to design application prototypes for the Linux platform, buy this book. If you want to compare different APIs without having to commit to buying different textbooks, buy this book. If you get off on knowing you can do more Hello Worlds than any of your friends, buy this book. And if you like your references so big and fat that they bend light, buy this book.
Table of Contents Introduction
Chapter 1: Application Design
Chapter 2: Concurrent Versions System (CVS)
Chapter 3: Databases
Chapter 4: PostgreSQL interfacing
Chapter 5: MySQL
Chapter 6: Tackling Bugs
Chapter 7: LDAP Directory Services
Chapter 8: GUI programming with GNOME/GTK+
Chapter 9: GUI Building with Glade and GTK+/GNOME
Chapter 10: Flex and Bison
Chapter 11: Testing Tools
Chapter 12: Secure Programming
Chapter 13: GUI programming with KDE/Qt
Chapter 14: Writing the dvdstore GUI using KDE/Qt
Chapter 15: Python
Chapter 16: Creating Web interfaces with PHP
Chapter 17: Embedding and extending Python with C/C++
Chapter 18: Remote Procedure Calls
Chapter 19: Multi-media and Linux
Chapter 20: CORBA.
Chapter 21: Implementing CORBA with ORBit
Chapter 22: Diskless systems
Chapter 23: XML and libxml
Chapter 24: Beowulf Clusters
Chapter 25: Documentation
Chapter 26: Device Drivers
Chapter 27: Distributing the application
Chapter 28: Internationalization
Appendix A: GTK+/GNOME Object Reference
Appendix B: DVD RPC Protocol Definition
Appendix C: Open Source Licenses
Appendix D: Support, Errata & P2P.Wrox.Com Related Links- Wrox website
- Sample chapter from the book
- Wrox's P2P page for this book
- Linux Journal's Review of this book
- ACCU's Review of this book
You can purchase Professional Linux Programming at Fatbrain. -
Professional Linux Programming
WrinkledShirt contributed this review of a Professional Linux Programming, a tome he says can "bend light" by its sheer size -- 1155 pages of multi-author, multi-language instruction and examples. Read on for his thoughts on the book's shortcomings as well as its strengths, and remember, lift with your knees, not with your back. Professional Linux Programming author Neil Matthew, Richard Stones, et. al. pages 1155 publisher Wrox rating 8 reviewer WrinkledShirt ISBN 1-861003-01-3 summary A brilliant book for anyone wanting to gain new Linux programming skills.
IntroductionLarge programming books have a special sort of gravitational pull to them. It's a sort of siren's song for us techie types, with lyrics promising an endless fountain of information, more than you could ever possibly hope to use, superfluous only in the same way that you don't plan on reading the Encyclopaedia Britannica cover-to-cover anytime soon, either.
Unfortunately, this branch of the publishing industry responsible for these books is well aware of this, and as such there's a veritable critical mass of crap in that corner of the bookstore, some of it reading like blood being squeezed from a stone, with any number of useless chapters thrown in there just to meet some predefined page quota. Which is why it's such a relief to get a book like Professional Linux Programming that's 1155 pages long and contains a ton of material, with very little of it page-filler. Unless you already know it all, there is something valuable in this book for just about every Linux developer out there.
The GoodThis book is loaded. Go straight to the table of contents if you need to see what I mean. The book's sheer ambition almost makes it worth picking up a copy. We need more like this -- not just for Linux, not just for programming, but for computer references in general.
If you've thought about developing for Linux, you've probably rubbed up against the impression that Linux and C go together like a wink and a smile. This book delivers on that impression, and it delivers huge. There are chapters on how to use C with PostgreSQL and MySQL databases, LDAP services, GTK+/Gnome/libglade and Qt/KDE, Flex and Bison, XML, sockets, RPC and CORBA (using ORBit). There are also sections on applied professional development theory, like design, debugging, security, deployment, and encryption.
If C isn't your bag, you might not find as much to get out of this book, but there are still sections on PHP, Python, documentation, package deployment, internationalization and shell database manipulation. Ever wondered how CVS or patching worked? It's in there. There's even material on device drivers and Beowulf clusters. By the end of this book you'll have more than just proof-of-concept familiarity with just about all the topics. For all but the more exotic subjects, you start at the simplest example, and the complexity gets increased with subsequent scenario, until the point where the chapter gets applied to the book's ongoing case study, which is the development of a hypothetical system to track a DVD store's business operations.
To give you an idea about what sort of depth to expect from this book, I'll talk about what it does with PostgreSQL. It shows you how to install it and maintain it from the command line; walks you through how to create basic databases; gets you comfortable with running SQL queries from the command line or scripts from a file; shows you how to interface with it using C (using both libpq functions and embedded techniques); shows you how to handle different kinds of transactions and cursors; talks about bringing it into PHP; and uses PostgreSQL for the core engine for the case study. Now, database work is obviously going to be getting special treatment when it comes to commerce development, but that's still only one of many subjects that this book tackles, most of which are designed to get you on the ground running before needing to resort to supplementary material.
As an aside, from a coordinating standpoint, this book is a marvel. Content was contributed from 15 separate authors and yet continuity is practically a non-issue.
The Not-So-GoodTypos. Oy vey. It's like getting a buddy to lend you his Ferrari, only to discover that there's a little bit of bird crap on the windshield that nobody can wipe off. Nice car, shame about the bird crap. Now, this book isn't horribly bad for it, but you shouldn't be surprised to find the odd error at the rate of one or two per chapter, usually in the form of an incorrect diagram symbol here or there or a formatting character that didn't quite translate into a code listing. Not too bad, but it's enough to be a mentionable problem. The Wrox people were good about putting up an errata page, but, unfortunately, it's empty. This may speak to the fact that the intended audience are hackers who can probably figure out the problem for themselves anyway.
Then there's the timeliness factor. This is a review of the first edition, which came out in September 2000, and it's unfortunate that with all the new technologies coming out (Bonobo, KParts, Mono, etc.) there isn't a second edition in the works as of yet. As such, people hoping to find useful information on programming with the more volatile APIs (specifically the GUI stuff) might want to look elsewhere. The information in this area isn't completely obsolete, just not as cutting edge as it was when the book first came out. Most of the other chapters are still current, and had this review been done near the publication date, the rating would easily be a 9 out of 10. That it still merits a review at this point, after being out for almost a year and a half, hopefully says something.
There's also the fact that even though this book contains so much, it doesn't really act as a definitive reference in any area that it describes. For instance, I was toying with the idea of making a code mangler for an XML-type language, so the chapter on Flex and Bison had me drooling. It wasn't long after reading it, though, that I found myself needing to go to GNU's Flex website just to get a better listing of all the regular expressions I'd need to use. That's symptomatic of pretty much all the chapters here -- it doesn't take long to outgrow the material when you need to apply it to your personal project. In this sense the title seems misleading; if you wanted to program in some of these areas at a professional level, this book would only be a starting point to another, deeper reference.
The huge breadth of knowledge also makes some omissions seem glaring. There is nothing on Perl or some of the other popular shell languages. Outside of two chapters, C++ is avoided like the plague. The section on deployment using automake is tiny enough that it's practically not there, which is surprising given the amount of time a reader spends churning out source code throughout the rest of the book. There's also a brief section on multimedia that, given the context of the rest of the topics, just feels out of place. Some of these shortcomings are made up in the intended predecessor to this book, Beginning Linux Programming , so you might want to give that book a whirl as well (TCL, BASH, and Perl all get treatment there).
And just to leave no superficial stone unturned, the cover is just awful -- it looks like a police lineup. Although I suspect there's a focus group somewhere that needs to answer for this, maybe it bodes well knowing that, considering the slightly expensive nature of this book, none of that money went into its outer design.
ConclusionThere are some people who aren't going to want to buy this book. Specialists, or people who want to specialize, likely won't get enough of what they want on any of the subjects here. Also, this isn't so much a learning guide that will give you exercises and quizzes, so if you're still at the stage where you need that sort of thing, this book might be a bit rich. If you're hoping for bleeding-edge stuff, wait for a second edition.
Also, it's taken for granted that the reader understands C pretty well, so if you don't, invest some time in that area first.
However, if you've got the fundamentals of Linux programming down pat but don't know where you want to go next, buy this book. If you're a seasoned developer and just need to get the basics of a new area in order to apply it to your ongoing projects, buy this book. If you're a generalist or a hobbyist, buy this book. If you need to design application prototypes for the Linux platform, buy this book. If you want to compare different APIs without having to commit to buying different textbooks, buy this book. If you get off on knowing you can do more Hello Worlds than any of your friends, buy this book. And if you like your references so big and fat that they bend light, buy this book.
Table of Contents Introduction
Chapter 1: Application Design
Chapter 2: Concurrent Versions System (CVS)
Chapter 3: Databases
Chapter 4: PostgreSQL interfacing
Chapter 5: MySQL
Chapter 6: Tackling Bugs
Chapter 7: LDAP Directory Services
Chapter 8: GUI programming with GNOME/GTK+
Chapter 9: GUI Building with Glade and GTK+/GNOME
Chapter 10: Flex and Bison
Chapter 11: Testing Tools
Chapter 12: Secure Programming
Chapter 13: GUI programming with KDE/Qt
Chapter 14: Writing the dvdstore GUI using KDE/Qt
Chapter 15: Python
Chapter 16: Creating Web interfaces with PHP
Chapter 17: Embedding and extending Python with C/C++
Chapter 18: Remote Procedure Calls
Chapter 19: Multi-media and Linux
Chapter 20: CORBA.
Chapter 21: Implementing CORBA with ORBit
Chapter 22: Diskless systems
Chapter 23: XML and libxml
Chapter 24: Beowulf Clusters
Chapter 25: Documentation
Chapter 26: Device Drivers
Chapter 27: Distributing the application
Chapter 28: Internationalization
Appendix A: GTK+/GNOME Object Reference
Appendix B: DVD RPC Protocol Definition
Appendix C: Open Source Licenses
Appendix D: Support, Errata & P2P.Wrox.Com Related Links- Wrox website
- Sample chapter from the book
- Wrox's P2P page for this book
- Linux Journal's Review of this book
- ACCU's Review of this book
You can purchase Professional Linux Programming at Fatbrain. -
Professional Linux Programming
WrinkledShirt contributed this review of a Professional Linux Programming, a tome he says can "bend light" by its sheer size -- 1155 pages of multi-author, multi-language instruction and examples. Read on for his thoughts on the book's shortcomings as well as its strengths, and remember, lift with your knees, not with your back. Professional Linux Programming author Neil Matthew, Richard Stones, et. al. pages 1155 publisher Wrox rating 8 reviewer WrinkledShirt ISBN 1-861003-01-3 summary A brilliant book for anyone wanting to gain new Linux programming skills.
IntroductionLarge programming books have a special sort of gravitational pull to them. It's a sort of siren's song for us techie types, with lyrics promising an endless fountain of information, more than you could ever possibly hope to use, superfluous only in the same way that you don't plan on reading the Encyclopaedia Britannica cover-to-cover anytime soon, either.
Unfortunately, this branch of the publishing industry responsible for these books is well aware of this, and as such there's a veritable critical mass of crap in that corner of the bookstore, some of it reading like blood being squeezed from a stone, with any number of useless chapters thrown in there just to meet some predefined page quota. Which is why it's such a relief to get a book like Professional Linux Programming that's 1155 pages long and contains a ton of material, with very little of it page-filler. Unless you already know it all, there is something valuable in this book for just about every Linux developer out there.
The GoodThis book is loaded. Go straight to the table of contents if you need to see what I mean. The book's sheer ambition almost makes it worth picking up a copy. We need more like this -- not just for Linux, not just for programming, but for computer references in general.
If you've thought about developing for Linux, you've probably rubbed up against the impression that Linux and C go together like a wink and a smile. This book delivers on that impression, and it delivers huge. There are chapters on how to use C with PostgreSQL and MySQL databases, LDAP services, GTK+/Gnome/libglade and Qt/KDE, Flex and Bison, XML, sockets, RPC and CORBA (using ORBit). There are also sections on applied professional development theory, like design, debugging, security, deployment, and encryption.
If C isn't your bag, you might not find as much to get out of this book, but there are still sections on PHP, Python, documentation, package deployment, internationalization and shell database manipulation. Ever wondered how CVS or patching worked? It's in there. There's even material on device drivers and Beowulf clusters. By the end of this book you'll have more than just proof-of-concept familiarity with just about all the topics. For all but the more exotic subjects, you start at the simplest example, and the complexity gets increased with subsequent scenario, until the point where the chapter gets applied to the book's ongoing case study, which is the development of a hypothetical system to track a DVD store's business operations.
To give you an idea about what sort of depth to expect from this book, I'll talk about what it does with PostgreSQL. It shows you how to install it and maintain it from the command line; walks you through how to create basic databases; gets you comfortable with running SQL queries from the command line or scripts from a file; shows you how to interface with it using C (using both libpq functions and embedded techniques); shows you how to handle different kinds of transactions and cursors; talks about bringing it into PHP; and uses PostgreSQL for the core engine for the case study. Now, database work is obviously going to be getting special treatment when it comes to commerce development, but that's still only one of many subjects that this book tackles, most of which are designed to get you on the ground running before needing to resort to supplementary material.
As an aside, from a coordinating standpoint, this book is a marvel. Content was contributed from 15 separate authors and yet continuity is practically a non-issue.
The Not-So-GoodTypos. Oy vey. It's like getting a buddy to lend you his Ferrari, only to discover that there's a little bit of bird crap on the windshield that nobody can wipe off. Nice car, shame about the bird crap. Now, this book isn't horribly bad for it, but you shouldn't be surprised to find the odd error at the rate of one or two per chapter, usually in the form of an incorrect diagram symbol here or there or a formatting character that didn't quite translate into a code listing. Not too bad, but it's enough to be a mentionable problem. The Wrox people were good about putting up an errata page, but, unfortunately, it's empty. This may speak to the fact that the intended audience are hackers who can probably figure out the problem for themselves anyway.
Then there's the timeliness factor. This is a review of the first edition, which came out in September 2000, and it's unfortunate that with all the new technologies coming out (Bonobo, KParts, Mono, etc.) there isn't a second edition in the works as of yet. As such, people hoping to find useful information on programming with the more volatile APIs (specifically the GUI stuff) might want to look elsewhere. The information in this area isn't completely obsolete, just not as cutting edge as it was when the book first came out. Most of the other chapters are still current, and had this review been done near the publication date, the rating would easily be a 9 out of 10. That it still merits a review at this point, after being out for almost a year and a half, hopefully says something.
There's also the fact that even though this book contains so much, it doesn't really act as a definitive reference in any area that it describes. For instance, I was toying with the idea of making a code mangler for an XML-type language, so the chapter on Flex and Bison had me drooling. It wasn't long after reading it, though, that I found myself needing to go to GNU's Flex website just to get a better listing of all the regular expressions I'd need to use. That's symptomatic of pretty much all the chapters here -- it doesn't take long to outgrow the material when you need to apply it to your personal project. In this sense the title seems misleading; if you wanted to program in some of these areas at a professional level, this book would only be a starting point to another, deeper reference.
The huge breadth of knowledge also makes some omissions seem glaring. There is nothing on Perl or some of the other popular shell languages. Outside of two chapters, C++ is avoided like the plague. The section on deployment using automake is tiny enough that it's practically not there, which is surprising given the amount of time a reader spends churning out source code throughout the rest of the book. There's also a brief section on multimedia that, given the context of the rest of the topics, just feels out of place. Some of these shortcomings are made up in the intended predecessor to this book, Beginning Linux Programming , so you might want to give that book a whirl as well (TCL, BASH, and Perl all get treatment there).
And just to leave no superficial stone unturned, the cover is just awful -- it looks like a police lineup. Although I suspect there's a focus group somewhere that needs to answer for this, maybe it bodes well knowing that, considering the slightly expensive nature of this book, none of that money went into its outer design.
ConclusionThere are some people who aren't going to want to buy this book. Specialists, or people who want to specialize, likely won't get enough of what they want on any of the subjects here. Also, this isn't so much a learning guide that will give you exercises and quizzes, so if you're still at the stage where you need that sort of thing, this book might be a bit rich. If you're hoping for bleeding-edge stuff, wait for a second edition.
Also, it's taken for granted that the reader understands C pretty well, so if you don't, invest some time in that area first.
However, if you've got the fundamentals of Linux programming down pat but don't know where you want to go next, buy this book. If you're a seasoned developer and just need to get the basics of a new area in order to apply it to your ongoing projects, buy this book. If you're a generalist or a hobbyist, buy this book. If you need to design application prototypes for the Linux platform, buy this book. If you want to compare different APIs without having to commit to buying different textbooks, buy this book. If you get off on knowing you can do more Hello Worlds than any of your friends, buy this book. And if you like your references so big and fat that they bend light, buy this book.
Table of Contents Introduction
Chapter 1: Application Design
Chapter 2: Concurrent Versions System (CVS)
Chapter 3: Databases
Chapter 4: PostgreSQL interfacing
Chapter 5: MySQL
Chapter 6: Tackling Bugs
Chapter 7: LDAP Directory Services
Chapter 8: GUI programming with GNOME/GTK+
Chapter 9: GUI Building with Glade and GTK+/GNOME
Chapter 10: Flex and Bison
Chapter 11: Testing Tools
Chapter 12: Secure Programming
Chapter 13: GUI programming with KDE/Qt
Chapter 14: Writing the dvdstore GUI using KDE/Qt
Chapter 15: Python
Chapter 16: Creating Web interfaces with PHP
Chapter 17: Embedding and extending Python with C/C++
Chapter 18: Remote Procedure Calls
Chapter 19: Multi-media and Linux
Chapter 20: CORBA.
Chapter 21: Implementing CORBA with ORBit
Chapter 22: Diskless systems
Chapter 23: XML and libxml
Chapter 24: Beowulf Clusters
Chapter 25: Documentation
Chapter 26: Device Drivers
Chapter 27: Distributing the application
Chapter 28: Internationalization
Appendix A: GTK+/GNOME Object Reference
Appendix B: DVD RPC Protocol Definition
Appendix C: Open Source Licenses
Appendix D: Support, Errata & P2P.Wrox.Com Related Links- Wrox website
- Sample chapter from the book
- Wrox's P2P page for this book
- Linux Journal's Review of this book
- ACCU's Review of this book
You can purchase Professional Linux Programming at Fatbrain. -
The Digital Divas vs. Microsoft
The Digital Divas are devoted to helping women get together to learn from each other in the world of Web design. More than that, the Divas organize Grey Day, an annual effort to spotlight the dangers of unlicensed copyright use and plagiarism on the Web. And, oh yes -- it appears that Microsoft has stolen their trademark.Founded in 1997, the Digital Divas have grown to a membership of 71 women around the world. In addition to championing copyright enforcement, they also provide a free, member-written digital newsletter that provides Web-design help and advice.
In April, Microsoft launched a Web site at Digitaldiva.com that features a woman named Stacy Elliott giving advice to women on how to use the Internet and computer technology. This is all very corporate, and is not the community effort set up by the Digital Divas. For example, Microsoft provides marketing information on their target audience right off of the Digital Diva site.
The Digital Divas aren't rolling in cash. Thankfully, the lawyers at Moses & Singer wrote a pro bono cease and desist letter to Microsoft, but Microsoft's site still remains up and active.
Dana Whitmire, founder and 'Fearless Leader' of the Digital Divas, is mad as hell. "The whole thing makes me very angry, and it's frustrating. We've worked very hard to build a sound reputation and a good group, and I think we've done a good job. It's extremely infuriating that Microsoft comes along and takes the name with their power, money and PR machine behind them and the possibility that they can just run over us and undo everything we've done."
At first glance, it seems as if the problem could be purely accidental. However, research into the Digital Divas name shows a staggering number of Web sites and resources run by members of the Digital Divas. So, Dana, what are the chances that this could be a simple mistake? "We feel the chances are virtually nil. If anyone searched any search engine, there is no possible way they they could not have found us. We've grown steadily, and this is something that we've done with just elbow grease, pure and simple. It's all been very grassroots. We don't have a big publicity machine behind us. This has been the individual members pouring heart and soul into it."
Microsoft has responded to the cease and desist letter sent by the Digital Divas, informing the Divas that they didn't feel that 'Digital Diva' was a trademarkable term, according to Digital Diva and Attorney Faith Kaminski. "Our response to them has been showing them that we've had continuous use of the name dating from 1997, and it includes printouts from Network Solutions, and E-mails dating back to November of 1997."
Meanwhile, Microsoft is stepping up the appearance schedule of Stacy Elliott, their own Digital Diva. The 'original' Divas are angry not only for the alleged trademark violation, but also because of the way in which Stacy Elliott presents herself, and the name Digital Diva. Stacy Elliot's recent interview at siliconvalley.com got the Divas in an uproar. "She's just continuing her stance that women are such idiots when it comes to computers, that we're so afraid of them," Dana said in an interview yesterday, "It's really, really, condescending. ... The damage that we're suffering is that damage to our reputation. Our reputation is not for being a bunch of women who are idiots about computers. Our reputation is being people who are very computer-savvy, and this woman is trashing that by going around saying 'I'm a Digital Diva, and all women are morons.'"
Remember, it costs nothing to join the Digital Divas. It's a free organization. There's not a lot of money lying around to support a legal fight. Dana Whitmire has a day job. The organization exists because of the goodwill and volunteerism of talented people, not as the fruit of a vast payroll account. The good news is that Friends of Ed, Ltd., a division of Wrox Press, is publishing 'The Digital Divas Design Guide,' a real-world book with Web-design advice. Wrox Press heard about the legal issues that the Divas are involved in, and offered them a $10,000 advance to pay for legal fees. Moses & Singer agreed to match that amount with services, and will be fighting for the Divas all the way up through a preliminary injunction hearing against Microsoft.
Well, what's next? The Digital Divas have written back to Microsoft with a mountain of evidence that they've been around since 1997, and expect to see a response from Microsoft by noon today, Wednesday, May 31st. Thanks to the dynamic nature of the Web, expect to see this story updated with new information about this legal battle.
-
Review:Beginning Linux Programming
Mike Hostetler has graciously taken the time and energy to send a review of Neil Matthew and Richard Stones' Beginning Linux Programming. The title isn't quite what it would seem, so if you want more info, click below. Beginning Linux Programming author Neil Matthew and Richard Stones pages publisher Wrox Press rating 6.5/10 reviewer Mike Hostetler ISBN 1-874416-68-0 summary A good sharpen-your-skills-book REVIEW: Beginning Linux Programming Neil Matthew and Richard Stones (Wrox Press, ISBN 1-874416-68-0)
Nutshell
Review: A good sharpen-your-skills-book
Rating: 6.5/10
reviewed by Mike Hostetler (home) The ScenarioI bought Beginning Linux Programming in an effort to sharpen my pathetic C skills. The book touchs all sorts of subjects like TCL, CGI, and HTML, but mainly is introducing C programming in the UNIX environment - exec, pipes, redirects, threads, sockets, and, yes, even semaphores.
What's Bad?Beginning Linux Programming was an ambitous effort from the beginning - the point was to touch on each subject but not get too bogged down on details. That, I think, is it's biggest downfall. The book gives a simple example of each idea and then goes on to the next concept. Naturally, the focus of the book is not to give you a deep understanding of each and every concept, but it definitely made me hungry for more.
Also, the word "beginning" in the title is misleading. In most people's thinking, "beginning" would mean "just learning how to program." However, this books already assumes you have some (but not great) knowledge of C. You will not learn how to program in C from this book. However, you will learn how to program different UNIX concepts in C.
What's Good?This is one of the most readable Linux/UNIX books I have ever read. Matthew and Stone are good writers and good explainers. And they know their subject matter - no doubt about that. Also, there is a plethora of code in this book - lots of examples to go by. And, for the lazy ones, all the code is downloadable from the Wrox web site.
So What's In It For Me?If you are like me and have pathetic C programming skills and want to improve them, then this is a must. If you know C well but just want to learn how to program in the UNIX environment, then this book probably isn't for you. If you already know C and UNIX programming, then don't bother - you won't get anything out of it.
If you are interested in purchasing this book, and supporting Slashdot, head over to this Amazon page and pick it up.
Summary of Contents- Development Tools
- Shell
- Files
- Terminals
- Curses
- Unix Environment
- Databases
- Processes and Signals
- Pipes
- IPC Shared Memory/Semaphors/Messages
- Sockets
- UNIX Development Tools
- Debugging and Optimizing
- X Windows Programming
- Tcl/Tk Programming
- Programming the Internet - HTML
- Programming the Internet - CGI
- The FSF and GNU Project
- Getting Started with Linux
- Internet Resources