Posts Tagged ‘book review’
Book Review: Scripted GUI Testing with Ruby, by Ian Dees, published by Pragmatic Programmers, 192 pages, Aug. 2008, ISBN: 978-1-9343561-8-0, US $34.95
All software should be rigorously tested, during the development process, and before it is released. Automated testing helps software developers, testing teams and quality control (QC) teams perform comprehensive and effective testing, and find bugs quickly. This new book from the Pragmatic Bookshelf (in the Facets of Ruby Series) documents and demonstrates how to use the Ruby scripting language to test user interfaces reliably and repeatedly. The book covers a wide scope of testing needs, including techniques for scripted testing of MS-Windows GUIs, Java platform GUIs (for Linux, Mac, Windows, and others), or for web applications.

Book cover - Scripted GUI Testing with Ruby
This book is a practical, quick moving tutorial based on real life, and real-world GUI applications. Author Ian Dees says, “This is the book I wish I had four years ago. That’s when I faced the equally unpleasant task of fixing old, broken GUI tests and coaxing a rickety third-party toolkit into running new tests. I started looking for a how-to guide on GUI testing to help me down this road. Unfortunately, there were none.” So Ian wrote the book he was wishing for.
Mr. Dees points out in the introduction (p.4) that many developers and software professionals have been suspicious or skeptical about test driven development (TDD). However, as he points out, “the important idea in TDD wasn’t the tests; it was the fact that writing the tests forces developers to think through how their code will behave.” After TDD, some people shifted their thought process, and began to speak of “behavior driven development” (BDD). As it turns out, Ruby is a very powerful and expressive language for scripting tests, and RSpec is a special Ruby tool in the Ruby coders toolbox. “RSpec was the first Ruby implementation of the ideas behind BDD.”
Many examples and test scripts are sprinkled throughout the book.
Chapter 2 covers some simple examples with MS-Windows, and Java Swing (the original Sun Java GUI widgets) with JRuby and lays a nice foundation for the variety of tests that can be performed with Ruby.
Chapter 3 provides more in depth coverage of how to use RSpec, which is a Ruby gem (or library), that turns Ruby into a powerful (yet simple) test description language. RSpec notation uses words like “describe” – for describing the test, and “should” – a verb for describing how if the test passes or fails.
Chapter 4 provides details on how to simplify your testing, and Chapter 5 provides many examples for special cases like testing passwords, wrangling documents, cutting and pasting, or searching and replacing (all under Ruby script control) to exercise many different tests of your application.
Chapter 6 and 7 provide more details about testing many kinds of apps, testing your tests, testing keystrokes, menus, mouse-clicks, and how to introduce randomness into the testing scenario. Chapter 8 delves into using FIT (Ward Cunningham’s Framework for Integrated Testing). Fortunately, there is a Ruby gem for FIT testing also, and Mr. Dees demonstrates how easy it is to utilize simple HTML tables to visualize your testing.
Chapter 9 moves into testing web applications by impersonating a browser, parsing the HTML, or driving the actual browser to perform specific behaviors. There are several great pointers and examples on how to use Selenium, and Selenium with RSpec, and example scenarios with AJAX also (going way beyond the simple HTML page load tests). Another great Ruby browser/web-site testing tool called Watir (Web Application Testing in Ruby) is also described. This is a great chapter. The testing techniques in chapter 9 are worth the price of the book, so if you buy the book, and only read chapter 9, you will be receiving great value.
The book has several more chapters describing RSpec Story Runner, specialized testing on the MAC, and alternate GUI testing for the MS-Windows platform, with Win32::GuiTest. The book concludes with a bibliography, nice summary of resources, and helpful websites related to Ruby and software testing, and an index of contents in the book.
Bonus: Rails Podcasts has an MP3 you can download – an interview with author Ian Dees about Scripted GUI Testing with Ruby.
Book Review: MySQL in a Nutshell, 2nd Edition, by Russell J.T. Dyer, published by O’Reilly Media, April 2008, 545 pages, ISBN:0-596-51433-6, price: US $34.99 (Reviewed by Daniel Vos)
Behind virtually every web application, there’s a database management system.
Ever used Facebook? Guess what? It runs on a (huge!) database. What about your favorite discussion forum? Are you into auto maintenance, fly fishing, or (if you’re like my wife) do you like to swap recipes, trade amusing anecdotes about your kids, or post blog articles? All database-driven.
Many of the most popular, thriving websites are database driven. Behind the scenes many Web 2.0 websites are running MySQL, Sun Microsystem’s open source database. (There are other popular databases from Microsoft, Oracle, and IBM — but that’s another story.)
MySQL is the M in LAMP — the very popular Open Source web site platform/framework (Linux, Apache, MySQL, Perl, PHP, Python). MySQL is the database used with WordPress (the software that runs this VVN blog). MySQL is the default database server used with Ruby on Rails.
If MySQL is the world’s most popular open-source database, then MySQL in a Nutshell (2nd ed.) by Russell J. T. Dyer is the Encyclopedia Britannica of MySQL. Weighing in at 545 pages, the book is divided into five parts:
- Tutorial – A brief tutorial on installing MySQL and performing basic database management tasks (35 pages).
- Statement and Function Reference – A comprehensive reference to SQL statements, clauses, and functions implemented by MySQL. (SQL is the standard language implemented by all major database management systems, but MySQL, Oracle, MS SQLServer, and the rest all have their own quirks.) This section weighs in at nearly 300 pages, and covers database user administration, data manipulation, and database replication, and more. String function, date and time functions, mathematical functions, and flow control functions are described here, too.
- Client and Server Administration – A guide to MySQL server and client configuration and administration (90 pages). This is where you will learn the difference between mysqld (the database server) and mysql (the command-line client), and the configuration options of each. A reference to command-line utilities such as mysqladmin, mysqlcheck and mysqldump is also included.
- Programming APIs – A 100-page guide to three popular programming language APIs – C, Perl, and PHP – which websites or programs use to interface with MySQL.
- Quick Reference – A 15-page set of appendices with a quick reference to the data types, operators (arithmetic, relational, and logical), and environment variables used by MySQL.
If you are an absolute beginner to MySQL and database management systems, this book might not be the best first choice for you. A good place to start instead might be here. But if you know that MySQL is in your software development or web site development future, MySQL in a Nutshell deserves a place on your bookshelf.
I have 4 exciting new books about JavaScript, that I’m reading and reviewing.
- JavaScript: The Missing Manual, by David McFarland, published by O’Reilly Media, ISBN: 978-0-596-51589-8, 543 pages, US $39.99 ~ A great reference, and tutorial on JavaScript
- JavaScript: The Good Parts, by Douglas Crockford, published by O’Reilly Media, ISBN: 978-0-596-51774-8, 153 pages, US $29.99 ~ A solid JavaScript reference and delightfully opinionated how-to manual for avoiding the bad parts of JavaScript and maximizing use of the good parts.
- Dojo: The Definitive Guide, by Matthew A. Russell, published by O’Reilly Media, ISBN: 978-0-596-51648-2, 450 pages, US $39.99 ~ The definitive guide for powering up AJAX development techniques with the popular and powerful Dojo JavaScript library.
- Mastering Dojo, subtitle – JavaScript and Ajax Tools for Great Web Experiences, by Rawld Gill, Craig Riecke, and Alex Russell, published by the Pragmatic Programmers, Pragmatic Bookshelf, ISBN:978-1-934356-11-1, 555 pages, US $38.95 ~ Dojo is a set of client-side JavaScript tools that help you build better web applications.
Book Review: Sin Boldly – A Field Guide for Grace, by Cathleen Falsani, published by Zondervan, 2008, 218 pages, ISBN:978-0-310-27947-1, $19.99
Cathleen Falsani is a popular and awarding winning columnist for the Chicago Sun Times, and author of The God Factor. Falsani (aka godgurl) was anointed 2005 Religion Writer of the Year, by the Religion Newswriters Association. She’s a graduate of Wheaton College and holds master’s degrees in journalism and theology.
Falsani says grace (by her definition) is something unexpected. In Sin Boldly – A Field Guide for Grace, published in September 2008, she goes looking for God’s grace in places you would not expect to find it. She looks for God, in places people think He doesn’t go. It’s a delightful, fast reading collection of essays, looking for God in “all the wrong places”, yet finding traces of God’s grace … even there. It’s a field guide for grace, so put your blue jeans and hiking boots on. Falsani leads the expedition through AIDS infested Africa, and into hurricane devastated Mississippi… looking for grace under every fallen, rotten tree in the forest. Falsani goes “out into the wild places” looking for grace where grace doesn’t exist… and finds it.
This is a book primarily for people who say they’ve never experienced grace, that it doesn’t exist, or at least they don’t believe it does. (p.11)
Justice is getting what you deserve. Mercy is not getting what you deserve. Grace is getting what you absolutely don’t deserve. (p.14)
Falsani quotes Bono’s song entitled Grace. “Grace, she takes the blame, she covers the shame, removes the stain… Grace makes beauty out of ugly things.” (p.14,15)
My friend Joe Thorn, who’s a pastor in the Chicago area joined a Facebook fanclub for the book and that caught my eye. I’m a Detroiter, so I rarely read anything in the Chicago Sun Times, and I had never heard of Falsani before. Something about the book title intrigued me… err, maybe it was just the book title that snagged my attention. Sin Boldly. What does that mean? Sounds kind of dangerous. My dear wife Jane raised her eyebrows and said something like… “Be careful – it sounds like it could be some Hokey Pokey”. “And his evil cousin Hankey Pankey”, I quipped in reply. BTW – Hokey Pokey is in the book. (p.38)
The phrase “Sin Boldly” actually comes from a letter of the great Reformation leader Martin Luther to his friend Phillip Melanchthon.
If you are a preacher of Grace, then preach a true, not a fictitious grace; if grace is true, you must bear a true and not a fictitious sin. God does not save people who are only fictitious sinners. Be a sinner and sin boldly, but believe and rejoice in Christ even more boldly. For he is victorious over sin, death, and the world.
I used to live in Grand Rapids and ride my bike past Zondervan publishing headquarters at the intersection of Robinson Rd. and Lake Drive. Yes I did. Zondervan and I go way back. So I’m not unaware of the deep traditions in Christian publishing, and the connection between Wheaton and Grand Rapids. But, I had no idea what to expect in this book from the “God Girl” of Chicago.
People tend to make up their mind about a book before they even read it.
I read and review a lot of technical books. In fact many of the books I review are technical manuals about various aspects of web site design, databases, or dynamic computer languages. So, this book was a great change of pace, an easy read, and a blessing in several ways. Cathleen Falsani is a great story teller. I read the book for several hours while riding down to Roanoke, Virginia, and again for a few hours during the ride back home to Detroit.
The first thing that caught my eye, when opening the book was the quote from Lee Strobel (another Chicago area journalist, and author of The Case for the Real Jesus). Lee said:
Here’s an utterly original, unflinchingly honest, heart-expanding treatment of my favorite topic: the grace of God.
Probably the next thing that snagged my attention in the book was the quote from the esteemed Christian Reformed scholar, Louis Berkhof – from his book Systematic Theology – talking about common grace: it “curbs the destructive power of sin, maintains in a measure the moral order of the universe… and showers untold blessings upon the children of men.” (p.10) This hit really close to home, since I grew up in the CRC and read Berkhof’s Systematic Theology in college. (Maybe I should pay attention to what’s going on in this book.)
Sin Boldy is not a technical book, and not a “Systematic Theology”. We sniff a few sweet flavors of grace at the beginning of the book (p.10) common grace, special grace, irresistible grace, saving grace, protecting, and dying grace. However, there is never an attempt to define each term through precise technical descriptions. Instead, the book is a collection of stories that reveal grace. We are stalking the wild Aslan in the darkest jungle – except Aslan is really stalking us.
Each chapter is a different short story, and the stories are loosely connected, and sprinkled with quips that make you stop and think. “Once you let Jesus in your kitchen, He just keeps making peanut butter and banana sandwiches, and He never leaves.” (p.24)
Chapter 2 – Bouncing Into Graceland, describes a visit to Elvis Presley’s Graceland estate. Cathleen decided to visit her old college friend Bubba, and together they would tour Graceland, in Memphis, Tennessee.
Bubba is my “best good friend”, as in Forrest and Bubba in Forrest Gump. He calls me Kitty and I call him Bubba… Our extraordinary friendship is on of the great blessings of my life. When we were freshmen, I read a book in my Theology 101 class, called The Go-Between God … God’s grace is what makes the connections between people that wouldn’t happen otherwise… It’s the only legitimate explanation for how this liberal journalist, freelance Christian, Connecticut Yankee and the self-proclaimed “high-tech hillbilly”, pride of Yazoo City, Mississippi formed a life long bond…
Bubba admitted that he was a bit skeptical about looking for the grace of God at Elvis’ Graceland estate:
… and good five-point Calvinist that he is, proceeded to lecture me on his thorough and erudite theological understanding of grace, and his concern that many Christians might misunderstand it as a kind of “get outta jail free card” – to sin, if not boldly, at least with abandon. (p. 20,21)
Later… Bubba admitted he might be over thinking the concept of grace. “Us five-pointers should be the ones to understand and convey grace the best, but we’re not… but grace has got me in a headlock and won’t let me go.” (p.21)
Bubba makes me laugh harder than anyone I know… like that scene in Mary Poppins where Bert and Uncle Albert are laughing so hard they start to levitate. (p.21)
There’s a lot about Elvis that’s easy to mock, and believe me, we have. (p. 22)
This was funny, but I was getting kind of bored with this chapter, not sure where it was going… until I came to the section about Elvis winning the Grammy awards, and singing How Great Thou Art.
Did you know the only Grammy awards Elvis won were for gospel recordings? The King of Rock ‘n’ Roll won his first Grammy in 1967 for Best Sacred Performance for the gospel album, How Great Thou Art.
My mother sang How Great Thou Art at her own funeral. Actually, my dad played a recording of my mother singing How Great Thou Art from a family home recording made 10 years earlier. (We also sang it in church yesterday morning.)
Chapter 3 – Jane was driving as we headed south on highway 77, near Charleston, West Virginia. I was reading the chapter called Driving and Crying.
Reminders of the Father’s love… a few crumbs of grace … from chapter 3:
She talks about childhood memories… the moment of grace in the guise of a song… and quoting Frederick Buechner: “Pay attention to the things that bring a tear to your eye or a lump in your throat, because they are signs that the holy is drawing near.” (p.36)
Driving while listening to music is one of life’s greatest pleasures. It’s a spiritual practice I learned from my father… I would accompany Daddy on the ride from our home in Connecticut into Manhattan… Many of my fondest memories from childhood are of those regular road trips in his Karmann Ghia, whizzing along the Henry Hudson Parkway, listening to his favorite traditional jazz station on the AM-only radio, talking about nothing in particular, and eating Cracker Jacks from the box he always kept in a hidden compartment… (p.36)
She quotes Lin Brehmer, the Reverend of Rock-n-Roll, from WXRT radio in Chicago:
As we get older, we begin to consider our mortality. The godless man might ask himself at the end of his life, “Have I miscalculated?” (p.37)
The book continues on the journey, “looking for God in the places some people say God isn’t supposed to be.” (p.38) “What brings a tear to the eye of one person, is not the thing that puts a lump in the throat of another, but for everyone there is some music that changes their life… for me, it might be Jeff Buckley’s Hallelujah…” (p.41)
Chapter 8 – The Screaming Frenchman
By the time I got halfway through chapter 8, I finally decided that it was OK to enjoy reading this book, and soak up the lessons that God was teaching me through reading it. God’s grace is revealed more clearly when He draws near to us in unexpected ways. The book was hitting me close to my heart – connecting me with people and events I had heard about in recent conversations with friends.
Bubba made me promise to visit the Screaming Frenchman… I was on a road trip to the post-Katrina Gulf Coast… I almost didn’t go. (p.77) As I pulled into the muddy driveway of his home hear the center of town, I spotted his SUV and a bumper sticker. It said WWJBD? – as in What Would Jimmy Buffet Do? That’s my kind of pastor. (p.78)
Young people from my church (near Detroit) worked with the Screaming Frenchman (Pastor Jean Larroux) last summer in Mississippi. (My dull brain was starting to connect the dots.) That same evening, Sarah (the sister in law) showed me a PowerPoint presentation of home repairs they made while working with Lagniappe Presbyterian Church when she traveled with a group of young people down to Mississippi — from her church in Roanoke, VA.
Falsani relates the conversations about grace with Jean Larroux.
“I would say that grace is startling,” Jean told me…. “It’s just startling. It isn’t supposed to work.” (p.79)
The day after the storm (Katrina Hurricane of August 2005), Jean arrived in his hometown to find that his cousins had just pulled the bodies of their parents from the wreckage of their destroyed house. So many people along the Gulf Coast of Mississippi and Louisiana have similar tales of unthinkable loss. I find the depth of the sorrows they have to bear impossible to fathom. (.p 79)
When Jean told the powers that be in his denomination that he wanted to start a church in the Bay, they said it couldn’t be done. This is where Jean’s stubbornness and, perhaps, God’s stubborn grace came into play. “My definition of grace would be multifaceted, but part of it would certainly be God’s passion for brokenness. He does, he really does love brokenness” Jean told me. “This is a hard place to live, but God is bigger than hard places to live.”(p.80,81)
At the end of Lagniappe Presbyterian Church’s first year, the congregation, peopled by local folks who had lost almost everything (living in FEMA trailers) … and volunteers from across the country … in a steady stream to help the community rebuild …. had $1.7 million in the church coffers… The congregation committed to giving away 10 percent of all they were given and in that first year was able to write $170,000 in benevolence checks to help struggling broken people in other parts of the world. In fact Lagniappe is the largest single donor to a ministry in Colorado that helps sex workers escape the sex-for-sale industry. (p.81)
I read Chapter 16 (The Purple Mamas of Asembo Bay) to Jane and the girls as we traveled north on I-77, Sunday afternoon, Sept 7th. The chapter describes the purple robed women of Asembo Bay, Kenya.
The Women’s Cooperative of Asembo Bay is a group of twenty six widows who pool their resources and care for about seventy children (many of them orphans who have lost their parents to AIDS). (p.162)
I asked if I could do anything for them… one of the youngest Mamas, a shy teenage mother wearing a red and black soccer jersey and a white kerchief on her head said … “Tell our story”.
We all liked that chapter.
The book has 20 chapters, plus a free grace lagniappe (bonus) chapter at the end. My lagniappe gift for you: Visit the Zondervan website about the book, and view a short video clip interview with the author Cathleen Falsani. You can also read Falsani’s blog – The Dude Abides, where she frequently posts new stories.
—
David Crumm recently reviewed the book and interviewed Falsani. The book has number of great stories about Cathleen’s good-buddy from college days — the mystery man named Bubba (a conservative Presbyterian boy from Mississippi). I was curious who Bubba was too, so I’m glad David asked for some background on Bubba.
Bubba’s real name is John Michael Pillow. He and I met (20 years ago last week) as freshmen at Wheaton College, which was an unlikely place for either one of us to wind up. We couldn’t be different, on paper, if we tried. When we met, he was the son of the second-largest cotton plantation owner in Mississippi. He was the first person in his family to live above the Mason-Dixon line. He was a white, sneaker-wearing, guitar-playing guy who liked girls who were the opposite of me.
—
Joel Hamernick reviewed Sin Boldly in his City Grace blog, and connected the dots from Falsani’s narrative to Tim Keller’s apologetic style.
Falsani’s book made me think about a recent argument made by Tim Keller that religion advocates typically are so disconnected from disbelievers that they caricature one another in argument, find no common ground, and therefore have meaningless conversations that are more attack than discussion.
—
An excerpt from the book (the chapter called “Man Hands”) appeared in the Chicago Sun Times, August 29th, 2008, under the title, Why Jesus Had Great Hands.
—
A word of caution to my theologically literate, conservative, Presbyterian Bubba buddies, because I know what you might be thinking…
Cathleen Falsani writes a regular column on the Huffington Post, like her recent post Embrace Your Grace. After reading a few paragraphs of her edgy Chicago area religion posts for Huffington, like Give Context a Chance, you might NOT want to give context a chance. I can already hear the murmuring… Rev. Dr. Jeremiah Wright ( Barack Obama’s former pastor at Trinity UCC ) is too far left (funny … Wright is too far left) — or too far out of the suburban comfort zone. Hey, Dr. Wright was too far out of Obama’s comfort zone… You might be thinking that Father Michael Pfleger is too far out there (Hallelujah … praise God … somebody scream Hallelujah) … with his liberation theology… and even Fox News does a better job of explaining what Jesus was talking about in John 17… or do they?
It get’s complicated and confusing real quick… because it’s an election year, and people get all emotional and stop thinking logically. It’s true that Falsani covers the religion beat for the Chicago Sun Times. But it’s too easy to dismiss Falsani as “another Obama mama”, just because she lives in the Chicago area and reports on the activities of the churches in her neighborhood.
I can hear the critics now: “A Wright supporter? Oh, you can write her off, without even reading the book.” There are several silly silogisms in this logic… so slow it down a little bit, and think about it from the other Bubba’s perspective. Now that we “vented a little steam” about the concerns you have, go read the book.

