Wednesday, May 30, 2007

Google Deal Said to Bring U.S. Scrutiny

Posted by T. Michael Testi ( , PhotographyToday, ATAEE)

From - New York Times



The Federal Trade Commission has opened a preliminary antitrust investigation into Google’s planned $3.1 billion purchase of the online advertising company DoubleClick, an industry executive briefed on the agency’s plans said yesterday.

The inquiry began at the end of last week, after it was decided that the Federal Trade Commission instead of the Justice Department would conduct the review, said the executive, who asked not to be identified because he had not been authorized to speak. The two agencies split the duties of antitrust enforcement.

An F.T.C. spokesman said yesterday that the agency did not comment on pending inquiries.

The deal, involving powerful forces in their respective niches of the online advertising business, prompted privacy advocates and competitors to raise concerns after it was announced last month. Those concerns and the deal’s size made a preliminary investigation all but certain, according to antitrust experts.

The F.T.C. has also issued Google a detailed list of questions, the industry executive said. This step, known as a "second request" for information, can suggest that a proposed acquisition raises more serious antitrust issues. But legal experts said the request is mainly a sign that the agency is closely scrutinizing the Google deal. Read more...


World's largest MP3 store launches

Posted by T. Michael Testi ( , PhotographyToday, ATAEE)

From Boing Boing:

PayPlay has just launched "the world's largest MP3 download store" -- a store selling more than 1.3 million indie music tracks, with a search engine that allows you to search for your fave artists and get similar indie artists in the catalog. Previous to this PayPlay sold only DRM-crippled WMAs for $0.77, the MP3s sell for $0.88. I guess that we could take that as a tacit admission that DRM makes music worth less, but it does seem a little weird to charge a premium for music that doesn't treat you like a crook. The service says that this reflects the cost of retooling to host MP3s instead of WMAs. Another unfortunate legacy is the service's name, which reflects a time when the business was built on DRM and tried to offer artist the opportunity to get paid for their work. But "PayPlay" doesn't really sell the service to the public, who don't perceive having to pay as a benefit. Read More...



The new Microsoft Coffee Table...

Posted by T. Michael Testi ( , PhotographyToday, ATAEE)

  You gotta check this out. From Popular Mechanics is the video of Microsoft Surface; the first completely new computing platform since the PC. Hear the story about Microsoft's new product...a coffee table.


From the press clipping

" The software giant will announce at the D5 conference today that it’s built a new touch screen computer—a coffee table that will change the world. Go inside its top-secret development with, then forget the keyboard and mouse: The next generation of computer interfaces will be hands-on. " Read more...

Tuesday, May 29, 2007

The final days of Google

Back in the 1990s Bill Gates said the company that would eventually beat Microsoft probably had yet to be founded - some people believe that company is Google. But what about Google itself, who will kill Google? An interesting analysis of who is most likely to form "the next big thing".

read more | digg story

reddit has been hacked

Digg competitor reddit has just been hacked with a major XSS exploit. Interestingly, reddit's founder was aware of the exploit months ago, but neglected to fix it.

read more | digg story

Top 20 Temporary and Disposable Email Services

Now a days Internet has become a home to spam. Millions of spam bots crawl the web daily to find email addresses and then bombard them with spam emails thus destroying their efficiency and creating problems for users. The best solution to this is to get a temporary or disposable email inbox which automatically expires after a certain time period.

read more | digg story

Friday, May 25, 2007

Facebook Launches Facebook Platform; They are the Anti-MySpace

Facebook is giving an unprecedented amount of access to developers. The API would allow, for example, a third party to recreate Facebook Photos, the most used photo application on the web. Users could then remove the default Facebook Photos and install the third party version instead. There will be a special applications area on Facebook where users can browse and add third party apps. But there is also a crucial viral component - when a friend adds an application, it is noted in their news stream on their profile. Clicking on the item brings you to the app, where you can add and/or interact with it yourself.

read more | digg story

Bill Gates & Steve Jobs Set For Historic Conversation

Although Gates made a famous phone call to Jobs in 1997 and the two shared a stage briefly at a 1983 Apple promotional event, the two industry icons have never had a public conversation. Issues such as whether it's wiser for a company to partner or build everything itself. Or the primacy of software versus hardware in personal computers. Or which is more important: how easy it is to use a product or what it can do once you figure out how?

read more | digg story

20 WordPress Themes That Don't Disappoint

We’ve compiled a list of 20 WordPress themes you might have missed, or that deserve a second look. All the themes are free to download.

read more | digg story

Top 10 Ways to Use is an excellent system for archiving your favorite information from across the Net, tracking hot topics, and discovering new and useful sites. The power of comes in the form of it’s “collective intelligence”, which is constantly adding, reviewing, and filtering new information.

read more | digg story

Friday, May 18, 2007

25 Killer Code Snippets every Good Designer Should See

Round up 25 of the Best CSS, scripts, html, javascript, Ajax and widgets that you can use on on your website or blog (Part 5) .....

read more | digg story

5 Most Outrageous Inventions Ever

Including the "Twirl-a-Squirrel"

read more | digg story

The First Terabyte Hard Drive--Review

The terabyte era arrives, with Hitachi's 5-platter, 10-head 7K1000 hard drive. ExtremeTech puts Hitachi's latest hard drive on the bench and let you know how it performs.

read more | digg story

Torvalds tells Microsoft to put up or shut up

Torvalds, the leader of the project to create the Linux kernel, was contemptuous of Microsoft's claims and has asked Redmond to name the infringements so that their veracity can be challenged and workarounds found.

read more | digg story

Thursday, May 17, 2007

Google Wins Appeal on Copyright of Nude Images

A federal appeals court ruled yesterday that Google did not infringe on the copyrights of an adult publishing company by displaying thumbnail images of its nude photographs, handing Internet search companies a victory by allowing the display of such miniature pictures in search results. This should mean that if you use thumbnails in your websites or blogs, the same fair use could be claimed.

read more | digg story

Scammers gaming YouTube ratings for profit

Spyware researcher says scammers are inflating the popularity of videos on YouTube and other sharing sites, often as a lure to Websites loaded with malicious programs

read more | digg story

Everything You Ever Wanted to Know About Lists and CSS

Step by step CSS list tutorials, this takes you through the process of building background image lists, rollover lists, nested lists and horizontal lists.

read more | digg story

Speed matters. Why don't other sites get this?

I spend a lot of time optimizing our site for speed - and the customer payoff is huge. I spend almost as much time wishing other sites would do the same thing. Alexa says our pages take .9 seconds, median, to load. Let's see how the other big photo sharing sites stack up, shall we?

read more | digg story

New process generates hydrogen from aluminum alloy to run engines

A Purdue University engineer has developed a method that uses an aluminum alloy to extract hydrogen from water for running fuel cells or internal combustion engines, and the technique could be used to replace gasoline.

read more | digg story

ReadyBoost doesn't really "Boost" Vista all that much.

Windows Vista's Windows ReadyBoost sounds too good to be true, and based on our extensive lab tests, it is. The technology promises to let you speed up Windows by plugging an inexpensive USB flash drive into your PC. But we found that while ReadyBoost may speed up Vista a tiny bit, it can also slow it down in some instances.

read more | digg story

ABC to Stream HD Shows Online [1280x720]

Disney-ABC Television Group claimed to be the first major television programmer to stream HD video online, at 1280-by-720 resolution.

read more | digg story

Wednesday, May 16, 2007

Wireless USB is the Future

Forget cables; the way you'll connect devices to your PC will be wireless. That's according to new research from In-Stat which predicts that Wireless USB will become the way to connect kit to your PC by 2008.

read more | digg story

MySpace News Brings Us Painful Screams of Silence

New poster child for the ghost town effect: MySpace News, the social news site brought to you by your billions and billions of friends at MySpace, the most popular social networking site of ever.

read more | digg story

XM Suspends Opie and Anthony, Fails Subscribers

By suspending Opie and Anthony, XM has violated its promise to subscribers.

read more | digg story

Most Addicting Flash Game You'll Play This Week

your a worm....or something, but you're moving really fast and trying to avoid dots that kill you. weird. addicting.

read more | digg story

Design Concept: Whoa! SLIQ is One Sexy Phone Concept

It's been a while since a cellphone has filled us with as much lust as this SLIQ design. It's a concept by Mike Serafin with no keypad and what he calls an "advanced touch interface." It better be pretty advanced, because we haven't been all that impressed with touch interfaces thus far.


read more digg story

Tuesday, May 15, 2007

Understanding Apollo

Basically, Apollo creates a new type of runtime bringing web apps to the desktop for a richer, more interactive environment. So far we have Finetune (a desktop music player similar to or Pandora), eBay's Apollo desktop (Project San Dimas) and Adobe Media Player (a web TV app, a video aggregator, using RSS, and player at heart).

read more | digg story

David Pogue's ''It's All Geek to Me'' debuts Friday

This Friday, The Science Channel debuts "It’s All Geek to Me," a new weekly series that brings Mac fan, O'Reilly author and The New York Times personal-technology columnist David Pogue's expertise on the world of technology to television.

read more | digg story

Web sites where You can submit free article for publication

One method for getting high-quality links is to write quality articles and submit them to other web sites for publication. Each article should include a link back to your web site. These links are better than links from link pages, because there tend to be very few outbound links on the article page.

read more | digg story

Top 20 Social Bookmarking Sites Ranked By Traffic - May 2007

If your looking for the best sites to help drive traffic to your blog or just looking for the latest informational gem on the web. Here are the top 20 largest social bookmarking sites ranked by a combination of Compete and Quantcast data. For each site, they show unique U.S. monthly visitor data as well as respective rank as of 5/15/2007.

read more | digg story

Audio Book Review: Rogue Angel - The Spider Stone by Alex Archer

by T. Michael Testi ( , PhotographyToday, ATAEE)

Rogue Angel: The Spider Stone is the third installment of the Alex Archer series, Rogue Angel. This story revolves around the West African slave trade of the middle 1700's, a group of Hausa warriors who died in the 1860 Civil War era Kirktown Georgia, an ancient map that exists on the legendary Spider Stone, and the African warlord who will stop at nothing to get it.

Once again I was treated to a Graphic Audio performance that really brings the listener into the story. The combination of sound effects and artistic vocal performances creates what Graphic Audio calls a "Movie in your Mind," and that is truly what it is.

Rogue Angel: The Spider Stone – Graphic Audio

The story begins when Annja Creed, the reincarnation of Joan of Arc via Joan's legendary sword, is called to investigate a significant find by fellow archeologist, Professor Noel Hallinger. The bodies of sixteen slaves from the Civil War era were found in a warehouse that is scheduled to be torn down. What is unusual is that these slaves have warrior weapons, and have apparently been murdered 150 years ago.

We quickly find out that others know of the Spider Stone and will try anything to get their hands on it. Most notably, the Yoruban warlord, Tafari, will stop at nothing to grab the fortune for himself. It is said that the trickster spider God Anansi, bestowed the stone upon the Hausa and that the map leads to a great treasure, but will Annja survive long enough to find it?

I think that Rogue Angel: The Spider Stone may be the best so far. The author has found a solid voice in the character and it shows in both the voicing as well as the story progress. This, as with the previous two volumes, is a good blend of action, adventure, supernatural powers and history. The rich characters that populate the story truly make it worth listening to; whether it is Roux (who makes a cell call), Garin (who has a prominent role in this story), or some of the new characters such as the old wizened woman Janeiba, or the Homeland Security agent, McIntosh, that bring the story to life.

The quality of the story and performance are two of the reasons that I keep coming back. You can also check out some of their other series as well. If you want you can down load of MP3 excerpt, or purchase the GraphicAudio Book from their on-line Store. The story comes three ways; standard CD, MP3 CD (the version I reviewed), and downloadable WMA with digital rights management.

Microsoft SQL Server "Katmai" Announced

Microsoft SQL Server “Katmai” Builds on Proven Success of SQL Server 2005, Empowering Customers to Manage the Data Explosion
Vision for next release of SQL Server announced at Microsoft’s first Business Intelligence Conference.

read more

( , PhotographyToday, ATAEE)

Temporary Projects in Visual Studio 2005

If you ever wanted to do a quick temporary project in Visual Studio 2005, let Donn show you how.

read more

( , PhotographyToday, ATAEE)

The Standards Way to Do Dynamic Data

Somewhere in between presenting static information graphics and complex, interactive data dashboards there's a need for a way to visualize moderately dynamic data on the web. Oftentimes the solutions you see implemented are clunky, for example, manually creating multiple frames of various data points and uploading them by hand.

read more digg story

( , PhotographyToday, ATAEE)

Monday, May 14, 2007

Top 10 Things Microsoft Loves and Hates About Open Source

Over the years, Microsoft has had some pretty harsh words (and actions) for the open source community in general and for Linux in particular. And with news this week that the company reportedly wants open source software users to pay royalties on 235 alleged patent violations, the relationship is obviously changing.

read more | digg story

Brian Shaler: "Writing Tools for Digg Users: The Inevitable Digg Effect"

" is an ideal target for creating instant gratification content. You can come out of nowhere and have tens of thousands of new users in 24 hours. An inevitable woe is the Digg Effect -- a sign of success and often the key to server failure." Sharing a programmer's experiences with and advice about avoiding the Digg Effect.

read more | digg story

Top 10 stupid online business ideas that made someone rich

We all know of the pet rock, the hula-hoop and mood rings all had two things in common, they were stupid and they made the developer rich. Well here are the ten stupidest online businesses that made people rich.

read more | digg story

Stealing IS a crime, right?

One of the web's greatest photographers, the Icelandic _rebekka, is having her photos ripped off and sold on ebay and elsewhere by . Companies need to know that posting a photo to the internet DOES NOT make it public domain! Let's shut them down!

read more | digg story

Sunday, May 13, 2007

Book Review: Build Your Own Ruby On Rails Web Applications by Patrick Lenz

by T. Michael Testi ( , PhotographyToday, ATAEE)

In the past two years, Ruby on Rails has shaken up the web development industry by providing an application framework whose goal is to increase the speed and ease of web development. Computerworld named it number one of the "Five Hot Technologies of 2007." Ruby on Rails, often shortened to RoR or just Rails, is an open source project that is written in the Ruby language.

The goal of Build Your Own Ruby On Rails Web Applications is to shorten the learning curve for your ramp up to Rails. The platform is well suited to design-oriented people looking to build web applications as well as to those who are unhappy with the languages and/or frameworks they are currently using. The author clearly states "I don't expect you to be an expert programmer - this isn’t a pro-level book"

The book is divided into twelve chapters that guide you methodically toward developing a social website application. In fact, the application that you develop is based on the popular story-sharing web site

The first four chapters get you started in understanding what Rails is and how to install it; there are instructions for Mac OS X, Linux and Windows. You then get introduced to Ruby, a scripting language that you will use to develop your Rails application before you get into the Rails framework.

In chapter five you actually begin to develop the application, called Shovell. Here, Lenz describes using the Rails model generator to create a "story" model so that everything else can be built around it. He also discusses views and you then build a controller to handle communications between models and views.

Chapter six adds functionality via form helpers as well as building unit and functional test cases. Chapter seven looks at Ajax to add voting functionality and Web 2.0 for good looking effects. Chapter eight covers protective measures, or how to manage users and user's rights.

Throughout the core portion of the text, as well as the remaining chapters, the author is also, indirectly, teaching you about dynamic website development. You have HTML, CSS, XML as well as databases and both server and client code. I believe that by using Rails and the features of both Ruby and Rails, it makes this integrated learning almost seamless.

The remaining chapters cover more advance topics such as writing your own helpers, using callbacks, and creating complex associations. There is also more on unit and functional testing. The author describes the use of plug-ins and how they can add functionality to your site. He also describes benchmarking and debugging your site and then finishes up with deployment.

What you will learn from Build Your Own Ruby On Rails Web Applications:

• Build and deploy a complete Rails web application
• Use Rails' Ajax features to create slick interfaces.
• Reap the benefits of a best-practice MVC architecture.
• Work with databases easily using ActiveRecord.
• Create a user authentication system.
• Use object-oriented concepts like inheritance and polymorphism.
• Use migrations to manage your database schema without data loss.
• Achieve maximum code reuse with filters and helper functions.
• Analyze your application's performance using the Rails logging infrastructure.
• Benchmark your application to determine performance bottlenecks.
• Much, much more…

This is a perfect book if you are looking to get into Web 2.0 development and want a step-by-step guide to bring you up to speed. It does a good job of introducing Model-View-Controller architecture as well as laying out testing methods as being important with the implementation of unit and functional testing. Finally, I like the clear, concise and entertaining style that the author uses in presenting his material.

Book Review - Everyday Scripting With Ruby: For Teams, Testers And You by Brian Marick

by T. Michael Testi ( , PhotographyToday, ATAEE)

Everyday Scripting With Ruby is a book that is geared toward the computer user who is not afraid to scale new heights to try to improve their skills. The premise is that people who use computers routinely do many repetitive tasks that would be better offloaded for a computer to do. Often they think that programming it themselves is too hard, and they cannot justify hiring someone to write a program to handle their menial tasks. Using the Ruby language, anyone who is comfortable with a computer can now learn automate these tasks with a little training.

Ruby is an object-oriented scripting language that originated from Japan. It takes some of the best features from some of the best languages and combines them to make a simple and easy to use yet powerful system for processing tasks. It is freely available as open source software and is available on many platforms including Windows, Mac OS X and Linux.

Everyday Scripting With Ruby targets three audiences. First the "Tester," the person who is involved with the development of software but thinks that programming is too hard. The second target audience is the "Analyst" or someone who manipulates a lot of data. With Ruby scripts, they can automate mundane tasks and free up more time for more rewarding things. Finally, this book is for the programmer who hates to use complex programming languages to accomplish these smaller tasks.

The book is divided into an introduction and five sections. The introduction and getting started section is an overview of what will be accomplished and the best method for success. It will also provides assistance for installing Ruby on a computer and making sure that everything is running correctly. The next sections build four separate projects with the purpose of enhancing the reader's skills and building his or her knowledge of Ruby.

"The Basics" is a project that will teach the reader how to create a system to compare two text file "inventories." The reader is given an old file and then needs to create a new file. The goal is to create a dynamic script, that when run, will note changes in the two files. While the program is somewhat trivial, it teaches a lot of important concepts within the Ruby language without getting bogged down on a complex project. The techniques would be handy for automatically comparing differences in many other files such as logs.

"Growing a Script" is about creating project that "reaches out to a version control system"; in this case the VCS is Subversion, an open source product that saves its files in text. While this would not work for the VCS that I use, it does a fine job of teaching the reader how to manipulate text files.

"Working in a World Full of People" introduces the reader to Ruby's power of Screen Scraping. That is, visiting a website and scraping the data and putting it into a comma separated value file (CSV) that can be used by a spreadsheet or to import into a preferred database program. The programmer can get into some real meaty issues of file manipulation and the use of regular expressions to parse data.

"The Accomplished Scripter" works on a project called "Watchdog" that monitors long running tests and programs. It will teach the reader how to install and configure Watchdog. In this project the reader will be learning how to work with frameworks and modify code to manipulated for custom uses. The project teaches the reader how to send text to instant messengers or email with the status of a project. Here the reader learns how to handle inheritance, working with superclass' as well as subclasses.

"The Back of the Book" contains the glossary, solutions to exercises, and the bibliography.

Everyday Scripting With Ruby is a well written introduction to the Ruby language. While it may be too simple for an experienced Ruby developer, an experienced programmer coming to Ruby would find it easy to read and a good place to learn Ruby incrementally. Some one who is not a programmer by avocation, but enjoys mucking around a computer, will find it a wonderful treat!

Book Review: The Photoshop Anthology: 101 Web Design Tips, Tricks and Techniques by Corrie Haffly

by T. Michael Testi ( , PhotographyToday, ATAEE)

If you are like a lot of web developers I know, you can work with HTML, you can work with databases, you can work with the language with which you program, whether it be PHP, Ruby, ASP.NET, Java or any of the other popular web languages. You are probably even gifted at what you do. Where I have seen a lot of people cringe is when the development manager or customer comes in and says, "I need a new button that looks like this!" Or, "Can we get a background that looks like my wood floor?" Or even, "Can you make that text curve around that globe and make it look like it in motion?" I can already see that deer-in-the-headlights look on your face. "I..I..I am a programmer," you stutter. "I'm not a graphics designer! I can barely spell Photoshop!"

Have no fear. Corrie Haffly is to the rescue with her book The Photoshop Anthology: 101 Web Design Tips, Tricks and Techniques. This isn't your typical Photoshop book. This book is really focused toward web developers: those who are comfortable with the programming aspect of web design but may have limited experience with graphic side of web development. The author begins from the base and works up providing you with the ability to actually learn how to create useful items for your web design.

The book is contained in nine chapters that start you out by showing you around in Photoshop, getting you comfortable with navigation and learning some basic techniques. In chapter two, you will begin learning the basic skills that you will need to grow in you use of Photoshop. Most of these are simple skills that show you how to work with layers, shapes and documents. You will learn how to sample colors from image files, fade images, and work with drop shadows and transplant backgrounds.

In chapter three, you learn how to make buttons - something frequently needed in web design. You learn to make simple flat buttons, beveled buttons as well as ones that are chiseled, embedded, metallic, plastic, glass, and have a watery feel. Once you complete all of these, you will be on your way to creating your own effects and designs.

Chapter four is about creating backgrounds. These include striped, pixel, brushed metal, wood-grain, stone and paper. You'll be emulating, your boss's wood floor in no time. Chapter five works with text, here you will be wrapping, stretching, curving, and warping text. You will make it glow, outline, glass, adding shadows, patterns, changing shapes and making it move.

In chapter six you work with images. You will be able to adjust tones, whites, contrasts and make colors more vivid. You learn to lighten or darken areas on an image, combine images, clean up dust or scratch marks, match lighting or fix red-eye. Chapter seven guides you into manipulating images to create a magnifying effect, make the foreground standout, put a picture into a product box or curved surface, as well as making product photos for an eCommerce site.

In chapter eight involves building a new web page-sized document. Using the techniques learned in the book, you will be able to create all of the images, backgrounds and menu items to navigate your web page. You will see how to slice and dice your layout, optimize, and save the elements to use on your website.

Chapter nine completes the book with advanced techniques such as automation, batch processing and animation, instructing how to watermark photos, work with layer sets and create a web photo gallery.

The Photoshop Anthology is not really a book for photographers, graphic artists or illustrators. Although each of these groups can certainly learn techniques from this book, it is not to whom this book is aimed. This is really a book for web developers and web designers. It is really a must read for those who can do the programming side of development but are intimidated by the graphic side of web design. Through her solution-discussion method of explaining each of her techniques, the author provides a firm foundation from which to tackle your graphic fears.

Book Review - Learning MySQL by Seyed M.M. "Saied" Tahaghoghi And Hugh E. Williams

by T. Michael Testi ( , PhotographyToday, ATAEE)

Learning MySQL is geared toward those people who don't know a lot about deploying and using a database management system, or about developing applications that use a database. By using MySQL, the leader of open source database management systems, along with the PHP and Pearl programming languages and this book, the authors attempt to provide a readable introduction to managing data.

The book has 18 chapters divided into six parts. To work with this book you will need a computer that is running Window, Linux or the Mac OS X operating system; a web server, the one introduced here is the Apache web server; and the PHP and Pearl languages for programming specific tasks to MySQL. Each of these is available for free on the web, and described in the book in the introduction.

Part one provides the overview of the book's content and focus. The authors describe how MySQL fits into the realm of information management tools and technologies. They explain how to set up your system and how to configure the software on differing systems. Finally they introduce the text-based interface to MySQL Server and how you can use it to control almost every aspect of the program.

Part two, Using MySQL, begins with the how-to of proper database design. You will learn how to determine what features your database will need and how items relate to each other. You will learn how to read data from existing databases, how to create new databases, what queries are, how to use them and how to nest them. You will find out about importing and exporting data as well as internal information on how MySQL process a query. You will also be given an overview of how to prevent unauthorized access to your data.

Part three, Advanced Topics, will teach you how to back-up your data and how to recover from a loss if your hardware does crash. You will learn how to use configuration files to fine tune the behavior of your MySQL server. It is here that you will also discover performance tips that can improve your overall performance.

Part four, Web Database Applications with PHP, will explore the world of database applications beginning with an introduction of the PHP language and how it can be used to work with your MySQL database. Then the authors, by designing a wedding gift registry, will show you the basics of designing your application.

Part five, Interacting with MySQL Using Pearl, present an easy to use introduction to the Pearl programming language. By using the Pearl DBI module to connect to MySQL data, you can import, export as well as store and read information. They finish up by creating a Pearl CGI module to create dynamic web pages that can interface with a MySQL database.

Finally there is an appendix that contains the entire source for the wedding gift registry. You can also download the source as well as other items such as useful links, feedback and errata found in the book.

If you are wanting to learn how to work with databases and feel intimidated, Learning MySQL may be just the ticket. It is well written, easy to understand and develops in a logical, easy to follow manner. By the time you get through the book, you will have a good overview of SQL databases in general.

If like me, you are not a PGP/Pearl programmer and, don't really want to be, there is still almost 400 of the 560 non-appendix, non-index pages, that deal directly with setting up and running a MySQL server, and who knows, your eyes might drift and you may end up learning PGP or Pearl anyway.

If I had one complaint, it would be the appendix containing the source for the application. It is a personal pet peeve of computer books that I have had for almost 20 years. Put it on a disk, put it on the web, just don't put it in a book. I would have preferred to have a summary of commands as the appendix.

That being said, I think that if you want to get a good solid foundation into how to build MySQL server databases, manage and manipulate them, then Learning MySQL should be on your shelf.

Friday, May 11, 2007

Music Review: The Doors by The Doors

by T. Michael Testi ( , PhotographyToday, ATAEE)

In July of 1965 on Venice Beach California, two students of the UCLA film school decided to form a band after one of the studentS found out that the other was writing lyrics to songs. When Vox-Organ player Ray Manzarek asked Jim Morrison to sing one of the songs, a song called "Moonlight Drive," an ember of what would form into a group was alight. By September of that year, they formed up with guitarist Robby Kriger and drummer John Densmore and, taking the name from an Aldous Huxley book, "The Doors of Perception", where born The Doors.

The Doors were unusual in the annals of rock music in that while performing on the road they did not use a bass player. The bass lines where played by Manzarek on the newly invented Fender Rhodes Bass Keyboard. While in the studio, they often brought in studio players to perform the lines.

In January 1967, The Doors released their self-titled debut LP. This caused major commotion within the music circles of the time. Not only did it contain most of the major songs from their set, it included an 11-minute version of "The End", the band's keynote song. They recorded the album in only a few days during August and September of 1966.

This was an in-studio "live" album, in that almost all of the songs were captured in a single take. Morrison and Manzarek also directed a promotional film for their first single "Break on Through" in what turns out to be an early music video. Their second single, "Light my Fire", put them in league with The Jefferson Airplane and The Grateful Dead as one of the top counter-culture bands of their time.

While these should be songs you know by heart and the mere fact that The Doors is one of those albums that deserves ranking on everyone's top 100 albums of all time, I understand that not everyone will have heard this CD.

For those who are not familiar with the brash, soulful, bluesy rock style that was totally The Doors, the songs; "Soul Kitchen", "The Crystal Ship", "Twentieth Century Fox", "Alabama Song", "Back Door Man", "The End", "Break On Through", and "Light My Fire" are all simply brilliant, with the last three being classics worth the price of admission. "The End", the controversial eleven minute masterpiece, will wow you with how fresh it sounds even today. The remaining songs deserve at least three or four stars as well.

This release of The Doors debut album, is a complete reengineering and re-mastering of the original version. The sound quality is superb. According to the liner notes, the speed of the album has always been slower that it was intended. This has been fixed and the mix is also clearer and more dynamic.

The Doors Song Listing:
Break On Through (To the Other Side) Soul Kitchen
The Crystal Ship
Twentieth Century Fox
Alabama Song (Whisky Bar)
Light My Fire
Back Door Man
I Looked At You
End of the Night
Take It As It Comes
The End

Bonus Tracks:
Moonlight Drive
Moonlight Drive
Indian Summer

Book Review: Rails Cookbook by Rob Orsini

by T. Michael Testi ( , PhotographyToday, ATAEE)

Rob Orsini opens his book Rails Cookbook by saying that Ruby on Rails has revolutionized the process of developing web applications and has enabled web developers to become much faster and more efficient, which allows for quicker application development. It is my opinion that the O'Reilly Cookbook series has done the same for software development. The fact is that it allows developers to become faster and more efficient, which allows for quicker development by providing time tested tricks and pearls of wisdom; exactly what you need when you need it.

Rails Cookbook is meant for someone with web development skills, but who may be new to Rails. It is also for those who are trying to learn new techniques in Rails and want a clear, concise method to learn it without having to read an entire book. In this cookbook there are over 170 recipes broken into 15 chapters. Together they provide a wide range of solutions that will help you test, debug, and improve your application.

In "Getting Started" you will learn how to install, update and set up version control with Subversion. "Rails Development" will show you how to begin development in Rails by creating a rails project and introducing other add-ons to make development more efficient.

"Active Record" shows you how to set up a relational database to use with Rails as well as working with the concept of Active Record which allows you to define the logic of your domain model using Ruby. "Action Controller" teaches you how to handle the incoming requests and how they hand off each request to a particular action. "Action View" completes the triumvirate of the Model-View-Controller (MVC) pattern by showing how the data is presented to the user.

"RESTful Development" explores the Rails world of building full-featured web services within the Rails environment. "Rails Application Testing" shows how being proactive in the approach to testing comes by writing the tests before you write the code - by thinking about what the code should not do, then creating a test to make sure that it doesn't.

"JavaScript and Ajax" ensures that the power of Rails makes it easy to deal with JavaScript and Ajax as well as some of the common effects that you can achieve using them. "Action Mailer" shows you how to set up an application to send emails as well as responding to incoming emails. "Debugging Rails Applications" will help ease the pain of debugging an application. You will learn of the many powerful tools that Rails gives to you to combat bugs.

"Security" covers things like SQL injection and Cross-Site Scripting (XSS) as well as securing ports. "Performance" will help you diagnose speed problems using HTTPerf to measure your web server performance, benchmark your code, and help you figure how best to work with page caching. "Hosting and Deployment" gets you over the hump of deploying a Rails application.
"Extending Rails with Plug-ins" shows you how to extend your Rails application by installing third-party software to accomplish tasks that the Rails framework was not designed to handle. Lastly, "Graphics" will help you to upload, store and display images using a database as well as aid in generating PDF files from a variety of source data.

Rails Cookbook will guide you through the traps and pitfalls of Rails development by providing you with the building blocks of source code to make any Rails application complete. The book will be an essential addition to your programming library.

Music Review: John Mayall and the Bluesbreakers - In The Palace Of The King

by T. Michael Testi ( , PhotographyToday, ATAEE)

What can you say when a blues musician does a tribute to a legendary guitarist; in this case Freddie King, the bluesman from Texas? When they do it well, you can admire it, when it comes from the legend-maker, it becomes something to be truly treasured!

Spanning a career of five decades and creating the careers of hundreds of musicians over the last four decades, John Mayall, along with the Bluesbreakers, is putting out his 56th album this week. In The Palace Of The King is a tribute to the late Freddie King (1934-1976).

According to his first successful student, Eric Clapton, "John Mayall has actually run an incredibly great school for musicians." Some of his later pupils include Peter Green (Fleetwood Mac), John McVie (Fleetwood Mac), Mick Fleetwood (Fleetwood Mac), Harvey Mandel (Canned Heat), Kal David (Kal David Band), Aynsley Dunbar (Journey, Frank Zappa, Jefferson Starship David Bowie), Andy Fraser (Free), Larry Taylor (Canned Heat), and Mick Taylor (Rolling Stones).

It is only fitting that Mayall and company do this kind of album since they have been associated with the music of Freddie King from the beginning. According to Mayall, "So, it was a logical step for the band to record an album of songs written by him or closely associated with him". And from one of the songs on the album, "He was a big man from Texas, He played an even bigger guitar. He was the king of the Kings, born to be a superstar."

There is not a bad song in the bunch. They range from Don Nix's "Going Down"; probably the best known song, with a hefty back beat and furious bass to "Palace of the King" written by Nix, Leon Russel and Donald "Duck" Dunn, the energetic blues-rock ditty that has Mayall powering an upbeat vocal.

There are slow mercilessly powerful songs like "Help me through the Day" with its deep horns and sad emotion. And Mayall's original, "Time to Go" with smooth guitar leads playing off the sax and horn sections.

As far as a little more honky-tonk feel, you have "You know that you love me" and "I Love You More Every Day", and Mayall's other original "King of Kings". Here he provides a cacophony of piano leads trading into guitar leads which trade into sax leads.

At 73, John Mayall is still going strong with no sign of slowing down anytime soon. With the release of In The Palace Of The King, John Mayall and the Bluesbreakers will be kicking off their 2007 international tour to support the album. If you can get to one of the numerous dates, then by all means get out to see this legend and master; the godfather of British blues. If you can't, then buy In The Palace Of The King, you will be glad you did!

In The Palace Of The King song listing

You Know That You Love Me
Goin' Down
Some Other Day, Some Other Time
Palace Of The King
I'd Rather Be Blind
Time To Go
Big Legged Woman
Now I Got A Woman
I Love You More Every Day
Help Me Through The Day
Cannonball Shuffle You've Got Me Licked
King Of Kings
Living On The Highway

Book Review: Programming WCF Services by Juval Löwy

by T. Michael Testi ( , PhotographyToday, ATAEE)

Windows Communication Foundation (WCF) is a software development kit for developing and deploying services on Window. WCF, previously codenamed "Indigo," is a communication system to enable applications, in one machine or many machines connected by a network to communicate. It has been introduced as part of Microsoft's .NET Framework 3.0.

WCF is really a lot of things to a lot of people. To the Web Service developer, it is the ultimate interoperability solution. To the distributed application developer, it is the easiest way to make remote or queued calls. To the systems developer, it is the next generation of productivity-oriented features such as transactions and hosting that provide off the shelf plumbing for applications. To the Application developer, it is a declarative programming model for structuring the application. To the architect, it is how one can finally build service-oriented applications (SOA).

A WCF Service is composed of three parts: a Service class that implements the service to be provided, a host environment to host the service, and one or more endpoints to which clients will connect. All communications with the WCF service will happen via the endpoints. The endpoints specify a contract that defines which methods of the service class will be accessible via the endpoint; each endpoint may expose a different set of methods.

Programming WCF Services will teach you how to design and develop SOA-WCF-based applications. You will learn how to take advantage of built-in features such as service hosting, instance management, disconnected queue calls and security. Programming WCF Services breaks down into ten chapters and three appendixes. You will need to be an experienced developer who has a fair understanding of .NET and C# 2.0. You will need .NET 2.0 and Visual Studio 2005 as well as the .NET 3.0 SDK and .NET 3.0 extensions for VS 2005.

Chapter one, WCF Essentials, begins by explaining what WCF is, its concepts and building blocks. It then concludes with I discussion of the WCF architecture which is really the whole key to everything that is enabled through the remaining book. If you are unfamiliar with SOA, then you should read appendix A, An Introduction to Service-Orientation.

Chapter two, Service Contracts, is geared for describing how to design and work with service contracts. You will learn how to design and factor contracts that cater to reuse. Chapter three, Data Contracts, is dedicated to how the client and service can exchange data without ever actually sharing the data type itself or using the same development technology.
Chapter four, Instance Management, deals with answering which service instance handles which client's request. It provides the rationale for each of the instance management modes. Chapter five, Operations, works with the types of operations that clients can invoke on a service and the related design guidelines you will need to handle.

Chapter six, Faults, explains how services report errors and exceptions back to their clients. It also discusses the best practices of error handling and how you can extend and improve the basic error handling mechanism. Chapter seven, Transactions, covers the motivation for transactions in general as well as the many transactional services.

Chapter eight, Concurrency Management, describes the declarative way WCF offers for managing concurrency and synchronization for both client and service. Chapter nine, Queued Services, shows how your clients can queue up calls to services, thus enabling asynchronous disconnected work. Chapter ten, Security, demystifies SOA security by breaking down this multifaceted task into its basic elements.

Appendix A, Introduction to Service-Orientation, will give you the background needed to understand the overall concept of this book and to expand to a more detailed description of SOA and how to implement it. Appendix two, Publish-Subscribe Service, presents the authors framework for implementing a publish-subscribe event management solution. Appendix C, WCF Coding Standard, is a consolidated list of all the best practices along with the do's and don'ts to help you get off on the right foot.

A couple of points about Programming WCF Services, first, this isn't a beginners book; the author dives down into advanced material in spots almost without notice. If you are uncomfortable with this you may want to start with a more basic attempt first, whether from the web or from another book. That being said, if you want to become proficient using WCF, you will be buying this book eventually. You will find that this book will become both a reference as well as well as a guide.

The book is well thought out and presented. Löwy places the focus on the how and why of programming WCF without the hype of the technology. He gives you information that is not readily available anywhere else, and has given well engineered examples that will provide you the correct methods of working with WCF.

If there was one thing missing to this book is a contextual reference for existing users of previous distributed technologies. That is background on how this relates back to Web Services, Remoting, COM etc. All pretty minor overall.

If you are serious about getting on the next wave of distributed SOA and Interoperability, then Programming WCF Services will take you to the next level. The book is filled with examples and will guide you along until you are creating professional WCF services. If you want to go to the next level of WCF then Programming WCF Services is a great place to get started.

Book Review: Webbots, Spiders and Screen Scrapers by Michael Schrenk

by T. Michael Testi ( , PhotographyToday, ATAEE)

According to the Michael Schrenk, the internet is bigger and better than what a mere browser allows. Webbots, Spiders and Screen Scrapers was written to show you how to take advantage of the vast resources available on the internet. When you are regulated to the world of a browser, you are limited in what is available to you. Webbots, Spiders and Screen Scrapers goal is to open up the Web and enhance you online experience.

What is the problem with browsers? It is a manual tool that downloads and renders websites. You still need to decide if the website is relevant to you. Your browser cannot think. It cannot anticipate your actions and won't notify you when something important happens. To accomplish this, you will need the automation and intelligence only available in a webbot; also known as a web robot.

Webbots, Spiders and Screen Scrapers contains 28 chapters that break down into four sections. I will focus on the four sections highlighting the chapters as needed. What you will need to work with this book is a fundamental understanding of HTML, and how the internet works. It should be known that this book is not going to teach you how to program, or how things like TCP/IP; the protocol of the internet work. Pretty much any kind of Pentium computer running Windows, Linux or Mac operating system will do. You will also want to get PHP, cURL and MySQL, all of which are free on the internet. Again, this book will not teach you how to use these products, but rather use these products to teach you how to create webbots, spiders and screen scrapers.

Part one, "Fundamental Concepts and Techniques," introduces the concepts of web automation and explores the elementary techniques that will allow you to harness the resources of the web. It begins by explaining why it is fun to write webbots and how writing webbots can be a rewarding career. It tells where you can get ideas for webbot projects and talks about existing as well as potential webbot projects. You will learn how to download web pages, parse those pages, automatically submit forms, and how to manage large amounts of data. All of these topics will set you up for the rest of the book.

Part two, "Projects," expands on the concepts that you learned in part one. According to the author, with further development, any of these projects could be transformed in to a marketable product. The projects include; Price-monitoring webbots where you can collect and analyze online prices from any number of websites. There is an image-capturing webbots that will download all of the images from a website as well as a Email reading an email sending webbot. All in all there are eleven projects included in part two.

Part three, "Advanced Technical Considerations," explores the finer technical aspects of webbots and spider development. Here the author shares some hard learned lessons while teaching you how to write some specialized webbots and spiders. Here you will learn about spiders; a webbot that finds and follow links both within a website as well as those that crawl along the web searching out specific information. You will learn how to create snippers; webbots that automatically purchase items from places like auction sites when a specific set of criterion has been met. You will also find out how to deal with cryptography, authentication and scheduling.

Part four, "Larger Considerations," advises you on being socially responsible with your webbot development. Webbots need to coexist with not only society, but with the system administrators of the sites that you target. You will learn how to create webbots with stealth; webbots that look like normal browser traffic. You will also learn how to write fault tolerant webbots. Because the web changes constantly, your webbots will need to handle these changes. You will also learn how to create webbot friendly websites, writing pages that can be made secure from other spiders to protect sensitive data and how to keep your own webbots out of trouble.

Webbots, Spiders and Screen Scrapers is a great book for learning about webbots and spiders and how they work on the web. It will introduce you to a wide variety of topics via the projects and you will be able to understand how the different technologies work.

I have one main complaint and one warning. First the complaint, in chapter 27, "Killing Spiders," we are told about robots.txt which is meant to keep spiders from trampling sensitive pages. Then we are told that we really shouldn't use them because that the use of Robots.txt is strictly voluntary, and that it might alert others to where the sensitive material are. I felt confused. If I don't use a robots.txt, other webbots will be trampling my site and if I do use it, I leave my self open for attack.

The warning begins on page four: "You may use any of the scripts in this book for your own personal use, as long as you agree not to redistribute them... and agree not to sell or create derivative products under any circumstances." This is total contradictory to what the author says on page 75; "Any of these projects, with further development, could be transformed from a simple webbot concept into a potentially marketable product." I'll leave it to you to determine what he means.

Webbots, Spiders and Screen Scrapers, is a great book for the beginner to intermediate user of PHP and for someone who wants to get into web agents. It is a good overview and tutorial on the topics of webbots, spiders and screen scrapers and will have you understanding and programming them in no time.

Thursday, May 10, 2007

Book Review: Build Your Own Web Site The Right Way Using HTML and CSS by Ian Lloyd

by T. Michael Testi ( , PhotographyToday, ATAEE)

Trying to create a web site can be a pretty daunting task, especially if you have never done it before. When my son's swim team asked me to do theirs, I was a bit intimidated. I was a application programmer and I had worked on some website stuff, but the web is a different beast. The questions were many: what tools do I need? how do I layout my pages? do I use tables? HTML tags to directly apply formatting?

One could use FrontPage or a similar product to automatically generate the web site, but that was never my style. I would have to go old-school. I wish I would have had Build Your Own Web Site The Right Way back then.

Build Your Own Web Site The Right Way is geared for the absolute beginner to web site design. However, you should be comfortable with a computer, you should use the web a lot, have seen a lot other sites, have a good grasp on what you want for your own site. HTML stands for HyperText Markup Language and it is the language that generates web pages. CSS stands for Cascading Style Sheets and it is what is used to format those pages.

Build Your Own Web Site The Right Way is set up into eleven chapters and an appendix. Chapter 1, "Setting up Shop," explains what tools you will need to get going. While you can buy tools to use, the author shows you how you can also get them for free.

Chapter 2, "Your First Web Pages," will teach you what makes a web page. You will learn about XHTML — the latest version of HTML — and about the basic requirements for creating a properly formed web page.

Chapter 3, "Adding Some Style," will introduce you to CSS. You will learn how to apply CSS to add color, change fonts, and generally improve the appearance of your page.

Chapter 4, "Shaping up with CSS," builds on chapter three to teach you about border styles and more advanced page layouts. You will even learn how to position elements using CSS.

Chapter 5, "Picture this! Using Images on your Web Site," teaches you all about image. You will learn about inline images, background images, as well as learning how to make images accessible for your blind surfers.

Chapter 6, "Tables: Tools for Organizing Data," will show you when it is proper to use tables, and especially when they should not be used. You will learn how to use CSS to make your tables more visually appealing.

Chapter 7, "Forms: Interacting with your Audience," will teach you about the proper use of forms to collect data from your user. Lloyd also shows how to use a free service to have data emailed to you!

Chapter 8, "Getting your Web Site Online," is all about getting your site hosted, uploaded, and presenting it to the world. Here the pros and cons are examined to see what approach will be right for you.

Chapter 9, "Adding a Blog to your Web Site," will show you how to do just that: create your own blog. You probably have an idea of what a blog is; a way to interact with other people. Whatever you think about this review, you can tell me in the comments. If you think I should have said more, or didn't like something that I said, you can tell me. I can then turn around and respond. Neat stuff!

Chapter 10, "Pimp my Site: Cool Stuff you can Add for Free," will have you spicing up your site with carefully executed cosmetic touches that won't break the bank.

Chapter 11, "Where to Now? What you Can Learn Next," will summarize the skills that you have learned as well as to provide a listing of sites that can take you to the next level.
The Appendix is an XHTML Reference guide that provides information on the elements that you are likely to use.

What I like about Build Your Own Web Site The Right Way is its quick and easy pacing, subtle humor, and straightforward manner. While this may be a beginners book, even the more seasoned of us learned, or perhaps I should say un-learned, quite a number of things along the way.

Book Review - SQL Hacks by Andrew Cumming and Gordon Russell

by T. Michael Testi ( , PhotographyToday, ATAEE)
SQL Hacks works well because of the fact that it does what it says. It hacks. It gets in to SQL and shows you how to do things that you would have to, in many cases, search for hours to find out how to accomplish. This is not for the beginner, rather these books target more experienced users.

It is a collection of 100 hacks that, according to the authors, will help you to “get the job done”. They are not concerned with good database design or sticking to the rules. Their goal is to give you a better understanding of the breath of SQL and how different approaches to a solution can result in simple and elegant solutions.

This is titled SQL Hacks, because the authors have worked to make this volume and vendor/platform independent as possible. When there are differences, they take the time to reference back to SQL Server, Oracle, MySQL, PostgreSQL and MS-Access when applicable.
While it would be time-consuming to list more than a few hacks, to give you an idea of the scope of the book, I will illustrate a few. There are some simple ones such as number 15 "Search for Keywords Without LIKE". Using the keyword LIKE will give you matches where an exact match is found. But what if you wanted to search for partial matches with a resulted weighting for the matches? Hack number 15 gives it to you. Since each of the major SQL systems do it differently, the authors show you how to do it with each of them.

A more complex Hack is number 41; "Copy Web Pages into a Table". Here the authors spend almost seven pages showing you how to use XSLT processing to take a web page and extract the data you require and insert it into a SQL Database.

The book is broken in to 12 chapters as listed below.
Chapter 1, SQL Fundamentals (6 hacks)
Chapter 2, Joins, Unions, and Views (8 hacks)
Chapter 3, Text Handling (4 hacks)
Chapter 4, Date Handling (5 hacks)
Chapter 5, Number Crunching (17 hacks)
Chapter 6, Online Applications (8 hacks)
Chapter 7, Organizing Data (9 hacks)
Chapter 8, Storing Small Amounts of Data (6 hacks)
Chapter 9, Locking and Performance (13 hacks)
Chapter 10, Reporting (13 hacks)
Chapter 11, Users and Administration (7 hacks)
Chapter 12, Wider Access (4 hacks)

To me, SQL Hacks is the classic reference book that you need to keep on the shelf, close at hand for those little jobs that come up and just need to get done. It also serves the purpose of giving you new ideas for solutions that perhaps, you may have thought could not be done.

Audio Book Review - Rogue Angel: Destiny by Alex Archer

by T. Michael Testi ( , PhotographyToday, ATAEE)

When I first heard about Rogue Angel: Destiny being a graphic audio book I, was skeptical. I have been listing to audio books for over five years now. I average between 30 and 50 per year and I know what works and what doesn't. When I saw the tag line "A Movie In Your Mind", I mean really, who do these guys think they are. It’s an audio book! A movie in your mind, get real!

Boy was I ever wrong. Simply put, this was probably the best-produced audio book I have ever listened to. Period! That is after listing to well over 2-300 audio books. In some ways this is akin to listing to some of the old radio dramas from the golden age of radio. Now if you think of the old radio shows as being like "Buck Rogers in the 25th Century", well this is like "Star Wars" in comparison.

In Rogue Angel: Destiny, you have a narrator who is basically reading the main storyline. When dialog comes in you have actors filling the different voices. This much I have heard in other audio books and many times I have shied away from them because, in my opinion, it becomes a distraction. Here it really enhances the story.

The real power and effect come from the sound effects and background music that encompasses the story and gives it its movie-like quality. It is not the cheesy sound-effects that you may be use to in the old radio shows; rather these are professional quality sounds that you would hear in a movie. When someone falls, gets kicked, or is shot, it really feels like you are there. When the goat gets its neck sliced in the ritual, you hear the screams. (I do not, however, believe that any goats were injured in any way in making this book.)

Now to the actual story; Rogue Angel: Destiny is about Annja Creed, a 20-something archaeologist and explorer who works for a show called "Chasing Histories Monsters" to earn money to do more serious archaeology work. Her fascination with the myths and mysteries of the world lead her in search of the Beast of Gevaudan, a legendary wolf-like creature that killed between 60 and 100 people in the 18th century.

What she discovers is an artifact that will seal her destiny; a brotherhood of monks who are willing to murder to protect their secret; a black market occultist who wants to find millions of dollars in centuries-old blood money and a couple of shadowy figures - she is not sure if they want to help or kill her.

I try to pull myself back and separate the story from the performance, so the latter is not influencing the former. From that stance, I think that this is a good story. Obviously this is the first in a series and, to me, for a series to be good you have to have a minimum of two things; characters that you like, and a story line that both makes sense and is interesting.
Rogue Angel: Destiny has both interesting and likable characters in Annja, Roux and Garin. I assume (and hope) that they will be regulars, since their lives are intertwined together. And the story line is both interesting and informative. It contains historical data, interesting settings and cultural characteristics that give the story more realism.

A couple of minor points with the production were that two or three times when the background music and the sounds were a little louder than they should have been. You could still hear the narrator, but it took you out of the moment a little bit.

One other point, this story is rated for mature content. They make it very obvious on both the front and the back of the packaging. At least in this story, it is for all the violence and graphic gore that takes place. I commend the company for pointing this out in advance.

The quality of the story and performance are the reason that I will be coming back for the next Rogue Angel, due out in March of 2007. I will also be checking out some of their other series as well. If you want you can down load of MP3 excerpt, or purchase the GraphicAudio Book from their on-line store. The story comes three ways; standard CD, MP3 CD (the version I reviewed) and downloadable WMA with digital rights management.

Tuesday, May 08, 2007

Book Review: XQuery by Priscilla Walmsley

by T. Michael Testi ( , PhotographyToday, ATAEE)

As increasing amounts of data are stored, processed and exchanged using XML, the ability to access that data in an efficient, organized, and streamlined manner becomes ever so necessary. In the traditional data world, the standard is by using a SQL query, and as of January 2007 in the XML world, we officially have XQuery.

Written by Priscilla Walmsley, XQuery is for query writers who are familiar with XML basics, but perhaps not skilled in other XML-related technologies. It is both a tutorial as well as a reference book. It covers namespaces, schemas, built-in types and regular expressions. It also covers XQuery's support for filtering, sorting, and grouping data as well as how to use FLWOR expressions, XPath and XQuery tools for extracting and combining information.

While the book breaks out into 25 chapters and three appendixes, I will break it down in to its six functional areas. The book is approximately two-thirds's tutorial and one-third reference. It uses a running example that reflects many XML structures.

Chapters 1-2 are a high level overview of XQuery. In these chapters the author goes through what XQuery is, what it can do and lays out the example structures that will be used thought the book. She explains the design of the language as well as the data model.

Chapters 3-9 explore how to write fairly sophisticated queries with out using namespaces and schemas. Here she gets in to the building blocks that will be used to create your queries; that is, things like keywords, whitespace, function calls, and variables. You will learn to navigate input documents using paths, adding elements and attributes to results, selecting and joining using FLWOR's expressions, sorting and grouping, as well as advance queries.

Chapters 10-15 provide advanced concepts for those who want to take advantage of modularity. You will also look at XML namespaces, types, nodes and atomic values as well as learning about queries, prologs, and modules. You will get into schemas, static typing and the overall principles of query design.

Chapters 16-23 introduce advanced concepts for those who want to work with specific types of data, like numbers, strings, dates, URI's and processing instructions. There is discussion on working with other XML components such as documents, text nodes and CDATA as well as implementation -specific features such as serialization parameters.

Chapters 24-25 describe XQuery's relationship to SQL and XSLT by comparing SQL syntax with XQuery syntax and showing how to combine the two when it would be advantageous. The author also goes into XPath and XSLT and how they compare to XQuery.
There are three Appendixes; A which contains a built-in function reference, B covers the built-in types, and C provides a listing of error messages.

There is a lot of information contained in XQuery and it is obvious that Priscilla Walmsley both knows her topic, and is quite clear, concise and well versed on presenting the information in a logical style. While the book is aimed at the XQuery novice, it's usefulness as a desk reference makes it one of those books that you get to learn the topic, but keep forever.

Book Review - Linux System Administration by Tom Adelstein & Bill Lubanovic

by T. Michael Testi ( , PhotographyToday, ATAEE)

Geared for the Linux pro or UNIX administrator, Linux System Administration was written to provide advice to manage a complete range of systems and servers. The authors were amazed at how many Linux users, for example, could not write a configuration file. Thinking there were many people who might want to learn of the extensive capabilities of Linux as an application platform, they wrote this book.

Linux System Administration is divided into 11 chapters and an appendix. Each chapter is a module in and of itself so that if you want to learn how to accomplish a specific task such as administering Apache, you can jump into chapter 6 and get going without having to muddle through the first five chapters.

Chapter 1, "Requirements for a Linux System Administrator," lays out the goals for the book and what you will accomplish by reading it. You will learn where to start, who needs you, and what system managers should know about Linux. Chapter 2, "Setting up a Linux Multifunction Server," will guide you through the system requirements, installation, how to login remotely, and how to configure the network. You will also learn how to configure mail, FTP services, and set up MySQL server.

Chapter 3, "The Domain Name System," gives you all the information on setting up the DNS server. By the time you are done with this chapter, you will understand installation, configuration, as well as be able to maintain and trouble shoot a server for any domain that you register. Chapter 4, "An Initial Internet-Ready Environment," will show you how to, by using ISPConfig, build a multifunctional, working internet server from a single, downloadable application. This will allow you to manage websites, perform email and file transfers all from a graphical interface.

Chapter 5, "Mail," explores how to build an email service for small to medium sites. You will use the Postfix server as the SMTP mail transfer agent, POP and IMAP to deliver your mail, and SASL for authenticating you mail. Chapter 6, "Administering Apache," introduces the Apache web server. You will learn how to install, configure, and administer Apache, PHP, and MySql server, as well as how to manage multiple websites, test for performance, and monitor statistics.

Chapter 7, "Load-Balanced Clusters," teaches you how, by using a group of loosely coupled computers that work together closely as though they are a single computer, you can improve speed, reliability, and scalability at a reasonable price. Chapter 8, "Local Network Services," gives you the information you will need to manage a host behind a firewall or gateway of a company. This will help you fix the things critical to your organization that really matter.

Chapter 9, "Virtualization in the Modern Enterprise," addresses an explosive growth area within the Linux community. It refers to one piece of hardware running multiple kernels on top of a lower layer of software which manages the access to the hardware. Chapter 10, "Scripting," shows you the ropes around creating and running scripts. These are the little time saver programs that you will create to perfume mundane repetitive tasks for things like service and processor management.

Finally, Chapter 11 finishes up with "Backing up Data." This is all about the things that you need to do when your system crashes. It will happen, and you will be prepared by using the tools provided here.

What I personally like about this book is that it can be digested a chapter at a time. Granted you need to be somewhat versed in Linux, UNIX, or even Windows Server background; that said, Linux System Administration will give you the tools you need to become a better administrator.

Book Review - Ruby Cookbook by Lucas Carlson and Leonard Richardson

by T. Michael Testi ( , PhotographyToday, ATAEE)

In the Ruby Cookbook preface, the authors begin by saying "Life is Short." Following with, and I paraphrase, "This book is meant to save you time… but a span of time is also a piece of your life. Our lives are better spent creating new things than… trying to solve problems that have already been solved." The authors hope that by writing this book, they can save you much more of your time than they spent creating the book. As has been my experience with the Cookbook series, their hope is well founded.

Ruby Cookbook is geared toward those who have some experience with Ruby or those who have a strong general background in other programming languages and are wanting to learn Ruby. If you are familiar with a number of programming languages, studying through the first ten chapters should get you up to speed quite nicely.

Ruby is an object-oriented scripting language that originated from Japan. It takes some of the best features from some of the best languages and combines them to make a simple and easy to use yet powerful system for processing tasks. It is freely available as open source software and is available on many platforms including Windows, Mac OS X and Linux.

The Ruby Cookbook contains 23 chapters broken down into loosely six functional areas; Data Structures, Idiom and Philosophy, Storing Data, Applications, Programming Techniques, and Miscellaneous Techniques. You won't find these titles explicitly listed in the book, but for organization (and so I don't have to step through each chapter) I will present, my discussion using them. Each recipe begins with a problem statement. It then follows up with the solution so if you want, you can be done and get on with your life. There then is a discussion if you want to learn more about the solution. It ends with a "See Also" which will give you addition information if the discussion is not enough.

In data Structures (chapters 1 thru 6), the authors cover the built in data structures used by the Ruby language. They cover strings, numbers, dates and time, arrays, hashes, files and directories. These deal with strict algorithmic problems. Some are as simple as 1.10's "Changing the Case of a String", some are more complex such as 4.15's "Partitioning or Classifying a Set" in which you want to partition an array based on some attribute of its elements.

Idiom and Philosophy (chapters 7 thru 10) covers items that you may encounter when you cannot get the Ruby language to do what you want. You will learn things like iteration, blocks and callbacks. You will explore objects and classes, working with superclasses and abstract methods, modules and namespaces as well as reflection and metaprogramming.

In Storing Data (chapters 11 thru 13) you will focus on how to work with three popular forms of data storage; XML, HTML, graphics and database. You will extract data from a tree structure, convert from one encoding to another as well as convert an HTML Document to a text document. You will learn how to thumbnail images, present graphing data as well as generate PDF files. You will work with YAML, MySQL, and Berkley DB as well as learning how to prevent SQL Injection attacks.

Applications (chapters 14 thru 16) will explain how to work with internet services, web development and web services. Here you will explore sending/receiving mail, working with FTP and CGI. They explain working with Ruby on Rails development as well as interacting with sites such as Amazon and Flickr. They will show you how to creat a jukebox, a whiteboard and how to charge a credit card.

Programming Techniques (chapters 17 thru 19) tend to auxiliary tasks of programming such as testing, debugging, packaging and automating tasks. You will be shown how to create and run unit tests, how to use external resources and how to profile your application. You will learn how to package and distribute your Ruby application as well as automate tasks with Rake. Miscellaneous Techniques (chapters 20 thru 23) complete the package with items such as multitasking/multithreading, user interface, extending Ruby and system administration.

Will you have need for all 300 plus recipes in this cookbook? Probably not…today, but perhaps soon! With over 800 pages, there is something for everyone.

Music Review: James Blood Ulmer - Bad Blood In The City: The Piety Street Sessions

by T. Michael Testi ( , PhotographyToday, ATAEE)
Following up on his 2005 release Birthright, the CD that was embraced by the music world as one of the most important blues records of the year, James Blood Ulmer is releasing Bad Blood In The City on May 8th 2007. As much as I loved Birthright for its "…blues at its finest", I like this album even better.

Bad Blood In The City was made in New Orleans, about New Orleans. It's about Katrina and the after effect to the people of New Orleans; especially the disenfranchised. Why now? Katrina is almost two years past and the city is coming back, they had football back last year, basketball is coming back this next year. The city is rebuilding and growing out of the ashes.
According to producer Vernon Reid, "For me, it seems more important to record this music now than right after Katrina. With the media no longer focused on it, this is when the tragedy starts slipping to the backs of our collective memories, but we can't forget what happened down there." Ulmer did write the majority of the songs from Bad Blood In The City during the days following Hurricane Katrina; while he was still promoting Birthright.

In December 2006, Ulmer and the Memphis Blood Blues Band entered the Piety Street Studios. The band consists of Vernon Ried on guitar, Charlie Burnham on fiddle, David Barnes on harmonica, Leon Gruenbaum on keyboards, Mark Peterson on bass and Aubry Dayle on drums.

Bad Blood In The City contains eleven songs, five of which are Ulmer originals. The sessions start with "Survivors of the Hurricane" performing a complex painting of the disaster that was Katrina. With a Clavinet grove and Vernon Reid's explosive guitar work matching Ulmer's biting lyrics "..they called themselves heroes for doing their jobs." This is a masterpiece!

When I first heard "Sad Days, Lonely Nights", the Junior Kimbrough tune, I was not sure if I liked it at first. It kept calling me back to give it one more listen and one more listen until I realized it was the hypnotic quality that kept calling me back like a siren's wail. "Katrina", is a biting commentary on the fact that the "rich and able" left the poor to fend for themselves. The track was cut in the dead of night and biting edges shows its gnarly teeth.

"Let's Talk About Jesus", is a wonderful gospel blues piece that really kicks it up a notch. Adding Irene Dasher, the voices blend in an old time harmony. Then, they do a rendition of John Lee Hooker's "This Land is Nobody's Land". This he turns into a modern day social statement. This is followed by Willie Dixon's "Dead Presidents". This provides a brief respite with its jumping rhythms and playful rhymes.

We are back to business with Howlin' Wolf's, "Commit a Crime" followed by Son House's "Grinnin in Your Face". Both interpreted in Ulmer style, power and fury. "There is Power in the Blues", Ulmer, one who is known to challenge the preconceived notion that the blues is a predetermined style, "uses the concept of the blues to feel our way around" with this song.
"Backwater Blues" is Ulmer's most traditional interpration of a classical blues number on the album. The CD closes out with "Old Slave Master", an Ulmer original that brings us back to the start.

Recognized as an elder statesman of the blues, Ulmer continues to define and redefine both himself and the brand of blues that he creates. Bad Blood In The City is a pivotal piece in that definition. As good as Birthright was, I think that Bad Blood In The City exceeds those heights.

There is a recording of James Blood Ulmer and Alison Krauss performing at Radio City Music Hall which shows the power in Ulmer's renditions. This can be found at YouTube.

"Bad Blood In The City" song listing

Survivors of the Hurricane
Sad Days, Lonely Nights
Let's Talk About Jesus
This Land is Nobody's Land
Dead Presidents
Commit A Crime
Grinnin' in Your Face
There is Power in the Blues
Backwater Blues
Old Slave Master

Monday, April 30, 2007

Music Review: Traffic - John Barleycorn Must Die

by T. Michael Testi ( , PhotographyToday, ATAEE)

Welcome to a new series entitled "Sounds from the Attic" in which I will attempt to conjure up the spirits of albums of the bygone past. These are albums that while, in some sense are classic, don't always get the recognition they deserve. They generally don't make most peoples top 100 list and quite often unknown by the younger music crowd, but should be.

My basic criteria is that the album is at least 20 years old; although I reserve judgment to highlight something a little newer, if it is more obscure. There should be some compelling reason to conjure up the spirit, if merely for my whim!

In this issue, I am pulling from the attic and dusting off John Barleycorn Must Die , the fourth effort from Traffic. This is an interesting album as, through an interesting twist of fate, it resurrected Traffic from insignificance and set them down the road to becoming future members of the Rock and Roll Hall of Fame (2004).

Traffic was formed in 1967 by former member of Spencer Davis Group Steve Winwood, Hellions members, Jim Capaldi and Dave Mason, and Chris Wood. The later three were also reported to have done session work with the Spencer Davis Group. Influenced by the early work of The Band, they retreated to a country house in Berkshire England to write and develop new material prior to making their debut.

They had some minor hits in the U.K. during 1967, but none in the U.S. Tension was already surfacing between Winwood and Mason; the two primary songwriters at the time. Mason did not want to collaborate with Winwood and eventually and this lead to his leaving the band before the release of their first album Mr. Fantasy in 1967.

Mason rejoined Traffic in 1968 for the recording of their second album Traffic. From there, they toured and in 1969 their album Last Exit was released. It was during the tour that Mason was fired and Winwood declared the he was breaking up the band.

After spending less than a year with Blind Faith, what might be considered the first super-group with Eric Clapton, Ginger Baker, Rick Gretch, Winwood found him self in a contractual obligation to do a solo album. This is where John Barleycorn Must Die comes in.

At age 22, Winwood's original concept for this album was to be a solo album in which he plays all instruments and vocals. The record got as far as one backing track for "Stranger to Himself", before he broke down and called on the services of Jim Capaldi. After the two completed a second track, "Every Mother's Son", they brought in Chris Wood and Island Records chief Chris Blackwell to help with the production. Thus, Traffic was reborn.

John Barleycorn Must Die is a mix of genres including folk, jazz, and rock mixed in with psychedelic influences. It starts with the instrumental, "Glad". It has an up-tempo funky feel. You can feel the jazz and folk influences as it makes its way along. "Freedom Rider", is a ballad that showcases Chris Wood's talents on sax and flute. It is lively and upbeat and wonderfully hypnotic. "Empty Pages", showcases Capaldi's drumming skills in a funky, intense sound which is enhanced by Winwood's jazzy keyboard work.

This is one thing that I don't get, when the record companies re-master many of these albums, they feel the need to add "bonus" songs to add value. That is sometimes good, but many times it is bad. This CD has two, previously un-released cuts. There is probably a good reason that they were previously un-released. They weren’t that good. "I Just Want to Know" is one of these. It is a little over a minute in length and basically chants the title over and over. I wish that if they add this kind of drivel, put it at the end, so I don't have hear it when I am trying to listen to the original album.

Then comes "Stranger to Himself", this is the song that Winwood plays all of the instruments. Capaldi helps with some background vocals. It is a folk-funk song that gets you in the mood for the really laid-back folk classic title track "John Barleycorn Must Die". The flute work in this is suburb as the song builds with the acoustic guitar. You can almost imagine a couple of medieval troubadours playing in front of a campfire.

From there we get "Every Mothers Son", this is the track in which Winwood plays all of the instruments with the exception of Capaldi on Drums. It has a bluesy feel with some grinding organ from Winwood. The CD is finished off with the other bonus track, "Sittin' Here Thinkin' of My Love". This song is better than the first bonus, but I would have been just fine without it.

Ok, what makes this album worth pulling out of the attic? Well first, it is a wonderful album that stands on its own in the history of rock. John Barleycorn Must Die transposed Traffic from being just one of those bands who never quite lived up to their potential into a future hall of fame inductee. It became their first gold record (#5 in the US), it set them on their course to three more top 10 U.S. albums (Low Spark of High Heeled Boys at # 7, Shoot Out at the Fantasy Factory at # 6, and When the Eagle Flies at #9).

It also changed the music industry in the sense that all of the original songs were in excess of four minutes. In the day, to get radio time, the general thought was that your singles had to be less than four minutes, really around three. It was from bands like Traffic that the new "Album Oriented" stations came about in the late 60s to early 70s and would eventually lead to the acceptance of songs like Zeppelin's "Stairway to Heaven" and Skynard's "Freebird" to reach the airwaves.

As an added note, Chris Wood died in 1983 of Pneumonia; some say it was related to his drinking. He was 43. Jim Capaldi died in 2005 of stomach cancer at age 60. Dave Mason went on to a terrific solo career as well as joining Fleetwood Mac on one album (Time) and currently performs with The Dave Mason Band. Steve Winwood continues to work on new material; About Time was released in 2003 as well as a possible album this year He has also been working on session sets with the likes of Sam Moore and Christina Aguilera.

If you are in the mood for some freeform fun and to get a better feel for what made music Winwood and company so great, pick up a copy of John Barleycorn Must Die. You'll be glad you did.

John Barleycorn Must Die song listing
Glad (Winwood) 6:59
Freedom Rider (Winwood/Capaldi) 5:35
Empty Pages (Winwood/Capaldi) 4:47
I Just Want To Know (Winwood/Capaldi) 1:32 – Previously Unreleased
Stranger To Himself (Winwood/Capaldi) 4:02
John Barleycorn (traditional-arr. Winwood) 6:20
Every Mother's Son (Winwood/Capaldi) 7:05
Sittin' Here Thinkin' of My Love (Winwood/Capaldi) 3:24 – Previously Unreleased