Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror

Submission + - Book Review for "Plone 3.3 Site Administration: Ma

RickJWagner writes: This book is written for the person who has to set up and run a Plone site. It's not a development book-- it doesn't show you how to write software, rather it shows you how to acquire, install, and configure software components that will greatly enhance your Plone site. It covers a lot of ground, but much of it is covered in only the barest detail to instruct you in how to add a feature to your site. It doesn't devote much text to explaining what the add-ons do, only how to get them and how to integrate them into your site. There's also a lot of good general advice for a web-site administrator.

Here's a rough run-down on the contents of the book:

Chapter 1
What you'll need to run a Plone site (computer and basic tools, like a text editor) and installation procedures.

Chapter 2
Is titled "Site Basics" and covers the use of Buildout, which is a framework for installing add-ons in Plone. Buildout is very important for a Plone administrator, so it's nice to have coverage of the tool. Truth be told, I wish there was a little more material on Buildout in this book, but this is enough to get you introduced and the web can tell you the rest. To the book's credit, it uses a hands-on approach and immediately instructs you on how to use Buildout to change the default portlet navigation feature of your site and how to add blogging capabilities.

Chapter 3
The third chapter is about appearance, so it covers themes and changing the way your Plone site looks. As with much of the book, there isn't a lot of introductory overview, just step-by-step instructions on how to accomplish some given action. (In this case, the action is changing the look of your site through a new theme.) Buildout is used, of course. Also covered here are some handy tools for examining the things that make up a 'theme' and how to make your own theme. In making your own theme, the book instructs the user on the use of ZopeSkel and Paster, two tools important to Plone development. Again-- the book covers very little "Here is a tool, this is what it does, here's a nice diagram", rather there is "do this, do that, run this script, see how it changed your site".

Chapter 4
This is the administration chapter. The first topic covered is one that confused me on my first Plone site-- how do I add a user account without the requisite mail account? The author covers this topic well, I'm sure it will be appreciated by many Plone tire-kickers. Next, the book gives us the low-down on Zope 2 administration as a prerequisite to user and group management in Plone. (By the way, the CMS application Plone is running on the Zope application server. Sort of like the JBoss administration console is a feature-rich JEE application that runs on top of JBoss, for you Java-types.) The chapter concludes with a very nice section on using Plone with LDAP, which I'm sure is going to be a real-life concern for many corporate Plone users.

Chapter 5
The next chapter is the "Deployment and Maintenance" chapter. It covers such necessities as backing up and packing Plone's underlying database. It also covers log rotation and automation of tasks through mechanisms like cron and windows task scheduler.

Chapter 6
Chapter 6 is the Optimization chapter. It starts with some good advice about keeping Buildout configs (of course!) in source control for managing production deployments. From there, the book gets a little recommendation-happy as it shows how to install and configure several caching components (choosing which is best for you is left as an exercise for the reader), a couple of load balancers and a process supervisor. Front-end HTTP server configurations are covered, again in the usual "You'd better know what you want, but here's how to configure a few" style. Lastly, performance monitoring and viewing is given good coverage.

Chapter 7
This chapter is the 'security' chapter, and it carries some valuable tips. The first is how to restrict TCP/IP access to your host, then you are told how to effectively manage user permissions. Application of patches in Plone is covered, which naturally comes with some good advice about your buildout configuration files. There's also a section about using Apache Cassandra for monitoring user permissions-- in typical fashion, this side-topic is given little material outside the instructions on how to install and configure it. (Figuring out what Cassandra is, how it works, why you would choose it, etc. are left for you to figure out.)

Chapter 8
The final chapter again offers advice on using zc.buildout effectively, this time in the context of upgrading to future versions of Plone.

Overall Impressions
This book is difficult to categorize. On one hand, it often shows the reader how to install an add-on with precious little instruction on exactly what it is you're installing. On the other hand, it does provide very good instructions on how to get those add-ons downloaded and configured for your site. For readers unafraid to augment the book's material with a web browser, there is a lot of valuable insite here. (But for readers who like nice high level diagrams and introductory text that gives you some hint about products you're about to introduce to your environment-- this may not be your favorite book.) I think there is a lot of knowledge about use of buildout here, the reader certainly has enough examples that it will be a familiar friend by the time you're done with the book. There's also a lot of good advice about administering a production CMS site in general. Use of cache products, version control tips for configuration, ongoing maintenance, etc. are all covered. The back of the book states this book is meant as a resource for Plone administrators and content editors. For this audience, I think the book hits the mark well. For others interested in Plone-- i.e. developers who don't have a production site to run-- the book may not feel like such a good fit. All things considered, I think this book is a good resource for the Plone administrator, it's stated target audience.

The book can be found here: https://www.packtpub.com/plone-3-3-site-administration/book

Comment Maybe try Python, for a sampling of the ages (Score 1) 3

I'd recommend starting with a language like Python. You can start with old-school straight-line code, then add in the object-oriented and finally dynamic bits. When you feel you're really ready to step into the 2000-era environment, you can pick up a nice api-heavy framework (say something like Plone) because that's how a lot of work gets done today. That'd bring you up to speed in all the relevant eras, while starting you out with something that'll be accessible right from the start. Good luck! Rick P.S. I started out in 1990 as a COBOL programmer and have thus far managed to stay on top of the wave by not getting out of the game. Hang on, the multi-core revolution looks ready to throw us into the next era (leaving the object-oriented, framework heavy era behind.)
Book Reviews

Submission + - Book Review for "Groovy for Domain-Specific Langua (packtpub.com)

RickJWagner writes: This is a book targeted primarily towards the Java programmer who doesn't yet know Groovy. Groovy is a dynamic scripting language that runs on the JVM and offers easy integration with the Java language. Groovy also offers dynamic language features that lend themselves to the creation of DSLs (Domain-Specific Languages). This book attempts to simultaneously teach the reader how to use Groovy and how to build a DSL.

DSLs are something of a hot topic these days. A DSL is a 'Little Language' or a language written just for one business domain. As programmers, we're familiar with DSLs whether we realize it or not-- each time you use 'Make' to build a C project, or use 'Ant' to make a Java project, you're using a DSL. A DSL is a purpose-built language, with it's own verbs, rules, syntax, etc. It's made for one purpose only, and is meant to make things as easy as possible for the intended user. If the user has a need outside what the DSL can provide-- they're just tough out of luck! General purpose languages are for doing whatever the user needs-- DSLs are for doing only one task, but making that one task exceedingly easy for the user.

The book does a good job of making Groovy understandable for a Java coder. Programmers of other stripes would be able to use the book, but the author aimed squarely for the Java sweet spot and I think did a good job of hitting it. Where language integration was to be shown, the JDK was the recipricol part in the examples, and the classes singled out for interfacing were ones that would be well-known to a Java coder.

Writing DSLs has been done for many years, but was largely an undocumented process until just recently. I think the rise of dynamic languages has something to do with that. Dynamic languages offer some key features that make DSL creation a little easier. A few of these features the book covers are closures and meta-programming. Closures are anonymous methods, packaged in such a way that they can be passed as parameters to other methods. Meta-programming is using code to write other code, and can be used to perform some neat tricks like allowing the user to call methods that don't have a previously written definition. (If that sounds really strange to you, I agree. But it turns out this is something very handy if you're writing a DSL!)

The book is written in a way that thoroughly the breadth of features offered by the Groovy language, but not a lot of depth in all of them. For this reason, I found myself sometimes referring to external sources when I was encountering some language construct that seemed a little less familiar than most. It wasn't a problem-- the book did a fine job of letting me know of the existence of some language feature and how it might be used in writing a DSL. If I didn't immediately grasp the use of the feature after the typical single example of seeing it used in sample code, I'd just pop out to the internet and get a few more examples. The book is nearly 300 pages as it is, and very little of that is wasted. I give the book good grades for technical content.

Style-wise, I found the book reasonable to read but not great. As well as the author does spelling out the nuances of the Groovy language, the DSL parts are interspersed among the chapters and sometimes could be hard to find unless you read a lot of surrounding technical content. Maybe this is the only way to cover two meaty topics at once, I don't know. But I found myself doing quite a bit of paging when I wanted to refer back to DSL-specific advice, sometimes falling back to the chapter-by-chapter summary in the front of the book to get myself in the right neighborhood.

The book has plenty of sample code, which I found well constructed and easy to read. The author adapted the practice of writing small snippets of code, then used assertions to demonstrate the behavior the reader would expect if the code were to be executed. I really liked that. The code itself was always cleanly formatted and minimal in length, which made it very easy to read.

So, did the book hit it's target? I believe it did. The strengths of using Groovy for Domain Specific Languages are drawn out, and the Groovy language is given a thorough overview. Java coders will find this book a reference that will let them start using dynamic features while still staying on the JVM. (By the way, Groovy compiles to Java, so all your existing Java code is usable from Groovy. So you might write an application that's 95% Java and 5% Groovy, and that's just fine with Groovy.) I think this book covered a lot of ground and did it well.

   

Comment Re:Okay but... (Score 1) 52

Hi Kevin, I am RickJWagner, your humble book reviewer. I too consider myself well-versed in tech (after 20 years as a professional developer), but am surprised very frequently by new topics that pop up. In the old days, after I knew COBOL and a little Assembler, I thought mastering algorithms was all that was left (except for CICS and other mainframe stuff). Nowadays I am amazed at the number of languages/frameworks/technologies we have available. It's a much broader universe than I ever expected. As for my motives, I just love to code. I do volunteer (never paid) reviews of tech books and post them on several sites. I have a semi-popular blog, where I write on programming topics. (www.rickwagner.blogspot.com). Thanks for reading, and I hope you find something you like in my writings. Rick
Books

Submission + - Book Review for "Plone 3 Products Development Cook

RickJWagner writes: Book Review for "Plone 3 Products Development Cookbook"

This book takes an interesting path to teaching Plone 3 development. Unlike most software instructional books, it starts way back in the often-unread Preface by listing 10 requirements a mythical customer is asking the reader to implement in Plone 3. The requirements are realistic and I think would probably be quite a stretch for an inexperienced Plone developer. The rest of the book is dedicated to implementing those 10 features, and coaching the reader on Plone 3 development along the way.

I wouldn't say this is a good book for a novice Plone user. There really isn't much introductory material, and there is little material to transition the reader from Plone installation to meaty development. A newbie could certainly use this book if it were augmented with additional material (say, the Internet and a fair amount of time allocate), but the reader had better be ready to self-educate on Plone/Zope/Python development if they are not already proficient in these areas. For developers who already know their way around Plone, however, this book is an excellent step-by-step guide to adding serious functionality to the platform.

The book follows a consistent theme throughout. The desired functionality is briefly (very briefly) described, then the reader is given the following sections: Getting Ready, How to Do It, How it Works, and (sometimes) There's More. Here's how these work:

Getting Ready — outlines installation prerequisites, the things you'll need to gather.
How to Do It — step by step instructions on how to implement your changes.
How It Works — after you've configured things in the previous step, this step explains why things work.
There's More — an optional section where further reading can be found, or maybe extras like test procedures.

The book includes more than just the 10 specified features from the Preface, though. The authors cover development best practices, documentation, a section on testing, and many other goodies that are not directly in the path of implementing those 10 requirements. I especially liked the parts about performance improvements, a consideration that's sometimes lacking in development books.

Many expert-level techniques are revealed to the reader, especially those concerning production of Products for Plone 3. The authors are obviously well versed in their domain and they freely share best practices the reader will be able to leverage. These tips deal with the whole development cycle, distributed in a sort of holistic manner, sprinkled into several chapters along with the primary material for that section. It's not a book on the development process, but if the reader is willing to listen as advice is given, they will become aware of many development best practices (automated testing, documentation, etc.) along the way.

Besides just the how-to aspect of Product development, the authors give the reader some insight into runtime aspects of a Plone site. The chapter covering cache configuration, for example, was lighter on Product development verbiage and much longer on advice that is bound to be helpful for a Plone site administrator rather than a Product developer. I imagine it's probably not uncommon for people to wear both these hats, so this is another useful characteristic. Developers and Administrators alike can profit from this kind of advice.

The book definitely reads differently than most tech instructional books-- it's more like an expert's working notes than it is a typical dev book. It took me a few chapters to catch on, but after I figured out how to best use this format I can see how this would be very useful for random-access reference work. You don't need to do everything in sequence, just skip right to where you need to go.

There's a lot of text provided, too. There are nearly 370 pages here, almost all of it good, meaty instructions provided in the soon-familiar instructional template the authors established early on. If you know exactly what you want to do, there is little room for ambiguous interpretation-- you're bound to get it right. Some might consider portions of the text verbose, but that can be a desirable trait in a book that's going to serve as both introductory survey and later valued reference.

If you're charged with doing Plone 3 development, I'd recommend this book. There's a lot of expert advice here, and it covers a wide range of development activities. I would imagine almost every developer will learn some things from this book, and many developers will learn a great deal. For producing Plone 3 products, it will provide a quick answer for many commonly encountered questions.

The book can be found here: https://www.packtpub.com/plone-3-3-products-development-cookbook/book
ISBN: 1847196721

Submission + - Book Review for "Plone 3 Products Development Cook

RickJWagner writes: This book takes an interesting path to teaching Plone 3 development. Unlike most software instructional books, it starts way back in the often-unread Preface by listing 10 requirements a mythical customer is asking the reader to implement in Plone 3. The requirements are realistic and I think would probably be quite a stretch for an inexperienced Plone developer. The rest of the book is dedicated to implementing those 10 features, and coaching the reader on Plone 3 development along the way.

I wouldn't say this is a good book for a novice Plone user. There really isn't much introductory material, and there is little material to transition the reader from Plone installation to meaty development. A newbie could certainly use this book if it were augmented with additional material (say, the Internet and a fair amount of time allocate), but the reader had better be ready to self-educate on Plone/Zope/Python development if they are not already proficient in these areas. For developers who already know their way around Plone, however, this book is an excellent step-by-step guide to adding serious functionality to the platform.

The book follows a consistent theme throughout. The desired functionality is briefly (very briefly) described, then the reader is given the following sections: Getting Ready, How to Do It, How it Works, and (sometimes) There's More. Here's how these work:

Getting Ready — outlines installation prerequisites, the things you'll need to gather.
How to Do It — step by step instructions on how to implement your changes.
How It Works — after you've configured things in the previous step, this step explains why things work.
There's More — an optional section where further reading can be found, or maybe extras like test procedures.

The book includes more than just the 10 specified features from the Preface, though. The authors cover development best practices, documentation, a section on testing, and many other goodies that are not directly in the path of implementing those 10 requirements. I especially liked the parts about performance improvements, a consideration that's sometimes lacking in development books.

The book definately reads differently than most tech instructional books-- it's more like an expert's working notes than it is a typical dev book. It took me a few chapters to catch on, but after I figured out how to best use this format I can see how this would be very useful for random-access reference work. You don't need to do everything in sequence, just skip right to where you need to go.

If you're charged with doing Plone 3 development, I'd recommend this book. There's a lot of expert advice here, and it covers a wide range of development activities. I would imagine almost every developer will learn some things from this book, and many developers will learn a great deal. For producing Plone 3 products, it will provide a quick answer for many commonly encountered questions.

The book can be found here: https://www.packtpub.com/plone-3-3-products-development-cookbook/book
Books

Submission + - Book Review for "CodeIgniter 1.7 Professional Deve (packtpub.com)

RickJWagner writes: CodeIgniter is a multi-purpose, open source PHP web application framework that can dramatically reduce the amount of coding required in developing a full-featured web site. This book promises to introduce the reader to the most productive APIs and demonstrate their usage with minimal code snippets. In that regard, I think the book lives up to it's promise.

The first chapter covers CodeIgniter's MVC framework, which provides a way for a programmer to logically partition code so it's easier to maintain. For those of us who aren't accomplished PHP coders, this chapter also contains a PHP style guide, which I thought was a nice feature. By the way, the code snippets throughout the book are clean and easy to read-- the author must have followed his own advice on code style.

The second chapter is an introduction to some of the more productive libraries you'll find in CodeIgniter. Here you'll find some excellent advice on how to take timing metrics in your application, how to secure it, and how to accomplish routine activities like retreiving data from the user's request. Other 'web topics' are addressed here, like how to manipulate the session, how to manage emails and file uploads, and much more.

Chapter 3 handles form inputs and databases. As is common throughout the book, the reader is given minimal technical overview. What you'll find instead is a very brief explanation of what's about to be covered, then a few very readable source lines that demonstrate use of CodeIgniter in action. If this book were your only resource, I'm sure there would be times where you didn't find enough material to get everything done you wanted to do. But if you have a web browser (and Google) handy, a book of this type can be an effective index to help you find the parts of a framework you want to leverage.

The next few chapters cover user authentication and application security. I found these to be a little spotty-- heavy in some places, light in others. Still, the material was useful and not difficult to read or understand.

A nice chapter on tips for building a large-scale application was next. I found this one interesting-- many of the ideas were well-known, but a few had not occurred to me before. I liked reading it. Next up was a chapter on Web Services. I didn't take the time to test the provided code for this chapter, but I would like to sometime. If it works as I hope it will, I may have a new way to stand-up test web services!

The final 2 chapters are on extending CodeIgniter (it's great that the library authors institutionalized this!) and donating code back to the community.

So who is this book for? The book itself tells you it's for expert PHP coders, but I don't believe that's exactly right. Given the easy-to-read nature of the book and the light treatment given to some of the meatier topics, I'd say this book is about right for a novice-to-intermediate level PHP coder. I haven't done a lot in PHP, yet I found the code reading very easy.

If I had a wish for the book, I'd wish for a little more depth in the harder topics and maybe some quick overviews for a few topics. (Diagrams accompanying the overviews would be nice, too. This book has few illustrations except for screen-shots.)

All things considered, I'd recommend this book to coders that are getting started with PHP and CodeIgniter. It's easy to read and will get the reader pointed in the right direction for solving many web problems.

The book (and a sample chapter) can be found here: https://www.packtpub.com/codeigniter-1-7-professional-development/book

Books

Submission + - Book Review - "OpenX Ad Server: Beginner's Guide" (packtpub.com)

RickJWagner writes: Book Review: OpenX Ad Server Beginner's Guide

This book outlines use of the OpenX Ad Server. This open source software is used by bloggers, website hosts, and marketeers to set up and execute advertising campaigns. It lets the user define which banners should be shown on which web sites, how often, for which advertisers, and for how long. It also tracks results for the campaign so you can fine-tune your results as the user clicks occur.

The book promises to teach an absolute novice how to use OpenX. In that regard, I find the book kept the promise it made. The reader is given clear instructions on how to download OpenX and apply it to their environment. Even the mechanisms used to FTP files around are given clear text and step-by-step screen shots. Once the software is installed and in use, the same kind of detailed instructions guide the user through every task needed to effectively set up and execute marketing campaigns.

For those new to online advertising, the book provides clear explanations of the underlying concepts. Advertisers, Campaigns, Banners, and Zones are all spelled out clearly in text and with accompanying diagrams. The diagrams, by the way, are clear and easy to understand. This is all necessary prep work, as the reader is then treated to chapter by chapter deep dives on working with each of these fundamental building blocks. The chapters instruct the reader on the necessary details and options associated with each of these constructs. Once the reader recognizes the patterns used by the books authors, one chapter after the other spells out how to configure and make best use of the options provided by OpenX.

The first chapters are devoted to the high-level basics, the middle chapters to implementing those high-level components, and the final chapters to administrative issues and gathering statistics for your advertising campaigns. I found this layout to be logical, as it gives the user the big picture first, followed by the exciting middle topics, and lastly the parts you need to really maintain the product.

After reading this book, you will be able to:

- Understand online marketing and the terms associated with it
- Install the OpenX ad server
- Manage relationships between advertisers and publishers, campaigns and websites, users and campaigns
- Use the OpenX server to place advertisements in specific areas of webpages, and determine which ads will show in which frequencies
- Generate statistics on your advertisements, so you can understand and refine effectiveness
- Upgrade OpenX
- Use 'GeoTargeting' to direct users to appropriate ads by geography
- Use 'Channels' to direct ads by type to web site areas that fit the topic
- Manage your users and administrators (including allowing users to affect the content of their own campaigns)

All things considered, I found OpenX to be a very capable platform for serving online advertisements and I found this book is an excellent introduction to both online advertising and the OpenX server. If you have an interest in online advertisement, I would recommend you have a look at this title.

The book can be found here: https://www.packtpub.com/openx-ad-server-beginners-guide/book

About the author: Rick Wagner is an Enterprise Architect and developer working in the customer demographics workspace. Rick is a Sun Certified Enterprise Architect and member of the International Association of Software Architects.

The Internet

Submission + - Is Internet Porn Creating a Damaged Generation? 6

Hugh Pickens writes: "Dr. Terri Apter writes in the Independent that estimates are that 12 per cent of five- to seven-year-olds and 16 per cent of eight- to 17-year-olds have unintentionally stumbled onto some of the estimated 250 million pages of pornography on the internet, while 38 per cent of older teens admit to seeking out such sites. And what they find is a far cry from the magazines their parents might have stashed under their mattresses when they were teens writes Apter adding that a passing curiosity may be easily satisfied and the interest abandoned but that sexual images have a special vividness and power and may become addictive. The Witherspoon report makes it clear that countless women — and increasingly many men — have experienced the devastating effects of pornography addiction on their marriages and a report from NPR by an anonymous psychologist reports how her marriage was destroyed by her husband's addiction which began when he was about 10 years old and which she characterizes as "a drug so powerful it can destroy a family simply by distorting a man's perception of his wife and so lethal it may have the potential to render an entire generation incapable of forming lasting marriages." "Countless women — and increasingly many men — have experienced the devastating effects of their spouse's pornography use," writes the author. "Countless more will experience it in the future. It is our obligation as a nation to pursue the truth for their sake, no matter how inconvenient for some the verdict may be.""

Submission + - Book Review: JBoss AS 5 Development (packtpub.com)

RickJWagner writes: Book Review of "JBoss AS 5 Development" by Packt Publishing

I've just finished a review of the latest JBoss book by Packt Publishing. I wouldn't call it a development book, but wouldn't call it an administrative book, either-- it's really a little of both.

The book promises to cover a lot of territory, and it keeps it's promise. The 14 chapters, in a nutshell contain the following:

- Installation of the application server and Eclipse-based IDE toolkit
- Major differences between JBoss AS 5 and previous versions
- Customizing your JBoss installation
- Developing EJB 3 Session beans
- Working with JPA
- Writing a web application (JSF)
- The new JBoss messaging subsystem (JMS)
- Writing Hibernate applications on JBoss
- JMX and MBeans
- JBoss Web Services
- Clustering JBoss servers
- Writing Clustered Applications
- JBoss AS Security
- Securing applications under JBoss

Notice the last 4 chapters-- Intro to Clustering, then Writing Clustered Applications. Intro to JBoss Security, then Securing Applications. This will give you a hint about the depth the book provides-- it gives a reasonable overview, followed by a deep-dive into content a technician will find usable. I thought the book did a good job of presenting high-level content, yet providing the detail a code-slinger requires. Kudos to the author for that.

The book is reasonably illustrated. There are plenty of high-level illustrations (and some are needed, for the more abstract topics). The book also provides plenty of screen shots, mostly featuring JBoss Tools. More on that later, but for now let's say I was only moderately impressed with the performance of that set of tools.

As a developer/architect, I found the depth of the book somewhere on the middle-to-high-end. I don't think it's a good book for complete newbies-- rather, I'd suggest this book for devs that are already somewhat confident in their JEE coding abilities. You may be wondering why I'd say such a thing-- mostly it's because JBoss tools are just not in the same league as NetBeans 6.8 at this point. If you're a complete newbie to Enterprise Java, I'd suggest you first pick up a copy of NetBeans and GlassFish, then learn the ropes with this easy-to-use combo. Later, once it's all old hat you can pick up JBoss Tools.

This in no way diminishes the value this book will hold for a user of JBoss AS 5. There are plenty of expert level tips for performance, security, customizations, etc. There are also coding tips any developer will appreciate, hence my earlier assertion that this book straddles the developer/administrator line. If you're a JBoss user, you'll find some good stuff here, no doubt about it.

The book is written in an easy to read manner. If you're not an expert on the whole JEE stack, don't worry-- all the major components are given gentle introductory chapters that coach you through writing a JSF application, an EJB, a JPA application and a Hibernate one, etc. If you're lucky, the tools will behave as they're supposed to and you'll quickly have a reference application you can use to model your real-world needs. (If you're not lucky, you'll get some good practice at problem analysis and application debugging. Let's be real, that practice is going to come in handy if you truly are going to use JBoss in production. This is how experts are made....)

There's a lot of content here for a technical book. (There are surely smaller books. But then again, JBoss 5 brought some significant changes, so a big book is warranted.) Comparing this title to the old 'official' JBoss 4 AS doc I have a copy of, I'd praise this book for not filling pages with stuff I don't need to know. It also offers some candid quick-n-dirty tips in places that will give the developer some quick insites into the platform that can quickly be leveraged. Nice.

The author deserves a little praise for decent readability. Truth be told, those folks on the cutting edge of technology are not always the greatest communicators, written or otherwise. This guy makes everything flow well, though, so I give the book good marks in this regard.

All things considered, I'd recommend this book to the following audiences:
- Anyone planning to use JBoss AS 5 in production (Developer or Administrator)
- Intermediate to Advanced level Enterprise Java coders
- Architects in need of high-level descriptions of the latest JEE components

Audience I would *not* recommend this book for:
- Developers not yet proficient in Enterprise Java coding. You might work your way through the book, but you might spend a little time gathering valuable debugging experience on the way.

Happy Reading, and Happy Coding!

Author biography
Rick Wagner is a Sun Certified Enterprise Architect, Sun Certified Java Programmer, and member of the International Association of Software Architects. Rick lives in Arkansas with his wife and 3 kids. You can read his blog at www.rickwagner.blogspot.com"

The Internet

Submission + - Study links excessive internet use to depression 1

oxide7 writes: People who spend a lot of time surfing the internet are more likely to show signs of depression, British scientists said on Wednesday. But it is not clear whether the internet causes depression or whether depressed people are drawn to it.

Psychologists from Leeds University found what they said was "striking" evidence that some avid net users develop compulsive internet habits in which they replace real-life social interaction with online chat rooms and social networking sites.
Books

Submission + - Book Review - JBoss AS 5 Development (packtpub.com)

RickJWagner writes: Book Review for "JBoss AS 5 Development" by Packt Publishing

This review is for "JBoss AS 5 Development", which has the subtitle "Develop, deploy, and secure Java applications on this robust open source application server". Having gone through the book with IDE in hand, I would have to say I find the subtitle more indicative of the content than the first part of the title. Later I'll try to explain why I feel so.

The book promises to cover a great amount of territory. Roughly, the 14 chapters cover these topics:
- Installation of the application server and Eclipse-based IDE toolkit
- Major differences between JBoss AS 5 and previous versions
- Customizing your JBoss installation
- Developing EJB 3 Session beans
- Working with JPA
- Writing a web application (JSF)
- The new JBoss messaging subsystem (JMS)
- Writing Hibernate applications on JBoss
- JMX and MBeans
- JBoss Web Services
- Clustering JBoss servers
- Writing Clustered Applications
- JBoss AS Security
- Securing applications under JBoss

If that seems like quite a list to digest, I would agree. The last 4 chapters give a hint to the depth of content the reader will encounter. In those cases, the author first presents an overview chapter about how the application server handles the topic (clustering, security), then follows it up with a whole chapter about applying the implementation details. I thought this struck the right balance between being too high-level (as many books might be) versus being overly detailed (as the old JBoss 4 AS doc book could be in places.)

I think this book will be an excellent acquisition for anyone who is certain they will be working with JBoss AS 5. The author has a deep understanding of the application server and writes in an easy to understand style. The book covers a great amount of 'real world' territory that is sure to be of interest for anyone tasked with moving an application to production under JBoss AS 5. Subjects like security and clustering (must-haves in a production environment) are given enough coverage that they can be of immediate practical use. (Note: these topics are not of vital importance in a pure development effort. A great amount of development can be done without paying attention to either security or clustering.) This is one reason I consider this book to be an interesting blend of development material and administrative material-- it is clearly not a pure development book.

For those that are interested in learning JEE but are not certain they'll be using JBoss, I'd suggest they should consider this book but also compare it to other titles, perhaps one of Packt's excellent NetBeans/GlassFish titles. This is not the fault of the book-- the author does a good job of walking the reader through various exercises in building EJBs, a JSF front-end application, a web service application, etc. The reason I don't suggest this book for new students of JEE is that the raw toolkit is just not at the same level some other open source development stacks are at. (Notably, NetBeans 6.8 and GlassFish). Putting it plainly, there are more than a few things that can go wrong in putting together a JEE application with JBoss Tools-- if the user isn't seasoned in problem analysis and debugging, it could easily lead to frustrations and an unsatisfactory experience.

If you're already confident in your ability to write and deploy JEE apps, you should find this book to your liking. Intermediate to advanced JEE developers ought to find plenty of material to keep them interested. Performance tips, JBoss specific extensions, and expert usage tips for enterprise Java development all get good coverage. The author knows the ins and outs of using JBoss AS 5, and is generous in providing tips in effective usage of facets the reader is likely to encounter. The author also provides good high-level overview material (which usually precedes the detail), which helps keep the reader grounded in the larger context of what's being conveyed.

The book provides a reasonable number of illustrations, including screen shots of JBoss Tools wizard screens. I found these of reasonable value, but have to admit I'm of mixed emotions on the toolset itself. It does a great job of some things (I love the packaging wizard that let's you declaratively roll up .jars, .ears, etc.). On the negative side, it makes some actions much more difficult than they have to be. I thought the author did a good job of providing meaningful illustrations where an abstract idea was being presented, especially in the security and clustering chapters. I once made a presentation at JBoss World about studying for the Sun Certified Enterprise Architect exam using JBoss-- I wish I'd had those illustrations then! I guess my SCEA is now a depreciated asset-- maybe we'll have to study for 'Oracle' architectural credentials in the future.

All things considered, this book will be an excellent source of information and reference for anyone using JBoss AS 5. I'm sure it will prove value time and again as the reader delves into the various corners of enterprise Java. This book offers expert insites on many topics and does it in an easy to read manner.

Author biography
Rick Wagner is a Sun Certified Enterprise Architect, Sun Certified Java Programmer, and member of the International Association of Software Architects. Rick lives in Arkansas with his wife and 3 kids. You can read his blog at www.rickwagner.blogspot.com

Books

Submission + - Book Review - "GlassFish Administration"

RickJWagner writes: "GlassFish Administration" is a handbook for administrators, developers, and users of the GlassFish application server. Since GlassFish is the reference implementation for the Java EE stack, it stands to reason that an astute reader of this book will be exposed to all the slick features of JEE. (I found this to be true, by the way.) Since I've long been a fan of Sun's ability to make tools that are easy to use (at least as far as JEE allows), I dove into this title expecting to find new and easy ways to leverage the Enterprise Java stack. I wasn't disappointed.

This book promises to cover GlassFish from the point of view of the administrator. This has actually been an overlooked niche, I think-- there are many books to assist the JEE developer, but few are written exactly to help you when your role involves the care and feed for the running server. In addition to administrator-types, I'd also highly recommend this book to Enterprise Java Developers. A copy of this book, coupled with the excellent NetBeans IDE will give the user a powerful and easy to use toolkit for understanding the intricacies of JEE.

The table of contents promises the following:
- Basic GlassFish architecture
- Application deployment
- The usual administrative activities around connection pools, databases, and JMS queues
- Security (a must-have)
- Monitoring (Hey, that's good!)
- Clusters and High Availability
- Tuning and TroubleShooting (Tuning is another really good thing to see!)

The book delivers on what the Table of Contents promised, and does it in a very readable way.

I was especially pleased with the generous use of illustrations. The author made good use of diagrams to help the reader understand abstract ideas, as well as showing screenshots to help guide the reader through the GlassFish UI. As an unexpected bonus, almost every UI action was accompanied by the command line equivalent. (Very useful for those admins who like to script actions for repeatability and auditing purposes.) If you're like me, you probably don't mind using a graphical UI the first few times you do something, but the CLI is much faster once you know exactly what you're doing. For that reason, I'm really glad the CLI was given enough coverage.

The text was easy to read and packed with useful real-world advice on best practices for owners of a JEE Application Server. (Note that much of the advice given was not particular to GlassFish-- there are quite a few best practices here that can be applied to other App Servers as well.) I was especially appreciative of the sections on performance tuning and server monitoring, two areas that don't usually receive a lot of attention. Here are some particular likes and dislikes I had with this book:

Like
- Easy to read
- Lots of expert tips on app server usage
- Decent coverage of application development matters, could be used as a refresher for those of us who aren't JEE current
- Advice on tuning and monitoring always holds great value to 'real world' users

Dislike
- Covers GlassFish v2 extensively, but v3 is only covered by one chapter (in fairness to the book, version 3 is brand-spanking new and version 2 is the current production mainstay)
- I wish it contained a little more content on GlassFish development with Netbeans, as 'Beans and 'Fish are a dynamite combination (sorry, I couldn't resist. The two do go really good together, though.)

Conclusion:
I'd recommend this book for anyone who uses GlassFish, and anyone who needs an easy way to work with JEE. It's a really easy read.

About the author:
Rick Wagner is a Sun Certified Enterprise Architect and avid software developer. You can read Rick's blog at www.rickwagner.blogspot.com
Software

Submission + - Dependency Injection book-- a Developer Must-Read! (blogspot.com)

RickJWagner writes: "Manning has just published "Dependency Injection" by Dhanji R. Prasanna. I highly recommend this book for anyone working in a language that lends itself to DI.

If you're not yet a DI user, you need to read this book! Dependency Injection leads to more modular code and easier testing, among other blessings.

If you're already a DI user, you owe it to yourself to listen to the sage advice of Mr. Prasanna. This man knows his business, and he offers many best practices and considerations for writing great code in a variety of environments. (For example, he has sections dealing with AOP, multi-threading, authoring frameworks, etc.) This book is really a best-practice guide for software development in the guise of DI text.

Check it out! This one makes my favorites list."

Slashdot Top Deals

Things are not as simple as they seems at first. - Edward Thorp

Working...