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

 



Forgot your password?
typodupeerror

Comment Re:You should be kissing the author's feet (Score 1) 64

Yvan256 gave the exact answer I had. Writing a cookbook for solutions using technologies that are not fully-baked and agreed-upon is risking delivering answers that may not work when the real world catches up. I much prefer having solutions that can be implemented now, rather than waiting for years for the various browsers to support the technologies. After all, how many copies of IE6 and IE7 are still operational across the web, compared to how long IE8 has been available (and now IE9)? Writing about these techniques now only creates a vision of a tantalizing future that may be years off (in which case this book will probably be in a new edition) or may never come-to-be as envisioned.

Submission + - JavaScript Cookbook

r3lody writes: I have enjoyed other cookbooks in the O'Reilly library of computer texts, so when I saw JavaScript Cookbook by Shelley Powers in the catalog, I jumped at it. The description mentioned that the book would cover HTML5 and ECMAScript 5, so I really wanted to learn the new capabilities of both. I did get to learn a lot, but I wonder if these new features are too new.

Like other cookbooks in the O'Reilly library, this one is organized as a series of specific problems, with their solutions neatly presented and grouped into the major chapters. Each solution has a discussion to flesh out the details. The website has downloadable copies of the examples in the book, which I used to test out the various recipes. ECMAScript 5 is fairly new, and HTML5 is still under development, so I made sure I had the latest stable versions of the major browsers (Firefox, Google Chrome, Internet Explorer, Opera, and Safari) to see how they would cope. The HTML5 features are very sparsely supported as of yet, so those portions of the book should be considered more of a sampling of things to come rather than a definitive set of solutions.

The first five chapters of the book are somewhat unremarkable. They start out easily enough with recipes for handling JavaScript strings. The discussion of String objects and literals obviously implies that the reader is already somewhat familiar with Object terminology and functionality. That makes this book unsuitable for beginners. The following chapter contains recipes for handling regular expressions. It starts off with an introduction to the basics, which are nothing that a somewhat savvy shell programmer should be familiar with. The remaining sections cover pretty basic problems. The only interesting ones I noted handled highlighted found phrases on a web page.

Chapter 3 covers dates, time, and timers. Handling dates is shown to be pretty straightforward, and one-shot and recurring timers are presented in a clear, easy-to-understand manner to wrap up the chapter. The next chapter, Working with Number and Math, consists mostly of basic mathematical solutions. The fifth chapter rounds up the basics with recipes for working with arrays and loops. As a Perl programmer, I found this to be familiar territory – especially the discussions of the splice and map method, and using associative arrays.

Chapters 6-10 provide the first real appetizing recipes in the JavaScript Cookbook. Shelley first discusses building reusability using function definitions, anonymous functions, recursion, scopes and memorization. It's starting with this chapter that you really begin to learn how to use JavaScript rather than just playing around with it.

Event Handling is the first major hurdle a procedural programmer needs to overcome to use JavaScript effectively. Various event triggers are discussed in the sections of chapter 7. While most of the code is easy to comprehend, I ran into problems when using the new HTML5 drag and drop was discussed. I had to ask myself could drag-and-drop be any more complicated? This example worked on all but Opera, but the solution is convoluted. Overall, if you really want to know how screwed up code must be to work in all different browsers, chapter 7 (Handling Events) will demonstrate it. Internet Explorer's differences is the reason for most of the odd workarounds in this chapter.

We would all like each browser to work just like another but, unfortunately, each one has its own quirks. Chapter 8 talks about the various ways browsers handle color support and page sizes. The chapter ends by dealing with dynamic pages and bookmarking their state.

The first time I worked with JavaScript was when I was coding some form handling. Chapter 9 covers the ways to handle forms and modify web pages. The most useful recipes (at least, for me) were the last two, which showed how to hide and display form elements on the fly, and how to modify selection lists based on other form element entries.

All programming involves error handling and usually some debugging. Chapter 10 describes the various ways to handle errors, followed by a well-written set of tips on how to use the debuggers and inspectors for the major browsers.

The following three chapters all deal with manipulating web pages. The first of these contained a lot of discussion of namespaces. Namespaces can be confusing, and I didn't really understand them much better after I was finished reading. In addition, you are presented with several boilerplate templates, with little information as to why you would use them. I also had problems with some of the downloaded samples not running correctly on my browsers. Chapter 12 contains lots of fun ways to manipulate page content, with specific instructions on how to handle IE and its different ways of doing things. Finally, chapter 13 provided some good basics of page manipulation, including creating collapsible sections, and creating tab pages.

Accessibility is the major topic of chapter 14, where you are introduced to ARIA (Accessible Rich Internet Applications). Many web pages are not built with accessibility in mind, so this chapter is very important for giving the web designer the tools for well-designed and usable pages. Some ARIA techniques are straightforward, but others (such as creating collapsible form sections) are much more complex to get right. This chapter does a marvelous job, even though it is somewhat hard to read.

The next chapter covers creating media-rich and interactive applications. This chapter was pretty deep, and the examples were not necessarily bad, but the techniques required need the coder to really think clearly about how to accomplish their goal.

Chapters 16 and 17 cover JavaScript Objects and Libraries. In the Objects chapter, there is quite a bit of discussion around ECMAScript 5, which is not yet well supported in the browsers normally available. As one example, Shelley does say regarding the preventExtensions feature "by the time this book hits the streets, I expect (hope) at least a couple of browsers will have implemented this feature". The Libraries chapter was more problematic in that I was not able to follow along and get the supplied samples working correctly. In addition, the coverage of jQuery was only a high-level overview, leaving the reader wanting more. In her defense, Shelley acknowledges the breadth of the jQuery topic and refers you to the jQuery Cookbook for more information. Overall, I found chapter 17 unsatisfying and abrupt in its coverage.

Communication via Ajax is the main topic for the recipes of chapter 18. Without a proper web server at my disposal, I could not properly evaluate the workability of the solutions. I was also somewhat amused that one of the solutions was described with the caveat that it's not a recommended procedure. I would ask why it was included in that case.

The Working with Structured Data chapter starts by covering JSON (JavaScript Object Notation), but then adds in recipes for handling hCalendar Microformat Annotations and RDFa. The transition was a little jarring, and not overly useful, in my opinion.

The penultimate chapter covered the issues around persistent information. While using URLs and cookies to maintain some state are discussed, much of this chapter revolves around new capabilities made available in the new HTML5 specifications. Unfortunately, most browsers either do not support, or only partially support these features, so the information is only useful as a "taste of things to come".

The final chapter covers the use of JavaScript in non-browser environments. Widgets and gadgets are simple JavaScript applications that are easily coded and disseminated. There are discussions of creating applications for the iPhone, Android phones, and Blackberry phones.

As I step back and reflect on this book, I think that many topics are solutions that cannot be implemented because the typically available browsers don't support the new features yet. If a web page designer wants their site to be available to users now, they need to focus on the features that are well entrenched across the internet. Having so many solutions based on features and capabilities that are still being defined is only useful as academic exercises. I would have preferred that the JavaScript Cookbook be more useful for the state of the web right now. That is why I'm rating it only 7 out of 10.
Book Reviews

Submission + - Windows 7: the missing manual

r3lody writes: It took me a little while after Windows 7 became available before I gave up my Windows XP desktop and purchased a new laptop with Windows 7 Home Premium pre-loaded. Like those who endured the change to Windows Vista, I found myself floundering around a little trying to figure out all of the new bells and whistles Microsoft had added to their operating system. Windows 7: the missing manual by David Pogue is meant to address the needs of people like me. The book, while readable by beginners, is written for users with some acquaintance with Windows. Advanced users will find the book too simplistic, but users up to the intermediate level will find it a handy reference to the new features in all of the flavors of Windows 7.

Writing for the multiple levels of Windows 7 is handled by including a little sub-heading "cheat sheet" after each major heading. Most will have "All Versions", but you may see a subset like "Home Premium ? Professional ? Enterprise ? Ultimate". Handling multiple levels of users is a little more difficult. The book is written for advanced beginners to intermediate users, but beginners to Windows have "Up to Speed" sidebars added to help them understand concepts regular Windows users already know. More advanced users have "Power User's Clinic" sidebars to provide additional information.

Windows 7: the missing manual is organized into 8 parts, comprising 27 chapters and 4 appendices.

After an introductory section describing the book's layout, Part One deals with the Windows 7 desktop. Comprised of 5 chapters, Part One gives the basics of manipulating windows, programs, and files. Chapter 1 describes the Start menu, jump lists (frequently used documents) and the Run command. Next comes Explorer, the Taskbar, and general window controls. Most of chapter 2 is devoted to the eye candy provided by Aero. The third chapter discussing searching and organizing files follows that, with a good discussion of the much-improved Windows Search. Chapter 4 covers personalization (wallpaper, color and sound themes, screensavers and desktop icons), and the last chapter of part 1 explains the ways you can get help (Microsoft's Help system, Remote Assistance, and getting help from Microsoft).

Part Two uses 3 chapters to cover Windows 7 Software. After talking about opening and closing programs, opening and closing documents, and dialog boxes, David Pogue explains how to install and uninstall software, as well as handling compatibility issues. Speech recognition and gadgets got thrown into this chapter, but seem a little out of place. The next chapter discusses various freebie applications supplied with Windows 7, and those available as part of Windows Live Essentials. Most of those are explained in sufficient detail to use, but a few are deferred to later chapters. This part is closed out with rather brief coverage of Control Panel.

The next 5 chapters comprise Part Three, which is devoted to Windows 7 Online. After chapter 9 explains how to get hooked up to the Internet, chapter 10 is dedicated to Internet security. Microsoft Security Essentials, the Action Center, as well as Windows Firewall and Windows Defender are all covered, along with methods of protecting your privacy while you surf. This all leads into the grand tour of Internet Explorer 8, which is talked about in detail in chapter 11. The last two chapters go over Windows Live Mail and Windows Live Services.

Part Four is the media-centric portion of the book. David broke the discussion into three broad chapters: Windows Live Photo Gallery, Windows Media Player, and Windows Media Center. Windows Live Photo Gallery is Microsoft's challenger to Google's Picasa. While Picasa is more mature, Photo Gallery is not shabby by any means, and chapter 14 gives excellent explanations on how to get the most from the program. The next chapter goes over Windows Media Player, which has been around for a long time. There have been some minor changes to it, including streaming media to other computers and handling of more types of audio and video files. Windows Media Center was originally designed for the Media Center Edition PC, but is now available for any version of Windows 7 from Home Premium on up. You get a lot of information on how to set it up and use it for all sorts of media. You'll also find out how to use your PC as a DVR (assuming you have a TV tuner card or USB tuner).

The next part is all about hardware and peripherals. First printing, then Windows Fax and Scan, and finally general device handling are each given their due. The third and final chapter of Part Five covers laptops, tablets, and touchscreen computers, and their special capabilities and limitations.

One thing all computer users need to handle are the inevitable problems. Part Six covers various maintenance and trouble-shooting topics across three chapters. First, general maintenance and speed tweaks, followed by an in-depth discussion of disks, compression and encryption, and finally a chapter on backup, restore and trouble-shooting. All have just enough information to be useful, and not too much to absorb.

The last main part covers networking and homegroups. Windows is the most useful when it's part of a network, and Part Seven explains how to connect it and use it. After discussing setting up accounts, workgroups and domains have their own chapters, so home and office users can focus on what they need. This part ends with chapters on sharing files and remote control (including VPNs and Remote Desktop).

There is a set of 4 appendices that comprise Part Eight. Included are how to install and upgrade to Windows 7, how to use Regedit, and my favorite two chapters – Where'd It Go?, and the Master Keyboard Shortcut List.

Overall, the book does assume you've at least seen a previous version of Windows, as a lot of text explains how Windows 7 is different. I personally would have preferred the author keep the focus on Windows 7 and less on the differences from prior versions. There are a lot of attempts at humor. On the plus side, it keeps the tone of this fairly large book accessible to the novice to intermediate user. On the minus side, the occasional joke usually seems out of place.

I found Windows 7: the missing manual a valuable reference to the many offerings in Microsoft's latest incarnation of Windows. While the writing style varies from simple reference to the occasional attempt at light-hearted guidance, it is a comprehensive, informative and (most importantly) useful manual of the ins and outs of using Windows 7 in all its flavors. With few flaws, I rate this a 8 out of 10.

Comment Two minor corrections... (Score 2, Informative) 107

Two minor corrections: (1) The downloadable content is available. The publisher's had a glitch on their web site that has since been corrected (but not until after I had finished the review - oh well!) If you go to http://www.informit.com/title/0672330970 and click the Download tab, you'll get it. (2) The link for purchasing goes to the 7th edition. This is the 8th edition, and the link to that book is http://www.amazon.com/Sams-Teach-Yourself-Hours-Coverage/dp/0672330970/ref=sr_1_1?ie=UTF8&qid=1265061056&sr=8-1.
Book Reviews

Submission + - Sams Teach Yourself HTML and CSS in 24 Hours

r3lody writes: Sams Teach Yourself HTML and CSS in 24 Hours 8th edition, by Julie C. Meloni and Michael Morrison, provides the beginning and intermediate web designer with the tools needed to create standards-based web sites. The major focus of the book is XHTML 1.1 and CSS 2, but HTML 5 and some XHTML 1.0 are discussed. Overall, the presentation and content are very good. One small minus was the publisher's site did not include downloadable examples from the book. I also noticed that there were no noticeable errata until the latter parts of the book. Published in December of 2009, the 8th edition provides reasonably current information.

Each "hour" of the book includes a "What You'll Learn in this Hour" section at the beginning, and Q&A, Quiz and Exercises sections at the end. Most chapters also include a "Try It Yourself" section, indicating what you should be accomplishing with your own web site. The examples have color coding for the various tags, comments, etc., and the book's examples work with a number of browsers. Specifically, Apple Safari, Google Chrome, Microsoft Internet Explorer, Mozilla Firefox, and Opera browsers were used to test the examples. If you use the coding standards espoused in the book, your web pages should appear properly formatted across most computers. Handheld browsers are only covered briefly, in the section discussing media-specific style sheets.

Overall, the book is divided into five parts: Getting Started on the Web, Building Blocks of Practical Web Design, Advanced Web Page Design with CSS, Advanced Web Site Functionality and Management, and Appendixes.

Part I: Getting Started on the Web provides the customary introductory material, suitable for beginning users. After describing the seemingly obligatory "history of the web", the first hour concludes with discussions of how to choose a web hosting provider – a topic rarely covered in the books I've read. The second hour teaches how to get web pages uploaded to a web server using FTP, and how to distribute content in a file-based structure without a server. The next two hours then cover the basics of XHTML 1.1 and CSS 2. For both XHTML and CSS, very clear instructions on how to validate your coding help insure that your pages follow the standards.

The next 9 chapters comprise Part II: (Building Blocks of Practical Web Design). This part goes into detail regarding web page coding. Starting with text alignment using paragraph tags and lists, the book has a good collection of text formatting tips using CSS as the preferred style methodology. Tables and links are covered in the next two chapters at a pretty standard level. I found the chapter on using color had a lot of good information, but I believe a beginning user would find it somewhat confusing – especially when hexadecimal notation is introduced.

The next three chapters of this part of the book cover images and multimedia. I liked the focus on getting the right sizing for photos and banners, and the tutorial on how to place the images on the web page (including wrapping text, image maps, and clickable images). I was disappointed in the limited coverage of tiling and GIF animation. The multimedia chapter was a pleasant addition – one I have rarely seen in web design texts. The discussion was tilted toward Microsoft technology, so my testing worked properly only under Internet Explorer at first, however I finally managed to get Firefox to deal with the embedded object. Some information was given for embedding YouTube links, also. I would have liked to have seen more information on the parameters for the WMP object coding. The last chapter in Part II covers frames – both framesets and iframes – with only basic information.

Advanced Web Page Design with CSS is the main topic of Part III. These six chapters dig into the important aspects of CSS alignment. One chapter focuses entirely on margins, padding, alignment and floating, and provides a nice introduction to the full discussion of the CSS box model in the next chapter. Reformatting lists was the principal target of the next chapter, leading to a discussion of navigation bars (horizontal and vertical) in the chapter after that. This is where I started picking up on some irregularities that escaped a review. For example, even though this was supposed to be standard XHTML, I noticed some list item ending tags missing from the examples. Granted, browsers still display the list properly, but this should have been caught before printing.

The last two chapters in this part cover modifying text display using mouse actions, and fixed versus liquid layouts. I liked the mouse techniques to modify a displayed image based on which thumbnail image the mouse is over. It's a simple little method that looks very nice on the page. The liquid layout chapter gave me some problems at first. My attempts didn't work the same under different browsers at first, but when I went back over them while writing the review, they worked just fine. I'm still at a loss to understand what was wrong, so I suspect those starting out may have a similar experience.

The final major part, Advanced Web Site Functionality and Management, wraps up some miscellaneous issues. First, they cover how to create a modified CSS profile to make the web page more print-friendly. The next chapter provides an introduction to JavaScript. Unfortunately, this is where I found some more non-standard XHTML code. Web-based forms are covered only at a high-level in hour 22. The authors do provide examples of each type of form field, with CSS code to neaten up the page, but it appears to be a very cursory handling of the topic.

The final two hours go over the basics of keeping your web site organized, and how to publicize the site on major search engines. The book wraps up with a final part for the two appendixes, containing useful links to further information and a general XHTML and CSS reference.

Teach Yourself HTML and CSS in 24 Hours appears to be a properly authoritative text that would help you create a standards-based web site. Like most texts of this type, it does not reference web design software such as DreamWeaver. Rather, it addresses understanding exactly what code standards-based browsers will handle, and how you can manipulate them to create exactly what you want. The two main disappointments with the book are the obvious errors in the later chapters, and the lack of downloadable examples from the publisher's web site. That said, the content is so worthwhile, I rated it an 8 out of 10.
Books

Submission + - Styling Web Pages with CSS

r3lody writes: "Styling Web Pages with CSS: Visual QuickProject Guide, by Tom Negrino and Dori Smith, helps the beginning web designer learn how to use CSS in a simple, easy-to-follow format. This being my first exposure to one of the Visual QuickProject Guides by Peachpit Press, I was both pleased and disappointed when I received this slim volume. I was pleased in the presentation and clear descriptions given to each aspect of Cascading Style Sheets (CSS). I was disappointed in the brevity of the text, and the lack of downloadable materials to use to follow the examples in the book.

Each chapter starts with a brief explanation of its subject, followed by the major topics introduced via large, colorful titles. Finally, any "Extra Bits" provide follow-up explanations or point to where you can get further information.

Before any CSS is discussed, there is a general introduction including how the book is structured, the sample web site to be created, and what tools will be useful to create the site. For the tools, the authors recommend at least a text editor (not a word processor) and your favorite browser. BBEdit and TextWrangler are suggested for Mac owners, while Notepad is okay for Windows. I personally use Notepad++, which has styling cues for both HTML and CSS (as well as many others), so I would recommend it for Windows users. To insure compatibility with the browser, Tom and Dori say you should have Internet Explorer, Firefox, and Safari. Strangely, Opera is barely mentioned in the book. I tested the examples using the first two. Finally, a true CSS editor might be useful, as it will provide you with your options. They suggested MacRabbit's CSSEdit for Mac users, or WesternCIV's Style Master for either Macs or Windows. I used Style Master 4.6 for Windows during testing.

After the introductory chapter, CSS is explained starting with a chapter on the basics, with simple guidelines for their use. Classes (which can be used many times) are contrasted with ids (which can be used only once per HTML file), and the benefits of using external style sheets versus internal styles is explained.

The next three chapters build upon each other to provide gentle instruction on how to layout and style the text and images. Formatting menus, tables and headings are tackled next, followed by a chapter devoted to browser differences. Finally, alternative menu and page formatting and CSS debugging is discussed.

All of the major concepts of CSS are presented so that a beginner can easily understand them. While some ways of utilizing CSS properly can be the subject of debate, the authors have chosen a rational approach that serves the basic web designer well. The result is a set of web pages that follow a simply understood design, yet ensures that the layout and format is isolated to the CSS style document, rather than the HTML.

Over and over, Tom and Dori provide useful links to web sites with additional information on the intricacies of CSS, as well as providing suggestions for programs to help you with massaging images and references to other books for more in-depth coverage.

The best way to fully understand what Tom and Dori are trying to explain is to replicate the example web site (Alpaca Repo). Unfortunately, there is no link in the book or on PeachPit's web site to a set of downloadable images and html files. The only way I was able to replicate most (but not all) of the examples was to look at alpacarepo.com. It has six pages, two style sheets, and two photos. The book shows other photos and more complete pages, so it's a partial solution at best.

Overall, Styling Web Pages with CSS: Visual QuickProject Guide is a nice introduction to the potentially confusing topic of the proper use of CSS. Many of the fancier techniques are avoided for the more common and useful ones. The short length of the book allows the beginner to avoid the feeling of intimidation that can accompany reading a 1,000 page text that covers everything you never wanted to know. Even so, I felt less than satisfied after I finished. I wanted a little bit more than I was given. Even if the book doubled in size, it would still be accessible yet it could then leave the reader with a feeling of contentment. As this is the first QuickProject book I've read, that may simply be the target they were shooting for.

One final wish for Peachpit: please include downloadable files that the reader can access to duplicate the Alpaca Repo website. I was continually frustrated when I wanted to replicate what I had just read about, yet was missing JPEG files or extensive text that I could use. Consequently, I never felt as though I had actually gotten the hang of CSS."
Books

Submission + - Beginning GIMP: From Novice to Professional 2nd Ed

r3lody writes: "An extremely large amount of the information we get on a daily basis comes from what we see. Imagery is therefore very important to those who want to communicate with us. When computers had advanced enough to be able to process images in a digital fashion, the market opened up for programs that could manipulate them in many ways. While many professionals would opt for the paid programs, there is a free alternative: GIMP (Gnu Image Manipulation Program). The only stumbling block is learning how to use it properly. That is where Beginning GIMP: From Novice to Professional, Second Edition by Akkana Peck comes in.

I first attempted to use GIMP to fix a photograph or two of mine, but was quickly bogged down in the many options available in the program. That is why I was happy to get my hands on a copy of Beginning GIMP. The book is based mainly on GIMP 2.4, but the author included a preview of GIMP 2.6 in Appendix D. When I downloaded the latest verson of GIMP from gimp.org, I received GIMP 2.6.0. So I used the PortableApps version of GIMP (2.4.6) on Windows XP while reviewing the book and found only minor variations from the text.

One thing that strikes you as you open the book is the extensive use of color. Most texts are black-and-white throughout, but here you are presented with a pleasantly colorful tome. To follow the examples as best as I could, I downloaded the images available on the gimpbook.com web site. Although the images are supposed to be for the 2nd edition, several of those shown in the text for demonstrations purposes are not included. It appears that the images for the tools new to GIMP 2.4 are missing from the web site. This is surprising, since the 1st edition of the book covered version 2.4, so you would expect the images to be there.

The book begins by giving the reader a brief tour of the three main windows of GIMP: the Toolbox window, the Layer/Channels/Path/Undo window, and the Image window. Some basic navigation is presented, along with tear-off menus and how to modify tool placement. It concludes with a simple project layering a small image onto a larger one was given. Unfortunately, the files supplied from the web site did not include the PNG file used in the text, so it's difficult to reproduce the picture as shown. I later found the missing image in a GIMP-format file called wilber.xcf.gz. Unfortunately, xcf files are not discussed until the next chapter.

After the simple introduction, the author, Akkana Peck, gets into the most common adjustments a beginning user might need: re-sizing, cropping, rotating, brightening and darkening, and fixing red-eye. Each manipulation is presented with careful step-by-step instructions. I was able to match the pictures shown in the book, providing me with a level of comfort that I was learning the right way to fix photos.

One of the most common and useful methods of altering photographs uses the concept of layers. Layers act like cinematic cels, being mostly transparent with some opaque portions to lay on top of other layers. Chapter 3 gives a clear description of how to use layers to make changes. Two sample projects use layers to add text and another image to an existing photo, and to create an animated GIF using a series of layers for each frame of the animation. While I found minor differences between the text and the version of GIMP I used, I had no real problem understanding how the concept is applied.

You will probably need to do some freehand drawing from time to time, and chapter 4 covers the tools you'll need. While these tools are familiar to anyone who has used a basic painting program like Microsoft Paint, there are enough differences in how they are applied to warrant their own chapter. After creating some basic shapes (rectangle and circles), outlining and filling them, the author explores various fills and patterns. The chapter ends with a tutorial of creating a tree in a planter box, using just the drawing tools.

Every tool you use in GIMP works on the current selection. Knowing how to select just the parts of the image you want affected is important to getting the results you want. The author devotes an entire chapter to the numerous ways to select areas, add to or subtract from the selections, and fine-tuning them to only touch the parts you want touched. Basic rectangle, ellipse, and free-hand selections are followed by more sophisticated methods including the intelligent scissors and SIOX (Simple Interactive Object Extraction). The book also shows how to save selections as channels, so you can return to them in future editing sessions.

Sometimes, however, all you really need to do is a little touch-up on a photograph. Is someone's face in shadow or too much sun? Did you wish to get rid of some little irritating extra in a photo? Maybe you just wanted to draw attention to one subject and blur out the rest. Chapter 6 provides the information on how to make these basic adjustments. Darkroom techniques called dodging and burning provide minor adjustments to brightness, while cloning and healing can completely eradicate unwanted portions of the image. To draw attention to portions of the picture, you can enhance it using the blur and sharpen tools.

In addition to simple adjustments, GIMP offers a plethora of various tools to modify or create images. Under the Filters menu, you will find a large selection of tools. When I first looked, I felt that there were so many, who would need all of them? In the Filters and Effects chapter, Akkana Peck goes through them all, showing how they can be used to enhance your image. Because there are so many, she does not provide examples of each effect, but each one is described and you are encouraged to play. Remember, Undo is your friend here!

Chapter 8 delves into a very important aspect of your photos and drawings — the colors. First, the concepts of the RGB (Red-Green-Blue) and CMY (Cyan-Magenta-Yellow) colorspaces are described, followed by the HSV (Hue-Saturation-Value) space. A lot of time is used reviewing how these different colorspaces are used, and how they can be manipulated. The tools for breaking the image into its component layers, and demonstrations on how manipulating them can enhance your photo follow. The chapter concludes with some discussion on color profiles.

Now that you've learned quite a few niceties of GIMP, you need to learn more advanced techniques. The next two chapters go into more detail about drawing and compositing. The chapter on Advanced Drawing covers three main topics: mask and layer modes, realism using perspective and shading, and making new brushes, patterns and gradients. The Layer Mode section is the most interesting, showing how blending layers using various modes other than simple overlays can produce interesting effects. There are a number of examples, all easily followed and replicated. Once you've got a basic understanding of the advanced drawing techniques, it's time to put them to use on photographs. The chapter on Advanced Compositing shows how to use layer modes to play with images to improve their looks. You can brighten images, improve contrast, create eerie landscapes, fix noisy photos, and create panoramas, all using various layer modes. Many examples are shown, so you can get a good feel for the technique.

GIMP plug-ins provide automated tasks for the user. In fact, a number of GIMP's tools are provided by plug-ins. A variety of languages is supported. Plug-in scripts can be written in Scheme (the default — always installed), Python, and Perl (if available on your computer). If you need greater speed, you can write a plug-in in C. Chapter 11 uses the sphere plug-in as an example. Xtns — Misc — Sphere creates a sphere on a solid background. Akkana explains how to modify the script to provide a transparent background. A full discussion of the programming of the original script follows. Each step is carefully explained so only a minimal amount of programming background is needed to understand the concepts. Finally, examples in Python, Perl and C round out the chapter. Also included are explanations of how to find plug-ins and help on callable routines.

Unfortunately, there is so much to GIMP that one medium-sized book cannot contain it all. There is a potpourri of topics in the final chapter, including printing, scanning, setting preferences and the configuration files. The chapter ends with information on where to go for more help, source code, and images.

The appendices offer information on how to get and install GIMP, how to install it on older systems, and how to build it from source. Naturally, GIMP is always evolving, and Appendix D offers a list of enhancements in GIMP 2.6 that were not incorporated into the main text.

Over the course of reading the book, I had very little trouble reproducing the examples as demonstrated. I must admit that, despite the book's subtitle: From Novice to Professional, I am now at best an intermediate user. The depth of the capabilities available within GIMP is much deeper than the author could provide in the text. At almost 600 pages, this book is just about the right size, and provides the right amount of instruction for most people. The Additional Topics chapter provides information and links for further study and training, for those so inclined. If you are a beginner to image manipulation, and want to get fairly proficient with GIMP, then definitely get Beginning GIMP. It's not leaving my desk any time soon."
Books

Submission + - Blown to Bits

Ray Lodato writes: "Few people would deny that the world has changed significantly since the explosion of the Internet. Our access to immense volumes of data has made our lives both easier and less secure. Hal Abelson, Ken Ledeen, and Harry Lewis have written an intriguing analysis of many of the issues that have erupted due to the ubiquity of digital data, not only on the Internet but elsewhere. Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion, published by Addison-Wesley, digs into many of the ramifications of making so much information available to the world at large. As I read through the book, I was alternately fascinated and horrified at what information is available, and how it is being used and abused.

While the subject matter is primarily about a technology that many people may still not comprehend, the book is written at a level permitting most people to understand how it affects them. There is sufficient tutorial information on how the Internet functions to allow all to follow the reasoning. For those more web-savvy, there are many references to web sites illustrating the authors’ points. The reader is encouraged to check them out as you go. While there is a natural flow from one chapter to the next, each one is sufficiently encapsulated so that you can read chapters in any order you like.

The first chapter of Blown to Bits sets the tone of the book by providing examples of how the new technology is both a boon and a menace. As an example of the former, Tanya Rider, who was trapped in her car after an horrific crash, was rescued days later by using the technology behind her cell phone to pinpoint the location of the cellular tower it was “pinging”. In contrast, 13-year-old Megan Meier committed suicide after “Josh” (a fabricated personality) tormented her on MySpace. In each case, the law had a significant role to play. For Tanya, her right to privacy delayed the acquisition of her cell phone location records. In Megan’s case, no law was found to prevent someone from fabricating a MySpace “friend” and saying what they wanted. As the book continues, the clash between the current set of laws and the new capabilities in the digital world is continually spotlighted.

Two chapters are devoted to the vast amounts of data collected on our personal habits, and how the processing power of computers is making it easier for us to extract information that used to be difficult to determine. Most of the information gathered by various companies is permitted by us in the name of convenience. How many of us have signed up for store rewards cards, just to save a few buck here or there? The authors detail how those companies track our purchasing profiles for their own benefit, and sometimes share that information with others. In most cases, they point out that the use in innocuous enough, but the potential exists for damage to us in the form of invading our private lives. In the past, collecting this vast amount of data would require a large investment in people and processing power to extract useful information. The chapter “Needles in the Haystack” shows how the new computers we can purchase today make that power available to anyone with the desire to know. It is made very clear that this data mining is available to anyone with an Internet connection and the desire to explore.

Two other chapters dig into how information can be hidden in files, both deliberately and unknowingly. For example, the metadata that describes a document is stored along with the actual content, and that metadata may not be something you want shared. Another example is how sensitive information in an official document was supposedly redacted (censored with a black bar) yet, unknown to the document owner, the underlying document contained the entire text which was easily retrieved. Data encryption by the general public is a subject of great concern to governments around the world. The chapter on data encryption explains how the FBI attempted to hamper independent efforts to create a strong public encryption algorithm in the name of national defense. Abelson, Ledeen, and Lewis weigh the pros and cons of unbreakable encryption in the hands of the general public with the need of the government to insure terrorist plots cannot be hidden from the Defense Department. This chapter ends with a discussion of how anyone using a browser to purchase goods on the internet uses encryption, and how that’s principally the only use of encryption by the average user.

The final three chapters explore the legal ramifications of the digital age, and how the judicial system has lagged behind. Many news stories have described the fight for ownership of media, especially in the case of the RIAA (Recording Industry Association of America) suing many individuals for allegedly sharing songs. Blown to Bits goes into depth describing the issues on both sides of this case. RIAA’s filing of over 26,000 lawsuits in five years is given as a chilling example of how a large organization can abuse the legal system that has not yet adjusted to the new realities of the ease of copying original works. The concerns surrounding free speech on the Internet include the availability of pornography and inflammatory messages. How do you rationalize protecting those who do not wish to be subjected to certain text or images against the rights of those who wish to make them available? No clear answers are provided, but many facets of the discussion are revealed.

Blown to Bits is a fascinating read which will get you thinking about how technology is changing our lives, for better and for worse. Each chapter will alternatively interest you and leave you appalled (and perhaps a little frightened). You will be given the insight to protect yourself a little better, and it provides background for intelligent discussions about the legalities that impact our use of technology."
Books

Submission + - Configuring Juniper NetScreen & SSG Firewalls

r3lody writes: "Configuring Juniper® Networks NetScreen® & SSG Firewalls (CJNNSF), written and edited by Rob Cameron of Juniper, is an ambitious attempt to provide a comprehensive approach to configuring Juniper’s flagship line of firewall appliances. Unfortunately there are a large number of errors in the presentation that distract and detract from its mission.

CJNNSF is Rob Cameron’s second book. Helping him are six contributing writers: Matthew Albers and Mike Swarm of Juniper, and security consultants Ralph Bonnell, Mohan Krishnamurthy Madwacher, Brad Woodberg, and Neil R. Wyler. Collectively they have produced a book with a lot of in-depth information that will prove extremely useful to anyone working with Juniper devices. It suffers from an apparent lack of proper editorial oversight. Numerous examples exist of inconsistent styles, bad grammer, notes to other authors that were inadvertantly left in, etc. Nonetheless, the actual content still makes this book worthwhile.

The progression through the book is well thought out and builds nicely from previous chapters. Each chapter starts with its own introduction, and ends with a summary, a “fast-track” bulleted list of highlights, and a small FAQs section.

Throughout much of the book, the reader is presented with a set of amateurish figures and tables. While the content is there, the presentation is reminiscent of high-school papers. I found myself wondering why the publisher didn't spend more time cleaning up the book to provide a more finished look. Another item that shows a lack of editorial oversight was the inclusion of a note from one author to another that was apparently left in the text by mistake (see the Solutions Fast Track at the end of chapter 5 to see what I mean). I was amused to see this exchange carried over to the duplication of the book online on the Books24x7 website.

I was upset to see some inaccuracies in the text. One key example is mistaking the TCP sequence number as a packet counter instead of a byte counter. When I read that, I began to mistrust the accuracy of the rest of the book. Thankfully, the Juniper-specific information appears accurate. A more in-depth technical review should have caught such an obvious error.

While Chapter 2 provides valuable information comparing the various models of the NetScreen and SSG/ISG series of security devices, I did have a problem with the formatting of the tables. There are a few cases where I had to look at a table a few times before I realized that information wrapped from the last column back into the first. I also took exception to one statement in particular: ScreenOS is more secure than open source operating systems because the general public cannot inspect the source code for vulnerabilities. Huh? Isn’t one of the reasons why open source is so secure is that many eyes have been able to review it and refine it?

There are three ways to manage Juniper devices: the CLI, the WebUI, and NSM (NetScreen Security Manager). While NSM makes the most sense in an enterprise rollout, the book declared it outside its scope. This does limit the usefulness of the book a little, but much of the WebUI detail is replicated in the NSM, so you may not be missing too much.

Later chapters in the book do dig into most of the capabilities of the Junipers, with examples detailed enough to help you understand how to apply it to your own uses. Policy configuration, attack detection and defense, high availability and virtual systems all have their own detailed chapters. Each chapter provides a wealth of information, once you ignore the amateurish styling.

Overall, you can find most of what you would need to know to choose, configure, and manage Juniper firewalls after reading this book. Unfortunately, you will also find many confusing examples, tables, and formatting inconsistencies. So many times I found myself thinking that my high-schooler would have done a better job laying out this book and making sure the reader wasn’t disturbed by the overall look. Despite that, the actual content does make this worthwhile if you need to understand the Juniper line of devices. I just hope that Syngress and the authors will correct these problems and release a second edition of the book."
Books

Submission + - A Practical Guide to Ubuntu Linux

r3lody writes: "Finding a single book that encompasses what you want to learn can be difficult. Most cover a few portions of a subject in depth and skim over (or omit) others. Other books will cover each topic at about the same level: high enough to give an impression of what can be done, but not with enough depth to do it without a lot of effort. In A Practical Guide to Ubuntu Linux, Mark G. Sobell has created a single volume that gives the reader enough information to effectively install, configure and run workstations and servers using Ubuntu Linux. He has come the closest I have seen to containing all of the necessary information without being too shallow. Granted, to include everything you would want to know about Ubuntu Linux would take several books of this size, but this particular one provides most users the best bang for the buck. A DVD with the Gutsy Gibbon release of Ubuntu in a directly bootable form is included with the book.

With over two decades of experience related to Unix and Linux, Mark G. Sobell has authored almost two dozen books on the subject. I had previously read and reviewed his book A Practical Guide to Red Hat Linux: Fedora Core and Red Hat Enterprise Linux (Second Edition) and found it the highest quality book I had yet read on Linux. This, his latest book, bears many similarities to the other text, including its high quality. The overall structure is like that of a textbook, providing a summary and exercises at the end of each chapter, as well as copious cross-references.

A Practical Guide to Ubuntu Linux is broken up into five parts containing 27 chapters in all. After providing the now obligatory history of Linux and the GPL, Part I uses two chapters to provide an overview of, and step-by-step instructions for, installing Linux. The overview provides information about the process including how to try Linux with the Live DVD supplied, planning your hard disk layout, acquiring a newer version of Ubuntu, and the install process in general. The step-by-step chapter goes into great detail on each step of the process, using both the graphical and textual installation paths. It also throws in additional detail on how to configure the X server.

Now that you have Linux in a runnable form, Part II provides higher-level information that shows newer Linux users what they can do. Four chapters serve to introduce basic Linux to the user. Topics include how to update, install and remove program packages, how to use the command line (and some basic utilities such as cat, ls, more, less, etc.), how the filesystem is laid out, shell concepts such as pipes and job control, and where to find additional documentation.

Part III uses another four chapters to dive deeper into the Bourne Again Shell (BASH), the GUIs, and networking. First the X Window System is described, followed by the GNOME and KDE desktops. BASH is covered in two separate chapters, inexplicably separated by the chapter on networking. The first BASH chapter provides the reader with information on startup files, command history, redirection, etc. The other BASH chapter goes into depth regarding programming BASH scripts. The intervening networking chapter provides a basic understanding of network protocols and some utilities such as ping, traceroute, host and dig.

Up to this point, Mark has been showing the user how to use Ubuntu Linux with little modification. Starting with Part IV, he describes how to perform the more common configuration tasks. Using seven chapters and over 200 pages, Part IV provides a great deal of detail regarding system administration. Starting with some core concepts (running as root, sudo, startup scripts, wrappers, recovery mode, etc.), Mark then leads the reader into the nooks and crannies of the filesystem. The following chapter shows how to add and remove applications using apt, aptitude, dpkg, wget and BitTorrent. Printing using CUPS is given its own chapter next, as is the (at least to me) daunting task of rebuilding the system kernel. The last two chapters in Part IV cover the miscellaneous administration tasks of adding, changing, and deleting users and groups, backing up and restoring files, managing the various logs, and setting up your network connections (both wired and wireless).

The final section, Part V, uses nine chapters to go into depth on set up various servers and use their clients. OpenSSH, FTP, exim4 (for mail), NIS, NFS, Samba, DNS/BIND, the firewall (firestarter and iptables), and finally Apache. Each of the chapters provides Jumpstart sections to help you install and configure each server quickly, and enough detail to handle the more common configuration changes.

There are five appendices covering regular expressions, where to get help, general security considerations, the Free Software Definition, and a bullet list of major items added to the 2.4 kernel to form the 2.6 kernel. These are followed by a fairly comprehensive glossary and index.

Overall, A Practical Guide to Ubuntu Linux by Mark G. Sobell provides all of the information a beginner to intermediate user of Linux would need to be productive. The inclusion of the Live DVD of the Gutsy Gibbon release of Ubuntu makes it easy for the user to test-drive Linux without affecting his installed OS. I have no doubts that you will consider this book money well spent."
Books

Submission + - The Symantec Guide to Home Internet Security

r3lody writes: "There are many households that have high-speed Internet connections, yet most people are simply not doing enough to protect themselves from the many exploits that exist. The Symantec Guide to Home Internet Security by Andrew Conry-Murray and Vincent Weafer was written to speak to those people. Though this book’s first printing was in September 2005, much of the information still remains relevant. Symantec Press is the publisher, yet it remained reasonably vendor-neutral.

This book is for non-technical people. Its ten chapters cover a relatively slim 240 pages, so it should not intimidate someone who is not a computer professional. Also, you do not really have to read the book front-to-back, but you can focus in on the chapter or chapters that interest you and have fairly complete information.

The first chapter gives the reader a basic overview of the risks of using the Internet without some steps to protect yourself. Fraudsters, those who ply you with get-rich-quick schemes and other spam-delivered scams, are distinguished from hijackers who compromise your machine for local data or to make it part of a “bot farm”. The remaining chapters discuss various aspects of security exposures, how to protect yourself from them, and conclude with a checklist of high points and “Helpful Resources” that contain web sites, phone numbers, and occasional additional side-bars with more in-depth examples.

The next chapter is a very informative chapter on preventing identity theft. This part of the book is worthwhile, even if you don’t use the Internet for financial transactions. The authors mention how your personal data can be stolen from company databases, despite precautions you yourself have taken. There are discussions on social engineering and dumpster-diving, as well as phishing scams and keyloggers. The best part of the chapter is the “Recovering from Identify Theft” section. Hopefully you will never need the information there, but it’s very helpful to see it collected in a simple bulleted list. The second side-bar at the end discusses a personal account of a brush with identity theft.

Chapter 3 covers firewalls, which most people think is the only protection they need. It discusses the basics of Internet Protocol (IP), and what firewalls can and can’t do. Lists of both free and commercial firewall products are provided. It wraps up with a few sites that can test your firewall settings to see if you are really protected or not. There were a couple of minor errors (for example, 192.101.432.156 is offered as an IP address, but the third number can’t be more than 255), but most non-technical people need the product lists provided.

The following two chapters cover the various forms of “malware” (viruses, worms, adware, spyware, and Trojans). Conry-Murray and Weafer provide several preventative actions you can take to avoid infection — the most important involves using your common sense (e.g. “Use a firewall” and “Don’t Open Strange E-Mail”) They wrap up by describing how to remove malware via the available anti-spyware programs.

The final category of unwanted Internet debris is spam. The authors state that for most people “spam is an annoyance rather than a plague.” However, they go on to disclose figures that estimate anywhere from 50 to 90% of the 30 billion e-mails sent each day are spam. To explain why spam works, a side-bar talks about Jeremy Jaynes, who was convicted in November 2004 for spamming. He generated about 10,000 credit card sales per month. Two-thirds of those were returned, yet he still netted more that $100,000 a month.

Chapter 7 covers securing Windows XP. At the time of publishing, Microsoft had come out with XP Service Pack 2, with the Windows Security Center. A large section deals with installing SP2 and configuring the Security Center. It’s kept at a level that most users can comprehend and follow, making it another very worthwhile chapter. The following section describes securing Internet Explorer 6 in great detail. The authors do suggest, however, that you might want to use a different browser, such as Firefox or Opera. The thinking is that Firefox and Opera will be more secure because fewer exploits are targeted towards them.

Locking down Windows and IE is not enough to keep your family safe. That’s why they devote the next chapter to “Keeping Your Family Safe Online.” Pitched mostly to parents of younger kids, chapter 8 starts by talking about blocking objectionable content using IE’s Content Adviser. Sexual predators is the next topic, and the authors give the reader good information on how to monitor your children’s online activities, as well as how to report solicitations to the authorities. The final topic revolves around file-sharing software. While they mention the prospect of downloading viruses, the legal ramification of potentially housing illegal downloads is the most important lesson to take away from this section.

Many homes are now using wireless access points. Unfortunately, poor configurations open them up for eavesdroppers and bandwidth hijackers. The simple precautions of changing and hiding the network name (SSID) and changing the password will do a lot, but encryption using WEP, WPA, or WPA2 will help a lot more. They also go into the security issues of public hotspots, including the prospect of “Evil Twins” (user computers that offer a look-alike access point just to steal your personal information).

The book wraps up with a chapter on “Privacy and the Internet.” Anyone who conducts any transactions over the Internet has their personal data stored on a computer that might be accessed online. The key precaution is to not divulge any information you don’t absolutely have to. Data Brokers collect amazing amounts of information on each of us. Three major companies, Acxiom, ChoicePoint and LexisNexis are individually described, with information on how to get reports on what information they’ve recorded, and possibly how to opt-out of having it stored.

Andrew Conry-Murray and Vincent Weafer conclude the book by giving the reader five basic steps to protect themselves online. However, I prefer their final, single simple rule: Use Your Common Sense.

The Symantec Guide to Home Internet Security, though a slim book, is packed with a lot of valuable information pitched to the non-technical user. I believe that anyone with a computer connected to the Internet would benefit from reading this book."

Comment Re:IDS (Score 3, Informative) 137

Chapter 6 (Using Tools for Security Testing) goes into NMAP and Nessus in depth, then mentions a few additional tools at the end. dsniff, Ethereal, Ettercap, LIDS, Netcat, SARA, Snort, tcpdump, and Titan each have a one-paragraph writeup, with links to the websites for the tools.

Slashdot Top Deals

"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Working...