ea

Recursive WITH, part III: IS_LEAF

articles: 

The CONNECT BY syntax provides a useful pseudocolumn, CONNECT_BY_ISLEAF, which identifies leaf nodes in the data: it’s 1 when a row has no further children, 0 otherwise. In this post, I’ll look at emulating this pseudocolumn using recursive WITH.

Let’s continue with the example from my previous posts about hierarchical data: the skeleton from the old song “Dem Dry Bones”.

UPDATE skeleton SET connected_to_the=NULL WHERE bone='head';
SELECT * FROM skeleton;

BONE                                     CONNECTED_TO_THE
---------------------------------------- ----------------------------------------
shoulder                                 neck
back                                     shoulder
hip                                      back
thigh                                    hip
knee                                     thigh
leg                                      knee
foot                                     heel
head
neck                                     head
toe                                      foot
arm                                      shoulder
wrist                                    arm
ankle                                    leg
heel                                     ankle
finger                                   wrist
a rib                                    back
b rib                                    back
c rib                                    back

With CONNECT BY, we can use the CONNECT_BY_ISLEAF pseudocolumn to identify leaf nodes:

SELECT bone, level, 
ltrim(sys_connect_by_path(bone,' -> '),' -> ') AS path
FROM skeleton
WHERE connect_by_isleaf=1
START WITH connected_to_the IS NULL
CONNECT BY prior bone=connected_to_the 
ORDER siblings BY 1;

BONE      LEVEL PATH                                                                                            
--------- ----- ----------------------------------------------------------------------------------------------- 
finger        6 head -> neck -> shoulder -> arm -> wrist -> finger                                              
a rib         5 head -> neck -> shoulder -> back -> a rib                                                       
b rib         5 head -> neck -> shoulder -> back -> b rib                                                       
c rib         5 head -> neck -> shoulder -> back -> c rib                                                       
toe          12 head -> neck -> shoulder -> back -> hip -> thigh -> knee -> leg -> ankle -> heel -> foot -> toe

This pseudocolumn takes a little more thought to replicate using recursive WITH than the LEVEL pseudocolumn and the SYS_CONNECT_BY_PATH, which, as we saw in my last post, fall naturally out of the recursion.

We can imitate CONNECT_BY_ISLEAF by searching DEPTH FIRST and using the LEAD function to peek at the next row’s the_level value. If the next row’s level is higher than the current row, then it’s a child of the current row; otherwise, it’s not a child. Since, with DEPTH FIRST, all the children of a row come out before any siblings, if the next row isn’t a child, then the current row is a leaf.

WITH skellarchy (bone, parent, the_level) AS
 ( SELECT bone, connected_to_the, 0  FROM skeleton 
   WHERE bone = 'head'                         
 UNION ALL
   SELECT s.bone, s.connected_to_the , r.the_level + 1
   FROM skeleton s, skellarchy r
   WHERE r.bone = s.connected_to_the           
 )
SEARCH DEPTH FIRST BY bone SET bone_order
CYCLE bone SET is_a_cycle TO 'Y' DEFAULT 'N'
SELECT lpad(' ',2*the_level, ' ') || bone AS bone_tree , the_level,
  lead(the_level) OVER (ORDER BY bone_order) AS next_level,
  CASE 
    WHEN the_level < lead(the_level) OVER (ORDER BY bone_order) THEN NULL
    ELSE 'LEAF'
  END is_leaf
FROM skellarchy
ORDER BY bone_order;

BONE_TREE                                      THE_LEVEL NEXT_LEVEL IS_L
--------------------------------------------- ---------- ---------- ----
head                                                   0          1
  neck                                                 1          2
    shoulder                                           2          3
      arm                                              3          4
        wrist                                          4          5
          finger                                       5          3 LEAF
      back                                             3          4
        a rib                                          4          4 LEAF
        b rib                                          4          4 LEAF
        c rib                                          4          4 LEAF
        hip                                            4          5
          thigh                                        5          6
            knee                                       6          7
              leg                                      7          8
                ankle                                  8          9
                  heel                                 9         10
                    foot                              10         11
                      toe                             11            LEAF

Watch out for Cycles

The first point of caution about this solution concerns cycles. In my last post, I had created a cycle by making the ‘head’ node’s parent the ‘toe’ node. If I’d left the cycle in the data, the toe node wouldn’t be a leaf any more, but this query would falsely identify the head as a leaf:

UPDATE skeleton SET connected_to_the='toe' WHERE bone='head';

BONE_TREE                                      THE_LEVEL NEXT_LEVEL IS_L
--------------------------------------------- ---------- ---------- ----
head                                                   0          1
  neck                                                 1          2
    shoulder                                           2          3
      arm                                              3          4
        wrist                                          4          5
          finger                                       5          3 LEAF
      back                                             3          4
        a rib                                          4          4 LEAF
        b rib                                          4          4 LEAF
        c rib                                          4          4 LEAF
        hip                                            4          5
          thigh                                        5          6
            knee                                       6          7
              leg                                      7          8
                ankle                                  8          9
                  heel                                 9         10
                    foot                              10         11
                      toe                             11         12
                        head                          12            LEAF
 
19 rows selected.

This can be corrected for by adding WHERE IS_A_CYCLE=’N’ to the query.

Respect the order of evaluation…

A second point of caution: if I add a WHERE clause to the query that limits the number of levels, the last line of the resultset will always be identified as a leaf.

WITH skellarchy (bone, parent, the_level) AS
 ( SELECT bone, connected_to_the, 0  FROM skeleton 
   WHERE bone = 'head'                         
 UNION ALL
   SELECT s.bone, s.connected_to_the , r.the_level + 1
   FROM skeleton s, skellarchy r
   WHERE r.bone = s.connected_to_the           
 )
SEARCH DEPTH FIRST BY bone SET bone_order
CYCLE bone SET is_a_cycle TO 'Y' DEFAULT 'N'
SELECT lpad(' ',2*the_level, ' ') || bone AS bone_tree , the_level,
  lead(the_level) OVER (ORDER BY bone_order) AS next_level,
  CASE 
    WHEN the_level < lead(the_level) OVER (ORDER BY bone_order) THEN NULL
    ELSE 'LEAF'
  END is_leaf
FROM skellarchy
WHERE the_level < 8 
ORDER BY bone_order;

BONE_TREE                                                     THE_LEVEL NEXT_LEVEL IS_L
------------------------------------------------------------ ---------- ---------- ----
head                                                                  0          1
  neck                                                                1          2
    shoulder                                                          2          3
      arm                                                             3          4
        wrist                                                         4          5
          finger                                                      5          3 LEAF
      back                                                            3          4
        a rib                                                         4          4 LEAF
        b rib                                                         4          4 LEAF
        c rib                                                         4          4 LEAF
        hip                                                           4          5
          thigh                                                       5          6
            knee                                                      6          7
              leg                                                     7            LEAF      <<<=====

The leg is falsely identified as a leaf, and NEXT_LEVEL comes out as NULL, even though the ‘leg’ row has a child row. Why is that? It’s because this solution uses the LEAD analytic function. With analytic functions, WHERE clauses are evaluated before the analytic functions.

Highlighting the relevant bits from the query:

WITH skellarchy AS ...[recursive WITH subquery]...
SELECT ... LEAD(the_level) OVER (ORDER BY bone_order) AS next_level ... --analytic function
FROM skellarchy
WHERE the_level < 8 ...                                                 --where clause

To quote the documentation:

Analytic functions compute an aggregate value based on a group of rows…. The group of rows is called a window and is defined by the analytic_clause. For each row, a sliding window of rows is defined. The window determines the range of rows used to perform the calculations for the current row…. Analytic functions are the last set of operations performed in a query except for the final ORDER BY clause. All joins and all WHERE, GROUP BY, and HAVING clauses are completed before the analytic functions are processed.

In the query above, “where the_level < 8" will be evaluated before LEAD(the_level). The EXPLAIN PLAN shows this very clearly:

-----------------------------------------------------------------------------------------------------
| Id  | Operation                                | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                         |          |     2 |    76 |     8  (25)| 00:00:01 |
|   1 |  WINDOW BUFFER                           |          |     2 |    76 |     8  (25)| 00:00:01 |  <<=== LEAD
|*  2 |   VIEW                                   |          |     2 |    76 |     8  (25)| 00:00:01 |  <<=== filter("THE_LEVEL"<8)
|   3 |    UNION ALL (RECURSIVE WITH) DEPTH FIRST|          |       |       |            |          |
|*  4 |     TABLE ACCESS FULL                    | SKELETON |     1 |    24 |     2   (0)| 00:00:01 |
|*  5 |     HASH JOIN                            |          |     1 |    49 |     5  (20)| 00:00:01 |
|   6 |      RECURSIVE WITH PUMP                 |          |       |       |            |          |
|   7 |      TABLE ACCESS FULL                   | SKELETON |    18 |   432 |     2   (0)| 00:00:01 |
-----------------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   2 - filter("THE_LEVEL"<8)
   4 - filter("BONE"='head')
   5 - access("R"."BONE"="S"."CONNECTED_TO_THE")

The WINDOW BUFFER (analytic window) is evaluated after the VIEW which filters on “THE_LEVEL”<8. So, "lead(the_level) over (order by bone_order)" will be null where the_level=7, and the 'leg' wrongly identified as a leaf node. What we actually want is for the analytic function LEAD to run over the whole resultset, and only then limit the results to show the levels 0-7. The obvious way to do this is to wrap the query in a second SELECT statement:

SELECT * FROM (
  WITH skellarchy (bone, parent, the_level) AS
   ( SELECT bone, connected_to_the, 0  FROM skeleton 
     WHERE bone = 'head'                         
   UNION ALL
     SELECT s.bone, s.connected_to_the , r.the_level + 1
     FROM skeleton s, skellarchy r
     WHERE r.bone = s.connected_to_the           
   )
  SEARCH DEPTH FIRST BY bone SET bone_order
  CYCLE bone SET is_a_cycle TO 'Y' DEFAULT 'N'
  SELECT lpad(' ',2*the_level, ' ') || bone AS bone_tree , the_level,
    lead(the_level) OVER (ORDER BY bone_order) AS next_level,
    CASE 
      WHEN the_level < lead(the_level) OVER (ORDER BY bone_order) THEN NULL
      ELSE 'LEAF'
    END is_leaf
  FROM skellarchy
  ORDER BY bone_order
) WHERE the_level < 8;

BONE_TREE                                                     THE_LEVEL NEXT_LEVEL IS_L
------------------------------------------------------------ ---------- ---------- ----
head                                                                  0          1
  neck                                                                1          2
    shoulder                                                          2          3
      arm                                                             3          4
        wrist                                                         4          5
          finger                                                      5          3 LEAF
      back                                                            3          4
        a rib                                                         4          4 LEAF
        b rib                                                         4          4 LEAF
        c rib                                                         4          4 LEAF
        hip                                                           4          5
          thigh                                                       5          6
            knee                                                      6          7
              leg                                                     7          8

Now, the analytic function in the inner query is evaluated first, before the WHERE clause in the outer query. We can see this in the EXPLAIN PLAN too, of course. Now the WINDOW BUFFER (analytic window) is evaluated before the VIEW with filter(“THE_LEVEL”<8) :

------------------------------------------------------------------------------------------------------
| Id  | Operation                                 | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                          |          |     2 |  4068 |     8  (25)| 00:00:01 |
|*  1 |  VIEW                                     |          |     2 |  4068 |     8  (25)| 00:00:01 |  <<=== filter("THE_LEVEL"<8)
|   2 |   WINDOW BUFFER                           |          |     2 |    76 |     8  (25)| 00:00:01 |  <<=== LEAD
|   3 |    VIEW                                   |          |     2 |    76 |     8  (25)| 00:00:01 |
|   4 |     UNION ALL (RECURSIVE WITH) DEPTH FIRST|          |       |       |            |          |
|*  5 |      TABLE ACCESS FULL                    | SKELETON |     1 |    24 |     2   (0)| 00:00:01 |
|*  6 |      HASH JOIN                            |          |     1 |    49 |     5  (20)| 00:00:01 |
|   7 |       RECURSIVE WITH PUMP                 |          |       |       |            |          |
|   8 |       TABLE ACCESS FULL                   | SKELETON |    18 |   432 |     2   (0)| 00:00:01 |
------------------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   1 - filter("THE_LEVEL"<8)
   5 - filter("BONE"='head')
   6 - access("R"."BONE"="S"."CONNECTED_TO_THE")

This is one case of the general point that, as Tom Kyte explains in this Ask Tom answer,“select analytic_function from t where CONDITION” is NOT THE SAME AS “select * from (select analytic_function from t) where CONDITION”.

So, to sum up my last few posts, we can do everything that CONNECT BY can do with the 11g recursive WITH syntax. Plus, the recursive WITH syntax makes it easy to express simple recursive algorithms in SQL.


Republished with permission. Original URL: http://rdbms-insight.com/wp/?p=135




ea

shakespeare feederhengel

te koop:shakespeare mach 1 xt 11 ft commercial feeder''l 3.30 m / max line 8 lbs / 3.6 kgc.w. 3 ozincl. 3 tipsincl. mitchell tanager 2000 rd molennieuw*




ea

spro leo koot teamfeeder

te koop: spro leo koot teamfeedershor/mid t range 12 feet 3.60 m feedercustum designed by spro.incl. 3 tips en mitchell tanager 2000 rd molenalles nieuw




ea

spro leo koot teamfeeder

te koop: spro leo koot teamfeederul short range 11 feet 3.30 m feedercustum designed by spro.incl. 3 tips en mitchell tanager 2000 rd molenmeerdere van te koop.alles nieuw




ea

Chicago Bears sign restricted free agent tight end Josh Hill to an offer sheet

The Bears have signed restricted free agent tight end Josh Hill. The New Orleans Saints have five days to match the offer.




ea

Minor League Baseball gets the fantasy treatment with launch of Futures Fantasy Baseball

Futures Fantasy Baseball ? a new fantasy baseball site for the minor leagues ? aims to grow the business of Minor League Baseball while capitalizing on the interest of fans in baseball?s next generation of superstars.




ea

2016 PGA DFS Masters Cheat Sheet

PGA DFS Expert Shawn Childs put together a massive Masters cheat sheet to help you win the big bucks on DraftKings!:




ea

Week 1: AL East Closer Report (Premium)

Senior Fantasy Baseball Expert Shawn Childs examines the backend of each team in the American League East.




ea

Testing the Third-Year WR Breakout Theory

Fantasy Football Expert Mark Morales-Smith dives deeper into the third-year wide receiver theory.




ea

Sorry you haven't heard from me lately

I've been busy tweaking and doing maintenance on my blog templates. Crikey, does it ever end? I will be back to business shortly. Promise.

...tag: daily fisk




ea

Abu Musab al-Zarqawi is Dead Meat

At least he still has his head attached, which is more than we can say for his victims.

You live by Violence, You Die by Violence


Related links: current events, current affairs, terror, terrorism, terrorist




ea

New Orleans Begins Counting Its Dead

Too Little, Too Late?

President Bush declares a state of emergency as New Orleans begins gathering up and counting the dead across a ghastly landscape awash in perhaps thousands of corpses.

As the floodwaters recede and the search for the dead begins, there are grim signs that authorities predict a "staggering death toll" from Hurricane Katrina.

"It is going to be about as ugly of a scene as I think you can imagine," the nation's homeland security chief warned. As authorities struggled to keep order, police shot and killed at least five people Sunday after gunmen opened fire on a group of contractors traveling across a bridge on their way to make repairs."

In New Orleans' Garden District, a woman's body lay at the corner of Jackson Avenue and Magazine Street, a business area with antique shops on the edge of blighted housing. The body had been there since at least Wednesday. As days passed, people covered the corpse with blankets or plastic.

By Sunday, a short wall of bricks had been built around the body, holding down a plastic tarpaulin. On it, someone had spray-painted a cross and the words, "Here lies Vera. God help us."




ea

U.S. Can't Ban Media Coverage of New Orleans

CNN Wins the Right to Cover the Search for Bodies of Katrina Victims:

On the one hand we're fed up with government trying to sanitise the carnage. They do this not for our benefit but to minimize public outrage.

In explaining the ban, Ebbert said (the city's homeland security director), "we don't think that's proper" to let members of the media view the bodies.

But on the other hand the media want to cover it because they know that drama and horror sells.

"In an e-mail to CNN staff, CNN News Group President Jim Walton said the network filed the the lawsuit to "prohibit any agency from restricting its ability to fully and fairly cover" the hurricane victim recovery process."

And the political left want to exploit it for the "Perfect Political Storm".

Unfortunately that is the world that we live in. The public are but pawns in this political game. Either way the dead and the suffering lose.




ea

North Korea abandons Nukes, plays Chess

Good News or just an Elaborate Ruse?

This was an impressive photo-op but there is no reason to celebrate (yet). What this really demonstrates is how important it is for the U.S. to settle this region of the globe, even if it is only just a stop-gap measure. The U.S. has more than enough on its plate with Iraq and Katrina to contend with.

Apparently North Korea has agreed to give up nuclear weapons activities and rejoin the nuclear non-proliferation treaty. Of course, that comes with a proviso that the US promises it will not attack and will provide aid and electricity.

Interestingly, it was China that brokered the compromise:

"The agreement was reached on the basis of a compromise proposal put forward by China in an effort to bridge differences between the United States and Pyongyang over a North Korean demand for a light-water nuclear reactor to produce electricity. The compromise suggested that North Korea be accorded the right in principle to peaceful nuclear energy, but only after dismantling its nuclear weapons program and rejoining the U.N. nuclear inspection regime and the nuclear Non-Proliferation Treaty."

GIVEN THAT knowledge gained from the "peaceful" use of nuclear technology can easily be transferred to building bombs, it will be incumbent on the U.S. to keep a close eye on Kim whose instability is world renowned.

Sure, U.N. inspectors will eventually be allowed in, but let's hope they will have more success than they did in Iraq. Which demonstrates to this writer how important it is for the U.S. to settle (at least temporarily) this region of the globe. The U.S. has more than enough on its plate with Iraq and Katrina to contend with.

It was a veritable PR coup de gras for the Chinese. So does this imply that China is not really the monstrous behemoth that we have all been told? Is it an evil regime that is finally beginning to come to its senses? Perhaps it is neither and Political FootBall remains suspicious that China was even involved in the deal.

Could it really be part of an elaborate ruse by communist Asia to buy time for N. Korea to get the aid it desperately needs, and while China seeks to become the next economic superpower? All the while lulling the west into a false sense of security in the deadly game of nuclear checkmate. And what about their military alliance? In the grand scheme of things doesn't that make this 'historical' photo-op moot? Many questions that only time will answer.

IT SEEMS likely that economic pressure, $$$ capitalism and carrying the big stick (moving stealth bombers to South Korea) have all contributed to bringing another regime to its knees. That would also be in keeping with the Pentagon's announcement of a new strategy that includes a preemptive strike using nuclear weapons.

No matter, so long as an unstable pompass like Kim remains in control the future of the world will continue to hang in the balance.

BUT THE QUESTION BEGS to be asked if the same tactics would also work for its ally China. Probably not, for unlike it's Soviet counterpart China seems to have found a working formula that successfully blends capitalism and communism, making it an emerging super power. So long as we continue to demand cheap shirts from Walmart that appears to be an almost certainty.

AND WHAT ABOUT Iran and other muslim nations where religious fanaticism is the rule? So long as there remains opposing idealogues and economic disparity in this world the prospect for peace in the long term remains unlikely.

The bottom line is Political FootBall is of the opinion that this latest news does little in the long term for world stability. It only buys time for both sides before making their next power-play.

So we won't be breaking out the champagne, at least for the near future anyhow.




ea

Phony Peaceniks Protest in Washington

That was the scathing headline by Hitch over at Slate magazine about the anti-war protests last Saturday. Has anybody had anything good to say about the protests? I'm still looking.

"The protests were largely sponsored by two groups, the Answer Coalition, which embodies a wide range of progressive political objectives, and United for Peace and Justice, which has a more narrow, antiwar focus.

"International ANSWER," the group run by the "Worker's World" party and fronted by Ramsey Clark, which openly supports Kim Jong-il, Fidel Castro, Slobodan Milosevic, and the "resistance" in Afghanistan and Iraq, with Clark himself finding extra time to volunteer as attorney for the genocidaires in Rwanda.

Quite a "wide range of progressive political objectives" indeed, if that's the sort of thing you like. However, a dip into any database could have furnished Janofsky with well-researched and well-written articles by David Corn and Marc Cooper - to mention only two radical left journalists who have exposed "International ANSWER" as a front for (depending on the day of the week) fascism, Stalinism, and jihadism."




ea

Political FootBall Headlines

SHOULD BE an interesting contest someday. Schwarzenegger and Affleck both vieing for the presidency. Ben Affleck is rumoured to be running for senator in Virginia next year. His spokespeople deny it, but in the next breath also say "he would be a superb candidate for public office in the future"...

IS IT A COINCIDENCE that Brown criticizes everyone else except himself or Bush and is still on the FEMA Payroll...

FEMA REINVENTS the word "charity" and plans to use taxpayer money to reimburse churches and other religious organizations that provided shelter, food and supplies to survivors...

FORMER FEMA DIRECTOR Michael Brown blames others for most of the government failures in responding to Hurricane Katrina, especially Louisiana Gov. Kathleen Blanco and New Orleans Mayor Ray Nagin...

RESIDENTS OF the Texas refinery towns hit hardest by Hurricane Rita are blocked from returning to their homes because of danger from debris-choked streets, toppled power lines and a shortage of ice and generators...

DONALD TRUMP'S EMPIRE continues to expand, but his newest addition is on the home front. The 59-year-old real estate mogul and TV reality star's wife Melania, is pregnant...

CHINA DEFENDS its new restrictions on online news content, saying that every country regulates the Internet...

UNIVERSAL, EMI, Warner, Sony BMG and local subsidiaries have entered into mediation with Baidu.com, China's largest Internet search engine, over the recording companies' claims of copyright infringement....

MORE HEADLINE NEWS at News Blog.




ea

Media blamed for New Orleans debacle

Hollywood meets the news; Drama + Hype = Ratings

Dan Rather was taken to task by Mark Steyn of the Chicago Sun-Times over his comments on the 'Larry King Live'' show about the Katrina news coverage. Personally I like Dan, but ever since Rathergate he does seem to be in a habit of putting his foot in it:

"They took us there to the hurricane," he told Larry. "They put the facts in front of us and, very important, they sucked up their guts and talked truth to power."
According to Steyn, the media got it all wrong:
"Er, no. The facts they put in front of us were wrong, and they didn't talk truth to power. They talked to goofs in power, like New Orleans' Mayor Nagin and Police Chief Compass, and uncritically fell for every nutso yarn they were peddled. The media swallowed more bilge than if they'd been lying down with their mouths open as the levee collapsed. Ten thousand dead! Widespread rape and murder! A 7-year-old gang-raped and then throat-slashed! It was great stuff -- and none of it happened. No gang-raped 7-year-olds. None."
Dan Rather:
"That frickin' Superdome," he raged. "Five days watching dead bodies, watching hooligans killing people, raping people."
Stein:
"But nobody got killed by a hooligan in the Superdome. The problem wasn't rape and murder, but the rather more prosaic lack of bathroom facilities. As Ben Stein put it, it was the media that rioted. They grabbed every lurid rumor and took it for a wild joyride across prime time. There was a real story in there -- big hurricane, people dead -- but it wasn't enough, and certainly not for damaging President Bush."
Stein:
"How appropriate that it should be Dan Rather, always late to yesterday's conventional wisdom, to bless the media's fraudulent coverage of Katrina."
He makes a good point doesn't he? CNN is the worst. It's a good thing we have bloggers to keep them in line.




ea

Happy New Year Video Cards, Musical New Year Greeting Cards

Celebrate the New Year with style, see great fireworks cards, watch the new year countdown, and share happy new year ecards with your friends!






ea

Pentagon-Leaks: US-Nationalgardist zu 15 Jahren Haft verurteilt

Ein junger IT-Spezialist des US-Militärs hatte wiederholt geheime Dokumente im Internet veröffentlicht. Unter anderem ging es um Erkenntnisse zum Ukraine-Krieg. 2023 wurde er festgenommen. Jetzt ist er zu 15 Jahren Haft verurteilt worden.




ea

Internet Scams: Don't Get Scammed this Holiday Season says FBI

Be wary of e-mails or text messages that indicate a problem or question regarding your financial accounts. Criminals will attempt to direct victims to click a link or call a number to update an account or correct a purported problem. The links may appear to lead you to legitimate websites, but they are not. Any personal information you share on them could be compromised. Internet Scams: Don't Get Scammed this Holiday Season says FBI





ea

Commercial Fundraisers Companies: California Releases Report Detailing Use of Funds of Commercial Fundraisers

The annual report on commercial fundraisers released today found commercial fundraisers in California raised $391.5 million in 2009 but charitable organizations received less than 43% of those funds Commercial Fundraisers Companies: California Releases Report Detailing Use of Funds of Commercial Fundraisers






ea

Bank Closure:Heartland Bank and Trust Company, Bloomington, Illinois, Assumes All of the Deposits of Bank of Shorewood, Shorewood, Illinois

Bank of Shorewood, Shorewood, Illinois, was closed today by the Illinois Department of Financial and Professional Regulation - Division of Banking, which appointed the Federal Deposit Insurance Corporation (FDIC) as receiver.Bank Closure:Heartland Bank and Trust Company, Bloomington, Illinois, Assumes All of the Deposits of Bank of Shorewood, Shorewood, Illinois




ea

Child Heatstroke: Where's baby? Look before you lock

NHSTA today announced its first-ever national campaign to prevent child heatstroke deaths in cars, urging parents and caregivers to think "Where's baby? Look before you lock. " Heatstroke is the leading cause of non-crash, vehicle related deaths for children under the age of 14, with at least 33 fatalities reported in 2011 alone... Child Heatstroke: Where's baby? Look before you lock




ea

Earn Free CME's, CNEs, CEUs, CPE with "Explaining the Unexplained" CDC Video- Expires January 21, 2014.

This exciting session of Grand Rounds focused on rapid identification of emerging infectious diseases. As our world increases in interconnectivity of both technology and people, the rapid identification of emerging infectious diseases becomes more important for disease treatment, control, and prevention.Earn Free CME's, CNEs, CEUs, CPE with "Explaining the Unexplained" CDC Video- Expires January 21, 2014. 




ea

Save $200 on Roll-N-Lock M-Series Tonneau Covers!

Image: Thinking about adding a stylish and functional tonneau cover to your truck bed? We've got some great options for you. The Roll-N-Lock M-Series Hard Manual Retractable Tonneau Cover...



  • Diesel Truck Resource Sponsors

ea

Transform Your GMC Canyon’s Rear End with Spyder Tail Lights

Image: Want to upgrade the look of your 2015-2022 GMC Canyon? We've got just the thing. The new Spyder Chrome/Smoke Euro Tail Lights offer a stylish and modern touch that sets your truck apart....



  • Diesel Truck Resource Sponsors

ea

Possible injector leaking or stuck open diagnosis

Ive got a bit of a rough idle and it takes about 2 or 3 seconds for the engine to start. recently installed injector nozzles and new head gasket. im gonna pull the valve cover and recheck the...



  • 24 Valve Engine and Drivetrain

ea

FLYING MOTORBIKE REAL SIMULATOR




ea

Dr. Phil Doesn't Call Leads . . . .

No he doesn't does he?

I'd laugh if I ever turned on the TV and stumbled
across a day time talk show where the host was
sitting there on the phone trying to coax people into
being a guest of their show using hard sell cold
call techniques.

But why?

Is Dr. Phil the best psychologist around?

I'm sure if you asked other psychologist they would
roll their eyes at you and go into 20-minute
discussion about why he's a hack.

Well if he's not the best then why do people line up
to be guests on his show?

The answer is simple. It's Marketing . . .

He has a show that allows him to access the entire
world each and every single weekday.

Massive exposure is his game.

All he has to do is at the end of one of his shows
flash a 20 second message about the type of person
he'd like to have on his show in the future along
with a number for those people to call in for more
details and the phone lines light up.

Getting people to call you is drop dead easy when you
have exposure and that's the secret. Get your
offer in front of as many people as you can and odds
are some of them are going to be interested in
it.

And you don't even have to be the best or have the
best product. If you can learn the game of massive
exposure you can be second best and still win way
more than the best.

So as a network marketer your first job is to get
your offer in front of as many people as you can and
you win.

Important to note though . . .

Although Dr. Phil is NOT the best psychologist going,
because of his exposure he DOES do more good for
the world overall than even the best psychologists.
His messages reach millions where a psychologist
with less exposure, his or her, message only reaches
as many people as he can see in a day.

You do more good in the world if you master the art
of marketing but you're only an ok network
marketer than you do if you're the best network
marketer out there working the phone lines or
approaching people one on one.

Be a master marketer if you want to make the most
positive change possible with your business.



Leverage the awesome power of the Internet and open
your business to a whole new world of massive
exposure. A world where with, one swift push of a
button, you can literally recruit as many people as
you want. A world where they call you. Here's how:

==> http://www.opportunity-waits.com




ea

This Can Have You Scratching Your Head

It was a late night last night of updating and
improving and in the process of doing that it got me
thinking . . .

An online business, and even more so an internet
network marketing business, can really get you
scratching your head sometimes.

We're conditioned to think in a linear fashion. Do
this and get that result is really how we think.

Work 40 hours a week and get paid for 40 hours of
work. It's how we grew up and for most of us it's
how we were conditioned to think about our results in
life.

When it comes to business this isn't always the case,
and really most of the time it's not the case.

Business is not a linear thing.

Just yesterday I was sitting at my computer
scratching my head.

4 people joined my business directly with me as their
sponsor in the last 2 days. Not something to
complain about, after all I am the king of never
calling a single lead and that's the way things work
most of the time in my business, but this time it was
a little different.

You see during that period I had absolutely no ads
running for my business and still 4 people joined
with me as their sponsor without me having to do a
thing, meanwhile my first year in the business all
I did was prospect and call leads and nothing happened.

Why is it so easy now?

Well, once you have passive traffic coming your way
good things happen and you don't have to do
anything additional actively for those good results.

But this can get people confused. I know it did for
me for a long time. Some days would be great with
little effort and some days would be not so great
with a Herculean effort.

What the heck right?

That's business for you. It's not linear. You set it
up and once you get all the pieces in place
sometimes the results flow like the mighty Amazon and
others well just one lead would keep you going.

This shift stunts most. They still want to think that
their efforts should correlate directly to their
results and when it doesn't it frustrated the heck of
them. The best advice is settle down, know your
conversion figures, and just keep on pushing.

Let me tell you . . .

If you have a great marketing system, you're doing
the right things for generating interest in your
business via your marketing system you're on the
right track despite what the results show.

They will exceed your expectations in the long run.

Think about your business like this. It's more like
having a boat tethered to port by several ropes
than going to the J.O.B.

You may spend a huge effort getting one rope off and
you've made progress, but there is still 8 more
ropes to go and nothings moving.

You've made positive progress and you know it, just
don't let money be the only marker of your success
in the beginning.

That will come.



What if you could make a living online? How would
you're life change? What would you do? I took this
course and that dream has become a reality in my life
and because it I recommend it as a MUST have for
any truly interested. Go here now:
==> http://www.opportunity-waits.com




ea

Some REAL Results In Internet Network Marketing . . .

(This is an extract from our newsletter - if you would
like to find out more check out the resource box)

The biggest problem I have with a lot of the stuff that
I see people selling to others online is that I
sometimes wonder if they are actually using the
information that they are peddling or if they are just
unloading it on the public.

If there is one thing that I will consistently be is
the biggest testimonial that Internet MLM Success works
and continues to work, so I want to share with you the
complete results of an advertising campaign that I
carried out recently in my OWN current Internet network
marketing efforts.

A few months ago I placed an ad online.

It was costly at $695.

It took about a month for the ad to run, but here are
the results . . .

The ad brought in 2818 unique views at a cost of $.25
cent per click (not so bad) . . .

It generated over 460 leads at $1.51 a lead.

Here's the IMPORTANT info . . .

From those leads I had a total of 48 people join my
team at a cost of 14.47 per new team member.

Of those 16 upgraded to a premium level in my company
on the front end, so that's an upgrade at $43.44.

All this while I was away at work.

That's what Internet network marketing is all about.

It's not about buying leads, it's about leverage.

It's about finding groups of people that are interested
in your product or service and then giving them the
opportunity see what you have to offer and THEN letting
the interested parties take action.

That way you never deal with anyone that isn't
motivated for success, and you're making the absolute
best use of your time as a marketer.

That's the way to do if you asked me . . .


What if you could guarantee you make money in your
business regardless of whether or not any joins your
business?
==> http://www.opportunity-waits.com




ea

Authentic fake ID from the early 1970s

On the 1st Liquor-by-the-drink page, see a faked Oklahoma drivers license and an explanation of how it was done.




ea

The webmaster's e-reading list

Gary Chew, JohnnyK and I enjoyed Bradley Denton's ebook, "Buddy Holly is Alive and Well on Ganymede". My recent e-reading and the software that made it possible are listed in GroupBlog 321.




ea

1960s Gilcrease mystery house

Lazzaro tells a spooky tale about a house abandoned in the 1960s. Do you know anything about it? Aerial shot in GroupBlog 321.




ea

From the booth: Tulsa movie theaters

Scott Linder, a former projectionist in Tulsa movie theaters, tells inside-the-booth stories with the encouragement of TTM readers in just-archived GroupBlog 321.




ea

Buddy Holly/Ganymede movie teaser

Jon Heder is the star of a movie now in production: "Buddy Holly is Alive and Well on Ganymede". Plot recap: All TV channels worldwide show a noninterruptible live performance by Buddy Holly originating from a Jovian moon. Oliver Vale is the apparent object of the broadcasts. Story elements relevant to TTM include TV, a drive-in theater, 60s/70s/80s pop music and culture, and the Kansas/Oklahoma setting (book only). YouTube and links in GroupBlog 324.




ea

The Continental Theatre photo

Photo of OKC's Continental Theatre (a duplicate of Tulsa's) in GroupBlog 325.




ea

1975 Bead Workshop print ad

Lazzaro is trying to remember the name of a girl who worked at the Bead Workshop in the 1970s. See a print ad for it from The Tulsa Phonograph Record Magazine, July 1975, in GroupBlog 325.




ea

Beatles film in Tulsa tonight

7 p.m. Thursday at the OSU-Tulsa campus: "The Everlasting Beatles". See the webmaster's footage of George Harrison in Tulsa, 1974. More in GroupBlog 327.




ea

Gary Chew reviews "The Beaver"

Depressing, maudlin, creepier than "Mulholland Drive", but then again, Mel Gibson's character is seen talking to Jon Stewart with a stuffed beaver on his fist. Opens wide on May 20.




ea

Leon Meier of "Shock Theatre"

Tulsa World story about retiring Brook Plaza barber Joe Reeves also features Leon Meier, who was "Hornstaff" on KOTV's 1950s horror movie show, "Shock Theatre". Story link and TTM "Shock Theatre" link in GroupBlog 327.




ea

Admiral Twin groundbreaking on 6/11

The public is invited to a 10:30 am Saturday groundbreaking ceremony at the drive-in which will serve as a kickoff for the rebuilding effort. Bring your own shovel. Tulsa World story link in just archived GroupBlog 327.




ea

Pix from Admiral Twin groundbreaking

I took some photos at the event today. Check them out at the Flickr link in GroupBlog 328.




ea

Six years old in Tulsa, 1959

I was reading Dick and Jane, and carrying my 'Men Into Space' TV series lunchbox and Thermos. See them in GroupBlog 328.




ea

Peter Gunn and Edie in Dreamsville

Henry Mancini's great tune "Dreamsville" is heard in the background as Peter Gunn (Craig Stevens) and his girlfriend Edie (Lola Albright) cook Swedish meatballs on a hibachi in Pete's apartment. Their idyl is broken by a phone call. Lola Albright recorded the tune on her album "Dreamsville", orchestra conducted by Mancini.




ea

Gary Chew reviews "Another Earth"

A double of Earth has been behind the sun for eons... until now. A young woman's life changes at the instant its synchronicity with Earth One is broken. Starring Brit Marling and William Mapother, coming soon to a theater near you.