Tuesday, October 13, 2009

Jonathan Kay: Giving Barack Obama the Nobel peace prize is ridiculous: National Post, Canada

 

I am still trying to figure out why the Nobel Committee gave Barack Obama its annual peace prize. As far as it appears, the award was based on the fact that the U.S. President is a good-natured fellow who people seem to like — and who isn't George W. Bush.

In fact, committee chairman Thorbjoen Jagland didn't really try to pretend otherwise. Consider the committee's stated reasons, along with Mr. Jagland's comments when reporters pressed him to justify Mr. Obama's selection:

"He has created a new international climate."

"One of the first things he did was to go to Cairo to try to reach out to the Muslim world, then to restart the Mideast negotiations, and then he reached out to the rest of the world through international institutions."

"Obama has as president created a new climate in international politics. Multilateral diplomacy has regained a central position, with emphasis on the role that the United Nations and other international institutions can play."

"Obama [has] captured the world's attention and given its people hope for a better future."

What seems clear from all this bafflegab is that Mr. Obama is being given his award for mere words — for striking fashionable poses in favour of multilateralism, for making a nice speech in Cairo, for offering "hope." Months after Americans learned to dismiss Mr. Obama's 2008 presidential campaign slogans as the bromides they were, Scandinavians apparently are still drinking his Kool-aid.

So who should have gotten the Nobel peace prize?

Instead of droning on about "hope" and "a new international climate," a group of people charged with awarding an annual peace prize might find it useful to focus on a more mundane and obvious inquiry. To wit: What part of the planet was beset by bloody war in 2008, but is now entirely at peace?

The only nation that fits the bill is Sri Lanka. And the reason for that is a ruthless military campaign waged by President Mahinda Rajapaksa against a militarized Tamil death cult known as the Tamil Tigers. This conflict has taken nearly 100,000 lives since it began three decades ago. But Rajapaksa ended it definitively at one stroke, killing or capturing virtually the entire Tiger leadership. It is one of the only times in the history of modern warfare that a guerrilla/terrorist movement has been utterly destroyed in such a fashion. Overnight, war became a stranger to Sri Lanka.

Sounds like a pretty good candidate for a "peace" prize, don't you think?

But of course, actually making peace is not what this nominal peace prize is about. It's about going through the motions of pursuing peace in a touchy-feely UN-approved way.
Mr. Rajapaksa has done some fairly nasty things en route to destroying the Tigers — including imprisoning and perhaps even killing pesky journalists and human-rights activists. More importantly (from a Scandinavian point of view), Mr. Rajapaksa committed an unpardonable foreign-policy sin en route to his victory: flouting "multilateralism." Which is to say that he ignored the bien pensant voices from abroad urging him to let the Tigers go just as the Sri Lankan military was about to administer the coup de grace. Had he listened, the war would continue to this day.

It's so much more fashionable to honour a man such as Mr. Obama, whose foreign-policy record hasn't been sullied by the moral trade-offs that inevitably accompany actually doing something to create peace on the battlefield.

Since the entire body of work for which Mr. Obama is being honoured consists of idealistic pronouncements, the Nobel prize committee was able to pick him without worrying that the choice could stir up controversy among umbraged minority groups, Amnesty International, Human Rights Watch, or the UN's various institutional cheerleaders.

With this pick, the Nobel committee has declared itself to be a debating society — and it has given its shiny prize to the nice man who gave the best speech. It's like those beauty pageants wherein the MC asks contestants what they would do to promote world peace. The best answer earns applause, flowers and a trophy. But no one expects the winner to actually go out in her tiara and ballroom gown and stop people from fighting.

That task is left to head-knockers such as Mahinda Rajapaksa, Colombian President Alvaro Uribe, former Israeli Prime Minister Ariel Sharon and Gen. Stanley McChrystal in Afghanistan. Their job is difficult and bloody. But every once in a while, as in Sri Lanka this year, they actually defeat the bad guys.

Then they go home, and turn on their televisions, and watch men such as Mr. Obama get showered with praise for their pretty words.

jkay@nationalpost.com 

Photo:  Barack Obama waves after his speech in front of the Siegessaeule on July 24, 2008 in Berlin, Germany.

Andreas Rentz/Getty Images

Monday, October 12, 2009

Linux Device Drivers, 2nd Edition

Linux Device Drivers, 2nd Edition
By Alessandro Rubini & Jonathan Corbet
2nd Edition June 2001
0-59600-008-1, Order Number: 0081
586 pages, $39.95

Linux Device Drivers, 2nd Edition

Table of Contents

Preface
Chapter 1: An Introduction to Device Drivers
Chapter 2: Building and Running Modules
Chapter 3: Char Drivers
Chapter 4: Debugging Techniques
Chapter 5: Enhanced Char Driver Operations
Chapter 6: Flow of Time
Chapter 7: Getting Hold of Memory
Chapter 8: Hardware Management
Chapter 9: Interrupt Handling
Chapter 10: Judicious Use of Data Types
Chapter 11: kmod and Advanced Modularization
Chapter 12: Loading Block Drivers
Chapter 13: mmap and DMA
Chapter 14: Network Drivers
Chapter 15: Overview of Peripheral Buses
Chapter 16: Physical Layout of the Kernel Source
Bibliography
Index

Find out more Linux Device Drivers books at below links:

The Art of Unix Programming

Eric Steven Raymond

Thyrsus Enterprises

This book and its on-line version are distributed under the terms of the Creative Commons Attribution-NoDerivs 1.0 license, with the additional proviso that the right to publish it on paper for sale or other for-profit use is reserved to Pearson Education, Inc. A reference copy of this license may be found at http://creativecommons.org/licenses/by-nd/1.0/legalcode.

AIX, AS/400, DB/2, OS/2, System/360, MVS, VM/CMS, and IBM PC are trademarks of IBM. Alpha, DEC, VAX, HP-UX, PDP, TOPS-10, TOPS-20, VMS, and VT-100 are trademarks of Compaq. Amiga and AmigaOS are trademarks of Amiga, Inc. Apple, Macintosh, MacOS, Newton, OpenDoc, and OpenStep are trademarks of Apple Computers, Inc. ClearCase is a trademark of Rational Software, Inc. Ethernet is a trademark of 3COM, Inc. Excel, MS-DOS, Microsoft Windows and PowerPoint are trademarks of Microsoft, Inc. Java. J2EE, JavaScript, NeWS, and Solaris are trademarks of Sun Microsystems. SPARC is a trademark of SPARC international. Informix is a trademark of Informix software. Itanium is a trademark of Intel. Linux is a trademark of Linus Torvalds. Netscape is a trademark of AOL. PDF and PostScript are trademarks of Adobe, Inc. UNIX is a trademark of The Open Group.

The photograph of Ken and Dennis in Chapter�2 appears courtesy of Bell Labs/Lucent Technologies.

The epigraph on the Portability chapter is from the Bell System Technical Journal, v57 #6 part 2 (July-Aug. 1978) pp. 2021-2048 and is reproduced with the permission of Bell Labs/Lucent Technologies.

Revision History
Revision 1.019 September 2003esr
This is the content that went to Addison-Wesley's printers.
Revision 0.45 February 2003esr
Release for public review.
Revision 0.322 January 2003esr
First eighteen-chapter draft. Manuscript walkthrough at Chapter 12. Limited release for early reviewers.
Revision 0.22 January 2003esr
First manuscript walkthrough at Chapter 7. Released to Dmitry Kirsanov at AW production.
Revision 0.116 November 2002esr
First DocBook draft, fifteen chapters. Languages rewritten to incorporate lots of feedback. Transparency, Modularity, Multiprogramming, Configuration, Interfaces, Documentation, and Open Source chapters released. Shipped to Mark Taub at AW.
Revision 0.01999esr
Public HTML draft, first four chapters only.

Find out more Unix Programming books at below links:

GTK+/Gnome Application Development

This is the official GNOME programming manual, and is also a printed book available in stores (New Riders Publishing, ISBN 0-7357-0078-8). The book is under a free license. It's in CVS under the GGAD module. The HTML version is here

More information on the book, including errata and an outline, can be found here.

There are some translations of the book; I know several are in progress, but here are the completed translations I know about:

A tarball of the HTML version is here, suitable for browsing offline.

Find out more Application Development books at below links:

KDE 2.0 Development

David Sweet, et al.

Copyright © 2001 by Sams Publishing

This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/).

Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.

No patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained herein.

Library of Congress Catalog Card Number: 99-067972

Printed in the United States of America

First Printing: October 2000

03 02 01 00 4 3 2 1

Trademarks

All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Sams Publishing cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark.

Warning and Disclaimer

Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied. The information provided is on an "as is" basis. The authors and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book.

Find out more KDE 2.0 books at below links:

Knowing Knoppix

The first guide to Knoppix for the complete beginner

Knoppix is an astoundingly clever product. It runs Linux completely from CD. There is no need to install. It bypasses all the software already installed on your PC or laptop. It automatically detects the hardware in your computer, such as video card, sound card, networking, the lot (subject to suitable hardware). When you've finished using Knoppix, simply restart. Your computer will return to your regular system, and it will behave as if nothing has happened. Knoppix is Free Software and open source under the terms of the GNU General Public Licence (GPL).

Knowing Knoppix is a beginner-friendly book designed to help with these situations:
  • You can't start Windows! Disaster? Possibly not. It is often possible to rescue files from crashed Windows computers, even when Windows cannot be started. This guide takes you step by step through the process.
  • You are curious about Linux, and you want to discover what all the fuss is about.
  • You want a useful guide to help you get started.
This is not a "dummies" book. Instead, it is for smart people who want - or need - to run Knoppix for the very first time.

Reviews

Some of the comments we have received (slightly edited):
  • "Amazingly useful, well written and concise" -- Sam Posten, Adjunct Professor, Monmouth University, New Jersey, USA
  • "Easy and educational" -- Mark Repp, Technology Trainer, Port Huron Area School District, USA
  • "Rocks. For the beginner, well written... flows" -- Knoppix Forums
  • "Hats off... an excellent book" -- Knoppix Forums
  • "Top Pick... a great introduction" -- Tech Support Alert

What's new

8 June 05: Added what to do if a printer is not listed in the Add Printer Wizard, or if it fails to respond to a test page.
8 May 05: Important corrections regarding 1) USB drive compatibility and 2) USB 2.0 support.

Requirements

To run Knoppix in full and follow the instructions in Knowing Knoppix, you need:
  • Intel Pentium compatible PC (350 Mhz or faster is the practical minimum).
  • At least 128 Mb RAM.
  • Bootable CD-ROM drive, or any CD-ROM drive plus 1.44 Mb floppy drive.
  • SVGA compatible graphics card.
  • Serial, PS/2 or USB mouse.

Download

Just as Knoppix is free, so is Knowing Knoppix. It is released under the GNU Free Documentation Licence. You are welcome to copy and redistribute it (subject to certain conditions). You will probably want to download the PDF version. The source archive contains the original documents in OpenOffice.org version 1.1.1 (SXW) format. Knowing Knoppix is designed for off-line reading, preferably printed. It is meant to be read as a companion to your PC or laptop, not as part of it. That is why it is offered in PDF format. Please note that the version of Knoppix covered is 3.3, which is a bit dated now. Version 3.3 was the current version when we started writing the book.

Find out more Knoppix books at below links:

The GNU Bash Reference Manual (revised for version 3.2)

Picture of Cover
by Chet Ramey and Brian Fox

Paperback (6"x9"), 204 pages. Revised October 2006.
Retail Price: $29.95 (£19.95 in UK)
ISBN: 0-9541617-7-7


Reviews

This book has received a top-rated review in Linux User and Developer Magazine:
"An essential resource .... the most detailed coverage available for all aspects of Bash" --- Linux User and Developer Magazine (Issue 37, Mar 2004)

About the Book

This manual is the definitive reference for GNU Bash, the standard GNU command-line interpreter. It covers the current major release of Bash (v3.2, revised printing November 2006).

GNU Bash is a complete implementation of the POSIX.2 Bourne shell specification (/bin/sh), with additional features from the C-shell (csh) and Korn shell (ksh).

The authors of this manual, Chet Ramey and Brian Fox, are the original developers of GNU Bash.

You can examine the contents of the printed book here,

For each copy of this manual sold, $1 is donated to the Free Software Foundation.

As of September 2009 the total amount donated to FSF is $2,785 from the sale of this and other books.

This book is published under the GNU Free Documentation License.

Find out more Reference Manuals at below links:

Linux Device Drivers, Third Edition


Linux Device Drivers, Third Edition This is the web site for the Third Edition of Linux Device Drivers, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. For the moment, only the finished PDF files are available; we do intend to make an HTML version and the DocBook source available as well.

This book is available under the terms of the Creative Commons Attribution-ShareAlike 2.0 license. That means that you are free to download and redistribute it. The development of the book was made possible, however, by those who purchase a copy from O'Reilly or elsewhere.

LDD3 is current as of the 2.6.10 kernel. See the LWN 2.6 API changes page for information on subsequent changes.

LDD3 chapter files

Title page PDF
Copyright and credits PDF
Table of Contents PDF
Preface PDF
Chapter 1: An Introduction to Device Drivers PDF
Chapter 2: Building and Running Modules PDF
Chapter 3: Char Drivers PDF
Chapter 4: Debugging Techniques PDF
Chapter 5: Concurrency and Race Conditions PDF
Chapter 6: Advanced Char Driver Operations PDF
Chapter 7: Time, Delays, and Deferred Work PDF
Chapter 8: Allocating Memory PDF
Chapter 9: Communicating with Hardware PDF
Chapter 10: Interrupt Handling PDF
Chapter 11: Data Types in the Kernel PDF
Chapter 12: PCI Drivers PDF
Chapter 13: USB Drivers PDF
Chapter 14: The Linux Device Model PDF
Chapter 15: Memory Mapping and DMA PDF
Chapter 16: Block Drivers PDF
Chapter 17: Network Drivers PDF
Chapter 18: TTY Drivers PDF
Index PDF

Downloads

Also available: Find out more Linux Device Drivers books at below links:

Securing Java

Securing Java

Java has grown by leaps and bounds since its introduction in 1996, and is now among the most popular computing platforms on the planet. Java has evolved and changed so much that at a mere two-years old, our original work, Java Security: Hostile Applets, Holes, and Antidotes, found itself in serious need of revision and expansion. This book is the result of several years of thinking about mobile code and security, and includes many things we have discovered while working on real-world systems with businesses and government agencies. Our goal is to present enough information to help you separate fact from fiction when it comes to mobile code security.

Java has become much more complicated and multifaceted than it was when it was introduced. No longer simply a client-side language for applets, Java can now be found on everything from enterprise application servers to embedded devices like smart cards. We have tried to address security factors from throughout the entire Java range in this book.

We hope this book appeals to geeks and grandmothers alike (not that some grandmothers aren't geeks). Although it gets technical in places, we hope the messages are clear enough that even the casual Web user comes away with a broader understanding of the security issues surrounding mobile code. We kept four groups in mind as we wrote this book: Web users, developers, system administrators, and business decision-makers. Many of the issues of mobile code security cut across these groups. As Java integrates itself into the foundations of electronic commerce, Java security issues take on more urgency.

Java is only one kind of mobile code among many. Other systems immersed in the same security dilemma include ActiveX, JavaScript, and Word Macros. It is essential not to get the wrong message from this book. Our focus on Java is no accident. We believe Java is the most viable mobile code system created to date. Don't believe that through our work we imply that other systems are any more secure than Java. Just the opposite is true.

With the introduction of code signing to Java (in JDK 1.1) and its enhancement with access control (in Java 2), securing Java became much harder. Java's position along the security/functionality tradeoff has moved significantly toward functionality, to the detriment of security. This is good if you want more functionality, which most businesses and developers seem to need, but it is bad if you are charged with managing security risks. Forming an intelligent Java use policy is more important than ever, but doing so is more complicated than it used to be.

The computer field moves so fast that people have begun to refer to Internet time to grapple with its constantly accelerating speed. Three months is a year in Internet time. Java is directly involved in the speed of the field, and has done its share to make things move even more quickly. One tricky aspect of writing a topical book relating to the Web is figuring out when to stop the action. This process can be likened to freeze-framing a picture of a movie. In that sense, this book is a snapshot of Java security. We hope we have succeeded in making it a useful way to learn about Java security. For up-to-date information, see the book's companion Web site at www.rstcorp.com/java-security.html.

As we went to press, Sun Microsystems renamed JDK 1.2 and called it Java 2. We have attempted to use correct version numbers throughout and apologize for any confusion.

Chapter 1, "Mobile Code and Security: Why Java Security Is Important,"," sets the stage with a discussion of the four intended audiences. As Java matures, it is making important inroads into the enterprise world. That means Java security is now as important to business people and system administrators as it is to Web users and Java developers. For the uninitiated, Chapter 1 provides a quick and cursory introduction to Java. Pointers are provided to more through Java texts that cover the ins and outs of the entire Java language in more detail. This is, after all, not a book on Java per se, but is instead a book on Java security. We also spend some time discussing why the once-important distinction between applets and applications has been superceded by concerns about trust. It turns out that under the Java 2 architecture, applets can be completely trusted and applications can be completely untrusted. In fact, every kind of Java code can be doled out different amounts of trust, depending on what the user's policy says. Finally, we cover some other popular forms of mobile code and discuss how their security stacks up against Java. The main purpose of this chapter is to provide some context for the later discussion of Java's critical security implications and to introduce the central idea of the book: weighing the benefits of Java use against the risks.

Chapter 2, "The Base Java Security Model: The Original Applet Sandbox," examines the base Java security model in some detail. As a prelude to our discussion, we introduce four categories of attacks, ranging from the very serious to the merely annoying: system modification, invasion of privacy, denial of service, and antagonism. We then discuss Java's programming-languages approach to security and introduce the three parts of the original applet sandbox. These include the Verifier, the Class Loader Architecture, and the Security Manager. We also introduce the idea that Java security fundamentally relies on ensuring type safety. The base sandbox provides the foundation of Java's new trust-based security model. Starting with a restrictive sandbox for untrusted code, restrictions can be lifted little by little until code takes on complete trust and is awarded full run of the entire system.

Chapter 3, "Beyond the Sandbox: Signed Code and Java 2," examines Java's new trust-based security model. With the addition of code signing in JDK 1.1, Java's security architecture underwent a large shift. Java 2 completed the transformation with the addition of access control. It is now possible to create complex security policy for mobile code written in Java and have the Java system itself enforce the policy. The change certainly affords more power to mobile code than ever before, but it also introduces a major new risk to Java: a human-centered policy management risk. Setting up and managing a mobile code policy will be a complex and error-prone undertaking requiring security experience. JDK 1.1 and Java 2 rest on the notion of trust, which leverages the technological power of code signing. Understanding the new model requires understanding the way code signing and trust interact, and discounting some of the common myths associated with it. Chapter 3 ends with a discussion of stack inspection and the Java 2 code-signing API. (Appendix C, "How to Sign Java Code," is a code-signing tutorial covering Microsoft, Netscape, and Sun's three different code signing schemes.)

Chapter 4, "Malicious Applets: Avoiding a Common Nuisance," begins to discuss what happens when the Java security model is abused by hostile applets. Hostile applets come in two forms: very dangerous attack applets that involve security breaches, and merely annoying malicious applets that are more of a nuisance than anything else. Chapter 4 is all about malicious applets. Malicious applets are quite easy to create, and they are equally easy to find on the Web. Unfortunately, there are just as many unscrupulous individuals on the Net as there are in the rest of the world. Bad guys are more than happy to include Java in their list of offensive weapons. Our mission is to make Java users aware of common classes of attacks.

Chapter 5, "Attack Applets: Exploiting Holes in the Security Model," delves more deeply into the Java security model by focusing attention on some of the well-publicized security holes that have been discovered. This is where our discussion of hostile applets turns more serious. Securing Java is a difficult job, especially when it comes to implementing complicated models. Attack applets have been created in the lab that exploit the holes we discuss. Some of the holes are simple implementation bugs, while others indicate more serious design flaws. The good news is that Sun and other licensees take Java security very seriously and they respond quickly to fix any holes once they are discovered. We think discussing these holes is important since it emphasizes the true nature of computer security.

Chapter 6, "Securing Java: Improvements, Solutions, and Snake Oil," has two overall goals, both of which are meant to impact the Java security situation positively. The first is to suggest some high-level antidotes for Java security concerns that are not tied to particular attacks. Experts in computer security have pointed out several global deficiencies in the Java approach to security. Fixing some of these would certainly improve the model. High-level concerns addressed in Chapter 6 include programming language issues, formal analysis of Java, applet logging, trust, decompilation, applet monitoring, and policy management. Hopefully, some of the high-level concerns we raise will eventually be addressed in the Java platform itself. In the meantime, a number of third-party vendors are eager to help. The second goal of Chapter 6 is to introduce the players briefly and to discuss what risks third-party vendors can and cannot address. The computer security field has its share of snake oil, and complex issues such as mobile code security tend to be easy to exploit. One of our goals is to bring some realism to the table and arm you with the right questions to ask.

If you only read one chapter of this book, read Chapter 7, "Java Security Guidelines: Developing and Using Java More Securely." This chapter presents two sets of guidelines: one for Java developers and one for Java users. Writing security-critical code is not easy, and developers need all the help they can get. We offer 12 rules for writing safer Java. Although the rules get a bit technical, it is worth spending some time to figure them out. By contrast, our guidelines for Java users are simple to understand and follow; in fact, most of them are simply common sense.

Chapter 8, "Java Card Security: How Smart Cards and Java Mix," is devoted to Java on smart cards. We decided to include this chapter since Java Cards are likely to show up in millions of consumer wallets in the next few years. Smart card security is really too big an issue to cover in a single chapter, so we focus primarily on the security impact of putting a Java Virtual Machine on a card. Chapter 8 covers six key questions, including: What is a smart card?, Why put Java on a smart card?, and How does the use of Java impact smart card security?

We conclude by covering some of the challenges to mobile code that remain to be conquered. Chapter 9, "The Future of Java Security: Challenges Facing Mobile Code," presents a concise set of six central lessons we have learned during our time in the Java security trenches. We go on to discuss several open research issues that you're likely to hear about again. Finally, we discuss the notion of security assurance, an important strategy in securing Java.

We hope that this book is both informative and useful. Making intelligent decisions regarding the use of Java (especially in business and other mission-critical systems) requires some knowledge of the current risks. Our goal is to disclose those risks-and countermeasures to curtail them-as clearly and objectively as possible. Armed with the knowledge that we present in this book, Java users, site managers, and business decision-makers can make better Java use policies.


Acknowledgments

This book is a collaborative effort in more ways than one. Not only did the authors work together closely, but we also sought input from many other people. We are grateful for the help we received.

Reliable Software Technologies (www.rstcorp.com) remains a great place to work. The intellectually stimulating environment makes going to work interesting and fun. Many people at RST read drafts of the book or helped in other ways. They include John Viega (intrepid proofreader and co-author of the code-signing tutorial in Appendix C), Tom O'Connor (who also read the entire manuscript more than once and co-wrote the code-signing tutorial), Anup Ghosh (fellow security researcher), Peggy Wallace (travel, anyone?), Lora Kassab (one-time RST intern whose code from the first edition lives on), Jeff Payne (RST's forward-thinking CEO), Jon Beskin, Matt Schmidt, Brad Arkin, Andi Bruno (who herds the marketing cats and makes us be nice), and Jeff Voas (who continues to lead RST's excellent research group by example).

The members of Princeton University's Secure Internet Programming Team (www.cs.princeton.edu/sip) also provided valuable input. Besides wading through several drafts, the Princeton team was responsible for raising many of the key issues in Java security. Special thanks to Drew Dean and Dan Wallach (cofounders of the Princeton team) and Dirk Balfanz. Dan is now a professor at Rice University. Drew is a research scientist at Xerox PARC. Princeton's Computer Science department provides a wonderful environment for discovering and exploring new research topics.

We would also like to thank Tom Cargill, independent consultant and discoverer of two security flaws; David Hopwood, discoverer of several attack applets; Mark LaDue, creator of the Hostile Applets Home Page (keep 'em honest, Mark); Dennis Volpano of the Naval Postgraduate School; Tom Longstaff, research director at the CERT Coordination Center; Roland Schemers, JavaSoft security implementation wizard (who helped with code-signing tool questions); Marianne Mueller, Java developer, security expert, and long-suffering target of press inquiries at JavaSoft; Jim Roskind, Netscape's Java security expert; Andrew Herbert, APM's Chief Scientist in the real Cambridge; Ken Ayer, chip card security manager at Visa; Don Byrd, UMass research associate and careful proofreader of the first edition; Hideyuki Hayashi, who translated the first edition into Japanese (and did an excellent job according to friends at Sumitomo in New York); Kieran Murphy, editor at developer.com; Chuck Howell, now at Mitretek; and Mike Shoffner, Java developer at Prominence Dot Com. Li Gong, security architect at JavaSoft, has been a particularly valuable help, both as a research colleague and as a sane point-of-view at JavaSoft. More power to you, Li.

Wiley's staff did an excellent job shepherding this book through the editing and production process. Special thanks to Marjorie Spencer and Frank Grazioli, who went out of their way to make this project go smoothly. Thanks to Margaret Hendrey for playing fast and loose with extensions (don't tell anybody). Also thanks to the rest of the team at Wiley. Finally, and most importantly, we're grateful to our families for putting up with us while we worked on the book, again. Amy Barley, Jack, and Eli seem to have adjusted to Gary's persistent book-writing. Laura Felten and Claire suspect that Ed's book-writing has become an addiction. Without the support of our families, this book would not have been possible.

Find out more Java books at below links:

EJB Design Patterns


Download the FREE PDF

Download the source code

The job of the EJB developer is constantly challenging, making the task of designing maintainable and scalable systems difficult without a clear set of best practices to follow. It is with this and other concerns in mind that Floyd Marinescu (Director of TheServerSide.com J2EE Community) worked with thousands of J2EE professionals on TheServerSide to put their collective knowledge together in order to build a library of design patterns, strategies, and best practices for EJB design and development.

EJB Design Patterns goes beyond high-level design pattern descriptions into critical EJB-specific implementation issues, illustrated with source code implementations. The book contains a catalog of twenty advanced EJB patterns and provides strategies for mapping application requirements to patterns-driven design, J2EE development best practices, and a collection of EJB tips and strategies, and other topics such as Build-System best practices using Ant, JUnit testing strategies, using Java Data Objects (JDO) as an alternative to entity beans, and more.

EJB Design Patterns Topping Charts

EJB Design Patterns was the #2 book at this years Java One conference, and held the #1 book on amazon.com in the categories of Java, Web Development and Software Design for many weeks.

Find out more EJB  books at below links:

Java Testing and Design


Download the FREE PDF

This book shows how to understand what application you want to write, what strategies are likely to get you there, and then how to measure your level of success. This book offers practical, concrete advice about how to stay in tune with your project and ensure that your products are at least as good as your plans. - Phil Goodwin, Staff Engineer at Sun Microsystems.

Produce scalable, reliable, high-performance Web-enabled applications in Java.

Web infrastructure is everywhere. And yet until this book there was no guide to show how your choices in design, coding, and testing impact the scalability, performance, and functionality of your Web-enabled applications.

Java Testing and Design: From Unit Testing to Automated Web Tests teaches you a fast and efficient method to build production-worthy, scalable, and well performing Web-enabled applications. The techniques, methodology, and tools presented in this book will enable developers, QA technicians, and IT managers to work together to achieve unprecedented productivity in development and test automation.

With Java Testing and Design, you will be prepared for a laundry list of new APIs, protocols, and tools being packed into the next generation of J2EE, .NET, and open-source systems. While these new software libraries, tools, and techniques are a big move forward for all of us, they push us to learn even more technology to turn out complex, highly functional, and interoperable software applications.

Author Frank Cohen shares proven best practices based on his extensive experience at leading enterprises (General Motors, BEA, AMP, 2Wire, Elsevier, U.S. Navy, Sun) and delivers an immediately useful set of open-source tools, techniques, and code that will automate the testing of your Web-enabled applications.

Coverage includes:

  • Software development and test automation methodologies
  • Exposes the scalability problems in SOAP-based Web Services
  • Building, testing, and monitoring integrated multiple-protocol Web-enabled applications
  • Performance kits for developers using BEA WebLogic, IBM WebSphere, and Sun Java System (formerly Sun ONE)
  • Architecture, code, and test agents for J2EE, Web Services, P2P, and .NET
  • Secure Internet services using current and next-generation technologies and much more!

Book Review of Java Testing and Design

Bart Thompson walks you through some of the key topics covered in Java Testing and Design.

"This book is an excellent guide to testing Web applications and Web services. I expect it will benefit all readers, from software developers or QA techs just getting started, through to the experienced coders and testers. The book took me past the basic stuff you learn in books on Java development and gives you the practical experience, tips and knowledge I needed to deliver software that scales and is reliable."
Find out more Java Testing and Design books at below links:

The J2EE Architect's Handbook


Download the FREE PDF

Description:

"The J2EE Architect's Handbook can justifiably be considered to be the "bible" for J2EE based application designers and project managers." -- The Midwest Book Review (7/2/2004).

"Derek Ashmore has assembled a 'must have' book for anyone working with Java and/or J2EE applications." -- Dan Hotka, Author/Instructor

"The J2EE Architect's Handbook is a must have for experienced architects and budding designers alike. It is concise, to the point, and packed with real world code examples that reinforce each concept. Today's J2EE teams would do well to keep a copy at each designer's fingertips" -- Ross MacCharles, Lead Technical Architect.

This book is written for technical architects and senior developers tasked with designing and leading the development of J2EE java applications. This book will guide the architect through the entire process of delivering a project from analysis through application deployment providing numerous tips, tricks, and "best practices" along the way.

Readers will discover how to:

  • Design J2EE applications so that they are robust, extensible, and easy to maintain.
  • Apply commonly used design patterns effectively
  • Identify and address application architectural issues before they hinder the development team
  • Document and communicate the application design so that the development team's work is targeted
  • Avoid common mistakes that derail project budgets and timelines.
  • Guide the development team through the design and construction process.
  • Setup effective procedures and guidelines that increase stability and decrease bug reports
  • Effectively estimate needed resources and timelines

Author Bio:

Derek Ashmore is the managing consultant and CTO for Delta Vortex Technologies (dvt.com). He routinely provides consulting services for companies designing and developing commercial web applications. Derek has over 15 years experience and is currently focusing on Java, J2EE, and other internet-related technologies.

Derek is widely published with most recent publications including articles in JavaPro and the Java Developers Journal. Derek can be reached at dashmore@dvt.com. More information about Derek can be found at his web site: DerekAshmore.com

Find out more Enterprise J2EE books at below links:

Mastering Enterprise JavaBeans Third Edition


Download the FREE PDF

Download the Source Code

Published in January 2005, the best-selling book Mastering EJB is now in its third edition and has been updated for EJB2.1 and also features new chapters on security and Web services integration. The book is about EJB concepts, methodology and development. This book also contains a number of advanced EJB topics, giving you a practical and real�world understanding of the subject. By reading this book, you will acquire a deep understanding of EJB.

What you will find here

This is the official homepage for Mastering EJB Third Edition. Here you can download the entire book in PDF format for free, and you will also find the source code for the book. Errata will also be posted here.

Important Links

Purchase the book on Amazon.com
Mastering EJB Third Edition & source code
Mastering EJB Second Edition & source code


What's new with Mastering EJB Third Edition:

  • Includes more than 30 percent revised material and five new chapters, covering the new 2.1 features such as EJB Timer Service and JMS as well as the latest open source Java solutions
  • The book was developed as part of TheServerSide.com online EJB community, ensuring a built-in audience
  • Demonstrates how to build an EJB system, program with EJB, adopt best practices, and harness advanced EJB concepts and techniques, including transactions, persistence, clustering, integration, and performance optimization
  • Offers practical guidance on when not to use EJB and how to use simpler, less costly open source technologies in place of or in conjunction with EJB
Find out more Enterprise JavaBeans books at below links:

Mastering Enterprise JavaBeans 3.0


Download the FREE PDF [9.9 MB]

Download the zip file

Download the Source Code

Download the appendix


Published in July 2006, the best selling book Mastering EJB is now in its fourth edition and has been updated for EJB 3.0. This edition features chapters on session beans and message-driven beans, EJB-Java EE integration and advanced persistence concepts. In-depth coverage of the Java Persistence API and using POJO entities with EJB is also included. By reading this book, you will acquire a deep understanding of EJB 3.0.

What you will find here

This is the official homepage for Mastering EJB 3.0. Here you can download the entire book in PDF format for free, along with the source code for the book.

Important Links

Purchase the book on Amazon.com
Mastering EJB 3.0 & source code
Mastering EJB Third Edition & source code


What's new with Mastering EJB 3.0:

  • More than 50% new and revised material
  • Four new chapters and one new appendix covering the latest features of the new release
  • Basic and advanced concepts (such as inheritance, relationships, and so on) of Java Persistence API defined entities
  • Information on integrating EJB applications with the outside world via the Java EE Connector technology
  • Tips and techniques for designing and deploying EJB for better performance
  • Best practices for EJB 3.0 application design, development and testing
Find out more Enterprise JavaBeans 3.0 books at below links:

Jakarta Struts Live


Download the FREE PDF

Download the source code

Jakarta Struts Live contains thorough coverage of both the Struts MVC architecture and building each of the Struts components of this architecture. You'll learn to use vital features like Tiles, the Validator, DynaActionForms, plug-ins, and internationalization. You also look at how you can leverage other open-source technologies to improve your Struts development process and experiences.

Some of the topics covered by Jakarta Struts Live include:

  • Getting Started with Struts
  • Testing Struts Applications
  • ActionForms and DynaActionForms
  • The Validator Framework
  • The Model-View-Controller Architecture
  • The Struts Tag Library
  • Using Tiles
  • The JSTL and Struts
  • Internationalization (I18N)
  • Extending Struts

What you will find here

For those of you not familiar with the SourceBeat model, our titles are available as one year subscriptions. Our expert authors update their titles each month, ensuring you are receiving the most up to date information on the open source topic. In addition, you can interact with the author via our blogs and help shape the future chapters of the titles.

Rick Hightower is the owner of the Struts Live title for SourceBeat. Rick is a best-selling author of books such as Java Tools for Extreme Programming and Python Programming With the Java Class Libraries. Rick has also written tutorials and articles for IBM DeveloperWorks and Java Developer's Journal. In his spare time, Rick is CTO for ArcMind, Inc.

Find out more Struts Books at below links:

Advanced Programming for the Java 2 Platform


 
By Calvin Austin and Monica Pawlan

[CONTENTS]

[DOWNLOAD]

As an experienced developer on the Java platform, you undoubtedly know how fast moving and comprehensive the platform is. Its many application programming interfaces (APIs) provide a wealth of functionality for all aspects of application and system-level programming. Real-world developers never use one or two APIs to solve a problem, but bring together key functionality spanning a number of APIs. Knowing which APIs you need, which parts of which APIs you need, and how the APIs work together to create the best solution can be a daunting task.

To help you navigate the Java APIs and fast-track your project development time, this book includes the design, development, test, and deployment phases for an enterprise-worthy auction application. While the example application does not cover every possible programming scenario, it explores many common situations and the discussions leave you with a solid methodology for designing and building your own solutions.

This book is for developers with more than a beginning level of understanding of writing programs in the Java programming language. The example application is written with the Java® 2 platform APIs and explained in terms of functional hows and whys, so if you need help installing the Java platform, setting up your environment, or getting your first application to work, you should first read a more introductory book such as Essentials of the Java Programming Language: A Hands-On Guide or The Java Tutorial.

Book Jacket Note: This tutorial is available as a book from online book sellers

Contents

Chapter 1: Matching Project Requirements with Technology

Chapter 2: Auction House Application

Chapter 3: Data and Transaction Management

Chapter 4: Distributed Computing

Chapter 5: Java Native Interface (JNI) Technology

Chapter 6. Project Swing: Building a User Interface

Chapter 7: Debugging Applets, Applications, and Servlets

Chapter 8: Performance Techniques

Chapter 9: Deploying the Auction Application

Chapter 10: More Security Topics

Appendix A: Security and Permissions
Appendix B: Classes, Methods, and Permissions
Appendix C: SecurityManager Methods

Find out more Advanced Java Programming books at below links:

Thursday, October 8, 2009

TIME Magazine Cover: Hillary Clinton: In Her Own Words

Hillary Clinton: In Her Own Words





Find out more interesting Magazine articles of Hillary Clinton at below links:

God and Hillary Clinton by Paul Kengor

God and Hillary Clinton by Paul Kengor

 
Hillary Clinton: committed Christian? What she really believes about God

God and Hillary Clinton

by Paul Kengor

She was raised a Methodist. She led Bible studies and prayer groups throughout her years in the Arkansas Governor's mansion. Yet she has clearly strayed from her spiritual roots, and has even dabbled in New Age mysticism. So is the woman who wants to be our next President really a committed Christian, as she claims? In God and Hillary Clinton: A Spiritual Life, historian Paul Kengor (author of the New York Times Bestseller God and Ronald Reagan) offers the first-ever "spiritual history" of the First Lady, Senator, and presidential candidate. Talking with people who witnessed her faith firsthand, he decisively answers the elusive question: what does Hillary Clinton really believe?

Kengor's exhaustive research intertwines Hillary's spiritual evolution with her personal history. He discusses how her strong Methodist upbringing laid a foundation that led to those Bible studies while she was Arkansas's First Lady. Then he lays bare some of the stranger episodes in her spiritual past -- including the erosion of her faith during the 60s and 70s and her experimentation with New Age psychobabble while in the White House. Exploring how her faith has influenced her secular policies, Kengor determines which of her religious beliefs appear genuine and which seem inspired by a base lust for votes. Kengor scrutinizes in particular her unwavering pro-abortion stance, examining how she reconciles this with her self-proclaimed Christian faith.

Find out more interesting books about Hillary Clinton at below links:

Living History by Hillary Rodham Clinton


(Click for Amazon book review)

BOOK REVIEW by OnTheIssues.org:

This is Hillary's autobiography, published in 2003 in preparation for her presidential run. It is the book which is dissected and analyzed by all of her critics and supporters, in most detail in A Woman in Charge (by Carl Bernstein, who broke the Watergate story) and in Her Way (by the reporters who broke the Whitewater story). If you want to form your own opinions, rather than trust those of the pundits and/or Hillary's critics, this book is a must-read. Our excerpts, of course, will do.

This book traces Hillary's life from her girlhood in a Chicago suburb through her election to the Senate. She says in the introduction that it was originally intended to be only a portrait of her 8 years in the White House, but, she writes, "I quickly realized that I couldn't exlpain my life as First Lady without going back to the beginning." The book chronicles, in traditional chronological sequence, Hillary's years in college; meeting Bill Clinton; as Arkansas' First Lady; the road to the White House; and finally her election in new York.

The book has chapters that will provide fodder for Hillary's supporters:

  • "Class of '69", about her Wellesley graduation speech, her first claim to public fame;
  • "East Wing, West Wing", about Hillary's expansion of the First Lady's role;
  • "Women's Rights Are Human Rights", about Hillary's trip to China and her most famous speech there;
  • "Conversations With Eleanor", about her identifying with Eleanor Roosevelt.
And the book has chapters that will provide fodder for Hillary's detractors:
  • "Health Care", about her failed healthcare task force;
  • "Independent Counsel", about the Whitewater investigation;
  • "Soldiering On", the gently-named chapter about Monica Lewinsky;
  • "Impeachment", about Bill's worst episode as President, and her reaction.
There's not much in the way of issues here -- it's mostly personal history and personal impressions of historic events. But when you're running for President, those personal things are important too. So read on.

-- Jesse Gordon, jesse@OnTheIssues.org, Dec. 2007

Find out more interesting books about Hillary Rodham Clinton at below links:

Thursday, October 1, 2009

Mastering Enterprise JavaBeans Third Edition


Download the FREE PDF

Download the Source Code


Published in January 2005, the best-selling book Mastering EJB is now in its third edition and has been updated for EJB2.1 and also features new chapters on security and Web services integration. The book is about EJB concepts, methodology and development. This book also contains a number of advanced EJB topics, giving you a practical and real�world understanding of the subject. By reading this book, you will acquire a deep understanding of EJB.

What you will find here

This is the official homepage for Mastering EJB Third Edition. Here you can download the entire book in PDF format for free, and you will also find the source code for the book. Errata will also be posted here.

What's new with Mastering EJB Third Edition:
  • Includes more than 30 percent revised material and five new chapters, covering the new 2.1 features such as EJB Timer Service and JMS as well as the latest open source Java solutions
  • The book was developed as part of TheServerSide.com online EJB community, ensuring a built-in audience
  • Demonstrates how to build an EJB system, program with EJB, adopt best practices, and harness advanced EJB concepts and techniques, including transactions, persistence, clustering, integration, and performance optimization
  • Offers practical guidance on when not to use EJB and how to use simpler, less costly open source technologies in place of or in conjunction with EJB
Find out more interesting JavaBeans books at below links:

Servlets and JavaServer Pages: The J2EE Technology Web Tier

Addison-Wesley and Developmentor have provided TheServerSide.com with the entire book of Servlets and JSP the J2EE Web Tier

for free download. Servlets and JSP the J2EE Web Tier is a book authored by Jayson Falkner and Kevin Jones about the latest in Servlets and JSP. The current version of the book covers Servlets 2.4, JSP 2.0, and the JSTL 1.0. Both Kevin and Jayson helped directly make the specifications and are proud to publish one of the first books covering the technologies. Servlets and JSP the J2EE Web Tier is comprehensive and covers everything you need to know about building Java web applications.

Who is This Book For?

Servlets and JSP the J2EE Web Tier is designed for developers of all levels. The book assumes a reader is familiar with HTML and the basics of Java. The book starts by covering how to installing a Servlet/JSP environment and what is in the JSP 2.0, Servlet 2.4, and JSTL 1.0 specifications. After discussion of the raw technologies the book focuses on practial use of them. The later chapters of the book cover topics such as state management, design patterns, internationalization support, multi-client design, Java database connectivity. At all possible places Jayson and Kevin try to share the millions of little things, both in the specs and not, that they have learned from being long-time Servlet and JSP developers.

If you are a new user this book is for you. It starts from the basics and covers everything up to the most advanced topics. If you are an experienced developer this book provides a reference for the Servlet 2.4, JSP 2.0, and JSTL 1.0 specifications and a good discussion of advanced design paterns and problem solving techniques. If you are management you are advised to buy multiple copies, this is a book which will be permanetly borrowed by employees.

About the Authors

Jayson Falkner is a J2EE developer from the US. He started developing with J2EE just before JSP 1.1 and Servlets 2.2 was released and has been focusing on the technologies since. Jayson is best known as the Webmaster of JSP Insider, http:// www.jspinsider.com, and for asking far too many questions in the popular Servlet and JSP forums. Jayson has worked on numerous JSP titles and is constantly present at the popular Java conferences. Jayson participated on the JSR 152 expert group, JSP 2.0, and helped with the Tomcat 5 reference implementation.

Jayson prefers to think of himself as a tax-dodging student, who is currently working on a PhD in Bioinformatics at the University of Michigan; however, he also works professionally as a J2EE consult with Amberjack Software LLC. Open-source software and free Java development are Jayson s specialties. You can thank (or complain) to Jayson for dictating the use of Mozilla and Tomcat with this book.

Kevin Jones is a long time Java developer and Educator, having been involved in the training industry for the last twelve years. For the last eight years Kevin has been involved in writing and delivering Java training and in consultancy on various Java projects, and for the last four years has concentrated on J2EE and specifically Web technologies.

Kevin spoke at JavaOne in 2000 and was invited to become a member of JSR 53, the Java Servlet 2.3 and JavaServer Pages 1.2 Specifications and also JSR 52 A Standard Tag Library for JavaServer Pages . Since then Kevin has successfully spoken at two JavaOne in 2001 and 2002 as well as participating in JSR 154 (Servlets 2.4) and, like Jayson, in JSR 152.

Kevin is responsible for the Java curriculum at DevelopMentor where he teaches the Essential Java Web Development class, which covers much of the material in this book, alongside many other Java classes.

Find out more interesting books about Servlets and JavaServer Pages at below links:

The J2EE Architect's Handbook

Description:

"The J2EE Architect's Handbook can justifiably be considered to be the "bible" for J2EE based application designers and project managers." -- The Midwest Book Review (7/2/2004).

"Derek Ashmore has assembled a 'must have' book for anyone working with Java and/or J2EE applications." -- Dan Hotka, Author/Instructor

"The J2EE Architect's Handbook is a must have for experienced architects and budding designers alike. It is concise, to the point, and packed with real world code examples that reinforce each concept. Today's J2EE teams would do well to keep a copy at each designer's fingertips" -- Ross MacCharles, Lead Technical Architect.

This book is written for technical architects and senior developers tasked with designing and leading the development of J2EE java applications. This book will guide the architect through the entire process of delivering a project from analysis through application deployment providing numerous tips, tricks, and "best practices" along the way.

Readers will discover how to:

  • Design J2EE applications so that they are robust, extensible, and easy to maintain.
  • Apply commonly used design patterns effectively
  • Identify and address application architectural issues before they hinder the development team
  • Document and communicate the application design so that the development team's work is targeted
  • Avoid common mistakes that derail project budgets and timelines.
  • Guide the development team through the design and construction process.
  • Setup effective procedures and guidelines that increase stability and decrease bug reports
  • Effectively estimate needed resources and timelines

Author Bio:

Derek Ashmore is the managing consultant and CTO for Delta Vortex Technologies (dvt.com). He routinely provides consulting services for companies designing and developing commercial web applications. Derek has over 15 years experience and is currently focusing on Java, J2EE, and other internet-related technologies.

Derek is widely published with most recent publications including articles in JavaPro and the Java Developers Journal. Derek can be reached at dashmore@dvt.com. More information about Derek can be found at his web site: DerekAshmore.com

Find out more interesting J2EE books at below links:

Put Struts to work with a FREE book on Struts Best Practices

  • Pages: 224 pages
  • Publisher: ObjectSource LLC
  • ISBN: 0-9748488-0-8 (paperback)
  • LCCN: 2004100026
In this book, you will learn
  • The basics and strengths of Struts
  • How to fill the gaps in Struts
  • Which features are important for J2EE projects.
  • Develop professional Struts code by adopting proven strategies
  • How to handle exceptions in production Struts applications in the BEST way
  • Real practical benefits of customizing Struts
  • Best Practices and Strategies in Struts
Download the book (PDF)
 
Download Companion workbook and example source code for the book illustrating important concepts in Struts (2.7 MB zip file) with step by step instructions included. MS Access tables provided.
 
Download the slides from Struts Training (Zipped PDF)

Starting Struts 2


Struts2 is the latest manifestation of the popular Struts Java web application framework. Like its predecessor, its goals are to make web application development faster, easier and more productive than ever before.

Despite new languages and new techniques, the action-base MVC framework is still a viable and effective option for modern web application development. Within this book you will find everything you need to get up and running using Struts2 – from the architecture and configuration, to implementing actions and the supporting infrastructure such as validation and internationalization. Above all else, it focuses on the practical – with plenty of code and productivity tips to get you started using Struts2 today.

This book covers:

  • The Struts2 architecture
  • Configuration details
  • Productivity tips for your current project
  • Coverage of popular plug-ins
  • Integration with third party technologies

111 pages, 6" x 9", ISBN: 978-1-4303-2033-3

Free download

Courtesy of Ian Roughley and InfoQ.com, we're happy to offer a free version for download, to get this knowledge in as many peoples hands as possible.  Login to download this book FREE (PDF)

Buy the print version for $22.95

If you enjoyed reading the free (non-printable) download version, please support the author and InfoQ's book series bybuying the print version for only $22.95.

Table of contents

Introduction

1. Where Struts 2 Fits Into The Web Paradigm

2. Core Components

3. Architectural Goals

4. Productivity Tips

5. Integrating With Other Technologies

About the Author

End Notes

About the Author

Ian Roughley is a speaker, writer and independent consultant based out of Boston, MA. For over 10 years he has been providing architecture, development, process improvement and mentoring services to clients ranging in size from fortune 10 companies to start-ups. Focused on a pragmatic and results-based approach, he is a proponent for open source, as well as process and quality improvements through agile development techniques. He is a committer and PMC member for the Apache Struts2 project, and speaker at No Fluff Just Stuff symposiums.

Find out more Struts books at below links: