Domain: blockstackers.com
Stories and comments across the archive that link to blockstackers.com.
Stories · 89
-
Writing Apache Modules with Perl and C
Thanks to darrn chamberlain for an excellent review of the Lincoln Stein and Doug MacEachern book Writing Apache Modules with Perl and C. This is an excellent book for those considering working with Apache and mod_perl, and helpful for C programmers. Click below for more details. Writing Apache Modules with Perl and C author Li pages 724 publisher O'Reilly, ISBN: 156592567X rating 9.5/10 reviewer darren chamberlain ISBN summary Absolutely essential for anyone who is considering using Apache and mod_perl. C programmers may need more. The ScenarioIf you're like me, your first introduction to Perl [?] was in the form of CGI [?] scripts. A few years ago, I inherited a few dozen ancient CGI scripts (Perl and otherwise) that required Immediate Attention. CGI led to Perl, and to Apache [?] ; Perl and Apache led, naturally enough, to mod_perl [?] , once I started hitting the performance bottlenecks inherenent in CGI programming. After researching mod_perl, building a mod_perl-enalbed Apache, and reading all the available online documentation, I got it up and running--and I was suitably impressed.
So, when O'Reilly [?] announced a book devoted to programming Apache with Perl, I was extremely excited. The book starts with an introduction and history of web programming, introduces CGI and other types of web programming (server API [?] 's, such as ISAPI and NSAPI; embedded processors, such as mod_perl, mod_dtcl, and mod_pyapache; FastCGI; Java [?] servlets [?] ; ActiveX [?] ; and client-side scripting languages, such as VBScript [?] and JavaScript [?] ), and then describes the Apache module architecture, using some simple examples ("Hello, World" in Perl and in C). Then it gets good, covering dynamically generated content; the hobgoblin of HTTP, state; and all the other stuff that gives CGI programmer nightmares (like authentication and authorization).
What's Bad?Although the title reads '... with Perl and C', the emphasis is very obviously on Perl. The C API reference chapters (chapters 10 and 11, pages 505 through 631) are very thorough, but almost all the examples are in Perl only. In fact, the authors go so far as to recommend that almost all Apache modules be written in Perl, and not C, except for very small modules or modules that need that extra speed boost or small memory footprint of being compiled into the server (page 13: "Anything you can do with the C API you can do with mod_perl with less fuss and bother."). Their reasoning is sound: mod_perl modules and scripts require a server restart at most, and often not even that, while for C modules, Apache itself must be recompiled; but I was expecting more in this area, perhaps a larger section on using DSO. After the book was published, however, several of the Perl-only examples were ported to the C API, and are available for download.
A few of these examples have already been published, and in these cases the book is mostly redundant. Notably, the Apache::NavBar module (which Lincoln uses on the server in his lab) and the Apache::AdBlocker module (chapters 4 and 7), appeared in The Perl Journal last year (issues 12 and 11). This is not that big a deal, since both of these modules are incredibly useful and probably deserve to be published in a few more places, but two brand new modules would have been most welcome, especially since the book's target audience probably also reads The Perl Journal.
What's Good?There's a lot to like here. Since I'm a Perl programmer by trade and disposition, I personally liked the fact that 99.9% of the examples were written in Perl. With only a few exceptions, the modules could be copied into the right locations and run immediately; the exceptions were the modules that made use of either other programs (Chapter 5's Hangman program which uses a relational database to store state information) or specialized Apache features (Chapter 7's Apache::AdBlocker module, which requires proxy functionality).
Much of the text and all of the source code is available on the web at www.modperl.com. Chapters 6, 7, 8, and 9 can be found on the web site for the book, as can all the Perl modules and some of the examples in functional form (Apache::Magic and hangman).
Chapter 9 is the key chapter, and the heart of the book. It describes in great detail all the Apache:: modules. If you use mod_perl at all, download and print this chapter. Memorize it. Use your favorite indexing script to make it searchable. Everything you need to know about mod_perl is here in this chapter.
The appendices are also excellent, although, because it is an Apache book, I would have figured that several of the sections would be regular chapters, and not relegated to the end. The appendices are divided pretty evenly between concentrating on Perl and on C, unlike most of the rest of the book.
So What's In It For Me?Fortunately for people like me, there is a lot of information about mod_perl on the web; The Perl Journal has had several articles on it, WebMonkey has had an article or two, and so on. There is a comprehensive mod_perl developer's guide on the offical Apache/Perl site. Lincoln Stein uses it a lot on his site and in his software. And, of course, we have the man pages and perldocs. So why do we need a book?
A few reasons. First and foremost, few of those sources go into the kind of detail that this book does, while still being approachable. Second, the book focuses on Apache, programming Apache, and (to a lesser extent) programming applications on the web; Perl and C are the means here, not the end. The in-depth technical discussions are about Apache: how it translates URI's to filenames, how it handles subrequests and internal redirects, how it maps files to MIME types. It then presents techniques for usurping these functions, customizing each phase of the reponse process, and explains when and why you would want to do this, instead of letting Apache do it's own thing. Creating checksums on the fly, compressing and decompressing data, creating extremely flexible HTML preprocessors, and modifying outgoing and incoming headers are some just some of the given examples.
The reference chapters are probably the single most valuable thing about the book. If you are a Perl programmer on a budget, you can download chapter 9 from the web site, but the C programmers out there have to buy the book to get the C API refernce. The C reference is 2 chapters (126 pages) long, and covers all the functions in precise detail.
For those among you who are using Microsoft operating systems, the book pays special attention to building, installing, and configuring mod_perl and Apache on Win32 systems, where it is different from Unix and Unix-like systems. Most of the actual modules are very similar (except for the obvious ones, such as scripts that call sendmail and the scripts that access MySQL), but the installation and building of mod_perl (or ApacheModulePerl.dll) are very different. The process is described in enough detail to make it possible, without boring those readers to whom it is irrelevant.
ConclusionProgramming Apache/mod_perl without this book is like writing Perl without the camel book. It can be done, but it is much easier and more enjoyable with the book. The writing is clear, informative, straight-forward, and, at times, amusing. The authors are the definitive sources for information on mod_perl and CGI programming, and this is reflected in every aspect of the book. While not as definitive for C programmers, it is still the best Apache API reference out there, other than the actual source code itself.
Purchase this book at Amazon.
Errata Table of Contents- Server-Side Programming with Apache
- A First Module
- The Apache Module Architecture and API
- Content Handlers
- Maintaining State
- Authentication and Authorization
- Other Request Phases
- Customizing the Apache Configuration Process
- Perl API Reference Guide
- C API Reference Guide, Part I
- API Reference Guide, Part II
- Standard Noncore Modules
- Building and Installing mod_perl
- Building Multifile C API Modules
- Apache:: Modules Available on CPAN
- Third-Party C Modules
- HTML::Embperl--Embedding Perl Code in HTML
-
Writing Apache Modules with Perl and C
Thanks to darrn chamberlain for an excellent review of the Lincoln Stein and Doug MacEachern book Writing Apache Modules with Perl and C. This is an excellent book for those considering working with Apache and mod_perl, and helpful for C programmers. Click below for more details. Writing Apache Modules with Perl and C author Li pages 724 publisher O'Reilly, ISBN: 156592567X rating 9.5/10 reviewer darren chamberlain ISBN summary Absolutely essential for anyone who is considering using Apache and mod_perl. C programmers may need more. The ScenarioIf you're like me, your first introduction to Perl [?] was in the form of CGI [?] scripts. A few years ago, I inherited a few dozen ancient CGI scripts (Perl and otherwise) that required Immediate Attention. CGI led to Perl, and to Apache [?] ; Perl and Apache led, naturally enough, to mod_perl [?] , once I started hitting the performance bottlenecks inherenent in CGI programming. After researching mod_perl, building a mod_perl-enalbed Apache, and reading all the available online documentation, I got it up and running--and I was suitably impressed.
So, when O'Reilly [?] announced a book devoted to programming Apache with Perl, I was extremely excited. The book starts with an introduction and history of web programming, introduces CGI and other types of web programming (server API [?] 's, such as ISAPI and NSAPI; embedded processors, such as mod_perl, mod_dtcl, and mod_pyapache; FastCGI; Java [?] servlets [?] ; ActiveX [?] ; and client-side scripting languages, such as VBScript [?] and JavaScript [?] ), and then describes the Apache module architecture, using some simple examples ("Hello, World" in Perl and in C). Then it gets good, covering dynamically generated content; the hobgoblin of HTTP, state; and all the other stuff that gives CGI programmer nightmares (like authentication and authorization).
What's Bad?Although the title reads '... with Perl and C', the emphasis is very obviously on Perl. The C API reference chapters (chapters 10 and 11, pages 505 through 631) are very thorough, but almost all the examples are in Perl only. In fact, the authors go so far as to recommend that almost all Apache modules be written in Perl, and not C, except for very small modules or modules that need that extra speed boost or small memory footprint of being compiled into the server (page 13: "Anything you can do with the C API you can do with mod_perl with less fuss and bother."). Their reasoning is sound: mod_perl modules and scripts require a server restart at most, and often not even that, while for C modules, Apache itself must be recompiled; but I was expecting more in this area, perhaps a larger section on using DSO. After the book was published, however, several of the Perl-only examples were ported to the C API, and are available for download.
A few of these examples have already been published, and in these cases the book is mostly redundant. Notably, the Apache::NavBar module (which Lincoln uses on the server in his lab) and the Apache::AdBlocker module (chapters 4 and 7), appeared in The Perl Journal last year (issues 12 and 11). This is not that big a deal, since both of these modules are incredibly useful and probably deserve to be published in a few more places, but two brand new modules would have been most welcome, especially since the book's target audience probably also reads The Perl Journal.
What's Good?There's a lot to like here. Since I'm a Perl programmer by trade and disposition, I personally liked the fact that 99.9% of the examples were written in Perl. With only a few exceptions, the modules could be copied into the right locations and run immediately; the exceptions were the modules that made use of either other programs (Chapter 5's Hangman program which uses a relational database to store state information) or specialized Apache features (Chapter 7's Apache::AdBlocker module, which requires proxy functionality).
Much of the text and all of the source code is available on the web at www.modperl.com. Chapters 6, 7, 8, and 9 can be found on the web site for the book, as can all the Perl modules and some of the examples in functional form (Apache::Magic and hangman).
Chapter 9 is the key chapter, and the heart of the book. It describes in great detail all the Apache:: modules. If you use mod_perl at all, download and print this chapter. Memorize it. Use your favorite indexing script to make it searchable. Everything you need to know about mod_perl is here in this chapter.
The appendices are also excellent, although, because it is an Apache book, I would have figured that several of the sections would be regular chapters, and not relegated to the end. The appendices are divided pretty evenly between concentrating on Perl and on C, unlike most of the rest of the book.
So What's In It For Me?Fortunately for people like me, there is a lot of information about mod_perl on the web; The Perl Journal has had several articles on it, WebMonkey has had an article or two, and so on. There is a comprehensive mod_perl developer's guide on the offical Apache/Perl site. Lincoln Stein uses it a lot on his site and in his software. And, of course, we have the man pages and perldocs. So why do we need a book?
A few reasons. First and foremost, few of those sources go into the kind of detail that this book does, while still being approachable. Second, the book focuses on Apache, programming Apache, and (to a lesser extent) programming applications on the web; Perl and C are the means here, not the end. The in-depth technical discussions are about Apache: how it translates URI's to filenames, how it handles subrequests and internal redirects, how it maps files to MIME types. It then presents techniques for usurping these functions, customizing each phase of the reponse process, and explains when and why you would want to do this, instead of letting Apache do it's own thing. Creating checksums on the fly, compressing and decompressing data, creating extremely flexible HTML preprocessors, and modifying outgoing and incoming headers are some just some of the given examples.
The reference chapters are probably the single most valuable thing about the book. If you are a Perl programmer on a budget, you can download chapter 9 from the web site, but the C programmers out there have to buy the book to get the C API refernce. The C reference is 2 chapters (126 pages) long, and covers all the functions in precise detail.
For those among you who are using Microsoft operating systems, the book pays special attention to building, installing, and configuring mod_perl and Apache on Win32 systems, where it is different from Unix and Unix-like systems. Most of the actual modules are very similar (except for the obvious ones, such as scripts that call sendmail and the scripts that access MySQL), but the installation and building of mod_perl (or ApacheModulePerl.dll) are very different. The process is described in enough detail to make it possible, without boring those readers to whom it is irrelevant.
ConclusionProgramming Apache/mod_perl without this book is like writing Perl without the camel book. It can be done, but it is much easier and more enjoyable with the book. The writing is clear, informative, straight-forward, and, at times, amusing. The authors are the definitive sources for information on mod_perl and CGI programming, and this is reflected in every aspect of the book. While not as definitive for C programmers, it is still the best Apache API reference out there, other than the actual source code itself.
Purchase this book at Amazon.
Errata Table of Contents- Server-Side Programming with Apache
- A First Module
- The Apache Module Architecture and API
- Content Handlers
- Maintaining State
- Authentication and Authorization
- Other Request Phases
- Customizing the Apache Configuration Process
- Perl API Reference Guide
- C API Reference Guide, Part I
- API Reference Guide, Part II
- Standard Noncore Modules
- Building and Installing mod_perl
- Building Multifile C API Modules
- Apache:: Modules Available on CPAN
- Third-Party C Modules
- HTML::Embperl--Embedding Perl Code in HTML
-
Writing Apache Modules with Perl and C
Thanks to darrn chamberlain for an excellent review of the Lincoln Stein and Doug MacEachern book Writing Apache Modules with Perl and C. This is an excellent book for those considering working with Apache and mod_perl, and helpful for C programmers. Click below for more details. Writing Apache Modules with Perl and C author Li pages 724 publisher O'Reilly, ISBN: 156592567X rating 9.5/10 reviewer darren chamberlain ISBN summary Absolutely essential for anyone who is considering using Apache and mod_perl. C programmers may need more. The ScenarioIf you're like me, your first introduction to Perl [?] was in the form of CGI [?] scripts. A few years ago, I inherited a few dozen ancient CGI scripts (Perl and otherwise) that required Immediate Attention. CGI led to Perl, and to Apache [?] ; Perl and Apache led, naturally enough, to mod_perl [?] , once I started hitting the performance bottlenecks inherenent in CGI programming. After researching mod_perl, building a mod_perl-enalbed Apache, and reading all the available online documentation, I got it up and running--and I was suitably impressed.
So, when O'Reilly [?] announced a book devoted to programming Apache with Perl, I was extremely excited. The book starts with an introduction and history of web programming, introduces CGI and other types of web programming (server API [?] 's, such as ISAPI and NSAPI; embedded processors, such as mod_perl, mod_dtcl, and mod_pyapache; FastCGI; Java [?] servlets [?] ; ActiveX [?] ; and client-side scripting languages, such as VBScript [?] and JavaScript [?] ), and then describes the Apache module architecture, using some simple examples ("Hello, World" in Perl and in C). Then it gets good, covering dynamically generated content; the hobgoblin of HTTP, state; and all the other stuff that gives CGI programmer nightmares (like authentication and authorization).
What's Bad?Although the title reads '... with Perl and C', the emphasis is very obviously on Perl. The C API reference chapters (chapters 10 and 11, pages 505 through 631) are very thorough, but almost all the examples are in Perl only. In fact, the authors go so far as to recommend that almost all Apache modules be written in Perl, and not C, except for very small modules or modules that need that extra speed boost or small memory footprint of being compiled into the server (page 13: "Anything you can do with the C API you can do with mod_perl with less fuss and bother."). Their reasoning is sound: mod_perl modules and scripts require a server restart at most, and often not even that, while for C modules, Apache itself must be recompiled; but I was expecting more in this area, perhaps a larger section on using DSO. After the book was published, however, several of the Perl-only examples were ported to the C API, and are available for download.
A few of these examples have already been published, and in these cases the book is mostly redundant. Notably, the Apache::NavBar module (which Lincoln uses on the server in his lab) and the Apache::AdBlocker module (chapters 4 and 7), appeared in The Perl Journal last year (issues 12 and 11). This is not that big a deal, since both of these modules are incredibly useful and probably deserve to be published in a few more places, but two brand new modules would have been most welcome, especially since the book's target audience probably also reads The Perl Journal.
What's Good?There's a lot to like here. Since I'm a Perl programmer by trade and disposition, I personally liked the fact that 99.9% of the examples were written in Perl. With only a few exceptions, the modules could be copied into the right locations and run immediately; the exceptions were the modules that made use of either other programs (Chapter 5's Hangman program which uses a relational database to store state information) or specialized Apache features (Chapter 7's Apache::AdBlocker module, which requires proxy functionality).
Much of the text and all of the source code is available on the web at www.modperl.com. Chapters 6, 7, 8, and 9 can be found on the web site for the book, as can all the Perl modules and some of the examples in functional form (Apache::Magic and hangman).
Chapter 9 is the key chapter, and the heart of the book. It describes in great detail all the Apache:: modules. If you use mod_perl at all, download and print this chapter. Memorize it. Use your favorite indexing script to make it searchable. Everything you need to know about mod_perl is here in this chapter.
The appendices are also excellent, although, because it is an Apache book, I would have figured that several of the sections would be regular chapters, and not relegated to the end. The appendices are divided pretty evenly between concentrating on Perl and on C, unlike most of the rest of the book.
So What's In It For Me?Fortunately for people like me, there is a lot of information about mod_perl on the web; The Perl Journal has had several articles on it, WebMonkey has had an article or two, and so on. There is a comprehensive mod_perl developer's guide on the offical Apache/Perl site. Lincoln Stein uses it a lot on his site and in his software. And, of course, we have the man pages and perldocs. So why do we need a book?
A few reasons. First and foremost, few of those sources go into the kind of detail that this book does, while still being approachable. Second, the book focuses on Apache, programming Apache, and (to a lesser extent) programming applications on the web; Perl and C are the means here, not the end. The in-depth technical discussions are about Apache: how it translates URI's to filenames, how it handles subrequests and internal redirects, how it maps files to MIME types. It then presents techniques for usurping these functions, customizing each phase of the reponse process, and explains when and why you would want to do this, instead of letting Apache do it's own thing. Creating checksums on the fly, compressing and decompressing data, creating extremely flexible HTML preprocessors, and modifying outgoing and incoming headers are some just some of the given examples.
The reference chapters are probably the single most valuable thing about the book. If you are a Perl programmer on a budget, you can download chapter 9 from the web site, but the C programmers out there have to buy the book to get the C API refernce. The C reference is 2 chapters (126 pages) long, and covers all the functions in precise detail.
For those among you who are using Microsoft operating systems, the book pays special attention to building, installing, and configuring mod_perl and Apache on Win32 systems, where it is different from Unix and Unix-like systems. Most of the actual modules are very similar (except for the obvious ones, such as scripts that call sendmail and the scripts that access MySQL), but the installation and building of mod_perl (or ApacheModulePerl.dll) are very different. The process is described in enough detail to make it possible, without boring those readers to whom it is irrelevant.
ConclusionProgramming Apache/mod_perl without this book is like writing Perl without the camel book. It can be done, but it is much easier and more enjoyable with the book. The writing is clear, informative, straight-forward, and, at times, amusing. The authors are the definitive sources for information on mod_perl and CGI programming, and this is reflected in every aspect of the book. While not as definitive for C programmers, it is still the best Apache API reference out there, other than the actual source code itself.
Purchase this book at Amazon.
Errata Table of Contents- Server-Side Programming with Apache
- A First Module
- The Apache Module Architecture and API
- Content Handlers
- Maintaining State
- Authentication and Authorization
- Other Request Phases
- Customizing the Apache Configuration Process
- Perl API Reference Guide
- C API Reference Guide, Part I
- API Reference Guide, Part II
- Standard Noncore Modules
- Building and Installing mod_perl
- Building Multifile C API Modules
- Apache:: Modules Available on CPAN
- Third-Party C Modules
- HTML::Embperl--Embedding Perl Code in HTML
-
Writing Apache Modules with Perl and C
Thanks to darrn chamberlain for an excellent review of the Lincoln Stein and Doug MacEachern book Writing Apache Modules with Perl and C. This is an excellent book for those considering working with Apache and mod_perl, and helpful for C programmers. Click below for more details. Writing Apache Modules with Perl and C author Li pages 724 publisher O'Reilly, ISBN: 156592567X rating 9.5/10 reviewer darren chamberlain ISBN summary Absolutely essential for anyone who is considering using Apache and mod_perl. C programmers may need more. The ScenarioIf you're like me, your first introduction to Perl [?] was in the form of CGI [?] scripts. A few years ago, I inherited a few dozen ancient CGI scripts (Perl and otherwise) that required Immediate Attention. CGI led to Perl, and to Apache [?] ; Perl and Apache led, naturally enough, to mod_perl [?] , once I started hitting the performance bottlenecks inherenent in CGI programming. After researching mod_perl, building a mod_perl-enalbed Apache, and reading all the available online documentation, I got it up and running--and I was suitably impressed.
So, when O'Reilly [?] announced a book devoted to programming Apache with Perl, I was extremely excited. The book starts with an introduction and history of web programming, introduces CGI and other types of web programming (server API [?] 's, such as ISAPI and NSAPI; embedded processors, such as mod_perl, mod_dtcl, and mod_pyapache; FastCGI; Java [?] servlets [?] ; ActiveX [?] ; and client-side scripting languages, such as VBScript [?] and JavaScript [?] ), and then describes the Apache module architecture, using some simple examples ("Hello, World" in Perl and in C). Then it gets good, covering dynamically generated content; the hobgoblin of HTTP, state; and all the other stuff that gives CGI programmer nightmares (like authentication and authorization).
What's Bad?Although the title reads '... with Perl and C', the emphasis is very obviously on Perl. The C API reference chapters (chapters 10 and 11, pages 505 through 631) are very thorough, but almost all the examples are in Perl only. In fact, the authors go so far as to recommend that almost all Apache modules be written in Perl, and not C, except for very small modules or modules that need that extra speed boost or small memory footprint of being compiled into the server (page 13: "Anything you can do with the C API you can do with mod_perl with less fuss and bother."). Their reasoning is sound: mod_perl modules and scripts require a server restart at most, and often not even that, while for C modules, Apache itself must be recompiled; but I was expecting more in this area, perhaps a larger section on using DSO. After the book was published, however, several of the Perl-only examples were ported to the C API, and are available for download.
A few of these examples have already been published, and in these cases the book is mostly redundant. Notably, the Apache::NavBar module (which Lincoln uses on the server in his lab) and the Apache::AdBlocker module (chapters 4 and 7), appeared in The Perl Journal last year (issues 12 and 11). This is not that big a deal, since both of these modules are incredibly useful and probably deserve to be published in a few more places, but two brand new modules would have been most welcome, especially since the book's target audience probably also reads The Perl Journal.
What's Good?There's a lot to like here. Since I'm a Perl programmer by trade and disposition, I personally liked the fact that 99.9% of the examples were written in Perl. With only a few exceptions, the modules could be copied into the right locations and run immediately; the exceptions were the modules that made use of either other programs (Chapter 5's Hangman program which uses a relational database to store state information) or specialized Apache features (Chapter 7's Apache::AdBlocker module, which requires proxy functionality).
Much of the text and all of the source code is available on the web at www.modperl.com. Chapters 6, 7, 8, and 9 can be found on the web site for the book, as can all the Perl modules and some of the examples in functional form (Apache::Magic and hangman).
Chapter 9 is the key chapter, and the heart of the book. It describes in great detail all the Apache:: modules. If you use mod_perl at all, download and print this chapter. Memorize it. Use your favorite indexing script to make it searchable. Everything you need to know about mod_perl is here in this chapter.
The appendices are also excellent, although, because it is an Apache book, I would have figured that several of the sections would be regular chapters, and not relegated to the end. The appendices are divided pretty evenly between concentrating on Perl and on C, unlike most of the rest of the book.
So What's In It For Me?Fortunately for people like me, there is a lot of information about mod_perl on the web; The Perl Journal has had several articles on it, WebMonkey has had an article or two, and so on. There is a comprehensive mod_perl developer's guide on the offical Apache/Perl site. Lincoln Stein uses it a lot on his site and in his software. And, of course, we have the man pages and perldocs. So why do we need a book?
A few reasons. First and foremost, few of those sources go into the kind of detail that this book does, while still being approachable. Second, the book focuses on Apache, programming Apache, and (to a lesser extent) programming applications on the web; Perl and C are the means here, not the end. The in-depth technical discussions are about Apache: how it translates URI's to filenames, how it handles subrequests and internal redirects, how it maps files to MIME types. It then presents techniques for usurping these functions, customizing each phase of the reponse process, and explains when and why you would want to do this, instead of letting Apache do it's own thing. Creating checksums on the fly, compressing and decompressing data, creating extremely flexible HTML preprocessors, and modifying outgoing and incoming headers are some just some of the given examples.
The reference chapters are probably the single most valuable thing about the book. If you are a Perl programmer on a budget, you can download chapter 9 from the web site, but the C programmers out there have to buy the book to get the C API refernce. The C reference is 2 chapters (126 pages) long, and covers all the functions in precise detail.
For those among you who are using Microsoft operating systems, the book pays special attention to building, installing, and configuring mod_perl and Apache on Win32 systems, where it is different from Unix and Unix-like systems. Most of the actual modules are very similar (except for the obvious ones, such as scripts that call sendmail and the scripts that access MySQL), but the installation and building of mod_perl (or ApacheModulePerl.dll) are very different. The process is described in enough detail to make it possible, without boring those readers to whom it is irrelevant.
ConclusionProgramming Apache/mod_perl without this book is like writing Perl without the camel book. It can be done, but it is much easier and more enjoyable with the book. The writing is clear, informative, straight-forward, and, at times, amusing. The authors are the definitive sources for information on mod_perl and CGI programming, and this is reflected in every aspect of the book. While not as definitive for C programmers, it is still the best Apache API reference out there, other than the actual source code itself.
Purchase this book at Amazon.
Errata Table of Contents- Server-Side Programming with Apache
- A First Module
- The Apache Module Architecture and API
- Content Handlers
- Maintaining State
- Authentication and Authorization
- Other Request Phases
- Customizing the Apache Configuration Process
- Perl API Reference Guide
- C API Reference Guide, Part I
- API Reference Guide, Part II
- Standard Noncore Modules
- Building and Installing mod_perl
- Building Multifile C API Modules
- Apache:: Modules Available on CPAN
- Third-Party C Modules
- HTML::Embperl--Embedding Perl Code in HTML
-
Writing Apache Modules with Perl and C
Thanks to darrn chamberlain for an excellent review of the Lincoln Stein and Doug MacEachern book Writing Apache Modules with Perl and C. This is an excellent book for those considering working with Apache and mod_perl, and helpful for C programmers. Click below for more details. Writing Apache Modules with Perl and C author Li pages 724 publisher O'Reilly, ISBN: 156592567X rating 9.5/10 reviewer darren chamberlain ISBN summary Absolutely essential for anyone who is considering using Apache and mod_perl. C programmers may need more. The ScenarioIf you're like me, your first introduction to Perl [?] was in the form of CGI [?] scripts. A few years ago, I inherited a few dozen ancient CGI scripts (Perl and otherwise) that required Immediate Attention. CGI led to Perl, and to Apache [?] ; Perl and Apache led, naturally enough, to mod_perl [?] , once I started hitting the performance bottlenecks inherenent in CGI programming. After researching mod_perl, building a mod_perl-enalbed Apache, and reading all the available online documentation, I got it up and running--and I was suitably impressed.
So, when O'Reilly [?] announced a book devoted to programming Apache with Perl, I was extremely excited. The book starts with an introduction and history of web programming, introduces CGI and other types of web programming (server API [?] 's, such as ISAPI and NSAPI; embedded processors, such as mod_perl, mod_dtcl, and mod_pyapache; FastCGI; Java [?] servlets [?] ; ActiveX [?] ; and client-side scripting languages, such as VBScript [?] and JavaScript [?] ), and then describes the Apache module architecture, using some simple examples ("Hello, World" in Perl and in C). Then it gets good, covering dynamically generated content; the hobgoblin of HTTP, state; and all the other stuff that gives CGI programmer nightmares (like authentication and authorization).
What's Bad?Although the title reads '... with Perl and C', the emphasis is very obviously on Perl. The C API reference chapters (chapters 10 and 11, pages 505 through 631) are very thorough, but almost all the examples are in Perl only. In fact, the authors go so far as to recommend that almost all Apache modules be written in Perl, and not C, except for very small modules or modules that need that extra speed boost or small memory footprint of being compiled into the server (page 13: "Anything you can do with the C API you can do with mod_perl with less fuss and bother."). Their reasoning is sound: mod_perl modules and scripts require a server restart at most, and often not even that, while for C modules, Apache itself must be recompiled; but I was expecting more in this area, perhaps a larger section on using DSO. After the book was published, however, several of the Perl-only examples were ported to the C API, and are available for download.
A few of these examples have already been published, and in these cases the book is mostly redundant. Notably, the Apache::NavBar module (which Lincoln uses on the server in his lab) and the Apache::AdBlocker module (chapters 4 and 7), appeared in The Perl Journal last year (issues 12 and 11). This is not that big a deal, since both of these modules are incredibly useful and probably deserve to be published in a few more places, but two brand new modules would have been most welcome, especially since the book's target audience probably also reads The Perl Journal.
What's Good?There's a lot to like here. Since I'm a Perl programmer by trade and disposition, I personally liked the fact that 99.9% of the examples were written in Perl. With only a few exceptions, the modules could be copied into the right locations and run immediately; the exceptions were the modules that made use of either other programs (Chapter 5's Hangman program which uses a relational database to store state information) or specialized Apache features (Chapter 7's Apache::AdBlocker module, which requires proxy functionality).
Much of the text and all of the source code is available on the web at www.modperl.com. Chapters 6, 7, 8, and 9 can be found on the web site for the book, as can all the Perl modules and some of the examples in functional form (Apache::Magic and hangman).
Chapter 9 is the key chapter, and the heart of the book. It describes in great detail all the Apache:: modules. If you use mod_perl at all, download and print this chapter. Memorize it. Use your favorite indexing script to make it searchable. Everything you need to know about mod_perl is here in this chapter.
The appendices are also excellent, although, because it is an Apache book, I would have figured that several of the sections would be regular chapters, and not relegated to the end. The appendices are divided pretty evenly between concentrating on Perl and on C, unlike most of the rest of the book.
So What's In It For Me?Fortunately for people like me, there is a lot of information about mod_perl on the web; The Perl Journal has had several articles on it, WebMonkey has had an article or two, and so on. There is a comprehensive mod_perl developer's guide on the offical Apache/Perl site. Lincoln Stein uses it a lot on his site and in his software. And, of course, we have the man pages and perldocs. So why do we need a book?
A few reasons. First and foremost, few of those sources go into the kind of detail that this book does, while still being approachable. Second, the book focuses on Apache, programming Apache, and (to a lesser extent) programming applications on the web; Perl and C are the means here, not the end. The in-depth technical discussions are about Apache: how it translates URI's to filenames, how it handles subrequests and internal redirects, how it maps files to MIME types. It then presents techniques for usurping these functions, customizing each phase of the reponse process, and explains when and why you would want to do this, instead of letting Apache do it's own thing. Creating checksums on the fly, compressing and decompressing data, creating extremely flexible HTML preprocessors, and modifying outgoing and incoming headers are some just some of the given examples.
The reference chapters are probably the single most valuable thing about the book. If you are a Perl programmer on a budget, you can download chapter 9 from the web site, but the C programmers out there have to buy the book to get the C API refernce. The C reference is 2 chapters (126 pages) long, and covers all the functions in precise detail.
For those among you who are using Microsoft operating systems, the book pays special attention to building, installing, and configuring mod_perl and Apache on Win32 systems, where it is different from Unix and Unix-like systems. Most of the actual modules are very similar (except for the obvious ones, such as scripts that call sendmail and the scripts that access MySQL), but the installation and building of mod_perl (or ApacheModulePerl.dll) are very different. The process is described in enough detail to make it possible, without boring those readers to whom it is irrelevant.
ConclusionProgramming Apache/mod_perl without this book is like writing Perl without the camel book. It can be done, but it is much easier and more enjoyable with the book. The writing is clear, informative, straight-forward, and, at times, amusing. The authors are the definitive sources for information on mod_perl and CGI programming, and this is reflected in every aspect of the book. While not as definitive for C programmers, it is still the best Apache API reference out there, other than the actual source code itself.
Purchase this book at Amazon.
Errata Table of Contents- Server-Side Programming with Apache
- A First Module
- The Apache Module Architecture and API
- Content Handlers
- Maintaining State
- Authentication and Authorization
- Other Request Phases
- Customizing the Apache Configuration Process
- Perl API Reference Guide
- C API Reference Guide, Part I
- API Reference Guide, Part II
- Standard Noncore Modules
- Building and Installing mod_perl
- Building Multifile C API Modules
- Apache:: Modules Available on CPAN
- Third-Party C Modules
- HTML::Embperl--Embedding Perl Code in HTML
-
Writing Apache Modules with Perl and C
Thanks to darrn chamberlain for an excellent review of the Lincoln Stein and Doug MacEachern book Writing Apache Modules with Perl and C. This is an excellent book for those considering working with Apache and mod_perl, and helpful for C programmers. Click below for more details. Writing Apache Modules with Perl and C author Li pages 724 publisher O'Reilly, ISBN: 156592567X rating 9.5/10 reviewer darren chamberlain ISBN summary Absolutely essential for anyone who is considering using Apache and mod_perl. C programmers may need more. The ScenarioIf you're like me, your first introduction to Perl [?] was in the form of CGI [?] scripts. A few years ago, I inherited a few dozen ancient CGI scripts (Perl and otherwise) that required Immediate Attention. CGI led to Perl, and to Apache [?] ; Perl and Apache led, naturally enough, to mod_perl [?] , once I started hitting the performance bottlenecks inherenent in CGI programming. After researching mod_perl, building a mod_perl-enalbed Apache, and reading all the available online documentation, I got it up and running--and I was suitably impressed.
So, when O'Reilly [?] announced a book devoted to programming Apache with Perl, I was extremely excited. The book starts with an introduction and history of web programming, introduces CGI and other types of web programming (server API [?] 's, such as ISAPI and NSAPI; embedded processors, such as mod_perl, mod_dtcl, and mod_pyapache; FastCGI; Java [?] servlets [?] ; ActiveX [?] ; and client-side scripting languages, such as VBScript [?] and JavaScript [?] ), and then describes the Apache module architecture, using some simple examples ("Hello, World" in Perl and in C). Then it gets good, covering dynamically generated content; the hobgoblin of HTTP, state; and all the other stuff that gives CGI programmer nightmares (like authentication and authorization).
What's Bad?Although the title reads '... with Perl and C', the emphasis is very obviously on Perl. The C API reference chapters (chapters 10 and 11, pages 505 through 631) are very thorough, but almost all the examples are in Perl only. In fact, the authors go so far as to recommend that almost all Apache modules be written in Perl, and not C, except for very small modules or modules that need that extra speed boost or small memory footprint of being compiled into the server (page 13: "Anything you can do with the C API you can do with mod_perl with less fuss and bother."). Their reasoning is sound: mod_perl modules and scripts require a server restart at most, and often not even that, while for C modules, Apache itself must be recompiled; but I was expecting more in this area, perhaps a larger section on using DSO. After the book was published, however, several of the Perl-only examples were ported to the C API, and are available for download.
A few of these examples have already been published, and in these cases the book is mostly redundant. Notably, the Apache::NavBar module (which Lincoln uses on the server in his lab) and the Apache::AdBlocker module (chapters 4 and 7), appeared in The Perl Journal last year (issues 12 and 11). This is not that big a deal, since both of these modules are incredibly useful and probably deserve to be published in a few more places, but two brand new modules would have been most welcome, especially since the book's target audience probably also reads The Perl Journal.
What's Good?There's a lot to like here. Since I'm a Perl programmer by trade and disposition, I personally liked the fact that 99.9% of the examples were written in Perl. With only a few exceptions, the modules could be copied into the right locations and run immediately; the exceptions were the modules that made use of either other programs (Chapter 5's Hangman program which uses a relational database to store state information) or specialized Apache features (Chapter 7's Apache::AdBlocker module, which requires proxy functionality).
Much of the text and all of the source code is available on the web at www.modperl.com. Chapters 6, 7, 8, and 9 can be found on the web site for the book, as can all the Perl modules and some of the examples in functional form (Apache::Magic and hangman).
Chapter 9 is the key chapter, and the heart of the book. It describes in great detail all the Apache:: modules. If you use mod_perl at all, download and print this chapter. Memorize it. Use your favorite indexing script to make it searchable. Everything you need to know about mod_perl is here in this chapter.
The appendices are also excellent, although, because it is an Apache book, I would have figured that several of the sections would be regular chapters, and not relegated to the end. The appendices are divided pretty evenly between concentrating on Perl and on C, unlike most of the rest of the book.
So What's In It For Me?Fortunately for people like me, there is a lot of information about mod_perl on the web; The Perl Journal has had several articles on it, WebMonkey has had an article or two, and so on. There is a comprehensive mod_perl developer's guide on the offical Apache/Perl site. Lincoln Stein uses it a lot on his site and in his software. And, of course, we have the man pages and perldocs. So why do we need a book?
A few reasons. First and foremost, few of those sources go into the kind of detail that this book does, while still being approachable. Second, the book focuses on Apache, programming Apache, and (to a lesser extent) programming applications on the web; Perl and C are the means here, not the end. The in-depth technical discussions are about Apache: how it translates URI's to filenames, how it handles subrequests and internal redirects, how it maps files to MIME types. It then presents techniques for usurping these functions, customizing each phase of the reponse process, and explains when and why you would want to do this, instead of letting Apache do it's own thing. Creating checksums on the fly, compressing and decompressing data, creating extremely flexible HTML preprocessors, and modifying outgoing and incoming headers are some just some of the given examples.
The reference chapters are probably the single most valuable thing about the book. If you are a Perl programmer on a budget, you can download chapter 9 from the web site, but the C programmers out there have to buy the book to get the C API refernce. The C reference is 2 chapters (126 pages) long, and covers all the functions in precise detail.
For those among you who are using Microsoft operating systems, the book pays special attention to building, installing, and configuring mod_perl and Apache on Win32 systems, where it is different from Unix and Unix-like systems. Most of the actual modules are very similar (except for the obvious ones, such as scripts that call sendmail and the scripts that access MySQL), but the installation and building of mod_perl (or ApacheModulePerl.dll) are very different. The process is described in enough detail to make it possible, without boring those readers to whom it is irrelevant.
ConclusionProgramming Apache/mod_perl without this book is like writing Perl without the camel book. It can be done, but it is much easier and more enjoyable with the book. The writing is clear, informative, straight-forward, and, at times, amusing. The authors are the definitive sources for information on mod_perl and CGI programming, and this is reflected in every aspect of the book. While not as definitive for C programmers, it is still the best Apache API reference out there, other than the actual source code itself.
Purchase this book at Amazon.
Errata Table of Contents- Server-Side Programming with Apache
- A First Module
- The Apache Module Architecture and API
- Content Handlers
- Maintaining State
- Authentication and Authorization
- Other Request Phases
- Customizing the Apache Configuration Process
- Perl API Reference Guide
- C API Reference Guide, Part I
- API Reference Guide, Part II
- Standard Noncore Modules
- Building and Installing mod_perl
- Building Multifile C API Modules
- Apache:: Modules Available on CPAN
- Third-Party C Modules
- HTML::Embperl--Embedding Perl Code in HTML
-
Writing Apache Modules with Perl and C
Thanks to darrn chamberlain for an excellent review of the Lincoln Stein and Doug MacEachern book Writing Apache Modules with Perl and C. This is an excellent book for those considering working with Apache and mod_perl, and helpful for C programmers. Click below for more details. Writing Apache Modules with Perl and C author Li pages 724 publisher O'Reilly, ISBN: 156592567X rating 9.5/10 reviewer darren chamberlain ISBN summary Absolutely essential for anyone who is considering using Apache and mod_perl. C programmers may need more. The ScenarioIf you're like me, your first introduction to Perl [?] was in the form of CGI [?] scripts. A few years ago, I inherited a few dozen ancient CGI scripts (Perl and otherwise) that required Immediate Attention. CGI led to Perl, and to Apache [?] ; Perl and Apache led, naturally enough, to mod_perl [?] , once I started hitting the performance bottlenecks inherenent in CGI programming. After researching mod_perl, building a mod_perl-enalbed Apache, and reading all the available online documentation, I got it up and running--and I was suitably impressed.
So, when O'Reilly [?] announced a book devoted to programming Apache with Perl, I was extremely excited. The book starts with an introduction and history of web programming, introduces CGI and other types of web programming (server API [?] 's, such as ISAPI and NSAPI; embedded processors, such as mod_perl, mod_dtcl, and mod_pyapache; FastCGI; Java [?] servlets [?] ; ActiveX [?] ; and client-side scripting languages, such as VBScript [?] and JavaScript [?] ), and then describes the Apache module architecture, using some simple examples ("Hello, World" in Perl and in C). Then it gets good, covering dynamically generated content; the hobgoblin of HTTP, state; and all the other stuff that gives CGI programmer nightmares (like authentication and authorization).
What's Bad?Although the title reads '... with Perl and C', the emphasis is very obviously on Perl. The C API reference chapters (chapters 10 and 11, pages 505 through 631) are very thorough, but almost all the examples are in Perl only. In fact, the authors go so far as to recommend that almost all Apache modules be written in Perl, and not C, except for very small modules or modules that need that extra speed boost or small memory footprint of being compiled into the server (page 13: "Anything you can do with the C API you can do with mod_perl with less fuss and bother."). Their reasoning is sound: mod_perl modules and scripts require a server restart at most, and often not even that, while for C modules, Apache itself must be recompiled; but I was expecting more in this area, perhaps a larger section on using DSO. After the book was published, however, several of the Perl-only examples were ported to the C API, and are available for download.
A few of these examples have already been published, and in these cases the book is mostly redundant. Notably, the Apache::NavBar module (which Lincoln uses on the server in his lab) and the Apache::AdBlocker module (chapters 4 and 7), appeared in The Perl Journal last year (issues 12 and 11). This is not that big a deal, since both of these modules are incredibly useful and probably deserve to be published in a few more places, but two brand new modules would have been most welcome, especially since the book's target audience probably also reads The Perl Journal.
What's Good?There's a lot to like here. Since I'm a Perl programmer by trade and disposition, I personally liked the fact that 99.9% of the examples were written in Perl. With only a few exceptions, the modules could be copied into the right locations and run immediately; the exceptions were the modules that made use of either other programs (Chapter 5's Hangman program which uses a relational database to store state information) or specialized Apache features (Chapter 7's Apache::AdBlocker module, which requires proxy functionality).
Much of the text and all of the source code is available on the web at www.modperl.com. Chapters 6, 7, 8, and 9 can be found on the web site for the book, as can all the Perl modules and some of the examples in functional form (Apache::Magic and hangman).
Chapter 9 is the key chapter, and the heart of the book. It describes in great detail all the Apache:: modules. If you use mod_perl at all, download and print this chapter. Memorize it. Use your favorite indexing script to make it searchable. Everything you need to know about mod_perl is here in this chapter.
The appendices are also excellent, although, because it is an Apache book, I would have figured that several of the sections would be regular chapters, and not relegated to the end. The appendices are divided pretty evenly between concentrating on Perl and on C, unlike most of the rest of the book.
So What's In It For Me?Fortunately for people like me, there is a lot of information about mod_perl on the web; The Perl Journal has had several articles on it, WebMonkey has had an article or two, and so on. There is a comprehensive mod_perl developer's guide on the offical Apache/Perl site. Lincoln Stein uses it a lot on his site and in his software. And, of course, we have the man pages and perldocs. So why do we need a book?
A few reasons. First and foremost, few of those sources go into the kind of detail that this book does, while still being approachable. Second, the book focuses on Apache, programming Apache, and (to a lesser extent) programming applications on the web; Perl and C are the means here, not the end. The in-depth technical discussions are about Apache: how it translates URI's to filenames, how it handles subrequests and internal redirects, how it maps files to MIME types. It then presents techniques for usurping these functions, customizing each phase of the reponse process, and explains when and why you would want to do this, instead of letting Apache do it's own thing. Creating checksums on the fly, compressing and decompressing data, creating extremely flexible HTML preprocessors, and modifying outgoing and incoming headers are some just some of the given examples.
The reference chapters are probably the single most valuable thing about the book. If you are a Perl programmer on a budget, you can download chapter 9 from the web site, but the C programmers out there have to buy the book to get the C API refernce. The C reference is 2 chapters (126 pages) long, and covers all the functions in precise detail.
For those among you who are using Microsoft operating systems, the book pays special attention to building, installing, and configuring mod_perl and Apache on Win32 systems, where it is different from Unix and Unix-like systems. Most of the actual modules are very similar (except for the obvious ones, such as scripts that call sendmail and the scripts that access MySQL), but the installation and building of mod_perl (or ApacheModulePerl.dll) are very different. The process is described in enough detail to make it possible, without boring those readers to whom it is irrelevant.
ConclusionProgramming Apache/mod_perl without this book is like writing Perl without the camel book. It can be done, but it is much easier and more enjoyable with the book. The writing is clear, informative, straight-forward, and, at times, amusing. The authors are the definitive sources for information on mod_perl and CGI programming, and this is reflected in every aspect of the book. While not as definitive for C programmers, it is still the best Apache API reference out there, other than the actual source code itself.
Purchase this book at Amazon.
Errata Table of Contents- Server-Side Programming with Apache
- A First Module
- The Apache Module Architecture and API
- Content Handlers
- Maintaining State
- Authentication and Authorization
- Other Request Phases
- Customizing the Apache Configuration Process
- Perl API Reference Guide
- C API Reference Guide, Part I
- API Reference Guide, Part II
- Standard Noncore Modules
- Building and Installing mod_perl
- Building Multifile C API Modules
- Apache:: Modules Available on CPAN
- Third-Party C Modules
- HTML::Embperl--Embedding Perl Code in HTML
-
Ender's Shadow
Probably a good number of you have read Ender's Game, an amazing science-fiction novel by Orson Scott Card [?] . That book was followed by a seris of books starring Ender, the main character from Ender's Game. Now Card is taking us back to the time of the first book and telling the story again through different eyes. Thanks to J. Patrick Narkinsky and boog3r for writing review of the new book Ender's Shadow Ender's Shadow author Orson Scott Card pages 380 publisher To rating 9/10 reviewer dave@lpb.net & patrick@freeware.org ISBN summary Card's latest in the Ender Saga details the life of Bean J. Patrick Narkinsky's ReviewLike most geeks of my age, I greatly enjoyed the book Ender's Game by Orson Scott Card. This book describes the story of a child (named Ender) who is selected at the age of six for special training to lead an army against an alien species. Ender, like most geeks, experienced profound isolation from most of his contemporaries -- in part because of his exceptional intelligence.
Ender's Game was followed by three sequels. None of the sequels were as good as the original; in them, Ender lost his edge and became a relatively moderate man rather than a brilliant child. Because of this, I was frankly not expecting much from Card's latest attempt. Especially Since Ender's Shadow does something that is almost unprecedented in fiction: it re-tells the events of Ender's Game from the perspective of a relatively minor character in Ender's Game.
My first thought when I heard the premise of this book was "Oh no... Card has turned into another Piers Anthony". I thought that Card was probably beating a great story and a good fictional "universe" to death by trying to go to the bank with it too many times.
I was pleasently surprised. While Ender's Shadow recounts the same basic events reported in Ender's Game, it does them in a genuinely fresh manner; from a fresh point of view. When Robert Heinlein tried to retell stories in his later books, the result was always horrible, hackneyed plots. Card has succesfully avoided this pitfall, mainly by adding substantial original material not found in Ender's Game. This book doesn't just try to connect with Ender's Game. It has its own story to tell.
Most importantly, this book is not about Ender Wiggin: it is about Bean. It starts with Bean, as a child of around four ("he thinks") on the streets of Rotterdam. The first section of the book gives us a glimpse of Bean's life as a child, without parents, on the streets of Rotterdam. It is not long before Bean is under mortal danger from an older child on the streets, and is fortunate enought to make his way into Battle School through little more than good luck.
In Battle School, Bean is like a second Ender. He is as bright as Ender. However, unlike Ender, Bean is isolated from the students and in league with the teachers. It is made clear throughout that Bean is the second string; that he is there in case Ender fails and his primary task is often to make sure that Ender does not fail.
This arrangement brings out Card's peculiar genius as writer: writing about brilliant children in a way that is actually reminiscient of what brilliant children have actually experienced. Bean, like most geeks, experiences profound isolation. Yet, somehow he thrives on this. Some of his abilities (for example a remarkable ability for logical induction) remind me of the things which isolated me in my youth.
The bottom line is that I enjoyed Ender's Shadow for the same reasons that I enjoyed Ender's Game: great writing, good plot, and excellent characters. Most of all, like its predecessor, Ender's Shadowreminds me that I am not in fact alone in the memories of my school years; that at least one writer must have experienced the isolation that I felt because he can write about it so well.
Dave Hauser (boog3r)'s ReviewI think the hardest part about writing a review on a good SciFi book is that you can't candidly discuss details on the subject matter. You end up with a nice paradox: How to convince the reader the book was actually good without telling much about the subject matter. You must instead rely upon the delivery and tale-weaving skill of the author while glossing over the details of the first twenty pages of the book for bait.
My experience with Card's writing is not complete, but what stories of his I have managed to read have sent my imagination places few other authors have managed. Heinlein and Card both take my mind and heart for great roller coaster rides through a menagerie of worlds. Ender's Shadow is what you might call a 'synquel' to Ender's Game. It takes the life of Bean and tells the same tale through his eyes. An interesting and very daunting task considering the magnitude of Ender's game. I believe Card delivered with a full platter, maybe out-doing Ender's Game a little too much.
Bean is a small child living in poverty on the streets of a futuristic Rotterdam. He is a boy with an interesting history and an even more interesting future. Facing certain starvation he joins a 'family' comprised of other maligned children formed on the street and rides the wave to a spot in Battle School. While there he learns about, studies and eventually meets and befriends the star of Ender's Game, Ender Wiggin. They unite in a quest to tame Battle School and prepare for a war against the 'Buggers' or Formics, a species of insectoids governed by a hive mind. Throughout the book there are numerous intertwinings, embellishments and explanations of events from Ender's Game; but told from a different viewpoint so as to be completely new. If it has been a while since you have read Ender's Game, much of it will be new and you will find yourself looking for that old, beat up copy you have lying around.
Downs
If anything might be wrong with this book it is the power Card bestows upon Bean. From what you get out of the first book it seems Ender is the main man running the show, he is the commander and the others are subordinates (not to mention good friends). I can't be sure if it was indeed Card's plan to elaborate on Ender's story and place Bean as the glue-holding-everyone-together. In many ways Bean eclipses Ender in certain skills but they both have their own independent strong points.
One thing Card should have incorporated was hyperlinks to corresponding passages between the two books. I'll be looking eagerly for this...
Ups
This book rocks! It paints a whole new picture of a world many of us love and cleans up a canvas that was already subjected to the brush. Card deftly intertwines a new story into an old and meshes them together into a new entity. A lot of work went into cross-referencing the two story lines and then individual quotes. Card even went to the trouble of adding new insight on characters that appear later in the series as having had contact with Bean during his stint on the streets of Rotterdam.
Slants
I admire Card himself through his writings, it warms me to think there are people who try to write without bias on a certain subject when advantage can be taken. If Card is guilty of this commonality I see it mainly as altruism on his part, trying to improve humanity in his small part through his books. One undertone does surface through most of his books: faith or religion. Parts of his stories will almost always have a thought on faith or theology. Sometimes it is educational in nature, rarely is it preachy. More often it enhances and adds to the story where other authors might use it to thump the proverbial soapbox.
In the Future
If Card is willing and imparts upon us a new volume in the Ender Saga, I would love a telling of the political intrigue Demosthenes and Locke play and how Achilles becomes a weak link in the Russian play for power.
Purchase this book at Amazon
-
Doubleclick's Banner Ad Patent
Black Art writes "This Wired Story has information about Doubleclick's new patent on net banner ads. Yet another example that the patent office has lost all touch with reality. " Described as "Method of Delivery, Targeting, and Measuring Advertising Over Networks". Now might be an amusing time to mention that the Free Banner Ad Server AdFu me and some of my cronies have contributed code to (Specifically Nate, Pater and Vroon) should have a patch out soon that you can already see in action on Slashdot: it integrates mod_perl, Adfu & Slash to allow ads to be served without Layers or IFRAMEs. (the old functionality is still in place if anyone needs that, but this way is much faster). Hope it doesn't violate any patents. Note: None of us have ever seen or used any of Doubleclicks stuff ;) -
TMBG
I've been a They Might Be Giants [?] fan for years: some of my fondest memories from High School are ramming around with my best friend with 'Flood' on tape cranked up to ungodly volumes singing along at the top of my lungs. Lincoln and Apollo were great too. Sure, Factory Showroom blew, but recently on a whim I bought 'Then' and finally heard their first real album. All I can say is 'wow'. I've listened to it like 30 times in the last couple weeks (Its disc 2 in my car's CD changer, and its the current album running in xmms). Its simply amazing. My life has been pretty stressful for the last few weeks (with the server move, new code, and assorted business related responsibilities) and this album came along at the right time. Energy. Insight. And those catchy melodies. God what an amazing album. I think I'll go listen to it again. -
An interview with Donald Knuth
shem gave us the hook-up to a review with Donald Knuth [?] . He talks about retiring early from teaching to work on his writing, as well as his on-going project of writing The Art of Computer Programming -
Interview with James Gosling
mypointofview wrote to us with an interesting interview with James Gosling [?] . It's an interesting interview format, similar to Slashdot's style. Good questions about Java, but also the problems of getting Java and Linux to *ahem* play nicely with each other. -
Alan Cox answers even more questions
Mads-Martin writes "Well, it seems as though Alan Cox [?] has been kind enough to answer even more questions then the interview. Look at the September 3 entry. " -
Solar Eclipse, As Seen From Mir
David Schick writes "This cool picture was the Astronomy Picture of the Day from the Goddard Space Flight Center on August 30. Apparently, someone on Mir had a chance to take a snapshot of the solar eclipse over Europe. Kudos to Brian B. Riley on the AMSAT-BB mailing list for finding this cool nugget. " Check out the image archive while you're there. Several little files that meet Rob's First Rule of Art [?] . -
Interview: Alan Cox Answers
Monday we asked you to post questions for Alan Cox. We got so many good ones that only those moderated up to five were sent to him! Alan's answers are as great as you'd expect from one of the world's greatest kernel hackers. Read the full Q&A session below.Phil-14 asks:
Do you think that non-x86 versions of Linux will forever remain on the periphery, or will Linux actually become a force for platform independence?Alan Answers:
The focus of developers is always going to reflect the hardware people have. As non x86 machines become more prevalent the importance of the kernel port will do so. PowerPC for example has gone from being a fringe BeBox project to a major platform.Embedded systems and palmtops are likely to increase the amount of non-x86 linux platforms. The price squeeze is also going to take its tool - there are simpler cheaper processors and in the end that pricing will begin to count big time.
Intel clearly see IA64 eventually replacing x86. It may be in time that the x86 port is viewed in the same way as the 680x0 port. It may also be that IA64 is a turkey, we all run AMD K7's and x86 lives on. Its a guessing game.
asad asks:
Do you see yourself still working on Linux 5 years from now? What about other people on the Kernel mailing list? And do you think the quality of the code people now write for Linux is still up to the standards of the old days ?Alan Answers:
I have no idea what I will be doing in five years. Somehow I suspect it will involve Linux and Red Hat a great deal.The code standards haven't changed much. Linus is very keen on having clean modular and maintainable code. We have ugly code in there, but its mostly in specific drivers and quite frequently coping with ugly hardware.
Linus is picky, but Linus always was picky. Linux is as good as it is because he is prepared to be a right pain about doing things properly.
aheitner asks:
Okay, there's not a Linux hacker on the face of the planet who wouldn't kill to have your job.- - Paid by RHADL.
- - Wake up when you want, work when you want.
- - Go to all the big trade shows.
- - Work with the likes of Linus and all the other regulars.
- - Get free toys (and I mean good toys) like PA-RISC systems from HP and Athlons from AMD.
Alan Answers:
I'm actually paid by the support side of Red Hat not RHAD labs. That might sound strange but if you are selling high end support to people they want to know you have someone to fix the really bizarre, and you also need people who can. So in many ways I'm in support.I did it because it was fun. I'd been doing other free(ish) software stuff like AberMUD before that. I got into Linux to have a better development platform for AberMUD then got side tracked somewhat into hacking the OS.
As for the toys. New toys are fun whether they are expensive or not. The important thing is new. So I had lots of cheaper strange devices I was hacking on before - like the Macintosh 68K port, and Linux 8086.
The advantage of working for Red Hat is much more time than money: So many toys so few hours.
Techno_Jesus asks:
I'm always concerned with redundancy and I think the linux kernel development could benifit from it the same way our servers can. If something were to happen to Linus (albeit very tragic) would you or someone else be able to take the weight that he bears for the kernel development process? I fear that the community is putting all it's eggs in one basket and perhaps you are the only viable replacement.Alan Answers:
It used to be "what happens if Linus gets hit by a bus" now its "What happens if Linus and Alan both get hit by busses". I guess someone like DaveM would take over (yes next years question is "What happens if Linus, Alan and DaveM get ...")Kindjal asks:
How is the whole linux-on-sgi thing going? You were originally the guy behind that....what's your opinion on the sgi embracing linux stuff happening now?Alan Answers:
I was hardly the guy behind it. Dave Miller did the original ground work while at SGI. Ralf Baechle did a lot of the other work along with Miguel de Icaza. Almost all the work I did was on fixing up userspace packages and building install and bootstrap tools.The SGI I had is now in the hands of some other people who are still working on it. There is a lot of work within SGI on the new x86 machines and some work on the mips boxes. Check out oss.sgi.com
Amphigory asks:
I notice here that you were involved in the creation of the nano-x project at some point. What is your opinion on the continued viability of X-Windows? Should the open source community be focusing on developing something better, or is X the best we can hope for?Alan Answers:
Ben Pfaff wrote a library for Debian called Bogl that did basic drawing but was very compact - ideal for non X boot disks. I had a copy of an old Minix library called mini-X and I stuck them together. Alex Holden and others then decided to actually clean it up and make it work usefully.Its good enough to play minesweeper and probably doesn't need much work to be able to use it as say a Mozilla front end or to port gdk (and thus gtk/gnoem) to it.
For most things X11 is far superior. X is bad at some things - notably code size and handling fast 3D games. These are all getting fixed. X is a very flexible framework and there is little wrong with X itself as a system. XFree 4.0 should do a lot to polish up the implementation. Its rarely a good idea to throw out 15+ years of work because it has a few glitches. X is probably relevant to everything but small PDA devices or set top boxes. My interest in Nanogui is with the Psion5/Geofox Linux port where you have very tight storage constraints.
Borg[9 of 9] asks:
Alan, with the upcoming 2.4 kernel is there any work being done to address Linux tcpip performance issues? Is there any plans on making the IP stack multi-threaded and what about the stack spin lock issues on SMP machines?Alan Answers:
DaveM, Alexey Kuznetsov and others have been working on this very hard. It is one reason the 2.3.x tcp/ip is currently a little wobbly. It is however all happening.John Fulmer asks:
I'm a network security person and have always been intrigued by the concept of the 'hardened' BSD kernel (which isn't really THAT hard), and some of the role-based and compartmentalized systems out there.What is the status of the security of Linux' overflows and root hacks) and what do you see as the overall direction, if any, of Linux's security beyond the standard UNIX security model?
Alan Answers:
Ok Linux 2.0 is absolutely traditional. Later 2.0 adds securelevel which gives a little more security at a usability price. Linux 2.2 uses capability sets so you can give processes finer grained rights. You can also revoke rights for all processes which can be useful in higher security environments.There are people playing with role based models on Linux, although not in the mainstream kernel tree. There are also projects like Stackguard designed to catch buffer overflow attacks. Ultimately the only real way to improve security is careful auditing of packages. On the whole this works. Almost no packages that have been audited have future security holes logged against them. The Linux security audit project is the place to get involved with this. Anyone want to audit the perl interpreter ?
emil asks:
While I realize that you might not be completely objective about this question, what do you think of the design of the HURD, as it compares to Linux?I once asked Linus himself this question and he replied in rather annoyed tones that "the HURD is a great academic design that would never work in practice" (or something along those lines).
Richard Stallman has been steadfast in refusing to endorse Linux as the GNU kernel. Does he raise these objections merely for emotional reasons, or does he see the HURD as having real technical advantages to the current monolithic design?
Alan Answers:
HURD is a great concept. Like most great concepts it isnt efficiently implementable I suspect. Hurd is a GNU vision and every project needs some lofty probably unachievable goal.The HURD design is more about Richard Stallman's ideas about how a system should work to promote community than about high perfomance OS design. Linux is a bit more pragmatic about things. We took ideas from the microkernel world (like loadable device drivers) but we didn't take the accompanying partitioning and performance loss.
HURD is a rich flexible environment where the user has a lot of power to say "no I don't like that, I'll write my own code and use it" - even for things like filesystems. Right now HURD is a research project. Maybe one day it will become a useful OS.
Tekmage asks:
How has the multicultural and multilingual participation affected the development of Linux as a whole?Have you begun to see evidence of third-world participation effecting the progress of Linux yet, or is it still in the "hope to see soon" category? What needs to be done/changed to assist in the cross-cultural adoption of Linux? (Unicode?)
When can we expect to see a Linux Universal Translator Engine? :-)
Alan Answers:
We have uf8 unicode support in the kernel for stuff like the console and file names. We have Japanese X11 fonts. Gnome and KDE have a lot of translations although mostly to left to right rendered Western european languages. Its a start.What do you call third world ? Really its a gradation, and also a lot of it is based on perception. I get code and patches from countries as culturally varied as India, and Iran. There is a noticable amount of activity in Brazil, both with the kernel and other packages. The real third world countries don't really yet have the infrastructure to support the Linux development model. Linux helps to give them the tools to create that infrastructure and I am sure in time it will come when I get kernel patches from these countries too.
Developing countries are also in a good position to benefit from the opening of the market. It doesn't matter where I am on the globe providing I have part time connectivity, electricity and computers I can do Linux development work for companies anywhere in the world - this is one of the other great things about my job. If I wanted to move country there are almost no logistical barriers to doing that and continuing to work for Red Hat.
Actually promoting cross cultural adoption of Linux is hard. It has to come from people in those countries. Maybe I can get away with putting together a French language Linux distribution in the UK, but to put together a good distribution for any significantly different culture I think you need to be part of it. I expect a lot of the growth in support for other languages, and cultural needs to come directly from people hacking the code in the countries that need it.
Linux development isnt centralised in Redmond so you can go out and do this. Most of the time we can communicate world wide. Not always. Its really hard sometimes to follow Japanese Linux projects in Europe and the USA. I guess the reverse is probably true.
Next week's interview: Tim O'Reilly
-
Duchovny to Quit X-Files
-
Interview: Ask Alan Cox
If you've been using Linux or reading Slashdot for more than a few months, we don't need to tell you about Alan Cox. (If you are new to Linux and/or Slashdot you can learn more about him here.) Anyway, this is your chance to ask Alan anything you want. Post your question(s) below. Moderators will choose the most interesting ones. Answers will appear Friday. Please try to ask only one question per post. Thanks. -
BOFHcam
-
IETF draft on different IPv4 addressing scheme
skuzbunny writes "The IETF [?] draft The Mathematical Reality of IP Addressing in IPv4 Questions the need for Another IP System of Addressing has some really interesting comments on IPv6 [?] . Quote: "I was indeed successful in the elimination of the problems associated with IP Address Flooding inherent in IPv4 and the complexities of IPv6. In short, small business and single family dwellings can now have the option of having their own private IP Addressing Scheme," " Interesting, particularly if I understand the math correctly. Can anyone who's actually qualified to comment on this comment below? -
IETF draft on different IPv4 addressing scheme
skuzbunny writes "The IETF [?] draft The Mathematical Reality of IP Addressing in IPv4 Questions the need for Another IP System of Addressing has some really interesting comments on IPv6 [?] . Quote: "I was indeed successful in the elimination of the problems associated with IP Address Flooding inherent in IPv4 and the complexities of IPv6. In short, small business and single family dwellings can now have the option of having their own private IP Addressing Scheme," " Interesting, particularly if I understand the math correctly. Can anyone who's actually qualified to comment on this comment below? -
Feature:Thoughts on the Linux Documentation Project
Matt Welsh has written in to talk a bit about the future of a project that he is very familiar with. The LDP [?] has been essential to help newbies (and even experts) learn what they need on their quest to become gurus. Hit the link below to read what Matt has to say about where the project ought to head. The following was written by Matt Welsh , co founder of the LDP Thoughts on the Linux Documentation Project In the last few months, the Linux Documentation Project has been in a bit of a rough spot, and it seems that things have not been moving along as smoothly as they were for the last 5 years. I have seen the latest "LDP Proposal" on the Open Source Writer's Group website, and I have a few thoughts on the current state of the LDP and what should be done to fix it.As the original co-founder and coordinator of the LDP, I did a lot of work to make the project a popular source of Linux documentation. I started the LDP website, moderated the newsgroups, ran the mailing lists, acted as the liason between LDP writers and CD-ROM vendors and paper publishers. So I'd like to share my thoughts about what the LDP needs to get back on track.
In a nutshell, my approach would be minimalistic. I have always found that when organizing a group of volunteers on the Internet, doing less is always better than doing more.
Here's what I mean: The LDP is primarily a vehicle for Linux enthusiasts and developers to share their knowledge about the system with other Linux users. People are motivated to contribute to the LDP because they know that by having their docs on the LDP website, and on many CD-ROM disrtibutions, and even in printed books, that many Linux users are likely to read what they have written. This is much better than burying the docs on a website somewhere and relying on a search engine. The LDP is the de facto standard place for people to go to find out about Linux -- first.
As such, it is *vital* that it is as easy as possible for people to contribute to the LDP. Participation in complex standards processes, voting organizations, or high-traffic mailing lists should never be a requirement. Likewise, the tools used to write LDP docs should be easy to use, widely-available, free, and well-supported.
Ideally, we should allow people to write LDP docs in any format they wish -- but I have found that this makes it quite difficult for the LDP maintainers to publish the docs in a common format. My compromise was to always allow people to contribute docs in plain ASCII, but the preferred tool was Linuxdoc-SGML (now SGML-Tools). SGML-Tools is very easy to use and automatically generates HTML, ASCII, TeX, DVI, PostScript, and texinfo from a single source file. Also, it works with any text editor. Any system which imposes additional responsibilities on authors makes the barrier of entry too high, and people will be less likely to contribute.
Another important aspect of the LDP is that it is vendor-neutral and run by volunteers. For the LDP to be a mouthpiece of a large (or small) Linux distributor or other company would defeat its purpose. I am not suggesting that for The Puffin Group to "take over" the management of the LDP would be a bad thing -- but it is important to make it clear that the LDP is open to contribution by anyone, and is not a closed, privately-run organization motivated by corporate profit concerns. Otherwise, the LDP loses its identity as an open organization which exists to serve the Linux community as a whole.
My strong conviction is that the LDP exists for only two purposes: First, to provide widely-distributed, online publication of Linux documentation (through the website, USENET, and other means). This frees authors from having to concern themselves with making docs available: they simply send the materials to the LDP maintainer and the rest is taken care of. The second purpose is to act as liason between authors and organizations which wish to publish LDP materials on CD-ROM or in print. It is important that LDP authors are represented to publishers in this way -- publishers rarely want to deal with authors individually, but would rather deal with the LDP "as a whole".
There are some pitfalls which I think the LDP needs to be careful of when moving forward:
- Too much bureaucracy. Turning the LDP into a complex organization with offices, roles, voting procedures, and standards does nothing to further the goal of Linux documentation; all it really does is feed the egoes of the people involved. No other successful Linux project requires this level of bueaucratic organization. Keeping things informal makes it easier to move forward and to be flexible in light of change. I have seen too many Linux projects die (or take too long to get any useful work done) because of political infighting based on organizational procedures rather than meaningful technical details.
- Changing tools. Unless there is a compelling, immediate, and inevitable reason why some new documentation format is required, don't waste your time trying to convert all of the docs and educate all of the authors about how to use the new tools. Adopting Linuxdoc-SGML was hard enough in the beginning; it only happened because it was so easy to use and we provided a lot of examples and documentation for the tools themselves. I haven't seen any compelling reasons why DocBook (or any other tool) will make Linux documentation any better. At the very least, accept LDP docs in *both* Linuxdoc-SGML and DocBook indefinitely. Forcing authors to adopt a new tool is the best way to scare people off. The LDP isn't about tools; it's about documentation. Don't let the tools weenies take over.
- Too much -- or too little -- leadership. Leadership in the LDP is really an oxymoron, because the group doesn't need any real leadership. All it needs is someone to work hard maintaining the documentation archives, running mailing lists, posting to USENET, and working with the various paper and electronic publishers who want to redistribute LDP materials. What it also needs is someone who is communicative, open-minded, and clear-headed enough to direct the group's energy towards productive means, rather than endless political discussions. What the LDP doesn't mean is a group of people to overlay a complex organizational structure over something which is essentially a loose-knit collection of enthusiastic writers.
- Using the wrong copyright. My feeling is that the LDP should adopt a *class* a copyright licenses which it will accept for LDP docs, similar to the Open Source Definition. This will allow individuals to select their own preferred copyright license for LDP materials, within a certain range of allowable licenses. Forcing authors to adopt a single license simply means you will have fewer contributors. Some people distrust the GPL, others distrust the BSD license, and still others prefer to craft their own. You need to be flexible enough to accept a range of copyrights from authors.
- Too much planning. Setting out a roadmap for a collection of documents that need to be written is the best way to ensure that nobody will ever write them. Writing docs gets done in bits and spurts, and can look like a pretty big job if someone draws up a big outline for a mega-tome which the LDP plans to work on. The HOWTO project was so successful because people could write as much -- or as little -- as they wanted to on a topic of particular interest to them. So what if it's not organized into a coherent whole? With the aid of indices and search engines, people will eventually find what they're looking for. Also remember that ownership of LDP documents is a lease: if someone fails to maintain or update their document over time, it's perfectly acceptable for someone else to revise it or rewrite it altogether. This happened several times with documents that I originally authored.
In short, I think that the only thing the LDP needs to do to get on track is to retain the essential structure it has had for the last five years. Making things any more complicated will only raise the barrier of entry to new authors, which will eventually cause the project to die out. The LDP worked so well because it took almost no effort for someone to contribute: all they had to do was e-mail me the source for a new HOWTO. As soon as you become embroiled in discussions about new tools and bureaucracies, the LDP stops getting useful work done and starts becoming "yet another overburdened Linux project". My advice is to keep it simple.
I appreciate any comments.
Thanks,
Matt Welsh, mdw@cs.berkeley.edu -
Computer Stupidities
Stephen R. van den Berg writes "Yet another BOFH [?] -relief site: stories about Computer Stupidities compiled by RinkWorks. "What do you mean, other tape? When it said second volume, I just hit enter again.". " -
x10 Foo
So like so many Slashdot readers, I got one of those x10 starter kits that allow remote controlling your lights. Who knew that this was addictive? Since installing the starter kit, I learned that magnavox makes clones of the lamp modules. So I bought a motion detector, a pack of those, and an x10 capable light switch. Now my bathroom detects when I enter and turns the lights on (this is great because I'm almost blind without my glasses, and the morons who designed the duplex decided that a light switch isn't necessary anywhere near the door between my room and the bathroom) plus my Lava Lamps are now controllable via remote controls.The next step is of course computer access. Maybe a gnome panel applet. Or a CGI application (Control-Taco's-Lava-Lamps.com?). It's really all down hill from here. I mean, they sell security cameras. My receiver has a spare RCA video input just waiting. Soon I'll never need to leave my couch- I'll just sit in all my paranoid splendor in complete control of my environment eating corn chips [?] , drinking beer [?] and hacking perl [?] . Probably ought to wait until I get better bandwidth than 56k before I go ahead and donate my legs to science.
-
x10 Foo
So like so many Slashdot readers, I got one of those x10 starter kits that allow remote controlling your lights. Who knew that this was addictive? Since installing the starter kit, I learned that magnavox makes clones of the lamp modules. So I bought a motion detector, a pack of those, and an x10 capable light switch. Now my bathroom detects when I enter and turns the lights on (this is great because I'm almost blind without my glasses, and the morons who designed the duplex decided that a light switch isn't necessary anywhere near the door between my room and the bathroom) plus my Lava Lamps are now controllable via remote controls.The next step is of course computer access. Maybe a gnome panel applet. Or a CGI application (Control-Taco's-Lava-Lamps.com?). It's really all down hill from here. I mean, they sell security cameras. My receiver has a spare RCA video input just waiting. Soon I'll never need to leave my couch- I'll just sit in all my paranoid splendor in complete control of my environment eating corn chips [?] , drinking beer [?] and hacking perl [?] . Probably ought to wait until I get better bandwidth than 56k before I go ahead and donate my legs to science.
-
x10 Foo
So like so many Slashdot readers, I got one of those x10 starter kits that allow remote controlling your lights. Who knew that this was addictive? Since installing the starter kit, I learned that magnavox makes clones of the lamp modules. So I bought a motion detector, a pack of those, and an x10 capable light switch. Now my bathroom detects when I enter and turns the lights on (this is great because I'm almost blind without my glasses, and the morons who designed the duplex decided that a light switch isn't necessary anywhere near the door between my room and the bathroom) plus my Lava Lamps are now controllable via remote controls.The next step is of course computer access. Maybe a gnome panel applet. Or a CGI application (Control-Taco's-Lava-Lamps.com?). It's really all down hill from here. I mean, they sell security cameras. My receiver has a spare RCA video input just waiting. Soon I'll never need to leave my couch- I'll just sit in all my paranoid splendor in complete control of my environment eating corn chips [?] , drinking beer [?] and hacking perl [?] . Probably ought to wait until I get better bandwidth than 56k before I go ahead and donate my legs to science.
-
Slashdot Announcements/T-Shirt Contest Ends
First off, congratulations to Tom Lam and Jim Sproull who are the winners of the Slashdot T-Shirt Design contest. They each get a $100 credit at CopyLeft. The designs will be available in a few weeks (don't worry, we'll announce them), and Tom, please email me an updated URL or your image since your server seems to be down right now and your email is bouncing. Second, I added some new code in the User Preferences: Short Comment Penalty and Long Comment Bonus. It allows you to +1 and -1 comments based on their lengths- nice for filtering out "Me Too" kinda comments. Finally, CowboyNeal, Slashbox poo-bah has notified me that we now have Slashboxes for I, Cringely, LilithFair.org, Myther.com, PBS Online, Dr. Dobb's TechNetCast, and Riva Extreme. So login and play with them if you are interested in these things. -
AOL acquires WinAMP, Spinner, SHOUTcast
-
Responsibility in OS Design
John Martellaro wrote in to plug a double-feature collaboraton collaberation between himself and Del Miller discussing "OS Responsibility". Here is Part I and Part II. Neither say anything earth shattering to your average Slashdotter, but they each say important things very well, and because of that, they are worth reading, and perhaps showing them to the PHBs [?] out there who just might not get it. -
John Carmack on Linux
Jburkholder writes "John Carmack [?] has some complimentary things to say about recent Linux developments, including the lastest Gnome and Matrox open-source drivers. Here's the best quote: -The cool part is that this driver is completely open source. I downloaded the project code, browsed through it a bit, and changed two lines of code to fix the bug. That RULES. -" Comments on the new GLX stuff, CodeWarrior for Linux, and other stuff. Worth a quick read. -
Review:Samba: Integrated UNIX and Windows
Well, after a long wait and fanfare, Kurt has sent a review of John Blair's Samba effort Samba: Integrating UNIX and Windows. If you need to make those two play well together, click below for more information. Samba: Integrated UNIX and Windows author John D. Blair pages publisher Specialized Systems Consultants, Inc. rating 7 reviewer Kurt DeMaagd ISBN summary This book provides in depth detail about installing and configuring Samba. The Scenario John Blair, a member of the Samba development team, tackles the issue of integrating Windows and UNIX machines using Samba. While Samba is best known for allowing a UNIX host to act as a file server for Windows machines, it also includes services for print serving, authentication, name resolution, and other services needed for Windows networks. Blair begins with a discussion of NetBIOS and SMB, the core protocols of Windows networking, but spends a majority of the book going into excrutiating detail about how to install and configure Samba. In addition to general configuration settings, it discusses the necessary configuration settings for approximately 35 different operating systems, including Linux, OS/2, Solaris, many more obscure operating systems.As the preface notes, this is a book primarily for UNIX systems administrators. Since it devotes a large amount of space to configuration parameters and explanation, it is definitely not a book to sit down and read on a lazy Sunday afternoon. If you are an administrator attempting to set up Samba, this is the book for you. If you are looking for a more casual reading experience, you will be quickly bogged down in the configuration details.
What's Bad? This is an extremely dry book that is about as fascinating to read as a man page. Many portions of the book are little more than a paper versions of existing documentation. For everyone who doesn't like to pay for information that is already freely distributed, all of the contents are accessable in the Samba man pages or online at Samba's web site.
What's Good? The chapter detailing the SMB and NetBIOS protocols is an interesting and valuable addition to the book. In a text that devotes a majority of its space to installation and configuration, it provides an interesting insight into the underlying workings of the server. For those who are installing Samba, it provides step-by-step installation and configuration information for a variety of operating systems.
So What's In It For Me? If you need to configure a Samba server, this book is a valuable resource. It provides in depth configuration details and examples for a variety of scenarios.Buy this book at Amazon.
Table of Contents- Introduction
- Windows Networking Protocols
- Downloading and Building Samba
- Components of the Samba Suite
- Global Configuration Options
- Service Configuration Options
- Browser Configuration Options
- Access Control Configuration Examples
- Service Configuration Examples
- Other Tricks and Techniques
- Diagnosing Problems
- The Linux SMB Filesystem
-
Carmack Donates $10k to Mesa
Emil writes wrote in to tell us that that John Carmack [?] has donated $10k to Mesa [?] to assist in the development of optimized 3d drivers for release with Mesa 3.1. Very cool. You can find out more about Id or check out The Mesa Website. Update: 05/13 04:24 by H :In somewhat related news, RealTime wrote to say "Precision Insight (the people funded partly by RedHat?) have made available their design documents for the 3D Direct Rendering Infrastructure for XFree86. The final package will be released under an XFree86 style license. " -
Carmack Donates $10k to Mesa
Emil writes wrote in to tell us that that John Carmack [?] has donated $10k to Mesa [?] to assist in the development of optimized 3d drivers for release with Mesa 3.1. Very cool. You can find out more about Id or check out The Mesa Website. Update: 05/13 04:24 by H :In somewhat related news, RealTime wrote to say "Precision Insight (the people funded partly by RedHat?) have made available their design documents for the 3D Direct Rendering Infrastructure for XFree86. The final package will be released under an XFree86 style license. " -
BSD vs GPL
-
BSD vs GPL
-
Sinclair Does Linux
-
Web-Based Hitchhiker's Guide to the Galaxy
Mike Caprio wrote in to say that there now is a official web-based Hitch Hiker's Guide available. What is strangest to me is the stunning similiarities between it and Everything. Pretty cool. -
Taxing Situations
My taxes are fucked. My income was fairly screwy considering that I had a real job, some cash from that website thing I do, and now another "Real" job with BSI. Factor in student loans, and some consulting and I've got an IRS nightmare that I think even kurt fears. Its really annoying that my taxes are this screwed up, and I still didn't make much money. But the worst part is that I got screwed over by one company (in the losest sense of the term) who still hasn't sent me a my tax info- even though he was required by law to have it here months ago. He didn't even know he needed to do this. What kind of business is this? This bastard has thrown my life into financial limbo. Now I have to file for an extension on my taxes... sitting here in tax pergatory. I hate debt.I wish I had no morals. I'm rarely the sort of person that would considere revenge- I get angry and stomp and yell, but for once I think I'd be justified to do more than throw a tantrum. To bad I'm a wuss. I just burn off steam writing here instead of posting it somewhere less appropriate and really hurting them. God damn morals.
-
Heapin' Helpin' Of Slashdot Notes
A truckload of you have emailed to curse me because you aren't getting emails from the system for lost passwords and new accounts. I'm getting emails from some of my accounts, but not from others, so hopefully I can get this working soon. Probably just switch to Net::SMTP. But wait, thats not all. Hit the link for a big batch of assorted updates pertaining to bug fixes, hardware updates, and new features coming up on Slashdot. Its fun for the whole family assuming your whole family is deranged. Update: 03/10 11:34 by CT : I think email is working again. Hopefully everyone can stop emailing me now *grin*. Update: 03/10 11:55 by CT : The Users Page has been updated- click 'Preferences' to get the first round of Slashdot customization. More hopefully in the next day or 2.Customizable Homepages
Yes thats right, you'll be able to filter on Topic, Author & Section. So if you only want to read Jon Katz articles, or really only like Star Wars stories or something, you'll be able to do that. The real wild card is how much server strain this is going to cause. I'm hoping that this will go live tomorrow (or maybe even later tonight if I can fix some stuff).Even cooler is a coming-rsn feature- ya know the big grey boxes on the right hand side of the homepage? Those will soon be customizable. If anyone has good suggestions for sites to import, let us know. We've done a few sites already (freshmeat obviously, Everything is coming soon). But this will allow you to ignore features, or polls or book reviews entirely, and hopefully provide headlines to a few other sites if you're interested. There also is a user defined box so you can stick bookmarks or something if you want. I've been testing it all day with a link to the Jennicam and GNOME.org and it all seems to be working. We'll probably have that publicly usable by the end of the week. And I have a box with a picture of Dust Puppy for no apparent reason. Its neat.
Hardware
The new hardware is holding up fine. Its load is easily half that of the old box. We'll see how the new dynamic homepage affects this. I think we'll be ok, but if everyone uses the new features, we're gonna need to start load balancing. A dedicated SQL box, and a few load balancing web servers will probably let us handle significant growth, but for now, I'd rather concentrate on just providing all the features I want with the number of hits we're getting. Once I have to start messing with load balancing and massive scalability, I'll have even less time to add actual usability enhancements to the site.Email
Ya, it seems to be busted. I'm working on it. Its a major pain because nobody can get forgotten passwords, and new users aren't able to login at all. Its my #1 priority right now. It might just be me now tho, but I think its working. I get email at 1 of my accounts, but not 2 of the others. Hopefully I'll figure it out soon.Source Release
v0.3 is basically done. Unfortunately Slashdot itself has forked well beyond v0.3. I'm probably gonna release v0.3 anyway. Slashdot is getting so customized for slashdot that its more work to make a clean version of the code for distribution than I care to think about. So much of the code is stuff specifically designed for things we need here, but nobody else would need. The stuff that would be applicable to another site is in the v0.3 tarball (many of you have prereleases already). But I'll probably just bite the bullet and throw it out there in the next couple weeks. My time to work on it has gone from minimal to non-existant.The FTP server is still down. I'm not really planning on putting it back up. The code is downloadable from this directory if you are dying to get it.
New Moderation Stuff
A lot of people had great ideas about how to improve Slashdot moderation. The new beefy server makes it possible for me to consider implementing some of them. We'll see how much juice the current feature roster sucks up- if we've got cycles to spare, I'll try the new stuff out. It'll be optional for people who like the old system, but I think the new system will be a welcome change. More on that later, but I'm really excited about it. I think that this system will provide the best compromise that will allow anyone to say what they want, and anyone to read what they want. But first I gotta finish that homepage crap. -
Quickielanch
Robert Flemming wrote in to say that KDE 1.1pre2 is out. I also noticed that GNOME has 0.99.3 RPMs available now if you're into that. LoCoPuff sent us a link to a CNN article about theWindows Refund that mentions Slashdot and quotes me (cough cough). Nate wrote in to say "Brian Eno's "Oblique Strategies" meet the Everything 2 code in The Oblique Strategies Garden. Indeterminacy=fun. " Robert Dale sent us a parody of Iggy Pop's Lust for Life called Lust For Linux (surprise) For todays Star Wars bits, Alan Shutko sent us a link to pictures of Official Star Wars Legos. And the todays flashback comes from The_Black_Macrame who sent a link to the complete errata list from the original Star Wars. It's an oldie, but a goodie. hangman got bored and decided to trash a DEC 2100 and post pictures. Check it out if you're into computer mutilation. An anonymous reader sent us a link to one image you don't want to see on an ATM. And lastly, jhack sent us a link to a nice little page on painting your mac black if you happen to think that blue color is a bit excessive. The final results are pretty sharp. Now stop reading quickies and go compile your 2.2 kernel.