Christopher Lawson's Blog, page 11
July 7, 2017
God's Smuggler for Young Readers by Brother Andrew

I first read GOD'S SMUGGLER years ago, so it was good to re-read the book. Even though this edition is the "Young Reader's Edition," I think many adults will also appreciate the concise length.

It's easy to forget how dangerous it was to go behind the "Iron Curtain." The book captures the excitement and danger of smuggling Bibles and tracts to various countries in Eastern Europe, as well as to Russia. (See, for example, the chapter, "For Russian with Love.") Many of the stories involve Andrew's worn out Volkswagen beetle, which one mechanic claimed could only be running through God's miraculous intervention.
I found the book to be a quick, exciting read. The illustrations are well done, and make the stories come alive, by depicting the danger involved. Many of the scenes show soldiers standing close by with guns at hand.
Brother Andrew is ever-optimistic about what God will do in your life. For instance, in describing how he obtained his driving license, he quotes a friend, "That's the excitement in obedience. . . Finding out later what God had in mind."Inspiring Book
All in all, I found GOD'S SMUGGLER to be an inspiring book, offering encouragement to Christians interested in spreading the Gospel. I had forgotten that Brother Andrew was actually from the Netherlands. He is an inspiration to all who love the Gospel.

The infamous VW Beetle
Advance Review Copy courtesy of the publisher.
God's Smuggler
$9.99
By Brother Andrew, John Sherrill, Elizabeth Sherrill

God's Smuggler for Young Readers by Brother Andrew
July 3, 2017
Rule #1 Don't Be #2: You Get What You Work For, Not What You Wish For by Daniel Milstein

RULE #1 is a book of life PRECEPTS. Although targeted at business readers, RULE #1 is really applicable to all of life. The book is not a "how to" guide; rather, it is a series of life lessons learned the hard way by Mr. Milstein.
Even though a Kindle version is available, I recommend you stick with the hardcopy. (The audio version might also be helpful.) This is one of those books you will want to have around and browse through sometimes. I think the actual format and presentation helps tell the story, and drive the points home.
The author explains that he came to the U.S. with pennies in his pocket, then after years of hard work, rocketed to the top of his profession. Each of the 25 chapters covers a life lesson that the author illustrates. For example, Chapter 20 suggests, "There's No Room For Complainers." He notes that "Nobody likes a whiner to a complainer. They are the first cousins of the critic." And,
"Feeling sorry for yourself isn't part of the game plan."
Many of the points emphasize hard work, focus, planning--and most of all, ACTION. You don't need to read the chapters in order, although I did. You can zip through this little book in about an hour, but I think most people will want to keep the book close at hand, and read over the ideas again.

Most of the ideas are not outlandish or amazingly original. I've seen similar ideas in many inspirational and success books. Nevertheless, I found the stories and ideas credible, helpful, and inspiring. Of all the points made, I like this one the best:
"You should have goals so big that you are uncomfortable telling your friends about them."
I love that idea--reach for the stars!
Wait--I think I like this one even more:
"Good luck is what happens when preparation meets opportunity. Bad Luck is what happens when lack of preparation meets a challenge."
The above idea is another variant on the theme of personal responsibility. Don't blame bad luck, don't blame others, get to work!
All in all, I found Rule #1 Don't be #2 to be an outstanding read. Do not be fooled by the small size. The ideas are outstanding, and worthy of serious consideration..
Get the hard copy, read through the ideas, then think about them. I did.
Advance Review copy courtesy of the publisher.
Rule #1 Don't Be #2
$6.08 $6.08
By Daniel Milstein
Rule #1 Don't Be #2: You Get What You Work For, Not What You Wish For by Daniel Milstein
Oracle Performance: LAST Cause is not the same as ROOT Cause
We use the "Cache Hit Ratio" Method
Looking for "What Changed" not so Helpful
When faced with a new problem to troubleshoot, many smart people immediate ask the question, "What Changed?" This seems logical, but is actually a weak way to solve a performance problem.
By looking for recent changes, you are making a questionable assumption. You are assuming that everything was indeed fine until the problem was reported. That is a bad assumption--especially in the world of performance tuning.
Just because something was running pretty well before, that doesn't mean it was well-designed; it could just mean you sometimes "get away" with a poor design.
In philosophy, the most recent cause is called the "Proximate" cause. The root cause is called the "Ultimate" cause.
Two examples will clarify:
Example 1: Caching EffectA poorly designed sql statement requires 100,000 disk reads. The designer is not aware of how poorly the code is written, since the report runs "okay." Normally, all the blocks are "cached up," so that the performance isn't too bad. The key is, good performance requires all the blocks to be cached. Even a small reduction in caching will have a disastrous effect.
Then, other jobs are added to the server, and the caching goes down from 99% to 90%. Suddenly, the report takes much longer. The users mistakenly search for the "proximate" cause, and ask, "What changed?" They don't realize that the code was poor to begin with, and suggest that some other job is causing their bad performance.
I have personally worked on many cases just like Example 1. It is very common for users to blame another job, when their own design is really the root cause.
Example 2: Unstable Execution PlansIn this case, the sql is overly complicated, with lots of bind variables and awkward joins. The optimizer struggles to figure out a good execution plan. Sometimes it gets it right, sometimes it doesn't. On the current server, given the current statistics and perceived bind variables, the optimizer has a decent plan, the sql runs well.
Now, the same code is run on another database. Stats are re-gathered, and new queries are run. This time, the code runs horribly. The users again ask, "What changed?" assuming that that question is a good place to start.
Lessons LearnedI am reluctant to begin any investigation with "What changed." A good DBA normally has far better methods to use.
Lesson #1: You Don't Really Know What Changed[image error]
I like to use the "Rule" hint
Folks mean well, but rarely does anyone really know for a fact what has changed and what hasn't. How often do people say, "We haven't changed anything," but really can't guarantee that.
Lesson #2: Some Things Always ChangeEven when a database is cloned to another server, many things will soon be different, even when everyone says, "We haven 't changed anything." For example, the bind variables specified will usually be different. How the optimizer assesses the bind variables can also change. Here's another: The caching effect will always be different, depending on recent jobs run. When a user claims the the report being run is identical as before, they cannot really know that for a fact.
Lesson #3: Poor Design Can Yield Varying PerformanceYou can write terrible sql, and sometimes you get away with it; the optimizer happens to get it right in your particular case. The problem is, it's an unstable solution, and can easily shift to a bad solution. The slightest change--such as stats, how bind variables are used, size of objects, or caching can trigger plan changes and miserable results.
It would be easy to get caught up analyzing all the factors that cause plan changes, but they are not relevant to the root cause.Wrap-up: We can Do Much Better
By looking for "What has changed," you are aiming at the wrong target.
By focusing on recent events, you are actually analyzing the consequence of the bad design, not isolating the bad design itself.
Of course, I must admit, you can sometimes guess the right cause, but the "What's Changed" method is not a consistently good approach. We can do much better.
DBAs have excellent ways to find root cause. Here's one: Become adept at using the Active Session HIstory views.
[image error]
We still prefer the "What changed" method
Snappy Interviews: 100 Questions to ask Oracle DBAs
By Christopher Lawson
Oracle Performance: Why LAST Cause is not the same as ROOT Cause

Sounds good to me!
A Sneaky Mistake
When faced with a new problem to troubleshoot, many smart people immediate ask the question, "What Changed?" This seems logical, but is actually a weak way to solve a performance problem.
By looking for recent changes, you are making a questionable assumption. You are assuming that everything was indeed fine until the problem was reported. That is a bad assumption--especially in the world of performance tuning. Just because something was running pretty well before, that doesn't mean it was well-designed; it could just mean you "got away" with a poor design.
Two examples will clarify:
Example 1A poorly designed sql statement requires 100,000 disk reads. The designer is not aware of how poorly the code is written, since the report runs "okay." Normally, all the blocks are "cached up," so that the performance isn't too bad. The key is, good performance requires all the bloks to be cached. Even a small reduction in caching will have a disastrous effect.
Then, other jobs are added to the server, and the caching goes down from 99% to 90%. Suddenly, the report takes much longer. The users ask, "What changed," not realizing that the code was poor to begin with.
I have personally worked on many cases just like Example 1.
Example 2In this case, the sql is overly complicated, with lots of bind variables and awkward joins. The optimizer struggles to figure out a good execution plan. Sometimes it gets it right, sometimes it doesn't. On the current server, given the current statistics and perceived bind variables, the optimizer has a decent plan, the sql runs well.
Now, the same code is run on another database. Stats are re-gathered, and new queries are run. This time, the code runs horribly. The users again ask, "What changed?" assuming that that question is a good place to start.
Lessons Learned
Optimizer overload
I am reluctant to begin any investigation with "What changed." A good DBA normally has far better methods to use.
Lession #1: No One has Perfect InformationFolks mean well, but rarely does anyone really know for a fact what has changed and what hasn't. How often do people say, "We haven't changed anything," but really can't guarantee that.
Lesson #2: Some Things Always ChangeEven when a database is cloned to another server, many things will soon be different, even when everyone says, "We haven 't changed anything." For example, the bind variables specified will usually be different. How the optimizer assesses the bind variables can also change. Here's another: The caching effect will always be different, depending on recent jobs run. When a user claims the the report being run is identical as before, they cannot really know that for a fact.
Lesson #3: Poor Design Can Yield Varying PerformanceYou can write terrible sql, and sometimes you get away with it; the optimizer happens to get it right in your particular case. The problem is, it's an unstable solution, and can easily shift to a bad solution. The slightest change--such as stats, how bind variables are used, size of objects, or caching can trigger a miserable execution plan.
Wrap-upBy looking for "What has changed," you are aiming at the wrong target. By focusing on recent events, you are actually analyzing the consequence of the bad design, not isolating the bad design itself.
Of course, I must admit, you can sometimes guess the right cause, but the "What's Changed" method is not a consistently good approach. We can do much better.
[image error]
We still prefer the "What changed" method
Snappy Interviews: 100 Questions to ask Oracle DBAs
By Christopher Lawson
June 27, 2017
The Smear: How Shady Political Operatives and Fake News Control What You See, What You Think, and How You Vote by Sharyl Attkisson
In THE SMEAR, Sharyl Attkisson argues that regular folks are easy targets for false information or smear campaigns: “The public has no idea of the extent to which news is influenced by smear merchants.” This situation didn’t just happen—it’s been a long time coming: “The past two decades have served as an ideal incubator for an industry of smears and fake news.”
The author gives the reader lots of reasons to worry. Attkisson documents, in great detail, many of the behind-the-scenes organizations with political agendas. The consumer of news is “pummeled by countless narratives—some based on grains of truth; others wholly invented for the audience.”
Attkisson warns news consumers to be cautious even if all the media outlets are parroting the same line. “Today, if enough pundits, operatives, and media parrot the same narrative, it becomes incorporated into the fabric of the news as an accepted fact.”
And yet, smear campaigns are not new—they are as old as the Republic:
“Our founding fathers knew very well the power of a sharp character assassination . . . Hamilton and Jefferson were planting stuff on each other’s sex lives.”
The author documents many smear campaigns—originating from both the Left and the Right. She cites the Clarence Thomas hearings as an example of smears from both sides, and also, how one might fight a smear:
“The Clarence Thomas Supreme Court nomination showed both sides that the best way to fight a smear might not be to take a defensive posture—but to mount an offensive countersmear.”
Attkisson is careful to define what she means by “smear.” It’s not the dissemination of falsehoods, so much as exaggeration: “Expert smear artists take a sprinkle of truth—in this case Imus’s objectionable comments—and pervert it into a weapon of mass destruction to advance a larger goal, often political or financial.” Smear campaigns take something that is true and "amplify a misdeed out of proportion.”
For me, one of the most fascinating sections was about a variation of smear called “Astroturf.” In this variation, the pros pretend they are ordinary folks: “Paid interests disguised as ordinary people troll assigned topics, news sites, reporters, blogs, and social media for the purpose of posting comments that spin and confuse.” The idea is to “give the impression there’s widespread support for or against an agenda when there’s not.”
Attkisson concludes with this sobering warning:
“One thing you can count on is that most every image that crosses your path has been put there for a reason. Nothing happens by accident. What you need to ask yourself isn’t so much Is it true, but Who wants me to believe it—and why?”
So all in all, I found THE SMEAR to be a solid, and a scary work. The author writes clearly and concisely. Although not a short book, it is reasonably easy to follow. The book explains many detailed cases on both sides of the political spectrum. Of course, I already knew about many of the tragic stories, but I had no idea of the magnitude of the smear machines.
The Smear by Sharyl AttkissonJune 26, 2017
The Swamp: Washington's Murky Pool of Corruption and Cronyism -- and How Trump Can Drain It by Eric Bolling

Feeding time?
In THE SWAMP: WASHINGTON'S MURKY POOL OF CORRUPTION AND CRONYISM, Eric Bolling presents some simple, common sense proposals to end special interest politics in Washington.
Both political parties get a beating by the author, but perhaps Liberals get a bigger beating. Naturally, the main scandals of recent years are each given a few pages. President Clinton gets his own chapter, 12, "Contract with American, Contact with an Intern." I didn't find anything really new or surprising there.
The GOP takes it licks as well, especially in Chapter 10, "From Great Society to -GATE Society." The author pulls no punches in exposing the deceit of Nixon, as well as the disgrace of Vice President Spiro Agnew.
The governor of South Carolina, Mark Sanford gets several pages documenting his bizarre outing to see his mistress in Argentina. Eric notes that the scandal didn't keep him from being elected to congress:
"One of the most embarrassingly bungled extramarital affairs in history was not a disqualification ... from rejoining the ecosystem of the Swamp."

Lots of places to hide
I thought the most insightful point the author makes is this: The morass in Washington didn't happen quickly, and it didn't happen due to just one party: "Remember that the Swamp is not just something created by the left. Fight the whole "establishment" because it’s just as dangerous as the liberal opposition."
I thought the final part of the book, "Conclusion," had the meatiest points. Eric explains how the Founding Fathers foresaw something like a Swamp. They wrote the Constitution in such a way as to reign-in the "Swamp Creatures." They envisioned limited government because "They saw how many different ways government could go wrong."
Again, not really a new or startling point, but still a good point, I think.
The retelling of all the tawdry affairs was mildly interesting; however, there were also some scandals new to me. Perhaps the wildest story was of the "Biggest BS artist" during the Eisenhower years. Eric tells the bizarre story of GOP congressman Douglas Stringfellow of Utah. He pretended to be paraplegic, and exaggerated tales of being a secret agent and of being tortured in a prison. He even made it on "This is Your Life." His Democratic colleagues ultimately dug up the real facts, leaving him disgraced. (Plus, probably no more TV appearances.)
So all in all, I found THE SWAMP to be an interesting record of the corruption of both parties. Most of the accounts were familiar to me, as I suspect they will be to most readers. The author's recommendation for the regular folk to rise up and demand change is a nice idea, but methinks a wee bit optimistic. Eric also recommends term limits and restrictions on lobbyists.
The Swamp: Washington's Murky Pool of Corruption and Cronyism and How Trump Can Drain It
$17.70
By Eric Bolling

Member of the Establishment
The Swamp: Washington's Murky Pool of Corruption and Cronyism by Eric Bolling
June 22, 2017
Oracle Performance Tuning: How Cursor Sharing Can Wreck Performance
It is fairly common to have an application neglect to use bind variables. This is not a terrible disaster, but creates problems if the application generates a lot of sql.
A common solution to this (assuming the app can't/won't be changed) is to change the init.ora parameter, Cursor_Sharing. It is changed to either FORCE or SIMILAR.
Generally, this change works well, but there can be unexpected (and bad) results. Of course, execution plans will likely change on a small percentage of sql, but there are bigger problems.
Function IndexesSuppose the application performance is dependent on certain indexes. For certain function indexes, switching Cursor_Sharing to force binds makes it impossible to use the indexes!
Here is an actual, real-life example. There is a functional index defined as:
Ltrim (Colx, 1)
The sql has a where clause that of course looks like
where Ltrim (Colx,1) = '123'
With the cursor sharing change, this code changes to:
where Ltrim (Colx,:BIND) = '123'
Now, the functional index cannot be used. That index requires that '1' be explicitly present.
FYI: Our workaround was a login trigger for the user who ran this section of the code. We changed Cursor_Sharing just for that one user.
June 20, 2017
Squarespace: How to Embed Powerpoint Presentations
The problem is that Squarespace does not directly support PowerPoint presentations. The solution is to use another hosting service, which reads the file, and converts to a presentation. I found it easiest to use Google Drive, but there are other, similar services that do the same thing.
Steps to Embed PresentationUpload your presentation to Google Drive.First sign-in to Google Drive, and upload your powerpoint presentation. This is simple and takes just a minute or so.
Allow File to be Shared
Be sure to share the file
By default, the file will be private, so you will need to toggle this. Simple click the flie, click right and specify "Share." In the ensuing window, you will see "Link sharing is On."
Specify that file should be opened with "Google Slides."Highlight the file, click right, and look for the "Open With" option. Select Google Slides. This will start up the Google Slides application. At this point, we are just interested in one feature. In Google Slides, select File/Publish to the Web. Then select the Embed tab. The code you want will now be shown.

Create Code Block in Squarespace
In Squarespace, edit the page that you want to show the presentation. Create a "Code" block, and just paste the code in.
Modify the Width and HeightSquarespace will now run your presentation when a user accesses that page. There is some tidying up to do, however. For my blog, the presentation was too large, and overlapped the sidebar. You will likely need to experiment a bit with the right width/height.

And then I just changed the width and height!
Edit the Code block as shown here.

For my blog, I found it best to reduce the width from 960 to 750. Similarly, I reduced the height from 749 to 550. Naturally, save your code block changes.
The Final ProductHere is the actual blog post with the embedded presentation.
With the sizing changes suggested above, the presentation displays nicely, without covering up the sidebar on the right. The user can also change the presentation to Full-Screen. This works well.

So overall, I found it to be a simple effort to embed my presentation in PowerPoint. The first time can be a little tricky, but it's easy from then on.
Squarespace: How to Embed Powerpoint PresentationsJune 18, 2017
Oracle Performance: How to Use Stored Outlines to Change Execution Plan
Here is a powerpoint presentation showing you all the details.
Oracle Performance: How to Use Stored Outlines to Change Execution PlanJune 17, 2017
10 Management Response Examples for Online Customer Reviews: Stay Safe, Save Time and Win Back Upset Customers by Jon Symons

Every once in a while, I am surprised by a book. I admit I had low expectations for 10 MANAGEMENT RESPONSE EXAMPLES. I had never heard of the author, and spotted the title by chance, I when I was looking for books about online reviews.
This book is short, and cheap—in fact, free! I assumed the value of the book would match its price.
Okay, I was wrong. Happy to eat crow. Reading the first chapter, it became obvious that the author, Jon Symons knows his field.
The book starts with a “Bonus Chapter.” Once again, I assumed this would be just a bunch of “fluff” just to pad the book. (That is usually what a “bonus chapter” is.) In this case, the bonus is not fluff at all—it’s a serious business idea.
Jon asks the question, “What's Your Magic Number?” The point is, consider the “Lifetime Value of a Customer,” or LVC. When you lose an influential customer, the total value of his influence can be massive. Jon gives an actual example of a dissatisfied customer of a sushi restaurant. By not seriously responding to the mad customer, who happened to be a major influencer, the restaurant lost a total of $100,000 in revenue.
Each chapter presents a single idea on the proper way to handle reviews. This idea is summarized by a “Key Point” that gives a quick summary. For example, when responding to a negative review, the “High Road” means, “Find a way, using humor, creativity or kindness to reach your audience and go beyond taking a review personally. “

Celebrating a good review
Of all the ideas suggested, one really stands out, and surprised me: “Negative reviews offer you, the business owner, opportunities to demonstrate caring, correct facts, and even go viral.” I admit I never thought that a negative review could be turned around to be a positive thing.
Here's a point that management should pay attention to: When responding to a negative review, management needs to put themselves in the position of the customer. In other words, “Customers Need You to Put Them First.”
Jon calls the typical (wrong) response to a bad review the “Middle Management” mistake. The firm gives little weight to the customer, and just restates its commitment: “It is all about their hotel and its improvement, rather than acknowledging the upset of the actual person that is complaining.”
[image error]
I like the "Middle Management" response
I have written lots of reviews, and I often see the above mistake. The worse companies respond to a terrible review with a canned, “We strive to always maintain high standards, and value you, blah, blah blah.”
All in all, I found 10 MANAGEMENT RESPONSE EXAMPLES to be an outstanding guide, with excellent ideas on responding to both good and bad reviews. Do not be misled, like I was, by the short length of the book. There is no fluff in this book--it gets right down to the key points. The author uses actual examples of real reviews to make his points. One nit: I would have liked to see some reference information when a research "study" is mentioned.
10 Management Response Examples for Online Customer Reviews: Stay Safe, Save Time and Win Back Upset Customers
By Jon Symons

I always take the high road
10 Management Response Examples for Online Customer Reviews by Jon Symons


